ortegas

Рейтинг
195
Регистрация
29.05.2008

В Nokia N8 и других Symbian^3 смартфонах, уже есть такой приемник, но он пока, заблокирован в прошивке.

LEOnidUKG, а у меня такого и нету.. У меня функция логирования ошибок.

Ладно. Вы уж точно учите PHP, а может уже выучили, чем я ;). Посмотрим :).

А почему функции это зло?

LEOnidUKG:
Да мы сейчас не WP и т.п. обсуждаем, а ваш хиленький и страшный код

Ну напишите лучше, а я поучусь. ;)

LEOnidUKG:
Простите, что что? А в условие код поставить никак? Или у вас ещё наверное комментарии к коду на производительность влияют?

А потом чесать голову и думать, что же это условие значит? Вот приставьте, если бы в CMS WordPress вместо шаблона, модулей, сразу все цитировалось через if-else в index.php ..

ortegas добавил 26.05.2011 в 22:10

..к тому же функция может изменять свои значения.. На одной странице вызываем с 1 атрибутов, на второй с другим. И код чистый и голова не болит.. И если отключил функцию в конфе, не надо потом if else эти менять в каждом файле, а сразу отключится во всех файлах, кои используют функцию.

cryptex, Вы мой пост читали или посты набиваете? ТС сделал заказ у меня, но пропал.

awasome:
Есть шаблон, простенький такой. Ссыль http://wp-themes.com/wappos/. При переходе в пост левое меню исчезает, а контентная область вытягивается влево. Что прописать, что бы эти изменения не происходили?

Процитировать содержимое файла index.php в single.php - самый простой способ.

Если хотите более безопасный способ, процитируйте содержимое обеих файлов и style.css в придачу.

LEOnidUKG:
В смысле как? Обычным PHP кодом. Вызываете участок который нужен и всё.

А как же гибкость? Если код не выполняется зачем он в странице? Пускай лучше будет в файле функций и в файле классов. Я могу ошибаться, но лучше пользоваться парой Major системных файлов и выводить ошибку при их ошибке, либо разбросать системный код по всех файлах и потом собирать ошибки по коду страницы.

ortegas добавил 26.05.2011 в 22:01

LEOnidUKG:
а тут лепят во все дыры их

Вы наверное CMS IP.Board не видели.. Вот там перебор.. Одна папка Kernel чего стоит).

global $conf;

/*Определяем браузер по UserAgent*/
if ((substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) and (substr_count($_SERVER['HTTP_USER_AGENT'], '6.0')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'MSIE6';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) and (substr_count($_SERVER['HTTP_USER_AGENT'], '7.0')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'MSIE7';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) and (substr_count($_SERVER['HTTP_USER_AGENT'], '8.0')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'MSIE8';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) and (substr_count($_SERVER['HTTP_USER_AGENT'], '9.0')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'MSIE9';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) and (substr_count($_SERVER['HTTP_USER_AGENT'], '10.0')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'MSIE10';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'Chrome')) and (substr_count($_SERVER['HTTP_USER_AGENT'], 'AppleWebKit')) and (substr_count($_SERVER['HTTP_USER_AGENT'], 'Gecko')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))) {$browser = 'Chrome';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'Opera')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'Symbian')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'J2ME')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'HTC')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'MOT')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'SAMSUNG'))) {$browser = 'Opera';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'Firefox')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'Opera')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'HTC'))) {$browser = 'Firefox';}
elseif ((substr_count($_SERVER['HTTP_USER_AGENT'], 'Safari')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'Chrome')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'iPhone')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'Mobile')) and (!substr_count($_SERVER['HTTP_USER_AGENT'], 'Nokia'))) {$browser = 'Safari';}
else {$browser = 'Unknown';}
/*Записываем ошибки в лог файл*/
function errors_logging($error = 0) {
global $conf;
$IP = $_SERVER['REMOTE_ADDR'];
$port = $_SERVER['REMOTE_PORT'];
$request_method = $_SERVER['REQUEST_METHOD'];
$request_url = 'http://';
$request_url .= $_SERVER['HTTP_HOST'];
$request_url .= $_SERVER['REQUEST_URI'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if ($_SERVER['HTTP_COOKIE']) {
$cookie = "\n";
$cookie .= $_SERVER['HTTP_COOKIE'];
}
$date_format = date("dmY");
$time_format = date("H:i:s");
$error = str_replace("<br>", ". ", $error);
$error = "[$time_format $error\n$IP:$port $request_method $request_url\n$user_agent$cookie] \n\n";
if (!@opendir("$conf[logs_dir]/errors")) {
mkdir("$conf[logs_dir]/errors");
}
$file = "$conf[logs_dir]/errors/$date_format.log";
$fopen_id = fopen($file, a);
fputs($fopen_id, "$error");
fclose($fopen_id);
}
/*Устанавливаем кодировку для HTML документов*/
function charset() {
global $conf;
if (!$conf[charset]) {$charset = 'utf-8';}
else {$charset = $conf[charset];}
echo '<meta charset="';
echo "$charset";
echo '">';
echo "\n";
}
/*Устанавливаем скрипт поддержки HTML5 для браузеров, которые его не поддерживают*/
function html5_ie_support() {
global $conf;
global $browser;
if (($browser == MSIE6) xor ($browser == MSIE7) xor ($browser == MSIE8)) {
if (is_file("$conf[jscripts_dir]/html5.js")) {
echo '<script src="';
echo "$conf[jscripts_dir]/html5.js";
echo '"></script>';
echo "\n";
}
else {global $lang; $GLOBALS[error] = $lang[error_can_include_js]; include "$conf[kernel_dir]/error.php"; exit();}
}
}
/*Устанавливаем файл стилей в зависимости от правил*/
function stylesheet_file($custom_stylesheet_file = 0) {
global $conf;
global $browser;
if (!$custom_stylesheet_file) {
if (($browser == MSIE6) xor ($browser == MSIE7) xor ($browser == MSIE8) xor ($browser == Unknown)) {$stylesheet_file = $conf[stylesheet_without_css3];}
else {$stylesheet_file = $conf[stylesheet_with_css3];}
}
else {$stylesheet_file = $custom_stylesheet_file;}
if (is_file("$conf[stylesheet_dir]/$stylesheet_file")) {
echo '<link rel="stylesheet" href="';
echo "$conf[stylesheet_dir]/";
echo "$stylesheet_file";
echo '">';
echo "\n";
}
}
/*Подгружаем файлы шаблона*/
function template($file, $before_file = false, $after_file = false) {
if ($before_file) echo "<$before_file>\n";
global $conf;
$file = "$conf[templates_dir]/$conf[current_template]/$file.php";
if (is_file("$file")) {
@include("$file");
echo "\n";
}
if ($after_file) echo "</$after_file>\n";
}
/*Устанавливаем Favicon*/
function favicon() {
global $conf;
if (($conf[favicon]) and (is_file($conf[favicon]))) {echo '<link rel="shortcut icon" href="'; echo "$conf[favicon]"; echo'">'; echo "\n";};
}
/*Переадрисовываем на корректную страницу при ошибках*/
function redirect_if_error($enabled = 0) {
global $conf;
if (($conf[error_redirect_interval]) and ($enabled)) {echo '<meta http-equiv="refresh" content="'; echo "$conf[error_redirect_interval]"; echo '; url='; echo "$conf[host]"; echo "$conf[index_url]"; echo '">'; echo "\n";};
}

Вот пример функций.

ortegas добавил 26.05.2011 в 21:48

Просто я хочу гибкости и простоты в то же время.

LEOnidUKG, а как? Классы я пока, что не учил. Хочу закрепить урок.

Чтобы код не засорять и выполнять в зависимости от условий.

Я пока, что профан. Кто уже имеет опыт, поделитесь. А то когда пишешь скрипт уча PHP запоминается лучше. Боюсь, чтобы потом все не переписывать :).

Всего: 3009