论坛风格切换
  • 3623阅读
  • 1回复

[常用修复工具]勋章修复工具 for 8.7 [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2012-04-05
勋章修复工具,保存成repair_medal.php放到根目录下执行。

  1. <?php
  2. /**
  3. *
  4. * phpwind75 补丁修复程序 2009/12/08
  5. *
  6. */
  7. error_reporting(0);
  8. define('P_W',1);
  9. define('PW_UPLOAD',1);
  10. define('R_P',getdirname(__FILE__));
  11. define('D_P',R_P);
  12. require_once(R_P.'require/common.php');
  13. include_once(D_P.'data/bbscache/config.php');
  14. require_once(R_P.'admin/cache.php');
  15. $basename = 'http://'.$_SERVER['HTTP_HOST'].(isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
  16. @header("Content-Type:text/html; charset=$db_charset");
  17. include_once(D_P.'data/sql_config.php');
  18. if ($database=='mysqli' && Pwloaddl('mysqli')===false) {
  19.     $database = 'mysql';
  20. }
  21. require_once Pcv(R_P."require/db_$database.php");
  22. $db = new DB($dbhost,$dbuser,$dbpw,$dbname,$PW,$charset,$pconnect);
  23. $action = $_GET['action'];
  24. $start = $_GET['start'];
  25. !$start && $start = 0;
  26. $percount = 1000;
  27. if (empty($action)) {
  28.     echo '<a href="'.$basename.'?action=pw_medal_apply">开始运行修复medal工具</a>';exit;
  29. } elseif ($action == 'pw_medal_apply') {
  30.     $query = $db->query("SELECT * FROM pw_medal_apply WHERE apply_id>$start ORDER BY apply_id LIMIT $percount");
  31.     while ($rt = $db->fetch_array($query)) {
  32.         //print_r($rt);exit;
  33.         ADD_S($rt);
  34.         $lastid = $rt['apply_id'];
  35.         $now = $db->get_value("SELECT medals FROM pw_members WHERE uid='".$rt['uid']."'");
  36.         if($now){
  37.             $medal_arr = explode(",",$now);
  38.             if(!in_array($rt['medal_id'],$medal_arr)){
  39.                 $newmedal = $now.','.$rt['medal_id'];
  40.                 $db->update("UPDATE pw_members SET medals ='".$newmedal."' WHERE uid='".$rt['uid']."'");
  41.             }
  42.         }else{
  43.             $db->update("UPDATE pw_members SET medals ='".$rt['medal_id']."' WHERE uid='".$rt['uid']."'");
  44.         }
  45.     }
  46.     $maxid = $db->get_value("SELECT max(apply_id) FROM pw_medal_apply");
  47.     if ($lastid < $maxid) {
  48.         echo "<meta http-equiv='refresh' content='1;url=$basename?action=pw_medal_apply&start=$lastid'>";
  49.     }else{
  50.         echo "<meta http-equiv='refresh' content='1;url=$basename?action=pw_medal_award'>";
  51.     }
  52. } elseif ($action == 'pw_medal_award') {
  53.     $query = $db->query("SELECT * FROM pw_medal_award WHERE award_id>$start ORDER BY award_id LIMIT $percount");
  54.     while ($rt = $db->fetch_array($query)) {
  55.         ADD_S($rt);
  56.         $lastid = $rt['award_id'];
  57.         $now = $db->get_value("SELECT medals FROM pw_members WHERE uid='".$rt['uid']."'");
  58.         if($now){
  59.             $medal_arr = explode(",",$now);
  60.             if(!in_array($rt['medal_id'],$medal_arr)){
  61.                 $newmedal = $now.','.$rt['medal_id'];
  62.                 $db->update("UPDATE pw_members SET medals ='".$newmedal."' WHERE uid='".$rt['uid']."'");
  63.             }
  64.         }else{
  65.             $db->update("UPDATE pw_members SET medals ='".$rt['medal_id']."' WHERE uid='".$rt['uid']."'");
  66.         }
  67.     }
  68.     $maxid = $db->get_value("SELECT max(award_id) FROM pw_medal_award");
  69.     if ($lastid < $maxid) {
  70.         echo "<meta http-equiv='refresh' content='1;url=$basename?action=pw_medal_award&start=$lastid'>";
  71.     }else{
  72.         echo '修复勋章结束';exit;
  73.     }
  74. }
  75. echo '升级中,请稍候...';exit;
  76. function getdirname($path=null){
  77.     if (!empty($path)) {
  78.         if (strpos($path,'\\')!==false) {
  79.             return substr($path,0,strrpos($path,'\\')).'/';
  80.         } elseif (strpos($path,'/')!==false) {
  81.             return substr($path,0,strrpos($path,'/')).'/';
  82.         }
  83.     }
  84.     return './';
  85. }
  86. function createtable($array){
  87.     global $db,$charset;
  88.     foreach ($array as $key => $value) {
  89.         !$value[1] && $value[1] = 'MyISAM';
  90.         $value[0] = "CREATE TABLE IF NOT EXISTS $key ($value[0]) ";
  91.         if ($db->server_info() > '4.1') {
  92.             $value[0] .= "ENGINE=$value[1]".($charset ? " DEFAULT CHARSET=$charset" : '');
  93.         } else {
  94.             $value[0] .= "TYPE=$value[1]";
  95.         }
  96.         $db->query($value[0]);
  97.     }
  98. }
  99. ?>

[url=http://www.phpwind.com]phpwind[/url]
离线rgtpmvdc

发帖
3
金币
0
威望
0
只看该作者 沙发  发表于: 2012-10-18
我是来刷墙的


















南京防辐射服哪里买
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
提到某人:
选择好友
上一个 下一个