По поводу гайдлайнов: либо не выравнивай, либо используй пробелы вместо табов.
Выравнивание применяется только с пробелами.
/core/core.php
Код:
header("Content-type: text/html; charset=windows-1251", true);
Зачем геморойная кодировка? Чтобы потом перекодировать везде(что ты потом и делаешь)?
Код:
error_reporting(E_ALL);
ini_set("display_errors", "on");
ini_set("date.timezone", "Asia/Irkutsk");
svn используешь? С другими девелоперами работаешь? Почему ЭТО не в конфигах?
Код:
require("core/config.php");
if (!defined("CORE_CONFIG_LOADED")) {
exit("Fatal error: confuration load error [core]");
}
RTFM
http://php.net/require_once
Не забудь на сервере отключить отображение ошибок в страницу
Зачем использовать внутри проекта 1251? о_О
Ну и название функции мне не нравится.
Код:
$mainTemplate = "admin/default.tpl";
Файлы доступны с веба(
http://baikalia.local.prime-gr.ru/core/templates/ru/admin/default.tpl ).
Тут либо вебсервер настраивай, чтобы файлы с веба не выполнялись(грязное решение), либо все выше документ рута переноси.
Часть шаблонов с .tpl.php, часть с .tpl - как я понимаю, ты по разным стилям прыгал и свой выбирал.
Код:
core::getInstance();
core::getInstance()->core::getInstance()
core::getInstance()->core::getInstance()
14 штук - не много ли?
Не проще ли в переменную записать и использовать?
Это тоже: modulesInterface()
/core/config.php
Код:
class cfg {
switch($host) {
public function __construct() {
case "baikalia.com":
$this->MySQLUsername = "baikalia_v2";
ЧО? Не, я серьезно?
Зачем конфиг для нескольких сайтов? require_once 'local_settings.php' для такого и заигнорить его на репозитории.
/modules/tours/controller.php
Свич лишний. Раздели хоть по экшенам.
Код:
->setUrlPart(isset($_REQUEST['urlPart']) ? $_REQUEST['urlPart'] : null)
->setText(isset($_REQUEST['text']) ? $_REQUEST['text'] : null)
->setRedirect(isset($_REQUEST['redirect']) ? $_REQUEST['redirect'] : null)
->setPublic(isset($_REQUEST['public']) ? $_REQUEST['public'] : null)
->setLider(isset($_REQUEST['lider']) ? $_REQUEST['lider'] : null)
->setPublic(isset($_REQUEST['public']) ? $_REQUEST['public'] : null)
Даже не захотелось сделать удобный request?
Может исключения стоит типизировать?
Код:
$this->photos($model->category());
Вот этот момент(то, что внутри) не то, что до ООП не дотягивает, а даже до модульного.
Ну и переименовать методы не мешает.
Код:
$mysql->escape($row['urlPart'])."', '".$mysql->escape($row['url'])."', '".$mysql->escape($row['hotel'])."', '".$mysql->escape($row['stars'])."', '".$mysql->escape($row['photo'])."', '".$mysql->escape($row['text'])."', '".$mysql->escape($row['moduleTemplate'])."', '1', '".$mysql->escape($row['lider'])."', '".$mysql->escape($row['position'])."', '".$mysql->escape($row['lang']
ЧТО ЭТО? Ничего не хочется сделать? И это много где такое встречается.
/modules/tours/model.php
Код:
* Enter description here ...
Убрать.
Далее, я не понял какую задачу решает модель.
По сути ее можно раз в 5 сократить?
Код:
public function loadCategories() {
$keys = array_keys($this->categories);
foreach ($keys as $key) {
unset($this->categories[$key]);
}
$this->categories = array();
ФЕЕРИЯ!
/modules/tours/view.php
Зачем на каждый новый шаблон новый метод?
/modules/tours/templates/ru/category.tpl.php
Наконец то что-то нормальное

Хотя я бы использовал альтернативный синтаксис - c endблок и двоеточиями. Ну и короткие пхп-теги выглядят получше. Это так, для верстальщика
