/** * Create the iterator and set the filter mask. * * @param integer $mask See setFilter(). * * @return IMP_Search_IteratorFilter Iterator. */ public static function create($mask = 0) { global $injector; $iterator = new self($injector->getInstance('IMP_Search')->getIterator()); $iterator->setFilter($mask); return $iterator; }
/** * Transforms a string or an array to a query object * * If query is empty, * * @param mixed $query * @throws \Elastica\Exception\NotImplementedException * @return \Elastica\Query */ public static function create($query) { switch (true) { case $query instanceof Query: return $query; case $query instanceof AbstractQuery: return new self($query); case $query instanceof AbstractFilter: $newQuery = new self(); $newQuery->setFilter($query); return $newQuery; case empty($query): return new self(new MatchAll()); case is_array($query): return new self($query); case is_string($query): return new self(new QueryString($query)); case $query instanceof AbstractSuggest: return new self(new Suggest($query)); case $query instanceof Suggest: return new self($query); } // TODO: Implement queries without throw new NotImplementedException(); }
/** * @param array $filter * @param string $arClass * @return \bxar\IFinder */ public static function find(array $filter = null, $arClass = null) { $finder = new self(); if ($filter !== null) { $finder->setFilter($filter); } if ($arClass === null) { $finder->setArClass('\\bxar\\group\\Group'); } else { $finder->setArClass($arClass); } return $finder; }
/** * @param $key * @param $language * @return \Pimcore\Model\Metadata\Predefined */ public static function getByKeyAndLanguage($key, $language, $targetSubtype = null) { $list = new self(); $list->setFilter(function ($row) use($key, $language, $targetSubtype) { if ($row["name"] != $key) { return false; } if ($language && $language != $row["language"]) { return false; } if ($targetSubtype && $targetSubtype != $row["targetSubtype"]) { return false; } }); $list = $list->load(); if ($list) { return $list[0]; } return null; }
/** * @return Am_Grid_Editable_Subusers */ static function factory(User $reseller, Zend_Controller_Request_Http $request, Am_View $view, Am_Di $di) { $ds = new Am_Query_User_Subusers($reseller->pk()); $ds->leftJoin('?_subusers_subscription', 'sgu'); $ds->addField('GROUP_CONCAT(sgu.product_id)', 'groups'); $ds->addField('GROUP_CONCAT(sgu.status)', 'groups_status'); $grid = new self('_subusers', ___("Subusers"), $ds, $request, $view, $di, $reseller); $grid->setEventId('gridSubusersUser'); $grid->addField('login', ___('Username')); $grid->addField('name_f', ___('First Name')); $grid->addField('name_l', ___('Last Name')); $grid->addField('email', ___('E-Mail Address')); $grid->addField('groups', ___('Groups'))->setRenderFunction(array($grid, 'renderGroups')); $grid->setForm(array($grid, '_createForm')); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_INSERT, array($grid, 'beforeInsert')); $grid->addCallback(Am_Grid_Editable::CB_AFTER_INSERT, array($grid, 'afterInsert')); $grid->addCallback(Am_Grid_Editable::CB_AFTER_SAVE, array($grid, 'afterSave')); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($grid, 'beforeSave')); $grid->addCallback(Am_Grid_Editable::CB_AFTER_DELETE, array($grid, 'afterDelete')); $grid->addCallback(Am_Grid_Editable::CB_VALUES_TO_FORM, array($grid, '_valuesToForm')); $grid->setFilter(new Am_Grid_Filter_Text(null, array('login' => 'LIKE', 'name_f' => 'LIKE', 'name_l' => 'LIKE', 'email' => 'LIKE'))); if ($di->config->get('subusers_can_login')) { $grid->actionAdd(new Am_Grid_Action_Url('login', ___('Login as User'), '__ROOT__/subusers/index/login-as?id=__ID__'))->setTarget('_top'); } $grid->actionGet('edit')->setTarget('_top'); $grid->actionGet('delete')->setTarget('_top'); $grid->actionGet('insert')->setTarget('_top'); $subusers_count = $reseller->data()->get('subusers_count'); $canAdd = 0; foreach ($subusers_count as $product_id => $v) { if ($v['avail_count'] > $v['pending_count'] + $v['active_count']) { $canAdd++; } } if (!$canAdd) { $grid->actionDelete('insert'); } if ($canAdd) { $grid->actionAdd(new Am_Grid_Action_ImportCSV('import', ___('Import from CSV'), $reseller)); } if ($di->config->get('subusers_cannot_delete') == 1) { $grid->actionDelete('delete'); } if ($di->config->get('subusers_cannot_edit')) { $grid->actionDelete('edit'); } return $grid; }
/** * Creates a rule description instance with specified XML string. * * @param string $ruleDescriptionXml A XML string representing the * rule description. * * @return none */ public static function create($ruleDescriptionXml) { $ruleDescription = new self(); $root = simplexml_load_string($ruleDescriptionXml); $nameSpaces = $root->getNameSpaces(); $ruleDescriptionArray = (array) $root; if (array_key_exists('Filter', $ruleDescriptionArray)) { $filterItem = $ruleDescriptionArray['Filter']; $filterAttributes = $filterItem->attributes('i', true); $filterItemArray = (array) $filterItem; $filterType = (string) $filterAttributes['type']; $filter = null; switch ($filterType) { case 'TrueFilter': $filter = new TrueFilter(); break; case 'FalseFilter': $filter = new FalseFilter(); break; case 'CorrelationFilter': $filter = new CorrelationFilter(); if (array_key_exists('CorrelationId', $filterItemArray)) { $filter->setCorrelationId((string) $filterItemArray['CorrelationId']); } break; case 'SqlFilter': $filter = new SqlFilter(); if (array_key_exists('SqlExpression', $filterItemArray)) { $filter->setSqlExpression((string) $filterItemArray['SqlExpression']); } if (array_key_exists('CompatibilityLevel', $filterItemArray)) { $filter->setCompatibilityLevel((int) $filterItemArray['CompatibilityLevel']); } break; default: $filter = new Filter(); } $ruleDescription->setFilter($filter); } if (array_key_exists('Action', $ruleDescriptionArray)) { $actionItem = $ruleDescriptionArray['Action']; $actionAttributes = $actionItem->attributes('i', true); $actionType = (string) $actionAttributes['type']; $action = null; switch ($actionType) { case 'EmptyRuleAction': $action = new EmptyRuleAction(); break; case 'SqlRuleAction': $action = new SqlRuleAction(); if (array_key_exists('SqlExpression', $actionItem)) { $action->setSqlExpression((string) $actionItem['SqlExpression']); } break; default: $action = new Action(); } $ruleDescription->setAction($action); } if (array_key_exists('Name', $ruleDescriptionArray)) { $ruleDescription->setName((string) $ruleDescriptionArray['Name']); } return $ruleDescription; }