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']);
        }
    }
}
Exemple #2
0
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']);
     }
 }
Exemple #4
0
function RWORD($db)
{
    $id = intval(rand_row("words", "word_id"));
    return WORD($db, $id);
}