/** * Функция автоподьема проектов если в них в течении 2х дней не было ни одного ответа * Поднимает только 1 раз * * @global object $DB */ public static function autoSetTopProject() { global $DB; // Старые проекты (больше 7 дней) не повышаем $sql = "\n SELECT \n p.*, u.email, u.subscr, u.login, u.uname, u.usurname, us.key as unsubscribe_key \n FROM projects p\n LEFT JOIN projects_blocked pb ON pb.project_id = p.id\n INNER JOIN employer u ON u.uid = p.user_id\n INNER JOIN users_subscribe_keys us ON us.uid = u.uid\n WHERE\n pb.id IS NULL AND \n p.strong_top = 0 AND top_to IS NULL AND\n p.post_date = p.create_date AND \n p.create_date + interval '2 days' <= now() AND \n (now() - p.create_date) < '7 days' AND \n p.offers_count = 0 AND \n p.closed = false\n "; $update = "UPDATE projects SET post_date = post_date + interval '2 days' WHERE id IN (?l)"; $update_projects = $DB->rows($sql); foreach ($update_projects as $prj) { $prjid[] = $prj['id']; } if ($DB->query($update, $prjid)) { $smail = new smail(); $smail->sendAutoSetTopProject($update_projects); } }