Давайте посмотрим мою ЦМС

Активист

Активист
Команда форума
Вот решил что-то полностью под клиента переписать ЦМС, простую.

Интересует глубокий анализ без флейма, аргументированный.
Пока там есть модуль туры и все (и то в разработке, не окончательно, много там будет еще), но лучше внести изменения в начале разработки. Интересует именно код PHP (юзабилити, верстку и т.п. не обсуждать ибо работы в той области не начались). Навигация в дизайне не работает, исключение - только в области контента и то верстальщик еще не приступил.

Исходный код тут: http://svn.local.prime-gr.ru/svn/baikalia.web.local/
Сам сайт: http://baikalia.local.prime-gr.ru

(снизу тайминги)
Админка как бы тут: http://baikalia.local.prime-gr.ru/ru/admin/
 

Активист

Активист
Команда форума
Это косяк :)) Уже убран. Вообще, почему-то думал, что туда отдается string для обеспечения рандомного сика.

Меня, кстати, очень интересует именно ядро, классы его (core/classes) и очень интересует /modules/tours/
 

Духовность™

Продвинутый новичок
Ну нафиг. Кроме того, 1 табуляция - 1 байт, 1 табуляция в виде пробелов = 8 байт, юзать надо нормальные редакторы :))
о писдетс, байты экономим. ещё скажи, PHP устанет читать пробелы.

два луча поноса тебе.
 

Активист

Активист
Команда форума
Ну интересует вообще-то все, но вот про табуляцию - реально флейм, по коду надо, по коду и конечно же по архитектуре.
 

craz

Нестандартное звание
да тоже хотел сюда запостить, но Духовность™ вроде смотрит его сам
 

cDLEON

Онанист РНРСlub
PHP:
$_GET		= strip($_GET);
$_POST		= strip($_POST);
$_REQUEST	= strip($_REQUEST);
$_COOKIE	= strip($_COOKIE);

if (isset($_GET['ajax'])) {
	$_GET		= conv2cp1251($_GET);
	$_POST		= conv2cp1251($_POST);
	$_REQUEST	= conv2cp1251($_REQUEST);
}
Зачем коцать данные? Или это "стандарт" твоей КМС ?
PHP:
require("core/functions.php");
if (!defined("CORE_FUNCTION_LOADED")) {
	exit("Fatal error: functions load error [core]");
}
Интересный подход!
PHP:
$smarty
Фи!
По остальному - вроде пытаешься использовать ООП, но пишешь процедурно
 

Активист

Активист
Команда форума
DiMA, взял с комментов с PHP.net )) А про редирект - я вообще не помню зачем он там, пришел по наследству, надо выпилить))

> Зачем коцать данные?
Я их не коцаю, я убираю слеши при get_magic_quotes_gpc !== 0. Я вообще пытаюсь максимально не зависеть от параметров php.ini.

По второму - там даные при request с аджакса конвертируются в cp1251, т.к. аджакс всегда от юзера отправляет в utf8 (в будущем планируем переехать на utf8), а все аджаксовые запросы идут с "?ajax", мы взяли это за правило.

Мне интересно, что именно процедурно, и каким образом это можно реализовать в ООП, с Вашей точки зрения, мне это очень интересует.
 
http://svn.local.prime-gr.ru/svn/baikalia.web.local/core/classes/class.mysql.php

PHP:
$this->query("SET NAMES 'cp1251'");
        self::$count--;
        $this->query("SET CHARACTER SET 'cp1251'");
        self::$count--;
        $this->query("SET @@collation_connection = cp1251_general_ci");
        self::$count--;
Лучше вынести эти параметры в файл конфигурации.
Кстати, по возможности считалочку советую сделать отключаемой.
 

Neuron

Новичок
PHP:
header("Content-type: text/html; charset=windows-1251");
header("Content-type: text/html; charset=windows-1251", true);
зачем 2 раза header?
 

Активист

Активист
Команда форума
PHP:
header("Content-type: text/html; charset=windows-1251");
header("Content-type: text/html; charset=windows-1251", true);
зачем 2 раза header?
Несколько раз наблюдал картину - на некоторых хостингах работала либо первая, либо вторая конструкция, решил продублировать, неизвестно заранее , где будет хоститься, а так самому не нравится.

PHP:
header("Content-type: text/html; charset=windows-1251");
header("Content-type: text/html; charset=windows-1251", true);
зачем 2 раза header?
Этот класс @depricated, перепешу, обязательно учту, и сообщу когда отпишу.
http://svn.local.prime-gr.ru/svn/baikalia.web.local/core/classes/class.mysql.php

PHP:
$this->query("SET NAMES 'cp1251'");
        self::$count--;
        $this->query("SET CHARACTER SET 'cp1251'");
        self::$count--;
        $this->query("SET @@collation_connection = cp1251_general_ci");
        self::$count--;
Лучше вынести эти параметры в файл конфигурации.
Кстати, по возможности считалочку советую сделать отключаемой.
Ок.
 

Активист

Активист
Команда форума
Кстати, хочу поинтересоваться, что по мнению форумчан здесь ООП, а что не ООП (процедурное) и методы решения этих (процедурных) задач в концепции ООП относительно конкретно этого проекта (так будет яснее).

По мне - так там везде ООП.

Кстати, проект checkout из SVN в паблике без проблем.
 
Несколько раз наблюдал картину - на некоторых хостингах работала либо первая, либо вторая конструкция, решил продублировать, неизвестно заранее , где будет хоститься, а так самому не нравится.
По документации PHP эта возможность доступна начиная с версии 4.0.4. Советую убрать первую строку и поставить ограничения на используемую версию PHP и MySQL.
Кстати, очень хочется не mysql, а mysqli.
 
Сверху