Поиск в массиве указанного диапазона,
 указанного в параметрах символа.

 >=0 : индекс совпавшего элемента.
  -1 : нет совпадений.
544019
def checkback ( tmp, len ) # :nodoc:
      if len > 0 then
	i = len
	len.times do
	  i = i - 1
	  return i if cmp( tmp, i )
	end
      end
      return -1
    end
910967
public function validate()
    {
        $conditions = $this->getConditions();
        ValidationHelper::validate($conditions);


        $countConditions = $conditions->count();

        if ($countConditions === 0) {
            $desc = $this->getParent();
            if ($desc instanceof ConditionalResultDescriptor) {
                $destination = $desc->getDestination();

                $parentConditionalResult = $desc->getParent();
                $from = null;
                if (method_exists($parentConditionalResult, 'getName')) {
                    $from = call_user_func([$parentConditionalResult, 'getName']);
                }
                if (!$from) {
                    $from = get_class($parentConditionalResult);
                }


                $errMsg = sprintf(
                    'Действие %s ведущее на шаг %s, должно иметь не менее одного условия в блоке result',
                    $from,
                    $destination
                );

                throw new InvalidWorkflowDescriptorException($errMsg);
            }
        }

        if ($countConditions > 1 && null === $this->getType()) {
            $errMsg = 'В условие должен быть определен тип AND или OR';
            throw new InvalidWorkflowDescriptorException($errMsg);
        }
    }
760320
public static function init()
    {
        /* Разрешаем только однократный вызов этого метода */
        if (self::$inited)
        {
            return;
        }

        // Устанавливаем кодировку по умолчанию для операций mb_*
        mb_internal_encoding('utf-8');

        /* Предотвращает появление ошибок, связанных с неустановленной временной зоной */
        @$timezone = date_default_timezone_get();
        date_default_timezone_set($timezone);

        self::initExceptionHandling();

        self::$inited = true;
    }
1346779
function validateData(data){
  /* Создаем промис */
  return new Promise(function(resolve, reject){
    if(
      (data.password == "iddqd")
      &&(data.login == "Carmak")
    ){
      /* Все верно, пользователь авторизирован */
      resolve(data);
    }else{
      /* Ошибка при вводе данных */
      reject(new Error('Ошибка при вводе логина или пароля'));
    }
  });
}
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();
	}
483605
function Doc(data, nodeName) {
    //  FIXME: Что тут использовать? Array.isArray?
    if (Array.isArray(data)) {
        data = {
            //  FIXME: Сделать название поля ('item') настраеваемым.
            'item': data
        };
    }

    this.root = {
        data: data,
        parent: null,
        name: nodeName || '',
        doc: this
    };

    this._vars = {};
    this._keys = {};
}
1197907
public function shutdown()
    {
        // Если установлен обработчик завершения выполнения скрипта - вызовем его
        if (isset(self::$shutdown_handler) && (call_user_func(self::$shutdown_handler) === false)) return null;

        //echo 'Конец';

        // Выведем все накопленные ошибки
        $this->output();
    }
892565
function render()
    {
        $result = '';     # Выходной код

        if (empty($this->form['name'])) $result .= ErrorBox(errFormHasNoName);
        if (count($this->form['fields'])) foreach($this->form['fields'] as $item) {
            # Проверяем права доступа к элементу
            if ((!isset($item['access'])) || (UserRights($item['access']))) {
                $this->field_prep($item);
                $control = 'render_'.$item['type'];
                #if (method_exists($this, $control)) $result .= call_user_func(array($this, $control), $item);
                if (method_exists($this, $control)) {
                    $result .= $this->$control($item);
                }
                else
                {
                    Eresus_Kernel::app()->getPage()->addErrorMessage(
                        sprintf(errFormUnknownType, $item['type'], $this->form['name']));
                }
            }
        }
        $this->onsubmit .= $this->validator;
        if (!empty($this->onsubmit))
        {
            Eresus_Kernel::app()->getPage()->addScripts("
				function ".$this->form['name']."Submit()
				{
					var result = true;
					var form = document.forms.namedItem('".$this->form['name']."');
					".$this->onsubmit.";
					return result;
				}
			");
        }
        # FIXME: sub_id - устаревший элемент
        $referer = arg('sub_id') ?
            Eresus_Kernel::app()->getPage()->url(array('sub_id'=>'')) :
            Eresus_Kernel::app()->getPage()->url(array('id'=>''));
        $this->hidden .= "\t\t".'<input type="hidden" name="submitURL" value="'.$referer.'" />';
        $this->hidden = "\t<div class=\"hidden\">\n\t\t{$this->hidden}\n\t</div>";
        $result =
            "<form ".(empty($this->form['name'])?'':'name="'.$this->form['name'].'" id="'.$this->form['name'].'" ')."action=\"".
            Eresus_Kernel::app()->getPage()->url()."\" method=\"post\"".(empty($this->onsubmit)?'':' onsubmit="return '.$this->form['name'].'Submit();"').($this->file?' enctype="multipart/form-data"':'').">\n".
            $this->hidden.
            "\n\t<table width=\"100%\">\n".
            "\t\t<tr><td style=\"height: 0px; font-size: 0px; padding: 0px;\">".img('style/dot.gif')."</td><td style=\"width: 100%; height: 0px; font-size: 0px; padding: 0px;\">".img('style/dot.gif')."</td>\n\t\t</tr>\n".
            $result.
            "\t\t<tr><td colspan=\"2\" class=\"ui-button-box\"><br />".
            ((isset($this->form['buttons']) && isset($this->form['buttons']['ok']))?'<button name="form_ok" type="submit">'.$this->form['buttons']['ok'].'</button> ':'').
            (!isset($this->form['buttons']) || in_array('ok', $this->form['buttons'])?"<button name=\"form_ok\" type=\"submit\">".strOk."</button> ":'').

            ((isset($this->form['buttons']) && isset($this->form['buttons']['apply']))?'<button name="form_apply" type="submit" onclick="formApplyClick(\''.$this->form['name'].'\')">'.$this->form['buttons']['apply']."</button> ":'').
            (!isset($this->form['buttons']) || in_array('apply', $this->form['buttons'])?"<button name=\"form_apply\" type=\"submit\" onclick=\"formApplyClick('".$this->form['name']."')\">" . strApply . '</button> ':'').

            ((isset($this->form['buttons']) && isset($this->form['buttons']['reset']))?'<button name="form_reset" type="reset">'.$this->form['buttons']['reset'].'</button> ':'').
            (isset($this->form['buttons']) && in_array('reset', $this->form['buttons'])?"<button name=\"form_reset\" type=\"reset\">".strReset."</button> ":'').

            ((isset($this->form['buttons']) && isset($this->form['buttons']['cancel']) && (!is_array($this->form['buttons']['cancel'])))?'<input name="form_cancel" type="button" onclick="javascript:history.back();">' . $this->form['buttons']['cancel'] . '</button>' : '').
            ((!isset($this->form['buttons']) || (in_array('cancel', $this->form['buttons'])))?"<button name=\"form_cancel\" type=\"button\" onclick=\"javascript:history.back();\">".strCancel . '</button>' :'').
            ((isset($this->form['buttons']['cancel']) && (is_array($this->form['buttons']['cancel'])))?"<button name=\"form_cancel\" type=\"button\" onclick=\"window.location.href='".$this->form['buttons']['cancel']['url']."'\">" . $this->form['buttons']['cancel']['label'] . '</button>':'').

            "</td>\n\t\t</tr>\n".
            "\t</table>\n</form>\n";

        return $result;
    }
289063
public function init()
    {

        if ( empty( $this->action_save ) ){
            throw new HttpException(200, 'Ошибка контроллера. Не передано имя метода для сохранения файла (action).');
        }
        if ( empty( $this->action_read ) ){
            throw new HttpException(200, 'Ошибка виджета. Не передано имя метода для чтения данных (action).');
        }
        if ( empty( $this->action_write ) ){
            throw new HttpException(200, 'Ошибка виджета. Не передано имя метода записи данных (action).');
        }

        parent::init();
    }
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();
    }
873482
function asCanonicalArray() {
		/** @var string $_this */
		$_this = spl_object_hash($this);
		if (!isset(self::$_canonicalArray[$_this])) {
			/**
			 * @uses \Magento\Framework\Simplexml\Element::asCanonicalArray()
			 * может возвращать строку в случае,
			 * когда структура исходных данных не соответствует массиву.
			 */
			self::$_canonicalArray[$_this] = df_result_array(parent::asCanonicalArray());
		}
		return self::$_canonicalArray[$_this];
	}
748491
static function in($value, &$error, $args)
    {
        if (sizeof($args) == 1 && is_array($args[0])) $args = $args[0];
        if (!in_array($value, $args)){
            $value = null;
            $error = new Error('Значение не в списке допустимых', 'in');
        }
        return $value;
    }
711546
public function __HANDLER()
    {
        // Create query to get users
        $query = dbQuery('user')->Active(1)->order_by('UserID');

        // Create generic table for users
        $table = new Table($query);

        // Установим представление
        m()->view('main/index')->title(t('Пользователи системы', true))
            ->all_materials(true)
            // Установим шаблон таблицы пользователей
            ->user_table($table->render());
    }
598796
function evalInput() {
    'use strict';
    if (input.value != window.lastInput) {
        var theResult, evalSucceeded;
        try {
            theResult = eval(input.value);
            evalSucceeded = true;
        } catch (e) {
            output.innerHTML = e;
        }
        if (evalSucceeded) {
            // TODO: Обработать вывод ошибок (перевод)
            output.innerHTML = (theResult + "").replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\r\n|\r|\n/g, '<br>');
        }
        window.lastInput = input.value;
    }
}
797093
public function execute($args)
    {
        $args = explode('/', urldecode($args));

        /* Отбрасываем пустые элементы с концов */
        array_shift($args);
        array_pop($args);

        // Получаем имя действия
        $method = 'action' . array_shift($args);

        if (!method_exists($this, $method))
        {
            throw new BadMethodCallException("Method $method does not exists in class " .
            get_class($this));
        }

        $result = call_user_func_array(array($this, $method), $args);

        $result = $this->prepareResponseData($result);

        $json = json_encode($result);
        die($json);
    }
1253960
private function adminAddItem()
    {
        $request = Eresus_CMS::getLegacyKernel()->request;
        if ('POST' == $request['method'])
        {
            $image = new Gallery_Entity_Image();
            $image->section = arg('section');
            $image->groupId = arg('group') ? arg('group') : 0;
            $_SESSION['gallery_default_group'] = arg('group');
            $image->title = arg('title');
            $image->cover = arg('cover') ? arg('cover') : false;
            $image->active = arg('active');
            $image->posted = new DateTime();
            $image->image = 'image'; // $_FILES['image'];

            if ($this->isImageInputValid($image))
            {
                $table = ORM::getTable($this, 'Image');
                try
                {
                    $table->persist($image);
                }
                catch (Gallery_Exception_FileTooBigException $e)
                {
                    throw new DomainException('Размер загружаемого файла превышает максимально допустимый');
                }

                $url = 'admin.php?mod=content&section=' . $image->section;
                if (arg('pg'))
                {
                    $url .= '&pg=' . arg('pg', 'int');
                }
                HTTP::redirect($url);
            }
        }

        Eresus_Kernel::app()->getPage()->linkStyles($this->urlCode . 'admin.css');

        // Данные для подстановки в шаблон
        $data = array();
        $data['this'] = $this;
        $data['page'] = Eresus_Kernel::app()->getPage();
        $data['sectionId'] = arg('section', 'int');
        $data['defaultGroup'] = isset($_SESSION['gallery_default_group'])
            ? $_SESSION['gallery_default_group']
            : null;
        $data['image'] = isset($image) ? $image : null;

        if ($this->settings['useGroups'])
        {
            $data['groups'] = $this->dbSelect('groups', "`section` = " . arg('section', 'int'),
                'position');
        }

        // Создаём экземпляр шаблона
        $tmpl = $this->templates()->admin('add-image.html');

        // Компилируем шаблон и данные
        $html = $tmpl->compile($data);

        return $html;
    }
410332
protected function parseExtended()
	{

		$this->addFormMessagesNode();

		$this->xml->firstChild->nextSibling->setAttribute('method', 'post');

		$this->processBranch($this->xml->firstChild->nextSibling);

		/*
		 * Обработка тегов:
		 * 1. Удаление расширенных атрибутов
		 * 2. Предотвращение схлопывания пустых тегов
		 */
		$tags = $this->xml->getElementsByTagName('*');
		$collapsable = array('br', 'hr', 'input');

		for ($i = 0; $i < $tags->length; $i++)
		{
			$node = $tags->item($i);

			$isElement = $node->nodeType == XML_ELEMENT_NODE;

			if ($isElement)
			{
				$hasAttributes = $isElement && $node->hasAttributes();
				if ($hasAttributes)
				{
					$attrs = $node->attributes;
					for ($j = 0; $j < $attrs->length; $j++)
					{
						/* @var DOMAttr $attr */
						$attr = $attrs->item($j);
						if ($attr->namespaceURI == self::NS)
						{
							$this->extendedAttr($node, $attr);
							/*
							 * в extendedAttr текущий атрибут удаляется, поэтому следующим шагом рассматривается
							 * элемент с тем же индексом
							 */
							$j--;
						}
					}
				}

				if ($node->textContent === '' && !in_array($node->nodeName, $collapsable))
				{
					$cdata = $this->xml->createCDATASection('');
					$node->appendChild($cdata);
				}
			}
		}

		$id = $this->xml->firstChild->nextSibling->getAttribute('id');
		// инициализация объекта формы
		$scriptContents = "\n\$(document).ready(function () {window.$id = new EresusForm('$id');\n";

		/*
		 * Если в сессии установлен флаг isInvalid, вызываем перепроверку формы
		 */
		if ($this->mode == self::INPUT && $this->isInvalid)
		{
			$this->js []= 'validate(true);';
		}

		// необходимо для отображения сообщений об ошибках, найденных на сервере
		$this->js []= 'showFormMessages();';
		if ($this->js)
		{
			foreach ($this->js as $command)
			{
				$scriptContents .= "$id.$command\n";
			}
		}
		$scriptContents .= "});";
		$script = $this->xml->createElement('script', $scriptContents);
		$script->setAttribute('type', 'text/javascript');
		$this->xml->firstChild->nextSibling->appendChild($script);

		$this->xml->formatOutput = true;
		$html = $this->xml->saveXML($this->xml->firstChild->nextSibling); # This exclude xml declaration
		$html = preg_replace('/\s*xmlns:\w+=("|\').*?("|\')/', '', $html); # Remove ns attrs
		/*$html = preg_replace('/<\?.*\?>/', '', $html);*/
		$html = str_replace('<![CDATA[]]>', '', $html); # Remove empty <![CDATA[]]> sections

		return $html;
	}