Рендерит  список   страниц
961059
public function getContent($pages, $currentpage)
    {
        if ($pages == 1)
            return "";

 
        $content = "";
        


        if ($currentpage >1) {
            $content .= "<td align='left'><a      href=\"javascript:void(0);\" onclick=\"" . $this->getUrl($currentpage - 1) . "\"><i class=\"fa fa-arrow-left\"></i> следующие</a></td>";
        }  
        if ($currentpage < $pages ) {
            $content .= " <td align='right'> <a    href=\"javascript:void(0);\" onclick=\"" . $this->getUrl($currentpage + 1) . "\"> предыдущие <i class=\"fa fa-arrow-right\"></i></a></td>";
        }
   

    
        $content = $content . "</ul>";
        $countall = $this->datalist->getAllRowsCount();
        $show =  $currentpage *  $this->datalist->getPageSize();
        if($pages ==$currentpage) $show = $countall;
        if($countall <=  $this->datalist->getPageSize()) $show = $countall;
        
        
        if($countall>0){
           $content = "<table class=\"w-100\"  ><tr><td width=\"125px\" valign='middle'>{$show}   строк из {$countall} &nbsp;&nbsp;&nbsp;&nbsp;</td> {$content}</tr></table>";
        }
        
        return $content  ;
    }
146270
public function clientRenderContent()
    {
        /** @var TClientUI $page */
        $page = Eresus_Kernel::app()->getPage();
        $section = Html_SiteSection::createFromWebPage($page);

        if (!$this->isValidRequest())
        {
            $page->httpError(404);
        }

        if ($section->getOption('html.rel_canonical', true))
        {
            /*
             * TODO После выполнения https://github.com/Eresus/EresusCMS/issues/39
             * можно будет переделать
             */
            $headProperty = new ReflectionProperty('WebPage', 'head');
            $headProperty->setAccessible(true);
            $head = $headProperty->getValue($page);
            $head['content'] .= '<link rel="canonical" href="' . $section->getClientUrl() . '">';
            $headProperty->setValue($page, $head);
        }

        $html = $page->content;

        return $html;
    }
96412
public function boot() {
        foreach(Boot::$boots as $dir_boot) {
            $dir_boot = str_replace('\\', '/', $dir_boot);
            $files    = rglob('*.php', 0, $dir_boot);
            foreach($files as $path) {
                include_once $path;
            }
        }
        //регистрация политик моделей
        //        foreach(Boot::policies_model() as $model_class => $policy_class) {
        //            $gate->policy($model_class, $policy_class);
        //        }
        //регистрация путей шаблонов для пространств имен
        foreach(Boot::$langs as $alias => $pathes) {
            foreach($pathes as $path) {
                $this->loadTranslationsFrom($path, $alias);
                $this->publishes([
                    $path => resource_path('lang/vendor/' . $alias),
                ]);
            }
        }
        foreach(Boot::view_paths() as $v) {
            $namespace = Arr::get($v, 'namespace');
            $view_path = Arr::get($v, 'view_path');
            $this->loadViewsFrom($view_path, $namespace);
        }
        //регистрация команд
        $this->commands(Boot::commands());
        foreach(Boot::$observers as $model_class => $observers) {
            if('_USER_' == $model_class) {
                $model_class = config('auth.providers.users.model');
            }
            $instance = new $model_class;
            
            foreach($observers as $observer) {
                foreach($instance->getObservableEvents() as $event) {
                    if(method_exists($observer, $event)) {
                        $model_class::registerModelEvent($event, $observer . '@' . $event);
                    }
                }
            }
        }
    }
273973
private function edit()
    {
        $Eresus = Eresus_CMS::getLegacyKernel();
        $item = $Eresus->db->selectItem($this->table['name'], "`id`='" . arg('id') . "'");
        $item['section'] = explode('|', $item['section']);
        $sections = $this->menuBranch();
        array_unshift($sections[0], 'ВСЕ РАЗДЕЛЫ');
        array_unshift($sections[1], 'all');
        $form = array(
            'name' => 'formEdit',
            'caption' => 'Изменить баннер',
            'width' => '95%',
            'fields' => array(
                array('type' => 'hidden', 'name' => 'update', 'value' => $item['id']),
                array('type' => 'edit', 'name' => 'caption', 'label' => '<b>Заголовок</b>',
                    'width' => '100%', 'maxlength' => '255', 'pattern' => '/.+/',
                    'errormsg' => 'Заголовок не может быть пустым!'),
                array('type' => 'listbox', 'name' => 'section', 'label' => '<b>Разделы</b>', 'height' => 5,
                    'items' => $sections[0], 'values' => $sections[1]),
                array('type' => 'edit', 'name' => 'block', 'label' => '<b>Блок баннера</b>',
                    'width' => '100px', 'maxlength' => 15,
                    'comment' => 'Для вставки баннера используйте макрос <b>$(Banners:имя_блока)</b>',
                    'pattern' => '/.+/', 'errormsg' => 'Не указан блок баннера!'),
                array('type' => 'edit', 'name' => 'priority', 'label' => 'Приоритет', 'width' => '20px',
                    'comment' => 'Если для одного раздела и одного блока задано несколько баннеров, будет ' .
                        'показан с большим приоритетом', 'default' => 0, 'pattern' => '/\d+/',
                    'errormsg' => 'Приоритет задается только цифрами!'),
                array('type' => 'edit', 'name' => 'showFrom', 'label' => 'Начало показов',
                    'width' => '100px', 'comment' => 'ГГГГ-ММ-ДД', 'default' => gettime('Y-m-d'),
                    'pattern' => '/[12]\d{3,3}-[01]\d-[0-3]\d/', 'errormsg' => 'Неправильный формат даты!'),
                array('type' => 'edit', 'name' => 'showTill', 'label' => 'Конец показов',
                    'width' => '100px', 'comment' => 'ГГГГ-ММ-ДД; Пустое - без ограничений',
                    'pattern' => '/(\d{4,4}-[01]\d-[0-3]\d)|(^$)/', 'errormsg' => 'Неправильный формат даты!'),
                array('type' => 'edit', 'name' => 'showCount', 'label' => 'Макс. кол-во показов',
                    'width' => '100px', 'comment' => '0 - без ограничений', 'default' => 0,
                    'pattern' => '/(\d+)|(^$)/', 'errormsg' => 'Кол-во показов задается только цифрами!'),
                //array ('type' => 'edit', 'name' => 'mail', 'label' => 'e-mail владельца',
                //'width' => '200px', 'maxlength' => '63'),
                array('type' => 'checkbox', 'name' => 'active', 'label' => 'Активировать'),
                array('type' => 'header', 'value' => 'Свойства баннера'),
                array('type' => 'file', 'name' => 'image', 'label' => 'Картинка или Flash', 'width' => '50',
                    'comment' => '<a></a>'),
                array('type' => 'edit', 'name' => 'width', 'label' => 'Ширина', 'width' => '100px',
                    'comment' => 'только для Flash'),
                array('type' => 'edit', 'name' => 'height', 'label' => 'Высота', 'width' => '100px',
                    'comment' => 'только для Flash'),
                array('type' => 'edit', 'name' => 'url', 'label' => 'URL для ссылки', 'width' => '100%',
                    'maxlength' => '255'),
                array('type' => 'select', 'name' => 'target', 'label' => 'Открывать',
                    'items' => array('в новом окне', 'в том же окне')),
                array('type' => 'header', 'value' => 'HTML-код баннера'),
                array('type' => 'memo', 'name' => 'html',
                    'label' => 'HTML-код (Если задан HTML-код, то предыдущие свойства игнорируются и могут' .
                        'не заполняться)',
                    'height' => '4'),
                array('type' => 'divider'),
                array('type' => 'checkbox', 'name' => 'flushShowCount',
                    'label' => 'Обнулить кол-во показов'),
            ),
            'buttons' => array('ok', 'apply', 'cancel'),
        );

        /** @var TAdminUI $page */
        $page = Eresus_Kernel::app()->getPage();
        $result = $page->renderForm($form, $item);
        return $result;
    }
1281177
public function adminRender()
	{
		$result = '';
		if (UserRights($this->access))
		{
			#FIXME: Временное решение #0000163
			$this->tabs['items'][0]['url'] =
				Eresus_Kernel::app()->getPage()->url(array('id' => '', 'section' => 'templates'));
			$this->tabs['items'][1]['url'] =
				Eresus_Kernel::app()->getPage()->url(array('id' => '', 'section' => 'std'));
			$this->tabs['items'][2]['url'] =
				Eresus_Kernel::app()->getPage()->url(array('id' => '', 'section' => 'css'));
			/** @var TAdminUI $page */
			$page = Eresus_Kernel::app()->getPage();
			$result .= $page->renderTabs($this->tabs);
			switch (arg('section'))
			{
				case 'css':
					$result .= $this->sectionStyles();
					break;
				case 'std':
					$result .= $this->sectionStd();
					break;
				case 'themes':
				default:
					$result .= $this->sectionTemplates();
					break;
			}
		}
		return $result;
	}
409468
protected function adaptVisitsViewsUsers()
    {

        //Формируем массив данных для графика
        $itemArray = [];

        foreach ($this->data['data'] as $item) {
            $itemArray['date'][] = Carbon::createFromFormat('Y-m-d',
                $item['dimensions'][0]['name'])->formatLocalized('%e.%m');
            $itemArray['visits'][] = $item['metrics'][0];
            $itemArray['pageviews'][] = $item['metrics'][1];
            $itemArray['users'][] = $item['metrics'][2];
        }

        $dataArray = [
            ['name' => 'Визиты', 'data' => $itemArray['visits']],
            ['name' => 'Просмотры', 'data' => $itemArray['pageviews']],
            ['name' => 'Посетители', 'data' => $itemArray['users']],
        ];

        $this->adaptData = [
            'dataArray' => json_encode($dataArray, JSON_UNESCAPED_UNICODE),
            'dateArray' => json_encode($itemArray['date'],
                JSON_UNESCAPED_UNICODE),
        ];
    }
814176
public function getHTML()
    {
        $this->parse();
        $xml = clone $this->xml;

        /* Удаляем расширенные теги */
        $tags = $xml->getElementsByTagNameNS(self::NS, '*');
        while ($tags->length > 0)
        {
            $node = $tags->item(0);
            $node->parentNode->removeChild($node);
        }

        // Есть ли поля для выбора файлов?
        $hasFileInputs = false;

        /*
         * Удаляем расширенные атрибуты
         * Ищем input[type=file]
         */
        $tags = $xml->getElementsByTagName('*');
        for ($i = 0; $i < $tags->length; $i++)
        {
            $node = $tags->item($i);

            $isElement = $node->nodeType == XML_ELEMENT_NODE;
            /** @var DOMElement $node */
            $hasAttributes = $isElement && $node->hasAttributes();

            if ($isElement && $hasAttributes)
            {
                /** @var DOMNamedNodeMap $attrs */
                $attrs = $node->attributes;
                for ($j = 0; $j < $attrs->length; $j++)
                {
                    /** @var DOMAttr $attr */
                    $attr = $attrs->item($j);
                    if ($attr->namespaceURI == self::NS)
                    {
                        $attr->ownerElement->removeAttributeNode($attr);
                        $j--;
                    }
                }

                if ($node->tagName == 'input' && $node->getAttribute('type') == 'file')
                {
                    $hasFileInputs = true;
                }
            }
        }

        if ($hasFileInputs)
        {
            /** @var DOMElement $element */
            $element = $xml->firstChild->nextSibling;
            $element->setAttribute('enctype', 'multipart/form-data');
        }

        // Предотвращаем схлопывание пустых textarea
        $tags = $xml->getElementsByTagName('textarea');
        for ($i = 0; $i < $tags->length; $i++)
        {
            $node = $tags->item($i);
            $cdata = $xml->createCDATASection('');
            $node->appendChild($cdata);
        }

        $xml->formatOutput = true;
        $html = $xml->saveXML($xml->firstChild->nextSibling);
        // Удаляем атрибуты пространств имён
        $html = preg_replace('/\s*xmlns:\w+=("|\').*?("|\')/', '', $html);
        // Удаляем пустые <![CDATA[]]>
        $html = str_replace('<![CDATA[]]>', '', $html);

        return $html;
    }
1059700
private function loadContentTypes()
    {
        $result[0] = array();
        $result[1] = array();

        /*
         * Стандартные типы контента
         */
        $result[0] []= admPagesContentDefault;
        $result[1] []= 'default';

        $result[0] []= admPagesContentList;
        $result[1] []= 'list';

        $result[0] []= admPagesContentURL;
        $result[1] []= 'url';

        /*
         * Типы контентов из плагинов
         */
        $plugins = Eresus_Plugin_Registry::getInstance();
        foreach ($plugins->getEnabled() as $plugin)
        {
            if (
                $plugin instanceof ContentPlugin ||
                $plugin instanceof TContentPlugin
            )
            {
                $result[0][] = $plugin->title;
                $result[1][] = $plugin->name;
            }
        }

        return $result;
    }
658304
public function init()
    {
        // Если гость ...
        if (Yii::$app->getUser()->isGuest) {
            // ... то корзину храним в сессии
            $this->basket = new SessionBasket();
        } else {
            // ... иначе в БД
            $this->basket = new DbBasket();
            $this->basket->idUser = Yii::$app->user->identity->getId();
        }

        $this->basket->owner  = $this;

        // Если в сессии осталась корзина, а пользователь уже не гость => сливаем в БД
        if(!is_null(Yii::$app->session->get($this->storageName, null)) && !Yii::$app->getUser()->isGuest) {
            $this->basket->merge();
        }

        // Кешируем товары
        // Это нужно, чтобы для проверки в корзине товар или нет, не делать запросы в БД для каждого товара
        $this->cache = $this->basket->getBasketProducts();
    }
683010
function __smart_body_template_check()
	{
		if(!empty($this->attr['__smart_body_template_checked']))
			return;

		$this->attr['__smart_body_template_checked'] = true;

		if(!empty($this->attr['body_template']))
		{
			switch(pathinfo($this->attr['body_template'], PATHINFO_EXTENSION))
			{
				case 'tpl':
				{
					$this->attr['body_template_class'] = 'bors_templates_smarty';
					return;
				}
			}
		}

		$current_class = get_class($this);
		$class_files = $GLOBALS['bors_data']['classes_included'];
		$ext	= $this->body_template_ext();
		$suffix	= $this->body_template_suffix();
		$is_smart = $this->is_smart();

		while($current_class)
		{
			if(!($class_file = @$class_files[$current_class]))
			{
				$reflector = new ReflectionClass($current_class);
				$class_file = $reflector->getFileName();
			}

			if($base = preg_replace("!(.+/\w+)\..+?$!", "$1.", $class_file))
			{
				if($is_smart)
				{
					if($suffix && file_exists($bt = $base.$suffix.'.tpl'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templates_smarty';
						return;
					}

					// Было перед .html Из-за этого на страницах с переназначаемым расширением, типа
					// http://www.aviaport.ru/events/apczima2012/
					// грузились базовые формы.
					if(file_exists($bt = $base.$ext))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = $this->body_template_class();
						return;
					}
					if(file_exists($bt = $base.'tpl.php'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templaters_php';
						return;
					}
					if(file_exists($bt = $base.'md'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templaters_markdown';
						return;
					}
					if(file_exists($bt = $base.'tpl'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templates_smarty';
						return;
					}
					if(file_exists($bt = $base.'haml') && class_exists('bors_templates_phaml'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templates_phaml';
						return;
					}
					if(file_exists($bt = $base.'html'))
					{
						$this->attr['body_template'] = $bt;
						$this->attr['body_template_class'] = 'bors_templates_smarty';
						return;
					}

					foreach(glob($base.'*') as $test_file)
					{
						$test_ext = str_replace($base, '', $test_file);
						switch($test_ext)
						{
							case 'bbh.tpl':
								$this->attr['body_template'] = $base.$test_ext;
								$this->attr['body_template_class'] = 'bors_templates_bbhtpl';
								continue;
							case 'lcml.tpl':
								$this->attr['body_template'] = $base.$test_ext;
								$this->attr['body_template_class'] = 'bors_templates_lcmltpl';
								continue;
							default:
								$class_name = 'bors_templates_'.str_replace('.', '', $test_ext);
								if(!class_exists($class_name))
									continue;

								$this->attr['body_template'] = $base.$test_ext;
								$this->attr['body_template_class'] = $class_name;
								continue;
						}
					}

					if(!empty($this->attr['body_template_class']))
						return;
				}
				else
				{
					if(file_exists($template_file = $base.$ext))
						return "xfile:{$template_file}";
				}
			}

			$current_class = get_parent_class($current_class);
		}
	}
628811
function _1CMethodDescription(parentModule) {

    // Идентификатор (имя) метода.
    this.Name = "";

    // Тип метода. Если истина - то это Процедура, иначе - это функция.
    this.IsProc = false;

    // Массив параметров метода.
    this.Params = new Array();

    // Массив явным образом объявленных переменных.
    this.DeclaredVars = new Array();

    // Массив автоматических локальных переменных (не объявленных явным образом).
    this.AutomaticVars = new Array();

    // Список вызовов: массив методов, вызываемых из данного метода.
    this.Calls = new Array();
    this._CallsUpper = new Array();
    this.CallsPosition = new Array();

    // Номер строки объявления метода.
    this.StartLine = 0;

    // Номер строки завершения объявления метода.
    this.EndLine = 0;

    // Ассоциативный массив Имя переменной -> Тип переменной (пока тип всегда null).
    this._varsTypes = {};

    // Контекст модуля, в котором объявлен данный метод (_1CModuleContextDescription).
    this.parentModule = parentModule;
    
    // Экспортная процедура или нет. 
    this.IsExport = false;
    
    this.description = "";
    
}
790667
def rl_cleanspaces(x):
    
    patterns = (
        # arguments for re.sub: pattern and repl
        # удаляем пробел перед знаками препинания
        (r' +([\.,?!\)]+)', r'\1'),
        # добавляем пробел после знака препинания, если только за ним нет другого
        (r'([\.,?!\)]+)([^\.!,?\)]+)', r'\1 \2'),
        # убираем пробел после открывающей скобки
        (r'(\S+)\s*(\()\s*(\S+)', r'\1 (\3'),
    )
    # удаляем двойные, начальные и конечные пробелы
    return os.linesep.join(
        ' '.join(part for part in line.split(' ') if part)
        for line in _sub_patterns(patterns, x).split(os.linesep)
    )
435901
function f_urun_teklif_temp(_tahta_id, _urun_id, _para_id, _onay_durum_id) {

        //ürüne verilmiş tüm teklifleri para birimine göre teklif tarihleri ile sette tutuyoruz
        var sonucAnahtari = result.kp.temp.zsetUrunTeklifleriParaBirimli(_tahta_id, _urun_id, _para_id);
        return result.dbQ.zcard(sonucAnahtari)
            .then(function (_iToplam) {
                if (_iToplam == 0) {
                    return result.dbQ.zinterstore(sonucAnahtari, 2,
                        result.kp.urun.ssetTeklifleri(_tahta_id, _urun_id),
                        result.kp.teklif.ssetTeklifParaBirimli(_para_id))

                } else {
                    return _iToplam;
                }
            })
            .then(function (_iToplam) {
                if (_onay_durum_id && _onay_durum_id > 0) {
                    //ürünle ilgili teklif onay durumuna göre temp oluştur
                    var anahtar = result.kp.temp.zsetUrunTeklifleriOnayDurumunaGore(_tahta_id, _urun_id, _onay_durum_id);
                    return result.dbQ.zcard(anahtar)
                        .then(function (_iToplam) {
                            if (_iToplam == 0) {
                                /* return result.dbQ.zinterstore(anahtar, 2,
                                 result.kp.temp.zsetUrunTeklifleriParaBirimli(_tahta_id, _urun_id, _para_id),
                                 result.kp.teklif.ssetTeklifOnayDurumlari(_onay_durum_id)); */

                                return result.dbQ.zinterstore(anahtar, 2,
                                    result.kp.urun.ssetTeklifleri(_tahta_id, _urun_id),
                                    result.kp.teklif.ssetTeklifOnayDurumlari(_onay_durum_id));
                            } else {
                                return _iToplam;
                            }
                        })
                } else {
                    return _iToplam;
                }
            });
    }
1142637
function field_prep(&$item)
    {
        $item['type'] = strtolower($item['type']);
        # Метка
        if (!isset($item['label'])) $item['label'] = '';
        # Подсказка
        if (isset($item['hint'])) $item['label'] = '<span class="hint" title="'.$item['hint'].'">'.$item['label'].'</span>';
        # Маска значения
        if (isset($item['pattern']) && isset($item['name']))
            $this->validator .= "
				if (!form.".$item['name'].".value.match(".$item['pattern'].")) {
					alert('".(isset($item['errormsg'])?$item['errormsg']:sprintf(errFormPatternError, $item['name'], $item['pattern']))."');
					result = false;
					form.".$item['name'].".select();
				} else ";
        # Значение
        $item['value'] = isset($item['value']) ? $item['value']
            : (isset($item['name']) && isset($this->values[$item['name']]) ? $this->values[$item['name']]
                : (isset($item['default']) ? $item['default']
                    : '' )
            );
        # ID
        if (!isset($item['id'])) $item['id'] = '';
        # Элемент отключен
        if (!isset($item['disabled'])) $item['disabled'] = '';
        # Комментарий
        $item['comment'] = isset($item['comment']) ? ' '.$item['comment'] : '';
        # Стили
        $item['style'] = isset($item['style']) ? explode(';', $item['style']) : array();
        # Классы
        $item['class'] = isset($item['class']) ? explode(' ', $item['class']) : array();
        # Дополнительно
        if (!isset($item['extra'])) $item['extra'] = '';
    }
724853
public function validate()
    {
        $preFunctions = $this->getPreFunctions();
        $postFunctions = $this->getPostFunctions();
        $validators = $this->getValidators();
        $conditionalResults = $this->getConditionalResults();

        ValidationHelper::validate($preFunctions);
        ValidationHelper::validate($postFunctions);
        ValidationHelper::validate($validators);
        ValidationHelper::validate($conditionalResults);

        $unconditionalResult = $this->getUnconditionalResult();
        if (null === $unconditionalResult && $conditionalResults->count() > 0) {
            $name = (string)$this->getName();
            $errMsg = sprintf('Действие %s имеет условные условия, но не имеет запасного безусловного', $name);
            throw new InvalidWorkflowDescriptorException($errMsg);
        }

        $restrictions = $this->getRestriction();
        if ($restrictions !== null) {
            $restrictions->validate();
        }

        if ($unconditionalResult !== null) {
            $unconditionalResult->validate();
        }
    }
338344
public function updateSettings()
    {
        /*
         * Загрузка логотипа
         */
        if (isset($_FILES['logoImage']['tmp_name']) &&
            is_uploaded_file($_FILES['logoImage']['tmp_name']))
        {
            if (substr($_FILES['logoImage']['name'], -3) == 'png')
            {
                upload('logoImage', $this->getDataDir() .'/logo.png');
            }
            else
            {
                Eresus_Kernel::app()->getPage()
                    ->addErrorMessage('Логотип должен быть в формате PNG');
            }
        }

        try
        {
            $this->templates()->clientWrite('image-list.html', arg('tmplImageList'));
            $this->templates()->clientWrite('image-list.html', arg('tmplImageList'));
            $this->templates()->clientWrite('image-grouped-list.html', arg('tmplImageGroupedList'));
            $this->templates()->clientWrite('image.html', arg('tmplImage'));
            $this->templates()->clientWrite('popup.html', arg('tmplPopup'));
        }
        catch (Exception $e)
        {
            throw new RuntimeException(
                'Не удалось изменить один или несколько шаблонов. Подробная информация доступна в журнале.',
                0,
                $e);
        }

        parent::updateSettings();
    }
1129122
public function init()
	{
		if ($this->conf['timezone'])
		{
			date_default_timezone_set($this->conf['timezone']);
		}
		# Определение путей
		$this->init_resolve();
		# Инициализация сессии
		$this->init_session();
		# Изменяем путь поиска подключаемых файлов
		set_include_path(dirname(__FILE__) . '/lib' . PATH_SEPARATOR . get_include_path());
		# Читаем настройки
		$this->initSettings();
		# Первичный разбор запроса
		$this->init_request();
		# Настройка локали
		$this->initLocale();
		# Подключение базовых классов
		$this->initClasses();
		# Инициализация расширений
		$this->init_extensions();
		# Подключение к источнику данных
		$this->initDataSource();
        $this->plugins = Eresus_Plugin_Registry::getInstance();
        $this->plugins->init();
		# Проверка сессии
		$this->check_session();
		# Проверка логина/логаута
		$this->check_loginout();
		# Попытка cookie-логина
		$this->check_cookies();
		# Обновление данных о пользователе
		$this->reset_login();
		$this->sections = new Sections;
		$GLOBALS['KERNEL']['loaded'] = true; # Флаг загрузки ядра
	}