Example #1
0
 /**
  * Reorder pages
  *
  * @role sort
  */
 public function reorder()
 {
     $inst = StaticPage::getInstanceById($this->request->get('id'), StaticPage::LOAD_DATA);
     $f = new ARSelectFilter();
     $handle = new ARFieldHandle('StaticPage', 'position');
     if ('down' == $this->request->get('order')) {
         $f->setCondition(new MoreThanCond($handle, $inst->position->get()));
         $f->setOrder($handle, 'ASC');
     } else {
         $f->setCondition(new LessThanCond($handle, $inst->position->get()));
         $f->setOrder($handle, 'DESC');
     }
     $f->setLimit(1);
     $s = ActiveRecordModel::getRecordSet('StaticPage', $f);
     if ($s->size()) {
         $pos = $inst->position->get();
         $replace = $s->get(0);
         $inst->position->set($replace->position->get());
         $replace->position->set($pos);
         $inst->save();
         $replace->save();
         return new JSONResponse(array('id' => $inst->getID(), 'order' => $this->request->get('order')), 'success');
     } else {
         return new JSONResponse(false, 'failure', $this->translate('_could_not_reorder_pages'));
     }
 }
Example #2
0
 /**
  * Load rates from known delivery zone
  *
  * @param DeliveryZone $deliveryZone
  * @param bool $loadReferencedRecords
  *
  * @return ARSet
  */
 public static function getRecordSetByDeliveryZone(DeliveryZone $deliveryZone = null, $loadReferencedRecords = array('Tax'))
 {
     $filter = new ARSelectFilter();
     if (!$deliveryZone || $deliveryZone->isDefault()) {
         $filter->setCondition(new IsNullCond(new ARFieldHandle(__CLASS__, "deliveryZoneID")));
     } else {
         $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, "deliveryZoneID"), $deliveryZone->getID()));
     }
     return self::getRecordSet($filter, $loadReferencedRecords);
 }
Example #3
0
 public function isValid($value)
 {
     ClassLoader::import('application.model.user.User');
     $filter = new ARSelectFilter();
     $cond = new EqualsCond(new ARFieldHandle('User', 'email'), $value);
     $filter->setCondition($cond);
     return ActiveRecordModel::getRecordCount('User', $filter) == 0;
 }
Example #4
0
 private static function getProductGroupsFilter(Product $product, $type)
 {
     $filter = new ARSelectFilter();
     $filter->setOrder(new ARFieldHandle("ProductRelationshipGroup", "position"), 'ASC');
     $filter->setCondition(new EqualsCond(new ARFieldHandle("ProductRelationshipGroup", "productID"), $product->getID()));
     $filter->mergeCondition(new EqualsCond(new ARFieldHandle("ProductRelationshipGroup", "type"), $type));
     return $filter;
 }
Example #5
0
 public function loadItems()
 {
     if (empty($this->items) && $this->isExistingRecord()) {
         $filter = new ARSelectFilter();
         $filter->setCondition(new EqualsCond(new ARFieldHandle('OrderedItem', 'shipmentID'), $this->getID()));
         foreach (OrderedItem::getRecordSet('OrderedItem', $filter, array('Product', 'Category', 'DefaultImage' => 'ProductImage')) as $item) {
             $this->items[] = $item;
         }
     }
 }
Example #6
0
 public static function getInstanceByDateTime($date, $time)
 {
     $f = new ARSelectFilter();
     $f->setCondition(new AndChainCondition(array(eq(f('EyeExamSchedule.date'), $date), eq(f('EyeExamSchedule.time'), $time), isnull(f('EyeExamSchedule.eyeExamRequestID')))));
     $s = self::getRecordSet('EyeExamSchedule', $f);
     if (!$s->size()) {
         return null;
     }
     return $s->get(0);
 }
Example #7
0
 public static function getUserAddress($className, $addressID, User $user)
 {
     $f = new ARSelectFilter();
     $f->setCondition(new EqualsCond(new ARFieldHandle($className, 'ID'), $addressID));
     $f->mergeCondition(new EqualsCond(new ARFieldHandle($className, 'userID'), $user->getID()));
     $s = ActiveRecordModel::getRecordSet($className, $f, array('UserAddress'));
     if (!$s->size()) {
         throw new ARNotFoundException($className, $addressID);
     }
     return $s->get(0);
 }
Example #8
0
 public static function getInstanceByToken($token)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, 'token'), $token));
     $recordSet = ActiveRecordModel::getRecordSet(__CLASS__, $filter);
     if (!$recordSet->size()) {
         return null;
     } else {
         return $recordSet->get(0);
     }
 }
Example #9
0
 protected function insert()
 {
     // get max position
     $f = new ARSelectFilter();
     $f->setCondition($this->getParentCondition());
     $f->setOrder(new ARFieldHandle(get_class($this), 'position'), 'DESC');
     $f->setLimit(1);
     $rec = ActiveRecord::getRecordSetArray(get_class($this), $f);
     $position = is_array($rec) && count($rec) > 0 ? $rec[0]['position'] + 1 : 1;
     $this->position->set($position);
     return parent::insert();
 }
Example #10
0
 public static function getInstanceByName($name)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle('Manufacturer', 'name'), $name));
     $filter->setLimit(1);
     $set = ActiveRecordModel::getRecordSet('Manufacturer', $filter);
     if ($set->size() > 0) {
         return $set->get(0);
     } else {
         return self::getNewInstance($name);
     }
 }
Example #11
0
 private function getRatingTypeFilter(Product $product)
 {
     $path = $product->getCategory()->getPathNodeArray(Category::INCLUDE_ROOT_NODE);
     $filter = new ARSelectFilter();
     $filter->setOrder(new ARFieldHandle("Category", "lft"), 'ASC');
     $filter->setOrder(new ARFieldHandle(__CLASS__, "position"), 'ASC');
     $cond = new EqualsCond(new ARFieldHandle(__CLASS__, "categoryID"), $product->getCategory()->getID());
     foreach ($path as $node) {
         $cond->addOR(new EqualsCond(new ARFieldHandle(__CLASS__, "categoryID"), $node['ID']));
     }
     $filter->setCondition($cond);
     return $filter;
 }
Example #12
0
 /**
  * Provides an additional verification that state belongs to the particular country
  *
  * @return ActiveRecord
  */
 public static function getStateByIDAndCountry($stateID, $countryID)
 {
     $f = new ARSelectFilter();
     $f->setCondition(new EqualsCond(new ARFieldHandle('State', 'ID'), $stateID));
     $f->mergeCondition(new EqualsCond(new ARFieldHandle('State', 'countryID'), $countryID));
     $f->setLimit(1);
     $states = ActiveRecordModel::getRecordSet('State', $f);
     if ($states) {
         return $states->get(0);
     } else {
         return null;
     }
 }
Example #13
0
 public function index()
 {
     $owner = ActiveRecordModel::getInstanceByID($this->getOwnerClass(), (int) $this->request->get('id'));
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle($this->getModelClass(), $this->getForeignKeyName()), $owner->getID()));
     $filter->setOrder(new ARFieldHandle($this->getModelClass(), 'position'));
     $imageArray = ActiveRecordModel::getRecordSetArray($this->getModelClass(), $filter);
     $response = new ActionResponse();
     $response->set('form', $this->buildForm($owner->getID()));
     $response->set('maxSize', ini_get('upload_max_filesize'));
     $response->set('ownerId', $owner->getID());
     $response->set('images', json_encode($imageArray));
     return $response;
 }
Example #14
0
 /**
  * Get a list of existing taxes
  *
  * @param boolean $includeDisabled Include disabled taxes in this list
  * @param TaxRate $doNotBelongToRate Don not belong to specified rate
  * @param boolean $loadReferencedRecords Load referenced records
  *
  * @return ARSet
  */
 public static function getTaxes(DeliveryZone $notUsedInThisZone = null, $loadReferencedRecords = false)
 {
     $filter = new ARSelectFilter();
     $rates = TaxRate::getRecordSetByDeliveryZone($notUsedInThisZone);
     if ($rates->getTotalRecordCount() > 0) {
         $zoneRatesIDs = array();
         foreach ($rates as $rate) {
             $taxIDs[] = $rate->tax->get()->getID();
         }
         $notInCond = new NotINCond(new ARFieldHandle(__CLASS__, "ID"), $taxIDs);
         $filter->setCondition($notInCond);
     }
     return self::getRecordSet($filter, $loadReferencedRecords);
 }
Example #15
0
 public static function getInstance(Product $product, Currency $currency)
 {
     $filter = new ARSelectFilter();
     $cond = new EqualsCond(new ARFieldHandle('ProductPrice', 'productID'), $product->getID());
     $cond->addAND(new EqualsCond(new ARFieldHandle('ProductPrice', 'currencyID'), $currency->getID()));
     $filter->setCondition($cond);
     $set = parent::getRecordSet('ProductPrice', $filter);
     if ($set->size() > 0) {
         $instance = $set->get(0);
     } else {
         $instance = self::getNewInstance($product, $currency);
     }
     return $instance;
 }
Example #16
0
 public function setNextPosition()
 {
     $className = get_class($this);
     if (!is_integer(self::$nextPosition)) {
         $filter = new ARSelectFilter();
         $filter->setCondition(new EqualsCond(new ARFieldHandle($className, 'productID'), $this->product->get()->getID()));
         $filter->setOrder(new ARFieldHandle($className, 'position'), ARSelectFilter::ORDER_DESC);
         $filter->setLimit(1);
         self::$nextPosition = 0;
         foreach (ActiveRecord::getRecordSet($className, $filter) as $relatedProductGroup) {
             self::$nextPosition = $relatedProductGroup->position->get();
         }
     }
     $this->position->set(++self::$nextPosition);
 }
 public static function getRecordSetArrayByIDs($recordIDs, $loadRecordData = false)
 {
     if (!is_array($recordIDs)) {
         $recordIDs = array($recordIDs);
     }
     $filter = new ARSelectFilter();
     $filter->setCondition(new InCond(new ARFieldHandle(__CLASS__, 'ID'), $recordIDs));
     // ActiveRecordModel::getRecordSetArray() will not get required setup and period prices!
     $rs = ActiveRecordModel::getRecordSet(__CLASS__, $filter);
     $result = array();
     foreach ($rs->toArray() as $item) {
         $result[$item['ID']] = $item;
     }
     return $result;
 }
 public function autoComplete()
 {
     $f = new ARSelectFilter();
     $f->setLimit(20);
     $resp = array();
     $field = $this->request->get('field');
     if ('specField_' == substr($field, 0, 10)) {
         list($foo, $id) = explode('_', $field);
         $handle = new ARFieldHandle('EavStringValue', 'value');
         $locale = $this->locale->getLocaleCode();
         $searchHandle = MultilingualObject::getLangSearchHandle($handle, $locale);
         $f->setCondition(new EqualsCond(new ARFieldHandle('EavStringValue', 'fieldID'), $id));
         $f->mergeCondition(new LikeCond($handle, '%:"' . $this->request->get($field) . '%'));
         $f->mergeCondition(new LikeCond($searchHandle, $this->request->get($field) . '%'));
         $f->setOrder($searchHandle, 'ASC');
         $results = ActiveRecordModel::getRecordSet('EavStringValue', $f);
         foreach ($results as $value) {
             $resp[$value->getValueByLang('value', $locale, MultilingualObject::NO_DEFAULT_VALUE)] = true;
         }
         $resp = array_keys($resp);
     }
     return new AutoCompleteResponse($resp);
 }
Example #19
0
 /**
  *	@role login
  */
 public function index()
 {
     $this->addAccountBreadcrumb();
     // get recent orders
     $f = new ARSelectFilter();
     $f->setLimit($this->config->get('USER_COUNT_RECENT_ORDERS'));
     $f->setCondition(new IsNullCond(new ARFieldHandle('CustomerOrder', 'parentID')));
     $orders = $this->loadOrders($f);
     $orderArray = $this->getOrderArray($orders);
     // get last invoice & unpaid count
     $pendingInvoiceCount = $this->user->countPendingInvoices();
     $lastInvoiceArray = array();
     if ($pendingInvoiceCount) {
         $f = new ARSelectFilter();
         $f->setLimit(1);
         $f->setCondition(new AndChainCondition(array(new IsNotNullCond(new ARFieldHandle('CustomerOrder', 'parentID')))));
         $lastInvoiceArray = $this->getOrderArray($this->loadOrders($f));
     }
     // get downloadable items
     $f = new ARSelectFilter(new EqualsCond(new ARFieldHandle('CustomerOrder', 'userID'), $this->user->getID()));
     $f->setLimit(self::COUNT_RECENT_FILES);
     $response = new ActionResponse();
     $response->set('orders', $orderArray);
     $response->set('files', $this->loadDownloadableItems(new ARSelectFilter(new EqualsCond(new ARFieldHandle('CustomerOrder', 'userID'), $this->user->getID()))));
     // get unread messages
     ClassLoader::import('application.model.order.OrderNote');
     $f = new ARSelectFilter(new EqualsCond(new ARFieldHandle('OrderNote', 'userID'), $this->user->getID()));
     $f->mergeCondition(new EqualsCond(new ARFieldHandle('OrderNote', 'isAdmin'), 1));
     $f->mergeCondition(new EqualsCond(new ARFieldHandle('OrderNote', 'isRead'), 0));
     $f->setOrder(new ARFieldHandle('OrderNote', 'ID'), 'DESC');
     $response->set('notes', ActiveRecordModel::getRecordSetArray('OrderNote', $f, array('User')));
     // feedback/confirmation message that was stored in session by some other action
     $response->set('userConfirm', $this->session->pullValue('userConfirm'));
     $response->set('pendingInvoiceCount', $pendingInvoiceCount);
     $response->set('lastInvoiceArray', $lastInvoiceArray);
     return $response;
 }
Example #20
0
 public function __construct(LiveCart $application, ARSelectFilter $filter, $modelClass = false, $columnTypes = array())
 {
     $this->application = $application;
     $this->modelClass = $modelClass;
     $this->filter = $filter;
     $this->columnTypes = $columnTypes;
     $request = $this->application->getRequest();
     // set recordset boundaries (limits)
     $filter->setLimit($request->get('page_size', 10), $request->get('offset', 0));
     // set order
     if ($request->isValueSet('sort_col')) {
         $handle = $this->getFieldHandle($request->get('sort_col'), self::SORT_HANDLE);
         if ($handle) {
             $filter->setOrder($handle, $request->get('sort_dir'));
         }
     }
     // apply filters
     $filters = $request->get('filters');
     if (!is_array($filters)) {
         $filters = (array) json_decode($request->get('filters'));
     }
     $conds = array();
     if ($filter->getCondition()) {
         $conds[] = $filter->getCondition();
     }
     foreach ($filters as $field => $value) {
         if (!strlen($value)) {
             continue;
         }
         $value = urldecode($value);
         $handle = $this->getFieldHandle($field, self::FILTER_HANDLE);
         if ($handle instanceof EavFieldCommon) {
             continue;
         } else {
             if (!is_array($handle) && !is_null($handle) && !$handle instanceof ARExpressionHandle) {
                 $fieldInst = $this->getFieldInstance($field);
                 if ($fieldInst && ($fieldInst->getDataType() instanceof ARNumeric || $handle->getField()->getDataType() instanceof ARNumeric)) {
                     $value = preg_replace('/[ ]{2,}/', ' ', $value);
                     $constraints = $fieldInst->getDataType() instanceof ARNumeric ? explode(' ', $value) : array($value);
                     foreach ($constraints as $c) {
                         list($operator, $value) = $this->parseOperatorAndValue($c);
                         if (!is_numeric($value) && $fieldInst->getDataType() instanceof ARNumeric) {
                             continue;
                         }
                         $conds[] = new OperatorCond($handle, $value, $operator);
                     }
                 } else {
                     if ($fieldInst && $fieldInst->getDataType() instanceof ARPeriod) {
                         if (substr($value, 0, 10) == 'daterange ') {
                             $value = str_replace('daterange ', '', $value);
                             list($from, $to) = explode('|', $value);
                             $from = trim($from);
                             $to = trim($to);
                             // convert
                             // 2010-9-1 to 2010-09-01 ( +first or last minute of day)
                             // unset dates to 'inf' (meaning ingnore condition)
                             if ($from == '') {
                                 $from = 'inf';
                             } else {
                                 list($y, $m, $d) = explode('-', $from);
                                 $from = $y . '-' . str_pad($m, 2, '0', STR_PAD_LEFT) . '-' . str_pad($d, 2, '0', STR_PAD_LEFT) . ' 00:00:00';
                             }
                             if ($to == '') {
                                 $to = 'inf';
                             } else {
                                 list($y, $m, $d) = explode('-', $to);
                                 $to = $y . '-' . str_pad($m, 2, '0', STR_PAD_LEFT) . '-' . str_pad($d, 2, '0', STR_PAD_LEFT) . ' 23:59:59';
                             }
                         } else {
                             list($from, $to) = explode(' | ', $value);
                         }
                         $cond = null;
                         // from condition
                         if ('inf' != $from) {
                             $cond = new EqualsOrMoreCond($handle, getDateFromString($from));
                         }
                         // to condition
                         if ('now' != $to && 'inf' != $to) {
                             $condTo = new EqualsOrLessCond($handle, getDateFromString($to));
                             if ($cond) {
                                 $cond->addAnd($condTo);
                             } else {
                                 $cond = $condTo;
                             }
                         }
                         if ($cond) {
                             $conds[] = $cond;
                         }
                     } else {
                         $conds[] = new LikeCond($handle, '%' . $value . '%');
                     }
                 }
             } else {
                 if (is_array($handle)) {
                     $cond = null;
                     foreach ($handle as $h) {
                         $c = new LikeCond($h, '%' . $value . '%');
                         if (!$cond) {
                             $cond = $c;
                         } else {
                             $cond->addOR($c);
                         }
                     }
                     $conds[] = $cond;
                 } else {
                     if (array_key_exists($field, $this->columnTypes)) {
                         $type = $this->columnTypes[$field]['type'];
                     } else {
                         $type = null;
                     }
                     $value = preg_replace('/[ ]{2,}/', ' ', $value);
                     switch ($type) {
                         case 'numeric':
                             $constraints = explode(' ', $value);
                             foreach ($constraints as $c) {
                                 list($operator, $value) = $this->parseOperatorAndValue($c);
                                 if (!is_numeric($value)) {
                                     continue;
                                 }
                                 $having[] = new OperatorCond($handle, $value, $operator);
                             }
                             break;
                         default:
                             $having[] = eq(new ARExpressionHandle($field), $value);
                     }
                 }
             }
         }
     }
     // apply IDs to filter
     if ($request->get('selectedIDs') || $request->get('isInverse')) {
         $selectedIDs = json_decode($request->get('selectedIDs'));
         if ($selectedIDs) {
             if ((bool) $request->get('isInverse')) {
                 $idcond = new NotINCond(new ARFieldHandle($modelClass, 'ID'), $selectedIDs);
             } else {
                 $idcond = new INCond(new ARFieldHandle($modelClass, 'ID'), $selectedIDs);
             }
             $conds[] = $idcond;
         } else {
             if (!(bool) $request->get('isInverse')) {
                 $idcond = new EqualsCond(new ARExpressionHandle(1), 2);
                 $conds[] = $idcond;
             }
         }
     }
     if ($conds) {
         $filter->setCondition(new AndChainCondition($conds));
     }
     if (!empty($having)) {
         $filter->setHavingCondition(new AndChainCondition($having));
     }
 }
Example #21
0
 /**
  * Load service rates from known service
  *
  * @param ShippingService $service
  * @param bool $loadReferencedRecords
  *
  * @return ARSet
  */
 public static function getRecordSetByService(ShippingService $service, $loadReferencedRecords = false)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, "shippingServiceID"), $service->getID()));
     return self::getRecordSet($filter, $loadReferencedRecords);
 }
Example #22
0
File: User.php Project: saiber/www
 private function getBillingAddressFilter($defaultFirst = true)
 {
     $f = new ARSelectFilter();
     $f->setCondition(new EqualsCond(new ARFieldHandle('BillingAddress', 'userID'), $this->getID()));
     if (!$defaultFirst) {
         $f->setOrder(new ARExpressionHandle('ID = ' . $this->defaultBillingAddress->get()->getID()));
     }
     return $f;
 }
Example #23
0
 private static function getARSelectFilterByOrderedItem(OrderedItem $item)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, 'orderedItemID'), $item->getID()));
     return $filter;
 }
Example #24
0
 public function getRecurringProductPeriodById($recurringID, $returnDefaultIfNotFound = false)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle('RecurringProductPeriod', 'ID'), $recurringID));
     $rs = RecurringProductPeriod::getRecordSetByProduct($this, $filter);
     if ($rs->size() == 0) {
         return $returnDefaultIfNotFound ? $this->getDefaultRecurringProductPeriod() : null;
     }
     return $rs->shift();
 }
Example #25
0
 private static function getFilesByProductFilter(Product $product)
 {
     $filter = new ARSelectFilter();
     $filter->joinTable('ProductFileGroup', 'ProductFile', 'ID', 'productFileGroupID');
     $filter->setOrder(new ARFieldHandle("ProductFileGroup", "position"), ARSelectFilter::ORDER_ASC);
     $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, 'productID'), $product->getID()));
     $filter->setOrder(new ARFieldHandle(__CLASS__, 'position'), ARSelectFilter::ORDER_ASC);
     return $filter;
 }
Example #26
0
 private function getSelectFilter($class)
 {
     if ('Product' == $class) {
         $cat = Category::getRootNode();
         $f = $cat->getProductFilter(new ARSelectFilter());
         $f->mergeCondition($cat->getProductCondition(true));
         $f->joinTable('Category', 'Product', 'ID', 'categoryID');
         return $f;
     }
     $f = new ARSelectFilter();
     $f->setOrder(new ARFieldHandle($class, 'ID'));
     if ('StaticPage' != $class) {
         $f->setCondition(new EqualsCond(new ARFieldHandle($class, 'isEnabled'), true));
     }
     if ('Category' == $class) {
         $f->mergeCondition(new NotEqualsCond(new ARFieldHandle($class, 'ID'), Category::ROOT_ID));
     }
     return $f;
 }
Example #27
0
 private function getFilesFilter()
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle('ProductFile', "productFileGroupID"), $this->getID()));
     return $filter;
 }
Example #28
0
 /**
  * @role mass
  */
 public function processMass()
 {
     ClassLoader::import('application.helper.massAction.UserMassActionProcessor');
     $filter = new ARSelectFilter();
     $id = (int) $this->request->get('id');
     if ($id > 0) {
         $filter->setCondition(new EqualsCond(new ARFieldHandle('User', 'userGroupID'), $id));
     } else {
         if ($id == -1) {
             $filter->setCondition(new IsNullCond(new ARFieldHandle('User', 'userGroupID')));
         } else {
             if ($id != -2) {
                 return;
             }
         }
     }
     $mass = new UserMassActionProcessor(new ActiveGrid($this->application, $filter, 'User'));
     $mass->setCompletionMessage($this->translate('_mass_action_succeed'));
     return $mass->process(User::LOAD_REFERENCES);
 }
Example #29
0
 /**
  * Load delivery services record by Delivery zone
  *
  * @param DeliveryZone $deliveryZone
  * @param bool $loadReferencedRecords
  *
  * @return ARSet
  */
 public static function getByDeliveryZone(DeliveryZone $deliveryZone = null, $loadReferencedRecords = false)
 {
     $filter = new ARSelectFilter();
     $filter->setOrder(new ARFieldHandle(__CLASS__, "position"), 'ASC');
     if (!$deliveryZone) {
         $deliveryZone = DeliveryZone::getDefaultZoneInstance();
     }
     if ($deliveryZone->isDefault()) {
         $filter->setCondition(new IsNullCond(new ARFieldHandle(__CLASS__, "deliveryZoneID")));
     } else {
         $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, "deliveryZoneID"), $deliveryZone->getID()));
     }
     $services = self::getRecordSet($filter, $loadReferencedRecords);
     if ($deliveryZone->isDefault()) {
         foreach ($services as $service) {
             $service->deliveryZone->set($deliveryZone);
         }
     }
     return $services;
 }
Example #30
0
 /**
  * @param DeliveryZone $zone
  * 
  * @return ARSet
  */
 public static function getRecordSetByZone(DeliveryZone $zone, $loadReferencedRecords = false)
 {
     $filter = new ARSelectFilter();
     $filter->setCondition(new EqualsCond(new ARFieldHandle(__CLASS__, 'deliveryZoneID'), $zone->getID()));
     return self::getRecordSet(__CLASS__, $filter, $loadReferencedRecords);
 }