Beispiel #1
0
 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();
 }
Beispiel #9
0
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;
}
Beispiel #10
0
 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;
		}
Beispiel #13
0
 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;
 }
Beispiel #14
0
 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;
 }
Beispiel #15
0
 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();
 }
Beispiel #20
0
		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();
		}
Beispiel #24
0
 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"));
 }
Beispiel #27
0
 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();
 }
Beispiel #30
0
 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();
 }