Собственно хотелось бы услышать свои недочеты (в плане кода) своих форумов которые мы писали на конкурс!
Думаю другим участникам тоже было бы интересно послушать мнения!
Пока что разбераю работу пирата:
<?php
/* Определение корня сайта */
for($i=0; $i<60; $i++){
$p=str_repeat('../', $i);
if(file_exists($p.'base.level')){
define('BASE', $p);
break;
}
if($i==59) die('PostEngine not found!');
}
unset($i, $p);
?>
Думаю проще было бы сделать так:
<?php
$root = null;
while (!is_file($root.'file.format')) $root .= '../';
?>
----
<?php
function int($int)
{
return abs(intval($int));
}
?>
Зачем писать велосипед? места это много не знанимает...
P.s вместо intval() лучше юзать (int)
----
<?php
/* Функции отображения статуса */
# по ID
function status($online)
{
$t = mysql_fetch_assoc(mysql_query("SELECT `time` FROM `users` WHERE `id` = ".$online.""));
if ($t['time']+300>time())
{
echo ' <span class="user_on">[ON]</span> ';
}
else
{
echo ' <span class="user_off">[OFF]</span> ';
}
}
?>
Не легче ли просто передавать $online в функцию?
Да и геморой это лишнийй!
$online = ($user['time']+300) > time() ? '[on]' : '[off]';
Вот и вся твоя функция в одной строке!
----
<?php
/* Функция вывода аватара */
function avatar($id)
{
global $user, $style, $set;
$query = mysql_fetch_assoc(mysql_query("select `avatar` from `users` where `id` = ".$id));
return (empty($query['avatar'])) ? '<img src="style/'.$style.'/avatar.gif" alt="avatar" />' : '<img src="files/'.$query['avatar'].'" alt="avatar" />';
}
?>
желательно проверять еще есть ли файл или нет...
Мало ли... бывает случайно удалишь или еще что...
P.s как совет, сохраняй названия аватаров id юзера, и у тебя минус один лишний запрос к бд
Просто проверяешь существует ли аватар с именем id1.gif если есть, выводишь его, нет картинку мол нет аватара
---
В head.php, foot.php и т.д лучше вверху сделать проверку типа:
<?php
defined('CONST') or die('Error');
?>
иначе выведет ошибку, следовательно расскрытие путей =)
==========
С пирата хватит... уже под-устал децл...
позже может еще что гляну =)
Nu3oN, 1. А если этого файла все же нет?
здесь счетчик нужен по любому.
2. Какой велосипед?
Нам отрицательные значения не нужны.
З.Ы, почему?
Цитата:
" А если этого файла все же нет?"
Ну да, насчет счетчика че то я не додумался... косяк за мной! =)
Цитата:
"З.Ы, почему?"
int преобразует целое число
intval округляет, и выдает целое число!
---
int это конструкция языка php а intval функция
Следовательно int быстрее чем intval
Нужно будет затестить.
Насчет первого аргумента, что то я не чувствую разницы в результате.
// опять же, много не тестил.
А по моему коду есть что сказать?
// это не мотор, тут нужно [quote] )
Morgan, я каждого гляну =)
дело не в поиске гомна, а ради интереса =)
вдруг что нового для себя найду =)
а то подумаете... гг
думаю вам и самим интересно узнать свои ошибки
По поводу работы моргана:
Любишь же ты константы =) гг
Пока ничего не нашел =)
----
<?php
$db -> sql("SELECT * FROM `table` WHERE `name` <= '$var'");
?>
переменные лучше брать в коаычки. Типа: ".$var."
Без ковычек переменная интерпретируется медленнее...
---
Понравилось то что находится в кейс 'stat'
Не легче ли кешировать все это дело?
Столько лишних запросов ничем не оправданных...
----
<?php
$template -> assign(array
(
'all_posts' => $all_posts,
'usefull_posts' => $usefull_posts,
'all_usefull_posts' => $all_userfull_posts,
# тут еще много их...
)
);
?>
Не легче ли сразу писать там:
$array['all_posts'] = $db -> one("SELECT COUNT(*) FROM `posts`");
$template -> assign('array', $array);
и потом просто выводить в шаблоне {$array.all_posts}
p.s это я на примере смарти, не знаю как у тебя устроен класс $template
точнее метод assign
---
В одном файле практически весь сайт, это неудобно да и выгоды от этого не вижу =)
---
Заюзай полнотекстовый поиск в mysql
http://www.mysql.ru/docs/man/Fulltext_Search.html
----
К тебе что-то и придраться не могу гг
А чем плохи такие велосипеды?
<?php
function int($int)
{
return abs(intval($int));
}
?>
Ведь все мы любим полениться)))
Цитата:
"А чем плохи такие велосипеды?"
Тем, что это велосипед =)
---
не могу больше... спать хочется =)
Nu3oN, а ты в детстве катался на велосипеде? нравилось? вот и пирату тоже нравится,
помне так лучше уж 20 раз написать int($var);
чем abs(intval($var)); 