Сгенерировать весь конфиг
426481
public function generateAll()
    {
        try {
            $generator = new AdminGenerator;
            $generator->MakeDirectory();
            $config = config('qstorage');
            $msg = '';
            foreach ($config as $key => $value) {
                $generator->makeBlock($key);
                $msg = $msg . 'Блок сгенерирован  ' . $key . '</br>';
            }
            return $msg;
        } catch (\Exception $exception) {
            return 'Что то пошло не так' . $exception->getMessage();
        }
    }
342612
public function register()
    {
        // Регистрируем конкретный сторэйдж из списка доступных.
        $this->app->singleton(StorageInterface::class, function (Container $app) {
            // Defined driver
            $selectedDriver = config('api-tester.storage_driver');
            $driverClassName = config('api-tester.storage_drivers')[$selectedDriver];
            $requestCollection = $app->make(RequestCollection::class);

            if ($selectedDriver === 'firebase'){
                $tokenGenerator = $app->make(TokenGenerator::class);
                $base = config('api-tester.storage_drivers.firebase.options.base');

                return new FireBaseStorage($requestCollection, $tokenGenerator, $base);
            }

            if ($selectedDriver === 'file'){
                $fileSystem = $app->make(Filesystem::class);
                $path = config('api-tester.storage_drivers.file.options.path');

                return new JsonStorage($fileSystem, $requestCollection, $path);
            }

            throw new Exception("Driver $selectedDriver doesn't exist. Use either 'firebase' or 'file'.");
        });

        // Регистрация токен-генератора. Привязывается к ключу а не классу,
        // чтобы не конфликтовать с пользовательским генератором токенов.
        $this->app->singleton('api-tester.token_generator', function (Container $app) {
            $config = $app['config']['api-tester.storage_drivers.firebase.token'];
            return (new TokenGenerator($config['secret']))
                ->setOptions($config['options'])
                ->setData($config['data']);
        });

        // Подсовываем генератор в сторэйдж
        $this->app
            ->when(FireBaseStorage::class)
            ->needs(TokenGenerator::class)
            ->give('api-tester.token_generator');
    }
84775
public function generate($dest_folder, $dest_name, $orig_ext)
    {
        // Убираем из имени файла цифры в скобках, если они есть
        $dest_name = preg_replace('/\(.+\)/i', '', $dest_name);

        $file_name = $dest_name . '.' . $orig_ext;

        $check = $dest_folder . $file_name;
        $inc = 1;
        while (is_readable($check) && is_file($check)) {
            $file_name = $dest_name . '(' . $inc . ').' . $orig_ext;
            $check = $dest_folder . $file_name;
            $inc++;
        }

        return $file_name;
    }
1025040
private function init_session()
	{
		session_set_cookie_params(ini_get('session.cookie_lifetime'), $this->path);
		session_name('sid');
		session_start();
		$this->session = &$_SESSION['session'];
		if (!isset($this->session['msg']))
		{
			$this->session['msg'] = array('error' => array(), 'information' => array());
		}
		$this->user = &$_SESSION['user'];

		# Обратная совместимость
		$GLOBALS['session'] = &$_SESSION['session'];
		$GLOBALS['user'] = &$_SESSION['user'];
	}
492525
final protected function _process() {
		/**
		 * 2016-08-22
		 * Помимо добавления поля в таблицу «customer_entity» надо ещё добавить атрибут,
		 * иначе данные не будут сохраняться:
		 *		$attribute = $this->getAttribute($k);
		 *		if (empty($attribute)) {
		 *			continue;
		 *		}
		 * https://github.com/magento/magento2/blob/2.1.0/app/code/Magento/Eav/Model/Entity/AbstractEntity.php#L1262-L1265
		 */
		if ($this->v('1.7.4')) {
			df_eav_setup()->addAttribute('customer', UpgradeSchema::F__DF, [
				'input' => 'text'
				,'label' => 'Mage2.PRO'
				,'position' => 1000
				,'required' => false
				,'sort_order' => 1000
				,'system' => false
				,'type' => 'static'
				,'visible' => false
			]);
		}
	}
1156959
function () {
            // все аргументы, кроме последнего считаются необходимыми зависимостями
            var depsList = franky.toArray(arguments).slice(0, arguments.length - 1),
            // последний аргумент - функция в которую уйдут удовлетворенные зависимости
                callback = arguments[arguments.length - 1];
            // обработка зависимостей
            depsList = franky.map(depsList, function (depsItem) {
                if (!libs[depsItem]) {
                    throw new Error('Unmet dependency:' + depsItem);
                }
                // если модуль представляет из себя синглтон - кешируем его
                if (cached[depsItem]) {
                    libs[depsItem] = franky.isFunction(libs[depsItem]) ? libs[depsItem]() : libs[depsItem];
                    return libs[depsItem];
                } else {
                    return libs[depsItem]();
                }
            });

            // пробрасываем удовлетворенные зависимости
            callback.apply(this, depsList);

            return this;
        }
1028832
private function _detect($word, array $suggestions, $is_sc)
	{
		if (0) #DEBUG
		{
			//$suggestions['?'] = $word;
			var_export($suggestions);
		}
		#не д. б. несуществующих N-грамм
		foreach ($suggestions as $type => $w)
		{
			$lang = substr($type, 0, 2);
			if ($this->_bigram_exists($w, $lang)) unset($suggestions[$type]);
		}
		if (0) #DEBUG
		{
			//$suggestions['?'] = $word;
			var_export($suggestions);
		}
		if (count($suggestions) === 0) return $word;

		$s = end($suggestions);

		#если в $word были спецсимволы, а в $s их уже нет, возвращаем $s
		if ($is_sc && ! preg_match('/' . $this->sc . '/sSX', $s)) return $s;
		
		#если в $s спецсимволов больше чем букв, возвращаем $word
		$sc_count = 0;
		$s = preg_replace('/' . $this->sc . '/sSX', '', $s, -1, $sc_count);
		if ($sc_count > 0 && $sc_count > UTF8::strlen($s)) return $word;

		return reset($suggestions);
	}
114500
public function postCreateOrder()
	{
		$data = Input::all();
		//Проверяем данные на валидность
		$validator = Validator::make(
			$data,
			Validators::rulesForNewOrder(),
			Validators::messagesForErrors()
		);
		$userMessages = $validator->messages();

		//Если есть ошибки, возвращаем
		if ($validator->fails()) {
			$result['errors'] = array(
				'item'    => $userMessages->first('item'),
				'sum'     => $userMessages->first('sum'),
				'tel'     => $userMessages->first('tel'),
				'comment' => $userMessages->first('comment'),
			);

			return $result;
		}
		//Предполагаем ошибку
		$result['errors'] = array(
			'common' => 'Ошибка. Повторите ещё раз.',
		);

		//Создаём заказ
		$data['user_id'] = Config::get('ff-qiwi-shop::user_id');
		$validity = Setting::find($data['user_id'])->lifetime;
		$data['lifetime'] = date('Y-m-d H:i:s', time() + 3600 * 24 * $validity);

		$order = new Order();
		$order->saveData($data);

		//Если заказ создан, то вместо ошибки отдаём ОК
		if ($order) {
			$result = array(
				'result'   => 'ok',
				'order_id' => $order->id,
				'message'  => 'Заказ №' . $order->id . ' успешно создан.',
			);
		}

		return $result;
	}
1278360
public function processCallback()
	{
		$request = Request::header();
		Log::info('Пришёл запрос callback с такими заголовками ', $request);
		$provider = $this->getProvider();
		$oSettings = Setting::whereGateId($provider['login'])->first();
		$this->setConfigForGateway($oSettings);

		$requestParams = Input::all();
		Log::info('Получены параметры в qiwi-shop для обработки callback:', array(
			'$requestParams' => $requestParams,
			'$provider'      => $provider,
		));
		$gate = new Gateway($this->makeCurl());
		if ($gate->doParseCallback($requestParams)) {
			$order = Order::find($gate->getCallbackOrderId());
			if (!$order) {
				$gate->createCallbackResponse(Gateway::C_BILL_NOT_FOUND);

				return $gate->doCallbackResponse();
			}
			$newStatus = $gate->getValueBillStatus();
			Log::info('Статусы заказов после обработки callback:', array(
				'oldStatus' => $order->status,
				'newStatus' => $newStatus,
			));
			if ($order->status != $newStatus) {
				$order->status = $newStatus;
				$order->save();
			}
		}

		return $gate->doCallbackResponse();
	}
396973
function items2models(items, params) {
        // приводим к формату №2
        if (typeof items === 'string') {
            items = [ items ];
        }

        // приводим №2 к формату №3
        if (typeof items[0] === 'string') {
            params = params || {};
            items = normalizeItems(items, params);
        }

        var models = [];
        for (var i = 0, l = items.length; i < l; i++) {
            var item = items[i];
            // ns.request( [ ModelInstance ] )
            if (item instanceof ns.Model) {
                models.push(item);

            } else if (item.model && item.model instanceof ns.Model) {
                models.push(item.model);

            } else {
                models.push(ns.Model.get(item.id, item.params));
            }
        }

        return models;
    }
283529
private function init_request()
	{
		global $request;

		# Значения по умолчанию
		$request = array(
			'method' => $_SERVER['REQUEST_METHOD'],
			'scheme' => isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ? 'https' : 'http',
			'host' => strtolower($_SERVER['HTTP_HOST']),
			'port' => '',
			'user' => isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '',
			'pass' => isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '',
			'path' => '',
			'query' => '',
			'fragment' => '',
			'referer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
		);

		$request['url'] = $request['scheme'] . '://' . $request['host'] . $_SERVER['REQUEST_URI'];

		$request = array_merge($request, parse_url($request['url']));
		$request['file'] = substr($request['path'], strrpos($request['path'], '/')+1);
		if ($request['file'])
		{
			$request['path'] = substr($request['path'], 0, -strlen($request['file']));
		}

		# Создаем заготовку URL для GET-запросов с параметрами
		$request['link'] = $request['url'];
		if (substr($request['link'], -1) == '/')
		{
			$request['link'] .= '?';
		}
		elseif (strpos($request['link'], '?') === false)
		{
			$request['link'] .= '?';
		}
		else
		{
			$request['link'] .= '&';
		}

		if (is_null($this->path))
		{
			$s = $this->froot;
			$s = substr($s,
				strlen(realpath($_SERVER['DOCUMENT_ROOT'])) - (Eresus_Kernel::isWindows() ? 2 : 0));
			if (!strlen($s) || substr($s, -1) != '/')
			{
				$s .= '/';
			}
			$this->path = (substr($s, 0, 1) != '/' ? '/' : '').$s;
		}

		/*
		 * Установка свойств объекта $Eresus
		 * Должна выполняться ДО вызова __clearargs
		 */
		$root = $request['scheme'] . '://' . $request['host'] .
			($request['port'] ? ':'.$request['port'] : '');
		$this->root = $root.$this->path;
		$this->data = $this->root.'data/';
		$this->style = $this->root.'style/';


		# Сбор аргументов вызова
		$request['arg'] = __clearargs(array_merge($_GET, $_POST));
		# Разбивка параметров вызова скрипта
		$s = substr($request['path'], strlen($this->path));
		$request['params'] = $s ? explode('/', substr($s, 0, -1)) : array();

		$request['path'] = $root.$request['path'];

		# Обратная совместимость
		# <= 2.9
		$this->request = &$request;
        /**
         * @deprecated с 3.01
         */
		define('httpPath', $this->path);
        /**
         * @deprecated с 3.01
         */
		define('httpHost', $this->request['host']);
        /**
         * @deprecated с 3.01
         */
        define('httpRoot', $this->root);
        /**
         * @deprecated с 3.01
         */
		define('styleRoot', $this->style);
        /**
         * @deprecated с 3.01
         */
		define('dataRoot', $this->data);
        /**
         * @deprecated с 3.01
         */
		define('cookieHost', $this->request['host']);
        /**
         * @deprecated с 3.01
         */
		define('cookiePath', $this->path);
	}
1157586
private function sectionStdAdd()
	{
		/*
		 * Создаём список имеющихся шаблонов чтобы отфильтровать их из списка доступных.
		 */
		$templates = Templates::getInstance();
		$list = array_keys($templates->enum('std'));
		$existed = array();
		foreach ($list as $key)
		{
			$existed []= $key;
		}


		$values = array();
		$items = array();
		$jsArray = "var aTemplates = Array();\n";
		foreach ($this->stdTemplates as $key => $item)
		{
			if (in_array($key, $existed))
			{
				continue;
			}
			if (!isset($hint))
			{
				$hint = isset($item['hint']) ? $item['hint'] : '';
			}
			$values[] = $key;
			$items[] = $item['caption'];
			$jsArray .= "aTemplates['".$key."'] = '".(isset($item['hint'])?$item['hint']:'')."'\n";
		}
		if (!isset($hint))
		{
			$hint = '';
		}

		Eresus_Kernel::app()->getPage()->addScripts($jsArray."
			function onTemplateNameChange()
			{
				document.getElementById('templateHint').innerHTML =
					aTemplates[document.addForm.elements.namedItem('name').value];
			}
		");
		$form = array(
			'name' => 'addForm',
			'caption' => Eresus_Kernel::app()->getPage()->title.ADM_T_DIV.ADM_ADD,
			'width' => '100%',
			'fields' => array (
				array('type'=>'hidden','name'=>'action', 'value'=>'insert'),
				array('type'=>'hidden','name'=>'section', 'value'=>arg('section')),
				array('type'=>'select','name'=>'name','label'=>ADM_THEMES_TEMPLATE, 'values'=>$values,
					'items'=>$items, 'extra' => 'onChange="onTemplateNameChange()"'),
				array('type'=>'text','name'=>'hint', 'value' => $hint, 'extra' => 'id="templateHint"'),
				array('type'=>'memo','name'=>'code', 'height'=>'30', 'syntax' => 'html'),
			),
			'buttons' => array('ok','cancel'),
		);
		/* @var TAdminUI $page */
		$page = Eresus_Kernel::app()->getPage();
		$result = $page->renderForm($form);
		return $result;
	}
838638
function cfg($key, $default = null) {
		/** @var mixed $result */
		/**
		 * 2015-03-26
		 * Раньше здесь стоял вызов @see getData()
		 * Однако при новой реализации @see getData()
		 * разумнее вызывать сразу @uses offsetGet():
		 * нам тогда не приходится обрабатывать ситуацию с пустым ключом $key:
		 * при вызове @see cfg() ключ не может быть пустым.
		 *
		 * Обратите внимание, что вызывать @see _getData() здесь ошибочно,
		 * потому что тогда могут не сработать валидаторы и фильтры.
		 */
		$result = $this->offsetGet($key);
		// Некоторые фильтры заменяют null на некоторое другое значение,
		// поэтому обязательно учитываем равенство null
		// значения свойства ДО применения фильтров.
		//
		// Раньше вместо !is_null($result) стояло !$result.
		// !is_null выглядит логичней.
		//
		// 2015-02-10
		// Раньше код был таким:
		// $valueWasNullBeforeFilters = dfa($this->_valueWasNullBeforeFilters, $key, true);
		// return !is_null($result) && !$valueWasNullBeforeFilters ? $result : $default;
		// Изменил его ради ускорения.
		// Неожиданным результатом стала простота и понятность нового кода.
		return df_if1(
			null === $result
			|| !isset($this->_valueWasNullBeforeFilters[$key])
			|| $this->_valueWasNullBeforeFilters[$key]
			, $default
			, $result
		);
	}
38061
protected function RenderImpl()
    {

        //   $this->beforeRender();
        //$keys =   array_keys($this->components);
        foreach ($this->components as $component) {


            if ($component->isVisible()) {
                $component->Render();
            } else {
                $component->getTag()->remove();
                $label = $component->getLabelTag();
                if ($label->size() == 1) {  //прячем  связаный  тег label
                    $label->remove();
                }
                if ($label->size() > 1) {  //прячем  связаный  тег label
                    foreach ($label as $l) {
                        pq($l)->remove();
                    }
                }
            }
        }
        //   $this->afterRender();
    }
49911
public function save()
    {
        $this->_slug = trim(trim($this->_slug), '/');
        if (is_null($this->_slugModel) || $this->_slugModel->slug !== $this->_slug) {
            //Если уже есть запись с таким slug то обновим её присвоев её максимальный id + 1
            $model = SeoSlug::find()
                ->where([
                    'AND',
                    ['=', 'model', $this->owner->className()],
                    ['=', 'model_id', $this->owner->getPrimaryKey()],
                    ['=', 'slug', $this->_slug],
                ])
                ->one();
            if ($model) {
                $maxId = SeoSlug::find()
                    ->max('id');
                $oldId = $model->id;
                $model->id = ++$maxId;
                $model->save();
                SeoSlug::updateAllCounters(['id' => -1], [
                    'AND',
                    ['>', SeoSlug::tableName() . '.id', $oldId],
                ]);
            } else {
                $model = new SeoSlug();
                $model->model = $this->owner->className();
                $model->model_id = $this->owner->getPrimaryKey();
            }
            $model->slug = $this->_slug;
            $model->save();
            if (is_callable($this->afterSave)) {
                call_user_func($this->afterSave, $this);
            }
        }
    }
1223377
function(model, force) {
        var request = this._keys[model.key];
        // хотя такого не может быть, но вдруг его нет
        if (request) {
            if (model.isValid() || force) {
                request.status = this.STATUS.DONE;

            } else {
                request.status = this.STATUS.FAILED;
            }
        }
    }
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'] = '';
    }