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(); } } }
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; }
/** * Создать новый товар для заказа. * Выбор класса осуществляется следующим образом: * 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 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) ); */ // } }
/** * 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; }
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 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(); }
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; }
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); }
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)); }
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; }
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(); }
public function size_table() { $page = umiHierarchy::getInstance()->getElement(112); //print_r($page);die; $res = $page->getValue('content'); umiHierarchy::getInstance()->unloadElement($id); return $res; }
/** * Защищённый конструктор * @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); }
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; }
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(); }
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; }
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); }
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); }
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(); }
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; } }
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; }
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(); } }
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); } }
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; }
public function get_site_menu_account($pid) { $hier = umiHierarchy::getInstance(); $sResult = '<nav id="catalog"> <div class="cat personal"> <div class="cat personal"> <h4>Личный кабинет</h4> '; $aChilds = $hier->getChilds((int) $hier->getParent($pid), false, true, 1); foreach ($aChilds as $iChildId => $value) { $sClasses = ''; if ($iChildId == $pid) { $sClasses .= 'active'; } $child_element = $hier->getElement($iChildId); if ($child_element instanceof umiHierarchyElement) { $name = $child_element->getName(); $link = $hier->getPathById($iChildId); switch ($iChildId) { case 114: $sClasses .= ' my-orders'; break; case 115: $sClasses .= ' my-info'; break; case 116: $sClasses .= ' my-wishes'; break; } $sResult .= '<a class="' . $sClasses . '" href="' . $link . '">' . $name . '<span></span></a>'; } } $sResult .= '</div> </nav>'; return $sResult; }
/** * Получение списка последних просмотренных страниц * * @param string $template Шаблон для вывода * * @param string $scope Тэг(группировка страниц), без пробелов и запятых * @param bool $showCurrentElement Если false - текущая страница не будет включена в результат * @param int|null $limit Количество выводимых элементов * * @return mixed */ public function getRecentPages($template = "default", $scope = "default", $showCurrentElement = false, $limit = null) { if (!$scope) { $scope = "default"; } $hierarchy = umiHierarchy::getInstance(); $currentElementId = cmsController::getInstance()->getCurrentElementId(); list($itemsTemplate, $itemTemplate) = def_module::loadTemplates("content/" . $template, "items", "item"); session::getInstance(); $items = array(); if (isset($_SESSION['content:recent_pages'][$scope])) { foreach ($_SESSION['content:recent_pages'][$scope] as $recentPage => $time) { $element = $hierarchy->getElement($recentPage, true); if (!$element instanceof umiHierarchyElement) { continue; } if (!$showCurrentElement && $element->getId() == $currentElementId) { continue; } elseif (!is_null($limit) && $limit <= 0) { break; } elseif (!is_null($limit)) { $limit--; } $items[] = self::parseTemplate($itemTemplate, array('@id' => $element->getId(), '@link' => $element->link, '@name' => $element->getName(), '@alt-name' => $element->getAltName(), '@xlink:href' => "upage://" . $element->getId(), '@last-view-time' => $time, 'node:text' => $element->getName())); } } return self::parseTemplate($itemsTemplate, array("subnodes:items" => $items)); }
public function onCommentAdd(iUmiEventPoint $oEventPoint) { $regedit = regedit::getInstance(); if (!$regedit->getVal("//modules/blogs20/notifications/on_comment_add")) { return; } $template = ($tmp = $oEventPoint->getParam('template')) ? $tmp : 'default'; $commentId = $oEventPoint->getParam('id'); $hierarchy = umiHierarchy::getInstance(); $collection = umiObjectsCollection::getInstance(); $parentId = $hierarchy->getElement($commentId, true)->getRel(); $element = $hierarchy->getElement($parentId); $postHtypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName('blogs20', 'post')->getId(); $post = $element; if ($post instanceof umiHierarchyElement == false) { return false; } while ($post->getTypeId() != $postHtypeId) { $post = $hierarchy->getElement($post->getRel(), true); } if ($element->getTypeId() == $postHtypeId) { $parentOwner = $collection->getObject($element->getObject()->getOwnerId()); if (!$parentOwner instanceof umiObject) { return false; } $email = $parentOwner->getValue('e-mail'); $nick = $parentOwner->getValue('login'); $fname = $parentOwner->getValue('fname'); $lname = $parentOwner->getValue('lname'); $patr = $parentOwner->getValue('father_name'); $name = strlen($fname) ? $fname . ' ' . $patr . ' ' . $lname : $nick; list($tplSubject, $tplBody) = def_module::loadTemplatesForMail('blogs20/mail/' . $template, 'comment_for_post_subj', 'comment_for_post_body'); } else { $parentOwner = $collection->getObject($element->getValue('author_id')); if ($parentOwner->getValue('is_registrated')) { $user = $collection->getObject($parentOwner->getValue('user_id')); $email = $user->getValue('e-mail'); $nick = $user->getValue('login'); $fname = $user->getValue('fname'); $lname = $user->getValue('lname'); $patr = $user->getValue('father_name'); $name = strlen($fname) ? $fname . ' ' . $patr . ' ' . $lname : $nick; } else { $email = $parentOwner->getValue('email'); $name = $parentOwner->getValue('nickname'); } list($tplSubject, $tplBody) = def_module::loadTemplatesForMail('blogs20/mail/' . $template, 'comment_for_comment_subj', 'comment_for_comment_body'); } $aParams = array(); $aParams['name'] = $name; $aParams['link'] = 'http://' . cmsController::getInstance()->getCurrentDomain()->getHost() . $hierarchy->getPathById($post->getId()) . '#comment_' . $commentId; $subject = def_module::parseTemplateForMail($tplSubject, $aParams); $body = def_module::parseTemplateForMail($tplBody, $aParams); $fromEmail = $regedit->getVal("//settings/email_from"); $fromName = $regedit->getVal("//settings/fio_from"); $oMail = new umiMail(); $oMail->addRecipient($email, $name); $oMail->setFrom($fromEmail, $fromName); $oMail->setSubject($subject); $oMail->setContent($body); $oMail->commit(); $oMail->send(); }