Ejemplo n.º 1
0
    }
    if ($e['all'] === false) {
        $smarty->assign('data', $values);
        $smarty->assign('form_rows', $form_rows);
        $smarty->assign('options', getSiteOptions());
        $smarty->assign('__lang', $__lang);
        $smarty->assign('site_url', 'http://' . $_SERVER['SERVER_NAME'] . '/');
        $mail_body = $smarty->fetch(DOC . 'templates/site/mail_templates/mail.tpl');
        $check = sendMail($form['email'], $form['subj'], $mail_body, '', $files);
        //sendMail($form['email'], $form['subj'], $mail_body, $files);
        //$test = sendMail('*****@*****.**', $form['subj'], $mail_body, $files);
        if ($form['admin'] == 1) {
            $v = array($form_rows, $values, $files);
            $val = serialize($v);
            $query = 'CALL form_orders_insert(:field_name, :field_value)';
            $params = array(':field_name' => $form['name'], ':field_value' => $mail_body);
            PdoWrap::execute($query, $params);
        }
        if (Text::get_post('ajax') == 'yes') {
            echo $check;
            exit;
        }
        header("Location: /");
        exit;
    }
}
if (Text::get_post('ajax') == 'yes') {
    echo implode('|', array_keys($e));
    exit;
}
$smarty->assign('e', $e);
Ejemplo n.º 2
0
Archivo: edit.php Proyecto: klimjr/cms
     foreach ($data as $key => $value) {
         if (in_array($key, $tables)) {
             $data[$key]['relation']['values'] = $object->getGroupsList($key, 0);
         } elseif (!in_array($key, $object->getExc()) && isset($foreign_keys[$key]) && $foreign_keys[$key] != '') {
             $data[$key]['relation']['values'] = $object->getGroupsList($foreign_keys[$key], 0);
         }
     }
     // Добавление визуального редактора
     $editor_cell = array('anons', 'text', 'text2', 'text3', 'text4', 'text5', 'full_text');
 }
 // подключение файла модуля
 if (is_file(DOC . 'modules/' . $action . '/admin/' . $module_do . '.php')) {
     require DOC . 'modules/' . $action . '/admin/' . $module_do . '.php';
 }
 // Обработчик Добавления/обновления записей в таблице
 if (Text::get_post('send') != '') {
     if ($id == 0) {
         // Добавление записи в таблицу
         $new_id = $object->setRow($table);
     } else {
         // Редактирование записи
         $object->editRow($table, $id);
         clearCacheFiles($smarty, 0, $table, $id);
         if ($table == 'catalog_groups') {
             $query = 'CALL catalog_groups_update_links_after_update(:id)';
             $params = array(':id' => $id);
             PdoWrap::execute($query, $params);
         }
     }
     $errors = $object->getErrors();
     // Редирект
Ejemplo n.º 3
0
             header('location: /profile/?action=options');
             exit;
         }
     }
     // Получение настроек
     $cat = $user->getCatOptions();
     $catall = empty($cat) ? 1 : 0;
     self::setTemplatesVar($tpl, 'cat', $cat);
     self::setTemplatesVar($tpl, 'catall', $catall);
     break;
 case 'addWallMessage':
     // Добавление сообщение на стену
     $text = Text::adsl(strip_tags(Text::get_post('text')));
     $user_id = (int) Text::get_post('user_id');
     $profile_id = (int) Text::get_post('profile_id');
     $parent = (int) Text::get_post('parent');
     $id = $user->addComment($text, $user_id, $profile_id, $parent, PROFILE);
     echo $id;
     exit;
     break;
 case 'getWallMessage':
     $id = (int) Text::get_get('id');
     $result = $user->getMessage($id);
     $result['text'] = Text::stsl($result['text']);
     echo json_encode($result);
     exit;
     break;
 case 'showlist':
     // Определение шаблона
     $tpl = 'profile_publics';
     $type = Text::get_get('type') == 'all' ? Text::get_get('type') : (int) Text::get_get('type');
Ejemplo n.º 4
0
 /**
  * Дополнительная оработка полей
  * @param $id
  * @return array
  *
  */
 public function additionInputDataHandler($id = 0)
 {
     $errors = array('all' => false);
     // Обработка даты рождения
     if (isset($_POST['birthday'])) {
         $birthday = Text::get_post('birthday');
         $_POST['birthday'] = getTimestampFromCalendar($birthday);
     }
     if ($id == 0) {
         // Проверяем наличие E-mail
         $email = Text::get_post('email');
         if (Text::check_mail($email) == false) {
             $errors['all'] = $errors['email'] = true;
         } else {
             $result = $this->getRowByField('users', 'email', $email);
             if (isset($result['id'])) {
                 $errors['all'] = $errors['email2'] = true;
             }
         }
         // Проверяем пароль
         $pass = Text::get_post('pass');
         $pass_repeat = Text::get_post('repass');
         if (empty($pass)) {
             $errors['all'] = $errors['pass'] = true;
         } elseif (strlen($pass) < 6) {
             $errors['all'] = $errors['pass3'] = true;
         } elseif (checkSimplePassword($pass) < 2) {
             $errors['all'] = $errors['pass4'] = true;
         } elseif ($pass != $pass_repeat) {
             $errors['all'] = $errors['pass2'] = true;
         } elseif ($pass != $pass_repeat) {
             $errors['all'] = $errors['pass2'] = true;
         } else {
             $_POST['pass'] = md5($pass);
         }
         // Необходимо указать либо срок беременности либо детей
         if (empty($_POST['pregnancy']) && $_POST['child'][0]['name'] == '') {
             $errors['all'] = $errors['pregnancy'] = true;
             $errors['all'] = $errors['child'] = true;
         }
     } else {
         // Проверяем наличие E-mail
         $email = Text::get_post('email');
         if (Text::check_mail($email) == false) {
             $errors['all'] = $errors['email'] = true;
         } else {
             $result = $this->getRowByField('users', 'email', $email);
             if ($result['email'] != $_SESSION['siteuser']['email'] && isset($result['id'])) {
                 $errors['all'] = $errors['email2'] = true;
             }
         }
         // Проверяем пароль
         $pass = Text::get_post('pass');
         $pass_repeat = Text::get_post('repass');
         if ($pass != '') {
             if (empty($pass)) {
                 $errors['all'] = $errors['pass'] = true;
             } elseif (strlen($pass) < 6) {
                 $errors['all'] = $errors['pass3'] = true;
             } elseif (checkSimplePassword($pass) < 2) {
                 $errors['all'] = $errors['pass4'] = true;
             } elseif ($pass != $pass_repeat) {
                 $errors['all'] = $errors['pass2'] = true;
             } else {
                 $_POST['pass'] = md5($pass);
             }
         } else {
             $result = $this->getRow('users', $id);
             $_POST['pass'] = $result['pass'];
         }
     }
     // Обработка поля с детьми
     $_POST['child'] = serialize($_POST['child']);
     return $errors;
 }
Ejemplo n.º 5
0
 /**
  * Обновление данных.
  */
 if (Text::get_post('save') != '') {
     //	Подсчет количества групп.
     $count = count($groups);
     //	Удаление прав для модуля.
     $query = 'CALL delete_table_row_by_field(:table_name, :table_cell, :cell_value)';
     $params = array(':table_name' => PREF . 'users_groups_rights', ':table_cell' => 'module_id', ':cell_value' => (int) $id);
     PdoWrap::execute($query, $params);
     //	Массив прав для чтения.
     $reads = Text::get_post('read');
     //	Массив прав для изменения.
     $edits = Text::get_post('edit');
     //	Массив прав для удаления.
     $deletes = Text::get_post('delete');
     //	Обновление.
     for ($i = 0; $i < $count; $i++) {
         //	Флаг чтения.
         $read = isset($reads[$groups[$i]['id']]) ? 1 : 0;
         //	Флаг редактирования.
         $edit = isset($edits[$groups[$i]['id']]) ? 1 : 0;
         //	Флаг удаления.
         $delete = isset($deletes[$groups[$i]['id']]) ? 1 : 0;
         //	Запрос.
         $query = 'CALL users_insert_user_rights(:group_id, :module_id, :read, :edit, :delete)';
         $params = array(':group_id' => (int) $groups[$i]['id'], ':module_id' => $id, ':read' => $read, ':edit' => $edit, ':delete' => $delete);
         PdoWrap::execute($query, $params);
     }
     //	Возврат.
     location($__return);
Ejemplo n.º 6
0
 $gallery->setParentTable(PREF . 'gallery_groups');
 // Основная переменная
 $data = array();
 // Массив ошибок
 $errors = array('all' => false);
 // Получение информации о записи
 $data = $gallery->getAdminEditedRow($id);
 // Получение списка групп
 $groups = $gallery->getList($gallery->getParentTable());
 if (Text::get_post('send') != '') {
     $_POST['group_id'] = 1;
     $_POST['date_post'] = $data['date_post']['value'];
     $_POST['head_title'] = $_POST['name'];
     $_POST['active'] = 1;
     // Проверяем псевдоним записи
     $alias = $gallery->makeAlias(Text::get_post('name'));
     $_POST['alias'] = $gallery->checkAlias($alias);
     $gallery->setProcPrefix('gallery');
     // Добавление записи в таблицу
     $errors = $gallery->editSimpleTable($id);
     // Редирект
     if (!is_array($errors) or $errors['all'] === false) {
         header('location: /gallery/');
         exit;
     }
 }
 // Поля таблицы запрещенные для редактирования
 $exc = array('id', 'lang_id', 'date_add', 'date_edit', 'user_add', 'user_edit');
 // Добавление визуального редактора
 $editor_cell = array('text');
 // Поля разрешенные для заполнения только администратором
Ejemplo n.º 7
0
<?php

/**
 *	Редактирование характеристики.
 */
echo Text::strtolow(translitIt(Text::get_post('str')));
Ejemplo n.º 8
0
 //	Идетификатор записи.
 $id = (int) Text::get_get('id');
 // Основная переменная
 $data = array();
 // Массив ошибок
 $errors = array('all' => false);
 // Получение информации о записи
 $data = $forms->getAdminEditedRow($id);
 if ($id == 0) {
     // Получение позиции для новой записи
     $pos = $forms->getPosition($forms->getTable(), 'position');
     $data['position']['value'] = $pos + 1;
 }
 if (Text::get_post('send') != '') {
     if (isset($_POST['date_post'])) {
         $date_post = Text::get_post('date_post');
         $data['date_post']['value'] = getTimestampFromCalendar($date_post['date'], $date_post['hour'], $date_post['minute']);
     }
     if ($id == 0) {
         // Добавление записи в таблицу
         $errors = $forms->insertSimpleTable();
     } else {
         // Редактирование записи
         $errors = $forms->editSimpleTable($id);
     }
     // Редирект
     if (!is_array($errors) or $errors['all'] === false) {
         location($__return);
     }
 }
 // Получение данных для опыта работы
Ejemplo n.º 9
0
 /**
  * Групповые операции
  * @param string $table
  * @param string $return
  */
 public function groupActions($table, $return = '/')
 {
     if (isset($_POST['action'])) {
         $action = Text::get_post('group_action');
         $ids = Text::get_post('id');
         switch ($action) {
             // Скрытие
             case 'hide':
                 $this->changeActive($table, $ids, 0);
                 location($return);
                 exit;
                 break;
                 // Показ
             // Показ
             case 'show':
                 $this->changeActive($table, $ids, 1);
                 location($return);
                 exit;
                 break;
                 // Удаление
             // Удаление
             case 'delete':
                 if (is_array($ids) && !empty($ids)) {
                     foreach ($ids as $id) {
                         $this->deleteTableRow($table, $id);
                     }
                 }
                 location($return);
                 exit;
                 break;
             default:
                 location($return);
                 exit;
                 break;
         }
     }
 }
Ejemplo n.º 10
0
 /**
  * Импорт XML файла в каталог
  * @return array|int|bool
  */
 public function importXML()
 {
     $answer = false;
     if (Text::get_post('do') == 'load_xml') {
         if (isset($_FILES['xml']) && $_FILES['xml']['error'] == 0 && $_FILES['xml']['type'] == 'text/xml') {
             if ($_FILES['xml']['name'] == 'import.xml') {
                 if (move_uploaded_file($_FILES['xml']['tmp_name'], DOC . 'userfiles/import.xml')) {
                     chmod(DOC . 'userfiles/import.xml', 0644);
                     $reader = new XMLReader();
                     $reader->open(DOC . 'userfiles/import.xml');
                     $answer = $this->importProduction($reader);
                     $reader->close();
                 }
             } elseif ($_FILES['xml']['name'] == 'offers.xml') {
                 if (move_uploaded_file($_FILES['xml']['tmp_name'], DOC . 'userfiles/offers.xml')) {
                     chmod(DOC . 'userfiles/offers.xml', 0644);
                     $reader = new XMLReader();
                     $reader->open(DOC . 'userfiles/offers.xml');
                     $answer = $this->updateImportProduction($reader);
                     $reader->close();
                 }
             }
         }
     }
     return $answer;
 }
Ejemplo n.º 11
0
 /**
  * Редактирование данных в таблице
  * При успешном добавлении возвращает TRUE
  * При провале возвращает массив ошибок
  * @param string $table
  * @param int $id
  * @param array $data
  * @return mixed
  */
 public function editRow($table, $id, $data = array())
 {
     $error = array('all' => false);
     if (empty($data)) {
         $data = $this->base->postInputDataHandler($table);
         $error = $this->base->getErrors();
     }
     $parent = (int) Text::get_post('parent');
     if (isset($data['alias'])) {
         $check_alias = $this->base->checkAlias($table, $id, $data['alias'], $parent, 1);
         if ($check_alias == 1) {
             $error['all'] = $error['alias'] = true;
         } elseif ($check_alias == 2) {
             $error['all'] = $error['alias2'] = true;
         }
     }
     if (isset($data['date_post']) && is_array($data['date_post'])) {
         $data['date_post'] = getTimestampFromCalendar($data['date_post']['date'], $data['date_post']['hour'], $data['date_post']['minute']);
     }
     $data['user_edit'] = isset($_SESSION['user']['id']) ? $_SESSION['user']['id'] : 0;
     if (!isset($error['all']) || $error['all'] === false) {
         $this->base->editTableRow($table, $data, $id, $parent);
         return true;
     }
     $this->setErrors($error);
     return false;
 }
Ejemplo n.º 12
0
Archivo: list.php Proyecto: klimjr/cms
    if (isset($_FILES) && count($_FILES) > 0) {
        $file = files::loadFiles();
        foreach ($file as $key => $value) {
            if (isset($value['name'])) {
                $_POST[$key] = $value['name'];
            }
        }
    }
    PdoWrap::execute('CALL clear_options_checkboxes()');
    foreach ($_POST as $key => $value) {
        if ($key != 'do' && $key != 'save') {
            if (isset($_POST['delete'][$key])) {
                $_POST[$key] = '';
            }
            $query = 'CALL options_update(:field_name, :field_value, :field_user_edit)';
            $params = array(':field_name' => $key, ':field_value' => Text::get_post($key), ':field_user_edit' => $_SESSION['user']['id']);
            PdoWrap::execute($query, $params);
        }
    }
    location($__return);
    exit;
}
// Получение списка настроек
$data = getSiteOptions2();
// Получение списка таблиц
$tables_tmp = PdoWrap::select('SHOW TABLES');
$tables = array();
for ($i = 0; $i < count($tables_tmp); $i++) {
    foreach ($tables_tmp[$i] as $value) {
        $tables[] = preg_replace('/^(' . PREF . ')(.+)$/', '$2', $value);
    }
Ejemplo n.º 13
0
} else {
    if (Text::get_get('ac_field') == 1) {
        $word = Text::get_get('term');
        $data = $object->findItem($word);
        echo json_encode($data);
        exit;
    }
    $table = 'catalog_complect';
    $do = 'catalog_comlect_relation_list';
    // Удаление
    $delete_handler = 'catalog_complect_set_delete';
    $id = (int) Text::get_get('group_id');
    $complect_info = $object->getRow('catalog_complect', $id);
    // Добавление связей
    if (Text::get_post('do') == 'add_relation') {
        $item_id2 = (int) Text::get_post('relation1');
        $item_id1 = (int) $id;
        // Если добавленный элемент является "radio" удаляем элементы "radio" из той же группы
        // Получение информации о добавляемом элементе
        $item_info = $object->getRow('catalog_features', $item_id2);
        if ($item_info['type'] == 5) {
            // Получение связанных элементов
            $data = $object->getRelationList(PREF . 'catalog_complect_values', PREF . 'catalog_features', 'complect_id', 'feature_id', $id);
            for ($i = 0; $i < count($data); $i++) {
                if ($item_info['catalog_features_group'] == $data[$i]['catalog_features_group']) {
                    // Удаление записи из таблицы
                    $object->deleteRelations(PREF . 'catalog_complect_values', 'complect_id', 'feature_id', $item_id1, $data[$i]['id']);
                }
            }
        }
        $object->setRelations(PREF . 'catalog_complect_values', 'complect_id', 'feature_id', $item_id1, $item_id2);
Ejemplo n.º 14
0
Archivo: edit.php Proyecto: klimjr/cms
<?php

/**
 * Добавление/редактирование раздела.
 * @author Alexey O Klimov
 * @update 25.08.2010
 */
//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /');
    exit;
}
$table = Text::get_get('table');
if (Text::get_post('do') == 'save') {
    $options->setTableOptions($table);
    location($__return . '#options_table');
    exit;
}
$data = $options->getTableOptions($table);
// Выгрузка переменных в шаблон
$smarty->assign(array('table' => $table, 'data' => $data['data'], 'table_options' => $data['table_options']));
Ejemplo n.º 15
0
<?php

//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /');
    exit;
}
// Добавление коммента
if (Text::get_post('do') == 'add_commetns') {
    $id = $object->setRow('comments');
    if (Text::get_post('use_ajax') == 1) {
        if ($id > 0) {
            // Получение коммента
            $comment = $object->getComment($id);
            $smarty->assign('comments', $comment);
            $smarty->assign('__lang', $object->getLocalization());
            $data = array('error' => $object->getErrors(), 'data' => $smarty->fetch(DOC . 'templates/site/matches/comment_row.tpl'));
        } else {
            // вывод ошибки
            $data = array('error' => $object->getErrors(), 'data' => '');
        }
        echo json_encode($data);
        exit;
    }
    // Редирект на страницу отправления
    header('location: ' . Text::get_post('from_page'));
    exit;
}
Ejemplo n.º 16
0
 /**
  *	Обязательная функция для компонента.
  *
  */
 public function start()
 {
     $this->setObject();
     // Определение полей формы
     $this->form = isset($this->params['form']) && (int) $this->params['form'] > 0 ? $this->params['form'] : "";
     $success = (int) Text::get_get('success');
     // Получение иформации формы
     $form = $this->__getFormInfo($this->form);
     // Получение полей формы
     $form_rows = $this->__getFormFields($this->form);
     if (Text::get_get('do') == 'ajaxUploadFile') {
         $file = load_file('Filedata', 'userfiles/', 1);
         echo $file['name'];
         exit;
     }
     if (Text::get_get('do') == 'ajaxDeleteFile') {
         $file = Text::get_get('file');
         if (file_exists(DOC . 'userfiles/' . $file)) {
             unlink(DOC . 'userfiles/' . $file);
         }
         exit;
     }
     $e = array('all' => false);
     if (Text::get_post('do') == 'send_order') {
         $ext = array('do', 'send');
         $values = array();
         foreach ($_POST as $key => $value) {
             if (!in_array($key, $ext)) {
                 if (!is_array($value)) {
                     $values[$key] = htmlspecialchars(stripcslashes(Text::get_post($key)));
                 } else {
                     $values[$key] = Text::get_post($key);
                 }
             }
         }
         foreach ($values as $k => $v) {
             for ($i = 0; $i < count($form_rows); $i++) {
                 if ($k == $form_rows[$i]['alias']) {
                     $form_rows[$i]['default'] = $v;
                     if ($form_rows[$i]['check'] == 1) {
                         if ($k == 'email') {
                             if (Text::check_mail($v) === false) {
                                 $e['all'] = $e[$k] = true;
                             }
                         } else {
                             if (empty($v)) {
                                 $e['all'] = $e[$k] = true;
                             }
                         }
                     }
                 }
             }
         }
         // Обработка изображений
         $files = array();
         if (isset($values['file'])) {
             foreach ($values['file'] as $v) {
                 $files[] = array('name' => $v, 'orig' => $v);
             }
         } else {
             foreach ($_FILES as $key => $value) {
                 if ($value['error'] == 0) {
                     $files[$key] = load_file($key);
                 }
             }
         }
         if ($e['all'] === false) {
             ob_start();
             $this->smarty->assign('data', $values);
             $this->smarty->assign('form_rows', $form_rows);
             $this->smarty->assign('options', getSiteOptions());
             $this->smarty->assign('site_url', 'http://' . $_SERVER['SERVER_NAME'] . '/');
             $this->smarty->display($this->doc . 'mail.tpl');
             $mail_body = ob_get_contents();
             ob_clean();
             $test = sendMail($form['email'], $form['subj'], $mail_body, '', $files);
             //sendMail($form['email'], $form['subj'], $mail_body, $files);
             if ($form['admin'] == 1) {
                 $v = array($form_rows, $values, $files);
                 $val = serialize($v);
                 $query = 'CALL form_orders_insert(:field_name, :field_value)';
                 $params = array(':field_name' => $form['name'], ':field_value' => $mail_body);
                 PdoWrap::execute($query, $params);
             }
             header("Location: " . $_SERVER['REQUEST_URI'] . (preg_match('/\\?/', $_SERVER['REQUEST_URI']) ? '&' : '?') . 'success=1');
             exit;
         }
     }
     $this->smarty->assign('e', $e);
     $this->smarty->assign('form', $form);
     $this->smarty->assign('form_rows', $form_rows);
     $this->smarty->assign('success', $success);
     return;
 }
Ejemplo n.º 17
0
 /**
  * Редактирование данных в таблице
  * При успешном добавлении возвращает TRUE
  * При провале возвращает массив ошибок
  * @param string $table
  * @param int $id
  * @param array $data
  * @return mixed
  */
 public function editRow($table, $id, $data = array())
 {
     $error = array('all' => false);
     if (empty($data)) {
         $data = $this->base->postInputDataHandler($table);
         $error = $this->base->getErrors();
     }
     $parent = (int) Text::get_post('parent');
     $parent = $parent > 0 ? $parent : 1;
     $check_alias = $this->base->checkAlias($table, $id, $data['alias'], $parent, $data['type']);
     if ($check_alias == 1) {
         $error['all'] = $error['alias'] = true;
     } elseif ($check_alias == 2) {
         $error['all'] = $error['alias2'] = true;
     }
     if ($data['type'] == 3 && $data['url'] == '') {
         $data['url'] = $data['alias'];
     }
     // Обновление идентификатора пользователя, добавившего запись
     $data['user_edit'] = $this->getUid();
     if (!isset($error['all']) || $error['all'] === false) {
         $this->base->editTableRow($table, $data, $id, $parent);
         $query = 'CALL pages_update_links_after_update(:id)';
         $params = array(':id' => $id);
         PdoWrap::execute($query, $params);
         return true;
     }
     $this->setErrors($error);
     return false;
 }
Ejemplo n.º 18
0
 /**
  * Групповые операции
  * @param string $return
  */
 public function groupActions($return = '/')
 {
     if (isset($_POST['action'])) {
         $action = Text::get_post('group_action');
         $ids = Text::get_post('id');
         switch ($action) {
             // Скрытие
             case 'hide':
                 $this->changeActive($ids, 0);
                 location($return);
                 exit;
                 break;
                 // Показ
             // Показ
             case 'show':
                 $this->changeActive($ids, 1);
                 location($return);
                 exit;
                 break;
                 // Удаление
             // Удаление
             case 'delete':
                 // Получение изображений
                 $data = $this->getSomeRows(implode(',', $ids));
                 for ($i = 0; $i < count($data); $i++) {
                     if (isset($data[$i]['image']) && $data[$i]['image'] != '') {
                         files::deleteFile($data[$i]['image']);
                     }
                     if (isset($data[$i]['icon']) && $data[$i]['icon'] != '') {
                         files::deleteFile($data[$i]['icon']);
                     }
                     if (isset($data[$i]['file']) && $data[$i]['file'] != '') {
                         files::deleteFile($data[$i]['file']);
                     }
                 }
                 $this->deleteRowsByIds($ids);
                 location($return);
                 exit;
                 break;
             default:
                 location($return);
                 exit;
                 break;
         }
     }
 }
Ejemplo n.º 19
0
Archivo: login.php Proyecto: klimjr/cms
<?php

//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /');
    exit;
}
if (isset($_SESSION['user'])) {
    header('Location: /admin/');
    exit;
}
$auth_loginname_str = Text::get_post('auth_loginname_str');
$auth_password_str = md5(Text::get_post('auth_password_str'));
$msg = '';
if (!empty($auth_loginname_str)) {
    $query = 'CALL `get_user_info`(:user_login, :user_pass)';
    $params = array(':user_login' => $auth_loginname_str, ':user_pass' => $auth_password_str);
    $result = PdoWrap::selectRow($query, $params);
    if (!empty($result)) {
        $return = '/admin/';
        if (Text::get_get('return') != '') {
            $return = urldecode(Text::get_get('return'));
        }
        $_SESSION['user'] = $result;
        location($return);
    } else {
        $msg = 'В доступе отказано';
    }
}
$smarty->assign('msg', $msg);
Ejemplo n.º 20
0
         // Восстановление пароля пользователя
         case 'forgot':
             break;
         default:
             require_once DOC . '/error404.php';
             exit;
             break;
     }
 } else {
     switch (end($module_aString)) {
         // редактирование пользователей
         case 'edit':
             $tpl = 'profile_edit';
             $page['h1'] = $object->getLocalization('edit');
             $bread_crumbs[] = array('link' => '', 'name' => $object->getLocalization('edit'));
             if (Text::get_post('do') == 'user_edit') {
                 $error = $object->editUserSelf();
                 // вывод информации об ошибках
                 $smarty->assign('error', $error);
                 foreach ($_POST as $key => $value) {
                     if ($key == 'child') {
                         $value = unserialize($value);
                     }
                     $smarty->assign($key, $value);
                 }
             } else {
                 foreach ($_SESSION['siteuser'] as $key => $value) {
                     if ($key == 'child') {
                         $value = unserialize($value);
                     }
                     $smarty->assign($key, $value);