Exemple #1
0
 /**
  * Функция автоподьема проектов если в них в течении 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);
     }
 }