/**
  * Удалить объект, представляющий товар в заказе
  */
 public function remove()
 {
     $objects = umiObjectsCollection::getInstance();
     if ($this->object instanceof umiObject) {
         $objects->delObject($this->object->getId());
     }
 }
 protected function readDataBlock()
 {
     $v9a09b4dfda82e3e665e31092d1c3ec8d = parent::readDataBlock();
     if ($v9a09b4dfda82e3e665e31092d1c3ec8d->getElementsByTagName('domains')->length) {
         $ve4e46deb7f9cc58c7abfb32e5570b6f3 = $v9a09b4dfda82e3e665e31092d1c3ec8d->getElementsByTagName('domains')->item(0);
         if ($ve4e46deb7f9cc58c7abfb32e5570b6f3->getElementsByTagName('domain')->length) {
             $vad5f82e879a9c5d6b5b442eb37e50551 = $ve4e46deb7f9cc58c7abfb32e5570b6f3->getElementsByTagName('domain')->item(0);
             $vfc4dd24e8dcaab0826b9ab09db0da5bf = false;
             $v72ee76c5c29383b7c9f9225c1fa4d10b = false;
             $v495a73fe6d3367859f634a689771d209 = getRequest('param0');
             if ($v495a73fe6d3367859f634a689771d209) {
                 $v6a7f245843454cf4f28ad7c5e2572aa2 = umiObjectsCollection::getInstance()->getObject($v495a73fe6d3367859f634a689771d209)->elements;
                 if (is_array($v6a7f245843454cf4f28ad7c5e2572aa2) && count($v6a7f245843454cf4f28ad7c5e2572aa2)) {
                     $v72ee76c5c29383b7c9f9225c1fa4d10b = $v6a7f245843454cf4f28ad7c5e2572aa2[0]->getDomainId();
                 }
             }
             if ($v72ee76c5c29383b7c9f9225c1fa4d10b) {
                 $vfc4dd24e8dcaab0826b9ab09db0da5bf = domainsCollection::getInstance()->getDomain($v72ee76c5c29383b7c9f9225c1fa4d10b);
             } else {
                 $vfc4dd24e8dcaab0826b9ab09db0da5bf = domainsCollection::getInstance()->getDefaultDomain();
             }
             if ($vfc4dd24e8dcaab0826b9ab09db0da5bf instanceof domain) {
                 $v9b98b21540033f68b145fb236bd91a73 = $vfc4dd24e8dcaab0826b9ab09db0da5bf->getHost();
                 $vad5f82e879a9c5d6b5b442eb37e50551->setAttribute('host', $v9b98b21540033f68b145fb236bd91a73);
             }
         }
     }
     return $v9a09b4dfda82e3e665e31092d1c3ec8d;
 }
 /**
  * Закрывает одно сообщение и сохраняет информацию об этом в профиле пользователя
  * 
  */
 public function closeUmiMessage()
 {
     $this->flushAsXML("closeUmiMessage");
     $permissions = permissionsCollection::getInstance();
     $objects = umiObjectsCollection::getInstance();
     $user_id = $permissions->getUserId();
     $user = $objects->getObject($user_id);
     if ($user instanceof umiObject == false) {
         throw new coreException("Can't get current user with id #{$user_id}");
     }
     $settings_data = $user->getValue("user_settings_data");
     $settings_data = unserialize($settings_data);
     if (!is_array($settings_data)) {
         $settings_data = array();
     }
     $value = (int) getRequest('value');
     if (isset($settings_data['umiMessages']['closed']) && $settings_data['umiMessages']['closed'] != '') {
         $closed = explode(';', $settings_data['umiMessages']['closed']);
         $closed[] = $value;
         $closed = array_unique($closed);
         $settings_data['umiMessages']['closed'] = implode(';', $closed);
     } else {
         $settings_data['umiMessages']['closed'] = $value;
     }
     $user->setValue("user_settings_data", serialize($settings_data));
     $user->commit();
 }
Example #4
0
		/**
		* Зарегистрировать событие в истории событий
		* @param string $eventTypeId идентификатор типа события
		* @param array $params массив параметров события
		* @param int $elementId id связанной страницы
		* @param int $objectId id связанного объекта
		*/
		public function registerEvent($eventTypeId, $params = array(), $elementId = null, $objectId = null) {
			
			$pool = ConnectionPool::getInstance();
			$connection = $pool->getConnection();
			umiEventFeed::setConnection($connection);
			umiEventFeedType::setConnection($connection);
					
			try {
				$eventType = umiEventFeedType::get($eventTypeId);
			} catch (Exception $e) {
				$eventType = umiEventFeedType::create($eventTypeId);
			}
			
			$userId = permissionsCollection::getInstance()->getUserId();
			$user = umiObjectsCollection::getInstance()->getObject($userId)->getName();
			
			$module = cmsController::getInstance()->getModule('users');
			$link = $module->getObjectEditLink($userId);
			
			array_unshift($params, $user);
			array_unshift($params, $link);
			umiEventFeed::create($eventType, $params, $elementId, $objectId);
			
			$maxDays = (int) regedit::getInstance()->getVal("//modules/events/max-days-storing-events");
			if ($maxDays > 0) {
				$lastDate = time() - ($maxDays * 24 * 60 * 60);
				umiEventFeed::deleteList(array(), $lastDate);
			}
			
		}
Example #5
0
 public function process($template = null)
 {
     list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/payment/invoice/" . $template, 'legal_person_block', 'legal_person_item');
     $collection = umiObjectsCollection::getInstance();
     $types = umiObjectTypesCollection::getInstance();
     $typeId = $types->getBaseType("emarket", "legal_person");
     $customer = customer::get();
     $order = $this->order;
     $mode = getRequest('param2');
     if ($mode == 'do') {
         $personId = getRequest('legal-person');
         $isNew = $personId == null || $personId == 'new';
         if ($isNew) {
             $typeId = $types->getBaseType("emarket", "legal_person");
             $personId = $collection->addObject("", $typeId);
             $controller = cmsController::getInstance();
             $data = getRequest('data');
             if ($data && ($dataModule = $controller->getModule("data"))) {
                 $person = $collection->getObject($personId);
                 $person->setName($data['new']['name']);
                 $dataModule->saveEditedObject($personId, $isNew, true);
             }
             if ($collection->getObject($personId) instanceof umiObject) {
                 $customer = customer::get();
                 $customer->legal_persons = array_merge($customer->legal_persons, array($personId));
             }
         }
         $order->legal_person = $personId;
         $order->order();
         $order->payment_document_num = $order->id;
         $result = $this->printInvoice($order);
         $buffer = outputBuffer::current();
         $buffer->charset('utf-8');
         $buffer->contentType('text/html');
         $buffer->clear();
         $buffer->push($result);
         $buffer->end();
         return true;
     } else {
         if ($mode == 'delete') {
             $personId = (int) getRequest('person-id');
             if ($collection->isExists($personId)) {
                 $customer = customer::get();
                 $customer->legal_persons = array_diff($customer->legal_persons, array($personId));
                 $collection->delObject($personId);
             }
         }
     }
     $items = array();
     $persons = $customer->legal_persons;
     if (is_array($persons)) {
         foreach ($persons as $personId) {
             $person = $collection->getObject($personId);
             $item_arr = array('attribute:id' => $personId, 'attribute:name' => $person->name);
             $items[] = def_module::parseTemplate($tpl_item, $item_arr, false, $personId);
         }
     }
     $block_arr = array('attribute:type-id' => $typeId, 'attribute:type_id' => $typeId, 'xlink:href' => 'udata://data/getCreateForm/' . $typeId, 'subnodes:items' => $items);
     return def_module::parseTemplate($tpl_block, $block_arr);
 }
Example #6
0
 public function getGuideList($id, $template = 'guidelist', $arrayOnly = false)
 {
     if (!$id) {
         return null;
     }
     //id справочника
     $o = umiObjectsCollection::getInstance();
     $items = $o->getGuidedItems($id);
     if (!sizeof($items)) {
         return null;
     }
     if ($arrayOnly) {
         return $items;
     }
     list($guide_block, $guide_item) = def_module::loadTemplates("catalog/{$template}.tpl", "guide_block", "guide_item");
     $s = '';
     $block_array = array();
     foreach ($items as $k => $v) {
         $line_array = array();
         $line_array['id'] = $k;
         $line_array['name'] = $items[$k];
         $s .= def_module::parseTemplate($guide_item, $line_array);
     }
     $block_array['lines'] = $s;
     unset($items);
     $s = def_module::parseTemplate($guide_block, $block_array);
     return $s;
 }
Example #7
0
 public function get_filemanager_info()
 {
     $buffer = outputBuffer::current();
     $buffer->contentType('text/javascript');
     $buffer->option('generation-time', false);
     $buffer->clear();
     $json = new jsonTranslator();
     $folder = (string) getRequest('folder');
     $file = (string) getRequest('file');
     $folderHash = $folder ? elfinder_get_hash($folder) : '';
     $fileHash = $file ? elfinder_get_hash($file) : '';
     $objects = umiObjectsCollection::getInstance();
     $userId = permissionsCollection::getInstance()->getUserId();
     $user = $objects->getObject($userId);
     $fmId = $user->getValue('filemanager');
     if ($fmId) {
         $fm = $objects->getObject($fmId);
         $fmPrefix = $fm->getValue('fm_prefix') ? $fm->getValue('fm_prefix') : 'elfinder';
     } else {
         $fmPrefix = 'elfinder';
     }
     $lang = cmsController::getInstance()->getCurrentLang()->getPrefix();
     $data = array('folder_hash' => $folderHash, 'file_hash' => $fileHash, 'filemanager' => $fmPrefix, 'lang' => $lang);
     $result = $json->translateToJson($data);
     $buffer->push($result);
     $buffer->end();
 }
Example #8
0
 public static function isAllowedFileType($v566bbee0f961ad71b54c3c2fd36db053)
 {
     $v566bbee0f961ad71b54c3c2fd36db053 = strtolower($v566bbee0f961ad71b54c3c2fd36db053);
     if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$forbiddenFileTypes)) {
         return false;
     }
     if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedFileTypes) || in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedImageTypes)) {
         return true;
     }
     if (is_null(self::$allowedUserFileTypes)) {
         $v8e44f0089b076e18a718eb9ca3d94674 = permissionsCollection::getInstance()->getUserId();
         $v23e91e891070db669547556402a176b5 = umiObjectsCollection::getInstance()->getObject($v8e44f0089b076e18a718eb9ca3d94674)->getValue('appended_file_extensions');
         self::$allowedUserFileTypes = array();
         foreach (explode(',', $v23e91e891070db669547556402a176b5) as $va175f0d82e080972dd2c0cf2c56450b3) {
             $va175f0d82e080972dd2c0cf2c56450b3 = strtolower(trim($va175f0d82e080972dd2c0cf2c56450b3));
             if (strlen($va175f0d82e080972dd2c0cf2c56450b3)) {
                 self::$allowedUserFileTypes[] = $va175f0d82e080972dd2c0cf2c56450b3;
             }
         }
     }
     if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedUserFileTypes)) {
         return true;
     }
     return false;
 }
		public function delivery_add() {
			$mode = (string) getRequest('param0');

			$inputData = array(
				'type' => 'delivery',
				'type-id' => getRequest('type-id'),
				'allowed-element-types' => array('delivery')
			);

			if($mode == "do") {
				$data = getRequest("data");
				$deliveryType = $data["new"]["delivery_type_id"];
				if($typeObject = umiObjectsCollection::getInstance()->getObject($deliveryType)) {
					$inputData['type-id'] = umiObjectTypesCollection::getInstance()->getTypeIdByGUID($typeObject->delivery_type_guid);
				}
				$object = $this->saveAddedObjectData($inputData);
				self::checkDeliveryProps($object);

				$this->chooseRedirect($this->pre_lang . "/admin/emarket/delivery_edit/{$object->id}/");
			}

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

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

			$this->setData($data);
			return $this->doData();
		}
Example #10
0
    public function sendSMS()
    {
        $oObjects = umiObjectsCollection::getInstance();
        $SMSobjID = getRequest('system_sms_to');
        $telefon = $oObjects->getObject($SMSobjID)->getValue('telefon');
        $src = '<?xml version="1.0" encoding="UTF-8"?>   
<SMS>
	<operations> 
		<operation>SEND</operation>
	</operations>
	<authentification>   
		<username>kakadupark@yandex.ru</username>  
		<password>yjdjrhsvcrfz</password>  
	</authentification>  
	<message>
		<sender>kakadu</sender>   
		<text>Обратный звонок ' . $_REQUEST['data']['new']['fio'] . ' ' . $_REQUEST['data']['new']['telefon'] . ' ' . ($fio = $_REQUEST['data']['new']['vremya_dlya_zvonka'] . '</text>  
	</message>   
	<numbers>
		<number>' . $telefon . '</number>
	</numbers>   
</SMS>');
        $Curl = curl_init();
        $CurlOptions = array(CURLOPT_URL => 'http://atompark.com/members/sms/xml', CURLOPT_FOLLOWLOCATION => false, CURLOPT_POST => true, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_CONNECTTIMEOUT => 15, CURLOPT_TIMEOUT => 100, CURLOPT_POSTFIELDS => array('XML' => $src));
        curl_setopt_array($Curl, $CurlOptions);
        if (false === ($Result = curl_exec($Curl))) {
            throw new Exception('Http request failed');
        }
        curl_close($Curl);
        $this->send();
    }
 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 import_subscriber($email, $fname, $lname)
 {
     if (!$email) {
         return false;
     }
     $oSbsSelection = new umiSelection();
     $oSbsSelection->setObjectTypeFilter();
     $iSbsHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId();
     $iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iSbsHierarchyTypeId);
     $oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId);
     $oSbsSelection->addObjectType($iSbsTypeId);
     $oSbsSelection->setNamesFilter();
     $oSbsSelection->addNameFilterEquals($email);
     $arrSbsSelResults = umiSelectionsParser::runSelection($oSbsSelection);
     if (sizeof($arrSbsSelResults)) {
         list($object_id) = $arrSbsSelResults;
     } else {
         $object_id = umiObjectsCollection::getInstance()->addObject($email, $iSbsTypeId);
     }
     if ($oSubscriber = umiObjectsCollection::getInstance()->getObject($object_id)) {
         $oSubscriber->setName($email);
         $oSubscriber->setValue('fname', $fname);
         $oSubscriber->setValue('lname', $lname);
         $oCurrDate = new umiDate(time());
         $oSubscriber->setValue('subscribe_date', $oCurrDate);
         $oSubscriber->setValue('subscriber_dispatches', $this->getAllDispatches());
         $oSubscriber->commit();
     } else {
         return false;
     }
     return $object_id;
 }
 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 stream_open($vd6fe1d0be6347b8ef2427fa629c04485, $v15d61712450a686a7f365adf4fef581f, $v93da65a9fd0004d9477aeac024e08e15, $v6385a5865e0b96f09e4142ab2d9e3736)
 {
     $vb99eb979e6f6efabc396f777b503f7e7 = cacheFrontend::getInstance();
     if ($v8d777f385d3dfec8815d20f7496026dc = $vb99eb979e6f6efabc396f777b503f7e7->loadData($vd6fe1d0be6347b8ef2427fa629c04485)) {
         return $this->setData($v8d777f385d3dfec8815d20f7496026dc);
     }
     $vaf31437ce61345f416579830a98c91e5 = $this->parsePath($vd6fe1d0be6347b8ef2427fa629c04485);
     $va8cfde6331bd59eb2ac96f8911c4b666 = umiObjectsCollection::getInstance()->getObject($vaf31437ce61345f416579830a98c91e5);
     if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof iUmiObject) {
         if (is_null($this->prop_name)) {
             $v164d124aa1de584618cde85506eb8cd4 = translatorWrapper::$showEmptyFields;
             if (!is_null(getArrayKey($this->params, 'show-empty'))) {
                 translatorWrapper::$showEmptyFields = true;
             }
             $v8d777f385d3dfec8815d20f7496026dc = $this->translateToXml($va8cfde6331bd59eb2ac96f8911c4b666);
             translatorWrapper::$showEmptyFields = $v164d124aa1de584618cde85506eb8cd4;
         } else {
             $v23a5b8ab834cb5140fa6665622eb6417 = $va8cfde6331bd59eb2ac96f8911c4b666->getPropByName($this->prop_name);
             if ($v23a5b8ab834cb5140fa6665622eb6417 instanceof iUmiObjectProperty) {
                 $v8d777f385d3dfec8815d20f7496026dc = $this->translateToXml($va8cfde6331bd59eb2ac96f8911c4b666, $v23a5b8ab834cb5140fa6665622eb6417);
             } else {
                 return $this->setDataError('not-found');
             }
         }
         if ($this->expire) {
             $vb99eb979e6f6efabc396f777b503f7e7->saveObject($vd6fe1d0be6347b8ef2427fa629c04485, $v8d777f385d3dfec8815d20f7496026dc, $this->expire);
         }
         return $this->setData($v8d777f385d3dfec8815d20f7496026dc);
     } else {
         return $this->setDataError('not-found');
     }
 }
 protected function translateMessageToXml(iUmiMessage $v78e731027d8fd50ed642340b7c9a63b3)
 {
     $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance();
     $v86c61d2597857a96ae3a6048b5e7c5a7 = $v5891da2d64975cae48d175d1e001f5da->getObject($v78e731027d8fd50ed642340b7c9a63b3->getSenderId());
     $result = array('attribute:id' => $v78e731027d8fd50ed642340b7c9a63b3->getId(), 'attribute:title' => $v78e731027d8fd50ed642340b7c9a63b3->getTitle(), 'attribute:type' => $v78e731027d8fd50ed642340b7c9a63b3->getType(), 'attribute:priority' => $v78e731027d8fd50ed642340b7c9a63b3->getPriority(), 'date' => array('attribute:unix_timestamp' => $v78e731027d8fd50ed642340b7c9a63b3->getCreateTime()->getDateTimestamp(), 'node:value' => $v78e731027d8fd50ed642340b7c9a63b3->getCreateTime()->getFormattedDate()), 'sender' => $v86c61d2597857a96ae3a6048b5e7c5a7, 'content' => $v78e731027d8fd50ed642340b7c9a63b3->getContent());
     return $result;
 }
Example #16
0
 public function getDeliveryType($delivery_id = false)
 {
     if (!$delivery_id) {
         return '';
     }
     $object = umiObjectsCollection::getInstance()->getObject($delivery_id);
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     return $classPrefix;
 }
Example #17
0
 public function parseSearchRelation(umiField $field, $template, $template_item, $template_separator)
 {
     $block_arr = array();
     $name = $field->getName();
     $title = $field->getTitle();
     $guide_id = $field->getGuideId();
     $guide_items = umiObjectsCollection::getInstance()->getGuidedItems($guide_id);
     $fields_filter = getRequest('fields_filter');
     $value = getArrayKey($fields_filter, $name);
     $items = array();
     $i = 0;
     $sz = sizeof($guide_items);
     $is_tpl = !def_module::isXSLTResultMode();
     if (!$is_tpl) {
         $template_item = true;
     }
     $unfilter_link = "";
     foreach ($guide_items as $object_id => $object_name) {
         if (is_array($value)) {
             $selected = in_array($object_id, $value) ? "selected" : "";
         } else {
             $selected = $object_id == $value ? "selected" : "";
         }
         if ($template_item) {
             $line_arr = array();
             $line_arr['attribute:id'] = $line_arr['void:object_id'] = $object_id;
             $line_arr['node:object_name'] = $object_name;
             $params = $_GET;
             unset($params['path']);
             unset($params['p']);
             $params['fields_filter'][$name] = $object_id;
             $filter_link = "?" . http_build_query($params, '', '&amp;');
             unset($params['fields_filter'][$name]);
             $unfilter_link = "?" . http_build_query($params, '', '&amp;');
             $line_arr['attribute:filter_link'] = $filter_link;
             $line_arr['attribute:unfilter_link'] = $unfilter_link;
             if ($selected) {
                 $line_arr['attribute:selected'] = "selected";
             }
             $items[] = def_module::parseTemplate($template_item, $line_arr);
             if (++$i < $sz) {
                 if ($is_tpl) {
                     $items[] = $template_separator;
                 }
             }
         } else {
             $items[] = "<option value=\"{$object_id}\" {$selected}>{$object_name}</option>";
         }
     }
     $block_arr['attribute:unfilter_link'] = $unfilter_link;
     $block_arr['attribute:name'] = $name;
     $block_arr['attribute:title'] = $title;
     $block_arr['subnodes:values'] = $block_arr['void:items'] = $items;
     $block_arr['void:selected'] = $value ? "" : "selected";
     return def_module::parseTemplate($template, $block_arr);
 }
 public function normalizeOut($v2063c1608d6e0baf80249c42e2be5804, $v16b2b26000987faccb260b9d39df1269 = false)
 {
     $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance();
     $va8cfde6331bd59eb2ac96f8911c4b666 = $v5891da2d64975cae48d175d1e001f5da->getObject($v16b2b26000987faccb260b9d39df1269);
     $v2fc01ec765ec0cb3dcc559126de20b30 = null;
     if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject && $va8cfde6331bd59eb2ac96f8911c4b666->getValue('diametr_sm')) {
         $v2fc01ec765ec0cb3dcc559126de20b30 = 3.1415 * pow($va8cfde6331bd59eb2ac96f8911c4b666->getValue('diametr_sm') / 2, 2);
     }
     return $v2fc01ec765ec0cb3dcc559126de20b30;
 }
 public function getDeliveryPrice(order $order)
 {
     $objects = umiObjectsCollection::getInstance();
     $deliveryAddress = $objects->getObject($order->delivery_address);
     if (!$deliveryAddress) {
         return "Невозможно автоматически определить стоимость";
     }
     $orderPrice = $order->getActualPrice();
     $weight = 0;
     $items = $order->getItems();
     foreach ($items as $item) {
         $element = $item->getItemElement();
         $itemWeight = (int) $element->getValue("weight");
         if ($itemWeight != 0) {
             $weight += $itemWeight * $item->getAmount();
         } else {
             return "Невозможно автоматически определить стоимость";
         }
     }
     $viewPost = $objects->getObject($this->object->viewpost)->getValue("identifier");
     if ($viewPost == 44 || $viewPost == 45) {
         $weight = $weight / 1000;
         $departureCity = $objects->getObject($this->object->departure_city);
         $departureCity = $departureCity instanceof umiObject ? $departureCity->getName() : "Москва";
         $city = $deliveryAddress->getValue("city");
         $response = $this->calculateSumEMS($price, $departureCity, $city, $weight, $min, $max, $flag);
         if ($flag == 'ok') {
             $price = $response->price;
             $min = $response->term->min;
             $max = $response->term->max;
             $flag = " {$price} руб. (займет от {$min} до {$max} дней)";
         }
         return $flag;
     } else {
         $typePost = $objects->getObject($this->object->typepost)->getValue("identifier");
         $value = $this->object->setpostvalue ? ceil($order->getActualPrice()) : 0;
         $zip = $deliveryAddress->getValue("index");
         $url = "http://www.russianpost.ru/autotarif/Autotarif.aspx?viewPost={$viewPost}&countryCode=643&typePost={$typePost}&weight={$weight}&value1={$value}&postOfficeId={$zip}";
         $content = umiRemoteFileGetter::get($url);
         if (preg_match("/<input id=\"key\" name=\"key\" value=\"(\\d+)\"\\/>/i", $content, $match)) {
             $key = trim($match[1]);
             $content = umiRemoteFileGetter::get($url, false, array('Content-type' => 'application/x-www-form-urlencoded'), array('key' => $key));
             $content = umiRemoteFileGetter::get($url);
         }
         if (preg_match("/span\\s+id=\"TarifValue\">([^<]+)<\\/span/i", $content, $match)) {
             $price = floatval(str_replace(",", ".", trim($match[1])));
             if ($price > 0) {
                 return $price;
             } elseif (preg_match("/span\\s+id=\"lblErrStr\">([^<]+)<\\/span/i", $content, $match)) {
                 return $match[1];
             }
         }
         return "Не определено. Свяжитесь с менеджером для уточнения информации.";
     }
 }
 public static function checkContent($v9a0364b9e99bb480dd25e1f0284c8555)
 {
     $vd499d2db30467ffbbfcf1188e3fa1327 = umiObjectTypesCollection::getInstance()->getTypeIdByGUID('blacklist');
     $v1c73f663c4ea5257b7145fd2f7c598ae = umiObjectsCollection::getInstance()->getGuidedItems($vd499d2db30467ffbbfcf1188e3fa1327);
     foreach ($v1c73f663c4ea5257b7145fd2f7c598ae as $vd1f5ee0092ec47708f200415f2a89717 => $vc47d187067c6cf953245f128b5fde62a) {
         if (strpos($v9a0364b9e99bb480dd25e1f0284c8555, $vc47d187067c6cf953245f128b5fde62a) !== false) {
             return false;
         }
     }
     return true;
 }
Example #21
0
 public function getObjectsByBaseTypeList($module, $method)
 {
     $objectTypesCollection = umiObjectTypesCollection::getInstance();
     $objectsCollection = umiObjectsCollection::getInstance();
     $type_id = $objectTypesCollection->getBaseType($module, $method);
     $objects = $objectsCollection->getGuidedItems($type_id);
     $items = array();
     foreach ($objects as $item_id => $item_name) {
         $items[] = array('attribute:id' => $item_id, 'node:name' => $item_name);
     }
     return array('items' => array('nodes:item' => $items));
 }
Example #22
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;
 }
Example #24
0
 public function isUserOnline($userId = false, $onlineTimeout = 900)
 {
     if ($userId === false) {
         throw new publicException("This macros need user id given.");
     }
     if ($user = umiObjectsCollection::getInstance()->getObject($userId)) {
         $last_request_time = $user->getValue("last_request_time");
         $is_online = (bool) ($last_request_time + $onlineTimeout >= time());
         $user->setValue("is_online", $is_online);
         $user->commit();
         return $is_online;
     } else {
         throw new publicException("User #{$userId} doesn't exists.");
     }
 }
Example #25
0
 public static final function get($objectId)
 {
     if ($objectId instanceof iUmiObject) {
         $object = $objectId;
     } else {
         $objects = umiObjectsCollection::getInstance();
         $object = $objects->getObject($objectId);
         if ($object instanceof iUmiObject == false) {
             throw new coreException("Couldn't load order item object #{$objectId}");
         }
     }
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     objectProxyHelper::includeClass('emarket/classes/delivery/systems/', $classPrefix);
     $className = $classPrefix . 'Delivery';
     return new $className($object);
 }
Example #26
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();
 }
Example #27
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);
 }
		public function saveUserSettings() {
			$this->flushAsXML("saveUserSettings");
			
			$permissions = permissionsCollection::getInstance();
			$objects = umiObjectsCollection::getInstance();
			
			$user_id = $permissions->getUserId();
			$user = $objects->getObject($user_id);
			if($user instanceof umiObject == false) {
				throw new coreException("Can't get current user with id #{$user_id}");
			}
			
			$settings_data = $user->getValue("user_settings_data");
			$settings_data = unserialize($settings_data);
			if(!is_array($settings_data)) {
				$settings_data = Array();
			}
			
			$key = getRequest('key');
			$value = getRequest('value');
			$tags = (Array) getRequest('tags');
			
			if(!$key) {
				throw new publicException("You should pass \"key\" parameter to this resourse");
			}
			
			if(sizeof($tags) == 0) {
				$tags[] = 'common';
			}
			
			foreach($tags as $tag) {
				if(!$value) {
					if(isset($settings_data[$key][$tag])) {
						unset($settings_data[$key][$tag]);
						
						if(sizeof($settings_data[$key]) == 0) {
							unset($settings_data[$key]);
						}
					}
				} else {
					$settings_data[$key][$tag] = $value;
				}
			}
			
			$user->setValue("user_settings_data", serialize($settings_data));
			$user->commit();
		}
Example #29
0
 public function cronUnpublishPage($oEvent)
 {
     $object_type = umiObjectTypesCollection::getInstance()->getTypeByGUID('root-pages-type');
     $field_id = $object_type->getFieldId("expiration_date");
     $sel = new umiSelection();
     $sel->addPropertyFilterLess($field_id, time());
     $sel->addPropertyFilterNotEqual($field_id, 0);
     $sel->addActiveFilter(true);
     $sel->forceHierarchyTable(true);
     $result = umiSelectionsParser::runSelection($sel);
     $res = array();
     foreach ($result as $key => $page_id) {
         $ePage = umiHierarchy::getInstance()->getElement($page_id, true);
         $ePage->setIsActive(false);
         $pageObject = $ePage->getObject();
         $pageObject->setValue("publish_status", $this->getPageStatusIdByStatusSid("page_status_unpublish"));
         $pageObject->commit();
         $ePage->commit();
         if (!($publishComments = $ePage->getValue("publish_comments"))) {
             $publishComments = "Отсутствуют.";
         }
         $user_id = $ePage->getObject()->getOwnerId();
         $oUser = umiObjectsCollection::getInstance()->getObject($user_id);
         if ($oUser instanceof umiObject && ($user_email = $oUser->getValue("e-mail"))) {
             //Составляем и посылаем сообщение пользователю
             $mail_message = new umiMail();
             $from = regedit::getInstance()->getVal("//settings/email_from");
             $mail_message->setFrom($from);
             $mail_message->setPriorityLevel("high");
             $mail_message->setSubject(getLabel('label-notification-expired-mail-header'));
             list($body) = def_module::loadTemplatesForMail("mail/expired", "body");
             $block['notify_header'] = getLabel('label-notification-expired-mail-header');
             $block['page_header'] = $ePage->getName();
             $block['publish_comments'] = $publishComments;
             $domain = domainsCollection::getInstance()->getDomain($ePage->getDomainId());
             $page_host = "http://" . $domain->getHost() . umiHierarchy::getInstance()->getPathById($page_id);
             $block['page_link'] = $page_host;
             $mail_html = def_module::parseTemplateForMail($body, $block, $page_id);
             $mail_message->addRecipient($user_email);
             $mail_message->setContent($mail_html);
             $mail_message->commit();
             $mail_message->send();
         }
     }
 }
Example #30
0
 /**
  * Функция рисует список заказов пользователя
  * @param string $template Название шаблона
  * @return mixed Список заказов пользователя
  */
 public function show_user_orders($template = 'default')
 {
     list($tpl_block, $tpl_block_empty, $tpl_item, $tpl_order_item) = def_module::loadTemplates("emarket/" . $template, 'orders_block', 'orders_block_empty', 'orders_item', 'orders_order_item');
     $cmsController = cmsController::getInstance();
     $domain = $cmsController->getCurrentDomain();
     $domainId = $domain->getId();
     $sel = new selector('objects');
     $sel->types('object-type')->name('emarket', 'order');
     $sel->where('customer_id')->equals(customer::get()->id);
     $sel->where('name')->isNull(false);
     $sel->where('domain_id')->equals($domainId);
     if ($sel->length == 0) {
         $tpl_block = $tpl_block_empty;
     }
     $items_arr = array();
     foreach ($sel->result as $selOrder) {
         $order = order::get($selOrder->id);
         $item_arr['attribute:id'] = $order->id;
         $item_arr['attribute:name'] = $order->name;
         $item_arr['attribute:type-id'] = $order->typeId;
         $item_arr['attribute:guid'] = $order->GUID;
         $item_arr['attribute:type-guid'] = $order->typeGUID;
         $item_arr['attribute:ownerId'] = $order->ownerId;
         $item_arr['xlink:href'] = $order->xlink;
         $item_arr['attribute:delivery_allow_date'] = date('d.m.Y', $order->getValue('delivery_allow_date')->timestamp);
         //print_r($order->getValue('order_items'));
         //Получаем список товаров заказа
         $items = array();
         foreach ($order->getItems() as $orderItem) {
             //					print_r($order_item); die;
             $item_line = array();
             //					print_r(umiHierarchy::getInstance()->getObjectInstances($orderItem->id));
             $item_line['attribute:element_id'] = $orderItem->id;
             $item_line['attribute:name'] = $orderItem->name;
             $item_line['attribute:item_amount'] = $orderItem->getAmount();
             //					$item_line['attribute:options'] = $orderItem->getOptions();
             //						print_r($order_item->options);
             $items[] = def_module::parseTemplate($tpl_order_item, $item_line, false, $iOrderItemId);
             umiObjectsCollection::getInstance()->unloadObject($iOrderItemId);
         }
         $item_arr['subnodes:order_items'] = $items;
         $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $order->id);
     }
     return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr));
 }