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)); }
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 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; }
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; }
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; }
/** * Создать новый товар для заказа. * Выбор класса осуществляется следующим образом: * 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()); }
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 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) ); */ // } }
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 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 setName($vb068931cc450442b63f5b3d276ea4297) { $vb068931cc450442b63f5b3d276ea4297 = umiHierarchy::convertAltName($vb068931cc450442b63f5b3d276ea4297, "_"); $this->name = umiObjectProperty::filterInputString($vb068931cc450442b63f5b3d276ea4297); if (!strlen($this->name)) { $this->name = '_'; } $this->setIsUpdated(); }
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); }
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(); }
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(); } }
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 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); } }
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(); }