Exemplo n.º 1
0
 public function process($template = null)
 {
     list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/payment/invoice/" . $template, 'legal_person_block', 'legal_person_item');
     $collection = umiObjectsCollection::getInstance();
     $types = umiObjectTypesCollection::getInstance();
     $typeId = $types->getBaseType("emarket", "legal_person");
     $customer = customer::get();
     $order = $this->order;
     $mode = getRequest('param2');
     if ($mode == 'do') {
         $personId = getRequest('legal-person');
         $isNew = $personId == null || $personId == 'new';
         if ($isNew) {
             $typeId = $types->getBaseType("emarket", "legal_person");
             $personId = $collection->addObject("", $typeId);
             $controller = cmsController::getInstance();
             $data = getRequest('data');
             if ($data && ($dataModule = $controller->getModule("data"))) {
                 $person = $collection->getObject($personId);
                 $person->setName($data['new']['name']);
                 $dataModule->saveEditedObject($personId, $isNew, true);
             }
             if ($collection->getObject($personId) instanceof umiObject) {
                 $customer = customer::get();
                 $customer->legal_persons = array_merge($customer->legal_persons, array($personId));
             }
         }
         $order->legal_person = $personId;
         $order->order();
         $order->payment_document_num = $order->id;
         $result = $this->printInvoice($order);
         $buffer = outputBuffer::current();
         $buffer->charset('utf-8');
         $buffer->contentType('text/html');
         $buffer->clear();
         $buffer->push($result);
         $buffer->end();
         return true;
     } else {
         if ($mode == 'delete') {
             $personId = (int) getRequest('person-id');
             if ($collection->isExists($personId)) {
                 $customer = customer::get();
                 $customer->legal_persons = array_diff($customer->legal_persons, array($personId));
                 $collection->delObject($personId);
             }
         }
     }
     $items = array();
     $persons = $customer->legal_persons;
     if (is_array($persons)) {
         foreach ($persons as $personId) {
             $person = $collection->getObject($personId);
             $item_arr = array('attribute:id' => $personId, 'attribute:name' => $person->name);
             $items[] = def_module::parseTemplate($tpl_item, $item_arr, false, $personId);
         }
     }
     $block_arr = array('attribute:type-id' => $typeId, 'attribute:type_id' => $typeId, 'xlink:href' => 'udata://data/getCreateForm/' . $typeId, 'subnodes:items' => $items);
     return def_module::parseTemplate($tpl_block, $block_arr);
 }
Exemplo n.º 2
0
 public function json_delete_group()
 {
     $group_id = (int) getRequest('param0');
     $type_id = (int) getRequest('param1');
     umiObjectTypesCollection::getInstance()->getType($type_id)->delFieldsGroup($group_id);
     $this->flush("");
 }
Exemplo n.º 3
0
 public function onAddTopicToDispatch(iUmiEventPoint $oEvent)
 {
     $iDispatchId = regedit::getInstance()->getVal("//modules/forum/dispatch_id");
     if (!$iDispatchId) {
         return false;
     }
     $dispatches_module = cmsController::getInstance()->getModule('dispatches');
     if (!$dispatches_module) {
         return false;
     }
     $iTopicId = (int) $oEvent->getParam('topic_id');
     $oTopicElement = umiHierarchy::getInstance()->getElement($iTopicId);
     if ($oTopicElement instanceof umiHierarchyElement) {
         $sTitle = (string) getRequest('title');
         $sMessage = (string) getRequest('body');
         $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "message")->getId();
         $iMsgTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId);
         $oMsgType = umiObjectTypesCollection::getInstance()->getType($iMsgTypeId);
         $iMsgObjId = umiObjectsCollection::getInstance()->addObject($sTitle, $iMsgTypeId);
         $oMsgObj = umiObjectsCollection::getInstance()->getObject($iMsgObjId);
         if ($oMsgObj instanceof umiObject) {
             $iReleaseId = $dispatches_module->getNewReleaseInstanceId($iDispatchId);
             $oMsgObj->setValue('release_reference', $iReleaseId);
             $oMsgObj->setValue('header', $sTitle);
             $oMsgObj->setValue('body', $sMessage);
             $oMsgObj->commit();
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Exemplo n.º 4
0
		public function onModifyObject(iUmiEventPoint $event) {
			static $modifiedCache = array();
			$object = $event->getRef("object");
			$typeId = umiObjectTypesCollection::getInstance()->getBaseType('emarket', 'order');
			if($object->getTypeId() != $typeId) return;
			if($event->getMode() == "before") {
				$data = getRequest("data");
				$id   = $object->getId();
				$newOrderStatus    = getArrayKey($data[$id], 'status_id');
				$newPaymentStatus  = getArrayKey($data[$id], 'payment_status_id');
				$newDeliveryStatus = getArrayKey($data[$id], 'delivery_status_id');
				switch(true) {
				   case ($newOrderStatus != $object->getValue("status_id") ) : $modifiedCache[$object->getId()] = "status_id"; break;
				   case ($newDeliveryStatus != $object->getValue("delivery_status_id")) : $modifiedCache[$object->getId()] = "delivery_status_id"; break;
				   case ($newPaymentStatus != $object->getValue("payment_status_id") ) : $modifiedCache[$object->getId()] = "payment_status_id"; break;				   
				}
			} else {
				if(isset($modifiedCache[$object->getId()])) {
					if ($modifiedCache[$object->getId()] == 'payment_status_id' && $object->getValue("payment_status_id") == order::getStatusByCode('accepted', 'order_payment_status')) {
						self::addBonus($object->getId());
					}
					if ($modifiedCache[$object->getId()] == 'status_id' && ($object->getValue("status_id") == order::getStatusByCode('canceled') || $object->getValue("status_id") == order::getStatusByCode('rejected'))) {
						self::returnBonus($object->getId());
					}
					$this->notifyOrderStatusChange(order::get($object->getId()), $modifiedCache[$object->getId()]);
				}
			}
		}
Exemplo n.º 5
0
 public function systemEventsNotify(iUmiEventPoint $event)
 {
     $eventId = $event->getEventId();
     $titleLabel = $titleLabel = 'event-' . $eventId . '-title';
     $contentLabel = 'event-' . $eventId . '-content';
     $title = getLabel($titleLabel, 'common/content/config');
     $content = getLabel($contentLabel, 'common/content/config');
     if ($titleLabel == $title) {
         return;
     }
     if ($element = $event->getRef('element')) {
         $hierarchy = umiHierarchy::getInstance();
         $oldbForce = $hierarchy->forceAbsolutePath(true);
         $params = array('%page-name%' => $element->name, '%page-link%' => $element->link);
         $hierarchy->forceAbsolutePath($oldbForce);
     } else {
         $params = array();
     }
     if ($object = $event->getRef('object')) {
         $params['%object-name%'] = $object->name;
         $objectTypes = umiObjectTypesCollection::getInstance();
         $objectType = $objectTypes->getType($object->getTypeId());
         if ($hierarchyTypeId = $objectType->getHierarchyTypeId()) {
             $hierarchyTypes = umiHierarchyTypesCollection::getInstance();
             $hierarchyType = $hierarchyTypes->getType($hierarchyTypeId);
             $params['%object-type%'] = $hierarchyType->getTitle();
         }
     }
     $title = str_replace(array_keys($params), array_values($params), $title);
     $content = str_replace(array_keys($params), array_values($params), $content);
     $this->dispatchSystemEvent($title, $content);
 }
Exemplo n.º 6
0
 /**
  * Создать новый товар для заказа.
  * Выбор класса осуществляется следующим образом:
  * 1. берется элемент $elementId - товар каталога
  * 2. у него берется значение свойства "item_type_id" ("Тип товара"), которое является справочником
  * 3. у него в свою очередь берется свойство "class_name", по которому определяется необходимый класс
  * Если тип не указан, то используется класс orderItem.
  * @param Integer $elementId
  * @param Integer|Boolean $storeId = false id склада, на котором находится товар
  * @return orderItem товар в заказе (объект класса orderItem или его наследнка)
  */
 public static function create($elementId, $storeId = false)
 {
     $objectTypes = umiObjectTypesCollection::getInstance();
     $objects = umiObjectsCollection::getInstance();
     $emarket = cmsController::getInstance()->getModule('emarket');
     $objectTypeId = $objectTypes->getBaseType('emarket', 'order_item');
     $hierarchy = umiHierarchy::getInstance();
     $objectId = $objects->addObject('', $objectTypeId);
     $object = $objects->getObject($objectId);
     if ($object instanceof iUmiObject == false) {
         throw new coreException("Couldn't load order item object #{$objectId}");
     }
     $element = $hierarchy->getElement($elementId);
     if ($element instanceof iUmiHierarchyElement == false) {
         throw new publicException("Page #{$elementId} not found");
     }
     $price = $emarket->getPrice($element, true);
     $object->item_price = $price;
     $object->item_amount = 0;
     $itemTypeId = self::getItemTypeId($element->getObjectTypeId());
     $object->item_type_id = $itemTypeId;
     $object->item_link = $element;
     $object->name = $element->name;
     return self::get($object->getId());
 }
 public function import_subscriber($email, $fname, $lname)
 {
     if (!$email) {
         return false;
     }
     $oSbsSelection = new umiSelection();
     $oSbsSelection->setObjectTypeFilter();
     $iSbsHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId();
     $iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iSbsHierarchyTypeId);
     $oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId);
     $oSbsSelection->addObjectType($iSbsTypeId);
     $oSbsSelection->setNamesFilter();
     $oSbsSelection->addNameFilterEquals($email);
     $arrSbsSelResults = umiSelectionsParser::runSelection($oSbsSelection);
     if (sizeof($arrSbsSelResults)) {
         list($object_id) = $arrSbsSelResults;
     } else {
         $object_id = umiObjectsCollection::getInstance()->addObject($email, $iSbsTypeId);
     }
     if ($oSubscriber = umiObjectsCollection::getInstance()->getObject($object_id)) {
         $oSubscriber->setName($email);
         $oSubscriber->setValue('fname', $fname);
         $oSubscriber->setValue('lname', $lname);
         $oCurrDate = new umiDate(time());
         $oSubscriber->setValue('subscribe_date', $oCurrDate);
         $oSubscriber->setValue('subscriber_dispatches', $this->getAllDispatches());
         $oSubscriber->commit();
     } else {
         return false;
     }
     return $object_id;
 }
Exemplo n.º 8
0
 public function profile($template = "default", $user_id = false)
 {
     if (!$template) {
         $template = "default";
     }
     list($template_block, $template_bad_user_block) = def_module::loadTemplates("users/profile/" . $template, "profile_block", "bad_user_block");
     $block_arr = array();
     if (!$user_id) {
         $user_id = (int) getRequest('param0');
     }
     if (!$user_id) {
         $permissions = permissionsCollection::getInstance();
         if ($permissions->isAuth()) {
             $user_id = $permissions->getUserId();
         }
     }
     if ($user = selector::get('object')->id($user_id)) {
         $this->validateEntityByTypes($user, array('module' => 'users', 'method' => 'user'));
         $block_arr['xlink:href'] = "uobject://" . $user_id;
         $userTypeId = $user->getTypeId();
         if ($userType = umiObjectTypesCollection::getInstance()->getType($userTypeId)) {
             $userHierarchyTypeId = $userType->getHierarchyTypeId();
             if ($userHierarchyType = umiHierarchyTypesCollection::getInstance()->getType($userHierarchyTypeId)) {
                 if ($userHierarchyType->getName() == "users" && $userHierarchyType->getExt() == "user") {
                     $block_arr['id'] = $user_id;
                     return def_module::parseTemplate($template_block, $block_arr, false, $user_id);
                 }
             }
         }
     } else {
         throw new publicException(getLabel('error-object-does-not-exist', null, $user_id));
     }
     return def_module::parseTemplate($template_bad_user_block, $block_arr);
 }
 /**
  * Gets news with specified type. Uses paging.
  *
  * @param int $type Id of type (rubric)
  * @param int $limit Limit for output
  * @param int $page Current page for calculate offset
  * @return array
  */
 public function getList($type, $limit, $page = 1)
 {
     $config = parse_ini_file("./config/config.ini", true);
     $page -= 1;
     $hierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId();
     $objectTypeId = umiObjectTypesCollection::getInstance()->getBaseType("news", "item");
     $objectType = umiObjectTypesCollection::getInstance()->getType($objectTypeId);
     $publishTimeFieldId = $objectType->getFieldId('publish_time');
     $publishToAppFieldId = $objectType->getFieldId('publish_to_app');
     $sel = new umiSelection();
     $sel->addElementType($hierarchyTypeId);
     $sel->addHierarchyFilter($type, 0, true);
     if ($config["umi"]["ignore-publish-flag"] != 1) {
         $sel->addPropertyFilterEqual($publishToAppFieldId, true);
     }
     $sel->setOrderByProperty($publishTimeFieldId, false);
     $sel->addLimit($limit, $page);
     $result = umiSelectionsParser::runSelection($sel);
     $items = array();
     $size = sizeof($result);
     for ($i = 0; $i < $size; $i++) {
         $elementId = $result[$i];
         $element = umiHierarchy::getInstance()->getElement($elementId);
         if (!$element) {
             continue;
         }
         $items[] = array("id" => $elementId, "header" => $element->getValue("h1"), "date" => $element->getValue("publish_time")->getFormattedDate("d.m.Y"), "image" => "http://" . $_SERVER['HTTP_HOST'] . $element->getValue("anons_pic"), "original_link" => "http://" . $_SERVER['HTTP_HOST'] . umiHierarchy::getInstance()->getPathById($elementId));
     }
     return $items;
 }
Exemplo n.º 10
0
 public function viewAuthor($author_id = false, $template = "default")
 {
     if ($author_id === false) {
         throw new publicException(getLabel('error-object-does-not-exist', null, $author_id));
     }
     if (!($author = umiObjectsCollection::getInstance()->getObject($author_id))) {
         throw new publicException(getLabel('error-object-does-not-exist', null, $author_id));
     }
     if (!$template) {
         $template = "default";
     }
     list($template_user, $template_guest, $template_sv) = def_module::loadTemplates("users/author/{$template}", "user_block", "guest_block", "sv_block");
     $block_arr = array();
     if ($author->getTypeId() == umiObjectTypesCollection::getInstance()->getBaseType('users', 'user')) {
         $template = $template_user;
         $block_arr['user_id'] = $author_id;
         $user = $author;
         $block_arr['nickname'] = $user->getValue("login");
         $block_arr['email'] = $user->getValue("e-mail");
         $block_arr['fname'] = $user->getValue("fname");
         $block_arr['lname'] = $user->getValue("lname");
         $block_arr['subnodes:groups'] = $groups = $user->getValue("groups");
         if (in_array(SV_GROUP_ID, $groups)) {
             if ($template_sv) {
                 $template = $template_sv;
             }
         }
     } else {
         if ($author->getValue("is_registrated")) {
             $template = $template_user;
             $block_arr['user_id'] = $user_id = $author->getValue("user_id");
             $user = umiObjectsCollection::getInstance()->getObject($user_id);
             if (!$user instanceof umiObject) {
                 $block_arr['user_id'] = $user_id = intval(regedit::getInstance()->getVal("//modules/users/guest_id"));
                 $user = umiObjectsCollection::getInstance()->getObject($user_id);
             }
             if (!$user instanceof umiObject) {
                 return false;
             }
             $block_arr['nickname'] = $user->getValue("login");
             $block_arr['login'] = $user->getValue("login");
             $block_arr['email'] = $user->getValue("e-mail");
             $block_arr['fname'] = $user->getValue("fname");
             $block_arr['lname'] = $user->getValue("lname");
             $block_arr['subnodes:groups'] = $groups = $user->getValue("groups");
             if (in_array(SV_GROUP_ID, $groups)) {
                 if ($template_sv) {
                     $template = $template_sv;
                 }
             }
         } else {
             $template = $template_guest;
             $block_arr['nickname'] = $author->getValue("nickname");
             $block_arr['email'] = $author->getValue("email");
         }
     }
     return def_module::parseTemplate($template, $block_arr, false, $author_id);
 }
Exemplo n.º 11
0
 private function getTypeId($veb43610bff4bf58aa2af0ba56299d57a)
 {
     if ((string) (int) $veb43610bff4bf58aa2af0ba56299d57a == $veb43610bff4bf58aa2af0ba56299d57a) {
         return (int) $veb43610bff4bf58aa2af0ba56299d57a;
     } else {
         list($v22884db148f0ffb0d830ba431102b0b5, $vea9f6aca279138c58f705c8d4cb4b8ce) = explode("::", $veb43610bff4bf58aa2af0ba56299d57a);
         return umiObjectTypesCollection::getInstance()->getBaseType($v22884db148f0ffb0d830ba431102b0b5, $vea9f6aca279138c58f705c8d4cb4b8ce);
     }
 }
Exemplo n.º 12
0
 private static function getRuleType()
 {
     $objectTypes = umiObjectTypesCollection::getInstance();
     $objectTypeId = $objectTypes->getBaseType('emarket', 'discount_rule_type');
     if (!$objectTypeId) {
         throw new coreException("Required data type (emarket::discount_rule_type) not found");
     }
     return $objectTypes->getType($objectTypeId);
 }
Exemplo n.º 13
0
 public function count_users()
 {
     $typeId = umiObjectTypesCollection::getInstance()->getBaseType("users", "user");
     $type = umiObjectTypesCollection::getInstance()->getType($typeId);
     $isActiveField = $type->getFieldId('is_activated');
     $sel = new umiSelection();
     $sel->addObjectType($typeId);
     $sel->addPropertyFilterEqual($isActiveField, true);
     return umiSelectionsParser::runSelectionCounts($sel);
     $total;
 }
Exemplo n.º 14
0
 public static function checkContent($v9a0364b9e99bb480dd25e1f0284c8555)
 {
     $vd499d2db30467ffbbfcf1188e3fa1327 = umiObjectTypesCollection::getInstance()->getTypeIdByGUID('blacklist');
     $v1c73f663c4ea5257b7145fd2f7c598ae = umiObjectsCollection::getInstance()->getGuidedItems($vd499d2db30467ffbbfcf1188e3fa1327);
     foreach ($v1c73f663c4ea5257b7145fd2f7c598ae as $vd1f5ee0092ec47708f200415f2a89717 => $vc47d187067c6cf953245f128b5fde62a) {
         if (strpos($v9a0364b9e99bb480dd25e1f0284c8555, $vc47d187067c6cf953245f128b5fde62a) !== false) {
             return false;
         }
     }
     return true;
 }
		private static function checkPaymentProps(iUmiObject $object) {
			if($object->payment_type_id) {
				$types = umiObjectTypesCollection::getInstance();
				$typeObject = selector::get('object')->id($object->payment_type_id);
				$typeId = $types->getTypeIdByGUID($typeObject->payment_type_guid);
				if($typeId != $object->getTypeId()) {
					$object->setTypeId($typeId);
					$object->commit();
				}
			}
		}
Exemplo n.º 16
0
 public function makeElementFromExisting($sourceId, $parentId, $newHTypeId, $additionalCopyPairs = array())
 {
     static $oldPrivacyFriends = 0;
     static $oldPrivacyOwner = 0;
     $hierarchy = umiHierarchy::getInstance();
     $objects = umiObjectsCollection::getInstance();
     $typesCollection = umiObjectTypesCollection::getInstance();
     // Prepare privacy values
     if (!($oldPrivacyFriends && $oldPrivacyOwner)) {
         $privacyType = $typesCollection->getBaseType('blogs', 'blog_privacy');
         $privacyValues = $objects->getGuidedItems($privacyType);
         foreach ($privacyValues as $privacyKindId => $privacyKindName) {
             if ($privacyKindName == 'friends') {
                 $oldPrivacyFriends = $privacyKindId;
             }
             if ($privacyKindName == 'owner') {
                 $oldPrivacyOwner = $privacyKindOwner;
             }
         }
     }
     $newType = $typesCollection->getType($typesCollection->getTypeByHierarchyTypeId($newHTypeId));
     // Clone element data (relations etc.)
     $source = $hierarchy->getElement($sourceId, true, false);
     $newId = $hierarchy->copyElement($sourceId, $parentId, false);
     $new = $hierarchy->getElement($newId);
     $new->setTypeId($newHTypeId);
     // Creating the tata object
     $sourceObject = $new->getObject();
     $newObjectId = $objects->addObject($sourceObject->getName(), $newType->getId());
     $newObject = $objects->getObject($newObjectId);
     // Copying the data
     $objectFields = $newType->getAllFields();
     foreach ($objectFields as $field) {
         $value = $sourceObject->getValue($field->getName());
         if ($value !== false) {
             $newObject->setValue($field->getName(), $value);
         }
     }
     foreach ($additionalCopyPairs as $fromFieldName => $toFieldName) {
         $newObject->setValue($toFieldName, $sourceObject->getValue($fromFieldName));
     }
     switch ($sourceObject->getValue('privacy')) {
         case $oldPrivacyFriends:
             $newObject->setValue('only_for_friends', 1);
             break;
         case $oldPrivacyOwner:
             $new->setIsActive(false);
             break;
     }
     $newObject->setOwnerId($sourceObject->getOwnerId());
     $new->setObject($newObject);
     return $newId;
 }
Exemplo n.º 17
0
 public function import_feeds()
 {
     $type_id = umiObjectTypesCollection::getInstance()->getTypeIdByGUID('12c6fc06c99a462375eeb3f43dfd832b08ca9e17');
     $result = umiObjectsCollection::getInstance()->getGuidedItems($type_id);
     foreach ($result as $id => $name) {
         $object = umiObjectsCollection::getInstance()->getObject($id);
         $url = $object->getValue("url");
         $type = $object->getValue("rss_type");
         $target = $object->getValue("news_rubric");
         $this->import_feed($url, $type, $target, $name);
     }
 }
Exemplo n.º 18
0
		public function getUsersList() {
			if (is_array($this->usersArray)) {
				return $this->usersArray;
			}
			$this->usersArray = array();
			$aUsersList = umiObjectsCollection::getInstance()->getGuidedItems(umiObjectTypesCollection::getInstance()->getBaseType('users', 'user'));
			foreach ($aUsersList as $iId => $sLogin) {
				$this->usersArray[$iId] = $sLogin;
			}
			$this->usersArray[0] = getLabel('all');
			return $this->usersArray;
		}
Exemplo n.º 19
0
 public function getObjectsByBaseTypeList($module, $method)
 {
     $objectTypesCollection = umiObjectTypesCollection::getInstance();
     $objectsCollection = umiObjectsCollection::getInstance();
     $type_id = $objectTypesCollection->getBaseType($module, $method);
     $objects = $objectsCollection->getGuidedItems($type_id);
     $items = array();
     foreach ($objects as $item_id => $item_name) {
         $items[] = array('attribute:id' => $item_id, 'node:name' => $item_name);
     }
     return array('items' => array('nodes:item' => $items));
 }
Exemplo n.º 20
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;
		}
Exemplo n.º 21
0
 public static function getDatabaseStatus()
 {
     $result = array();
     $v1723bdd4ee51910267a625cae41ced8a = umiHierarchyTypesCollection::getInstance();
     $v9b81909fd0da3add2602a8d0ede0e4e7 = umiObjectTypesCollection::getInstance();
     $v3527525cd11a98e16f6c1d31fe7d89dd = $v1723bdd4ee51910267a625cae41ced8a->getTypesList();
     foreach ($v3527525cd11a98e16f6c1d31fe7d89dd as $v89b0b9deff65f8b9cd1f71bc74ce36ba) {
         $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v89b0b9deff65f8b9cd1f71bc74ce36ba->getId();
         $v4aa3988e15afb9618423a0c2961a469f = self::checkIfBranchedByHierarchyTypeId($vacf567c9c3d6cf7c6e2cc0ce108e0631);
         $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addElementType($vacf567c9c3d6cf7c6e2cc0ce108e0631);
         $ve2942a04780e223b215eb8b663cf5353 = umiSelectionsParser::runSelectionCounts($v8be74552df93e31bbdd6b36ed74bdb6a);
         $result[] = array('id' => $vacf567c9c3d6cf7c6e2cc0ce108e0631, 'isBranched' => $v4aa3988e15afb9618423a0c2961a469f, 'count' => $ve2942a04780e223b215eb8b663cf5353);
     }
     return $result;
 }
Exemplo n.º 22
0
 public function getFieldId($v972bf3f05d14ffbdb817bef60638ff00)
 {
     if (is_null($this->objectType)) {
         if (is_null($this->hierarchyType)) {
             throw new selectorException("Object and hierarchy type prop can't be empty both");
         }
         $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance();
         $v6301cee35ea764a1e241978f93f01069 = $v0e8133eb006c0f85ed9444ae07a60842->getTypeByHierarchyTypeId($this->hierarchyType->getId());
         if ($v726e8e4809d4c1b28a6549d86436a124 = $v0e8133eb006c0f85ed9444ae07a60842->getType($v6301cee35ea764a1e241978f93f01069)) {
             $this->setObjectType($v726e8e4809d4c1b28a6549d86436a124);
         } else {
             return false;
         }
     }
     return $this->objectType->getFieldId($v972bf3f05d14ffbdb817bef60638ff00);
 }
Exemplo n.º 23
0
 /**
  * Создать новый пустой заказ
  * @return Integer $order id нового заказа
  */
 public static function create($useDummyOrder = false)
 {
     $objectTypes = umiObjectTypesCollection::getInstance();
     $objects = umiObjectsCollection::getInstance();
     $permissions = permissionsCollection::getInstance();
     $cmsController = cmsController::getInstance();
     $domain = $cmsController->getCurrentDomain();
     $domainId = $domain->getId();
     $orderTypeId = $objectTypes->getBaseType('emarket', 'order');
     if ($useDummyOrder) {
         $sel = new selector('objects');
         $sel->types('object-type')->name('emarket', 'order');
         $sel->where('name')->equals('dummy');
         $sel->limit(0, 1);
         if ($sel->length()) {
             $orderId = $sel->first->id;
         } else {
             $orderTypeId = $objectTypes->getBaseType('emarket', 'order');
             $orderId = $objects->addObject('dummy', $orderTypeId);
             $order = $objects->getObject($orderId);
             if ($order instanceof iUmiObject == false) {
                 throw new publicException("Can't load dummy object for order #{$orderId}");
             } else {
                 $order->setValue('domain_id', $domainId);
                 $order->commit();
             }
         }
         return self::get($orderId);
     }
     $managerId = 0;
     $statusId = self::getStatusByCode('basket');
     $customer = customer::get();
     $createTime = time();
     $orderId = $objects->addObject('', $orderTypeId);
     $order = $objects->getObject($orderId);
     if ($order instanceof iUmiObject == false) {
         throw new publicException("Can't load created object for order #{$orderId}");
     }
     $order->domain_id = $domainId;
     $order->manager_id = $managerId;
     $order->status_id = $statusId;
     $order->customer_id = $customer->getId();
     $order->order_create_date = $createTime;
     $order->commit();
     $customer->setLastOrder($orderId, $domainId);
     return self::get($orderId);
 }
Exemplo n.º 24
0
 public function cronUnpublishPage($oEvent)
 {
     $object_type = umiObjectTypesCollection::getInstance()->getTypeByGUID('root-pages-type');
     $field_id = $object_type->getFieldId("expiration_date");
     $sel = new umiSelection();
     $sel->addPropertyFilterLess($field_id, time());
     $sel->addPropertyFilterNotEqual($field_id, 0);
     $sel->addActiveFilter(true);
     $sel->forceHierarchyTable(true);
     $result = umiSelectionsParser::runSelection($sel);
     $res = array();
     foreach ($result as $key => $page_id) {
         $ePage = umiHierarchy::getInstance()->getElement($page_id, true);
         $ePage->setIsActive(false);
         $pageObject = $ePage->getObject();
         $pageObject->setValue("publish_status", $this->getPageStatusIdByStatusSid("page_status_unpublish"));
         $pageObject->commit();
         $ePage->commit();
         if (!($publishComments = $ePage->getValue("publish_comments"))) {
             $publishComments = "Отсутствуют.";
         }
         $user_id = $ePage->getObject()->getOwnerId();
         $oUser = umiObjectsCollection::getInstance()->getObject($user_id);
         if ($oUser instanceof umiObject && ($user_email = $oUser->getValue("e-mail"))) {
             //Составляем и посылаем сообщение пользователю
             $mail_message = new umiMail();
             $from = regedit::getInstance()->getVal("//settings/email_from");
             $mail_message->setFrom($from);
             $mail_message->setPriorityLevel("high");
             $mail_message->setSubject(getLabel('label-notification-expired-mail-header'));
             list($body) = def_module::loadTemplatesForMail("mail/expired", "body");
             $block['notify_header'] = getLabel('label-notification-expired-mail-header');
             $block['page_header'] = $ePage->getName();
             $block['publish_comments'] = $publishComments;
             $domain = domainsCollection::getInstance()->getDomain($ePage->getDomainId());
             $page_host = "http://" . $domain->getHost() . umiHierarchy::getInstance()->getPathById($page_id);
             $block['page_link'] = $page_host;
             $mail_html = def_module::parseTemplateForMail($body, $block, $page_id);
             $mail_message->addRecipient($user_email);
             $mail_message->setContent($mail_html);
             $mail_message->commit();
             $mail_message->send();
         }
     }
 }
Exemplo n.º 25
0
 public static final function create(iUmiObject $paymentTypeObject)
 {
     $objects = umiObjectsCollection::getInstance();
     $paymentTypeId = null;
     if (strlen($paymentTypeObject->payment_type_guid)) {
         $paymentTypeId = umiObjectTypesCollection::getInstance()->getTypeIdByGUID($paymentTypeObject->payment_type_guid);
     } else {
         $paymentTypeId = $paymentTypeObject->payment_type_id;
     }
     $objectId = $objects->addObject('', $paymentTypeId);
     $object = $objects->getObject($objectId);
     if ($object instanceof umiObject) {
         $object->payment_type_id = $paymentTypeObject->id;
         $object->commit();
         return self::get($objectId);
     } else {
         return false;
     }
 }
 protected function translateData(iUmiObjectType $v599dcce2998a6b40b1e38e8c6006cb0a)
 {
     $v26b75b176d665f24a5fd22a2ad815763 = array();
     $v26b75b176d665f24a5fd22a2ad815763['attribute:id'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getId();
     $v26b75b176d665f24a5fd22a2ad815763['attribute:guid'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getGUID();
     $v26b75b176d665f24a5fd22a2ad815763['attribute:title'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getName();
     $v26b75b176d665f24a5fd22a2ad815763['attribute:parent-id'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getParentId();
     if (!is_null(getRequest('childs'))) {
         $v26b75b176d665f24a5fd22a2ad815763['attribute:parentId'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getParentId();
     }
     if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsGuidable()) {
         $v26b75b176d665f24a5fd22a2ad815763['attribute:guide'] = "guide";
     }
     if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsPublic()) {
         $v26b75b176d665f24a5fd22a2ad815763['attribute:public'] = "public";
     }
     if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsLocked()) {
         $v26b75b176d665f24a5fd22a2ad815763['attribute:locked'] = "locked";
     }
     $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->getHierarchyTypeId();
     $v89b0b9deff65f8b9cd1f71bc74ce36ba = umiHierarchyTypesCollection::getInstance()->getType($vacf567c9c3d6cf7c6e2cc0ce108e0631);
     $v26b75b176d665f24a5fd22a2ad815763['base'] = $v89b0b9deff65f8b9cd1f71bc74ce36ba;
     if (!is_null(getRequest('childs'))) {
         $vadce578d04ed03c31f6ac59451fcf8e4 = umiObjectTypesCollection::getInstance()->getSubTypesList($v599dcce2998a6b40b1e38e8c6006cb0a->getId());
         $v26b75b176d665f24a5fd22a2ad815763['childs'] = sizeof($vadce578d04ed03c31f6ac59451fcf8e4);
     }
     if (!is_null(getRequest('links'))) {
         $v8b1dc169bf460ee884fceef66c6607d6 = cmsController::getInstance();
         $vd2541807149c8b40d74fc542ad179083 = $v8b1dc169bf460ee884fceef66c6607d6->getCurrentModule();
         $v22884db148f0ffb0d830ba431102b0b5 = $v8b1dc169bf460ee884fceef66c6607d6->getModule($vd2541807149c8b40d74fc542ad179083);
         if ($v22884db148f0ffb0d830ba431102b0b5 instanceof def_module) {
             $v807765384d9d5527da8848df14a4f02f = $v22884db148f0ffb0d830ba431102b0b5->getObjectTypeEditLink($v599dcce2998a6b40b1e38e8c6006cb0a->getId());
             $v26b75b176d665f24a5fd22a2ad815763['create-link'] = $v807765384d9d5527da8848df14a4f02f['create-link'];
             $v26b75b176d665f24a5fd22a2ad815763['edit-link'] = $v807765384d9d5527da8848df14a4f02f['edit-link'];
         }
     }
     if ($this->isFull) {
         $vea68f744cedffb995847405018cd8f7f = array();
         $vea68f744cedffb995847405018cd8f7f['nodes:group'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldsGroupsList(xmlTranslator::$showHiddenFieldGroups);
         $v26b75b176d665f24a5fd22a2ad815763['fieldgroups'] = $vea68f744cedffb995847405018cd8f7f;
     }
     return $v26b75b176d665f24a5fd22a2ad815763;
 }
Exemplo n.º 27
0
 public static final function create(umiObject $deliveryTypeObject)
 {
     $objects = umiObjectsCollection::getInstance();
     $deliveryTypeId = null;
     if (strlen($deliveryTypeObject->delivery_type_guid)) {
         $deliveryTypeId = umiObjectTypesCollection::getInstance()->getTypeIdByGUID($deliveryTypeObject->delivery_type_guid);
     } else {
         $deliveryTypeId = $deliveryTypeObject->delivery_type_id;
     }
     $objectId = $objects->addObject('', $deliveryTypeId);
     $object = $objects->getObject($objectId);
     if ($object instanceof umiObject) {
         $object->setValue('delivery_type_id', $deliveryTypeObject->getId());
         $object->commit();
         return self::get($objectId);
     } else {
         return false;
     }
 }
 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();
 }
Exemplo n.º 29
0
 public function config()
 {
     $regedit = regedit::getInstance();
     $objectTypesColl = umiObjectTypesCollection::getInstance();
     $params = array("config" => array("guide:def_group" => array('type-id' => $objectTypesColl->getTypeIdByGUID('users-users'), 'value' => NULL), "guide:guest_id" => array('type-id' => $objectTypesColl->getTypeIdByGUID('users-user'), 'value' => NULL), "boolean:without_act" => NULL));
     $mode = getRequest("param0");
     if ($mode == "do") {
         $params = $this->expectParams($params);
         $regedit->setVar("//modules/users/def_group", $params['config']['guide:def_group']);
         $regedit->setVar("//modules/users/guest_id", $params['config']['guide:guest_id']);
         $regedit->setVar("//modules/users/without_act", $params['config']['boolean:without_act']);
         $this->chooseRedirect();
     }
     $params['config']['boolean:without_act'] = $regedit->getVal("//modules/users/without_act");
     $params['config']['guide:def_group']['value'] = $regedit->getVal("//modules/users/def_group");
     $params['config']['guide:guest_id']['value'] = $regedit->getVal("//modules/users/guest_id");
     $this->setDataType("settings");
     $this->setActionType("modify");
     $data = $this->prepareData($params, "settings");
     $this->setData($data);
     return $this->doData();
 }
Exemplo n.º 30
0
 public static function getSubscriberByUserId($v7ad6e70c936a7223ff2f1663258f4a0a)
 {
     $va5a928b6b6b19de8a18398c7b29f47d7 = false;
     $vf7b7708e49b5e697e01291fdbb169c31 = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId();
     $v3ec9f372b2dad35356b9884c89cf0ef2 = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($vf7b7708e49b5e697e01291fdbb169c31);
     $vff500849b1c1163f66c899c7aec17813 = umiObjectTypesCollection::getInstance()->getType($v3ec9f372b2dad35356b9884c89cf0ef2);
     $v18ea1849dbf10a18b2dfd4ed0eb3a231 = new umiSelection();
     $v18ea1849dbf10a18b2dfd4ed0eb3a231->setObjectTypeFilter();
     $v18ea1849dbf10a18b2dfd4ed0eb3a231->addObjectType($v3ec9f372b2dad35356b9884c89cf0ef2);
     $v18ea1849dbf10a18b2dfd4ed0eb3a231->setPropertyFilter();
     $v18ea1849dbf10a18b2dfd4ed0eb3a231->addPropertyFilterEqual($vff500849b1c1163f66c899c7aec17813->getFieldId('uid'), $v7ad6e70c936a7223ff2f1663258f4a0a);
     $v2cf58721416a170aa34368186d661d4b = umiSelectionsParser::runSelection($v18ea1849dbf10a18b2dfd4ed0eb3a231);
     if (is_array($v2cf58721416a170aa34368186d661d4b) && count($v2cf58721416a170aa34368186d661d4b)) {
         $va5a928b6b6b19de8a18398c7b29f47d7 = $v2cf58721416a170aa34368186d661d4b[0];
     } else {
         $v5a459b4b428788e52383cf8fae051ef7 = umiObjectsCollection::getInstance()->getObject($v7ad6e70c936a7223ff2f1663258f4a0a);
         $vaddc9cff9d125716db26235ce1c09240 = $v5a459b4b428788e52383cf8fae051ef7->getValue("e-mail");
         $v2430d439812ab308abec75d804810a30 = $v5a459b4b428788e52383cf8fae051ef7->getValue("lname");
         $vd9c6a1a67112c4d88c9a572ac9cad3f5 = $v5a459b4b428788e52383cf8fae051ef7->getValue("fname");
         $vaa876bbb2f0018ef7348fccc805794af = $v5a459b4b428788e52383cf8fae051ef7->getValue("father_name");
         $vf572db796146381f0522cb8ba4a636e0 = $v5a459b4b428788e52383cf8fae051ef7->getValue("gender");
         $vf7b7708e49b5e697e01291fdbb169c31 = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId();
         $v3ec9f372b2dad35356b9884c89cf0ef2 = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($vf7b7708e49b5e697e01291fdbb169c31);
         $va5a928b6b6b19de8a18398c7b29f47d7 = umiObjectsCollection::getInstance()->addObject($vaddc9cff9d125716db26235ce1c09240, $v3ec9f372b2dad35356b9884c89cf0ef2);
         $vf674b89869b81fcedca2243c18bbcdd1 = umiObjectsCollection::getInstance()->getObject($va5a928b6b6b19de8a18398c7b29f47d7);
         if ($vf674b89869b81fcedca2243c18bbcdd1 instanceof umiObject) {
             $vf674b89869b81fcedca2243c18bbcdd1->setName($vaddc9cff9d125716db26235ce1c09240);
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('lname', $v2430d439812ab308abec75d804810a30);
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('fname', $vd9c6a1a67112c4d88c9a572ac9cad3f5);
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('father_name', $vaa876bbb2f0018ef7348fccc805794af);
             $v61a9cd46c360819bab753cd29ccea4c4 = new umiDate(time());
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('subscribe_date', $v61a9cd46c360819bab753cd29ccea4c4);
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('gender', $vf572db796146381f0522cb8ba4a636e0);
             $vf674b89869b81fcedca2243c18bbcdd1->setValue('uid', $v7ad6e70c936a7223ff2f1663258f4a0a);
         }
         $vf674b89869b81fcedca2243c18bbcdd1->commit();
     }
     return $va5a928b6b6b19de8a18398c7b29f47d7;
 }