コード例 #1
0
 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();
 }
コード例 #2
0
		/**
			* Слить все заказы покупателя в профиль пользователя.
			* Объект покупателя после этого будет уничтожен
		*/
		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();
		}
コード例 #3
0
 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;
     }
 }
コード例 #4
0
 static function detectWhereFilters(selector $v8be74552df93e31bbdd6b36ed74bdb6a)
 {
     static $v4b5bea44af9baf871f58e4ecb54526ff = array('eq' => 'equals', 'ne' => 'notequals', 'like' => 'like', 'gt' => 'more', 'lt' => 'less');
     $va339e2404792d7f8add09a5013066a3e = (array) getRequest('search-all-text');
     if (sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->types) == 1 && $v8be74552df93e31bbdd6b36ed74bdb6a->types[0]->objectType instanceof iUmiObjectType && sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->types[0]->objectType->getAllFields()) == 0) {
         foreach ($va339e2404792d7f8add09a5013066a3e as $v597a51f04d341eba4ca965899acc10b3) {
             $v8be74552df93e31bbdd6b36ed74bdb6a->where('name')->like('%' . $v597a51f04d341eba4ca965899acc10b3 . '%');
         }
         return;
     } else {
         foreach ($va339e2404792d7f8add09a5013066a3e as $v597a51f04d341eba4ca965899acc10b3) {
             try {
                 if ($v597a51f04d341eba4ca965899acc10b3 !== "") {
                     $v8be74552df93e31bbdd6b36ed74bdb6a->where('*')->like('%' . $v597a51f04d341eba4ca965899acc10b3 . '%');
                 }
             } catch (selectorException $ve1671797c52e15f763380b45e841ec32) {
             }
         }
     }
     $v2c9885d2b0c7e26971f60a90f33cf718 = (array) getRequest('fields_filter');
     foreach ($v2c9885d2b0c7e26971f60a90f33cf718 as $v972bf3f05d14ffbdb817bef60638ff00 => $vcaf9b6b99962bf5c2264824231d7a40c) {
         if (is_array($vcaf9b6b99962bf5c2264824231d7a40c)) {
             if (isset($vcaf9b6b99962bf5c2264824231d7a40c[0]) && isset($vcaf9b6b99962bf5c2264824231d7a40c[1])) {
                 try {
                     $v8be74552df93e31bbdd6b36ed74bdb6a->where($v972bf3f05d14ffbdb817bef60638ff00)->between($vcaf9b6b99962bf5c2264824231d7a40c[0], $vcaf9b6b99962bf5c2264824231d7a40c[1]);
                 } catch (selectorException $ve1671797c52e15f763380b45e841ec32) {
                 }
             }
             foreach ($vcaf9b6b99962bf5c2264824231d7a40c as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v9e3669d19b675bd57058fd4664205d2a) {
                 if (isset($v4b5bea44af9baf871f58e4ecb54526ff[$v865c0c0b4ab0e063e5caa3387c1a8741])) {
                     try {
                         if ($v4b5bea44af9baf871f58e4ecb54526ff[$v865c0c0b4ab0e063e5caa3387c1a8741] == 'like') {
                             $v9e3669d19b675bd57058fd4664205d2a .= '%';
                         }
                         if ($v9e3669d19b675bd57058fd4664205d2a !== "") {
                             $v8be74552df93e31bbdd6b36ed74bdb6a->where($v972bf3f05d14ffbdb817bef60638ff00)->{$v4b5bea44af9baf871f58e4ecb54526ff}[$v865c0c0b4ab0e063e5caa3387c1a8741]($v9e3669d19b675bd57058fd4664205d2a);
                         }
                     } catch (selectorException $ve1671797c52e15f763380b45e841ec32) {
                         self::tryException($ve1671797c52e15f763380b45e841ec32);
                     }
                 }
             }
         } else {
             try {
                 if ($vcaf9b6b99962bf5c2264824231d7a40c !== "") {
                     $v8be74552df93e31bbdd6b36ed74bdb6a->where($v972bf3f05d14ffbdb817bef60638ff00)->equals($vcaf9b6b99962bf5c2264824231d7a40c);
                 }
             } catch (selectorException $ve1671797c52e15f763380b45e841ec32) {
             }
         }
     }
 }
コード例 #5
0
 public function export($v01af57e4ae6d799566f5695b3679756b)
 {
     $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages');
     if (is_array($v01af57e4ae6d799566f5695b3679756b) && count($v01af57e4ae6d799566f5695b3679756b)) {
         foreach ($v01af57e4ae6d799566f5695b3679756b as $ve730db5c29b7ba34f4d465b01bd33c5e) {
             $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page($ve730db5c29b7ba34f4d465b01bd33c5e->getId())->childs(100);
         }
     } else {
         $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page(0)->childs(100);
     }
     $v6a7f245843454cf4f28ad7c5e2572aa2 = array_merge($v8be74552df93e31bbdd6b36ed74bdb6a->result, $v01af57e4ae6d799566f5695b3679756b);
     $vbbd738a112791dd1d0cb6bd0d61d878f = $this->getUmiDump($v6a7f245843454cf4f28ad7c5e2572aa2);
     return $vbbd738a112791dd1d0cb6bd0d61d878f;
 }
コード例 #6
0
		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);
		}
コード例 #7
0
 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();
 }
コード例 #8
0
 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;
 }
コード例 #9
0
 /**
  * Функция рисует список заказов пользователя
  * @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));
 }
コード例 #10
0
 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();
 }
コード例 #11
0
		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;
		}
コード例 #12
0
ファイル: class.php プロジェクト: BGCX261/zimmerli-svn-to-git
 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);
 }
コード例 #13
0
ファイル: vacancies.php プロジェクト: sd-studio/nz
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;
}
コード例 #14
0
		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;
		}
コード例 #15
0
 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;
 }
コード例 #16
0
ファイル: gallery.php プロジェクト: sd-studio/nz
 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;
 }
コード例 #17
0
 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;
 }
コード例 #18
0
ファイル: class.php プロジェクト: BGCX261/zimmerli-svn-to-git
		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);
		}
コード例 #19
0
 public function export($v92ec19ffde05e15769b1bb3ee05ad745)
 {
     if (!count($v92ec19ffde05e15769b1bb3ee05ad745)) {
         $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages');
         $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page(0)->childs(0);
         $v92ec19ffde05e15769b1bb3ee05ad745 = $v8be74552df93e31bbdd6b36ed74bdb6a->result();
     }
     $vbbd738a112791dd1d0cb6bd0d61d878f = $this->getUmiDump($v92ec19ffde05e15769b1bb3ee05ad745, "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);
     return $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d);
 }
コード例 #20
0
 public function checkAllMessages()
 {
     $service = antiSpamService::get();
     if (!$service) {
         return;
     }
     $sel = new selector('pages');
     $sel->types->name('comments', 'comment');
     $sel->types->name('forum', 'message');
     $sel->where('is_spam')->isNull();
     foreach ($sel->result() as $page) {
         $service->setNick(null);
         $service->setLink($page->link);
         $service->setContent($page->content);
         $page->is_spam = $service->isSpam() ? 2 : 1;
         $page->commit();
     }
 }
コード例 #21
0
 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;
 }
コード例 #22
0
ファイル: where.php プロジェクト: BGCX261/zimmerli-svn-to-git
 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");
     }
 }
コード例 #23
0
 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"));
 }
コード例 #24
0
 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();
 }
コード例 #25
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();
 }
コード例 #26
0
 public function export($v92ec19ffde05e15769b1bb3ee05ad745)
 {
     $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages');
     $v8be74552df93e31bbdd6b36ed74bdb6a->types('hierarchy-type')->name('catalog', 'object');
     if (count($v92ec19ffde05e15769b1bb3ee05ad745)) {
         foreach ($v92ec19ffde05e15769b1bb3ee05ad745 as $v9603a224b40d7b67210b78f2e390d00f) {
             $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page($v9603a224b40d7b67210b78f2e390d00f->id)->childs(1000);
         }
     }
     $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter("CommerceML2");
     $ved780287e302ec3b9fd3c5e78771919f->addElements($v8be74552df93e31bbdd6b36ed74bdb6a->result());
     $ved780287e302ec3b9fd3c5e78771919f->setIgnoreRelations();
     $vbbd738a112791dd1d0cb6bd0d61d878f = $ved780287e302ec3b9fd3c5e78771919f->execute();
     $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->saveXML());
     $v640eac53ad75db5c49a9ec86390d8530 = umiTemplater::create('XSLT', $vd0c75bac742760cf71fd76cd75d0c02a);
     return $v640eac53ad75db5c49a9ec86390d8530->parse($v9a09b4dfda82e3e665e31092d1c3ec8d);
 }
コード例 #27
0
ファイル: offers.php プロジェクト: sd-studio/nz
 public static function items($parentPage, $properties = array())
 {
     $items = array();
     $sel = new selector('pages');
     $sel->types('hierarchy-type')->name('catalog', 'object');
     $sel->where('hierarchy')->page($parentPage)->childs(1);
     foreach ($sel as $el) {
         $item = array('id' => $el->id, 'slug' => $el->getAltName(), 'name' => $el->getName());
         foreach ($properties as $nm) {
             $prop = $el->getObject()->getPropByName($nm);
             if ($prop) {
                 $val = $prop->getValue();
                 if (is_a($val, 'umiFile')) {
                     $val = $val->getFilePath(true);
                 }
                 $item[$nm] = $val;
             } else {
                 $item[$nm] = false;
             }
         }
         $items[] = $item;
     }
     return $items;
 }
コード例 #28
0
 public function onCreateObject($e)
 {
     $object = $e->getRef('object');
     $objectType = umiObjectTypesCollection::getInstance()->getType($object->getTypeId());
     header("Content-type: text/plain");
     if ($objectType->getModule() != "dispatches" || $objectType->getMethod() != "subscriber") {
         return;
     }
     if ($e->getMode() == "before") {
         $sel = new selector('objects');
         $sel->types('object-type')->id($objectType->getId());
         $sel->where('name')->equals((string) getRequest('name'));
         $sel->limit(1, 1);
         if ($sel->first) {
             umiObjectsCollection::getInstance()->delObject($sel->first->id);
             $this->errorRegisterFailPage($this->pre_lang . "/admin/dispatches/add/subscriber/");
             $this->errorNewMessage(getLabel('error-subscriber-exists'), true);
         }
     }
 }
コード例 #29
0
    public function novelty_list()
    {
        $pages = new selector('pages');
        $pages->types('hierarchy-type')->name('catalog', 'object');
        $pages->where('new_item')->equals('1');
        //$pages->limit(0,3);
        $res = '';
        $i = 0;
        foreach ($pages as $page) {
            if ($page->new_item_before == '' or $page->new_item_before->timestamp >= time()) {
                $res .= '
  <div class="item">
		<a href="' . "{$page->link}" . '">
			<img src="' . "{$page->pic1}" . '" alt="' . "{$page->name}" . '" />
			<span><b>' . "{$page->name}" . '<!--new_item_before--></b></span>
		</a>
	</div>               

      ';
                $i++;
            }
            if ($i == 3) {
                break;
            }
        }
        return $res;
    }
コード例 #30
0
 public function export($v92ec19ffde05e15769b1bb3ee05ad745)
 {
     set_time_limit(0);
     if (!count($v92ec19ffde05e15769b1bb3ee05ad745)) {
         $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages');
         $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page(0)->childs(0);
         $v92ec19ffde05e15769b1bb3ee05ad745 = $v8be74552df93e31bbdd6b36ed74bdb6a->result;
     }
     if (getRequest('as_file') === '0') {
         $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter($this->getSourceName());
         $ved780287e302ec3b9fd3c5e78771919f->addBranches($v92ec19ffde05e15769b1bb3ee05ad745);
         $result = $ved780287e302ec3b9fd3c5e78771919f->execute();
         return $result->saveXML();
     }
     $v857a5246dff0c3c79e476b004684f6d3 = "./sys-temp/export/";
     $vb80bb7740288fda1f201890375a60c8f = getRequest('param0');
     $v97fd815a3803a0588876bdd862014fed = $v857a5246dff0c3c79e476b004684f6d3 . $vb80bb7740288fda1f201890375a60c8f . "." . parent::getFileExt();
     $v6990a54322d9232390a784c5c9247dd6 = $v857a5246dff0c3c79e476b004684f6d3 . $vb80bb7740288fda1f201890375a60c8f;
     if (!is_dir($v6990a54322d9232390a784c5c9247dd6)) {
         mkdir($v6990a54322d9232390a784c5c9247dd6, 0777, true);
     }
     if (file_exists($v97fd815a3803a0588876bdd862014fed) && !file_exists(CURRENT_WORKING_DIR . '/sys-temp/runtime-cache/' . md5($this->getSourceName()))) {
         unlink($v97fd815a3803a0588876bdd862014fed);
     }
     if ($v92ec19ffde05e15769b1bb3ee05ad745) {
         $v33030abc929f083da5f6c3f755b46034 = array('./tpls/', './xsltTpls/', './css/', './js/', './usels/', './umaps/', './templates/');
         foreach ($v33030abc929f083da5f6c3f755b46034 as $v100664c6e2c0333b19a729f2f3ddb7dd) {
             if (is_dir($v100664c6e2c0333b19a729f2f3ddb7dd)) {
                 $v736007832d2167baaae763fd3a3f3cf1 = new umiDirectory($v100664c6e2c0333b19a729f2f3ddb7dd);
                 $v45b963397aa40d4a0063e0d85e4fe7a1 = $v736007832d2167baaae763fd3a3f3cf1->getAllFiles(1);
                 foreach ($v45b963397aa40d4a0063e0d85e4fe7a1 as $vd6fe1d0be6347b8ef2427fa629c04485 => $vb068931cc450442b63f5b3d276ea4297) {
                     $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($vd6fe1d0be6347b8ef2427fa629c04485);
                     if (!is_dir($v6990a54322d9232390a784c5c9247dd6 . ltrim($v8c7dd922ad47494fc02c388e12c00eac->getDirName(), '.'))) {
                         mkdir($v6990a54322d9232390a784c5c9247dd6 . ltrim($v8c7dd922ad47494fc02c388e12c00eac->getDirName(), '.'), 0777, true);
                     }
                     copy($v8c7dd922ad47494fc02c388e12c00eac->getFilePath(), $v6990a54322d9232390a784c5c9247dd6 . $v8c7dd922ad47494fc02c388e12c00eac->getFilePath(true));
                 }
             }
         }
     }
     $v71b70dd1e455c477220693d84ccd5682 = $v97fd815a3803a0588876bdd862014fed . '.tmp';
     $v480d1b61a0432d1319f7504a3d7318dd = (int) mainConfiguration::getInstance()->get("modules", "exchange.export.limit");
     if ($v480d1b61a0432d1319f7504a3d7318dd <= 0) {
         $v480d1b61a0432d1319f7504a3d7318dd = 25;
     }
     $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter($this->getSourceName(), $v480d1b61a0432d1319f7504a3d7318dd);
     $ved780287e302ec3b9fd3c5e78771919f->addBranches($v92ec19ffde05e15769b1bb3ee05ad745);
     $vdd988cfd769c9f7fbd795a0f5da8e751 = $ved780287e302ec3b9fd3c5e78771919f->execute();
     if (file_exists($v97fd815a3803a0588876bdd862014fed)) {
         $v1de9b0a30075ae8c303eb420c103c320 = new XMLReader();
         $va82feee3cc1af8bcabda979e8775ef0f = new XMLWriter();
         $v1de9b0a30075ae8c303eb420c103c320->open($v97fd815a3803a0588876bdd862014fed);
         $va82feee3cc1af8bcabda979e8775ef0f->openURI($v71b70dd1e455c477220693d84ccd5682);
         $va82feee3cc1af8bcabda979e8775ef0f->startDocument('1.0', 'utf-8');
         $va82feee3cc1af8bcabda979e8775ef0f->startElement('umidump');
         $va82feee3cc1af8bcabda979e8775ef0f->writeAttribute('version', '2.0');
         $va82feee3cc1af8bcabda979e8775ef0f->writeAttribute('xmlns:xlink', 'http://www.w3.org/TR/xlink');
         $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->read();
         while ($v7aa28ed115707345d0274032757e8991) {
             if ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::ELEMENT) {
                 $ve24455211a964330063a18670d943835 = $v1de9b0a30075ae8c303eb420c103c320->name;
                 if ($ve24455211a964330063a18670d943835 != 'umidump') {
                     $va82feee3cc1af8bcabda979e8775ef0f->startElement($ve24455211a964330063a18670d943835);
                     if ($ve24455211a964330063a18670d943835 != 'meta') {
                         if (!$v1de9b0a30075ae8c303eb420c103c320->isEmptyElement) {
                             $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->read();
                             while ($v7852ddca47412c0d947ebf27eb83ed3a) {
                                 if ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::ELEMENT) {
                                     $vcf7f5c76225a101e6320a96c02f92fc1 = $v1de9b0a30075ae8c303eb420c103c320->name;
                                     $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($v1de9b0a30075ae8c303eb420c103c320->readOuterXML());
                                     $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->next();
                                 } elseif ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::END_ELEMENT && $v1de9b0a30075ae8c303eb420c103c320->name == $ve24455211a964330063a18670d943835) {
                                     $v7852ddca47412c0d947ebf27eb83ed3a = false;
                                 } else {
                                     $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->next();
                                 }
                             }
                         }
                         if ($vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName($ve24455211a964330063a18670d943835)->item(0)->hasChildNodes()) {
                             $v268184c12df027f536154d099d497b31 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName($ve24455211a964330063a18670d943835)->item(0)->childNodes;
                             foreach ($v268184c12df027f536154d099d497b31 as $v1b7d5726533ab525a8760351e9b5e415) {
                                 $va5e171f642af8e3bd24c50cdc4d66fe3 = new DOMDocument();
                                 $va5e171f642af8e3bd24c50cdc4d66fe3->formatOutput = true;
                                 $v36c4536996ca5615dcf9911f068786dc = $va5e171f642af8e3bd24c50cdc4d66fe3->importNode($v1b7d5726533ab525a8760351e9b5e415, true);
                                 $va5e171f642af8e3bd24c50cdc4d66fe3->appendChild($v36c4536996ca5615dcf9911f068786dc);
                                 $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($va5e171f642af8e3bd24c50cdc4d66fe3->saveXML($v36c4536996ca5615dcf9911f068786dc, LIBXML_NOXMLDECL));
                             }
                         }
                     } elseif ($ve24455211a964330063a18670d943835 == 'meta') {
                         $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($v1de9b0a30075ae8c303eb420c103c320->readInnerXML());
                         $v92ec19ffde05e15769b1bb3ee05ad745 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('branches');
                         if ($v92ec19ffde05e15769b1bb3ee05ad745->item(0)) {
                             $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($vdd988cfd769c9f7fbd795a0f5da8e751->saveXML($v92ec19ffde05e15769b1bb3ee05ad745->item(0), LIBXML_NOXMLDECL));
                         }
                     }
                     $va82feee3cc1af8bcabda979e8775ef0f->fullEndElement();
                     $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->next();
                     continue;
                 }
             }
             $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->read();
         }
         $va82feee3cc1af8bcabda979e8775ef0f->fullEndElement();
         $v1de9b0a30075ae8c303eb420c103c320->close();
         $va82feee3cc1af8bcabda979e8775ef0f->endDocument();
         $va82feee3cc1af8bcabda979e8775ef0f->flush();
         unlink($v97fd815a3803a0588876bdd862014fed);
         rename($v71b70dd1e455c477220693d84ccd5682, $v97fd815a3803a0588876bdd862014fed);
     } else {
         file_put_contents($v97fd815a3803a0588876bdd862014fed, $vdd988cfd769c9f7fbd795a0f5da8e751->saveXML());
     }
     $this->completed = $ved780287e302ec3b9fd3c5e78771919f->isCompleted();
     return false;
 }