Exemplo n.º 1
0
 /**
  *
  * @param string $query  SQL query
  *   Вместо имени таблицы можно использовать '%t%'
  * @throws nc_search_data_exception|Exception
  * @return nc_search_data_persistent_collection
  */
 public function select_from_database($query)
 {
     try {
         $this->set_mysql_encoding();
         parent::select_from_database($query);
         $this->restore_mysql_encoding();
     } catch (Exception $e) {
         $this->restore_mysql_encoding();
         throw $e;
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Возвращает пути для указанного сайта
  *
  * @param int $site_id         Идентификатор сайта
  * @param bool $get_disabled   Если true, также возвращает отключённые пути
  * @param bool $reload         Если true, перезагружает данные из базы данных
  * @return nc_routing_route_collection
  */
 public static function get_routes($site_id, $get_disabled = false, $reload = false)
 {
     // получить включённые маршруты из коллекции всех маршрутов:
     if (!$reload && !$get_disabled && isset(self::$all_routes[$site_id])) {
         self::$enabled_routes[$site_id] = self::$all_routes[$site_id]->where('enabled', 1);
     }
     $stored = $get_disabled ? 'all_routes' : 'enabled_routes';
     if ($reload || !isset(self::${$stored}[$site_id])) {
         $query = "SELECT * FROM `%t%` WHERE `Site_ID` = " . (int) $site_id;
         if (!$get_disabled) {
             $query .= " AND `Enabled` = 1";
         }
         $query .= " ORDER BY `Priority`";
         self::${$stored}[$site_id] = nc_record_collection::load("nc_routing_route", $query);
     }
     return self::${$stored}[$site_id];
 }