static function detectFilters(selector $v8be74552df93e31bbdd6b36ed74bdb6a) { if ($v8be74552df93e31bbdd6b36ed74bdb6a->mode == 'pages') { $ve4e46deb7f9cc58c7abfb32e5570b6f3 = (array) getRequest('domain_id'); foreach ($ve4e46deb7f9cc58c7abfb32e5570b6f3 as $v72ee76c5c29383b7c9f9225c1fa4d10b) { $v8be74552df93e31bbdd6b36ed74bdb6a->where('domain')->equals($v72ee76c5c29383b7c9f9225c1fa4d10b); } $v5a05866850c28651fe234659f6c92ada = (array) getRequest('lang_id'); foreach ($v5a05866850c28651fe234659f6c92ada as $vf585b7f018bb4ced15a03683a733e50b) { $v8be74552df93e31bbdd6b36ed74bdb6a->where('lang')->equals($vf585b7f018bb4ced15a03683a733e50b); } } if ($v8be74552df93e31bbdd6b36ed74bdb6a->mode == 'pages' && sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->types) && is_array(getRequest('rel')) && regedit::getInstance()->getVal('//modules/comments')) { $v8be74552df93e31bbdd6b36ed74bdb6a->types('hierarchy-type')->name('comments', 'comment'); } if (isset($_REQUEST['hierarchy_types'])) { $vc7fcb1af65c062d638abb298ceddb52b = (array) $_REQUEST['hierarchy_types']; foreach ($vc7fcb1af65c062d638abb298ceddb52b as $v9e3669d19b675bd57058fd4664205d2a) { $v9e3669d19b675bd57058fd4664205d2a = explode('-', $v9e3669d19b675bd57058fd4664205d2a); if (sizeof($v9e3669d19b675bd57058fd4664205d2a) == 2) { $v8be74552df93e31bbdd6b36ed74bdb6a->types('hierarchy-type')->name($v9e3669d19b675bd57058fd4664205d2a[0], $v9e3669d19b675bd57058fd4664205d2a[1]); } } } self::detectHierarchyFilters($v8be74552df93e31bbdd6b36ed74bdb6a); self::detectWhereFilters($v8be74552df93e31bbdd6b36ed74bdb6a); self::detectOrderFilters($v8be74552df93e31bbdd6b36ed74bdb6a); self::checkSyncParams($v8be74552df93e31bbdd6b36ed74bdb6a); }
public static function getByCodeName($code) { $sel = new selector('objects'); $sel->types('object-type')->name('social_networks','network'); $sel->where('social_id')->equals($code); return self::get($sel->first); }
/** * Слить все заказы покупателя в профиль пользователя. * Объект покупателя после этого будет уничтожен */ public function merge(umiObject $customer) { $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('customer_id')->equals($customer->id); $sel->where('domain_id')->equals($domainId); $sel->order('id')->desc(); $permissions = permissionsCollection::getInstance(); $userId = $permissions->getUserId(); foreach($sel as $order) { if(!$order->status_id) { $this->mergeBasket($order); continue; } $order->customer_id = $userId; $order->commit(); } if (!defined('UMICMS_CLI_MODE') || !UMICMS_CLI_MODE) { setcookie('customer-id', 0, 1, '/'); } $customer->delete(); }
public function orders() { $this->setDataType("list"); $this->setActionType("view"); if ($this->ifNotXmlMode()) { return $this->doData(); } $limit = getRequest('per_page_limit'); $curr_page = (int) getRequest('p'); $offset = $limit * $curr_page; $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('status_id')->isNull(false); $sel->where('name')->notequals('dummy'); $sel->limit($offset, $limit); if (!getRequest('order_filter')) { $sel->order('order_date')->desc(); } selectorHelper::detectFilters($sel); $domains = getRequest('domain_id'); if (is_array($domains) && sizeof($domains)) { $domainsCollection = domainsCollection::getInstance(); if (sizeof($domainsCollection->getList()) > 1) { $sel->where('domain_id')->equals($domains[0]); } } $this->setDataRange($limit, $offset); $data = $this->prepareData($sel->result, "objects"); $this->setData($data, $sel->length); return $this->doData(); }
public function createAuthorGuest($nick, $email, $ip) { $objects = umiObjectsCollection::getInstance(); $objectTypes = umiObjectTypesCollection::getInstance(); $nick = trim($nick); $email = trim($email); if (!$nick) { $nick = getLabel('author-anonymous'); } if (!$email) { $email = getServer('REMOTE_ADDR'); } $sel = new selector('objects'); $sel->types('object-type')->name('users', 'author'); $sel->where('email')->equals($email); $sel->where('nickname')->equals($nick); $sel->where('ip')->equals($ip); $sel->limit(0, 1); if ($sel->first) { return $sel->first->id; } else { $user_name = $nick . " ({$email})"; $object_type_id = $objectTypes->getBaseType("users", "author"); $author_id = $objects->addObject($user_name, $object_type_id); $author = $objects->getObject($author_id); $author->name = $user_name; $author->is_registrated = false; $author->nickname = $nick; $author->email = $email; $author->ip = $ip; $author->commit(); return $author_id; } }
public static function getList($discountTypeId = false) { $objectTypeId = self::getRuleType()->getId(); $sel = new selector('objects'); $sel->types('object-type')->id($objectTypeId); if ($discountTypeId) { $sel->where('rule_discount_types')->equals($discountTypeId); } return $sel->result(); }
public function onDispatchChanges(iUmiEventPoint $oEvent) { $sTemplate = "default"; try { list($sTemplateSubject, $sTemplateMessage) = def_module::loadTemplatesForMail("forum/mails/".$sTemplate, "mail_subject", "mail_message"); } catch (publicException $e) { return false; } $iTopicId = $oEvent->getParam("topic_id"); $iMessageId = $oEvent->getParam("message_id"); $message = umiHierarchy::getInstance()->getElement($iMessageId); $sel = new selector('objects'); $sel->types('object-type')->name("users", "user"); $sel->where('subscribed_pages')->equals($iTopicId); if (!$sel->length()) return false; $hierarchy = umiHierarchy::getInstance(); $block_arr = Array(); $sTemplateSubject = def_module::parseTemplateForMail($sTemplateSubject, $block_arr, $iMessageId); $sFromEmail = regedit::getInstance()->getVal("//settings/email_from"); $sFromFio = regedit::getInstance()->getVal("//settings/fio_from"); $oMail = new umiMail(); $oMail->setFrom($sFromEmail, $sFromFio); $oMail->setSubject($sTemplateSubject); foreach($sel->result() as $oUser) { $oMailUser = clone $oMail; $sUserMail = $oUser->getValue('e-mail'); $block_arr['h1'] = $message->getValue('h1'); $block_arr['message'] = $message->getValue('message'); $hierarchy->forceAbsolutePath(true); $block_arr['unsubscribe_link'] = $hierarchy->getPathById($iTopicId) . "?unsubscribe=" . base64_encode($iUserId); $sTemplateMessageUser = def_module::parseTemplateForMail($sTemplateMessage, $block_arr, $iMessageId); $oMailUser->setContent($sTemplateMessageUser); $hierarchy->forceAbsolutePath(false); if (umiMail::checkEmail($sUserMail)) { $sUserFio = $oUser->getValue('lname') . " ". $oUser->getValue('fname') . " " . $oUser->getValue('father_name'); $oMailUser->addRecipient($sUserMail, $sUserFio); $oMailUser->commit(); $oMailUser->send(); } else continue; } return true; }
public function lists() { $this->setDataType("list"); $this->setActionType("view"); if ($this->ifNotXmlMode()) { return $this->doData(); } $limit = getRequest('per_page_limit'); $curr_page = getRequest('p'); $offset = $curr_page * $limit; $sel = new selector('pages'); $sel->types('hierarchy-type')->name('news', 'rubric'); $sel->types('hierarchy-type')->name('news', 'item'); $sel->limit($offset, $limit); selectorHelper::detectFilters($sel); $data = $this->prepareData($sel->result, "pages"); $this->setData($data, $sel->length); $this->setDataRangeByPerPage($limit, $curr_page); return $this->doData(); }
function customContent($page, &$vars) { $items = new \selector('pages'); $items->types('hierarchy-type')->name('content', 'page'); $items->where('hierarchy')->page($page->id)->childs(1); $pages = array(); foreach ($items as $item) { $p = array('id' => $item->id, 'name' => $item->getName(), 'content' => $item->getValue('content')); $pages[] = $p; } $vars['vacancies'] = $pages; }
public function number() { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->order('number')->desc(); $sel->limit(0, 1); $number = $sel->first ? $sel->first->number + 1 : 1; $order = $this->order; $order->name = getLabel('order-name-prefix', 'emarket', $number); $order->number = $number; $order->commit(); return $number; }
public function search_by_size() { $pages = new selector('objects'); $pages->types('object-type')->name('guide', 'guide'); $pages->where('id')->equals('125'); //$pages->limit(0,3); $res = ''; foreach ($pages as $page) { print_r($page); die; } return $res; }
public function getReleaseMessages($iReleaseId = false) { $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "message")->getId(); $iMsgTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId); $oMsgType = umiObjectTypesCollection::getInstance()->getType($iMsgTypeId); $sel = new selector('objects'); $sel->types('object-type')->name('dispatches', 'message'); if($iReleaseId) { $sel->where('release_reference')->equals($iReleaseId); } selectorHelper::detectFilters($sel); return $sel->result; }
public static function images($albumId) { $photos = new selector('pages'); $photos->types('hierarchy-type')->name('photoalbum', 'photo'); $photos->where('hierarchy')->page($albumId)->childs(1); $images = array(); foreach ($photos as $photo) { $image = $photo->getObject()->getPropByName('photo')->getValue(); if ($image) { $images[] = array('id' => $photo->id, 'name' => $photo->getName(), 'link' => $image->getFilePath(true)); } } return $images; }
public static function clearPrimary($except = 0) { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'store'); $stores = $sel->result; foreach ($stores as $v) { if ($except == $v->getId()) { continue; } $v->setValue('primary', 0); $v->commit(); } return true; }
public function lists() { // Установить формат вывода list // Устанавливаем действие над списокм - "view" - просмотр списка $this->setDataType("list"); $this->setActionType("view"); // если не XmlMode то выдоча того что есть if ($this->ifNotXmlMode()) { return $this->doData(); } // Установить лимит в 20 $limit = 20; /** * Обратите внимание! * Эта строка необходима для корректного определения * текущей страницы Возвращает параметр из $_SERVER['QUERY_STRING'] */ $curr_page = getRequest('p'); // вычисляем смещение от начала списка $offset = $curr_page * $limit; // Установить параметры выборки // Выбирать страницы связанных с методами groupelements и item_element // Установить лимит Смещение от начала списка и количество страниц $sel = new selector('pages'); $sel->types('hierarchy-type')->name('modulelements', 'groupelements'); $sel->types('hierarchy-type')->name('modulelements', 'item_element'); $sel->limit($offset, $limit); // ? Очевидно какой-нибудь фильтр selectorHelper::detectFilters($sel); // Подготавливаем данные, чтобы потом корректно их вывести $data = $this->prepareData($sel->result, "pages"); // Данные, длинна $this->setData($data, $sel->length); $this->setDataRangeByPerPage($limit, $curr_page); return $this->doData(); }
public function getSystemEventRecipients() { $permissions = permissionsCollection::getInstance(); $currentUserId = $permissions->getUserId(); $sel = new selector('objects'); $sel->types('object-type')->name('users', 'user'); $sel->where('groups')->equals(SV_GROUP_ID); $result = array(SV_USER_ID); foreach ($sel as $user) { if ($user->id != $currentUserId) { $result[] = $user->id; } } return $result; }
public function places() { $mode = (string) getRequest('param0'); if ($mode == "do") { $this->saveEditedList("objects", array('type' => 'place')); $this->chooseRedirect(); } $sel = new selector('objects'); $sel->types('object-type')->name('banners', 'place'); $this->setDataType("list"); $this->setActionType("modify"); $data = $this->prepareData($sel->result, "objects"); $this->setData($data, $sel->length); return $this->doData(); }
protected function getCustomerOrders() { static $customerOrders = null; if (!is_null($customerOrders)) { return $customerOrders; } $customer = customer::get(); $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('customer_id')->equals($customer->id); $sel->where('domain_id')->equals($domainId); $sel->where('status_id')->equals(order::getStatusByCode('ready')); return $customerOrders = $sel->result; }
public function getAllDiscounts($codeName = false) { static $discounts = array(); if ($codeName && isset($discounts[$codeName])) { return $discounts[$codeName]; } elseif (isset($discounts['all'])) { return $discounts['all']; } $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'discount'); $sel->where('is_active')->equals(true); if ($codeName) { $sel->where('discount_type_id')->equals($this->getDiscountTypeId($codeName)); return $discounts[$codeName] = $sel->result(); } return $discounts['all'] = $sel->result(); }
public function list_files($element_id = false, $template = "default", $per_page = false, $ignore_paging = false) { if(!$template) $template = "default"; list($template_block, $template_line) = def_module::loadTemplates("filemanager/".$template, "list_files", "list_files_row"); $block_arr = Array(); $element_id = $this->analyzeRequiredPath($element_id); if(!$per_page) $per_page = $this->per_page; $curr_page = (int) getRequest('p'); if($ignore_paging) $curr_page = 0; $sel = new selector('pages'); $sel->types('hierarchy-type')->name('filemanager', 'shared_file'); $sel->where('hierarchy')->page($element_id)->childs(100); $sel->limit($curr_page, $per_page); $result = $sel->result(); $total = $sel->length(); $lines = Array(); foreach($result as $element) { $line_arr = Array(); $next_element_id = $element->getId(); $line_arr['attribute:id'] = $element->getId(); $line_arr['attribute:name'] = $element->getName(); $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($next_element_id); $line_arr['attribute:downloads-count'] = $element->getValue('downloads_counter'); $line_arr['xlink:download-link'] = $this->pre_lang . "/filemanager/download/" . $next_element_id; $line_arr['xlink:href'] = "upage://" . $next_element_id; $line_arr['node:desc'] = $element->getValue("content"); $this->pushEditable("filemanager", "shared_file", $next_element_id); $lines[] = self::parseTemplate($template_line, $line_arr, $next_element_id); } $block_arr['nodes:items'] = $block_arr['void:lines'] = $lines; $block_arr['per_page'] = $per_page; $block_arr['total'] = $total; return self::parseTemplate($template_block, $block_arr); }
/** * Функция рисует список заказов пользователя * @param string $template Название шаблона * @return mixed Список заказов пользователя */ public function show_user_orders($template = 'default') { list($tpl_block, $tpl_block_empty, $tpl_item, $tpl_order_item) = def_module::loadTemplates("emarket/" . $template, 'orders_block', 'orders_block_empty', 'orders_item', 'orders_order_item'); $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('customer_id')->equals(customer::get()->id); $sel->where('name')->isNull(false); $sel->where('domain_id')->equals($domainId); if ($sel->length == 0) { $tpl_block = $tpl_block_empty; } $items_arr = array(); foreach ($sel->result as $selOrder) { $order = order::get($selOrder->id); $item_arr['attribute:id'] = $order->id; $item_arr['attribute:name'] = $order->name; $item_arr['attribute:type-id'] = $order->typeId; $item_arr['attribute:guid'] = $order->GUID; $item_arr['attribute:type-guid'] = $order->typeGUID; $item_arr['attribute:ownerId'] = $order->ownerId; $item_arr['xlink:href'] = $order->xlink; $item_arr['attribute:delivery_allow_date'] = date('d.m.Y', $order->getValue('delivery_allow_date')->timestamp); //print_r($order->getValue('order_items')); //Получаем список товаров заказа $items = array(); foreach ($order->getItems() as $orderItem) { // print_r($order_item); die; $item_line = array(); // print_r(umiHierarchy::getInstance()->getObjectInstances($orderItem->id)); $item_line['attribute:element_id'] = $orderItem->id; $item_line['attribute:name'] = $orderItem->name; $item_line['attribute:item_amount'] = $orderItem->getAmount(); // $item_line['attribute:options'] = $orderItem->getOptions(); // print_r($order_item->options); $items[] = def_module::parseTemplate($tpl_order_item, $item_line, false, $iOrderItemId); umiObjectsCollection::getInstance()->unloadObject($iOrderItemId); } $item_arr['subnodes:order_items'] = $items; $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $order->id); } return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr)); }
public function export($v01af57e4ae6d799566f5695b3679756b) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('objects'); $v8be74552df93e31bbdd6b36ed74bdb6a->types('object-type')->name('emarket', 'order'); $v8be74552df93e31bbdd6b36ed74bdb6a->where('need_export')->equals(1); $vbbd738a112791dd1d0cb6bd0d61d878f = $this->getUmiDumpObjects($v8be74552df93e31bbdd6b36ed74bdb6a->result, "CommerceML2"); $vd0c75bac742760cf71fd76cd75d0c02a = './xsl/export/' . $this->type . '.xsl'; if (!is_file($vd0c75bac742760cf71fd76cd75d0c02a)) { throw new publicException("Can't load exporter {$vd0c75bac742760cf71fd76cd75d0c02a}"); } $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8"); $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT; $v9a09b4dfda82e3e665e31092d1c3ec8d->loadXML($vbbd738a112791dd1d0cb6bd0d61d878f); $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a); $result = $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d); $result = str_replace('<?xml version="1.0" encoding="utf-8"?>', '<?xml version="1.0" encoding="windows-1251"?>', $result); $result = iconv("UTF-8", "CP1251//IGNORE", $result); return $result; }
public function delivery() { $this->setDataType("list"); $this->setActionType("view"); if($this->ifNotXmlMode()) return $this->doData(); $limit = getRequest('per_page_limit'); $curr_page = (int) getRequest('p'); $offset = $limit * $curr_page; $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'delivery'); $sel->limit($offset, $limit); selectorHelper::detectFilters($sel); $this->setDataRange($limit, $offset); $data = $this->prepareData($sel->result, "objects"); $this->setData($data, $sel->length); return $this->doData(); }
public function __call($vea9f6aca279138c58f705c8d4cb4b8ce, $args) { $vea9f6aca279138c58f705c8d4cb4b8ce = strtolower($vea9f6aca279138c58f705c8d4cb4b8ce); if (in_array($vea9f6aca279138c58f705c8d4cb4b8ce, $this->modes)) { $v2063c1608d6e0baf80249c42e2be5804 = sizeof($args) ? $args[0] : null; if ($v2063c1608d6e0baf80249c42e2be5804 instanceof iUmiEntinty) { $v2063c1608d6e0baf80249c42e2be5804 = $v2063c1608d6e0baf80249c42e2be5804->getId(); } if (isset($this->fieldId)) { $v06e3d36fa30cea095545139854ad1fb9 = selector::get('field')->id($this->fieldId); if ($v6b1a57fa235477758817df3c91158006 = $v06e3d36fa30cea095545139854ad1fb9->getRestrictionId()) { $v3dadfaeb46ec74762b37de11fea7605c = baseRestriction::get($v6b1a57fa235477758817df3c91158006); if ($v3dadfaeb46ec74762b37de11fea7605c instanceof iNormalizeInRestriction) { $v2063c1608d6e0baf80249c42e2be5804 = $v3dadfaeb46ec74762b37de11fea7605c->normalizeIn($v2063c1608d6e0baf80249c42e2be5804); } } if (is_numeric($v2063c1608d6e0baf80249c42e2be5804) && substr($v2063c1608d6e0baf80249c42e2be5804, 0, 1) !== "0") { $v2063c1608d6e0baf80249c42e2be5804 = (double) $v2063c1608d6e0baf80249c42e2be5804; } if ($v06e3d36fa30cea095545139854ad1fb9->getDataType() == 'relation' && is_string($v2063c1608d6e0baf80249c42e2be5804)) { if ($v52eb29c6d8ea0d3a5bb3654f49bbd7c7 = $v06e3d36fa30cea095545139854ad1fb9->getGuideId()) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('objects'); $v8be74552df93e31bbdd6b36ed74bdb6a->types('object-type')->id($v52eb29c6d8ea0d3a5bb3654f49bbd7c7); $v8be74552df93e31bbdd6b36ed74bdb6a->where('*')->ilike($v2063c1608d6e0baf80249c42e2be5804); $v2fa47f7c65fec19cc163b195725e3844 = sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->result); if ($v2fa47f7c65fec19cc163b195725e3844 > 0 && $v2fa47f7c65fec19cc163b195725e3844 < 100) { $v2063c1608d6e0baf80249c42e2be5804 = $v8be74552df93e31bbdd6b36ed74bdb6a->result; } } } if ($v06e3d36fa30cea095545139854ad1fb9->getDataType() == 'date' && is_string($v2063c1608d6e0baf80249c42e2be5804)) { $v5fc732311905cb27e82d67f4f6511f7f = new umiDate(); $v5fc732311905cb27e82d67f4f6511f7f->setDateByString(trim($v2063c1608d6e0baf80249c42e2be5804, ' %')); $v2063c1608d6e0baf80249c42e2be5804 = $v5fc732311905cb27e82d67f4f6511f7f->getDateTimeStamp(); } } $this->value = $v2063c1608d6e0baf80249c42e2be5804; $this->mode = $vea9f6aca279138c58f705c8d4cb4b8ce; } else { throw new selectorException("This property doesn't support \"{$vea9f6aca279138c58f705c8d4cb4b8ce}\" method"); } }
public function notifyOrderStatusChange(order $order, $changedProperty) { $order->need_export = true; if($changedProperty == "status_id") { $order->status_change_date = new umiDate(); } if(order::getCodeByStatus($order->getPaymentStatus()) == "accepted" && !$order->delivery_allow_date) { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'delivery'); if($sel->length) { $order->delivery_allow_date = new umiDate(); } } $statusId = $order->getValue($changedProperty); $codeName = order::getCodeByStatus($statusId); if($changedProperty == 'status_id' && (!$statusId || $codeName == 'payment')) return; $this->sendCustomerNotification($order, $changedProperty, $codeName); if($changedProperty == 'status_id' && $codeName == 'waiting') { $this->sendManagerNotification($order); } }
public function removeDeliveryAddress($addressId = false) { if (!$addressId) { $addressId = getRequest("param0"); } $addressId = (int) $addressId; $collection = umiObjectsCollection::getInstance(); if (!$collection->isExists($addressId)) { throw new publicException("Wrong address id passed"); } $customer = customer::get(); $customer->delivery_addresses = array_filter($customer->delivery_addresses, create_function("\$v", "return (\$v != {$addressId});")); $sel = new selector("objects"); $sel->types("object-type")->name("emarket", "order"); $sel->where("delivery_address")->equals($addressId); if (!$sel->length) { $collection->delObject($addressId); } $this->redirect(getServer("HTTP_REFERER")); }
public function albums($template = "default", $limit = false, $ignore_paging = false, $parentElementId = false, $order = 'asc') { list($template_block, $template_block_empty, $template_line) = def_module::loadTemplates("photoalbum/" . $template, "albums_list_block", "albums_list_block_empty", "albums_list_block_line"); $block_arr = array(); $curr_page = (int) getRequest('p'); if ($ignore_paging) { $curr_page = 0; } $offset = $limit * $curr_page; $sel = new selector('pages'); $sel->types('hierarchy-type')->name('photoalbum', 'album'); $sel->where('permissions'); if ($parentElementId) { $sel->where('hierarchy')->page($parentElementId)->childs(1); } if (in_array($order, array('asc', 'desc', 'rand'))) { $sel->order('ord')->{$order}(); } $sel->limit($offset, $limit); $result = $sel->result; $total = $sel->length(); $lines = array(); if ($total > 0) { foreach ($result as $element) { $line_arr = array(); $element_id = $element->getId(); $line_arr['attribute:id'] = $element_id; $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id); $line_arr['xlink:href'] = "upage://" . $element_id; $line_arr['node:name'] = $element->getName(); $this->pushEditable("photoalbum", "album", $element_id); $lines[] = self::parseTemplate($template_line, $line_arr, $element_id); } } else { return self::parseTemplate($template_block_empty, $block_arr); } $block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines; $block_arr['total'] = $total; $block_arr['per_page'] = $limit; return self::parseTemplate($template_block, $block_arr); }
public static final function getList($selfDeliveryOnly = false) { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'delivery'); $regedit = regedit::getInstance(); if ((bool) $regedit->getVal('//modules/emarket/delivery-with-address')) { $types = array(); $typesSel = new selector('objects'); $typesSel->types('object-type')->guid('emarket-deliverytype'); $typesSel->where('class_name')->equals('self'); foreach ($typesSel as $typeId) { $types[] = $typeId->id; } if ($selfDeliveryOnly) { $sel->where('delivery_type_id')->equals($types); } else { $sel->where('delivery_type_id')->notequals($types); } } return $sel->result(); }
public function discounts() { $this->setDataType("list"); $this->setActionType("view"); if ($this->ifNotXmlMode()) { return $this->doData(); } $objectTypes = umiObjectTypesCollection::getInstance(); $type_id = $objectTypes->getBaseType("emarket", "discount"); $limit = getRequest('per_page_limit'); $curr_page = (int) getRequest('p'); $offset = $limit * $curr_page; $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'discount'); $sel->limit($offset, $limit); selectorHelper::detectFilters($sel); $this->setDataRange($limit, $offset); $data = $this->prepareData($sel->result, "objects"); $this->setData($data, $sel->length); return $this->doData(); }
public function view_noactive_comments() { $this->setDataType("list"); $this->setActionType("view"); if ($this->ifNotXmlMode()) { return $this->doData(); } //Получение id родительской страницы. Если передан неверный id, будет выброшен exception $parent_id = $this->expectElementId('param0'); $limit = 20; $curr_page = (int) getRequest('p'); $offset = $limit * $curr_page; $sel = new selector('pages'); $sel->types('hierarchy-type')->name('comments', 'comment'); $sel->where('is_active')->equals(false); $sel->limit($offset, $limit); selectorHelper::detectFilters($sel); $this->setDataRange($limit, $offset); $data = $this->prepareData($sel->result, "pages"); $this->setData($data, $sel->total); return $this->doData(); }