if(! $row_config["attachments_access_admin"]) { $attachments = $this->diafan->_attachments->get($id, $table, $row["id"]); $this->result["attachments"][$prefix."attachments".$row["id"]."[]"] = $this->diafan->_tpl->get('attachments', $this->diafan->current_module, array("rows" => $attachments, "prefix" => $prefix, "param_id" => $row["id"], "use_animation" => $row_config["use_animation"])); } else { $this->result["attachments"][$prefix."attachments".$row["id"]."[]"] = ""; } } } } if (empty($_POST[$prefix."p".$row["id"]])) continue; if(! empty($config["multilang"])) { if(in_array($row["type"], array('text', 'textarea', 'editor'))) { $value_name = '[value]'; } else { $value_name = 'value'.$this->diafan->_languages->site; } } else { $value_name = 'value'; } if ($row["type"] == "multiple") { DB::query("DELETE FROM {".$table."_param_".$rel."} WHERE param_id=%d AND ".$rel."_id=%d", $row["id"], $id); foreach ($_POST[$prefix."p".$row["id"]] as $val) { DB::query("INSERT INTO {".$table."_param_".$rel."} (".$value_name.", param_id, ".$rel."_id) VALUES ('%h', '%d', '%d')", $val, $row["id"], $id); } } elseif ($row_id = DB::query_result("SELECT id FROM {".$table."_param_".$rel."} WHERE param_id=%d AND ".$rel."_id=%d LIMIT 1", $row["id"], $id)) { if ($row["type"] == "date") { $_POST[$prefix."p".$row["id"]] = $this->diafan->formate_in_date($_POST[$prefix."p".$row["id"]]); } elseif ($row["type"] == "datetime") { $_POST[$prefix."p".$row["id"]] = $this->diafan->formate_in_datetime($_POST[$prefix."p".$row["id"]]); } DB::query("UPDATE {".$table."_param_".$rel."} SET ".$value_name."='%s' WHERE id=%d", nl2br(htmlspecialchars($_POST[$prefix."p".$row["id"]])), $row_id); } else { DB::query("INSERT INTO {".$table."_param_".$rel."} (".$value_name.", param_id, ".$rel."_id) VALUES ('%s', %d, %d)", htmlspecialchars($_POST[$prefix."p".$row["id"]]), $row["id"], $id); } $no_empty_param_ids[] = $row["id"]; } DB::query("DELETE FROM {".$table."_param_".$rel."} WHERE ".$rel."_id=%d".($no_empty_param_ids ? " AND param_id NOT IN (".implode(",", $no_empty_param_ids).")" : ''), $id); } protected function valid_email ($email, $field) { if ($email) { Custom::inc('includes/validate.php'); $mes = Validate::mail($email); if ($mes) { $this->result["errors"][$field] = $this->diafan->_($mes, false); return true; } } return false; } protected function valid_phone ($phone, $field) { if ($phone) { Custom::inc('includes/validate.php'); $mes = Validate::phone($phone); if ($mes) { $this->result["errors"][$field] = $this->diafan->_($mes, false); return true; } } return false; } protected function valid_url ($url, $field) { if ($url) { Custom::inc('includes/validate.php'); if(! Validate::url($url, true)) { $this->result["errors"][$field] = $this->diafan->_('Некорректная ссылка.', false); return true; } } return false; } protected function get_attributes ($attributes) { $a = func_get_args(); for ($i = 1; $i < count($a); $i++) { if (is_array($a[$i])) { $name = $a[$i][0]; $value = $a[$i][1]; } else { $name = $a[$i]; $value = ''; } if (empty($attributes[$name])) { $attributes[$name] = $value; } } return $attributes; } } class Defer_action extends Action{ public function action () { $this->result["data"] = array(); if($attributes = isset($_POST["defer"]) && ! empty($_POST["attributes"]) && is_array($_POST["attributes"]) ? $_POST["attributes"] : false) { if(! empty($_POST["ajax_async"])) { foreach($attributes as $key => $value) { $key = preg_replace('/[^a-zA-Z0-9_]/', '', $key); $this->result["data"]['form[defer_id="'.$key.'"]'] = $this->start_element($value); } } else { $this->result["data"]['form'] = $this->start_element($attributes); } } else { $this->result["data"]['form'] = ''; } $this->result['replace'] = true; } private function start_element ($attributes) { $result = ''; if($attributes = ! empty($attributes) && is_array($attributes) ? $attributes : false) { $attrs = array(); foreach($attributes as $key => $value) { $key = preg_replace('/[^a-zA-Z0-9_]/', '', $key); $value = htmlspecialchars(stripslashes(trim($value))); $attrs[$key] = $value; } if(! empty($attrs["module"]) && $this->is_module($attrs["module"])) { ob_start(); $this->diafan->_parser_theme->start_element($attrs); $result = ob_get_contents(); ob_end_clean(); $result = htmlspecialchars_decode($result); } } return $result; } private function is_module ($module_name) { //if(preg_match("/_admin$/i", $module_name)) //return false; return ($module_name && in_array($module_name, $this->diafan->installed_modules)); } } class More_action extends Action{ public function action () { if(! empty($_POST["more"]) && isset($_POST["mode"]) && $_POST["mode"] == 'model') { $this->diafan->module->init(); $this->diafan->module->model->result["more"] = true; $error_404 = false; foreach ($this->diafan->_route->variable_names_site as $name) { if ($this->diafan->_route->$name && ! in_array($name, $this->diafan->module->rewrite_variable_names) && $name != 'dpage' && $name != 'rpage') { $error_404 = true; break; } } $uid = ! empty($_POST["uid"]) ? $_POST["uid"] : false; $result = ''; $paginator = false; if(! $error_404) { $view = $this->diafan->module->model->result["view"]; if(! empty($this->diafan->module->model->result["view_rows"])) { $view = $this->diafan->module->model->result["view_rows"]; } if($uid !== false && isset($this->diafan->module->model->result["paginator"])) { $paginator = $this->diafan->module->model->result["paginator"]; unset($this->diafan->module->model->result["paginator"]); } $this->diafan->module->model->result['ajax'] = true; $result = $this->diafan->_tpl->get($view, $this->diafan->current_module, $this->diafan->module->model->result); $this->result['set_location'] = true; } $this->result['data'] = array( 'form' => $result, ); if($paginator !== false && $uid !== false) { $this->result['data'][".paginator[uid='".$uid."']"] = $paginator; } } else { $this->result["data"]['form'] = ''; } $this->result['replace'] = true; } } class Action_exception extends Exception{ } Латка на носочной части — Фотогалерея — Золотая Линия
Мы онлайн
0 0

Латка на носочной части

Латка на носочной части
Оставьте комментарий или отзыв о нашей работе
Имя*:
Контакты для связи:
Комментарий:

Выберите правильный ответ
(три + три) = (буквами)
Отправляя форму, я даю согласие на обработку персональных данных.
* — Поля, обязательные для заполнения