Вроде бы то, что нужно файл show.action.php.
<?php
// Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
header('Location: /');
exit();
}
// Отправка формы
$e = array(
'all' => false,
'email' => false,
'name' => false,
'phone' => false,
);
$name = '';
$email = '';
$phone = '';
$comment = '';
$form_name = '';
if (text::get_post('do') == 'send_order'){
$name = htmlspecialchars(stripcslashes(text::get_post('name')));
$email = htmlspecialchars(stripcslashes(text::get_post('phone')));
$phone = htmlspecialchars(stripcslashes(text::get_post('email')));
$comment = htmlspecialchars(stripcslashes(text::get_post('comment')));
$form_name = htmlspecialchars(stripcslashes(text::get_post('form_name')));
if (text::check_mail($email) === false)
$e['all'] = $e['email'] = true;
if ($name == '')
$e['all'] = $e['name'] = true;
if ($phone == '')
$e['all'] = $e['phone'] = true;
if ($e['all'] === false) {
$mail = 'victor@gmail.com';
$subj = 'Заявка с сайта '.$_SERVER['SERVER_NAME'].' ('.$form_name.')';
$mail_body = '
<p>Заявка: '.$form_name.'</p>
<p>Контактное лицо: '.$name.'</p>
<p>Телефон: '.$phone.'</p>
<p>E-mail: '.$email.'</p>
<p>Комментарий: '.$comment.'</p>
';
sendMail($mail, $subj, $mail_body);
header("Location: ".$_SERVER['REQUEST_URI'].(preg_match('/\?/', $_SERVER['REQUEST_URI'])?'&':'?').'success=1');
exit();
}
}
$date = self::getConf('date');
$current_lang = self::getConf('curlang');
$__template = self::getConf('tpl');
$db_table_prefix = self::getConf('db_table_prefix');
$tree = self::getConf('tree');
$dbh = self::getConf('dbh');
// Для показа статических страниц нужно разобрать URL
$url = eregi_replace("\?(.*)$", '', $_SERVER['REQUEST_URI']);
$url = eregi_replace("index\.html$", '', $url);
if (!preg_match("/\/(".preg_replace('/'.self::getConf('deflang').'\|/', '', implode('|', self::getConf('langs'))).")/i", $url))
$url = '/ru'.$url;
$aStrings = explode("/", preg_replace("/^\/(.*)\/?$/U", "\\1", $url));
/* Создание запроса для поиска страницы. */
$f = '';
$w = '';
foreach ($aStrings as $key => $value) {
// Строка в FROM
$f .= '`'.$db_table_prefix.'pages` `p'.$key.'`,';
// Строка в WHERE. Для всех уровней.
$w .= ($w != ''?' AND ':'').' `p'.$key.'`.`alias` = "'.$value.'" AND `p'.$key.'`.`level` = '.($key+1);
if (isset($aStrings[$key+1]))
// Строка в WHERE. Для чилдренов.
$w .= ' AND `p'.$key.'`.`left` < `p'.($key+1).'`.`left` AND `p'.$key.'`.`right` > `p'.($key+1).'`.`right`';
}
$f = ereg_replace(",$", '', $f);
$query = "SELECT `p".(count($aStrings)-1)."`.* FROM ".$f." WHERE ".$w;
// Получение информации о странице.
if (!$result_row = $DB->selectRow($query)) {
// Страница не найдена. Попытка ввода url вручную или поломались ключи у дерева (врятли).
require_once DOC.'/error404.php';
}
/* Шаблон страницы. */
$tpl = is_null($result_row['template'])?'index':is_file(System_Settings::getSmarty_template_dir().$result_row['template'].'.tpl')?$result_row['template']:'index';
$c = components($result_row['text'], $db_table_prefix);
$result_row['text'] = $c[0];
foreach ($result_row as $key => $value) {
if ($key != 'text')
$result_row[$key] = text::stsl($value);
}
foreach ($result_row as $key => $value)
$result_row[$key] = stripcslashes($value);
/**
* Получение хлебных крошек.
*/
$resource = $tree->enumPath($result_row['id'], false);
$parents = array();
while ($data = $dbh->fetch_array($resource))
{
$parents[] = $data;
}
// Определение заголовков.
$page_title = $result_row['title']!=''?$result_row['title']:$result_row['name'];
self::setTemplatesVar($tpl, 'page_title', isset($c[1]) && $c[1] !== false?$c[1]:$page_title);
self::setTemplatesVar($tpl, 'page', $result_row);
self::setTemplatesVar($tpl, 'parents', $parents);
self::setTemplatesVar($tpl, 'url', isset($aStrings[3])?$aStrings[3]:null);
// Шаблон для вывода статических страниц
self::SetTemplates($tpl);