} /** * {@inheritdoc} * @throws InvalidArgumentException if wrong number of operands have been given. */ public static function fromArrayDefinition($operator, $operands) { if (count($operands) !== 2) { throw new InvalidArgumentException("Operator '$operator' requires two operands."); } return new static($operands[0], $operator, $operands[1]); } }
if (isset($this->conditionClasses[$operator])) { $className = $this->conditionClasses[$operator]; } else { $className = 'yii\db\conditions\SimpleCondition'; } /** @var ConditionInterface $className */ return $className::fromArrayDefinition($operator, $condition); } // hash format: 'column1' => 'value1', 'column2' => 'value2', ... return new HashCondition($condition); }
{ if (is_array($condition)) { if (empty($condition)) { return ''; } $condition = $this->createConditionFromArray($condition); } if ($condition instanceof ExpressionInterface) { return $this->buildExpression($condition, $params); }
*/ private function buildExpressionsFrom(ExpressionInterface $condition, &$params = []) { $parts = []; foreach ($condition->getExpressions() as $condition) { if (is_array($condition)) { $condition = $this->queryBuilder->buildCondition($condition, $params); } if ($condition instanceof ExpressionInterface) { $condition = $this->queryBuilder->buildExpression($condition, $params); } if ($condition !== '') { $parts[] = $condition;
* @param ExpressionInterface|ConjunctionCondition $condition the expression to be built. * @param array $params the binding parameters. * @return string the raw SQL that will not be additionally escaped or quoted. */ public function build(ExpressionInterface $condition, array &$params = []) { $parts = $this->buildExpressionsFrom($condition, $params); if (empty($parts)) { return ''; } if (count($parts) === 1) {
* @see ExpressionInterface */ public function buildExpression(ExpressionInterface $expression, &$params = []) { $builder = $this->getExpressionBuilder($expression); return $builder->build($expression, $params); } /** * Gets object of [[ExpressionBuilderInterface]] that is suitable for $expression. * Uses [[expressionBuilders]] array to find a suitable builder class. *
} $condition = $this->createConditionFromArray($condition); } if ($condition instanceof ExpressionInterface) { return $this->buildExpression($condition, $params); } return (string)$condition; } /**
*/ private function buildExpressionsFrom(ExpressionInterface $condition, &$params = []) { $parts = []; foreach ($condition->getExpressions() as $condition) { if (is_array($condition)) { $condition = $this->queryBuilder->buildCondition($condition, $params); } if ($condition instanceof ExpressionInterface) { $condition = $this->queryBuilder->buildExpression($condition, $params); } if ($condition !== '') { $parts[] = $condition;
* @param ExpressionInterface|ConjunctionCondition $condition the expression to be built. * @param array $params the binding parameters. * @return string the raw SQL that will not be additionally escaped or quoted. */ public function build(ExpressionInterface $condition, array &$params = []) { $parts = $this->buildExpressionsFrom($condition, $params); if (empty($parts)) { return ''; } if (count($parts) === 1) {
* @see ExpressionInterface */ public function buildExpression(ExpressionInterface $expression, &$params = []) { $builder = $this->getExpressionBuilder($expression); return $builder->build($expression, $params); } /** * Gets object of [[ExpressionBuilderInterface]] that is suitable for $expression. * Uses [[expressionBuilders]] array to find a suitable builder class. *
} $condition = $this->createConditionFromArray($condition); } if ($condition instanceof ExpressionInterface) { return $this->buildExpression($condition, $params); } return (string)$condition; } /**
*/ private function buildExpressionsFrom(ExpressionInterface $condition, &$params = []) { $parts = []; foreach ($condition->getExpressions() as $condition) { if (is_array($condition)) { $condition = $this->queryBuilder->buildCondition($condition, $params); } if ($condition instanceof ExpressionInterface) { $condition = $this->queryBuilder->buildExpression($condition, $params); } if ($condition !== '') { $parts[] = $condition;
* @param ExpressionInterface|ConjunctionCondition $condition the expression to be built. * @param array $params the binding parameters. * @return string the raw SQL that will not be additionally escaped or quoted. */ public function build(ExpressionInterface $condition, array &$params = []) { $parts = $this->buildExpressionsFrom($condition, $params); if (empty($parts)) { return ''; } if (count($parts) === 1) {
* @see ExpressionInterface */ public function buildExpression(ExpressionInterface $expression, &$params = []) { $builder = $this->getExpressionBuilder($expression); return $builder->build($expression, $params); } /** * Gets object of [[ExpressionBuilderInterface]] that is suitable for $expression. * Uses [[expressionBuilders]] array to find a suitable builder class. *
} $condition = $this->createConditionFromArray($condition); } if ($condition instanceof ExpressionInterface) { return $this->buildExpression($condition, $params); } return (string)$condition; } /**
* @param string|array $condition * @param array $params the binding parameters to be populated * @return string the WHERE clause built from [[Query::$where]]. */ public function buildWhere($condition, &$params) { $where = $this->buildCondition($condition, $params); return $where === '' ? '' : 'WHERE ' . $where; } /** * @param array $columns
$params = empty($params) ? $query->params : array_merge($params, $query->params); $clauses = [ $this->buildSelect($query->select, $params, $query->distinct, $query->selectOption), $this->buildFrom($query->from, $params), $this->buildJoin($query->join, $params), $this->buildWhere($query->where, $params), $this->buildGroupBy($query->groupBy), $this->buildHaving($query->having, $params), ]; $sql = implode($this->separator, array_filter($clauses)); $sql = $this->buildOrderByAndLimit($sql, $query->orderBy, $query->limit, $query->offset);
$modelClass = $this->modelClass; if ($db === null) { $db = $modelClass::getDb(); } if ($this->sql === null) { list($sql, $params) = $db->getQueryBuilder()->build($this); } else { $sql = $this->sql; $params = $this->params; } $command = $db->createCommand($sql, $params);
{ if ($this->emulateExecution) { return []; } if ($this->indexBy === null) { return $this->createCommand($db)->queryColumn(); } if (is_string($this->indexBy) && is_array($this->select) && count($this->select) === 1) { if (strpos($this->indexBy, '.') === false && count($tables = $this->getTablesUsedInFrom()) > 0) { $this->select[] = key($tables) . '.' . $this->indexBy; } else {
// check for merchants title and get all linked solutions if (isset($this->filter['node']['type']) && in_array('solution', $this->filter['node']['type']) && !empty($this->term)) { $SolutionIds = $this->getSolutionIdsByAddress(); } $S = microtime(true); $nodeIds = array_unique(array_merge($query->select('kvs_content.id')->column(),$SolutionIds )); $this->log[] = 'Search Nodes. Found: ' . sizeof($nodeIds) . ' in ' . (microtime(true) - $S) . 'ms'; $this->log[] = $query->createCommand()->getRawSql(); $this->stats['resultsNodesByTerm'] = sizeof($nodeIds); $this->log[] = var_export($nodeIds, true);
} /** * return search result as dataprovider as node list */ public function getResult() { $nodeIds = $this->search(); if (sizeof($nodeIds) == 0) { $dataProvider = new \yii\data\ArrayDataProvider(); } else { $query = KvsContent::find()->where(['IN', 'id', $nodeIds]) ->orderBy([new \yii\db\Expression('FIELD (id, ' . implode(',', $nodeIds) . ')')])
'type' => $typeFilters, 'status' => [Status::STATUS_PUBLISHED], 'tags' => [strtolower($tag)], ], $filterMeta, ); $dataProvider = $KvsSearch->getResult(); echo ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['tag' => null, 'class' => 'page-item'], 'layout' => '{summary} <div class="row row-cols-1 row-cols-sm-3 g-4">{items}</div><nav class="wrap-pagination" aria-label="Pagination">{pager}</div>', 'itemView' => '/elements/result-wall',
{ $_obInitialLevel_ = ob_get_level(); ob_start(); ob_implicit_flush(false); extract($_params_, EXTR_OVERWRITE); try { require $_file_; return ob_get_clean(); } catch (\Exception $e) { while (ob_get_level() > $_obInitialLevel_) { if (!@ob_end_clean()) { ob_clean(); }
$this->renderers[$ext] = Yii::createObject($this->renderers[$ext]); } /* @var $renderer ViewRenderer */ $renderer = $this->renderers[$ext]; $output = $renderer->render($this, $viewFile, $params); } else { $output = $this->renderPhpFile($viewFile, $params); } $this->afterRender($viewFile, $params, $output); } array_pop($this->_viewFiles); $this->context = $oldContext;
* @throws InvalidCallException if the view cannot be resolved. * @see renderFile() */ public function render($view, $params = [], $context = null) { $viewFile = $this->findViewFile($view, $context); return $this->renderFile($viewFile, $params, $context); } /** * Finds the view file based on the given view name. * @param string $view the view name or the [path alias](guide:concept-aliases) of the view file. Please refer to [[render()]] * on how to specify this parameter.
* These parameters will not be available in the layout. * @return string the rendering result. * @throws InvalidArgumentException if the view file or the layout file does not exist. */ public function render($view, $params = []) { $content = $this->getView()->render($view, $params, $this); return $this->renderContent($content); } /** * Renders a static string by applying a layout. * @param string $content the static string being rendered
* @return mixed */ public function actionTag($tag) { return $this->render('by-tag', [ 'tag' => $tag, ]); } public function actionLayerbyid($cid) {
$args = $this->controller->bindActionParams($this, $params); Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__); if (Yii::$app->requestedParams === null) { Yii::$app->requestedParams = $args; } return call_user_func_array([$this->controller, $this->actionMethod], $args); } }
} $result = null; if ($runAction && $this->beforeAction($action)) { // run the action $result = $action->runWithParams($params); $result = $this->afterAction($action, $result); // call afterAction on modules foreach ($modules as $module) { /* @var $module Module */
$parts = $this->createController($route); if (is_array($parts)) { /* @var $controller Controller */ list($controller, $actionID) = $parts; $oldController = Yii::$app->controller; Yii::$app->controller = $controller; $result = $controller->runAction($actionID, $params); if ($oldController !== null) { Yii::$app->controller = $oldController; } return $result; }
$params = $this->catchAll; unset($params[0]); } try { Yii::debug("Route requested: '$route'", __METHOD__); $this->requestedRoute = $route; $result = $this->runAction($route, $params); if ($result instanceof Response) { return $result; } $response = $this->getResponse(); if ($result !== null) {
{ try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
require __DIR__ . '/../../common/config/main.php', require __DIR__ . '/../../common/config/main-local.php', require __DIR__ . '/../config/main.php', require __DIR__ . '/../config/main-local.php' ); (new yii\web\Application($config))->run();
$_GET = [ 'tag' => 'spiel', ];