コード例 #1
0
ファイル: class.modules.php プロジェクト: laiello/avecms
 /**
  * Метод, предназанченный для удаление модуля
  *
  */
 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;
 }
コード例 #2
0
ファイル: class.rubs.php プロジェクト: laiello/avecms
 /**
  * Редактирование шаблона рубрики
  *
  * @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);
     }
 }
コード例 #3
0
ファイル: func.common.php プロジェクト: laiello/avecms
/**
 * Отправка 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();
}
コード例 #4
0
ファイル: class.settings.php プロジェクト: laiello/avecms
 /**
  * Метод записи настроек
  *
  */
 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);
 }
コード例 #5
0
ファイル: class.logs.php プロジェクト: RGBvision/AVE.cms
 /**
  * Метод, предназначенный для экспорта сообщений 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;
 }
コード例 #6
0
ファイル: templates.php プロジェクト: RGBvision/AVE.cms
        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;
}
コード例 #7
0
ファイル: class.modules.php プロジェクト: RGBvision/AVE.cms
 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;
 }
コード例 #8
0
ファイル: browser.php プロジェクト: RGBvision/AVE.cms
                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);
コード例 #9
0
ファイル: class.sysblocks.php プロジェクト: RGBvision/AVE.cms
 /**
  * Удаление системного блока
  *
  * @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);
 }
コード例 #10
0
ファイル: class.template.php プロジェクト: laiello/avecms
 /**
  * Метод удаления кэша запросов
  *
  */
 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);
 }
コード例 #11
0
ファイル: class.request.php プロジェクト: laiello/avecms
 /**
  * Метод, предназначенный для редактирования условий Запроса
  *
  * @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;
     }
 }
コード例 #12
0
ファイル: sysblocks.php プロジェクト: RGBvision/AVE.cms
        }
        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;
            }
        }
}
コード例 #13
0
ファイル: class.template.php プロジェクト: RGBvision/AVE.cms
 /**
  * Метод очистки миниатюр
  *
  */
 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'));
 }
コード例 #14
0
ファイル: class.docs.php プロジェクト: RGBvision/AVE.cms
 /**
  * Метод, предназначенный для публикации или отмены публикации документа
  *
  * @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;
     }
 }
コード例 #15
0
ファイル: class.database.php プロジェクト: laiello/avecms
 /**
  * Метод, предназначенный для обработки ошибок
  *
  * @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');
         }
     }
 }
コード例 #16
0
ファイル: class.navigation.php プロジェクト: laiello/avecms
 /**
  * Метод, предназначенный для деактивации пункта меню навигации.
  * Данный метод используется при изменении статуса документа с идентификатором $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);
     }
 }
コード例 #17
0
ファイル: class.roadmap.php プロジェクト: laiello/avecms
 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;
 }
コード例 #18
0
ファイル: browser.php プロジェクト: laiello/avecms
                @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'] = '';
コード例 #19
0
ファイル: class.settings.php プロジェクト: RGBvision/AVE.cms
 /**
  * Метод записи параметров стран
  *
  */
 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);
 }
コード例 #20
0
ファイル: class.dbdump.php プロジェクト: RGBvision/AVE.cms
 /**
  * Метод, предназначенный для восстановления повреждённых таблиц базы данных
  *
  */
 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);
     }
 }
コード例 #21
0
ファイル: class.user.php プロジェクト: laiello/avecms
 /**
  * Запись изменений учетных записей пользователей в списке
  *
  */
 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;
 }
コード例 #22
0
ファイル: admin.php プロジェクト: laiello/avecms
    // Завершение работы в админке
    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');
コード例 #23
0
ファイル: class.contact.php プロジェクト: laiello/avecms
 /**
  * Метод, предназначенный для удаления контактной формы
  *
  * @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;
 }
コード例 #24
0
ファイル: class.shop.php プロジェクト: laiello/avecms
 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']);
         }
     }
 }
コード例 #25
0
ファイル: class.poll.php プロジェクト: laiello/avecms
 /**
  * Метод удаления опроса
  *
  * @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;
 }
コード例 #26
0
ファイル: class.userpage.php プロジェクト: laiello/avecms
 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&amp;show=userprofile&amp;user_id=", "index.php?module=userpage&amp;action=show&amp;uid=", $content);
                 //  Для отмены обновления форума закоментировать предыдущую строку и раскоментировать следующую строку
                 //	    $content = str_replace ("index.php?module=userpage&amp;action=show&amp;uid=", "index.php?module=forums&amp;show=userprofile&amp;user_id=", $content);
                 if ($i == "/templates/userpanel_forums.tpl") {
                     $content = str_replace("index.php?module=forums&amp;show=publicprofile", "index.php?module=userpage&amp;action=change", $content);
                     //  Для отмены обновления форума закоментировать предыдущую строку и раскоментировать следующую строку
                     //	      $content = str_replace ("index.php?module=userpage&amp;action=change", "index.php?module=forums&amp;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);
     }
 }
コード例 #27
0
ファイル: class.banner.php プロジェクト: laiello/avecms
 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;
     }
 }
コード例 #28
0
ファイル: class.docs.php プロジェクト: laiello/avecms
 /**
  * Метод, предназначенный для публикации или отмены публикации документа
  *
  * @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;
 }