Example #1
0
 /**
  * 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();
 }
Example #3
0
 /**
  * @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;
 }
Example #4
0
 /**
  * @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;
 }
Example #5
0
 /**
  * @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;
 }