Exemple #1
0
 /**
  * @param nc_routing_route $route
  * @return nc_ui_view|null
  */
 protected function save_route_and_redirect(nc_routing_route $route)
 {
     try {
         $route->save();
         $this->redirect_to_index_action();
     } catch (Exception $e) {
         // nc_record_exception, nc_routing_pattern_parser_exception
         $this->ui_config->locationHash = "";
         $this->ui_config->add_save_and_cancel_buttons();
         $error_message = NETCAT_MODULE_ROUTING_UNABLE_TO_SAVE_RECORD . "<br>" . $e->getMessage();
         return $this->view('route_edit')->with('route', $route)->with('error_message', $error_message);
     }
 }
Exemple #2
0
 /**
  * Создаёт стандартные маршруты на указанном сайте.
  *
  * @param int $site_id
  * @return bool
  */
 public static function create($site_id)
 {
     if (!nc_core::get_object()->catalogue->get_by_id($site_id, 'Catalogue_ID')) {
         return false;
     }
     // Пути по умолчанию в порядке убывания приоритета
     $all_patterns = array("folder /{folder}/{date}/", "folder /{folder}/{date}", "folder /{folder}/", "folder /{folder}", "infoblock /{folder}/{infoblock_action}_{infoblock_keyword}.{format}", "infoblock /{folder}/{date}/{infoblock_action}_{infoblock_keyword}.{format}", "object /{folder}/{date}/{object_action}_{object_keyword}.{format}", "object /{folder}/{object_action}_{object_keyword}.{format}", "object /{folder}/{date}/{object_action}_{infoblock_keyword}_{object_id}.{format}", "object /{folder}/{object_action}_{infoblock_keyword}_{object_id}.{format}", "object /{folder}/{date}/{object_keyword}.{format}", "object /{folder}/{object_keyword}.{format}", "object /{folder}/{date}/{infoblock_keyword}_{object_id}.{format}", "object /{folder}/{infoblock_keyword}_{object_id}.{format}", "infoblock /{folder}/{infoblock_keyword}.{format}", "infoblock /{folder}/{date}/{infoblock_keyword}.{format}");
     $all_patterns = array_reverse($all_patterns);
     foreach ($all_patterns as $pattern_data) {
         list($resource_type, $pattern) = explode(" ", $pattern_data, 2);
         $route = new nc_routing_route(array('site_id' => $site_id, 'description' => '', 'is_builtin' => true, 'pattern' => $pattern, 'resource_type' => $resource_type, 'enabled' => true));
         $route->save();
     }
     return true;
 }