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; }
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; }
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; }