function cron_verifyTiezi() { global $m; $set = unserialize(option::get('plugin_verifyTiezi')); $today = date("Y-m-d"); //准备:扫描verifyTiezi表中lastdo不是今天的,然后更新verifyTiezi_data表的remain $sy = $m->query("SELECT * FROM `" . DB_PREFIX . "verifyTiezi` WHERE `lastdo` != '{$today}';"); while ($sx = $m->fetch_array($sy)) { $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'verifyTiezi_data` SET `remain` = \'' . $sx['num'] . '\' WHERE `uid` = ' . $sx['uid']); $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'verifyTiezi` SET `lastdo` = \'' . $today . '\' WHERE `uid` = ' . $sx['uid']); } //开始:计划任务 $count = $m->once_fetch_array("SELECT COUNT(*) AS `c` FROM `" . DB_PREFIX . "verifyTiezi_data` WHERE `remain` > '0' LIMIT {$set['rem']};"); if ($count['c'] == $set['rem']) { $y = rand_row(DB_PREFIX . 'verifyTiezi_data', 'id', $set['rem'], "`remain` > '0'"); } else { $y = rand_row(DB_PREFIX . 'verifyTiezi_data', 'id', $count['c'], "`remain` > '0'"); } //如果只有一条记录的兼容方案 if (isset($y['url'])) { $y = array(0 => $y); } foreach ($y as $x) { if (!empty($x['pid']) && !empty($x['uid'])) { $u = $m->once_fetch_array("SELECT * FROM `" . DB_PREFIX . "verifyTiezi` WHERE `uid` = '{$x['uid']}'"); $cont = unserialize($u['cont']); $remain = $x['remain'] - 1; $res = verifyTiezi_send($x['uid'], $x['url'], $x['pid'], rand_array($cont), $set['device']); $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'verifyTiezi_data` SET `remain` = \'' . $remain . '\',`status` = \'' . $res['status'] . '\',`msg` = \'' . $res['msg'] . '\' WHERE `url` = \'' . $x['url'] . '\' AND `uid` = ' . $x['uid']); sleep($set['sleep']); } } }
function cron_wmzz_zan() { require_once SYSTEM_ROOT . '/plugins/Cloud_Click/zan.php'; $set = unserialize(option::get('plugin_Cloud_Click')); $today = date('Y-m-d'); global $m; //准备:扫描wmzz_zan表中lastdo不是今天的,然后更新wmzz_zan_data表的remain $sy = $m->query("SELECT * FROM `" . DB_PREFIX . "wmzz_zan` WHERE `lastdo` != '{$today}';"); while ($sx = $m->fetch_array($sy)) { $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'wmzz_zan_data` SET `remain` = \'' . $sx['num'] . '\' WHERE `uid` = ' . $sx['uid']); $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'wmzz_zan` SET `lastdo` = \'' . $today . '\' WHERE `uid` = ' . $sx['uid']); } //开始:计划任务 $count = $m->once_fetch_array("SELECT COUNT(*) AS `c` FROM `" . DB_PREFIX . "wmzz_zan_data` WHERE `remain` > '0' LIMIT {$set['rem']};"); if ($count['c'] == $set['rem']) { $y = rand_row(DB_PREFIX . 'wmzz_zan_data', 'id', $set['rem'], "`remain` > '0'"); } else { $y = rand_row(DB_PREFIX . 'wmzz_zan_data', 'id', $count['c'], "`remain` > '0'"); } //如果只有一条记录的兼容方案 if (isset($y['tieba'])) { $y = array(0 => $y); } //点赞 foreach ($y as $x) { if (!empty($x['pid'])) { $remain = $x['remain'] - $set['num']; $res = wmzz_zan_donow(misc::GetCookie($x['pid']), $x['tieba'], $set['num']); $m->query('UPDATE `' . DB_NAME . '`.`' . DB_PREFIX . 'wmzz_zan_data` SET `remain` = \'' . $remain . '\' WHERE `tieba` = \'' . $x['tieba'] . '\' AND `uid` = ' . $x['uid']); sleep($set['sleep']); } } /* while ($v = $m->fetch_array($x)) { $u = $m->once_fetch_array("SELECT * FROM `".DB_NAME."`.`".DB_PREFIX."users` WHERE `id` = '{$v['uid']}' LIMIT 1"); $variable = unserialize($v['tieba']); foreach ($variable as $value) { wmzz_zan_get_list($u['ck_bduss'],$value['tieba'],$s['sleep'],$v['max'],$s['sp']); } $m->query("UPDATE `".DB_NAME."`.`".DB_PREFIX."wmzz_zan` SET `lastdo` = '".$today."' WHERE `id` = ".$v['id']); } */ }
/** * 执行一个表的签到重試任务 * @param $table 表 */ public static function DoSign_retry($table) { global $m, $i; $today = date('d'); if (date('H') <= option::get('sign_hour')) { return option::get('sign_hour') . '点时忽略签到'; } $limit = option::get('cron_limit'); $sign_mode = unserialize(option::get('sign_mode')); $sign_again = unserialize(option::get('cron_sign_again')); $retry_max = option::get('retry_max'); $q = array(); $x = array(); //重新尝试签到出错的贴吧 if ($limit == 0) { if ($retry_max == '0' || $sign_again['latest'] == $today && $sign_again['num'] <= $retry_max && $retry_max != '-1') { $qs = $m->query("SELECT * FROM `" . DB_NAME . "`.`" . DB_PREFIX . $table . "` WHERE `no` = 0 AND `status` != '0'"); while ($qss = $m->fetch_array($qs)) { $q[] = array('id' => $qss['id'], 'uid' => $qss['uid'], 'pid' => $qss['pid'], 'fid' => $qss['fid'], 'tieba' => $qss['tieba'], 'no' => $qss['no'], 'status' => $qss['status'], 'latest' => $qss['latest'], 'last_error' => $qss['last_error']); } shuffle($q); } } else { if ($retry_max == '0' || $sign_again['lastdo'] == $today && $sign_again['num'] <= $retry_max && $retry_max != '-1') { $q = rand_row(DB_PREFIX . $table, 'id', $limit, "`no` = 0 AND `status` != '0' AND `latest` = '{$today}'", true); } } foreach ($q as $x) { self::DoSign_All($x['uid'], $x['tieba'], $x['id'], $table, $sign_mode, $x['pid'], $x['fid']); } }
function RWORD($db) { $id = intval(rand_row("words", "word_id")); return WORD($db, $id); }