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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] [原创]在线时间工资&版主管理工资系统V1.0 For Dz4.1/5.0 正式版[HY编号 C 80]

[复制链接]
hfl 发表于 2006-9-10 22:15:41 | 显示全部楼层 |阅读模式
插件名称:在线时间工资&版主管理工资系统V1.0 for dz4.1/5.0 正式版

适用版本:Discuz! 4.1/5.0

相关修改:数据升级-有,文件修改-有

安装难度:易

插件作者:hfl(主要) cm(少量)

相关说明:

版主管理工资仅限管理人员
在线时间工资对所有会员开放

最后更新:9.15 17:45

演示:
http://faze.byethost24.com/bbs/forumdisplay.php?fid=27 (测试区)
http://faze.byethost24.com/bbs/plugin.php?identifier=paymoney&module=paymoney
用户名:test 密码:test

安装说明 by hfl:


1.在后台升级数据库(数据库升级.txt)(必须先升级数据库)

2.修改文件

在DISCUZ目录下的topicadmin.php

查找

  1. ?>
复制代码


上面加入:

  1. //HACK

  2. $queryz = $db->query("SELECT * FROM {$tablepre}paymoney WHERE uid='$discuz_uid' AND username='$discuz_user'");
  3. if (!$db->result($queryz, 0))
  4. {$db->query("INSERT INTO {$tablepre}paymoney (uid, username)
  5.         VALUES ('$discuz_uid', '$discuz_user')", 'UNBUFFERED');}

  6. //hack end
复制代码


查找

  1. $resultarray['message'] = 'admin_succeed_next';
复制代码

上面加入:

  1. //HACK       
  2.        
  3.         if($operation == 'highlight') {
  4.                                 $db->query("update {$tablepre}paymoney set salaryhighlight = salaryhighlight + 1 where username = '$discuz_user'");
  5.                                    
  6. } elseif($operation == 'move') {
  7.                                 $db->query("update {$tablepre}paymoney set salarymove = salarymove + 1 where username = '$discuz_user'");

  8. } elseif($operation == 'close') {
  9.                                 $db->query("update {$tablepre}paymoney set salaryclose = salaryclose + 1 where username = '$discuz_user'");
  10.                                 
  11. } elseif($operation == 'digest') {
  12.                                 $db->query("update {$tablepre}paymoney set salarydigest = salarydigest + 1 where username = '$discuz_user'");
  13.                                        
  14. }elseif($operation == 'stick') {
  15.                                 $db->query("update {$tablepre}paymoney set salarystick = salarystick + 1 where username = '$discuz_user'");
  16.                                 
  17. }elseif($operation == 'delete') {
  18.                                 $db->query("update {$tablepre}paymoney set salarydelete = salarydelete + 1 where username = '$discuz_user'");
  19.                         
  20. }elseif($operation == 'type') {
  21.                                 $db->query("update {$tablepre}paymoney set salarytype = salarytype + 1 where username = '$discuz_user'"); }
  22.                               
  23. //hack end

复制代码


查找


  1. $modaction = 'DLP';
复制代码

在下面加入:

  1.         //hack
  2.         $db->query("update {$tablepre}paymoney set salarypostdel = salarypostdel + 1 where username = '$discuz_user'");
  3.         //hack end
复制代码


查找

  1. showmessage((isset($resultarray['message']) ? $resultarray['message'] : 'admin_succeed')
复制代码

在上面加入:

  1. //HACK       
  2.        
  3. if($operation == 'highlight') {
  4.                                 $db->query("update {$tablepre}paymoney set salaryhighlight = salaryhighlight + 1 where username = '$discuz_user'");
  5.                                    
  6. } elseif($operation == 'move') {
  7.                                 $db->query("update {$tablepre}paymoney set salarymove = salarymove + 1 where username = '$discuz_user'");

  8. } elseif($operation == 'close') {
  9.                                 $db->query("update {$tablepre}paymoney set salaryclose = salaryclose + 1 where username = '$discuz_user'");
  10.                                 
  11. } elseif($operation == 'digest') {
  12.                                 $db->query("update {$tablepre}paymoney set salarydigest = salarydigest + 1 where username = '$discuz_user'");
  13.                                        
  14. }elseif($operation == 'stick') {
  15.                                 $db->query("update {$tablepre}paymoney set salarystick = salarystick + 1 where username = '$discuz_user'");
  16.                                 
  17. }elseif($operation == 'delete') {
  18.                                 $db->query("update {$tablepre}paymoney set salarydelete = salarydelete + 1 where username = '$discuz_user'");
  19.                         
  20. }elseif($operation == 'type') {
  21.                                 $db->query("update {$tablepre}paymoney set salarytype = salarytype + 1 where username = '$discuz_user'"); }
  22.                               
  23. //hack end
复制代码

\include 目录下的editpost.inc.php

[discuz4.1]

查找

  1. (!empty($delete) && $isfirstpost) ? showmessage('post_edit_delete_succeed', "forumdisplay.php?fid=$fid") :
复制代码

在上面加入:

  1.     //hack

  2.         $query = $db->query("SELECT adminid FROM {$tablepre}members where username='$discuz_user'");       
  3.         $user=$db->fetch_array($query);
  4.         $adminid=$user['adminid'];
  5.         if ($adminid>0)
  6.         {
  7.         $queryz = $db->query("SELECT * FROM {$tablepre}paymoney WHERE uid='$discuz_uid' AND username='$discuz_user'");
  8.         if (!$db->result($queryz, 0))
  9.                         {$db->query("INSERT INTO {$tablepre}paymoney (uid, username)
  10.                                 VALUES ('$discuz_uid', '$discuz_user')", 'UNBUFFERED');}
  11.         $db->query("update {$tablepre}paymoney set salaryedit = salaryedit + 1 where username = '$discuz_user'");       
  12.         }
  13.         //hack end
复制代码

[discuz5.0]

查找
  1. if($auditstatuson) {
复制代码


在上面加入:

  1.     //hack

  2.         $query = $db->query("SELECT adminid FROM {$tablepre}members where username='$discuz_user'");       
  3.         $user=$db->fetch_array($query);
  4.         $adminid=$user['adminid'];
  5.         if ($adminid>0)
  6.         {
  7.         $queryz = $db->query("SELECT * FROM {$tablepre}paymoney WHERE uid='$discuz_uid' AND username='$discuz_user'");
  8.         if (!$db->result($queryz, 0))
  9.                         {$db->query("INSERT INTO {$tablepre}paymoney (uid, username)
  10.                                 VALUES ('$discuz_uid', '$discuz_user')", 'UNBUFFERED');}
  11.         $db->query("update {$tablepre}paymoney set salaryedit = salaryedit + 1 where username = '$discuz_user'");       
  12.         }
  13.         //hack end
复制代码

3.导入插件数据
       
4.更新缓存
       
反安装:      (顺序不能颠倒)

1.后台删除插件

2.把topicadmin和editpost改回去(查找//hack到//hack end,删)

3.删除服务器上的插件相关文件

4.后台升级数据库
DROP TABLE cdb_paymoney;

PS:因为是新手,所以避免不了有一些错误,希望大家能够帮忙完善,并提出建议,如需修改,请注名原作者,谢谢。
       另外,用了包含运行,请注意不要乱修改文件。。
      学插件的新手如有不懂可以加我QQ:347035523 (注明:DZ)另外我也有许多关于优化等问题想向高手请教,如有时间请PM我或加我QQ,谢谢。


请之前下载的重新下载并覆盖plugins文件夹里的文件,谢谢


9.13更新,修复了读取不到在线时间LASTOLUPDATE的BUG(导致资金泛滥),使包含运行程序简化。
9.15更新,发现一个调试语句未打“//”,导致未达到工资底限领取工资之后,基本工资清0,请之前下载的下载覆盖paymoney.inc.php.
9.27更新,游客可以领取工资的BUG已修复。

之前的错误给大家带来的困扰实在是对不起。。

谁有比较好的在线时间公式(以前动网的偶忘了),可以PM我。

估计一段时间内无法更新了,先改叫正式版吧如果发现BUG请PM我。

有人说能不能在线自动薪水的,可以更详细地说一下吗?

如升级出现错误,这样升级数据库

DROP TABLE IF EXISTS cdb_paymoney;
CREATE TABLE `cdb_paymoney` (
  `uid` mediumint(8) unsigned NOT NULL auto_increment,
  `username` char(15) NOT NULL default '',
  `basic` int(10) unsigned NOT NULL default '0',
  `online` int(10) unsigned NOT NULL default '0',
  `notonlinetime` int(10) unsigned NOT NULL default '0',
  `salarydelete` int(10) unsigned NOT NULL default '0',
  `salarymove` int(10) unsigned NOT NULL default '0',
  `salaryhighlight` int(10) unsigned NOT NULL default '0',
  `salaryclose` int(10) unsigned NOT NULL default '0',
  `salarystick` int(10) unsigned NOT NULL default '0',
  `salarydigest` int(10) unsigned NOT NULL default '0',
  `salarytype` int(10) unsigned NOT NULL default '0',
  `salaryedit` int(10) unsigned NOT NULL default '0',
  `salarypostdel` int(10) unsigned NOT NULL default '0',
  `dateline`  int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`uid`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM;

[ 本帖最后由 hfl 于 2006-11-21 21:54 编辑 ]
☆阿满☆ 发表于 2006-9-10 22:20:24 | 显示全部楼层
有演示没?
回复

使用道具 举报

glowworm 发表于 2006-9-10 22:34:39 | 显示全部楼层
支持!!
回复

使用道具 举报

glowworm 发表于 2006-9-10 22:37:06 | 显示全部楼层
用CODE 输入框上面有插入代码按钮啊
回复

使用道具 举报

sxrm 发表于 2006-9-10 22:44:51 | 显示全部楼层
好乱
回复

使用道具 举报

kaiwong1020 发表于 2006-9-10 22:46:23 | 显示全部楼层
先顶一个
回复

使用道具 举报

安. 发表于 2006-9-10 22:49:52 | 显示全部楼层
升数据库就算了,支持下:)
回复

使用道具 举报

fhg007 发表于 2006-9-10 22:51:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

BaoBos 发表于 2006-9-10 23:22:54 | 显示全部楼层
不敢乱升级
回复

使用道具 举报

☆阿满☆ 发表于 2006-9-10 23:25:49 | 显示全部楼层
原帖由 fhg007 于 2006-9-10 22:51 发表
升数据库就算了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 15:10 , Processed in 0.029253 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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