public function run() { $crons = array(); $res = FDB::query("SELECT * FROM " . FDB::table('cron') . " WHERE run_time <= '" . TIME_UTC . "' ORDER BY run_time DESC"); while ($data = FDB::fetch($res)) { $crons[$data['type']][] = $data; } if (count($crons) > 0) { $query = FDB::query("DELETE FROM " . FDB::table('cron') . " WHERE run_time <= '" . TIME_UTC . "'"); if ($query !== FALSE && FDB::affectedRows() > 0) { @set_time_limit(1800); if (function_exists('ini_set')) { ini_set('max_execution_time', 1800); } foreach ($crons as $ctype => $cron_list) { FS($ctype)->runCron($cron_list); } } } }
public function deleteByMiid($uid, $miid) { if (empty($miid) || empty($uid)) { return 0; } $index = FDB::fetchFirst("SELECT * FROM " . FDB::table('user_msg_index') . " AS mi \r\n\t\t\tLEFT JOIN " . FDB::table('user_msg_list') . " AS ml ON ml.mlid=mi.mlid \r\n\t\t\tWHERE mi.miid='{$miid}'"); $users = explode('_', $index['min_max']); if (!in_array($uid, $users)) { return MSG_PRIVILEGE_NONE_ERROR; } $mlid = $index['mlid']; if ($index['uid'] != $uid) { FDB::query("UPDATE " . MessageService::getTablaName($mlid) . " SET status = 2 WHERE miid='{$miid}' AND status=0"); $update_num = FDB::affectedRows(); FDB::query("DELETE FROM " . MessageService::getTablaName($mlid) . " WHERE miid='{$miid}' AND status=1"); $delete_num = FDB::affectedRows(); } else { FDB::query("UPDATE " . MessageService::getTablaName($mlid) . " SET status = 1 WHERE miid='{$miid}' AND status=0"); $update_num = FDB::affectedRows(); FDB::query("DELETE FROM " . MessageService::getTablaName($mlid) . " WHERE miid='{$miid}' AND status=2"); $delete_num = FDB::affectedRows(); } if (!FDB::resultFirst("SELECT COUNT(*) FROM " . MessageService::getTablaName($mlid) . " WHERE mlid='{$index['mlid']}'")) { FDB::query("DELETE FROM " . FDB::table('user_msg_list') . " WHERE mlid='{$mlid}'"); FDB::query("DELETE FROM " . FDB::table('user_msg_member') . " WHERE mlid='{$mlid}'"); FDB::query("DELETE FROM " . FDB::table('user_msg_index') . " WHERE mlid='{$mlid}'"); } else { FDB::query("UPDATE " . FDB::table('user_msg_member') . " SET num = num - " . ($update_num + $delete_num) . " WHERE mlid='" . $mlid . "' AND uid='{$uid}'"); } return 1; }