Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 版主工资以及任免管理系统(7-4更新至1.15) For 4.1

[复制链接]
sw08 发表于 2006-6-17 19:45:30 | 显示全部楼层 |阅读模式
采取了部分回复,又做了次修改,版本号为1.15 Final For Discuz! 4.1
1楼是全新安装的方法,2楼是升级方法

目前有部分人反馈的系统一天执行几次的问题,这是执行时间没有设置好的缘故:
计划任务执行时间设置方法:
每月的标准设置:  星期:->* (默认的); 日: -> 1; 小时: ->0 ; 分钟: -> 00 (第一个,其他的默认)

每周的标准设置: 星期:->星期一; 日:->* (默认的);  小时: ->0 ;分钟: -> 00 (第一个,其他的默认)

每天的标准设置: 星期:->* (默认的); 日:->* (默认的); 小时: ->0 ;分钟: -> 00 (第一个,其他的默认)


说明,关于部分人所反应的剩余天数不准确的问题,应该做下面的修改,打开modpay.php:
找到:
  1. $m = 5;//月   当你启用这个程序的时候,请把左边这三个信息填写好,日期为你启用该程序的前一天
  2. $d = 31;//日
  3. $y = 2006;//年
复制代码

按照说明按照实际情况修改即可

功能与特色:
1、能按照多标准,精华、帖子、时间、管理次数来计算工资。
2、能设置考核功能,及时清理那些不作为的管理人员。
3、勋章奖励,对优秀版主进行勋章授予。
4、达标与封顶系统相互结合,既能鼓励版主多做事,也可以有效防止版主挂机或者灌水。
5、强大的发放策略与多用户组设置,完美论坛的工资发放。
6、使用缓存(CACHE),最大程度的减少查询。
7、工资发放功能利用DZ现有的计划任务接口,使操作更方便。
8、管理人员随时可以查看工资及考核公告板,随时得知自己的情况。同时公开其他管理人员的评定和当前用户组的设定及策略,做到公平公正。


名称:版主工资以及任免管理插件 For 4.1
作者:sw08(老龙)
功能:实现强大的系统自动派发查看版主工资和实现简单版主任免管理的程序,能给论坛工资派发与管理带来一些帮助。
说明:这个是主要程序,部分代码后面已经附有注释说明,可以进行些修改,相关注意事项请看下面。
声明:本插件首发在discuz.net和学校内部论坛,如需二次修改或转载请注明原作者名称。如果发现BUG或
       者有更好的建议请联系我。
E-Mail:sw08dragon@gmail.com
版本: Version 1.15 Final For Discuz! 4.1
检查文件是否完整~
主要文件:modpay.php 程序文件(请上传到根目录)
                     modpay.htm 网页文件(请上传到templates\default目录中)
                     modspay.inc.php 后台控制程序文件(请上传到admin目录中)
                     modpay.lang.php 后台控制语言包(请上传到templates\default目录中)
                     modpay.inc.php 程序计划任务执行文件(请上传到include\crons目录中,并进行相关的计划任务设置)
                     readme.txt 系统程序修改指导说明文件
                     sql.txt 数据库升级代码
                     readme.htm 使用帮助手册


升级数据库:
  1. INSERT INTO cdb_settings VALUES ('allowpay', '0');
  2. INSERT INTO cdb_settings VALUES ('allowmedalpay', '0');
  3. INSERT INTO cdb_settings VALUES ('senddays', '30');
  4. INSERT INTO cdb_settings VALUES ('holidaypay', '0');
  5. INSERT INTO cdb_settings VALUES ('allowpaylist', '0');
  6. INSERT INTO cdb_settings VALUES ('allowlist', '0');
  7. INSERT INTO cdb_settings VALUES ('listauthor', '0');
  8. INSERT INTO cdb_settings VALUES ('listforum', '0');
  9. INSERT INTO cdb_settings VALUES ('ae1', '0');
  10. INSERT INTO cdb_settings VALUES ('ae2', '0');
  11. INSERT INTO cdb_settings VALUES ('ae3', '0');
  12. INSERT INTO cdb_settings VALUES ('ae4', '0');
  13. INSERT INTO cdb_settings VALUES ('ae5', '0');
  14. INSERT INTO cdb_settings VALUES ('ae6', '0');
  15. INSERT INTO cdb_settings VALUES ('ae7', '0');
  16. INSERT INTO cdb_settings VALUES ('ae8', '0');
  17. INSERT INTO cdb_settings VALUES ('ld', '0');
  18. ALTER TABLE `cdb_members` ADD `wp` tinyint(1) NOT NULL default '0';
  19. ALTER TABLE `cdb_usergroups` ADD `allowrank` tinyint(1) NOT NULL default '0';
  20. ALTER TABLE `cdb_usergroups` ADD `rankpost` mediumint(8) NOT NULL default '0';
  21. ALTER TABLE `cdb_usergroups` ADD `ranktime` mediumint(8) NOT NULL default '0';
  22. ALTER TABLE `cdb_usergroups` ADD `rankadmin` mediumint(8) NOT NULL default '0';
  23. ALTER TABLE `cdb_usergroups` ADD `allowpayforum` tinyint(1) NOT NULL default '0';
  24. ALTER TABLE `cdb_usergroups` ADD `allowpaycheck` tinyint(1) NOT NULL default '0';
  25. ALTER TABLE `cdb_usergroups` ADD `payleaveday` mediumint(8) NOT NULL default '0';
  26. ALTER TABLE `cdb_usergroups` ADD `paypost` mediumint(8) NOT NULL default '0';
  27. ALTER TABLE `cdb_usergroups` ADD `paytime` mediumint(8) NOT NULL default '0';
  28. ALTER TABLE `cdb_usergroups` ADD `payadmin` mediumint(8) NOT NULL default '0';
  29. ALTER TABLE `cdb_usergroups` ADD `downgid` mediumint(4) NOT NULL default '0';

  30. ALTER TABLE `cdb_usergroups` ADD `allowmedal` tinyint(1) NOT NULL default '0';
  31. ALTER TABLE `cdb_usergroups` ADD `medalmid` mediumint(4) NOT NULL default '0';
  32. ALTER TABLE `cdb_usergroups` ADD `medalpost` mediumint(8) NOT NULL default '0';
  33. ALTER TABLE `cdb_usergroups` ADD `medaltime` mediumint(8) NOT NULL default '0';
  34. ALTER TABLE `cdb_usergroups` ADD `medaladmin` mediumint(8) NOT NULL default '0';

  35. ALTER TABLE `cdb_usergroups` ADD `maxpost` mediumint(8) NOT NULL default '0';
  36. ALTER TABLE `cdb_usergroups` ADD `maxtime` mediumint(8) NOT NULL default '0';
  37. ALTER TABLE `cdb_usergroups` ADD `maxadmin` mediumint(8) NOT NULL default '0';
  38. ALTER TABLE `cdb_usergroups` ADD `maxdigest` mediumint(8) NOT NULL default '0';

  39. ALTER TABLE `cdb_usergroups` ADD `paynum` char(255) NOT NULL default '';
复制代码


打开admincp.lang.php
找到:
  1. 'submit' => '提 交',
复制代码


在下面加:
  1. 'settings_pay' => '工资设置',
  2. 'settings_paygroups' => '用户组设置',
复制代码


打开actions.lang.php
找到:
  1. 131 => '查看论坛统计数据',
复制代码


在下面加:
  1. 132 => '查看工资与考核公布程序',
复制代码


打开menu.inc.php
找到:
  1. array('name' => $lang['menu_avatarshow_register'], 'url' => 'admincp.php?action=avatarshow_register')));
复制代码


在下面加:
  1. showmenu($lang['settings_pay'],         array(array('name' => $lang['settings_pay'], 'url' => 'admincp.php?action=setpay'),
  2. array('name' => $lang['settings_paygroups'], 'url' => 'admincp.php?action=groups')));
复制代码


打开admincp.php
找到:
  1. } elseif($action == 'passport' || $action == 'siteengine' || $action == 'shopex') {
复制代码


在上面加:
  1. } elseif($action == 'setpay' || $action == 'groups') {
  2. $cpscript = 'modspay';
复制代码


打开include/cache.func.php
找到:
  1. $data['raterange'] = $ratearray;
复制代码


在下面加:
  1.                         $paynumarray = array();
  2.                         if($data['paynum']) {
  3.                                 foreach(explode("\n", $data['paynum']) as $pay) {
  4.                                         $pay = explode("\t", $pay);
  5.                                         $paynumarray[$pay[0]] = array('common' => $pay[1], 'time' => $pay[2], 'admin' => $pay[3], 'post' => $pay[4], 'digest' => $pay[5], 'leaveday' => $pay[6], 'unpost' => $pay[7], 'untime' => $pay[8], 'unadmin' => $pay[9]);
  6.                                 }
  7.                         }
  8.                         $data['paynum'] = $paynumarray;
复制代码


打开stats_navbar.htm
找到:
  1. <!--{if $modworkstatus}--><td $navstyle['modworks'] width="$navwidth"><a href="stats.php?type=modworks">{lang stats_modworks}</a></td><!--{/if}-->
复制代码


在下面加:
  1.   <!--{if in_array($adminid, array(1,2,3)) && $allowpay}--><td $navstyle['modpay'] width="$navwidth"><a href="modpay.php">工资与考核</a></td><!--{/if}-->
复制代码


打开stats.php
找到:
  1. ($modworkstatus ? 1 : 0)
复制代码


在后面加:
  1. + ($allowpay ? 1 : 0)
复制代码


打开header.htm(如果你的论坛关闭了统计,就请做下面的修改)
找到:
  1. <!--{if $allowviewstats}-->| <a href="stats.php">{lang statistics}</a> <!--{/if}-->
复制代码


在下面加:
  1. <!--{if in_array($adminid, array(1,2,3))}-->| <a href="modpay.php" target="_blank">工资及考核公告板</a> <!--{/if}-->
复制代码


把附件的文件按照里面的说明上传。

进入系统设置——>计划任务,添加新任务(名称随便)。编辑任务,指定文件为modpay.inc.php,设定执行的时间(注意要和系统设置的一致)。启用该计划任务。

计划任务执行时间设置方法:
每月的标准设置:  星期:->* (默认的); 日: -> 1; 小时: ->0 ; 分钟: -> 00 (第一个,其他的默认)

每周的标准设置: 星期:->星期一; 日:->* (默认的);  小时: ->0 ;分钟: -> 00 (第一个,其他的默认)

每天的标准设置: 星期:->* (默认的); 日:->* (默认的); 小时: ->0 ;分钟: -> 00 (第一个,其他的默认)


最后可以按照我的教程进行详细的设置~OK,一切完成了。



反安装:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
升级数据库:
  1. DELETE FROM cdb_settings WHERE `variable` = 'allowpay';
  2. DELETE FROM cdb_settings WHERE `variable` = 'allowmedalpay';
  3. DELETE FROM cdb_settings WHERE `variable` = 'senddays';
  4. DELETE FROM cdb_settings WHERE `variable` = 'holidaypay';
  5. DELETE FROM cdb_settings WHERE `variable` = 'allowpaylist';
  6. DELETE FROM cdb_settings WHERE `variable` = 'allowlist';
  7. DELETE FROM cdb_settings WHERE `variable` = 'listauthor';
  8. DELETE FROM cdb_settings WHERE `variable` = 'listforum';
  9. DELETE FROM cdb_settings WHERE `variable` = 'ae1';
  10. DELETE FROM cdb_settings WHERE `variable` = 'ae2';
  11. DELETE FROM cdb_settings WHERE `variable` = 'ae3';
  12. DELETE FROM cdb_settings WHERE `variable` = 'ae4';
  13. DELETE FROM cdb_settings WHERE `variable` = 'ae5';
  14. DELETE FROM cdb_settings WHERE `variable` = 'ae6';
  15. DELETE FROM cdb_settings WHERE `variable` = 'ae7';
  16. DELETE FROM cdb_settings WHERE `variable` = 'ae8';
  17. DELETE FROM cdb_settings WHERE `variable` = 'ld';
  18. ALTER TABLE `cdb_members` DROP `wp`;
  19. ALTER TABLE `cdb_usergroups` DROP `allowrank`;
  20. ALTER TABLE `cdb_usergroups` DROP `rankpost`;
  21. ALTER TABLE `cdb_usergroups` DROP `ranktime`;
  22. ALTER TABLE `cdb_usergroups` DROP `rankadmin`;
  23. ALTER TABLE `cdb_usergroups` DROP `allowpayforum`;
  24. ALTER TABLE `cdb_usergroups` DROP `allowpaycheck`;
  25. ALTER TABLE `cdb_usergroups` DROP `payleaveday`;
  26. ALTER TABLE `cdb_usergroups` DROP `paypost`;
  27. ALTER TABLE `cdb_usergroups` DROP `paytime`;
  28. ALTER TABLE `cdb_usergroups` DROP `payadmin`;
  29. ALTER TABLE `cdb_usergroups` DROP `downgid`;

  30. ALTER TABLE `cdb_usergroups` DROP `allowmedal`;
  31. ALTER TABLE `cdb_usergroups` DROP `medalmid`;
  32. ALTER TABLE `cdb_usergroups` DROP `medalpost`;
  33. ALTER TABLE `cdb_usergroups` DROP `medaltime`;
  34. ALTER TABLE `cdb_usergroups` DROP `medaladmin`;

  35. ALTER TABLE `cdb_usergroups` DROP `maxpost`;
  36. ALTER TABLE `cdb_usergroups` DROP `maxtime`;
  37. ALTER TABLE `cdb_usergroups` DROP `maxadmin`;
  38. ALTER TABLE `cdb_usergroups` DROP `maxdigest`;

  39. ALTER TABLE `cdb_usergroups` DROP `paynum`;
复制代码


然后把修改的文件复原,删除文件即可。

  版主友情提示:
  请楼下回帖的朋友们注意咯,如果已经安装成功的请回来说明下安装和使用情况。这样有利于版主根据大家回馈的信息给作者以肯定和鼓励。同时,也方便作者了解自己作品的使用情况。
  您的每个文字将是对作者的鼓励和支持!

[ 本帖最后由 sw08 于 2006-7-8 09:55 编辑 ]
 楼主| sw08 发表于 2006-6-17 19:46:23 | 显示全部楼层
下面是升级安装的步骤~

1.0 to 1.15升级方法:
升级数据库:
  1. INSERT INTO cdb_settings VALUES ('ld', '0');
  2. ALTER TABLE `cdb_members` ADD `wp` tinyint(1) NOT NULL default '0';
  3. INSERT INTO cdb_settings VALUES ('ae1', '0');
  4. INSERT INTO cdb_settings VALUES ('ae2', '0');
  5. INSERT INTO cdb_settings VALUES ('ae3', '0');
  6. INSERT INTO cdb_settings VALUES ('ae4', '0');
  7. INSERT INTO cdb_settings VALUES ('ae5', '0');
  8. INSERT INTO cdb_settings VALUES ('ae6', '0');
  9. INSERT INTO cdb_settings VALUES ('ae7', '0');
  10. INSERT INTO cdb_settings VALUES ('ae8', '0');
复制代码


打开actions.lang.php
找到:
  1. 131 => '查看论坛统计数据',
复制代码


在下面加:
  1. 132 => '查看工资与考核公布程序',
复制代码


然后把一楼压缩包的文件全部覆盖。

1.1 to 1.15升级方法:
升级数据库:
  1. INSERT INTO cdb_settings VALUES ('ld', '0');
  2. ALTER TABLE `cdb_members` ADD `wp` tinyint(1) NOT NULL default '0';
复制代码


打开actions.lang.php
找到:
  1. 131 => '查看论坛统计数据',
复制代码


在下面加:
  1. 132 => '查看工资与考核公布程序',
复制代码


然后把一楼压缩包的文件全部覆盖。

[ 本帖最后由 sw08 于 2006-7-4 11:42 编辑 ]
回复

使用道具 举报

 楼主| sw08 发表于 2006-6-17 19:51:35 | 显示全部楼层
OK~测试完毕。
回复

使用道具 举报

瓦李李 发表于 2006-6-17 19:57:10 | 显示全部楼层
沙发
回复

使用道具 举报

lajimouse 发表于 2006-6-17 20:00:03 | 显示全部楼层
kan
回复

使用道具 举报

hydeist 发表于 2006-6-17 20:00:23 | 显示全部楼层
强,支持
回复

使用道具 举报

33201 发表于 2006-6-17 20:02:24 | 显示全部楼层
来晚了。
回复

使用道具 举报

tigeryang 发表于 2006-6-17 20:03:59 | 显示全部楼层
不错
回复

使用道具 举报

 楼主| sw08 发表于 2006-6-17 20:05:24 | 显示全部楼层
谢谢大家支持了~

如果版主看见了,就帮忙把整理区的那个帖子挪出来吧。
回复

使用道具 举报

zhansh 发表于 2006-6-17 20:12:31 | 显示全部楼层
好东西,感谢 ing
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-22 20:48 , Processed in 0.024127 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表