コード例 #1
0
 public function search()
 {
     $lang = Router::getLanguage();
     $dbc = Connect::getConnection();
     $indexModel = new IndexModel();
     $material_type_array = $indexModel->getType_of_Materials();
     $data_total = array();
     foreach ($material_type_array as $val) {
         $material_type = $val['type_name'];
         if ($material_type != 'Admin') {
             $fields = new FieldsModel($material_type);
             $fields_list = '';
             $fields_list_value = '';
             foreach ($fields->getFields() as $v) {
                 if ($v != 'id' && $v != 'alias' && $v != 'id_' . $material_type . '') {
                     $fields_list .= ',`' . $v . '` ';
                     $fields_list_value .= $v . " LIKE '%" . $this->search_request . "%' OR ";
                 }
             }
             $fields_list_value = trim($fields_list_value, 'OR ');
             $sql = "SELECT `id`, `id_{$material_type}` {$fields_list}, `alias` FROM `{$material_type}_{$lang}` WHERE {$fields_list_value}";
             $placeholders = array();
             $data = $dbc->getDate($sql, $placeholders);
             $data_total[$material_type] = $data;
         }
     }
     return $data_total;
 }
コード例 #2
0
 public function __construct(Request $request, $material_type)
 {
     $this->title = $request->post('title');
     $this->menu_name = $request->post('menu_name');
     $this->menu_data = $request->post('menu');
     $this->without_menu = $request->post('without_menu');
     $this->publication = $request->post('publication');
     $this->title_or_menu_name = $this->menu_name ? $this->menu_name : $this->title;
     $alias_data = $this->createAlias($this->title_or_menu_name, $this->menu_data);
     $this->new_alias = $alias_data['new_alias'];
     $this->date = $request->post('date');
     $this->translit = $alias_data['translit'];
     $this->id_parent = $alias_data['id_parent'];
     $this->material_type = $material_type;
     $img_name_local = $request->files('name');
     $this->img_name_local = isset($img_name_local) ? $img_name_local : '';
     $img_name_server = $request->post('file_server');
     $this->img_name_server = isset($img_name_server) ? $img_name_server : '';
     if ($this->img_name_server && $this->img_name_local) {
         $this->img_name = $this->img_name_local;
     }
     if ($this->img_name_server) {
         $this->img_name = $this->img_name_server;
     }
     if ($this->img_name_local) {
         $this->img_name = $this->img_name_local;
     }
     if (!$this->img_name_server && !$this->img_name_local) {
         $this->img_name = Config::get('default_img');
     }
     // $name = $request->files('name');
     $this->img = isset($this->img_name) ? "Webroot/uploads/images/{$this->img_name}" : "Webroot/uploads/images/" . Config::get('default_img');
     $fields_model = new FieldsModel($material_type);
     $fields = $fields_model->getFields();
     $additional_fields_list = array();
     $additional_fields_value = '';
     $additional_fields_key_value = '';
     $additional_fields_value_arr = array();
     foreach ($fields as $v) {
         if ($v != 'id' && $v != 'alias' && $v != 'id_' . $material_type . '' && $v != 'title') {
             $additional_fields_list[] = $v;
             $additional_fields_value .= ", '" . $request->post($v) . "'";
             $additional_fields_value_arr[$v] = $request->post($v);
             $additional_fields_key_value .= ", `" . $v . "` = '" . $request->post($v) . "'";
         }
     }
     $this->additional_fields_arr = $additional_fields_list;
     $this->additional_fields_value = $additional_fields_value;
     $this->additional_fields_value_arr = $additional_fields_value_arr;
     $this->additional_fields_key_value = $additional_fields_key_value;
 }
コード例 #3
0
 public function getPage($id, $lang, $material_type)
 {
     $fields = new FieldsModel($material_type);
     $fields_list = '';
     foreach ($fields->getFields() as $v) {
         if ($v != 'id' && $v != 'alias' && $v != 'id_' . $material_type . '') {
             $fields_list .= ', bp_' . $lang . '.' . $v . ' ';
         }
     }
     $dbc = Connect::getConnection();
     $sql = "SELECT p.id, p.status, bp.img {$fields_list} FROM pages p JOIN {$material_type} bp JOIN {$material_type}_{$lang} bp_{$lang}\n        WHERE p.id = :id AND p.id = bp.id_page AND  bp.id = bp_{$lang}.id_{$material_type}";
     $placeholders = array('id' => $id);
     $date = $dbc->getDate($sql, $placeholders);
     return $date;
 }