/** * Метод, предназанченный для удаление модуля * */ function moduleDelete() { global $AVE_DB; // Подключаем файл с запросами к БД для данного модуля $modul_sql_deinstall = array(); $sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php'; if (is_file($sql_file) && @(include $sql_file)) { // Выполняем запросы удаления таблиц модуля // из массива $modul_sql_deinstall файла sql.php foreach ($modul_sql_deinstall as $sql) { $AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql)); } } // Удаляем информацию о модуле в таблице module $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_module\r\n\t\t\tWHERE ModulPfad = '" . MODULE_PATH . "'\r\n\t\t"); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - удалил модуль (' . MODULE_PATH . ')', 2, 2); // Выполянем обновление страницы со списком модулей header('Location:index.php?do=modules&cp=' . SESSION); exit; }
/** * Редактирование шаблона рубрики * * @param string $data */ function rubricTemplateSave($data) { global $AVE_DB; $rubric_id = (int) $_REQUEST['Id']; $AVE_DB->Query("\r\n\t\t\tUPDATE " . PREFIX . "_rubrics\r\n\t\t\tSET rubric_template = '" . $data . "'\r\n\t\t\tWHERE Id = '" . $rubric_id . "'\r\n\t\t"); // Очищаем кэш шаблона документов рубрики $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_rubric_template_cache\r\n\t\t\tWHERE rub_id = '" . $rubric_id . "'\r\n\t\t"); reportLog($_SESSION['user_name'] . ' - отредактировал шаблон рубрики (' . $rubric_id . ')', 2, 2); if (!$_REQUEST['next_edit']) { header('Location:index.php?do=rubs&cp=' . SESSION); } else { header('Location:index.php?do=rubs&action=template&Id=' . $rubric_id . '&cp=' . SESSION); } }
/** * Отправка e-Mail * * @param string $to * @param string $text * @param string $subject * @param string $from * @param string $from_name * @param string $content_type * @param string $attachments * @param string $html */ function send_mail($to, $text, $subject = '', $from = '', $from_name = '', $content_type = '', $attachments = '') { ob_start(); if (!function_exists('version_compare') || version_compare(phpversion(), '5', '<')) { include_once BASE_DIR . '/lib/PHPMailer/php4/class.phpmailer.php'; } else { include_once BASE_DIR . '/lib/PHPMailer/php5/class.phpmailer.php'; } $PHPMailer = new PHPMailer(); $PHPMailer->CharSet = 'utf-8'; $PHPMailer->Mailer = get_settings('mail_type'); $PHPMailer->ContentType = $content_type == 'html' ? 'text/html' : ($content_type == 'text' || get_settings('mail_content_type') == 'text/plain' ? 'text/plain' : 'text/html'); $PHPMailer->WordWrap = get_settings('mail_word_wrap'); $PHPMailer->Subject = $subject; $PHPMailer->Body = $text . "\n\n" . ($PHPMailer->ContentType == 'text/html' ? '' : get_settings('mail_signature')); $PHPMailer->From = $from != '' ? $from : get_settings('mail_from'); $PHPMailer->FromName = $from_name != '' ? $from_name : get_settings('mail_from_name'); $PHPMailer->AddAddress($to); switch ($PHPMailer->Mailer) { case 'sendmail': $PHPMailer->Sendmail = get_settings('mail_sendmail_path'); break; case 'smtp': $PHPMailer->Host = get_settings('mail_host'); $PHPMailer->Port = get_settings('mail_port'); $PHPMailer->Username = get_settings('mail_smtp_login'); $PHPMailer->Password = get_settings('mail_smtp_pass'); $PHPMailer->AddReplyTo($PHPMailer->Username, $PHPMailer->FromName); $PHPMailer->SMTPAuth = true; // authentication enabled $PHPMailer->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail // $PHPMailer->SMTPDebug = true; // enables SMTP debug information (for testing) break; case 'mail': default: break; } if (!empty($attachments)) { if (is_array($attachments)) { foreach ($attachments as $attachment) { $PHPMailer->AddAttachment(BASE_DIR . '/attachments/' . $attachment); } } else { $PHPMailer->AddAttachment(BASE_DIR . '/attachments/' . $attachments); } } if ($PHPMailer->Send()) { // if (! empty($attachments)) // { // if (is_array($attachments)) // { // foreach ($attachments as $attachment) // { // @unlink(BASE_DIR . '/attachments/' . $attachment); // } // } // else // { // @unlink(BASE_DIR . '/attachments/' . $attachments); // } // } } else { reportLog('PHPMailer Error: ' . $PHPMailer->ErrorInfo); } ob_end_clean(); }
/** * Метод записи настроек * */ function settingsSave() { global $AVE_DB; $muname = !empty($_REQUEST['mail_smtp_login']) ? "mail_smtp_login = '******'mail_smtp_login'] . "'," : ''; $mpass = !empty($_REQUEST['mail_smtp_pass']) ? "mail_smtp_pass = '******'mail_smtp_pass'] . "'," : ''; $msmp = !empty($_REQUEST['mail_sendmail_path']) ? "mail_sendmail_path = '" . $_REQUEST['mail_sendmail_path'] . "'," : ''; $mn = !empty($_REQUEST['mail_from_name']) ? "mail_from_name = '" . $_REQUEST['mail_from_name'] . "'," : ''; $ma = !empty($_REQUEST['mail_from']) ? "mail_from = '" . $_REQUEST['mail_from'] . "'," : ''; $ep = !empty($_REQUEST['page_not_found_id']) ? "page_not_found_id = '" . $_REQUEST['page_not_found_id'] . "'," : ''; $sn = !empty($_REQUEST['site_name']) ? "site_name = '" . $_REQUEST['site_name'] . "'," : ''; $mp = !empty($_REQUEST['mail_port']) ? "mail_port = '" . $_REQUEST['mail_port'] . "'," : ''; $mh = !empty($_REQUEST['mail_host']) ? "mail_host = '" . $_REQUEST['mail_host'] . "'," : ''; $AVE_DB->Query("\r\n\t\t\tUPDATE " . PREFIX . "_settings\r\n\t\t\tSET\r\n\t\t\t\t" . $muname . "\r\n\t\t\t\t" . $mpass . "\r\n\t\t\t\t" . $msmp . "\r\n\t\t\t\t" . $ma . "\r\n\t\t\t\t" . $mn . "\r\n\t\t\t\t" . $ep . "\r\n\t\t\t\t" . $sn . "\r\n\t\t\t\t" . $mp . "\r\n\t\t\t\t" . $mh . "\r\n\t\t\t\tdefault_country = '" . $_REQUEST['default_country'] . "',\r\n\t\t\t\tmail_type = '" . $_REQUEST['mail_type'] . "',\r\n\t\t\t\tmail_content_type = '" . $_REQUEST['mail_content_type'] . "',\r\n\t\t\t\tmail_word_wrap = '" . $_REQUEST['mail_word_wrap'] . "',\r\n\t\t\t\tmail_new_user = '******'mail_new_user'] . "',\r\n\t\t\t\tmail_signature = '" . $_REQUEST['mail_signature'] . "',\r\n message_forbidden = '" . $_REQUEST['message_forbidden'] . "',\r\n\t\t\t\thidden_text = '" . $_REQUEST['hidden_text'] . "',\r\n\t\t\t\tnavi_box = '" . $_REQUEST['navi_box'] . "',\r\n\t\t\t\ttotal_label = '" . $this->_clearCode($_REQUEST['total_label']) . "',\r\n\t\t\t\tstart_label = '" . $this->_clearCode($_REQUEST['start_label']) . "',\r\n\t\t\t\tend_label = '" . $this->_clearCode($_REQUEST['end_label']) . "',\r\n\t\t\t\tseparator_label = '" . $this->_clearCode($_REQUEST['separator_label']) . "',\r\n\t\t\t\tnext_label = '" . $this->_clearCode($_REQUEST['next_label']) . "',\r\n\t\t\t\tprev_label = '" . $this->_clearCode($_REQUEST['prev_label']) . "',\r\n\t\t\t\tdate_format = '" . $_REQUEST['date_format'] . "',\r\n\t\t\t\ttime_format = '" . $_REQUEST['time_format'] . "',\r\n\t\t\t\tuse_doctime = '" . intval($_REQUEST['use_doctime']) . "',\r\n\t\t\t\tuse_editor = '" . intval($_REQUEST['use_editor']) . "'\r\n\t\t\tWHERE\r\n\t\t\t\tId = 1\r\n\t\t"); reportLog($_SESSION['user_name'] . " - изменил общие настройки системы", 2, 2); }
/** * Метод, предназначенный для экспорта сообщений 404 * */ function Export404() { global $AVE_DB, $AVE_Template; // Определяем тип файла (CSV), формат имени файла, разделители и т.д. $datstring = ''; $dattype = 'text/csv'; $datname = 'system_log_' . date('dmyhis', time()) . '.csv'; $separator = ';'; $enclosed = '"'; // Выполняем запрос к БД на получение списка всех системных сообщений $logdata = array(); $logfile = BASE_DIR . $this->_404dir; if (file_exists($logfile)) { include $logfile; } arsort($logdata); $fieldcount = count($logdata[0]); foreach ($logdata[0] as $k => $v) { $datstring .= $enclosed . $k . $enclosed . $separator; } $datstring .= PHP_EOL; // Циклически обрабатываем данные и формируем CSV файл с учетом указаны выше параметров foreach ($logdata as $k => $v) { foreach ($v as $key => $val) { $val = $key == 'log_time' ? date('d-m-Y, H:i:s', $val) : $val; $datstring .= $val == '' ? $separator : $enclosed . stripslashes($val) . $enclosed . $separator; } $datstring .= PHP_EOL; } // Определяем заголовки документа header('Content-Type: text/csv' . $dattype); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Disposition: attachment; filename="' . $datname . '"'); header('Content-Length: ' . strlen($datstring)); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); // Выводим данные echo $datstring; // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - ' . $AVE_Template->get_config_vars('LOGS_404_EXPORT'), 2, 2); exit; }
break; case 'multi': if (check_permission_acp('template_multi')) { $_REQUEST['sub'] = !isset($_REQUEST['sub']) ? '' : $_REQUEST['sub']; $errors = array(); switch ($_REQUEST['sub']) { case 'save': $ok = true; $row = $AVE_DB->Query("\r\n\t\t\t\t\t\tSELECT template_title\r\n\t\t\t\t\t\tFROM " . PREFIX . "_templates\r\n\t\t\t\t\t\tWHERE template_title = '" . $_REQUEST['template_title'] . "'\r\n\t\t\t\t\t")->FetchRow(); if (@$row->template_title != '') { array_push($errors, $AVE_Template->get_config_vars('TEMPLATES_EXIST')); $AVE_Template->assign('errors', $errors); $ok = false; } if ($_REQUEST['template_title'] == '') { array_push($errors, $AVE_Template->get_config_vars('TEMPLATES_NO_NAME')); $AVE_Template->assign('errors', $errors); $ok = false; } if ($ok) { $row = $AVE_DB->Query("\r\n\t\t\t\t\t\t\tSELECT template_text\r\n\t\t\t\t\t\t\tFROM " . PREFIX . "_templates\r\n\t\t\t\t\t\t\tWHERE Id = '" . (int) $_REQUEST['Id'] . "'\r\n\t\t\t\t\t\t")->FetchRow(); $AVE_DB->Query("\r\n\t\t\t\t\t\t\tINSERT\r\n\t\t\t\t\t\t\tINTO " . PREFIX . "_templates\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\tId = '',\r\n\t\t\t\t\t\t\t\ttemplate_title = '" . $_REQUEST['template_title'] . "',\r\n\t\t\t\t\t\t\t\ttemplate_text = '" . addslashes($row->template_text) . "',\r\n\t\t\t\t\t\t\t\ttemplate_author_id = '" . $_SESSION['user_id'] . "',\r\n\t\t\t\t\t\t\t\ttemplate_created = '" . time() . "'\r\n\t\t\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - создал копию шаблона (' . (int) $_REQUEST['oId'] . ')', 2, 2); header('Location:index.php?do=templates' . '&cp=' . SESSION); } break; } } $AVE_Template->assign('content', $AVE_Template->fetch('templates/multi.tpl')); break; }
function moduleRemove($dir) { global $AVE_DB, $AVE_Template; $directory = BASE_DIR . '/modules/' . $dir; $files = glob($directory . '*', GLOB_MARK); foreach ($files as $file) { if (substr($file, -1) == '/') { moduleRemove($file); } else { unlink($file); } } rrmdir($directory); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - ' . $AVE_Template->get_config_vars('MODULES_ACTION_REMOVE') . ' (' . $dir . ')', 2, 2); // Выполянем обновление страницы со списком модулей header('Location:index.php?do=modules&cp=' . SESSION); exit; }
exit(0); } do { $nameParts = explode('.', $file_name); $nameParts[count($nameParts) - 2] .= '-' . uniqid(rand()); $recycled_file_name = implode('.', $nameParts); } while (file_exists($recycled_path . $recycled_file_name)); @copy($del_file, $recycled_path . $recycled_file_name); if (@unlink($del_file)) { $nameParts = explode('.', $file_name); $ext = strtolower(end($nameParts)); if (in_array($ext, $images_ext)) { $nameParts[count($nameParts) - 2] .= $thumb_size; @unlink($upload_path . $_REQUEST['dir'] . THUMBNAIL_DIR . '/' . implode('.', $nameParts)); } reportLog($_SESSION['user_name'] . ' - удалил файл (' . UPLOAD_DIR . $_REQUEST['dir'] . $file_name . ')'); } } echo '<script type="text/javascript"> parent.frames[\'zf\'].location.href="browser.php?typ=', $_REQUEST['typ'], '&action=list&dir=', $_REQUEST['dir'], '"; </script>'; break; default: @(list($target, $target_id) = explode('__', $_REQUEST['target'])); $tval = '/'; if (!empty($_REQUEST['tval']) && 0 === strpos($_REQUEST['tval'], UPLOAD_DIR . '/')) { if (realpath(BASE_DIR . '/' . $_REQUEST['tval'])) { $tval = rtrim(dirname(substr($_REQUEST['tval'], strlen(UPLOAD_DIR))), '\\/') . '/'; } } $AVE_Template->assign('dir', $tval);
/** * Удаление системного блока * * @param int $sysblock_id идентификатор системного блока */ function sys_blockDelete($sysblock_id) { global $AVE_DB, $AVE_Template; if (is_numeric($sysblock_id)) { $sql = $AVE_DB->Query("\r\n\t\t\t\tSELECT *\r\n\t\t\t\tFROM " . PREFIX . "_sysblocks\r\n\t\t\t\tWHERE id = '" . $sysblock_id . "'\r\n\t\t\t")->FetchRow(); $AVE_DB->Query("\r\n\t\t\t\tDELETE\r\n\t\t\t\tFROM " . PREFIX . "_sysblocks\r\n\t\t\t\tWHERE id = '" . $sysblock_id . "'\r\n\t\t\t"); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . " - " . $AVE_Template->get_config_vars('SYSBLOCK_SQLDEL') . " (" . stripslashes($sql->sysblock_name) . ") (id: {$sysblock_id})", 2, 2); } header('Location:index.php?do=sysblocks&cp=' . SESSION); }
/** * Метод удаления кэша запросов * */ function sqlCacheClear() { rrmdir($this->sql_cache_dir); mkdir($this->sql_cache_dir, 0777, true); $filename = $this->sql_cache_dir . '/.htaccess'; if (!file_exists($filename)) { $fp = @fopen($filename, 'w'); if ($fp) { fputs($fp, 'Deny from all'); fclose($fp); } } reportLog($_SESSION['user_name'] . ' - удалил кэш sql запросов', 2, 2); }
/** * Метод, предназначенный для редактирования условий Запроса * * @param int $request_id идентификатор запроса */ function requestConditionEdit($request_id) { global $AVE_DB, $AVE_Template; // Определяем действие пользователя switch ($_REQUEST['sub']) { // Если действие не определено case '': $felder = array(); // Выполняем запрос к БД и получаем список полей у той рубрики, к которой относится данный запрос $sql = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT *\r\n\t\t\t\t\tFROM " . PREFIX . "_rubric_fields\r\n\t\t\t\t\tWHERE rubric_id = '" . $_REQUEST['rubric_id'] . "'\r\n\t\t\t\t"); // Обрабатываем полученные данные и формируем массив while ($row = $sql->FetchRow()) { array_push($felder, $row); } $afkonditionen = array(); // Выполняем запрос к БД и получаем условия запроса $sql = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT *\r\n\t\t\t\t\tFROM " . PREFIX . "_request_conditions\r\n\t\t\t\t\tWHERE request_id = '" . $request_id . "'\r\n\t\t\t\t"); // Обрабатываем полученные данные и формируем массив while ($row = $sql->FetchRow()) { array_push($afkonditionen, $row); } // Выполняем запрос к БД и получаем название запроса $titel = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT request_title\r\n\t\t\t\t\tFROM " . PREFIX . "_request\r\n\t\t\t\t\tWHERE Id = '" . $request_id . "'\r\n\t\t\t\t\tLIMIT 1\r\n\t\t\t\t")->GetCell(); // Передаем данные в шаблон и отображаем страницу с редактированием условий $AVE_Template->assign('request_title', $titel); $AVE_Template->assign('fields', $felder); $AVE_Template->assign('afkonditionen', $afkonditionen); $AVE_Template->assign('content', $AVE_Template->fetch('request/conditions.tpl')); break; // Если пользователь нажал кнопку Сохранить изменения // Если пользователь нажал кнопку Сохранить изменения case 'save': // Если пользователь добавил новое условие if (!empty($_POST['Wert_Neu'])) { // Выполняем запрос к БД на добавление нового условия $AVE_DB->Query("\r\n\t\t\t\t\t\tINSERT " . PREFIX . "_request_conditions\r\n\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\trequest_id = '" . $request_id . "',\r\n\t\t\t\t\t\t\tcondition_compare = '" . $_POST['Operator_Neu'] . "',\r\n\t\t\t\t\t\t\tcondition_field_id = '" . $_POST['Feld_Neu'] . "',\r\n\t\t\t\t\t\t\tcondition_value = '" . $_POST['Wert_Neu'] . "',\r\n\t\t\t\t\t\t\tcondition_join = '" . $_POST['Oper_Neu'] . "'\r\n\t\t\t\t\t"); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - добавил условие запроса (' . $request_id . ')', 2, 2); } // Если существует хотя бы одно условие, тогда if (isset($_POST['condition_field_id']) && is_array($_POST['condition_field_id'])) { $condition_edited = false; // Обрабатываем данные полей foreach ($_POST['condition_field_id'] as $condition_id => $val) { if (!empty($_POST['condition_value'][$condition_id])) { // Выполняем запрос к БД на обновление информации об условиях $AVE_DB->Query("\r\n\t\t\t\t\t\t\t\tUPDATE " . PREFIX . "_request_conditions\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\trequest_id = '" . $request_id . "',\r\n\t\t\t\t\t\t\t\t\tcondition_compare = '" . $_POST['condition_compare'][$condition_id] . "',\r\n\t\t\t\t\t\t\t\t\tcondition_field_id = '" . $val . "',\r\n\t\t\t\t\t\t\t\t\tcondition_value = '" . $_POST['condition_value'][$condition_id] . "',\r\n\t\t\t\t\t\t\t\t\tcondition_join = '" . $_POST['Oper_Neu'] . "'\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tId = '" . $condition_id . "'\r\n\t\t\t\t\t\t\t"); $condition_edited = true; } } // Если изменения были, сохраняем системное сообщение в журнал if ($condition_edited) { reportLog($_SESSION['user_name'] . ' - изменил условия запроса (' . $request_id . ')', 2, 2); } } // Если некоторые из условий были помечены на удаление if (isset($_POST['del']) && is_array($_POST['del'])) { // Обрабатываем все поля помеченные на удаление foreach ($_POST['del'] as $condition_id => $val) { // Выполняем запрос к БД на удаление условий $AVE_DB->Query("\r\n\t\t\t\t\t\t\tDELETE\r\n\t\t\t\t\t\t\tFROM " . PREFIX . "_request_conditions\r\n\t\t\t\t\t\t\tWHERE Id = '" . $condition_id . "'\r\n\t\t\t\t\t\t"); } // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - удалил условия запроса (' . $request_id . ')', 2, 2); } // Нет смысла каждый раз формировать SQL-запрос с условиями Запроса // поэтому формируем SQL-запрос только при изменении условий require BASE_DIR . '/functions/func.parserequest.php'; request_get_condition_sql_string($request_id); // Выполняем обновление страницы header('Location:index.php?do=request&action=konditionen&rubric_id=' . $_REQUEST['rubric_id'] . '&Id=' . $request_id . '&pop=1&cp=' . SESSION); exit; } }
} break; case 'multi': if (check_permission_acp('sysblocks')) { $_REQUEST['sub'] = !isset($_REQUEST['sub']) ? '' : $_REQUEST['sub']; $errors = array(); switch ($_REQUEST['sub']) { case 'save': $ok = true; $row = $AVE_DB->Query("\n\t\t\t\t\t\tSELECT sysblock_name\n\t\t\t\t\t\tFROM " . PREFIX . "_sysblocks\n\t\t\t\t\t\tWHERE sysblock_name = '" . $_REQUEST['sysblock_name'] . "'\n\t\t\t\t\t")->FetchRow(); if (@$row->sysblock_name != '') { array_push($errors, $AVE_Template->get_config_vars('SYSBLOCK_EXIST')); $AVE_Template->assign('errors', $errors); $ok = false; } if ($_REQUEST['sysblock_name'] == '') { array_push($errors, $AVE_Template->get_config_vars('SYSBLOCK_COPY_TIP')); $AVE_Template->assign('errors', $errors); $ok = false; } if ($ok) { $row = $AVE_DB->Query("\n\t\t\t\t\t\t\tSELECT sysblock_text\n\t\t\t\t\t\t\tFROM " . PREFIX . "_sysblocks\n\t\t\t\t\t\t\tWHERE id = '" . (int) $_REQUEST['id'] . "'\n\t\t\t\t\t\t")->FetchRow(); $AVE_DB->Query("\n\t\t\t\t\t\t\tINSERT\n\t\t\t\t\t\t\tINTO " . PREFIX . "_sysblocks\n\t\t\t\t\t\t\tSET\n\t\t\t\t\t\t\t\tId = '',\n\t\t\t\t\t\t\t\tsysblock_name = '" . $_REQUEST['sysblock_name'] . "',\n\t\t\t\t\t\t\t\tsysblock_text = '" . addslashes($row->sysblock_text) . "',\n\t\t\t\t\t\t\t\tsysblock_author_id = '" . $_SESSION['user_id'] . "',\n\t\t\t\t\t\t\t\tsysblock_created = '" . time() . "'\n\t\t\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - создал копию системного блока (' . (int) $_REQUEST['id'] . ')', 2, 2); header('Location:index.php?do=sysblocks' . '&cp=' . SESSION); } $AVE_Template->assign('content', $AVE_Template->fetch('sysblocks/multi.tpl')); break; } } }
/** * Метод очистки миниатюр * */ function ThumbnailsClear() { global $AVE_DB, $AVE_Template; $message = array(); $thumb_dirs = bfglob(BASE_DIR . '/' . UPLOAD_DIR . '/', THUMBNAIL_DIR, GLOB_NOSORT + GLOB_ONLYDIR, -1); foreach ($thumb_dirs as $thumb_dir) { rrmdir($thumb_dir); } $message[] = $AVE_Template->get_config_vars('TEMPLATES_THUMBNAILS_SUCCESS'); reportLog($_SESSION['user_name'] . ' - ' . $AVE_Template->get_config_vars('TEMPLATES_THUMBNAILS_SUCCESS_LOG'), 2, 2); echo json_encode(array($AVE_Template->get_config_vars('TEMPLATES_MESSAGE') . "<br />" . implode('<br />', $message), 'accept')); }
/** * Метод, предназначенный для публикации или отмены публикации документа * * @param int $document_id идентификатор Документа * @param string $openclose статус Документа {open|close} */ function documentStatusSet($document_id, $openclose = 0) { global $AVE_DB, $AVE_Template; $errors = array(); // Выполняем запрос к БД на получение id автора документа, чтобы проверить уровень прав доступа $row = $AVE_DB->Query("\n\t\t\tSELECT\n\t\t\t\trubric_id,\n\t\t\t\tdocument_author_id\n\t\t\tFROM " . PREFIX . "_documents\n\t\t\tWHERE Id = '" . $document_id . "'\n\t\t")->FetchRow(); // Проверем, чтобы у пользователя было достаточно прав на выполнение данной операции if ($row->document_author_id == @$_SESSION['user_id'] && (isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] == 1) || @$_SESSION[$row->rubric_id . '_alles'] == 1 || UGROUP == 1) { // Если это не главная страница и не страница с 404 ошибкой if ($document_id != 1 && $document_id != PAGE_NOT_FOUND_ID) { // Выполянем запрос к БД на смену статуса у документа $AVE_DB->Query("\n\t\t\t\t\tUPDATE " . PREFIX . "_documents\n\t\t\t\t\tSET document_status = '" . $openclose . "'\n\t\t\t\t\tWHERE Id = '" . $document_id . "'\n\t\t\t\t"); $AVE_DB->clearcache('rub_' . $row->rubric_id); $AVE_DB->clearcache('doc_' . $document_id); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - ' . ($openclose == 1 ? $AVE_Template->get_config_vars('DOC_DOCUMENT_ACT') : $AVE_Template->get_config_vars('DOC_DOCUMENT_DISACT')) . ' ' . $AVE_Template->get_config_vars('DOC_DOCUMENT_DOC') . ' (' . $document_id . ')', 2, 2); } else { $errors[] = $AVE_Template->get_config_vars('DOC_DOCUMENT_OPEN_ERR'); } } else { $errors[] = $AVE_Template->get_config_vars('DOC_DOCUMENT_OPEN_PRIVE'); } if (isset($_REQUEST['ajax'])) { if (empty($errors)) { // Если ошибок не найдено, формируем сообщение об успешной операции echo json_encode(array(($openclose == 1 ? $AVE_Template->get_config_vars('DOC_DOCUMENT_OPEN') : $AVE_Template->get_config_vars('DOC_DOCUMENT_CLOSE')) . implode(',<br />', $errors), 'accept')); } else { // В противном случае формируем сообщение с ошибкой echo json_encode(array($AVE_Template->get_config_vars('DOC_URL_CHECK_ER') . implode(',<br />', $errors), 'error')); } $AVE_DB->clearcache('rub_' . $row->rubric_id); $AVE_DB->clearcache('doc_' . $document_id); exit; } else { $AVE_DB->clearcache('rub_' . $row->rubric_id); $AVE_DB->clearcache('doc_' . $document_id); // Выполняем обновление страницы header('Location:index.php?do=docs&cp=' . SESSION); exit; } }
/** * Метод, предназначенный для обработки ошибок * * @param string $type - тип ошибки (при подключении к БД или при выполнении SQL-запроса) * @param string $query - текст SQL запроса вызвавшего ошибку * @access private */ function _error($type, $query = '') { if ($type != 'query') { display_notice('Error ' . $type . ' MySQL database.'); } else { $my_error = mysqli_error($this->_handle); reportLog('SQL ERROR: ' . $my_error . PHP_EOL . "\t\tQUERY: " . stripslashes($query) . PHP_EOL . "\t\t" . $this->get_caller() . PHP_EOL . "\t\tURL: " . HOST . $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'] . PHP_EOL); // Если в настройках системы установлен параметр на отправку сообщений на e-mail, тогда if (SEND_SQL_ERROR) { // Формируем текст сообщения с ошибкой $mail_body = 'SQL ERROR: ' . $my_error . PHP_EOL . 'TIME: ' . date('d-m-Y, H:i:s') . PHP_EOL . 'URL: ' . HOST . $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'] . PHP_EOL . $this->get_caller() . PHP_EOL . 'QUERY: ' . stripslashes($query) . PHP_EOL; // Отправляем сообщение send_mail(get_settings('mail_from'), $mail_body, 'MySQL Error!', get_settings('mail_from'), get_settings('mail_from_name'), 'text'); } } }
/** * Метод, предназначенный для деактивации пункта меню навигации. * Данный метод используется при изменении статуса документа с идентификатором $document_id * * @param int $document_id идентификатор документа на который ссылается пункт меню */ function navigationItemStatusOff($document_id) { global $AVE_DB; if (!is_numeric($document_id)) { return; } // Выполняем запрос к БД и получаем id пункта меню, который соответствует идентификатору документа в ссылке $sql = $AVE_DB->Query("\r\n\t\t\tSELECT Id\r\n\t\t\tFROM " . PREFIX . "_navigation_items\r\n\t\t\tWHERE navi_item_link = 'index.php?id=" . $document_id . "'\r\n\t\t\tAND navi_item_status = '1'\r\n\t\t"); while ($row = $sql->fetchrow()) { // Выполняем запрос к БД изменяем статус пункта меню на неактивный (0) $AVE_DB->Query("\r\n\t\t\t\tUPDATE " . PREFIX . "_navigation_items\r\n\t\t\t\tSET navi_item_status = '0'\r\n\t\t\t\tWHERE Id = '" . $row->Id . "'\r\n\t\t\t"); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . " - деактивировал пункт меню навигации (" . $row->Id . ")", 2, 2); } }
function roadmapTaskDelete($task_id, $project_id, $status) { global $AVE_DB; $task_id = (int) $task_id; $project_id = (int) $project_id; $status = (int) $status; $AVE_DB->Query("DELETE FROM " . PREFIX . "_modul_roadmap_tasks WHERE id = '" . $task_id . "'"); reportLog($_SESSION['user_name'] . ' - удалил задачу ' . $task_id, 2, 2); header('Location:index.php?do=modules&action=modedit&mod=roadmap&moduleaction=show_tasks&id=' . $project_id . '&closed=' . $status . '&cp=' . SESSION); exit; }
@chmod(UPDIR . $_REQUEST['pfad'] . $d_name, 0777); } } else { move_uploaded_file($d_tmp, UPDIR . $_REQUEST['pfad'] . $d_name); @chmod(UPDIR . $_REQUEST['pfad'] . $d_name, 0777); } } echo "<script language=\"javascript\"> \n", "<!-- \n", "window.opener.parent.frames['zf'].location.href = window.opener.parent.frames['zf'].location.href; \n", "window.close(); \n", "//--> \n", "</script> \n"; exit; } if ($_REQUEST['action'] == 'delfile') { if (check_permission('mediapool_del')) { @copy(UPDIR . $_REQUEST['file'], BASE_DIR . '/' . MEDIAPATH . '/recycled/' . $_REQUEST['df']); if (@unlink(UPDIR . $_REQUEST['file'])) { $error = 0; reportLog($_SESSION['user_name'] . ' - удалил изображение (' . stripslashes($_REQUEST['file']) . ')', 2, 2); $img_path = $_REQUEST['file']; $namepos = strrpos($img_path, '/'); if ($namepos > 0) { $img_name = substr($img_path, ++$namepos); $img_dir = substr($img_path, 0, $namepos); if (substr($img_path, 0, 1) != '/') { $img_dir = '/' . $img_dir; } } else { $img_name = substr($img_path, 1); $img_dir = '/'; } @unlink(UPDIR . $img_dir . TH_PREF . $img_name); $_REQUEST['file'] = ''; $_REQUEST['action'] = '';
/** * Метод записи параметров стран * */ function settingsCountriesSave() { global $AVE_DB, $AVE_Template; foreach ($_POST['country_name'] as $id => $country_name) { $AVE_DB->Query("\n\t\t\t\tUPDATE " . PREFIX . "_countries\n\t\t\t\tSET\n\t\t\t\t\tcountry_name = '" . $country_name . "',\n\t\t\t\t\tcountry_status = '" . $_POST['country_status'][$id] . "',\n\t\t\t\t\tcountry_eu = '" . $_POST['country_eu'][$id] . "'\n\t\t\t\tWHERE\n\t\t\t\t\tId = '" . $id . "'\n\t\t\t"); } reportLog($_SESSION['user_name'] . " - " . $AVE_Template->get_config_vars('SETTINGS_SAVE_COUNTRY'), 2, 2); }
/** * Метод, предназначенный для восстановления повреждённых таблиц базы данных * */ function databaseTableRepair() { global $AVE_DB; if (!empty($_POST['ta']) && is_array($_POST['ta'])) { // Выполняем запрос на восстановление $AVE_DB->Query("REPAIR TABLE `" . implode("`, `", $_POST['ta']) . "`"); // Выполняем запись системного сообщения в журнал reportLog($_SESSION['user_name'] . ' - выполнил востановление таблиц базы данных', 2, 2); } }
/** * Запись изменений учетных записей пользователей в списке * */ function userListEdit() { global $AVE_DB; foreach ($_POST['del'] as $user_id => $del) { if (is_numeric($user_id) && $user_id > 1) { $AVE_DB->Query("\r\n\t\t\t\t\tDELETE\r\n\t\t\t\t\tFROM " . PREFIX . "_users\r\n\t\t\t\t\tWHERE Id = '" . $user_id . "'\r\n\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - Удалил пользователя (' . $user_id . ')', 2, 2); } } foreach ($_POST['user_group'] as $user_id => $user_group_id) { if (is_numeric($user_id) && $user_id > 0 && is_numeric($user_group_id) && $user_group_id > 0) { $AVE_DB->Query("\r\n\t\t\t\t\tUPDATE " . PREFIX . "_users\r\n\t\t\t\t\tSET user_group = '" . $user_group_id . "'\r\n\t\t\t\t\tWHERE Id = '" . $user_id . "'\r\n\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - Изменил группу для пользователя (' . $user_id . ')', 2, 2); } } header('Location:index.php?do=user&cp=' . SESSION); exit; }
// Завершение работы в админке reportLog($_SESSION['user_name'] . ' - закончил сеанс в Панели управления', 2, 2); @session_destroy(); header('Location:admin.php'); } //// Если в сессии нет темы оформления или языка //// и в запросе нет действия - отправляем на форму авторизации //if (!isset($_REQUEST['action']) && // (!isset($_SESSION['admin_theme']) || !isset($_SESSION['admin_language']))) //{ // $AVE_Template->display('login.tpl'); // exit; //} if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'login') { // Авторизация if (!empty($_POST['user_login']) && !empty($_POST['user_pass'])) { if (true === user_login($_POST['user_login'], $_POST['user_pass'], 1)) { if (!empty($_SESSION['redirectlink'])) { header('Location:' . $_SESSION['redirectlink']); unset($_SESSION['redirectlink']); exit; } reportLog($_SESSION['user_name'] . ' - начал сеанс в Панели управления', 2, 2); header('Location:index.php'); exit; } reportLog('Ошибка при входе в Панель управления - ' . stripslashes($_POST['user_login']) . ' / ' . stripslashes($_POST['user_pass']), 2, 2); unset($_SESSION['user_id'], $_SESSION['user_pass']); } } $AVE_Template->display('login.tpl');
/** * Метод, предназначенный для удаления контактной формы * * @param int $contact_form_id идентификатор формы */ function contactFormDelete($contact_form_id) { global $AVE_DB; // Выполняем запрос к БД на удаление общей информации о контактной форме $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_contacts\r\n\t\t\tWHERE Id = '" . $contact_form_id . "'\r\n\t\t"); // Выполняем запрос к БД на удаление полей, относящихся к данной контактной форме $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_contact_fields\r\n\t\t\tWHERE contact_form_id = '" . $contact_form_id . "'\r\n\t\t"); // Получаем список всех прикрепленных файлов у сообщений, относящихся к данной контактной форме $row = $AVE_DB->Query("\r\n\t\t\tSELECT\r\n\t\t\t\tcontact_form_in_attachment,\r\n\t\t\t\tcontact_form_out_attachment\r\n\t\t\tFROM " . PREFIX . "_modul_contact_info\r\n\t\t\tWHERE contact_form_id = '" . $contact_form_id . "'\r\n\t\t")->FetchRow(); // Удаляем все прикрепленные сообщения из папки /attachments для входящих писем if ($row->contact_form_in_attachment != '') { $del = explode(';', $row->contact_form_in_attachment); foreach ($del as $delfile) { @unlink(BASE_DIR . '/attachments/' . $delfile); } } // Удаляем все прикрепленные сообщения из папки /attachments для исходящих писем if ($row->contact_form_out_attachment != '') { $del = explode(';', $row->contact_form_out_attachment); foreach ($del as $delfile) { @unlink(BASE_DIR . '/attachments/' . $delfile); } } // Удаляем все сообщения, относящиеся к данной контактной форме $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_contact_info\r\n\t\t\tWHERE contact_form_id = '" . $contact_form_id . "'\r\n\t\t"); // Сохраняем системное сообщние reportLog($_SESSION['user_name'] . ' - удалил контактную форму (id=' . $contact_form_id . ')', 2, 2); // Выполняем обновление страницы header('Location:index.php?do=modules&action=modedit&mod=contact&moduleaction=1&cp=' . SESSION); exit; }
function checkOut() { global $AVE_DB, $AVE_Template; if (!isset($_SESSION['Product']) || count($_SESSION['Product']) < 1) { header('Location:' . $this->_shopRewrite($this->_link_start)); exit; } $checkoutinfo = false; $orderok = false; // Formular auf fehlende Angaben ьberprьfen if (isset($_REQUEST['send']) && $_REQUEST['send'] == 1) { $errors = array(); if (empty($_POST['billing_firstname'])) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoFirstName']); } if (empty($_POST['billing_lastname'])) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoLastName']); } if (empty($_POST['billing_street'])) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoStreet']); } if (empty($_POST['billing_streetnumber'])) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoStreetNr']); } if (empty($_POST['billing_zip']) || !preg_match('/^[0-9]{5}$/', $_POST['billing_zip']) && $_POST['country'] == 'DE') { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoZip']); } if (empty($_POST['billing_town'])) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoTown']); } $regex_email = '/^[\\w.-]+@[a-z0-9.-]+\\.(?:[a-z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$/i'; if (empty($_POST['OrderEmail']) || !@preg_match($regex_email, chop($_POST['OrderEmail']))) { array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoEmail']); } // if (empty($_POST['OrderPhone'])) array_push($errors, $GLOBALS['mod']['config_vars']['Errors_NoOrderPhone']); // Formularwerte in Session schreiben if (isset($_POST['OrderEmail'])) { $_SESSION['OrderEmail'] = chop($_POST['OrderEmail']); } if (isset($_POST['OrderPhone'])) { $_SESSION['OrderPhone'] = $_POST['OrderPhone']; } if (isset($_POST['billing_company'])) { $_SESSION['billing_company'] = stripslashes($_POST['billing_company']); } if (isset($_POST['billing_company_reciever'])) { $_SESSION['billing_company_reciever'] = stripslashes($_POST['billing_company_reciever']); } if (isset($_POST['billing_firstname'])) { $_SESSION['billing_firstname'] = stripslashes($_POST['billing_firstname']); } if (isset($_POST['billing_lastname'])) { $_SESSION['billing_lastname'] = stripslashes($_POST['billing_lastname']); } if (isset($_POST['billing_street'])) { $_SESSION['billing_street'] = stripslashes($_POST['billing_street']); } if (isset($_POST['billing_streetnumber'])) { $_SESSION['billing_streetnumber'] = stripslashes($_POST['billing_streetnumber']); } if (isset($_POST['billing_zip'])) { $_SESSION['billing_zip'] = stripslashes($_POST['billing_zip']); } if (isset($_POST['billing_town'])) { $_SESSION['billing_town'] = stripslashes($_POST['billing_town']); } if (isset($_POST['country'])) { $_SESSION['billing_country'] = stripslashes($_POST['country']); } // Formularwerte (Rechnungsadresse) if (isset($_POST['shipping_company'])) { $_SESSION['shipping_company'] = stripslashes($_POST['shipping_company']); } if (isset($_POST['shipping_company_reciever'])) { $_SESSION['shipping_company_reciever'] = stripslashes($_POST['shipping_company_reciever']); } if (isset($_POST['shipping_firstname'])) { $_SESSION['shipping_firstname'] = stripslashes($_POST['shipping_firstname']); } if (isset($_POST['shipping_lastname'])) { $_SESSION['shipping_lastname'] = stripslashes($_POST['shipping_lastname']); } if (isset($_POST['shipping_street'])) { $_SESSION['shipping_street'] = stripslashes($_POST['shipping_street']); } if (isset($_POST['shipping_streetnumber'])) { $_SESSION['shipping_streetnumber'] = stripslashes($_POST['shipping_streetnumber']); } if (isset($_POST['shipping_zip'])) { $_SESSION['shipping_zip'] = stripslashes($_POST['shipping_zip']); } if (isset($_POST['shipping_city'])) { $_SESSION['shipping_city'] = stripslashes($_POST['shipping_city']); } // Es sind Fehler vorhanden. Benutzer wird zurьck geleitet! if (count($errors) > 0) { $errors = str_replace('+', '_', urlencode(base64_encode(serialize($errors)))); header('Location:' . $this->_link_create_account . $_REQUEST['create_account'] . '&errors=' . $errors); exit; } } // Wenn kein Artikel im Warenkorb liegt, zum Shop weiterleiten if (!isset($_SESSION['Product'])) { header('Location:' . $this->_shopRewrite($this->_link_start)); exit; } // Alles ausgefьllt... if (isset($_REQUEST['zusammenfassung']) && $_REQUEST['zusammenfassung'] == 1) { if (!empty($_SESSION['ShipperId']) && !empty($_SESSION['PaymentId'])) { // Bestellung zusammenfassen udn weiterleiten... $checkoutinfo = true; } else { header('Location:' . $this->_shopRewrite($this->_link_start)); exit; } } $this->_globalProductInfo(); $create_account = true; if (!empty($_REQUEST['ShipperId'])) { $_SESSION['ShipperId'] = $_REQUEST['ShipperId']; } if (isset($_REQUEST['create_account']) && $_REQUEST['create_account'] == 'no') { $create_account = false; } if (!isset($_SESSION['user_id']) && $create_account == true) { if (isset($_POST['do']) && $_POST['do'] == 'login') { $this->_loginProcess(); } $tpl_out = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_checkout_tpl); $tpl_out = $this->_shopRewrite($tpl_out); define('MODULE_CONTENT', $tpl_out); define('MODULE_SITE', $GLOBALS['mod']['config_vars']['PageName'] . $GLOBALS['mod']['config_vars']['PageSep'] . $GLOBALS['mod']['config_vars']['ShopPaySite']); } else { //======================================================= // Liefer & Versandadresse //======================================================= if (!empty($_POST['country'])) { $AVE_Template->assign('showShipper', $this->_showShipper($_POST['country'])); $_SESSION['IsShipper'] = 1; } if (isset($_SESSION['ShipperId'])) { $_POST['ShipperId'] = $_SESSION['ShipperId']; } if (!empty($_POST['ShipperId'])) { $_SESSION['ShipperId'] = $_POST['ShipperId'][0]; $sql_su = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT\r\n\t\t\t\t\t\tKeineKosten,\r\n\t\t\t\t\t\tPauschalkosten\r\n\t\t\t\t\tFROM " . PREFIX . "_modul_shop_versandarten\r\n\t\t\t\t\tWHERE Id = '" . $_SESSION['ShipperId'] . "'\r\n\t\t\t\t"); $row_su = $sql_su->FetchRow(); $VersFrei = $this->_getShopSetting('VersFrei'); $VersFreiBetrag = $this->_getShopSetting('VersFreiBetrag'); //@$_SESSION['BasketSumm'] = ($VersFrei == 1 && $_SESSION['BasketSumm'] >= $VersFreiBetrag) ? '0.00' : ($row_su->KeineKosten != 1 && $row_su->Pauschalkosten > 0) ? $_SESSION['BasketSumm'] + $row_su->Pauschalkosten : $_SESSION['BasketSumm'] = $_SESSION['BasketSumm'] + $this->_shipperSumm(@$_POST['country'],$_SESSION['ShipperId']); // Endsumme if ($VersFrei == 1 && $_SESSION['BasketSumm'] >= $VersFreiBetrag) { // @$_SESSION['BasketSumm'] = @$_SESSION['BasketSumm']; } elseif ($row_su->KeineKosten != 1 && $row_su->Pauschalkosten > 0) { // Pauschale Versandkosten @($_SESSION['BasketSumm'] += $row_su->Pauschalkosten); } else { @($_SESSION['BasketSumm'] += $this->_shipperSumm(@$_POST['country'], $_SESSION['ShipperId'])); } if ($VersFrei == 1 && $_SESSION['BasketSumm'] >= $VersFreiBetrag) { @($_SESSION['ShippingSumm'] = 0); } elseif ($row_su->KeineKosten != 1 && $row_su->Pauschalkosten > 0) { @($_SESSION['ShippingSumm'] = $row_su->Pauschalkosten); } else { @($_SESSION['ShippingSumm'] = $this->_shipperSumm(@$_POST['country'], $_SESSION['ShipperId'])); } @($_SESSION['ShippingSummOut'] = @$_SESSION['ShippingSumm']); } // Preisberechnung if (!isset($_POST['PaymentId']) && isset($_SESSION['PaymentId'])) { $_POST['PaymentId'][0] = $_SESSION['PaymentId']; } if (!empty($_POST['PaymentId'])) { $_SESSION['PaymentId'] = $_POST['PaymentId'][0]; $row = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT\r\n\t\t\t\t\t\tKosten,\r\n\t\t\t\t\t\tKostenOperant\r\n\t\t\t\t\tFROM " . PREFIX . "_modul_shop_zahlungsmethoden\r\n\t\t\t\t\tWHERE Id = '" . $_SESSION['PaymentId'] . "'\r\n\t\t\t\t")->FetchRow(); $Kosten = $_SESSION['BasketSumm']; $PluMin = mb_substr($row->Kosten, 0, 1); switch ($PluMin) { case '-': $row->Kosten = str_replace('-', '', $row->Kosten); $Kosten = $row->KostenOperant == '%' ? $_SESSION['BasketSumm'] - $_SESSION['BasketSumm'] / 100 * $row->Kosten : $_SESSION['BasketSumm'] - $row->Kosten; $KostenZahlungOp = $row->KostenOperant == '%' ? '%' : $this->_getShopSetting('WaehrungSymbol'); $_SESSION['KostenZahlung'] = '- ' . $row->Kosten . ' ' . $KostenZahlungOp; $_SESSION['KostenZahlungOut'] = $row->KostenOperant == '%' ? $row->Kosten : $row->Kosten; $_SESSION['KostenZahlungPM'] = '-'; break; case '': case '+': default: $row->Kosten = str_replace('+', '', $row->Kosten); $Kosten = $row->KostenOperant == '%' ? $_SESSION['BasketSumm'] + $_SESSION['BasketSumm'] / 100 * $row->Kosten : $_SESSION['BasketSumm'] + $row->Kosten; $KostenZahlungOp = $row->KostenOperant == '%' ? '%' : $this->_getShopSetting('WaehrungSymbol'); $_SESSION['KostenZahlung'] = $row->Kosten . ' ' . $KostenZahlungOp; $_SESSION['KostenZahlungOut'] = $row->KostenOperant == '%' ? $row->Kosten : $row->Kosten; $_SESSION['KostenZahlungPM'] = '+'; break; } $_SESSION['BasketSumm'] = $Kosten; $_SESSION['KostenZahlungSymbol'] = $KostenZahlungOp; } if (!empty($_SESSION['user_id'])) { $row = $AVE_DB->Query("\r\n\t\t\t\t\tSELECT *\r\n\t\t\t\t\tFROM " . PREFIX . "_users\r\n\t\t\t\t\tWHERE Id = '" . $_SESSION['user_id'] . "'\r\n\t\t\t\t")->FetchRow(); $AVE_Template->assign('row', $row); } $AVE_Template->assign('shippingCountries', explode(',', $this->_getShopSetting('VersandLaender'))); $AVE_Template->assign('Endsumme', $_SESSION['BasketSumm']); $AVE_Template->assign('available_countries', get_country_list(1)); $AVE_Template->assign('PaymentMethods', $this->_showPaymentMethods()); if (!empty($_REQUEST['errors'])) { $AVE_Template->assign('errors', unserialize(base64_decode(str_replace('_', '+', $_REQUEST['errors'])))); } // Zusammenfassung if ($checkoutinfo == true) { // Проверка принятия лицензионного соглашения if (isset($_REQUEST['sendorder']) && $_REQUEST['sendorder'] == 1 && isset($_REQUEST['agb_accept']) && $_REQUEST['agb_accept'] == 1) { $orderok = true; } else { $AVE_Template->assign('NoAGB', 1); $orderok = false; } // Отказ от использования куппона на скидку if (isset($_POST['couponcode_del']) && $_POST['couponcode_del'] == 1 && $this->_getShopSetting('GutscheinCodes') == 1) { unset($_SESSION['CouponCode']); unset($_SESSION['CouponCodeId']); $AVE_Template->assign('NoAGB', 0); } // Обработка введённого номера куппона на скидку if (!empty($_REQUEST['couponcode']) && $this->_getShopSetting('GutscheinCodes') == 1) { $use_coupon = true; $row_cc = $AVE_DB->Query("\r\n\t\t\t\t\t\tSELECT *\r\n\t\t\t\t\t\tFROM " . PREFIX . "_modul_shop_gutscheine\r\n\t\t\t\t\t\tWHERE Code = '" . chop($_POST['couponcode']) . "'\r\n\t\t\t\t\t")->FetchRow(); if (is_object($row_cc) && $row_cc->Prozent != '' && $row_cc->Prozent < 100) { $Benutzer = explode(',', $row_cc->Benutzer); if (!empty($_SESSION['user_id']) && in_array($_SESSION['user_id'], $Benutzer)) { $use_coupon = false; } if ($_SESSION['user_group'] == 2 && $row_cc->AlleBenutzer != 1) { $use_coupon = false; } if ($row_cc->GueltigVon > time()) { $use_coupon = false; } if ($row_cc->GueltigBis < time()) { $use_coupon = false; } if ($use_coupon == true) { $_SESSION['CouponCode'] = $row_cc->Prozent; $_SESSION['CouponCodeId'] = $row_cc->Id; $_SESSION['BasketSumm'] = $_SESSION['BasketSumm'] - $_SESSION['Zwisumm'] / 100 * $row_cc->Prozent; } } $AVE_Template->assign('NoAGB', 0); } $AVE_Template->assign('AGB', $this->_getShopSetting('Agb')); $AVE_Template->assign('step', 2); $AVE_Template->assign('ShipperName', $this->_fetchShipper($_SESSION['ShipperId'])); $AVE_Template->assign('PaymentMethod', $this->_showPaymentMethod($_SESSION['PaymentId'])); $AVE_Template->assign('PaymentOverall', $_SESSION['BasketSumm']); $AVE_Template->assign('PaymentOverall2', defined('Waehrung2Multi') ? $_SESSION['BasketSumm'] * @Waehrung2Multi : ''); if ($orderok == true) { $EmpEmail = $this->_getShopSetting('EmpEmail'); if ($EmpEmail == '') { $EmpEmail = get_settings('mail_from'); if ($EmpEmail == '') { reportLog($GLOBALS['mod']['config_vars']['EmpEmailNotSet']); } else { reportLog($GLOBALS['mod']['config_vars']['EmpEmailEmpty']); } } $AbsEmail = $this->_getShopSetting('AbsEmail'); if ($AbsEmail == '') { reportLog($GLOBALS['mod']['config_vars']['AbsEmailEmpty']); } $AbsName = $this->_getShopSetting('AbsName'); if ($AbsName == '') { reportLog($GLOBALS['mod']['config_vars']['FromNameEmpty']); } // $transId = 'CPE_' . $this->_transId(12) . '_' . date('dmy'); $transId = $this->_transId() . date('dmy'); $_SESSION['TransId'] = $transId; //echo $_REQUEST['create_account']; $AVE_DB->Query("\r\n\t\t\t\t\t\tINSERT INTO " . PREFIX . "_modul_shop_bestellungen\r\n\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\tBenutzer = '" . (isset($_SESSION['user_id']) ? $_SESSION['user_id'] : $_SESSION['OrderEmail']) . "',\r\n\t\t\t\t\t\t\tTransId = '" . $transId . "',\r\n\t\t\t\t\t\t\tDatum = '" . time() . "',\r\n\t\t\t\t\t\t\tGesamt = '" . str_replace(',', '.', $_SESSION['BasketSumm']) . "',\r\n\t\t\t\t\t\t\tUSt = '',\r\n\t\t\t\t\t\t\tArtikel = '" . (!empty($_SESSION['Product']) ? serialize($_SESSION['Product']) : '') . "',\r\n\t\t\t\t\t\t\tArtikel_Vars = '" . (!empty($_SESSION['ProductVar']) ? serialize($_SESSION['ProductVar']) : '') . "',\r\n\t\t\t\t\t\t\tRechnungText = '',\r\n\t\t\t\t\t\t\tRechnungHtml = '',\r\n\t\t\t\t\t\t\tNachrichtBenutzer = '" . nl2br($_POST['Msg']) . "',\r\n\t\t\t\t\t\t\tIp = '" . $_SERVER['REMOTE_ADDR'] . "',\r\n\t\t\t\t\t\t\tZahlungsId = '" . $_SESSION['PaymentId'] . "',\r\n\t\t\t\t\t\t\tVersandId = '" . $_SESSION['ShipperId'] . "',\r\n\t\t\t\t\t\t\tKamVon = '" . (isset($_SESSION['Referer']) ? $_SESSION['Referer'] : '') . "',\r\n\t\t\t\t\t\t\tGutscheincode = '" . (isset($_SESSION['CouponCodeId']) ? $_SESSION['CouponCodeId'] : '') . "',\r\n\t\t\t\t\t\t\tBestell_Email = '" . $_SESSION['OrderEmail'] . "',\r\n\t\t\t\t\t\t\tLiefer_Firma = '" . addslashes(isset($_SESSION['billing_company']) ? $_SESSION['billing_company'] : '') . "',\r\n\t\t\t\t\t\t\tLiefer_Abteilung = '" . addslashes(isset($_SESSION['billing_company_reciever']) ? $_SESSION['billing_company_reciever'] : '') . "',\r\n\t\t\t\t\t\t\tLiefer_Vorname = '" . addslashes($_SESSION['billing_firstname']) . "',\r\n\t\t\t\t\t\t\tLiefer_Nachname = '" . addslashes($_SESSION['billing_lastname']) . "',\r\n\t\t\t\t\t\t\tLiefer_Strasse = '" . addslashes($_SESSION['billing_street']) . "',\r\n\t\t\t\t\t\t\tLiefer_Hnr = '" . addslashes($_SESSION['billing_streetnumber']) . "',\r\n\t\t\t\t\t\t\tLiefer_PLZ = '" . addslashes($_SESSION['billing_zip']) . "',\r\n\t\t\t\t\t\t\tLiefer_Ort = '" . addslashes($_SESSION['billing_town']) . "',\r\n\t\t\t\t\t\t\tLiefer_Land = '" . (!empty($_POST['country']) ? $_POST['country'] : '') . "',\r\n\t\t\t\t\t\t\tRech_Firma = '" . addslashes(!empty($_SESSION['shipping_company']) ? $_SESSION['shipping_company'] : (!empty($_SESSION['billing_company']) ? $_SESSION['billing_company'] : '')) . "',\r\n\t\t\t\t\t\t\tRech_Abteilung = '" . addslashes(!empty($_SESSION['shipping_company_reciever']) ? $_SESSION['shipping_company_reciever'] : (!empty($_SESSION['billing_company_reciever']) ? $_SESSION['billing_company_reciever'] : '')) . "',\r\n\t\t\t\t\t\t\tRech_Vorname = '" . addslashes(!empty($_SESSION['shipping_firstname']) ? $_SESSION['shipping_firstname'] : $_SESSION['billing_firstname']) . "',\r\n\t\t\t\t\t\t\tRech_Nachname = '" . addslashes(!empty($_SESSION['shipping_lastname']) ? $_SESSION['shipping_lastname'] : $_SESSION['billing_lastname']) . "',\r\n\t\t\t\t\t\t\tRech_Strasse = '" . addslashes(!empty($_SESSION['shipping_street']) ? $_SESSION['shipping_street'] : $_SESSION['billing_street']) . "',\r\n\t\t\t\t\t\t\tRech_Hnr = '" . addslashes(!empty($_SESSION['shipping_streetnumber']) ? $_SESSION['shipping_streetnumber'] : $_SESSION['billing_streetnumber']) . "',\r\n\t\t\t\t\t\t\tRech_PLZ = '" . addslashes(!empty($_SESSION['shipping_zip']) ? $_SESSION['shipping_zip'] : $_SESSION['billing_zip']) . "',\r\n\t\t\t\t\t\t\tRech_Ort = '" . addslashes(!empty($_SESSION['shipping_city']) ? $_SESSION['shipping_city'] : $_SESSION['billing_town']) . "',\r\n\t\t\t\t\t\t\tRech_Land = '" . (!empty($_POST['RLand']) ? $_POST['RLand'] : '') . "'\r\n\t\t\t\t\t"); $OrderId = $AVE_DB->insertid(); // TransId in Gutscheine eintragen if (!empty($_SESSION['CouponCode'])) { $row_cc = $AVE_DB->Query("\r\n\t\t\t\t\t\t\tSELECT *\r\n\t\t\t\t\t\t\tFROM " . PREFIX . "_modul_shop_gutscheine\r\n\t\t\t\t\t\t\tWHERE Id = '" . $_SESSION['CouponCodeId'] . "'\r\n\t\t\t\t\t\t")->FetchRow(); $AVE_DB->Query("\r\n\t\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_shop_gutscheine\r\n\t\t\t\t\t\t\tSET BestellId = CONCAT(BestellId, ',', '" . $OrderId . "')\r\n\t\t\t\t\t\t\tWHERE Id = '" . $_SESSION['CouponCodeId'] . "'\r\n\t\t\t\t\t\t"); if (!empty($_SESSION['user_id'])) { $AVE_DB->Query("\r\n\t\t\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_shop_gutscheine\r\n\t\t\t\t\t\t\t\tSET Benutzer = CONCAT(Benutzer, ',', '" . $_SESSION['user_id'] . "')\r\n\t\t\t\t\t\t\t\tWHERE Id = '" . $_SESSION['CouponCodeId'] . "'\r\n\t\t\t\t\t\t\t"); } if ($row_cc->Mehrfach != 1) { $AVE_DB->Query("\r\n\t\t\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_shop_gutscheine\r\n\t\t\t\t\t\t\t\tSET Eingeloest = 1\r\n\t\t\t\t\t\t\t\tWHERE Id = '" . $_SESSION['CouponCodeId'] . "'\r\n\t\t\t\t\t\t\t"); } } // Anzahl der Kдufe im Artikel erhцhen $arr = $_SESSION['Product']; foreach ($arr as $key => $value) { $AVE_DB->Query("\r\n\t\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_shop_artikel\r\n\t\t\t\t\t\t\tSET Bestellungen = Bestellungen+" . $value . "\r\n\t\t\t\t\t\t\tWHERE Id = '" . $key . "'\r\n\t\t\t\t\t\t"); } $AVE_Template->assign('PaymentText', $this->_getShopSetting('EmailFormat') == 'html' ? $this->_getPaymentText($_SESSION['PaymentId']) : strip_tags($this->_getPaymentText($_SESSION['PaymentId']))); $AVE_Template->assign('TransCode', $transId); $AVE_Template->assign('CompanyHeadText', $this->_getShopSetting('AdresseText')); $AVE_Template->assign('CompanyHeadHtml', $this->_getShopSetting('AdresseHTML')); $AVE_Template->assign('CompanyLogo', $this->_getShopSetting('Logo')); $AVE_Template->assign('OrderId', $OrderId); $AVE_Template->assign('OrderTime', time()); $AVE_Template->assign('VatZones', $this->_showVatZones()); // формируем тексты копии заказа в форматах HTML и Text $mail_html = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_orderconfirm_html_tpl); $mail_text = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_orderconfirm_text_tpl); $mail_text = $this->_textReplace($mail_text); $AVE_Template->assign('innerhtml', htmlspecialchars($mail_html)); $BetreffBest = $this->_getShopSetting('BetreffBest'); // Отправка копии заказа адинистратору и клиенту // в выбранном формате (Text или HTML) if ($this->_getShopSetting('EmailFormat') == 'html') { send_mail($EmpEmail, $mail_html, $BetreffBest, $AbsEmail, $AbsName, 'html'); send_mail($_SESSION['OrderEmail'], $mail_html, $BetreffBest, $AbsEmail, $AbsName, 'html'); } else { send_mail($EmpEmail, $mail_text, $BetreffBest, $AbsEmail, $AbsName, 'text'); send_mail($_SESSION['OrderEmail'], $mail_text, $BetreffBest, $AbsEmail, $AbsName, 'text'); } // Сохраняем текст копии заказа в форматах HTML и Text $AVE_DB->Query("\r\n\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_shop_bestellungen\r\n\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\tRechnungHtml = '" . addslashes($mail_html) . "',\r\n\t\t\t\t\t\t\tRechnungText = '" . addslashes($mail_text) . "'\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\tId = '" . $OrderId . "'\r\n\t\t\t\t\t"); // Gibt es ein Zahlunsg - Gateway? $row_gw = $AVE_DB->Query("\r\n\t\t\t\t\t\tSELECT *\r\n\t\t\t\t\t\tFROM " . PREFIX . "_modul_shop_zahlungsmethoden\r\n\t\t\t\t\t\tWHERE status = '1'\r\n\t\t\t\t\t\tAND Id = '" . $_SESSION['PaymentId'] . "'\r\n\t\t\t\t\t")->FetchRow(); if (is_object($row_gw) && $row_gw->Extern == 1) { $Waehrung = $this->_getShopSetting('Waehrung'); define('GATEWAY', BASE_DIR . '/modules/shop/gateways/' . $row_gw->Gateway . '.php'); if (file_exists(GATEWAY) && @(include GATEWAY)) { exit; } } // Wenn es keinen Zahlungs - Gateway gibt, Bestдtigungs - Seite anzeigen unset($_SESSION['Zwisumm']); unset($_SESSION['BasketSumm']); unset($_SESSION['BasketOverall']); unset($_SESSION['ShippingSummOut']); unset($_SESSION['ShippingSumm']); unset($_SESSION['ShipperId']); unset($_SESSION['IsShipper']); unset($_SESSION['Product']); unset($_SESSION['VatInc']); unset($_SESSION['GewichtSumm']); unset($_SESSION['PaymentId']); unset($_SESSION['CouponCode']); unset($_SESSION['CouponCodeId']); unset($_SESSION['KostenZahlung']); unset($_SESSION['KostenZahlungOut']); $AVE_Template->assign('step', 3); $tpl_out = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_confirm_thankyou_tpl); $tpl_out = $this->_shopRewrite($tpl_out); define('MODULE_CONTENT', $tpl_out); define('MODULE_SITE', $GLOBALS['mod']['config_vars']['PageName'] . $GLOBALS['mod']['config_vars']['PageSep'] . $GLOBALS['mod']['config_vars']['ShopPaySite']); } else { if (empty($_SESSION['ShipperId'])) { header('Location:' . $this->_link_create_account . 'no'); exit; } if ($this->_getShopSetting('GutscheinCodes') == 1) { $AVE_Template->assign('couponcodes', 1); } $AVE_Template->assign('VatZones', $this->_showVatZones()); $tpl_out = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_checkoutinfo_tpl); $tpl_out = $this->_shopRewrite($tpl_out); define('MODULE_CONTENT', $tpl_out); define('MODULE_SITE', $GLOBALS['mod']['config_vars']['PageName'] . $GLOBALS['mod']['config_vars']['PageSep'] . $GLOBALS['mod']['config_vars']['ShopPaySite']); } } else { if (!isset($_SESSION['user_id']) && GastBestellung != 1) { header('Location:' . $this->_shopRewrite($this->_link_checkout)); exit; } $AVE_Template->assign('step', 1); $tpl_out = $AVE_Template->fetch($GLOBALS['mod']['tpl_dir'] . $this->_shop_billing_tpl); $tpl_out = $this->_shopRewrite($tpl_out); define('MODULE_CONTENT', $tpl_out); define('MODULE_SITE', $GLOBALS['mod']['config_vars']['PageName'] . $GLOBALS['mod']['config_vars']['PageSep'] . $GLOBALS['mod']['config_vars']['ShopPaySite']); } } }
/** * Метод удаления опроса * * @param int $pid идентификатор опроса */ function pollDelete($pid) { global $AVE_DB; $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_poll\r\n\t\t\tWHERE id = '" . $pid . "'\r\n\t\t"); $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_poll_items\r\n\t\t\tWHERE poll_id = '" . $pid . "'\r\n\t\t"); $AVE_DB->Query("\r\n\t\t\tDELETE\r\n\t\t\tFROM " . PREFIX . "_modul_poll_comments\r\n\t\t\tWHERE poll_id = '" . $pid . "'\r\n\t\t"); reportLog($_SESSION['user_name'] . ' - удалил опрос (' . $pid . ')', 2, 2); header('Location:index.php?do=modules&action=modedit&mod=poll&moduleaction=1&cp=' . SESSION); exit; }
function update($tpl_dir) { global $AVE_DB, $AVE_Template; $files = array("/class.forums.php", "/internals/last24.php", "/internals/pn.php", "/internals/search.php", "/internals/showabos.php", "/internals/showforum.php", "/internals/showtopic.php", "/internals/userlist.php", "/templates/categs.tpl", "/templates/ignorelist.tpl", "/templates/showpost.tpl", "/templates/showposter.tpl", "/templates/stats_forums.tpl", "/templates/userpanel_forums.tpl", "/templates/userprofile.tpl"); switch ($_REQUEST['sub']) { default: $error = array(); foreach ($files as $i) { if (!is_writable(BASE_DIR . "/modules/forums" . $i)) { array_push($error, $i); } } if (count($error) > 0) { $AVE_Template->assign("error", $error); } else { $AVE_Template->assign("error", 0); $AVE_Template->assign("files", $files); } $AVE_Template->assign("formaction", "index.php?do=modules&action=modedit&mod=userpage&moduleaction=update&sub=start&cp=" . SESSION); $AVE_Template->assign("content", $AVE_Template->fetch($tpl_dir . "admin_update.tpl")); break; case 'start': foreach ($files as $i) { $content = file_get_contents(BASE_DIR . "/modules/forums" . $i); $content = str_replace("index.php?module=forums&show=userprofile&user_id=", "index.php?module=userpage&action=show&uid=", $content); // Для отмены обновления форума закоментировать предыдущую строку и раскоментировать следующую строку // $content = str_replace ("index.php?module=userpage&action=show&uid=", "index.php?module=forums&show=userprofile&user_id=", $content); if ($i == "/templates/userpanel_forums.tpl") { $content = str_replace("index.php?module=forums&show=publicprofile", "index.php?module=userpage&action=change", $content); // Для отмены обновления форума закоментировать предыдущую строку и раскоментировать следующую строку // $content = str_replace ("index.php?module=userpage&action=change", "index.php?module=forums&show=publicprofile", $content); } $write = fopen(BASE_DIR . "/modules/forums" . $i, "wb"); fwrite($write, $content); fclose($write); } reportLog($_SESSION['user_name'] . " - обновил файлы модуля Форум", '2', '2'); header("Location:index.php?do=modules&action=modedit&mod=userpage&moduleaction=update&ok=1&cp=" . SESSION); } }
function bannerCategory($tpl_dir) { global $AVE_DB, $AVE_Template; switch ($_REQUEST['sub']) { case '': $AVE_Template->assign('mod_path', BANNER_DIR); $AVE_Template->assign('categories', $this->_bannerCategoryGet()); $AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'kategs.tpl')); break; case 'save': foreach ($_POST['banner_category_name'] as $banner_category_id => $banner_category_name) { if (!empty($banner_category_name)) { $AVE_DB->Query("\r\n\t\t\t\t\t\t\tUPDATE " . PREFIX . "_modul_banner_categories\r\n\t\t\t\t\t\t\tSET banner_category_name = '" . $banner_category_name . "'\r\n\t\t\t\t\t\t\tWHERE Id = '" . $banner_category_id . "'\r\n\t\t\t\t\t\t"); } } foreach ($_POST['del'] as $banner_category_id => $del) { $AVE_DB->Query("\r\n\t\t\t\t\t\tDELETE\r\n\t\t\t\t\t\tFROM " . PREFIX . "_modul_banners\r\n\t\t\t\t\t\tWHERE banner_category_id = '" . $banner_category_id . "'\r\n\t\t\t\t\t"); $AVE_DB->Query("\r\n\t\t\t\t\t\tDELETE\r\n\t\t\t\t\t\tFROM " . PREFIX . "_modul_banner_categories\r\n\t\t\t\t\t\tWHERE Id = '" . $banner_category_id . "'\r\n\t\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - удалил категорию баннеров (' . $banner_category_id . ')', 2, 2); } header('Location:index.php?do=modules&action=modedit&mod=' . BANNER_DIR . '&moduleaction=category&cp=' . SESSION); exit; case 'new': if (!empty($_REQUEST['banner_category_name'])) { $sql = $AVE_DB->Query("\r\n\t\t\t\t\t\tINSERT\r\n\t\t\t\t\t\tINTO " . PREFIX . "_modul_banner_categories\r\n\t\t\t\t\t\tSET banner_category_name = '" . $_REQUEST['banner_category_name'] . "'\r\n\t\t\t\t\t"); reportLog($_SESSION['user_name'] . ' - добавил новую категорию (' . stripslashes($_REQUEST['banner_category_name']) . ')', 2, 2); } header('Location:index.php?do=modules&action=modedit&mod=' . BANNER_DIR . '&moduleaction=category&cp=' . SESSION); exit; } }
/** * Метод, предназначенный для публикации или отмены публикации документа * * @param int $document_id идентификатор Документа * @param string $openclose статус Документа {open|close} */ function documentStatusSet($document_id, $openclose = 0) { global $AVE_DB; // Выполняем запрос к БД на получение id автора документа, чтобы проверить уровень прав доступа $row = $AVE_DB->Query("\n\t\t\tSELECT\n\t\t\t\trubric_id,\n\t\t\t\tdocument_author_id\n\t\t\tFROM " . PREFIX . "_documents\n\t\t\tWHERE Id = '" . $document_id . "'\n\t\t")->FetchRow(); // Проверем, чтобы у пользователя было достаточно прав на выполнение данной операции if ($row->document_author_id == @$_SESSION['user_id'] && (isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] == 1) || @$_SESSION[$row->rubric_id . '_alles'] == 1 || UGROUP == 1) { // Если это не главная страница и не страница с 404 ошибкой if ($document_id != 1 && $document_id != PAGE_NOT_FOUND_ID) { // Выполянем запрос к БД на смену статуса у документа $AVE_DB->Query("\n\t\t\t\t\tUPDATE " . PREFIX . "_documents\n\t\t\t\t\tSET document_status = '" . $openclose . "'\n\t\t\t\t\tWHERE Id = '" . $document_id . "'\n\t\t\t\t"); $AVE_DB->clearcache('rub_' . $row->rubric_id); $AVE_DB->clearcache('doc_' . $document_id); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - ' . ($openclose == 1 ? 'активировал' : 'деактивировал') . ' документ (' . $document_id . ')', 2, 2); } } $AVE_DB->clearcache('rub_' . $row->rubric_id); $AVE_DB->clearcache('doc_' . $document_id); // Выполняем обновление страницы header('Location:index.php?do=docs&cp=' . SESSION); exit; }