Ejemplo n.º 1
0
 public function getBindedPage($formId = false)
 {
     if ($formId === false) {
         $formId = ($tmp = getRequest('param0')) ? $tmp : $formId;
     }
     if (!$formId) {
         return array('page' => array('attribute:id' => 0));
     }
     $hType = umiHierarchyTypesCollection::getInstance()->getTypeByName('webforms', 'page');
     $typeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($hType->getId());
     $type = umiObjectTypesCollection::getInstance()->getType($typeId);
     $sel = new umiSelection();
     $sel->addElementType($hType->getId());
     $sel->addActiveFilter(true);
     $sel->addPropertyFilterEqual($type->getFieldId('form_id'), $formId);
     $result = umiSelectionsParser::runSelection($sel);
     if (!empty($result)) {
         return array('page' => array('attribute:id' => $result[0], 'attribute:href' => umiHierarchy::getInstance()->getPathById($result[0])));
     }
     $sel = new umiSelection();
     $sel->addElementType($hType->getId());
     $sel->addActiveFilter(false);
     $sel->addPropertyFilterEqual($type->getFieldId('form_id'), $formId);
     $result = umiSelectionsParser::runSelection($sel);
     if (!empty($result)) {
         return array('page' => array('attribute:id' => $result[0], 'attribute:href' => umiHierarchy::getInstance()->getPathById($result[0])));
     }
     return array('page' => array('attribute:id' => 0));
 }
Ejemplo n.º 2
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);
 }
Ejemplo n.º 3
0
		public function validateItem(iUmiHierarchyElement $orderItem) {
			if(!is_array($this->catalog_items)) {
				return false;
			}
			
			foreach($this->catalog_items as $catalogItem) {
				if($catalogItem->id == $orderItem->id) {
					return true;
				}
			}
			
			$parentId = $orderItem->getParentId();
			if($parentId) {
				$hierarchy = umiHierarchy::getInstance();
				$parents = $hierarchy->getAllParents($parentId, true);
				if(isset($parents[0])) unset($parents[0]);
				foreach($this->catalog_items as $catalogItem) {
					if(in_array($catalogItem->id, $parents)) {
						return true;
					}
				}
			}
			
			return false;
		}
Ejemplo n.º 4
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;
     }
 }
 public function onCloneElement(iUmiEventPoint $oEventPoint)
 {
     if ($oEventPoint->getMode() == 'after') {
         /**
          * @var umiHierarchy
          */
         $hierarchy = umiHierarchy::getInstance();
         $elementId = $oEventPoint->getParam('newElementId');
         /**
          * @var umiHierarchyElement
          */
         $element = $hierarchy->getElement($elementId);
         if ($element && $element->getTypeId() == umiHierarchyTypesCollection::getInstance()->getTypeByName('vote', 'poll')->getId()) {
             $collection = umiObjectsCollection::getInstance();
             $answersIDs = $element->getValue('answers');
             $newAnswers = array();
             foreach ($answersIDs as $answerId) {
                 if ($newAnswerId = $collection->cloneObject($answerId)) {
                     $newAnswers[] = $newAnswerId;
                     $answer = $collection->getObject($newAnswerId);
                     $answer->setValue('poll_rel', $elementId);
                     $answer->setValue('count', 0);
                     $answer->commit();
                 }
             }
             $element->setValue('answers', $newAnswers);
             $element->commit();
         }
     }
 }
 /**
  * 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;
 }
Ejemplo n.º 7
0
 public function isHierarchyAllowed($element_id)
 {
     $element = umiHierarchy::getInstance()->getElement($element_id);
     if (!$element) {
         return true;
     }
     if ($element->getIsDefault()) {
         return true;
     }
     $allowed_pages = array('emarket', 'webforms', 'users', 'catalog');
     $type = umiHierarchyTypesCollection::getInstance()->getType($element->getTypeId());
     if (in_array($type->getName(), $allowed_pages)) {
         return true;
     }
     $allowed_hierarchy_elements = $this->getValue('iframe_pages');
     if (empty($allowed_hierarchy_elements)) {
         return false;
     }
     foreach ($allowed_hierarchy_elements as $hierarchy_element) {
         if ($hierarchy_element->getId() == $element_id) {
             return true;
         }
     }
     foreach ($allowed_hierarchy_elements as $hierarchy_element) {
         if (umiHierarchy::getInstance()->hasParent($element_id, $hierarchy_element)) {
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 8
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());
 }
Ejemplo n.º 9
0
 protected function parsePath($vd6fe1d0be6347b8ef2427fa629c04485)
 {
     $vd6fe1d0be6347b8ef2427fa629c04485 = parent::parsePath($vd6fe1d0be6347b8ef2427fa629c04485);
     $v47c80780ab608cc046f2a6e6f071feb6 = explode("/", $vd6fe1d0be6347b8ef2427fa629c04485);
     if (sizeof($v47c80780ab608cc046f2a6e6f071feb6) >= 2) {
         switch ($v47c80780ab608cc046f2a6e6f071feb6[0]) {
             case "dominant":
                 $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
                 return $vb81ca7c0ccaa77e7aa91936ab0070695->getDominantTypeId($this->getTypeId($v47c80780ab608cc046f2a6e6f071feb6[1]));
             case "child":
                 $vdb6d9b451b818ccc9a449383f2f0c450 = umiObjectTypesCollection::getInstance();
                 return $vdb6d9b451b818ccc9a449383f2f0c450->getChildClasses($this->getTypeId($v47c80780ab608cc046f2a6e6f071feb6[1]));
         }
     }
     $v47c80780ab608cc046f2a6e6f071feb6 = explode(".", $vd6fe1d0be6347b8ef2427fa629c04485);
     if (is_array($v47c80780ab608cc046f2a6e6f071feb6)) {
         $vd6fe1d0be6347b8ef2427fa629c04485 = trim($v47c80780ab608cc046f2a6e6f071feb6[0], '/');
         if (sizeof($v47c80780ab608cc046f2a6e6f071feb6) > 1) {
             $this->group_name = $v47c80780ab608cc046f2a6e6f071feb6[1];
         }
         if (sizeof($v47c80780ab608cc046f2a6e6f071feb6) > 2) {
             $this->field_name = $v47c80780ab608cc046f2a6e6f071feb6[2];
         }
     }
     return $vd6fe1d0be6347b8ef2427fa629c04485;
 }
Ejemplo n.º 10
0
 public function onPageCreate(iUmiEventPoint $event)
 {
     if (!$event->getRef('element') instanceof umiHierarchyElement) {
         return;
     }
     $pageId = $event->getRef('element')->getId();
     $hierarchy = umiHierarchy::getInstance();
     $page = $hierarchy->getElement($pageId);
     $postparams = http_build_query(array('message' => $page->content, 'title' => $page->name, 'link' => 'http://netizenhostels.com' . $hierarchy->getPathById($page->id) . '?media=mobile'));
     $options = array("http" => array("method" => "POST", "header" => "Content-type: application/x-www-form-urlencoded", "content" => $postparams));
     $context = stream_context_create($options);
     $result = file_get_contents('http://netizen.octopod.com/push/send_message.php', false, $context);
     //	        if ($page->getIsActive()) {
     //	        file_get_contents('http://netizen.octopod.com/push/send_message.php?message='.$page->altName);
     /*
     				file_put_contents(
     					sys_get_temp_dir().'/zzzzzy',print_r(array(
     						'id' => $page->id,
     						'name' => $page->name,
     						'permalink' => $page->altName,
     						'anons' => $page->anons,
     						'content' => $page->content,
     						'url' => $hierarchy->getPathById($page->id)
     					),true)
     				);
     */
     //	        }
 }
Ejemplo n.º 11
0
		public function add() {
			$parent = $this->expectElement("param0");
			$type = (string) getRequest("param1");
			$mode = (string) getRequest("param2");

			$this->setHeaderLabel("header-news-add-" . $type);

			$inputData = Array(	"type" => $type,
						"parent" => $parent,
						'type-id' => getRequest('type-id'),
						"allowed-element-types" => Array('rubric', 'item'));

			if($mode == "do") {
				$element_id = $this->saveAddedElementData($inputData);
				if($type == "item") {
					umiHierarchy::getInstance()->moveFirst($element_id, ($parent instanceof umiHierarchyElement)?$parent->getId():0);
				}
				$this->chooseRedirect();
			}

			$this->setDataType("form");
			$this->setActionType("create");

			$data = $this->prepareData($inputData, "page");

			$this->setData($data);
			return $this->doData();
		}
Ejemplo n.º 12
0
		public function prepareElementsToExport() {

			$objectId = getRequest('param0');

			$complete = false;
			$objects = umiObjectsCollection::getInstance();
			$object = $objects->getObject($objectId);
			$formatId = $object->format;
			$format = $objects->getObject($formatId);
			$suffix = $format->sid;
			if($suffix != 'YML') {
				$data = array(
					"attribute:complete" => (int) $complete,
					"attribute:preparation" => (int) !$complete,
				);

				baseModuleAdmin::setData($data);
				return baseModuleAdmin::doData();
			}

			$offset = (int) getSession("export_offset_" . $objectId);
			$blockSize = mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") ? mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") : 25;

			if(!file_exists(CURRENT_WORKING_DIR . "/sys-temp/yml/" . $objectId . 'el')) {
				throw new publicException('<a href="' . getLabel("label-errors-no-information") . '" target="blank">' . getLabel("label-errors-no-information") .'</a>');
			}

			$elementsToExport = unserialize(file_get_contents(CURRENT_WORKING_DIR . "/sys-temp/yml/" . $objectId . 'el'));
			$elements = umiHierarchy::getInstance();

			$errors = array();
			for ($i = $offset; $i <= $offset + $blockSize -1; $i++) {
				if(!array_key_exists($i, $elementsToExport)) {
					$complete = true;
					break;
				}
				$element = $elements->getElement($elementsToExport[$i]);
				if($element instanceof umiHierarchyElement) {
					try {
						$element->updateYML();
					} catch (Exception $e) {
						$errors[] = $e->getMessage() . " #{$elementsToExport[$i]}";
					}
				}
			}

			$_SESSION["export_offset_" . $objectId] = $offset + $blockSize;
			if ($complete) {
				unset($_SESSION["export_offset_" . $objectId]);
			}

			$data = array(
				"attribute:complete" => (int) $complete,
				"nodes:log" => $errors
			);

			baseModuleAdmin::setData($data);
			return baseModuleAdmin::doData();
		}
Ejemplo n.º 13
0
 public function size_table()
 {
     $page = umiHierarchy::getInstance()->getElement(112);
     //print_r($page);die;
     $res = $page->getValue('content');
     umiHierarchy::getInstance()->unloadElement($id);
     return $res;
 }
Ejemplo n.º 14
0
 /**
  * Защищённый конструктор
  * @param int $catalogId ID категории каталога
  */
 protected function __construct($catalogId)
 {
     $this->catalogId = $catalogId;
     $this->cache = new kFiltersCache();
     $this->objectsTypeId = umiHierarchy::getInstance()->getDominantTypeId($this->catalogId);
     $this->sContentTable = umiBranch::getBranchedTableByTypeId($this->objectsTypeId);
     $this->customLogic = new kFiltersCustomLogic($this->catalogId, $this->objectsTypeId);
 }
Ejemplo n.º 15
0
 public function setName($vb068931cc450442b63f5b3d276ea4297)
 {
     $vb068931cc450442b63f5b3d276ea4297 = umiHierarchy::convertAltName($vb068931cc450442b63f5b3d276ea4297, "_");
     $this->name = umiObjectProperty::filterInputString($vb068931cc450442b63f5b3d276ea4297);
     if (!strlen($this->name)) {
         $this->name = '_';
     }
     $this->setIsUpdated();
 }
Ejemplo n.º 16
0
 public function page($v7552cd149af7495ee7d8225974e50f80)
 {
     $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
     if (is_numeric($v7552cd149af7495ee7d8225974e50f80) == false) {
         $v7552cd149af7495ee7d8225974e50f80 = $vb81ca7c0ccaa77e7aa91936ab0070695->getIdByPath($v7552cd149af7495ee7d8225974e50f80);
     }
     if ($v7552cd149af7495ee7d8225974e50f80 !== false) {
         $this->elementId = (int) $v7552cd149af7495ee7d8225974e50f80;
     }
     return $this;
 }
Ejemplo n.º 17
0
 public function trash_empty()
 {
     $limit = 100;
     $c = umiHierarchy::getInstance()->removeDeletedWithLimit($limit);
     $buffer = outputBuffer::current('HTTPOutputBuffer');
     $buffer->charset("utf-8");
     $buffer->contentType("text/xml");
     $data = array("attribute:complete" => (int) ($c < $limit), "attribute:deleted" => $c);
     baseModuleAdmin::setData($data);
     return baseModuleAdmin::doData();
 }
Ejemplo n.º 18
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;
 }
 public function confirmUserAnswer($oElement)
 {
     $bConfirmUserAnswer = (bool) regedit::getInstance()->getVal("//modules/faq/confirm_user_answer");
     if (!$bConfirmUserAnswer) {
         return true;
     }
     if ($oElement instanceof umiHierarchyElement && $oElement->getIsActive()) {
         $iAuthorId = $oElement->getValue("author_id");
         $author_name = "";
         $author_email = "";
         $oAuthor = umiObjectsCollection::getInstance()->getObject($iAuthorId);
         if ($oAuthor instanceof umiObject) {
             $author_user = null;
             if ($oAuthor->getValue("is_registrated")) {
                 $user_id = $oAuthor->getValue("user_id");
                 $author_user = umiObjectsCollection::getInstance()->getObject($user_id);
             }
             if ($author_user instanceof umiObject) {
                 // author user
                 $author_name = $author_user->getValue("lname") . " " . $author_user->getValue("fname");
                 $author_email = $author_user->getValue("e-mail");
             } else {
                 // author guest
                 $author_name = $oAuthor->getValue("nickname");
                 $author_email = $oAuthor->getValue("email");
             }
         }
         if (umiMail::checkEmail($author_email)) {
             list($sMailSubject, $sMailBody) = def_module::loadTemplatesForMail("faq/default", "answer_mail_subj", "answer_mail");
             $block_arr = array();
             $block_arr['domain'] = $sDomain = $_SERVER['HTTP_HOST'];
             $block_arr['element_id'] = $iElementId = $oElement->getId();
             $block_arr['author_id'] = $oElement->getValue("author_id");
             $bOldFHStatus = umiHierarchy::getInstance()->forceAbsolutePath(true);
             $block_arr['question_link'] = umiHierarchy::getInstance()->getPathById($iElementId);
             umiHierarchy::getInstance()->forceAbsolutePath($bOldFHStatus);
             $block_arr['ticket'] = $iElementId;
             $sSubject = def_module::parseTemplateForMail($sMailSubject, $block_arr, $iElementId);
             $sBody = def_module::parseTemplateForMail($sMailBody, $block_arr, $iElementId);
             $from = regedit::getInstance()->getVal("//settings/fio_from");
             $from_email = regedit::getInstance()->getVal("//settings/email_from");
             $oMail = new umiMail();
             $oMail->addRecipient($author_email);
             $oMail->setFrom($from_email, $from);
             $oMail->setSubject($sSubject);
             $oMail->setContent($sBody);
             $oMail->commit();
         }
     }
     return true;
 }
Ejemplo n.º 20
0
 public function stores($elementId, $template = 'default')
 {
     if (!$template) {
         $tempate = 'default';
     }
     $hierarchy = umiHierarchy::getInstance();
     $objects = umiObjectsCollection::getInstance();
     list($tpl_block, $tpl_block_empty, $tpl_item) = def_module::loadTemplates("emarket/stores/" . $template, 'stores_block', 'stores_block_empty', 'stores_item');
     $elementId = $this->analyzeRequiredPath($elementId);
     if ($elementId == false) {
         throw new publicException("Wrong element id given");
     }
     $element = $hierarchy->getElement($elementId);
     if ($element instanceof iUmiHierarchyElement == false) {
         throw new publicException("Wrong element id given");
     }
     $storesInfo = $element->stores_state;
     $items_arr = array();
     $stores = array();
     $total = 0;
     if (is_array($storesInfo)) {
         foreach ($storesInfo as $storeInfo) {
             $object = $objects->getObject(getArrayKey($storeInfo, 'rel'));
             if ($object instanceof iUmiObject) {
                 $amount = (int) getArrayKey($storeInfo, 'int');
                 $total += $amount;
                 $store = array('attribute:amount' => $amount);
                 if ($object->primary) {
                     $reserved = (int) $element->reserved;
                     $store['attribute:amount'] -= $reserved;
                     $store['attribute:reserved'] = $reserved;
                     $store['attribute:primary'] = 'primary';
                 }
                 $store['item'] = $object;
                 $stores[] = $store;
                 $items_arr[] = def_module::parseTemplate($tpl_item, array('store_id' => $object->id, 'amount' => $amount, 'name' => $object->name), false, $object->id);
             }
         }
     }
     $result = array('stores' => array('attribute:total-amount' => $total, 'nodes:store' => $stores));
     $result['void:total-amount'] = $total;
     $result['void:items'] = $items_arr;
     if (!$total) {
         $tpl_block = $tpl_block_empty;
     }
     return def_module::parseTemplate($tpl_block, $result);
 }
Ejemplo n.º 21
0
 public function import_do()
 {
     $this->setDataType("list");
     $this->setActionType("view");
     $id = getRequest('param0');
     $objects = umiObjectsCollection::getInstance();
     $settings = $objects->getObject($id);
     if (!$settings instanceof umiObject) {
         throw new publicException(getLabel("exchange-err-settings_notfound"));
     }
     $importFile = $settings->file;
     if (!$importFile instanceof umiFile || $importFile->getIsBroken()) {
         throw new publicException(getLabel("exchange-err-importfile"));
     }
     $format_id = $settings->format;
     $importFormat = $objects->getObject($format_id);
     if (!$importFormat instanceof umiObject) {
         throw new publicException(getLabel("exchange-err-format_undefined"));
     }
     $suffix = $importFormat->sid;
     $import_offset = (int) getSession("import_offset_" . $id);
     $blockSize = mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") ? mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") : 25;
     $splitter = umiImportSplitter::get($suffix);
     $splitter->load($importFile->getFilePath(), $blockSize, $import_offset);
     $doc = $splitter->getDocument();
     $dump = $splitter->translate($doc);
     $oldIgnoreSiteMap = umiHierarchy::$ignoreSiteMap;
     umiHierarchy::$ignoreSiteMap = true;
     $importer = new xmlImporter();
     $importer->loadXmlString($dump);
     $elements = $settings->elements;
     if (is_array($elements) && count($elements)) {
         $importer->setDestinationElement($elements[0]);
     }
     $importer->setIgnoreParentGroups($splitter->ignoreParentGroups);
     $importer->setAutoGuideCreation($splitter->autoGuideCreation);
     $importer->setRenameFiles($splitter->getRenameFiles());
     $importer->execute();
     umiHierarchy::$ignoreSiteMap = $oldIgnoreSiteMap;
     $_SESSION["import_offset_" . $id] = $splitter->getOffset();
     if ($splitter->getIsComplete()) {
         unset($_SESSION["import_offset_" . $id]);
     }
     $data = array("attribute:complete" => (int) $splitter->getIsComplete(), "attribute:created" => $importer->created_elements, "attribute:updated" => $importer->updated_elements, "attribute:deleted" => $importer->deleted_elements, "attribute:errors" => $importer->import_errors, "nodes:log" => $importer->getImportLog());
     $this->setData($data);
     return $this->doData();
 }
Ejemplo n.º 22
0
 protected function parsePath($vd6fe1d0be6347b8ef2427fa629c04485)
 {
     $vd6fe1d0be6347b8ef2427fa629c04485 = parent::parsePath($vd6fe1d0be6347b8ef2427fa629c04485);
     $vd6fe1d0be6347b8ef2427fa629c04485 = trim($vd6fe1d0be6347b8ef2427fa629c04485, "( )");
     if (($v5e0bdcbddccca4d66d74ba8c1cee1a68 = strrpos($vd6fe1d0be6347b8ef2427fa629c04485, ".")) !== false && strpos($vd6fe1d0be6347b8ef2427fa629c04485, "/", $v5e0bdcbddccca4d66d74ba8c1cee1a68) === false) {
         $vdfc394bd05a4b48161c790034af522a8 = substr($vd6fe1d0be6347b8ef2427fa629c04485, $v5e0bdcbddccca4d66d74ba8c1cee1a68 + 1);
         $vd6fe1d0be6347b8ef2427fa629c04485 = substr($vd6fe1d0be6347b8ef2427fa629c04485, 0, $v5e0bdcbddccca4d66d74ba8c1cee1a68);
         $this->prop_name = $vdfc394bd05a4b48161c790034af522a8;
     } else {
         $this->prop_name = NULL;
     }
     if (is_numeric($vd6fe1d0be6347b8ef2427fa629c04485)) {
         if ((string) (int) $vd6fe1d0be6347b8ef2427fa629c04485 == $vd6fe1d0be6347b8ef2427fa629c04485) {
             return (int) $vd6fe1d0be6347b8ef2427fa629c04485;
         }
     }
     return umiHierarchy::getInstance()->getIdByPath($vd6fe1d0be6347b8ef2427fa629c04485);
 }
Ejemplo n.º 23
0
 public function update_sitemap()
 {
     $domainId = (int) getRequest('param0');
     $domain = domainsCollection::getInstance()->getDomain($domainId);
     $complete = false;
     $elements = array();
     $hierarchy = umiHierarchy::getInstance();
     $dirName = CURRENT_WORKING_DIR . "/sys-temp/sitemap/{$domainId}/";
     if (!is_dir($dirName)) {
         mkdir($dirName, 0777, true);
     }
     $filePath = $dirName . "domain";
     if (!file_exists($filePath)) {
         $elements = array();
         $langsCollection = langsCollection::getInstance();
         $langs = $langsCollection->getList();
         foreach ($langs as $lang) {
             $elements = array_merge($elements, $hierarchy->getChildIds(0, false, true, false, $domainId, false, $lang->getId()));
         }
         sort($elements);
         file_put_contents($filePath, serialize($elements));
     }
     $offset = (int) getSession("sitemap_offset_" . $domainId);
     $blockSize = mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") ? mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit") : 25;
     $elements = unserialize(file_get_contents($filePath));
     for ($i = $offset; $i <= $offset + $blockSize - 1; $i++) {
         if (!array_key_exists($i, $elements)) {
             $complete = true;
             break;
         }
         $element = $hierarchy->getElement($elements[$i], true, true);
         if ($element instanceof umiHierarchyElement) {
             $element->updateSiteMap(true);
         }
     }
     $_SESSION["sitemap_offset_" . $domainId] = $offset + $blockSize;
     if ($complete) {
         unset($_SESSION["sitemap_offset_" . $domainId]);
         unlink($filePath);
     }
     $data = array("attribute:complete" => (int) $complete);
     $this->setData($data);
     return $this->doData();
 }
Ejemplo n.º 24
0
 public function onSubscribeChanges(umiEventPoint $e)
 {
     static $is_called;
     if ($is_called === true) {
         return true;
     }
     $mode = (bool) getRequest('subscribe_changes');
     $users_module = cmsController::getInstance()->getModule("users");
     if ($user_id = $users_module->user_id) {
         $user = umiObjectsCollection::getInstance()->getObject($user_id);
         if ($user instanceof umiObject) {
             $topic_id = $e->getParam("topic_id");
             $subscribed_pages = $user->getValue("subscribed_pages");
             if ($mode) {
                 $topic = umiHierarchy::getInstance()->getElement($topic_id);
                 if ($topic instanceof umiHierarchyElement) {
                     if (!in_array($topic, $subscribed_pages)) {
                         $subscribed_pages[] = $topic_id;
                     }
                 }
             } else {
                 $tmp = array();
                 if (!is_array($subscribed_pages)) {
                     $subscribed_pages = array();
                 }
                 foreach ($subscribed_pages as $page) {
                     if ($page->getId() != $topic_id) {
                         $tmp[] = $page;
                     }
                 }
                 $subscribed_pages = $tmp;
                 unset($tmp);
             }
             $user->setValue("subscribed_pages", $subscribed_pages);
             $user->commit();
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Ejemplo n.º 25
0
function customContent($page, &$vars)
{
    $video = false;
    $albums = array();
    $allAlbums = umiGallery::albums('/gallery/');
    foreach ($allAlbums as &$album) {
        if ($album['slug'] == 'video') {
            $video = $album;
            $video['clips'] = umiGallery::images($album['id']);
            foreach ($video['clips'] as &$clip) {
                $el = umiHierarchy::getInstance()->getElement($clip['id']);
                $clip['code'] = $el->getObject()->getPropByName('url')->getValue();
            }
        } else {
            $album['images'] = umiGallery::images($album['id']);
            $albums[] = $album;
        }
    }
    $vars['video'] = $video;
    $vars['albums'] = $albums;
}
Ejemplo n.º 26
0
 public function add_shared_file()
 {
     $type = "shared_file";
     $mode = (string) getRequest("param0");
     $file = getRequest("file");
     $inputData = array("type" => $type, "parent" => 0, "allowed-element-types" => array('shared_file'));
     if ($mode == "do") {
         $element_id = $this->saveAddedElementData($inputData);
         $element = umiHierarchy::getInstance()->getElement($element_id);
         if (getRequest("select_fs_file")) {
             $sFileName = getRequest("fs_dest_folder") . "/" . getRequest("select_fs_file");
             $oFile = new umiFile($sFileName);
             $element->setValue("fs_file", $oFile);
             $element->commit();
         }
         $this->chooseRedirect();
     }
     $this->setDataType("form");
     $this->setActionType("create");
     $data = $this->prepareData($inputData, "page");
     $this->setData($data);
     return $this->doData();
 }
 protected function saveValue()
 {
     $this->deleteCurrentRows();
     $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
     $v2817f701d5e1a1181e657251363295fd = 0;
     foreach ($this->value as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v3a6d0284e743dc4a9b86f97d6dd1a3bf) {
         if (is_object($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) {
             $v3a6d0284e743dc4a9b86f97d6dd1a3bf = (int) $v3a6d0284e743dc4a9b86f97d6dd1a3bf->getId();
         } else {
             $v3a6d0284e743dc4a9b86f97d6dd1a3bf = intval($v3a6d0284e743dc4a9b86f97d6dd1a3bf);
         }
         if (!$v3a6d0284e743dc4a9b86f97d6dd1a3bf) {
             continue;
         }
         $this->value[$v865c0c0b4ab0e063e5caa3387c1a8741] = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v3a6d0284e743dc4a9b86f97d6dd1a3bf);
         $vac5c74b64b4b8352ef2f181affb5ac2a = "INSERT INTO {$this->tableName} (obj_id, field_id, tree_val) VALUES('{$this->object_id}', '{$this->field_id}', '{$v3a6d0284e743dc4a9b86f97d6dd1a3bf}')";
         l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
         ++$v2817f701d5e1a1181e657251363295fd;
     }
     if (!$v2817f701d5e1a1181e657251363295fd) {
         $this->fillNull();
     }
 }
Ejemplo n.º 28
0
 private static function fillFields(antiSpamService $vaaabf0d39951f3e6c3e8a7911df524c2, iUmiHierarchyElement $v8e2dcfd7e7e24b1ca76c1193f645902b, $v5180805afcdc53d067cf7c6b96c68c9d = 'content')
 {
     $v02bd92faa38aaa6cc0ea75e59937a1ef = null;
     $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance();
     $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance();
     $ve0d61127bd180c59c3c5a9565ade8a7e = ($ve358efa489f58062f10dd7316b65649e = $v8e2dcfd7e7e24b1ca76c1193f645902b->getValue('author_id')) ? $ve358efa489f58062f10dd7316b65649e : $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getOwnerId();
     $v02bd92faa38aaa6cc0ea75e59937a1ef = $v5891da2d64975cae48d175d1e001f5da->getObject($ve0d61127bd180c59c3c5a9565ade8a7e);
     if ($v02bd92faa38aaa6cc0ea75e59937a1ef && $v02bd92faa38aaa6cc0ea75e59937a1ef->is_registrated) {
         $v02bd92faa38aaa6cc0ea75e59937a1ef = $v5891da2d64975cae48d175d1e001f5da->getObject($v02bd92faa38aaa6cc0ea75e59937a1ef->user_id);
     }
     if ($v02bd92faa38aaa6cc0ea75e59937a1ef) {
         $ve2e42a07550863f8b67f5eb252581f6d = $v02bd92faa38aaa6cc0ea75e59937a1ef->nickname ? $v02bd92faa38aaa6cc0ea75e59937a1ef->nickname : $v02bd92faa38aaa6cc0ea75e59937a1ef->login;
         $v0c83f57c786a0b4a39efab23731c7ebc = $v02bd92faa38aaa6cc0ea75e59937a1ef->email ? $v02bd92faa38aaa6cc0ea75e59937a1ef->email : $v02bd92faa38aaa6cc0ea75e59937a1ef->getValue('e-mail');
         $vaaabf0d39951f3e6c3e8a7911df524c2->setNick($ve2e42a07550863f8b67f5eb252581f6d);
         $vaaabf0d39951f3e6c3e8a7911df524c2->setEmail($v0c83f57c786a0b4a39efab23731c7ebc);
     } else {
         $vaaabf0d39951f3e6c3e8a7911df524c2->setNick('');
         $vaaabf0d39951f3e6c3e8a7911df524c2->setEmail('');
     }
     $vaaabf0d39951f3e6c3e8a7911df524c2->setContent($v8e2dcfd7e7e24b1ca76c1193f645902b->getValue($v5180805afcdc53d067cf7c6b96c68c9d));
     $v2a304a1348456ccd2234cd71a81bd338 = cmsController::getInstance()->getCurrentDomain()->getHost() . $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v8e2dcfd7e7e24b1ca76c1193f645902b->getId());
     $vaaabf0d39951f3e6c3e8a7911df524c2->setLink($v2a304a1348456ccd2234cd71a81bd338);
     return $vaaabf0d39951f3e6c3e8a7911df524c2;
 }
Ejemplo n.º 29
0
 public function poll()
 {
     $dateTime = getRequest('DateTime');
     $transactionId = getRequest('TransactionID');
     $orderId = getRequest('OrderId');
     $amount = getRequest('Amount');
     $currency = getRequest('Currency');
     $securityKey = getRequest('SecurityKey');
     $privateKey = $this->object->private_key;
     $keyString = "DateTime={$dateTime}&TransactionID={$transactionId}&OrderId={$orderId}&Amount={$amount}&Currency={$currency}&PrivateSecurityKey={$privateKey}";
     $checkKey = md5($keyString);
     if (strcasecmp($checkKey, $securityKey) == 0) {
         $this->order->setPaymentStatus('accepted');
     }
     $this->order->payment_document_num = $transactionId;
     $cmsController = cmsController::getInstance();
     if ($emarket = $cmsController->getModule("emarket")) {
         $host = "http://" . $cmsController->getCurrentDomain()->getHost();
         if (umiHierarchy::getInstance()->getIdByPath("resultpayonline")) {
             $host .= "/resultpayonline/";
         }
         $emarket->redirect($host);
     }
 }
Ejemplo n.º 30
0
 protected function importCommerceML()
 {
     $file_name = getRequest('filename');
     $file_path = self::$importDirectory . $file_name;
     if (!is_file($file_path)) {
         return "failure\nFile {$file_path} not exists.";
     }
     $import_offset = (int) getSession("1c_import_offset");
     $blockSize = (int) mainConfiguration::getInstance()->get("modules", "exchange.splitter.limit");
     if ($blockSize < 0) {
         $blockSize = 25;
     }
     $splitterName = (string) mainConfiguration::getInstance()->get("modules", "exchange.commerceML.splitter");
     if (!trim(strlen($splitterName))) {
         $splitterName = "commerceML2";
     }
     $splitter = umiImportSplitter::get($splitterName);
     $splitter->load($file_path, $blockSize, $import_offset);
     $doc = $splitter->getDocument();
     $xml = $splitter->translate($doc);
     $oldIgnoreSiteMap = umiHierarchy::$ignoreSiteMap;
     umiHierarchy::$ignoreSiteMap = true;
     $importer = new xmlImporter();
     $importer->loadXmlString($xml);
     $importer->setIgnoreParentGroups($splitter->ignoreParentGroups);
     $importer->setAutoGuideCreation($splitter->autoGuideCreation);
     $importer->setRenameFiles($splitter->getRenameFiles());
     $importer->execute();
     umiHierarchy::$ignoreSiteMap = $oldIgnoreSiteMap;
     $_SESSION['1c_import_offset'] = $splitter->getOffset();
     if ($splitter->getIsComplete()) {
         $_SESSION['1c_import_offset'] = 0;
         return "success\nComplete. Imported elements: " . $splitter->getOffset();
     }
     return "progress\nImported elements: " . $splitter->getOffset();
 }