| # |
File, Method |
Args |
| 1 |
include($file) /index.php:10
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
|
// Загрузка яда системы (определение базовых констант, переменных, include_path, // открытие сессии, и т.п.). include('core/bootstrap.php');
|
|
$file ='/var/www/business.vedomosti.ru/www/core/bootstrap.php'
|
| 2 |
Wf\Project::bootstrap() /core/bootstrap.php:9
4.
5.
6.
7.
8.
9.
10.
11.
|
define('WWW_DIR', str_replace('\\', '/', realpath(dirname(dirname(__FILE__))) . '/')); // Вся инициализация происходит внутри класса, что бы не забивать $GLOBALS не нужными переменными include_once(WWW_DIR . 'libs/Wf/Project.class.php'); \Wf\Project::bootstrap();
|
|
|
| 3 |
Wf::bootstrap() /libs/Wf/Project.class.php:33
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
|
'catalog/#dir#/#dir#/#dir#' => ['catalog', 'index'], // Три аргумента будут переданы в экшн. При запросе: 'catalog/group/sub-group/product', будет вызван $Wf_Controller_Public_Catalog->indexAction('group', 'sub-group', 'product'); 'catalog/#path#' => ['catalog', 'index'], // #path# в отличае от #dir# содержит любые символы включая слеш. Для примера выше, будет вызван этот же метод но только с одним аргументом: $Wf_Controller_Public_Catalog->indexAction('group/sub-group/product'); */ ]; \Wf::bootstrap(); // parent::bootstrap(); // Список возможных модулей которые будут отображаться в селекте при создании нового раздела сайта \Wf::$registry['arSectionTypes']['text'] = 'Текст'; \Wf::$registry['arSectionTypes']['link'] = 'Ссылка';
|
|
|
| 4 |
Wf\Site::initCurrentSite() /libs/Wf.class.php:104
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
|
// Глобальный конфиг self::$cfg = new \Wf\Cfg(WWW_DIR . 'core/configs/main.php'); // Определяет текущий сайт \Wf\Site::initCurrentSite(); // Подключает все файлы из папки /libs/Wf/Module/*.class.php \Wf\Module::includeAllModules();
|
|
|
| 5 |
Wf\Db\AbstractModel->getList() /libs/Wf/Site.class.php:35
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
|
* @return void Ничего не возвращает, но создаёт константы SITE_ID, SITE_ABBR, LANGUAGE_ID и \Wf\Site::$currentSite */ public static function initCurrentSite() { $filter = isInAdmin()? null : ['active'=>1]; // Это необходимо так как инициализация сайта происходит ДО определения дефолтного фильтра по активности $arSites = dbFactory(MODEL_SITES)->where($filter)->getList(); if (isInPublic()) { // В публичной части сайта $abbr = self::getFirstDirFromUri(@$_GET['REQUEST_URI']); $cookie = null;
|
|
|
| 6 |
Wf\Db\AbstractModel->selectRawData($showSql) /libs/Wf/Db/AbstractModel.class.php:411
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
|
*/ public function getList($showSql=null) { $queryParams = $this->_queryParams->export(); $recursive = $this->_prepareRecursive($queryParams['recursive']); $rawData = $this->selectRawData($showSql); $this->_selectRelationship($rawData, $recursive, $showSql); $this->_onAfterSelect($rawData, $recursive); return $rawData;
|
|
$showSql =NULL
|
| 7 |
Wf\Db\Sql->getAll($query, $showSql) /libs/Wf/Db/AbstractModel.class.php:508
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
|
'. Filter::getString($filter, $this->_sql) .' '. Group::getString($group) .' '. Order::getString($order) .' '. Limit::getString($limit), $showSql ); } /** * Добавляет новую запись
|
|
$query =
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
|
SELECT `r1`.* FROM `wf_sites` AS `r1` WHERE `r1`.`active` = 1 ORDER BY `r1`.`spec_order` ASC
|
$showSql =NULL
|
| 8 |
Wf\Db\Sql->_execute($query, $showSql) /libs/Wf/Db/Sql.class.php:244
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
|
* @param mixed $showSql Демонстрировать запрос * @return array Двухмероный массив */ public function getAll($query, $showSql=null) { $result = $this->_execute($query, $showSql); return $result->fetchAll(); } /**
|
|
$query =
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
|
SELECT `r1`.* FROM `wf_sites` AS `r1` WHERE `r1`.`active` = 1 ORDER BY `r1`.`spec_order` ASC
|
$showSql =NULL
|
| 9 |
Wf\Db\Sql->_init() /libs/Wf/Db/Sql.class.php:200
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
|
* @return \PDOStatement */ protected function _execute($query, $showSql=null) { if ($this->_pdo === null) { // Если это первый SQL запрос, то коннектимся к БД. $this->_init(); } $this->_cntQueries++; if($showSql !== null) { $comment = 'SQL-Query';
|
|
|
| 10 |
Wf\Db\Sql->_error($error) /libs/Wf/Db/Sql.class.php:177
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
|
for ($i=0; $i<$this->_transactionDepth; $i++) { $this->_pdo->beginTransaction(); } } } catch (\PDOException $e) { $this->_error($e->getMessage()); } // Пишем в лог, что открыто соединение if ( ! empty($this->_logFileDir)) {
|
|
$error ='SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'hbr-s2-mysql.hbr-russia.ru' (110)'
|