Показать сообщение отдельно
  #5 (permalink)  
Старый 10.04.2014, 13:36
Новичок на форуме
Отправить личное сообщение для hardwolf Посмотреть профиль Найти все сообщения от hardwolf
 
Регистрация: 08.04.2014
Сообщений: 3

Вроде бы то, что нужно файл 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);
Ответить с цитированием