public function delObject($vaf31437ce61345f416579830a98c91e5)
 {
     $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("collectionDeleteObject");
     $v4119639092e62c55ea8be348e4d9260d->setParam("object_id", $vaf31437ce61345f416579830a98c91e5);
     $v4119639092e62c55ea8be348e4d9260d->setMode("before");
     $v4119639092e62c55ea8be348e4d9260d->call();
     if ($this->isExists($vaf31437ce61345f416579830a98c91e5)) {
         $this->disableCache();
         $vaf31437ce61345f416579830a98c91e5 = (int) $vaf31437ce61345f416579830a98c91e5;
         if (defined("SV_USER_ID")) {
             if ($vaf31437ce61345f416579830a98c91e5 == SV_USER_ID || $vaf31437ce61345f416579830a98c91e5 == SV_GROUP_ID || $vaf31437ce61345f416579830a98c91e5 == $this->getObjectIdByGUID('system-guest')) {
                 throw new coreException("You are not allowed to delete object #{$vaf31437ce61345f416579830a98c91e5}. Never. Don't even try.");
             }
         }
         $va8cfde6331bd59eb2ac96f8911c4b666 = $this->getObject($vaf31437ce61345f416579830a98c91e5);
         $va8cfde6331bd59eb2ac96f8911c4b666->commit();
         $vac5c74b64b4b8352ef2f181affb5ac2a = "DELETE FROM cms3_objects WHERE id = '{$vaf31437ce61345f416579830a98c91e5}' AND is_locked='0'";
         l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
         if ($v56bd7107802ebe56c6918992f0608ec6 = l_mysql_error()) {
             throw new coreException($v56bd7107802ebe56c6918992f0608ec6);
             return false;
         }
         if ($this->isLoaded($vaf31437ce61345f416579830a98c91e5)) {
             unset($this->objects[$vaf31437ce61345f416579830a98c91e5]);
         }
         cacheFrontend::getInstance()->del($vaf31437ce61345f416579830a98c91e5, "object");
         $v4119639092e62c55ea8be348e4d9260d->setMode("after");
         $v4119639092e62c55ea8be348e4d9260d->call();
         return true;
     } else {
         return false;
     }
 }
예제 #2
0
 public function send()
 {
     $this->sendHeaders();
     $buffer = $this->buffer;
     if ($this->sendEventEnable) {
         $eventPoint = new umiEventPoint('systemBufferSend');
         $eventPoint->setMode('before');
         $eventPoint->addRef('buffer', $buffer);
         $eventPoint->call();
     }
     echo $buffer;
     $this->clear();
 }
 public function __wakeup()
 {
     if ($this->dbValue) {
         $v78a5eb43deef9a7b5b9ce157b9d52ac4 = $this->dbValue;
         if ($v3766293ae0857925595a6f0bf40531a8 = cmsController::getInstance()->getModule("eshop")) {
             $v78a5eb43deef9a7b5b9ce157b9d52ac4 = $v3766293ae0857925595a6f0bf40531a8->calculateDiscount($this->object_id, $v78a5eb43deef9a7b5b9ce157b9d52ac4);
         }
         $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("umiObjectProperty_loadPriceValue");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_id", $this->object_id);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("price", $v78a5eb43deef9a7b5b9ce157b9d52ac4);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->call();
         $v2063c1608d6e0baf80249c42e2be5804 = array($v78a5eb43deef9a7b5b9ce157b9d52ac4);
         $this->value = $v2063c1608d6e0baf80249c42e2be5804;
     }
 }
예제 #4
0
 public function onSubscribeChanges(umiEventPoint $e)
 {
     static $is_called;
     if ($is_called === true) {
         return true;
     }
     $mode = (bool) getRequest('subscribe_changes');
     $users_module = cmsController::getInstance()->getModule("users");
     if ($user_id = $users_module->user_id) {
         $user = umiObjectsCollection::getInstance()->getObject($user_id);
         if ($user instanceof umiObject) {
             $topic_id = $e->getParam("topic_id");
             $subscribed_pages = $user->getValue("subscribed_pages");
             if ($mode) {
                 $topic = umiHierarchy::getInstance()->getElement($topic_id);
                 if ($topic instanceof umiHierarchyElement) {
                     if (!in_array($topic, $subscribed_pages)) {
                         $subscribed_pages[] = $topic_id;
                     }
                 }
             } else {
                 $tmp = array();
                 if (!is_array($subscribed_pages)) {
                     $subscribed_pages = array();
                 }
                 foreach ($subscribed_pages as $page) {
                     if ($page->getId() != $topic_id) {
                         $tmp[] = $page;
                     }
                 }
                 $subscribed_pages = $tmp;
                 unset($tmp);
             }
             $user->setValue("subscribed_pages", $subscribed_pages);
             $user->commit();
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
예제 #5
0
 public function edit()
 {
     // Указываем, что в первом параметре мы ожидаем id страницы
     // Если все хорошо, то нам вернется umiHierarchyElement, если нет,
     // то будет выброшен соответствующий exception
     $element = $this->expectElement("param0");
     $mode = (string) getRequest('param1');
     $this->setHeaderLabel("header-forum-edit-" . $this->getObjectTypeMethod($element->getObject()));
     $inputData = array("element" => $element, "allowed-element-types" => array('conf', 'topic', 'message'));
     if ($mode == "do") {
         $this->saveEditedElementData($inputData);
         $event = new umiEventPoint("systemSwitchElementActivity");
         $event->addRef("element", $element);
         $event->setMode("after");
         $event->call();
         $this->chooseRedirect();
     }
     // Вывод данных
     return $this->makeAdminOutputForm("modify", "page", $inputData);
 }
예제 #6
0
 public function tryPreAuth()
 {
     $v870fd5468174f846789cb0d56d95bed7 = "";
     $v61b14997da4f52f41ee7b0d90f09e670 = "";
     $ve218c54eefdbe103350435489a6595cb = "";
     $v2b2dccfdbf6e767de8512d66da6d18ca = 'u-login';
     $vad1ffbcb1d643a30a5f6cc9950526e81 = 'u-password';
     $ve57492e1c3bb8975edf9399351741cf8 = 'u-password-md5';
     $v0a7cb1c6ec211bc445c36725ebfb7bab = 'u-session-id';
     $v50b6116b0f49a6cb34e310d17da0ccc4 = ini_get("session.name");
     if ($v870fd5468174f846789cb0d56d95bed7 = getCookie($v2b2dccfdbf6e767de8512d66da6d18ca)) {
         if ($v61b14997da4f52f41ee7b0d90f09e670 = getCookie($vad1ffbcb1d643a30a5f6cc9950526e81)) {
             $v61b14997da4f52f41ee7b0d90f09e670 = md5($v61b14997da4f52f41ee7b0d90f09e670);
         } else {
             $v61b14997da4f52f41ee7b0d90f09e670 = getCookie($ve57492e1c3bb8975edf9399351741cf8);
         }
     }
     if (function_exists('apache_request_headers')) {
         $v47722c9511693b9a32d48982e48a7b9b = apache_request_headers();
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
             $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$v2b2dccfdbf6e767de8512d66da6d18ca]));
         }
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$ve57492e1c3bb8975edf9399351741cf8])) {
             $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$ve57492e1c3bb8975edf9399351741cf8]));
         } elseif (isset($v47722c9511693b9a32d48982e48a7b9b[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
             $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$vad1ffbcb1d643a30a5f6cc9950526e81])));
         }
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
             $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
         }
     }
     if (isset($_POST[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
         $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$v2b2dccfdbf6e767de8512d66da6d18ca]));
     }
     if (isset($_POST[$ve57492e1c3bb8975edf9399351741cf8])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$ve57492e1c3bb8975edf9399351741cf8]));
     } elseif (isset($_POST[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$vad1ffbcb1d643a30a5f6cc9950526e81])));
     }
     if (isset($_POST[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
         $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
     }
     if (isset($_GET[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
         $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$v2b2dccfdbf6e767de8512d66da6d18ca]));
     }
     if (isset($_GET[$ve57492e1c3bb8975edf9399351741cf8])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$ve57492e1c3bb8975edf9399351741cf8]));
     } elseif (isset($_GET[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$vad1ffbcb1d643a30a5f6cc9950526e81])));
     }
     if (isset($_GET[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
         $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
     }
     if (strlen($v870fd5468174f846789cb0d56d95bed7) && strlen($v61b14997da4f52f41ee7b0d90f09e670)) {
         $vf5b788937450a693e6cbec05d8b8b13f = umiObjectTypesCollection::getInstance()->getBaseType("users", "user");
         $v8636cb7e3d45cd4e1e8e863d3286393e = umiObjectTypesCollection::getInstance()->getType($vf5b788937450a693e6cbec05d8b8b13f);
         $v8f671407d6df210b2670166a82e0fc1a = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("login");
         $v98fc9fb0068cf0cdca3ce2e0cb0843d6 = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("password");
         $v713d1619aba4eeb6679aec2b499e1b33 = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("is_activated");
         $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection();
         $v8be74552df93e31bbdd6b36ed74bdb6a->setLimitFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addLimit(1);
         $v8be74552df93e31bbdd6b36ed74bdb6a->setObjectTypeFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($vf5b788937450a693e6cbec05d8b8b13f);
         $v8be74552df93e31bbdd6b36ed74bdb6a->setPropertyFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v8f671407d6df210b2670166a82e0fc1a, $v870fd5468174f846789cb0d56d95bed7);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v98fc9fb0068cf0cdca3ce2e0cb0843d6, $v61b14997da4f52f41ee7b0d90f09e670);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v713d1619aba4eeb6679aec2b499e1b33, 1);
         $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a);
         if (sizeof($result) === 1) {
             $vbc8a7343779d62b3f0dc86f78848bde1 = intval($result[0]);
             if (!session_id()) {
                 session_start();
             }
             $vc87c62534434262e1d1c1348215684ef = session_id();
             system_runSession();
             if (strlen($vc87c62534434262e1d1c1348215684ef) && isset($_SESSION) && isset($_SESSION['cms_login']) && isset($_SESSION['cms_pass']) && isset($_SESSION['user_id']) && $_SESSION['cms_login'] === $v870fd5468174f846789cb0d56d95bed7 && $_SESSION['cms_pass'] === $v61b14997da4f52f41ee7b0d90f09e670 && $_SESSION['user_id'] === $vbc8a7343779d62b3f0dc86f78848bde1) {
                 $_SESSION['starttime'] = time();
                 return self::PREAUTH_ALREADY;
             }
             if (strlen($ve218c54eefdbe103350435489a6595cb)) {
                 if (strlen($vc87c62534434262e1d1c1348215684ef)) {
                     session_destroy();
                 }
                 session_id($ve218c54eefdbe103350435489a6595cb);
                 session_start();
                 $_SESSION['starttime'] = time();
                 if (!(isset($_SESSION['cms_login']) && isset($_SESSION['cms_pass']) && isset($_SESSION['user_id']) && $_SESSION['cms_login'] === $v870fd5468174f846789cb0d56d95bed7 && $_SESSION['cms_pass'] === $v61b14997da4f52f41ee7b0d90f09e670 && $_SESSION['user_id'] === $vbc8a7343779d62b3f0dc86f78848bde1)) {
                     session_destroy();
                 } else {
                     $vd69634a59b2cc5df7d632e48474afc94 = new umiEventPoint("users_prelogin_successfull");
                     $vd69634a59b2cc5df7d632e48474afc94->setParam("prelogin_mode", self::PREAUTH_SUCCESS_RESTORE);
                     $vd69634a59b2cc5df7d632e48474afc94->setParam("user_id", $vbc8a7343779d62b3f0dc86f78848bde1);
                     umiEventsController::getInstance()->callEvent($vd69634a59b2cc5df7d632e48474afc94);
                     return self::PREAUTH_SUCCESS_RESTORE;
                 }
             } else {
                 @session_start();
                 $_SESSION['cms_login'] = $v870fd5468174f846789cb0d56d95bed7;
                 $_SESSION['cms_pass'] = $v61b14997da4f52f41ee7b0d90f09e670;
                 $_SESSION['user_id'] = $vbc8a7343779d62b3f0dc86f78848bde1;
                 $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance();
                 if ($v41275a535677f79ff347e01bc530c176->isSv($vbc8a7343779d62b3f0dc86f78848bde1)) {
                     $_SESSION['user_is_sv'] = true;
                 }
                 session_commit();
                 session_start();
                 $_SESSION['starttime'] = time();
                 $vd69634a59b2cc5df7d632e48474afc94 = new umiEventPoint("users_prelogin_successfull");
                 $vd69634a59b2cc5df7d632e48474afc94->setParam("prelogin_mode", self::PREAUTH_SUCCESS_NEW);
                 $vd69634a59b2cc5df7d632e48474afc94->setParam("user_id", $vbc8a7343779d62b3f0dc86f78848bde1);
                 umiEventsController::getInstance()->callEvent($vd69634a59b2cc5df7d632e48474afc94);
                 if (isset($_REQUEST['u-login-store']) && (intval($_REQUEST['u-login-store']) || strtoupper($_REQUEST['u-login-store']) === 'ON')) {
                     setcookie($v2b2dccfdbf6e767de8512d66da6d18ca, $v870fd5468174f846789cb0d56d95bed7, time() + 60 * 60 * 24 * 31, "/");
                     setcookie($ve57492e1c3bb8975edf9399351741cf8, $v61b14997da4f52f41ee7b0d90f09e670, time() + 60 * 60 * 24 * 31, "/");
                 }
                 return self::PREAUTH_SUCCESS_NEW;
             }
         }
     }
     return self::PREAUTH_INVALID;
 }
 public function send_ajax()
 {
     // Check captcha to know we should do anything
     if (isset($_REQUEST['captcha'])) {
         $_SESSION['user_captcha'] = md5((int) $_REQUEST['captcha']);
     }
     if (!umiCaptcha::checkCaptcha()) {
         return $this->errorNewMessageCustom("%errors_wrong_captcha%", array('captcha'));
     }
     //-------------------------------------------------------------------
     // Get necessary data
     $oTypes = umiObjectTypesCollection::getInstance();
     $iBaseTypeId = $oTypes->getBaseType("webforms", "form");
     $iFormTypeId = getRequest('system_form_id');
     $sSenderIP = getServer('REMOTE_ADDR');
     $iTime = new umiDate(time());
     $aAddresses = getRequest('system_email_to');
     if (!is_array($aAddresses)) {
         $aAddresses = array($aAddresses);
     }
     $aRecipients = array();
     foreach ($aAddresses as $address) {
         if ($address) {
             $sEmailTo = $this->guessAddressValue($address);
             $sAddress = $this->guessAddressName($address);
             $aRecipients[] = array('email' => $sEmailTo, 'name' => $sAddress);
         }
     }
     if (!$oTypes->isExists($iFormTypeId) || $oTypes->getParentClassId($iFormTypeId) != $iBaseTypeId) {
         return $this->errorNewMessageCustom("%wrong_form_type%");
     }
     //
     if (($ef = $this->checkRequiredFieldsCustom($iFormTypeId)) !== true) {
         return $this->errorNewMessageCustom(getLabel('error-required_list') . $this->assembleErrorFields($ef), $this->assembleErrorFieldsArray($ef));
     }
     //-------------------------------------------------------------------
     // Saving message and preparing it for sending
     $_REQUEST['data']['new']['sender_ip'] = $sSenderIP;
     // Hack for saving files-only-forms
     $oObjectsCollection = umiObjectsCollection::getInstance();
     $iObjectId = $oObjectsCollection->addObject($sAddress, $iFormTypeId);
     $oObjectsCollection->getObject($iObjectId)->setOwnerId(permissionsCollection::getInstance()->getUserId());
     cmsController::getInstance()->getModule('data')->saveEditedObject($iObjectId, true);
     $oObject = $oObjectsCollection->getObject($iObjectId);
     $oObject->setValue('destination_address', $sEmailTo);
     $oObject->setValue('sender_ip', $sSenderIP);
     $oObject->setValue('sending_time', $iTime);
     $aMessage = $this->formatMessage($iObjectId, true);
     //--------------------------------------------------------------------
     // Make an e-mail
     $oMail = new umiMail();
     //--------------------------------------------------------------------
     // Determine file fields
     $aFTypes = array('file', 'img_file', 'swf_file');
     $aFields = $oTypes->getType($oObject->getTypeId())->getAllFields();
     foreach ($aFields as $oField) {
         $oType = $oField->getFieldType();
         if (in_array($oType->getDataType(), $aFTypes)) {
             $oFile = $oObject->getValue($oField->getName());
             if ($oFile instanceof umiFile) {
                 $oMail->attachFile($oFile);
             }
             /*else {
             			return $this->errorNewMessageCustom("%errors_wrong_file_type%");
             		}*/
         }
     }
     $recpCount = 0;
     foreach ($aRecipients as $recipient) {
         foreach (explode(',', $recipient['email']) as $sAddress) {
             if (strlen(trim($sAddress))) {
                 $oMail->addRecipient(trim($sAddress), $recipient['name']);
                 $recpCount++;
             }
         }
     }
     if (!$recpCount) {
         return $this->errorNewMessageCustom(getLabel('error-no_recipients'));
     }
     $oMail->setFrom($aMessage['from_email_template'], $aMessage['from_template']);
     $oMail->setSubject($aMessage['subject_template']);
     $oMail->setContent($aMessage['master_template']);
     $oMail->commit();
     $oMail->send();
     //--------------------------------------------------------------------
     // Send autoreply if should
     if (strlen($aMessage['autoreply_template'])) {
         $oMailReply = new umiMail();
         $oMailReply->addRecipient($aMessage['from_email_template'], $aMessage['from_template']);
         $oMailReply->setFrom($aMessage['autoreply_from_email_template'], $aMessage['autoreply_from_template']);
         $oMailReply->setSubject($aMessage['autoreply_subject_template']);
         $oMailReply->setContent($aMessage['autoreply_template']);
         $oMailReply->commit();
         $oMailReply->send();
     }
     //--------------------------------------------------------------------
     // Process events
     $oEventPoint = new umiEventPoint("webforms_post");
     $oEventPoint->setMode("after");
     $oEventPoint->setParam("email", $aMessage['from_email_template']);
     $oEventPoint->setParam("message_id", $iObjectId);
     $oEventPoint->setParam("form_id", $iFormTypeId);
     $oEventPoint->setParam("fio", $aMessage['from_template']);
     $this->setEventPoint($oEventPoint);
     //--------------------------------------------------------------------
     return array('plain:result' => json_encode(array('success' => $this->posted($iFormTypeId))));
 }
예제 #8
0
 public function frontendPanel()
 {
     $permissions = permissionsCollection::getInstance();
     $cmsController = cmsController::getInstance();
     $maxRecentPages = 5;
     $this->flushAsXml('frontendPanel');
     $modules = array();
     $modulesSortedPriorityList = $this->getSortedModulesList();
     foreach ($modulesSortedPriorityList as $moduleInfo) {
         $modules[] = array('attribute:label' => $moduleInfo['label'], 'attribute:type' => $moduleInfo['type'], 'node:name' => $moduleInfo['name']);
     }
     $hierarchy = umiHierarchy::getInstance();
     $key = md5(getServer('HTTP_REFERER'));
     $currentIds = is_array(getSession($key)) ? getSession($key) : array();
     foreach ($currentIds as $i => $id) {
         $currentIds[$i] = $id[2];
     }
     $currentIds = array_unique($currentIds);
     $current = array();
     foreach ($currentIds as $id) {
         $current[] = $hierarchy->getElement($id);
     }
     $recent = new selector('pages');
     $recent->where('is_deleted')->equals(0);
     $recent->where('is_active')->equals(1);
     $recent->where('lang')->equals(langsCollection::getInstance()->getList());
     $recent->order('updatetime')->desc();
     $recent->limit(0, $maxRecentPages);
     if (sizeof($currentIds) && $permissions->isAllowedModule($permissions->getUserId(), 'backup')) {
         $backup = $cmsController->getModule('backup');
         $changelog = $backup->backup_panel($currentIds[0]);
     } else {
         $changelog = null;
     }
     $user = selector::get('object')->id($permissions->getUserId());
     $referer = getRequest('referer') ? getRequest('referer') : getServer('HTTP_REFERER');
     $tickets = new selector('objects');
     $tickets->types('object-type')->name('content', 'ticket');
     $tickets->where('url')->equals($referer);
     $tickets->limit(0, 100);
     $ticketsResult = array();
     foreach ($tickets as $ticket) {
         $user = selector::get('object')->id($ticket->user_id);
         if (!$user) {
             continue;
         }
         $ticketsResult[] = array('attribute:id' => $ticket->id, 'author' => array('attribute:fname' => $user->fname, 'attribute:lname' => $user->lname, 'attribute:login' => $user->login), 'position' => array('attribute:x' => $ticket->x, 'attribute:y' => $ticket->y, 'attribute:width' => $ticket->width, 'attribute:height' => $ticket->height), 'message' => $ticket->message);
     }
     $result = array('user' => array('attribute:id' => $user->id, 'attribute:fname' => $user->fname, 'attribute:lname' => $user->lname, 'attribute:login' => $user->login), 'tickets' => array('nodes:ticket' => $ticketsResult), 'modules' => array('nodes:module' => $modules), 'documents' => array('editable' => array('nodes:page' => $current), 'recent' => array('nodes:page' => $recent->result())));
     if (!$permissions->isAllowedMethod($permissions->getUserId(), 'content', 'tickets')) {
         unset($result['tickets']);
     }
     if ($changelog && sizeof($changelog['nodes:revision'])) {
         $result['changelog'] = $changelog;
     }
     $event = new umiEventPoint('eipFrontendPanelGet');
     $event->setParam("id", getArrayKey($currentIds, 0));
     $event->addRef("result", $result);
     $event->setMode('after');
     $event->call();
     return $result;
 }
예제 #9
0
 public function onModifyPageWatchRedirects(umiEventPoint $e)
 {
     static $links = array();
     $redirects = redirects::getInstance();
     $hierarchy = umiHierarchy::getInstance();
     $element = $e->getRef('element');
     if ($element instanceof umiHierarchyElement == false) {
         return false;
     }
     $elementId = $element->getId();
     $link = $hierarchy->getPathById($elementId, false, false, true);
     if ($e->getMode() == 'before') {
         $links[$elementId] = $link;
         return true;
     }
     if ($links[$elementId] != $link) {
         $redirects->add($links[$elementId], $link, 301);
     }
 }
예제 #10
0
 /**
  * @desc Выводит форму для добавления комментария и выполняет все действия по сохранению
  * @param int $postId Идентификатор публикации или комментария
  * @param string $template имя файла шаблона
  * @return string|array
  */
 public function commentAdd($postId = false, $template = 'default')
 {
     $bNeedFinalPanic = false;
     if (!($oUsersModule = cmsController::getInstance()->getModule("users"))) {
         throw new publicException("Can't find users module");
     }
     if (!($oUsersModule->is_auth() || regedit::getInstance()->getVal("//modules/blogs20/allow_guest_comments"))) {
         return;
     }
     if ($postId === false) {
         $iTmp = getRequest('param0');
         if ($iTmp) {
             $postId = $iTmp;
         } else {
             $postId = cmsController::getInstance()->getCurrentElementId();
         }
     }
     $postId = (int) $postId;
     $oHierarchy = umiHierarchy::getInstance();
     $oHTypesCollection = umiHierarchyTypesCollection::getInstance();
     if (!($oPost = $oHierarchy->getElement($postId))) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $postId));
     }
     if ($oPost->getTypeId() != $oHTypesCollection->getTypeByName("blogs20", "post")->getId() && $oPost->getTypeId() != $oHTypesCollection->getTypeByName("blogs20", "comment")->getId()) {
         throw new publicException("The id(#{$postId}) given is not an id of the blog's post");
     }
     $sTitle = ($tmp = getRequest('title')) ? $tmp : 'Re: ' . $oPost->getName();
     $sContent = htmlspecialchars(trim(getRequest('content')));
     if ($postId !== false && strlen($sContent) > 0) {
         if (!umiCaptcha::checkCaptcha()) {
             $this->errorNewMessage("%errors_wrong_captcha%");
             $this->errorPanic();
         }
         $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("blogs20", "comment")->getId();
         $iCommentId = $oHierarchy->addElement($postId, $hierarchy_type_id, $sTitle, $sTitle);
         permissionsCollection::getInstance()->setDefaultPermissions($iCommentId);
         if ($oUsersModule->is_auth()) {
             $userId = $oUsersModule->user_id;
             $authorId = $oUsersModule->createAuthorUser($userId);
             $oActivity = antiSpamHelper::checkContent($sContent . $sTitle);
         } else {
             $nick = getRequest('nick');
             $email = getRequest('email');
             $ip = getServer('REMOTE_ADDR');
             $authorId = $oUsersModule->createAuthorGuest($nick, $email, $ip);
             $oActivity = antiSpamHelper::checkContent($sContent . $sTitle . $nick . $email);
         }
         $oComment = $oHierarchy->getElement($iCommentId, true);
         $is_active = $this->moderate ? 0 : 1;
         if ($is_active) {
             $is_active = $oActivity;
         }
         if (!$is_active) {
             $this->errorNewMessage('%comments_posted_moderating%', false);
             $bNeedFinalPanic = true;
         }
         $oComment->setIsActive($is_active);
         $oComment->setValue('title', $sTitle);
         $oComment->setValue('content', $sContent);
         $oComment->setValue('author_id', $authorId);
         $oComment->setValue('publish_time', new umiDate());
         $oComment->commit();
         // Raise Event
         $oEventPoint = new umiEventPoint("blogs20CommentAdded");
         $oEventPoint->setMode("after");
         $oEventPoint->setParam("id", $iCommentId);
         $oEventPoint->setParam('template', $template);
         $this->setEventPoint($oEventPoint);
         // Redirecting
         if ($bNeedFinalPanic) {
             $this->errorPanic();
         } else {
             $sRefererUri = getServer('HTTP_REFERER');
             if (strlen($sRefererUri)) {
                 $this->redirect($sRefererUri . '#comment_' . $iCommentId);
             }
             return null;
         }
     } else {
         if (!strlen($sContent) && !is_null(getRequest('content'))) {
             $this->errorNewMessage("%errors_missed_field_value%");
             $this->errorPanic();
         }
     }
     $sTplName = $oUsersModule->is_auth() ? 'comment_add_form' : 'comment_add_form_guest';
     list($sFormTemplate) = self::loadTemplates('blogs20/' . $template, $sTplName);
     return self::parseTemplate($sFormTemplate, array('parent_id' => $postId));
 }
예제 #11
0
 public function message()
 {
     $iObjectId = (int) getRequest('param0');
     $oCollection = umiObjectsCollection::getInstance();
     if (!$oCollection->isExists($iObjectId)) {
         throw new publicAdminException('The object does not exist');
     }
     $oMessage = umiObjectsCollection::getInstance()->getObject($iObjectId);
     $this->validateEntityByTypes($oMessage, array('module' => 'webforms'), true);
     $eventPoint = new umiEventPoint("sysytemBeginObjectEdit");
     $eventPoint->setMode("before");
     $eventPoint->addRef("object", $oCollection->getObject($iObjectId));
     $eventPoint->call();
     $sMessage = $this->formatMessage($iObjectId);
     $sAddress = $oMessage->getName();
     $sForm = umiObjectTypesCollection::getInstance()->getType($oMessage->getTypeId())->getName();
     $sIP = $oMessage->getValue('sender_ip');
     /**
      * @var umiDate
      */
     $oDate = $oMessage->getValue('sending_time');
     $this->setDataType("settings");
     $this->setActionType("view");
     $data = $this->prepareData(array('Message' => array('string:message' => $sMessage, 'string:address' => $sAddress, 'string:form' => $sForm, 'string:date' => $oDate instanceof umiDate ? $oDate->getFormattedDate() : "", 'string:ip' => $sIP, 'int:id' => $iObjectId)), "settings");
     $this->setData($data);
     return $this->doData();
 }
예제 #12
0
 /**
  * Пересчитать параметры наименования и обновить свойства наименования в БД
  */
 public function refresh()
 {
     $element = $this->getItemElement();
     if (!$element) {
         return false;
     }
     $eventPoint = new umiEventPoint("orderItem_refresh");
     $eventPoint->setMode('before');
     $eventPoint->addRef("orderItem", $this);
     $eventPoint->call();
     $discount = itemDiscount::search($element);
     $this->setDiscount($discount);
     $totalOriginalPrice = $this->getItemPrice() * $this->amount;
     if ($discount instanceof itemDiscount) {
         $totalActualPrice = $discount->recalcPrice($totalOriginalPrice);
     } else {
         $totalActualPrice = $totalOriginalPrice;
     }
     $eventPoint->setMode('after');
     $eventPoint->setParam("totalOriginalPrice", $totalOriginalPrice);
     $eventPoint->addRef("totalActualPrice", $totalActualPrice);
     $eventPoint->call();
     $this->totalOriginalPrice = $totalOriginalPrice;
     $this->totalActualPrice = $totalActualPrice;
     $this->commit();
     return true;
 }
예제 #13
0
 public function message_post_do()
 {
     if ($users_inst = cmsController::getInstance()->getModule("users")) {
         if (!$users_inst->is_auth()) {
             if (!regedit::getInstance()->getVal("//modules/forum/allow_guest")) {
                 return "%forum_not_allowed_post%";
             }
         }
     }
     $title = getRequest('title');
     $body = getRequest('body');
     $title = htmlspecialchars($title);
     $body = htmlspecialchars($body);
     $nickname = htmlspecialchars(getRequest('nickname'));
     $email = htmlspecialchars(getRequest('email'));
     $ip = getServer('REMOTE_ADDR');
     $publish_time = new umiDate(time());
     $parent_id = (int) getRequest('param0');
     $parent_element = umiHierarchy::getInstance()->getElement($parent_id, true);
     if (!strlen(trim($title)) && $parent_element instanceof umiHierarchyElement) {
         $title = "Re: " . $parent_element->getName();
     }
     // check captcha
     $referer_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/';
     if (isset($_REQUEST['captcha'])) {
         $_SESSION['user_captcha'] = md5((int) getRequest('captcha'));
     }
     if (!umiCaptcha::checkCaptcha() || !$parent_element) {
         $this->errorNewMessage('%errors_wrong_captcha%', false);
         $this->errorPanic();
     }
     if (!strlen(trim($body))) {
         $this->errorNewMessage('%error_message_empty%', false);
         $this->errorPanic();
     }
     $lang_id = cmsController::getInstance()->getCurrentLang()->getId();
     $domain_id = cmsController::getInstance()->getCurrentDomain()->getId();
     $tpl_id = $parent_element->getTplId();
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("forum", "message")->getId();
     $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("forum", "message");
     $is_supervisor = false;
     if ($users_inst = cmsController::getInstance()->getModule("users")) {
         if ($users_inst->is_auth()) {
             $user_id = $users_inst->user_id;
             $author_id = $users_inst->createAuthorUser($user_id);
             $is_supervisor = $users_inst->isSv($user_id);
         } else {
             $author_id = $users_inst->createAuthorGuest($nickname, $email, $ip);
         }
         $author = umiObjectsCollection::getInstance()->getObject($author_id);
         $author->commit();
     }
     $element_id = umiHierarchy::getInstance()->addElement($parent_id, $hierarchy_type_id, $title, $title, $object_type_id, $domain_id, $lang_id, $tpl_id);
     permissionsCollection::getInstance()->setDefaultPermissions($element_id);
     $element = umiHierarchy::getInstance()->getElement($element_id, true);
     $element->setIsVisible(false);
     $bNeedModerate = !$is_supervisor && regedit::getInstance()->getVal("//modules/forum/need_moder");
     if (!$bNeedModerate) {
         $bNeedModerate = !antiSpamHelper::checkContent($body . $title . $nickname . $email);
     }
     $element->setIsActive(!$bNeedModerate);
     $element->setAltName($title);
     $element->getObject()->setName($title);
     $element->setValue("meta_descriptions", "");
     $element->setValue("meta_keywords", "");
     $element->setValue("h1", $title);
     $element->setValue("title", $title);
     $element->setValue("is_expanded", false);
     $element->setValue("show_submenu", false);
     $element->setValue("message", $body);
     $element->setValue("author_id", $author_id);
     $element->setValue("publish_time", $publish_time);
     if ($headers = umiFile::upload("pics", "headers", "./images/cms/headers/")) {
         $element->setValue("header_pic", $headers);
     }
     $object_id = $element->getObject()->getId();
     $data_module = cmsController::getInstance()->getModule('data');
     $data_module->saveEditedObject($object_id, true);
     $element->commit();
     if (!defined("DISABLE_SEARCH_REINDEX")) {
         define("DISABLE_SEARCH_REINDEX", 1);
     }
     if ($parent_id) {
         $parentElement = umiHierarchy::getInstance()->getElement($element->getRel());
         if ($parentElement instanceof umiHierarchyElement) {
             $parentElement->setValue("last_message", $element_id);
             $parentElement->setValue("last_post_time", time());
             $parentElement->commit();
         }
         $parentElement = umiHierarchy::getInstance()->getElement($parentElement->getRel());
         if ($parentElement instanceof umiHierarchyElement) {
             $parentElement->setValue("last_message", $element_id);
             $parentElement->commit();
         }
     }
     if (!$bNeedModerate) {
         $this->recalcCounts($element);
     }
     $oEventPoint = new umiEventPoint("forum_message_post_do");
     $oEventPoint->setMode("after");
     $oEventPoint->setParam("topic_id", $parent_id);
     $oEventPoint->setParam("message_id", $element_id);
     $this->setEventPoint($oEventPoint);
     $path = $bNeedModerate ? $referer_url : $this->getMessageLink($element_id);
     $this->redirect($path);
 }
예제 #14
0
 protected function importElement($vfc07ae6b81515e9c73cb36ac08488ca1)
 {
     $this->importedElements += 1;
     $v2114c8075d855b3cea53d5d880c68948 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_id'];
     $v75cacdb2219ff0da09cc2f909ea64759 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_object_id'];
     $v777ccf80e4e83a9e7cdddd6ebc1edff7 = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v2114c8075d855b3cea53d5d880c68948);
     $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element_id", $v777ccf80e4e83a9e7cdddd6ebc1edff7);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("props", $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props']);
     umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     $v28b2e67839ab215dcac5f868963f2bcb = $vfc07ae6b81515e9c73cb36ac08488ca1['old_parent_id'];
     $this->importedElementsArr[] = $v2114c8075d855b3cea53d5d880c68948;
     $v10b04069381b2fef4e0a41e0ea65b914 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_name'];
     $v9c668e7b8b95154aabe003bcfd8e15df = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_alt_name'];
     $v2741adf691b2acf0359a6a73234bc605 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_type_id'];
     $v53f070b923b86cc3c1b95e9950674c7c = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_active'];
     $v712546bad453a4d99cb79be316f6e64b = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_visible'];
     $v25f5c3dfce7a3048a8e9f70bad15bdd3 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_deleted'];
     if ($v9c668e7b8b95154aabe003bcfd8e15df) {
         $vd84ff935144e00c3e1d395c2379aca47 = $v9c668e7b8b95154aabe003bcfd8e15df;
     } else {
         $vd84ff935144e00c3e1d395c2379aca47 = $v10b04069381b2fef4e0a41e0ea65b914;
     }
     $vd84ff935144e00c3e1d395c2379aca47 = translit::convert($vd84ff935144e00c3e1d395c2379aca47);
     if ($v25f5c3dfce7a3048a8e9f70bad15bdd3 !== NULL) {
         if ($v25f5c3dfce7a3048a8e9f70bad15bdd3) {
             umiHierarchy::getInstance()->delElement($v777ccf80e4e83a9e7cdddd6ebc1edff7);
             $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been deleted";
             $this->deletedElements++;
             return true;
         }
     }
     if ($v28b2e67839ab215dcac5f868963f2bcb === "0") {
         $v0a4066771994dd2315e8a742e4de72fc = $v28b2e67839ab215dcac5f868963f2bcb;
     } else {
         $v0a4066771994dd2315e8a742e4de72fc = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v28b2e67839ab215dcac5f868963f2bcb);
     }
     if ($v0a4066771994dd2315e8a742e4de72fc === false) {
         $v0a4066771994dd2315e8a742e4de72fc = $this->destination_element_id;
     }
     $v3252048a9dc6701c34b83c15c5be40f7 = false;
     if ($v777ccf80e4e83a9e7cdddd6ebc1edff7 === false && $v0a4066771994dd2315e8a742e4de72fc !== false) {
         $v555b8759c62b778531f7d10a1cfc1252 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_domain_id'];
         $ve795657a63adabb22cdc79a959474fdd = $vfc07ae6b81515e9c73cb36ac08488ca1['new_lang_id'];
         $v5b4c55fc70f920b984055561aff116b3 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_hierarchy_type_id'];
         $ve274c3c0bb91d6582078fbbce8f388f6 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_tpl_id'];
         $v69203671ddb68b3848f87700fe06de55 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_type_id'];
         $v616300e8f201203152145e6776ad27d1 = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v28b2e67839ab215dcac5f868963f2bcb);
         $v777ccf80e4e83a9e7cdddd6ebc1edff7 = umiHierarchy::getInstance()->addElement($v0a4066771994dd2315e8a742e4de72fc, $v5b4c55fc70f920b984055561aff116b3, $v10b04069381b2fef4e0a41e0ea65b914, $vd84ff935144e00c3e1d395c2379aca47, $v69203671ddb68b3848f87700fe06de55, $v555b8759c62b778531f7d10a1cfc1252, $ve795657a63adabb22cdc79a959474fdd, $ve274c3c0bb91d6582078fbbce8f388f6);
         umiImportRelations::getInstance()->setIdRelation($this->source_id, $v2114c8075d855b3cea53d5d880c68948, $v777ccf80e4e83a9e7cdddd6ebc1edff7);
         if ($v777ccf80e4e83a9e7cdddd6ebc1edff7) {
             $v3252048a9dc6701c34b83c15c5be40f7 = true;
         }
     }
     permissionsCollection::getInstance()->setDefaultPermissions($v777ccf80e4e83a9e7cdddd6ebc1edff7);
     $v691b2ea4f2db17699a29da0c302a91ea = umiHierarchy::getInstance()->getElement($v777ccf80e4e83a9e7cdddd6ebc1edff7, true, true);
     if (!$v691b2ea4f2db17699a29da0c302a91ea instanceof umiHierarchyElement) {
         $this->importLog[] = "Can't create element \"{$v10b04069381b2fef4e0a41e0ea65b914}\" ({$v2114c8075d855b3cea53d5d880c68948})";
         $this->importErrors++;
         return false;
     }
     $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("process");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element", $v691b2ea4f2db17699a29da0c302a91ea);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("props", $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props']);
     umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     if ($v53f070b923b86cc3c1b95e9950674c7c !== NULL) {
         $v691b2ea4f2db17699a29da0c302a91ea->setIsActive($v53f070b923b86cc3c1b95e9950674c7c);
     }
     if ($v712546bad453a4d99cb79be316f6e64b !== NULL) {
         $v691b2ea4f2db17699a29da0c302a91ea->setIsVisible($v712546bad453a4d99cb79be316f6e64b);
     }
     if ($vd84ff935144e00c3e1d395c2379aca47) {
         $v691b2ea4f2db17699a29da0c302a91ea->setAltName($vd84ff935144e00c3e1d395c2379aca47);
     }
     if ($v10b04069381b2fef4e0a41e0ea65b914) {
         $v691b2ea4f2db17699a29da0c302a91ea->setName($v10b04069381b2fef4e0a41e0ea65b914);
     }
     $v82e85d12802becdae851373fcc70c4ff = array();
     $v50fe03ab7bf37089a7e88da9b31ffb3b = $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props'];
     foreach ($v50fe03ab7bf37089a7e88da9b31ffb3b as $vdfc394bd05a4b48161c790034af522a8 => $v410e0a26c217dfabf8a5653e8f9e68ef) {
         $v2771be291c4a714ca95fd1f45a32403e = $v410e0a26c217dfabf8a5653e8f9e68ef['values'];
         $v519504d7d4beb745dac24ccfb6c1d7c9 = $v410e0a26c217dfabf8a5653e8f9e68ef['field_type'];
         if ($v519504d7d4beb745dac24ccfb6c1d7c9 == "img_file") {
             if (isset($v2771be291c4a714ca95fd1f45a32403e[0])) {
                 $v2771be291c4a714ca95fd1f45a32403e[0] = new umiImageFile($v2771be291c4a714ca95fd1f45a32403e[0]);
             }
         }
         $vdfc394bd05a4b48161c790034af522a8 = translit::convert($vdfc394bd05a4b48161c790034af522a8);
         if ($v691b2ea4f2db17699a29da0c302a91ea->getObject()->getPropByName($vdfc394bd05a4b48161c790034af522a8)) {
             if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'price' && strlen($v410e0a26c217dfabf8a5653e8f9e68ef['currency_code'])) {
                 $vfcaea7edd270964cc145ea48e4367d43 = cmsController::getInstance()->getModule('emarket');
                 if ($vfcaea7edd270964cc145ea48e4367d43) {
                     $v78a5eb43deef9a7b5b9ce157b9d52ac4 = isset($v2771be291c4a714ca95fd1f45a32403e[0]) ? floatval($v2771be291c4a714ca95fd1f45a32403e[0]) : 0;
                     $v1af0389838508d7016a9841eb6273962 = $vfcaea7edd270964cc145ea48e4367d43->getCurrency($v410e0a26c217dfabf8a5653e8f9e68ef['currency_code']);
                     if ($v1af0389838508d7016a9841eb6273962) {
                         $v30de5920b8dd5258394e19caa86bbe80 = $vfcaea7edd270964cc145ea48e4367d43->formatCurrencyPrice(array($v78a5eb43deef9a7b5b9ce157b9d52ac4), $vfcaea7edd270964cc145ea48e4367d43->getDefaultCurrency(), $v1af0389838508d7016a9841eb6273962);
                         $v2771be291c4a714ca95fd1f45a32403e = isset($v30de5920b8dd5258394e19caa86bbe80[0]) ? floatval($v30de5920b8dd5258394e19caa86bbe80[0]) : 0;
                     }
                 }
             }
             $v691b2ea4f2db17699a29da0c302a91ea->setValue($vdfc394bd05a4b48161c790034af522a8, $v2771be291c4a714ca95fd1f45a32403e);
         } else {
             $v82e85d12802becdae851373fcc70c4ff[] = $v410e0a26c217dfabf8a5653e8f9e68ef;
         }
     }
     $this->addMissedProps($v691b2ea4f2db17699a29da0c302a91ea, $v82e85d12802becdae851373fcc70c4ff, $v2741adf691b2acf0359a6a73234bc605);
     if (count($v82e85d12802becdae851373fcc70c4ff)) {
         $v691b2ea4f2db17699a29da0c302a91ea->getObject()->update();
     }
     foreach ($v82e85d12802becdae851373fcc70c4ff as $v410e0a26c217dfabf8a5653e8f9e68ef) {
         $v2771be291c4a714ca95fd1f45a32403e = $v410e0a26c217dfabf8a5653e8f9e68ef['values'];
         $v519504d7d4beb745dac24ccfb6c1d7c9 = $v410e0a26c217dfabf8a5653e8f9e68ef['field_type'];
         if ($v519504d7d4beb745dac24ccfb6c1d7c9 == "img_file") {
             if ($v2771be291c4a714ca95fd1f45a32403e[0]) {
                 $v2771be291c4a714ca95fd1f45a32403e[0] = new umiImageFile($v2771be291c4a714ca95fd1f45a32403e[0]);
             }
         }
         if (!$v410e0a26c217dfabf8a5653e8f9e68ef['name']) {
             $v410e0a26c217dfabf8a5653e8f9e68ef['name'] = translit::convert($v410e0a26c217dfabf8a5653e8f9e68ef['title']);
         }
         $v410e0a26c217dfabf8a5653e8f9e68ef['name'] = translit::convert($v410e0a26c217dfabf8a5653e8f9e68ef['name']);
         if (!$v691b2ea4f2db17699a29da0c302a91ea->setValue($v410e0a26c217dfabf8a5653e8f9e68ef['name'], $v2771be291c4a714ca95fd1f45a32403e)) {
             continue;
         }
     }
     $v691b2ea4f2db17699a29da0c302a91ea->commit();
     if ($v3252048a9dc6701c34b83c15c5be40f7) {
         $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been created";
         $this->createdElements++;
     } else {
         $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been updated";
         $this->updatedElements++;
     }
     $v5e949eb2c66f5d51b8a4d4185a693b3f = umiObjectProperty::$USE_FORCE_OBJECTS_CREATION;
     umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = false;
     $v9dfb9e2c355fe22768c93f6e0c33f1f9 = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "store");
     $v6f95a0b0f896cf9349af3afc8a2752df = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "store_relation");
     $va8973f92932ba8c02915c86424eb77b0 = cmsController::getInstance()->getModule("eshop");
     if ($va8973f92932ba8c02915c86424eb77b0 && $v9dfb9e2c355fe22768c93f6e0c33f1f9 && $v6f95a0b0f896cf9349af3afc8a2752df) {
         if (isset($this->xml_stores[$v75cacdb2219ff0da09cc2f909ea64759])) {
             foreach ($this->xml_stores[$v75cacdb2219ff0da09cc2f909ea64759] as $v57f6446eb03e6af4fa631be4795f0c9b) {
                 $v4ab09853d1229afdaa2c4b00b44b4828 = $v57f6446eb03e6af4fa631be4795f0c9b['old_store_id'];
                 $vbd047b181e82cec3af1400e7ee193be5 = $v57f6446eb03e6af4fa631be4795f0c9b['amount'];
                 $vb137c8149c716d240351a4b96434a60c = $this->getStoreIdByName($v4ab09853d1229afdaa2c4b00b44b4828);
                 if ($vb137c8149c716d240351a4b96434a60c === false) {
                     $vb137c8149c716d240351a4b96434a60c = umiObjectsCollection::getInstance()->addObject($v4ab09853d1229afdaa2c4b00b44b4828, $v9dfb9e2c355fe22768c93f6e0c33f1f9);
                 }
                 $vd47cbc7965be6318a50b0b921e4de391 = umiObjectsCollection::getInstance()->getObject($vb137c8149c716d240351a4b96434a60c);
                 if ($vd47cbc7965be6318a50b0b921e4de391 instanceof umiObject) {
                     $vd47cbc7965be6318a50b0b921e4de391->setName($v4ab09853d1229afdaa2c4b00b44b4828);
                     $vd47cbc7965be6318a50b0b921e4de391->commit();
                     $va8973f92932ba8c02915c86424eb77b0->setStoreAmount($v691b2ea4f2db17699a29da0c302a91ea->getId(), $vb137c8149c716d240351a4b96434a60c, $vbd047b181e82cec3af1400e7ee193be5);
                 }
             }
         }
     }
     umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = $v5e949eb2c66f5d51b8a4d4185a693b3f;
     $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element_id", $v777ccf80e4e83a9e7cdddd6ebc1edff7);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948);
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1);
     umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     umiHierarchy::getInstance()->unloadElement($v777ccf80e4e83a9e7cdddd6ebc1edff7);
 }
예제 #15
0
		public function activate($template = "default") {
			if ($this->is_auth()) $this->redirect("/");

			if(!$template) $template = "default";

			list($template_block, $template_block_failed) = def_module::loadTemplates("users/register/".$template, "activate_block", "activate_block_failed");

			$block_arr = Array();

			$activate_code = (string) getRequest('param0');

			if(!$activate_code || strlen($activate_code) != 32) {
				throw new publicException("%error_activation_code_failed%");
				$template = $template_block_failed;
			}

			$typesCollection = umiObjectTypesCollection::getInstance();

			$object_type_id = $typesCollection->getBaseType("users", "user");
			$object_type = $typesCollection->getType($object_type_id);
			$childTypes = $typesCollection->getChildClasses($object_type_id);


			$activate_code_field_id = $object_type->getFieldId("activate_code");

			$sel = new umiSelection;
			$sel->addLimit(1);
			$sel->addObjectType($object_type_id);
			$sel->addObjectType($childTypes);
			$sel->addPropertyFilterEqual($activate_code_field_id, $activate_code);

			$result = umiSelectionsParser::runSelection($sel);

			if($result) {
				list($user_id) = $result;

				$user = umiObjectsCollection::getInstance()->getObject($user_id);
				$user->setValue("is_activated", 1);
				$user->setValue("activate_code", md5(uniqid(rand(), true)));
				$user->commit();

				permissionsCollection::getInstance()->loginAsUser($result);

				$oEventPoint = new umiEventPoint("users_activate");
				$oEventPoint->setMode("after");
				$oEventPoint->setParam("user_id", $user_id);
				$this->setEventPoint($oEventPoint);

				$template = $template_block;
			} else {
				throw new publicException("%error_activation_code_failed%");
				$template = $template_block_failed;
			}

			return def_module::parseTemplate($template, $block_arr);
		}
예제 #16
0
 /**
  * Пересчитать содержимое корзины
  */
 public function refresh()
 {
     $object = $this->object;
     $items = $this->getItems();
     $originalPrice = 0;
     $totalAmount = 0;
     $eventPoint = new umiEventPoint("order_refresh");
     $eventPoint->setMode('before');
     $eventPoint->addRef("order", $object);
     $eventPoint->setParam("items", $items);
     $eventPoint->call();
     foreach ($items as $item) {
         $succ = $item->refresh();
         if ($succ === false) {
             $this->removeItem($item);
             continue;
         }
         $originalPrice += $item->getTotalActualPrice();
         $totalAmount += $item->getAmount();
     }
     $discount = $this->searchDiscount();
     if ($discount instanceof orderDiscount) {
         $actualPrice = $discount->recalcPrice($originalPrice);
     } else {
         $actualPrice = $originalPrice;
     }
     $actualPrice += (double) $this->delivery_price;
     $actualPrice -= (double) $this->getBonusDiscount();
     $eventPoint->setMode('after');
     $eventPoint->setParam("originalPrice", $originalPrice);
     $eventPoint->setParam("totalAmount", $totalAmount);
     $eventPoint->addRef("actualPrice", $actualPrice);
     $eventPoint->call();
     $this->originalPrice = $originalPrice;
     $this->actualPrice = $actualPrice;
     $this->totalAmount = $totalAmount;
     $this->discount = $discount;
     $this->commit();
 }
예제 #17
0
 public function removeFromBasket($vdada7698e90003048a305e981875250f)
 {
     $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("eshop_remove_frombasket");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before");
     $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("element_id", $vdada7698e90003048a305e981875250f);
     def_module::setEventPoint($v161c9aaa4fe035e7b2f465bc59f3ab45);
     if ($this->oUserBasket instanceof umiObject) {
         $v6a183de20981accc6e2669cd7c8e9f37 = $this->getBasketItem($vdada7698e90003048a305e981875250f);
         if ($v6a183de20981accc6e2669cd7c8e9f37 instanceof umiObject) {
             umiObjectsCollection::getInstance()->delObject($v6a183de20981accc6e2669cd7c8e9f37->getId());
             $v6f6b8983aa8e35763123f65ae38eb0b2 = $this->oUserBasket->getValue('items');
             if (is_array($v6f6b8983aa8e35763123f65ae38eb0b2)) {
                 $v6f6b8983aa8e35763123f65ae38eb0b2 = array_diff($v6f6b8983aa8e35763123f65ae38eb0b2, array($v6a183de20981accc6e2669cd7c8e9f37->getId()));
                 $this->oUserBasket->setValue('items', $v6f6b8983aa8e35763123f65ae38eb0b2);
             }
             $this->oUserBasket->commit();
             $this->recalcBasket();
         }
     } elseif (isset($this->arrBasket[$vdada7698e90003048a305e981875250f])) {
         unset($this->arrBasket[$vdada7698e90003048a305e981875250f]);
         $this->recalcBasket();
     }
 }
예제 #18
0
 public function post($template = "default")
 {
     if (!$template) {
         $template = getRequest('template');
     }
     if (!$template) {
         $template = "default";
     }
     if (!def_module::isXSLTResultMode()) {
         list($template_block, $template_block_voted, $template_block_closed, $template_block_ok) = def_module::loadTemplates("vote/" . $template, "js_block", "js_block_voted", "js_block_closed", "js_block_ok");
     } else {
         list($template_block, $template_block_voted, $template_block_closed, $template_block_ok) = array(false, false, false, false);
     }
     $item_id = (int) getRequest('param0');
     $item = umiObjectsCollection::getInstance()->getObject($item_id);
     $referer_url = getServer("HTTP_REFERER") ? getServer("HTTP_REFERER") : "/";
     $this->errorRegisterFailPage($referer_url);
     if (!$item instanceof umiObject) {
         $this->errorNewMessage(getLabel('error-page-does-not-exist', null, ''));
         $this->errorPanic();
     }
     $poll_rel = $item->getValue("poll_rel");
     $object_id = $poll_rel;
     $object = umiObjectsCollection::getInstance()->getObject($object_id);
     if (!$object instanceof umiObject) {
         $this->errorNewMessage(getLabel('error-page-does-not-exist', null, ''));
         $this->errorPanic();
     }
     if ($this->checkIsVoted($object_id)) {
         $res = $template_block_voted ? $template_block_voted : "Вы уже проголосовали";
     } else {
         if ($object->getValue("is_closed")) {
             $res = $template_block_closed ? $template_block_closed : "Ошибка. Голосование не активно, либо закрыто.";
         } else {
             $count = $item->getValue("count");
             $item->setValue("count", ++$count);
             $item->setValue("poll_rel", $poll_rel);
             $item->commit();
             if ($this->is_private) {
                 $oUsersMdl = cmsController::getInstance()->getModule("users");
                 if ($oUsersMdl) {
                     $oUser = umiObjectsCollection::getInstance()->getObject($oUsersMdl->user_id);
                     if ($oUser instanceof umiObject) {
                         $arrRatedPages = $oUser->getValue("rated_pages");
                         $arrRatedPagesIds = array();
                         foreach ($arrRatedPages as $vVal) {
                             if ($vVal instanceof umiHierarchyElement) {
                                 $arrRatedPagesIds[] = intval($vVal->getId());
                             } else {
                                 $arrRatedPagesIds[] = intval($vVal);
                             }
                         }
                         $arrVotePages = umiHierarchy::getInstance()->getObjectInstances($object_id);
                         $arrVotePages = array_map("intval", $arrVotePages);
                         $arrRated = array_merge($arrRatedPagesIds, $arrVotePages);
                         $oUser->setValue("rated_pages", array_unique($arrRated));
                         $oUser->commit();
                     }
                 }
             }
             $oEventPoint = new umiEventPoint("pollPost");
             $oEventPoint->setMode("after");
             $oEventPoint->setParam("poll", $object);
             $oEventPoint->setParam("answer", $item);
             $this->setEventPoint($oEventPoint);
             $res = $template_block_ok ? $template_block_ok : "Ваше мнение учтено";
         }
         if (!isset($_SESSION['vote_polled']) || !is_array($_SESSION['vote_polled'])) {
             $_SESSION['vote_polled'] = array();
         }
     }
     $_SESSION['vote_polled'][] = $object_id;
     $res = def_module::parseTPLMacroses($res);
     if ($template_block) {
         $block_arr = array();
         $block_arr['res'] = $res;
         $r = $this->parseTemplate($template_block, $block_arr);
         $this->flush($r, "text/javascript");
     } else {
         $this->flush("alert('{$res}');", "text/javascript");
     }
 }
 protected function importObjects(umiObjectType $v726e8e4809d4c1b28a6549d86436a124)
 {
     $v4340fd73e75df7a9d9e45902a59ba3a4 = $this->readNextRow();
     $this->fields = count($v4340fd73e75df7a9d9e45902a59ba3a4);
     $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance();
     $vd14a8022b085f9ef19d479cbdd581127 = umiObjectTypesCollection::getInstance();
     $v9367a975f19a06750b67f719f4f08ceb = false;
     if ($v726e8e4809d4c1b28a6549d86436a124->getId() == $vd14a8022b085f9ef19d479cbdd581127->getTypeIdByGUID('dispatches-subscriber')) {
         $v9367a975f19a06750b67f719f4f08ceb = true;
     }
     $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current();
     def_module::$noRedirectOnPanic = true;
     $v4340fd73e75df7a9d9e45902a59ba3a4 = $this->analyzeHeaders($v726e8e4809d4c1b28a6549d86436a124, $v4340fd73e75df7a9d9e45902a59ba3a4);
     $v76cf1d4ff412fd3cb644aa58a53c78dc = array();
     while ($v07d43db2a74336dcfbdaeeeffe6f7a19 = $this->readNextRow()) {
         echo str_repeat(' ', 1024);
         flush();
         $v07d43db2a74336dcfbdaeeeffe6f7a19 = $this->analyzeColumns($v4340fd73e75df7a9d9e45902a59ba3a4, $v07d43db2a74336dcfbdaeeeffe6f7a19);
         if (!isset($v07d43db2a74336dcfbdaeeeffe6f7a19['id'])) {
             continue;
         }
         $v16b2b26000987faccb260b9d39df1269 = $v07d43db2a74336dcfbdaeeeffe6f7a19['id'];
         if ($v9367a975f19a06750b67f719f4f08ceb && !$v16b2b26000987faccb260b9d39df1269) {
             $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('objects');
             $v8be74552df93e31bbdd6b36ed74bdb6a->types('object-type')->name('dispatches', 'subscriber');
             $v8be74552df93e31bbdd6b36ed74bdb6a->where('name')->equals($v07d43db2a74336dcfbdaeeeffe6f7a19['name']);
             $v8be74552df93e31bbdd6b36ed74bdb6a->option('return')->value('id');
             $result = $v8be74552df93e31bbdd6b36ed74bdb6a->first;
             if (is_array($result) && count($result)) {
                 $v16b2b26000987faccb260b9d39df1269 = $result['id'];
             }
         }
         if ($v16b2b26000987faccb260b9d39df1269) {
             $vccae550f37edb4e56f3bf01df9953a6f = $v16b2b26000987faccb260b9d39df1269;
             $v53cc4db543d7a569e51c1d76ac6f278e = 'systemModifyObject';
         } else {
             $v53cc4db543d7a569e51c1d76ac6f278e = 'systemCreateObject';
             $v16b2b26000987faccb260b9d39df1269 = $v5891da2d64975cae48d175d1e001f5da->addObject('Temporary object name', $v726e8e4809d4c1b28a6549d86436a124->getId());
             $v7f2db423a49b305459147332fb01cf87->push('//Create new object "' . $v07d43db2a74336dcfbdaeeeffe6f7a19['name'] . '" of type ' . $v726e8e4809d4c1b28a6549d86436a124->getId() . ', id #' . $v16b2b26000987faccb260b9d39df1269 . "\n");
             $vccae550f37edb4e56f3bf01df9953a6f = 'new';
         }
         $va8cfde6331bd59eb2ac96f8911c4b666 = $v5891da2d64975cae48d175d1e001f5da->getObject($v16b2b26000987faccb260b9d39df1269);
         if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject == false) {
             $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $v16b2b26000987faccb260b9d39df1269, 'error' => getLabel('csv-error-not-found'), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']);
             continue;
         }
         if ($va8cfde6331bd59eb2ac96f8911c4b666->getTypeId() != $v726e8e4809d4c1b28a6549d86436a124->getId()) {
             $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $v16b2b26000987faccb260b9d39df1269, 'error' => getLabel('csv-error-wrong-type'), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']);
             continue;
         }
         $vd05b6ed7d2345020440df396d6da7f73 = umiFieldsCollection::getInstance();
         $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f] = array();
         foreach ($v4340fd73e75df7a9d9e45902a59ba3a4 as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v46b9e6004c49d9cc040029c197cab278) {
             if ($v865c0c0b4ab0e063e5caa3387c1a8741 == 'id') {
                 continue;
             }
             if ($v865c0c0b4ab0e063e5caa3387c1a8741 == 'name' && isset($v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741])) {
                 $_REQUEST['name'] = $v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741];
             }
             if (isset($v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741])) {
                 $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f][$v865c0c0b4ab0e063e5caa3387c1a8741] = $v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741];
             }
         }
         if ($v726e8e4809d4c1b28a6549d86436a124->getMethod() == 'user') {
             $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f]['password'][0] = 'dummyPassword';
         }
         try {
             $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint($v53cc4db543d7a569e51c1d76ac6f278e);
             $v4119639092e62c55ea8be348e4d9260d->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666);
             $v4119639092e62c55ea8be348e4d9260d->setMode("before");
             $v4119639092e62c55ea8be348e4d9260d->call();
         } catch (errorPanicException $ve1671797c52e15f763380b45e841ec32) {
             $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']);
             if ($vccae550f37edb4e56f3bf01df9953a6f == 'new') {
                 $v5891da2d64975cae48d175d1e001f5da->delObject($v16b2b26000987faccb260b9d39df1269);
             }
             continue 1;
         }
         foreach ($v07d43db2a74336dcfbdaeeeffe6f7a19 as $v972bf3f05d14ffbdb817bef60638ff00 => $v2063c1608d6e0baf80249c42e2be5804) {
             switch ($v972bf3f05d14ffbdb817bef60638ff00) {
                 case 'id':
                     continue;
                 case 'name':
                     $va8cfde6331bd59eb2ac96f8911c4b666->setName($v2063c1608d6e0baf80249c42e2be5804);
                     break;
                 default:
                     try {
                         $this->modifyProperty($va8cfde6331bd59eb2ac96f8911c4b666, $v972bf3f05d14ffbdb817bef60638ff00, $v2063c1608d6e0baf80249c42e2be5804);
                     } catch (fieldRestrictionException $ve1671797c52e15f763380b45e841ec32) {
                         $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19[$v972bf3f05d14ffbdb817bef60638ff00]);
                     }
                     break;
             }
         }
         $va8cfde6331bd59eb2ac96f8911c4b666->commit();
         try {
             $v4119639092e62c55ea8be348e4d9260d->setMode('after');
             $v4119639092e62c55ea8be348e4d9260d->call();
         } catch (errorPanicException $ve1671797c52e15f763380b45e841ec32) {
             $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']);
             if ($vccae550f37edb4e56f3bf01df9953a6f == 'new') {
                 $v5891da2d64975cae48d175d1e001f5da->delObject($v16b2b26000987faccb260b9d39df1269);
             }
             continue 1;
         }
         unset($_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f]);
         unset($va8cfde6331bd59eb2ac96f8911c4b666);
     }
     def_module::$noRedirectOnPanic = false;
     if (sizeof($v76cf1d4ff412fd3cb644aa58a53c78dc)) {
         $v7f2db423a49b305459147332fb01cf87->push('var err = \'' . addslashes(getLabel('csv-error-import-list')) . "\\n';\n");
         foreach ($v76cf1d4ff412fd3cb644aa58a53c78dc as $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb) {
             if ($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['id'] == 'new') {
                 $v7f2db423a49b305459147332fb01cf87->push('err += \'' . addslashes($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['name'] . ' (' . getLabel('csv-new-item') . ') - ' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['error']) . "\\n';\n");
             } else {
                 $v7f2db423a49b305459147332fb01cf87->push('err += \'' . addslashes($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['name'] . ' (#' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['id'] . ') - ' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['error']) . "\\n';\n");
             }
         }
         $v7f2db423a49b305459147332fb01cf87->push("alert(err);\n\n");
     }
 }
예제 #20
0
 public function onModifyPropertyValue(umiEventPoint $e)
 {
     $object = $e->getRef('entity');
     $objectId = $object->getId();
     $objectType = umiObjectTypesCollection::getInstance()->getType($object->getTypeId());
     if ($objectType->getModule() != 'users' || $objectType->getMethod() != 'user') {
         return;
     }
     if ($e->getMode() == "before") {
         $newValue =& $e->getRef('newValue');
         switch ((string) $e->getParam('property')) {
             case 'name':
                 $newValue = $this->validateLogin($newValue, $objectId);
                 break;
             case 'e-mail':
                 $newValue = $this->validateEmail($newValue, $objectId);
                 break;
             default:
                 return;
         }
         $this->errorThrow('xml');
     }
     if ($e->getMode() == "after") {
         switch ((string) $e->getParam('property')) {
             case 'login':
                 $object->name = (string) $e->getParam('newValue');
                 $object->commit();
                 break;
             case 'name':
                 $object->login = (string) $e->getParam('newValue');
                 $object->commit();
                 break;
             default:
                 return;
         }
     }
 }
예제 #21
0
 protected function callEvent($vb6b9464f2f59896b4297666183eee817, $v8f41181a2712293624ac98172267c6d8)
 {
     static $v886bb73b3156b0aa24aac99d2de0b238 = 0;
     $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("cron");
     $v4119639092e62c55ea8be348e4d9260d->setMode("process");
     $v4119639092e62c55ea8be348e4d9260d->setModules($this->modules);
     $v4119639092e62c55ea8be348e4d9260d->setParam("lastCallTime", $vb6b9464f2f59896b4297666183eee817);
     $v4119639092e62c55ea8be348e4d9260d->setParam("currCallTime", $v8f41181a2712293624ac98172267c6d8);
     $v4119639092e62c55ea8be348e4d9260d->addRef("buffer", $this->buffer);
     $v4119639092e62c55ea8be348e4d9260d->addRef("counter", $v886bb73b3156b0aa24aac99d2de0b238);
     $this->logs = $v4119639092e62c55ea8be348e4d9260d->call();
     return $v886bb73b3156b0aa24aac99d2de0b238;
 }
예제 #22
0
 public function tree_copy_element()
 {
     $element = $this->expectElement('element');
     $cloneMode = (bool) getRequest('clone_mode');
     $copyAll = (bool) getRequest('copy_all');
     $parentId = (int) getRequest('rel');
     $new_element_id = false;
     if ($element instanceof umiHierarchyElement) {
         $element_id = $element->getId();
         if (!($parentId && umiHierarchy::getInstance()->isExists($parentId))) {
             $parentId = umiHierarchy::getInstance()->getParent($element_id);
         }
         if (defined("DB_DRIVER") && DB_DRIVER != "xml" || !defined("DB_DRIVER")) {
             l_mysql_query("START TRANSACTION");
         }
         if ($cloneMode) {
             // create real copy
             $clone_allowed = true;
             if ($clone_allowed) {
                 $event = new umiEventPoint("systemCloneElement");
                 $event->addRef("element", $element);
                 $event->setParam("elementId", $element_id);
                 $event->setParam("parentId", $parentId);
                 $event->setMode("before");
                 $event->call();
                 $new_element_id = umiHierarchy::getInstance()->cloneElement($element_id, $parentId, $copyAll);
                 $event->setParam("newElementId", $new_element_id);
                 $event->setMode("after");
                 $event->call();
                 $new_element = umiHierarchy::getInstance()->getElement((int) $new_element_id, false, false);
                 $event = new umiEventPoint("systemCreateElementAfter");
                 $event->addRef("element", $new_element);
                 $event->setParam("elementId", $new_element_id);
                 $event->setParam("parentId", $parentId);
                 $event->setMode("after");
                 $event->call();
             }
         } else {
             // create virtual copy
             $event = new umiEventPoint("systemVirtualCopyElement");
             $event->setParam("elementId", $element_id);
             $event->setParam("parentId", $parentId);
             $event->addRef("element", $element);
             $event->setMode("before");
             $event->call();
             $new_element_id = umiHierarchy::getInstance()->copyElement($element_id, $parentId, $copyAll);
             $event->setParam("newElementId", $element_id);
             $event->setMode("after");
             $event->call();
             $new_element = umiHierarchy::getInstance()->getElement((int) $new_element_id, false, false);
             $event = new umiEventPoint("systemCreateElementAfter");
             $event->addRef("element", $new_element);
             $event->setParam("elementId", $new_element_id);
             $event->setParam("parentId", $parentId);
             $event->setMode("after");
             $event->call();
         }
         if ($new_element_id) {
             if ((bool) getRequest('return_copies')) {
                 $this->setDataType("form");
                 $this->setActionType("modify");
                 $data = $this->prepareData(array('element' => $new_element), "page");
                 $this->setData($data);
             } else {
                 $this->setDataType("list");
                 $this->setActionType("view");
                 $data = $this->prepareData(array($new_element_id), "pages");
                 $this->setData($data);
             }
             if (defined("DB_DRIVER") && DB_DRIVER != "xml" || !defined("DB_DRIVER")) {
                 l_mysql_query("COMMIT");
             }
             return $this->doData();
         } else {
             throw new publicAdminException(getLabel('error-copy-element'));
         }
     } else {
         throw new publicAdminException(getLabel('error-expect-element'));
     }
 }
예제 #23
0
 public function forget_do($template = "default")
 {
     static $macrosResult;
     if ($macrosResult) {
         return $macrosResult;
     }
     $forget_login = (string) getRequest('forget_login');
     $forget_email = (string) getRequest('forget_email');
     $hasLogin = strlen($forget_login) != 0;
     $hasEmail = strlen($forget_email) != 0;
     $user_id = false;
     list($template_wrong_login_block, $template_forget_sended) = def_module::loadTemplates("users/forget/" . $template, "wrong_login_block", "forget_sended");
     list($template_mail_verification, $template_mail_verification_subject) = def_module::loadTemplatesForMail("users/forget/" . $template, "mail_verification", "mail_verification_subject");
     if ($hasLogin || $hasEmail) {
         $sel = new selector('objects');
         $sel->types('object-type')->name('users', 'user');
         if ($hasLogin) {
             $sel->where('login')->equals($forget_login);
         }
         if ($hasEmail) {
             $sel->where('e-mail')->equals($forget_email);
         }
         $sel->limit(0, 1);
         $user_id = $sel->first ? $sel->first->id : false;
     } else {
         $user_id = false;
     }
     if ($user_id) {
         $activate_code = md5(self::getRandomPassword());
         $object = umiObjectsCollection::getInstance()->getObject($user_id);
         $regedit = regedit::getInstance();
         $without_act = (bool) $regedit->getVal("//modules/users/without_act");
         if ($without_act || intval($object->getValue('is_activated'))) {
             $object->setValue("activate_code", $activate_code);
             $object->commit();
             $email = $object->getValue("e-mail");
             $fio = $object->getValue("lname") . " " . $object->getValue("fname") . " " . $object->getValue("father_name");
             $email_from = regedit::getInstance()->getVal("//settings/email_from");
             $fio_from = regedit::getInstance()->getVal("//settings/fio_from");
             $mail_arr = array();
             $mail_arr['domain'] = $domain = $_SERVER['HTTP_HOST'];
             $mail_arr['restore_link'] = "http://" . $domain . $this->pre_lang . "/users/restore/" . $activate_code . "/";
             $mail_arr['login'] = $object->getValue('login');
             $mail_arr['email'] = $object->getValue('e-mail');
             $mail_subject = def_module::parseTemplateForMail($template_mail_verification_subject, $mail_arr, false, $user_id);
             $mail_content = def_module::parseTemplateForMail($template_mail_verification, $mail_arr, false, $user_id);
             $someMail = new umiMail();
             $someMail->addRecipient($email, $fio);
             $someMail->setFrom($email_from, $fio_from);
             $someMail->setSubject($mail_subject);
             $someMail->setPriorityLevel("highest");
             $someMail->setContent($mail_content);
             $someMail->commit();
             $someMail->send();
             $oEventPoint = new umiEventPoint("users_restore_password");
             $oEventPoint->setParam("user_id", $user_id);
             $this->setEventPoint($oEventPoint);
             $block_arr = array();
             $block_arr['attribute:status'] = "success";
             return $macrosResult = def_module::parseTemplate($template_forget_sended, $block_arr);
         } else {
             $referer_url = getServer('HTTP_REFERER');
             if (!strlen($referer_url)) {
                 $referer_url = $this->pre_lang . "/users/forget/";
             }
             $this->errorRegisterFailPage($referer_url);
             $this->errorNewMessage("%errors_forget_nonactivated_login%");
             $this->errorPanic();
             $block_arr = array();
             $block_arr['attribute:status'] = "fail";
             $block_arr['forget_login'] = $forget_login;
             $block_arr['forget_email'] = $forget_email;
             return $macrosResult = def_module::parseTemplate($template_wrong_login_block, $block_arr);
         }
     } else {
         $referer_url = getServer('HTTP_REFERER');
         if (!strlen($referer_url)) {
             $referer_url = $this->pre_lang . "/users/forget/";
         }
         $this->errorRegisterFailPage($referer_url);
         if ($hasLogin && !$hasEmail) {
             $this->errorNewMessage("%errors_forget_wrong_login%");
         }
         if ($hasEmail && !$hasLogin) {
             $this->errorNewMessage("%errors_forget_wrong_email%");
         }
         if ($hasEmail && $hasLogin || !$hasEmail && !$hasLogin) {
             $this->errorNewMessage("%errors_forget_wrong_person%");
         }
         $this->errorPanic();
         $block_arr = array();
         $block_arr['attribute:status'] = "fail";
         $block_arr['forget_login'] = $forget_login;
         $block_arr['forget_email'] = $forget_email;
         return $macrosResult = def_module::parseTemplate($template_wrong_login_block, $block_arr);
     }
 }
예제 #24
0
 public function delElement($v7057e8409c7c531a1a6e9ac3df4ed549)
 {
     $v7057e8409c7c531a1a6e9ac3df4ed549 = (int) $v7057e8409c7c531a1a6e9ac3df4ed549;
     $this->disableCache();
     $vb99eb979e6f6efabc396f777b503f7e7 = cacheFrontend::getInstance();
     $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance();
     $this->addUpdatedElementId($v7057e8409c7c531a1a6e9ac3df4ed549);
     $this->forceCacheCleanup();
     if (!$v41275a535677f79ff347e01bc530c176->isAllowedObject($v41275a535677f79ff347e01bc530c176->getUserId(), $v7057e8409c7c531a1a6e9ac3df4ed549)) {
         return false;
     }
     if ($v8e2dcfd7e7e24b1ca76c1193f645902b = $this->getElement($v7057e8409c7c531a1a6e9ac3df4ed549)) {
         $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT id FROM cms3_hierarchy FORCE INDEX(rel) WHERE rel = '{$v7057e8409c7c531a1a6e9ac3df4ed549}'";
         $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a);
         while (list($vf36263a38d7de5cdaa953c1e2b2f79b5) = mysql_fetch_row($result)) {
             $v2da0d90fc7822dade6effbdd1f48b458 = $this->getElement($vf36263a38d7de5cdaa953c1e2b2f79b5, true, true);
             $this->delElement($vf36263a38d7de5cdaa953c1e2b2f79b5);
             $vb99eb979e6f6efabc396f777b503f7e7->del($vf36263a38d7de5cdaa953c1e2b2f79b5, "element");
         }
         $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("hierarchyDeleteElement");
         $v4119639092e62c55ea8be348e4d9260d->setParam("element_id", $v7057e8409c7c531a1a6e9ac3df4ed549);
         $v4119639092e62c55ea8be348e4d9260d->setMode("after");
         $v4119639092e62c55ea8be348e4d9260d->call();
         $v8e2dcfd7e7e24b1ca76c1193f645902b->setIsDeleted(true);
         $v8e2dcfd7e7e24b1ca76c1193f645902b->commit();
         unset($this->elements[$v7057e8409c7c531a1a6e9ac3df4ed549]);
         $vb99eb979e6f6efabc396f777b503f7e7->del($v7057e8409c7c531a1a6e9ac3df4ed549, "element");
         return true;
     } else {
         return false;
     }
 }
예제 #25
0
 public function send()
 {
     if ($this->is_sended) {
         return true;
     }
     if ($this->content != "") {
         $this->arrHeaders["From"] = ($this->from_name ? "\"" . $this->from_name . "\" " : "") . "<" . $this->from_email . ">";
         $this->arrHeaders["X-Mailer"] = "UMI.CMS";
         if (sizeof($this->reply_to)) {
             $this->arrHeaders["Reply-To"] = implode(", ", $this->reply_to);
         }
         if (sizeof($this->copy)) {
             $this->arrHeaders["Cc"] = implode(", ", $this->copy);
         }
         if (sizeof($this->hidden_copy)) {
             $this->arrHeaders["Bcc"] = implode(", ", $this->hidden_copy);
         }
         $this->arrHeaders["X-Priority"] = $this->priority;
         $v9a0364b9e99bb480dd25e1f0284c8555 = $this->parseContent();
         foreach ($this->arrContentImages as $va83269b957a782de9de17b330b439574 => $v7c610e4d8f0bc3df13a676914dbc6224) {
             if (!isset($this->arrAttachmentsImages[$v7c610e4d8f0bc3df13a676914dbc6224])) {
                 continue;
             }
             $v8b9f60798e84fcd02a6f16731fad0d75 = $this->arrAttachmentsImages[$v7c610e4d8f0bc3df13a676914dbc6224];
             $vaa5bb0b328edf04bdeade3062181e7ae = array('/(\\s)((?i)src|background|href(?-i))\\s*=\\s*(["\']?)' . preg_quote($va83269b957a782de9de17b330b439574, '/') . '\\3/', '/(?i)url(?-i)\\(\\s*(["\']?)' . preg_quote($va83269b957a782de9de17b330b439574, '/') . '\\1\\s*\\)/');
             $v765a7aaaad7c01a34106aa80b74e28b7 = array('\\1\\2=\\3cid:' . $v8b9f60798e84fcd02a6f16731fad0d75['cid'] . '\\3', 'url(\\1cid:' . $v8b9f60798e84fcd02a6f16731fad0d75['cid'] . '\\2)');
             $v9a0364b9e99bb480dd25e1f0284c8555 = preg_replace($vaa5bb0b328edf04bdeade3062181e7ae, $v765a7aaaad7c01a34106aa80b74e28b7, $v9a0364b9e99bb480dd25e1f0284c8555);
         }
         foreach ($this->files as $v3b569bcd1bf089908a7a85ead9f9ab9a) {
             $this->addAttachment($v3b569bcd1bf089908a7a85ead9f9ab9a->getFilePath());
         }
         $v46f2f0d388f714c268d510d3ddbdfe88 = (bool) count($this->arrAttachments);
         $va491666beca97718aeb4d201ac898bb5 = (bool) count($this->arrAttachmentsImages);
         $vcae3e24516df3c71ced3f01fc0ee6c65 = (bool) strlen($v9a0364b9e99bb480dd25e1f0284c8555);
         $vdb9129f4c75531384e13d0a0d7dae6e9 = (bool) strlen($this->sTxtBody);
         $v69476a86c388a5b8e4e18eeaea2ae2ba = !$vcae3e24516df3c71ced3f01fc0ee6c65 && (bool) strlen($v9a0364b9e99bb480dd25e1f0284c8555);
         $vd6d25fae8ec76ccadc5deee4ee0c4896 = new umiMimePart('', array());
         switch (true) {
             case $v69476a86c388a5b8e4e18eeaea2ae2ba && !$v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addTextPart($this->sTxtBody);
                 break;
             case !$vcae3e24516df3c71ced3f01fc0ee6c65 && !$vdb9129f4c75531384e13d0a0d7dae6e9 && $v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart();
                 foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38);
                 }
                 break;
             case $v69476a86c388a5b8e4e18eeaea2ae2ba && $v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart();
                 $vd6d25fae8ec76ccadc5deee4ee0c4896->addTextPart($this->sTxtBody);
                 foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38);
                 }
                 break;
             case $vcae3e24516df3c71ced3f01fc0ee6c65 && !$va491666beca97718aeb4d201ac898bb5 && !$v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart();
                 if ($vdb9129f4c75531384e13d0a0d7dae6e9) {
                     $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart();
                     $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody);
                     $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 } else {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 }
                 break;
             case $vcae3e24516df3c71ced3f01fc0ee6c65 && $va491666beca97718aeb4d201ac898bb5 && !$v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addRelatedPart();
                 if ($vdb9129f4c75531384e13d0a0d7dae6e9) {
                     $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart();
                     $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody);
                     $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 } else {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 }
                 foreach ($this->arrAttachmentsImages as $v8b9f60798e84fcd02a6f16731fad0d75) {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlImagePart($v8b9f60798e84fcd02a6f16731fad0d75);
                 }
                 break;
             case $vcae3e24516df3c71ced3f01fc0ee6c65 && !$va491666beca97718aeb4d201ac898bb5 && $v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart();
                 if ($vdb9129f4c75531384e13d0a0d7dae6e9) {
                     $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart();
                     $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody);
                     $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 } else {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 }
                 foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38);
                 }
                 break;
             case $vcae3e24516df3c71ced3f01fc0ee6c65 && $va491666beca97718aeb4d201ac898bb5 && $v46f2f0d388f714c268d510d3ddbdfe88:
                 $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart();
                 if ($vdb9129f4c75531384e13d0a0d7dae6e9) {
                     $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart();
                     $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody);
                     $v692f1e5fb84fbda80e99a0ce848bc2b1 = $vb09cfd144243e0299ce0a896ca163843->addRelatedPart();
                 } else {
                     $v692f1e5fb84fbda80e99a0ce848bc2b1 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addRelatedPart();
                 }
                 $v692f1e5fb84fbda80e99a0ce848bc2b1->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555);
                 foreach ($this->arrAttachmentsImages as $v8b9f60798e84fcd02a6f16731fad0d75) {
                     $v692f1e5fb84fbda80e99a0ce848bc2b1->addHtmlImagePart($v8b9f60798e84fcd02a6f16731fad0d75);
                 }
                 foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) {
                     $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38);
                 }
                 break;
         }
         $v766454ac4fb7a41c6ebf95bfb8130318 = $vd6d25fae8ec76ccadc5deee4ee0c4896->encodePart();
         $this->mess_body = $v766454ac4fb7a41c6ebf95bfb8130318['body'];
         $v99b7ac2b500826e1b6e5496c094befbe = $this->getHeaders($v766454ac4fb7a41c6ebf95bfb8130318['headers'], true);
         $v5c27dddc7f7c23c046aa4f514147f839 = "";
         foreach ($v99b7ac2b500826e1b6e5496c094befbe as $vcba6edd8118e56459daee1a4a52365e1 => $v2c0f0eef009b52594d1845816b697bed) {
             $v5c27dddc7f7c23c046aa4f514147f839 .= $vcba6edd8118e56459daee1a4a52365e1 . ": " . $v2c0f0eef009b52594d1845816b697bed . umiMimePart::UMI_MIMEPART_CRLF;
         }
         foreach ($this->recipients as $ve6a967f2c984f079715d7daa3f9b5f90) {
             $v4b5789f850e658bcfb56173ae0a5b7ca = trim(str_replace("\n", " ", $ve6a967f2c984f079715d7daa3f9b5f90[1]));
             $v0a1cb7958085865f48edbe2a30158589 = trim($ve6a967f2c984f079715d7daa3f9b5f90[0]);
             if (!strlen($v0a1cb7958085865f48edbe2a30158589)) {
                 continue;
             }
             $v22c7ae03c1d7ec9ffafe48c116510eed = $v0a1cb7958085865f48edbe2a30158589;
             if (strlen($v4b5789f850e658bcfb56173ae0a5b7ca)) {
                 $v22c7ae03c1d7ec9ffafe48c116510eed = iconv_mime_encode("", $ve6a967f2c984f079715d7daa3f9b5f90[1], array('input-charset' => 'UTF-8', 'output-charset' => 'UTF-8', 'line-break-chars' => ''));
                 $v22c7ae03c1d7ec9ffafe48c116510eed = ltrim($v22c7ae03c1d7ec9ffafe48c116510eed, " :");
                 $v22c7ae03c1d7ec9ffafe48c116510eed .= " <" . $v0a1cb7958085865f48edbe2a30158589 . ">";
             }
             $v18510ea4e30a52ff7b53e7b5e2691d83 = "";
             if (strlen($this->subject)) {
                 $v18510ea4e30a52ff7b53e7b5e2691d83 = iconv_mime_encode("", $this->subject, array('input-charset' => 'UTF-8', 'output-charset' => 'UTF-8', 'line-break-chars' => ''));
                 $v18510ea4e30a52ff7b53e7b5e2691d83 = ltrim($v18510ea4e30a52ff7b53e7b5e2691d83, " :");
             }
             $v6da648158add0c53655351ff6ac29a12 = mail($v22c7ae03c1d7ec9ffafe48c116510eed, $v18510ea4e30a52ff7b53e7b5e2691d83, $this->mess_body, $v5c27dddc7f7c23c046aa4f514147f839);
             $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("core_sendmail");
             $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("to", $v22c7ae03c1d7ec9ffafe48c116510eed);
             $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("subject", $v18510ea4e30a52ff7b53e7b5e2691d83);
             $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("body", $this->mess_body);
             $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("headers", $v5c27dddc7f7c23c046aa4f514147f839);
             $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after");
             $v161c9aaa4fe035e7b2f465bc59f3ab45->call();
         }
         $this->is_sended = true;
     } else {
         return false;
     }
 }
예제 #26
0
	public function post_question() {

		$iPosted= getRequest('posted');
		if(is_null($tickets = getSession('tickets'))) {
			$tickets = $_SESSION['tickets'] = Array();
		}

		if ($iPosted) {
			$sPosted = getArrayKey($tickets, $iPosted);
			return $sPosted;
		}

		$referer_url = getServer('HTTP_REFERER');
		$this->errorRegisterFailPage($referer_url);

		$parent_element_id = (int) getRequest('param0');
		// input
		$email = htmlspecialchars(getRequest('email'));
		$nick = htmlspecialchars(getRequest('nick'));
		$title = htmlspecialchars(getRequest('title'));
		$question = htmlspecialchars(getRequest('question'));
		$ip = $_SERVER['REMOTE_ADDR'];

		if(!strlen($title)) {
			$this->errorNewMessage("%error_faq_required_title%");
			$this->errorPanic();
		}

		if(!strlen($question)) {
			$this->errorNewMessage("%error_faq_required_question%");
			$this->errorPanic();
		}

		if(!strlen($email)) {
			$users = cmsController::getInstance()->getModule("users");
			if($users instanceof def_module) {
				$user_id = $users->user_id;
				if($user = umiObjectsCollection::getInstance()->getObject($user_id)) {
					$email = $user->getValue('e-mail');
				}
			}
		}

		$referer_url = (string) $_SERVER['HTTP_REFERER'];
		$posttime = time();
		$ip = $_SERVER['REMOTE_ADDR'];

		if (isset($_REQUEST['captcha'])) {
			$_SESSION['user_captcha'] = md5((int) getRequest('captcha'));
		}

		if (!umiCaptcha::checkCaptcha()) {
			$this->errorNewMessage("%errors_wrong_captcha%");
			$this->errorPanic();
		}

		// before add event point
		$oEventPoint = new umiEventPoint("faq_post_question");
		$oEventPoint->setMode("before");
		$oEventPoint->setParam("parent_element_id", $parent_element_id);
		$oEventPoint->setParam("test_captcha", umiCaptcha::checkCaptcha());

		$this->setEventPoint($oEventPoint);

		// check captcha
		if (!umiCaptcha::checkCaptcha() || !$parent_element_id) {
			$this->redirect($referer_url);
		}

		$is_active = 0;

		if($oUsers = cmsController::getInstance()->getModule("users")) {
			if($oUsers->is_auth()) {
				$user_id = cmsController::getInstance()->getModule('users')->user_id;
				$iAuthorId = $oUsers->createAuthorUser($user_id);
				$is_active = $oUsers->isSv($user_id);
			} else {
				$iAuthorId = $oUsers->createAuthorGuest($nick, $email, $ip);
			}
		}

		$object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("faq", "question");
		$hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("faq", "question")->getId();

		$parentElement = umiHierarchy::getInstance()->getElement($parent_element_id);
		$tpl_id		= $parentElement->getTplId();
		$domain_id	= $parentElement->getDomainId();
		$lang_id	= $parentElement->getLangId();

		$element_id = umiHierarchy::getInstance()->addElement($parent_element_id, $hierarchy_type_id, $title, $title, $object_type_id, $domain_id, $lang_id, $tpl_id);

		permissionsCollection::getInstance()->setDefaultPermissions($element_id);

		$element = umiHierarchy::getInstance()->getElement($element_id);

		$element->setIsActive(false);
		$element->setIsVisible(false);

		$element->setValue("question", $question);
		$element->setValue("publish_time", $posttime);

		$element->getObject()->setName($title);
		$element->setValue("h1", $title);

		$element->setValue("author_id", $iAuthorId);
		$element->commit();

		// send mails

		$from = regedit::getInstance()->getVal("//settings/fio_from");
		$from_email = regedit::getInstance()->getVal("//settings/email_from");
		$admin_email = regedit::getInstance()->getVal("//settings/admin_email");

		list(
			$confirm_mail_subj_user, $confirm_mail_user, $confirm_mail_subj_admin, $confirm_mail_admin
		) = def_module::loadTemplatesForMail("faq/default",
			"confirm_mail_subj_user", "confirm_mail_user", "confirm_mail_subj_admin", "confirm_mail_admin"
		);

		// for admin
		$mail_arr = Array();
		$mail_arr['domain'] = $domain = $_SERVER['HTTP_HOST'];
		$mail_arr['question'] = $question;
		$mail_arr['question_link'] = "http://" . $domain . $this->pre_lang. "/admin/faq/edit/" . $element_id . "/";
		$mail_adm_subj = def_module::parseTemplateForMail($confirm_mail_subj_admin, $mail_arr);
		$mail_adm_content = def_module::parseTemplateForMail($confirm_mail_admin, $mail_arr);

		$confirmAdminMail = new umiMail();
		$confirmAdminMail->addRecipient($admin_email);
		$confirmAdminMail->setFrom($email, $nick);
		$confirmAdminMail->setSubject($mail_adm_subj);
		$confirmAdminMail->setContent($mail_adm_content);
		$confirmAdminMail->commit();
		$confirmAdminMail->send();

		// for user
		$user_mail = Array();
		$user_mail['domain'] = $domain = $_SERVER['HTTP_HOST'];
		$user_mail['question'] = $question;
		$user_mail['ticket'] = $element_id;
		$mail_usr_subj = def_module::parseTemplateForMail($confirm_mail_subj_user, $user_mail);
		$mail_usr_content = def_module::parseTemplateForMail($confirm_mail_user, $user_mail);

		$confirmMail = new umiMail();
		$confirmMail->addRecipient($email);
		$confirmMail->setFrom($from_email, $from);
		$confirmMail->setSubject($mail_usr_subj);
		$confirmMail->setContent($mail_usr_content);
		$confirmMail->commit();
		$confirmMail->send();

		// after add event point
		$oEventPoint = new umiEventPoint("faq_post_question");
		$oEventPoint->setMode("after");
		$oEventPoint->setParam("element_id", $element_id);
		$this->setEventPoint($oEventPoint);

		$_SESSION['tickets'][$element_id] = $mail_usr_content;
		$this->redirect($this->pre_lang . '/faq/post_question/?posted=' . $element_id);
	}
예제 #27
0
 public function add_to_compare($element_id)
 {
     if (!isset($_SESSION['compare_list']) || !is_array($_SESSION['compare_list'])) {
         $_SESSION['compare_list'] = array();
     }
     if ($this->iMaxCompareElements && count($_SESSION['compare_list']) >= $this->iMaxCompareElements) {
         $this->errorNewMessage("%errors_max_items_compare%");
         $this->errorPanic();
     }
     $oEventPoint = new umiEventPoint("emarket_add_to_compare");
     $oEventPoint->setMode("before");
     $oEventPoint->setParam("element_id", $element_id);
     $oEventPoint->setParam("compare_list", $_SESSION['compare_list']);
     $this->setEventPoint($oEventPoint);
     if (!in_array($element_id, $_SESSION['compare_list'])) {
         $_SESSION['compare_list'][] = $element_id;
         $oEventPoint = new umiEventPoint("emarket_add_to_compare");
         $oEventPoint->setMode("after");
         $oEventPoint->setParam("element_id", $element_id);
         $oEventPoint->setParam("compare_list", $_SESSION['compare_list']);
         $this->setEventPoint($oEventPoint);
         return true;
     }
     return false;
 }
예제 #28
0
    public function post()
    {
        if (defined('CURRENT_VERSION_LINE') && CURRENT_VERSION_LINE == 'demo') {
            $url = getRequest('ref_onsuccess');
            if (!$url) {
                $url = $this->pre_lang . "/webforms/posted/";
            }
            $this->redirect($url);
        }
        global $_FILES;
        $iOldErrorReportingLevel = error_reporting(~E_ALL & ~E_STRICT);
        $res = "";
        $email_to = getRequest('email_to');
        $message = getRequest('message');
        $data = getRequest('data');
        $domain = getRequest('domain');
        $subject = cmsController::getInstance()->getCurrentDomain()->getHost();
        $referer_url = $_SERVER['HTTP_REFERER'];
        $this->errorRegisterFailPage($referer_url);
        // check captcha
        if (isset($_REQUEST['captcha'])) {
            $_SESSION['user_captcha'] = md5((int) $_REQUEST['captcha']);
        }
        if (!umiCaptcha::checkCaptcha()) {
            $this->errorNewMessage("%errors_wrong_captcha%");
            $this->errorPanic();
        }
        $sRecipientName = "administrator";
        if (is_numeric($email_to)) {
            $to = $this->guessAddressValue($email_to);
            if (intval($to) != $email_to) {
                $sRecipientName = $this->guessAddressName($email_to);
            } else {
                $oTCollection = umiObjectTypesCollection::getInstance();
                $iTypeId = $oTCollection->getBaseType('webforms', 'address');
                $oType = $oTCollection->getType($iTypeId);
                $iFieldId = $oType->getFieldId('insert_id');
                $oSelection = new umiSelection();
                $oSelection->addObjectType($iTypeId);
                $oSelection->addPropertyFilterEqual($iFieldId, $email_to);
                $aIDs = umiSelectionsParser::runSelection($oSelection);
                if (count($aIDs)) {
                    $oObject = umiObjectsCollection::getInstance()->getObject($aIDs[0]);
                    $to = $oObject->getValue('address_list');
                    $sRecipientName = $oObject->getValue('address_description');
                } else {
                    if (!defined("DB_DRIVER") || DB_DRIVER != "xml") {
                        $sql = "SELECT email, descr FROM cms_webforms WHERE id={$email_to}";
                        $result = l_mysql_query($sql);
                        list($to, $sRecipientName) = mysql_fetch_row($result);
                    } else {
                        $this->redirect($this->pre_lang . "/webforms/posted/?template=error_no_recipient");
                    }
                }
            }
        } else {
            $this->checkAddressExistence($email_to);
            $to = $email_to;
        }
        if (!$data['email_from'] && isset($data['email'])) {
            $data['email_from'] = $data['email'];
        }
        $someMail = new umiMail();
        $arrMails = explode(",", $to);
        $arrMails = array_map("trim", $arrMails);
        foreach ($arrMails as $sEmail) {
            $someMail->addRecipient($sEmail, $sRecipientName);
        }
        $from = $data['fname'] . " " . $data['lname'];
        $someMail->setFrom($data['email_from'], $from);
        $mess = "";
        if (is_array($data)) {
            if (isset($data['subject'])) {
                $subject = $data['subject'];
            }
            if (isset($data['fio'])) {
                $from = $data['fio'];
            }
            if ($data['fname'] || $data['lname'] || $data['mname']) {
                $from = $data['lname'] . " " . $data['fname'] . " " . $data['mname'];
            }
            if ($data['fio_frm']) {
                $from = $data['fio_frm'];
            }
            if ($email_from = $data['email_from']) {
                $email_from = $data['email_from'];
            }
            $mess = <<<END

<table border="0" width="100%">

END;
            if (is_array($_FILES['data']['name'])) {
                $data = array_merge($data, $_FILES['data']['name']);
            }
            $uploadDir = CURRENT_WORKING_DIR . "/sys-temp/uploads";
            if (!is_dir($uploadDir)) {
                mkdir($uploadDir);
            }
            $max_size = getBytesFromString(mainConfiguration::getInstance()->get('system', 'quota-files-and-images'));
            if ($max_size != 0) {
                $summary_size = getBusyDiskSize(array('/images', '/files', '/sys-temp/uploads'));
            }
            foreach ($data as $field => $cont) {
                if ($filename = $_FILES['data']['name'][$field]) {
                    if ($max_size == 0 || $summary_size + $_FILES['data']['size'][$field] <= $max_size) {
                        $file = umiFile::upload('data', $field, $uploadDir);
                        if (!$file) {
                            $this->errorNewMessage("%errors_wrong_file_type%");
                            $this->errorPanic();
                        }
                        $someMail->attachFile($file);
                        $summary_size += $_FILES['data']['size'][$field];
                    } else {
                        $cont = def_module::parseTPLMacroses("%not_enough_space_for_load_file%");
                    }
                }
                if (!is_array($cont)) {
                    $cont = str_replace("%", "&#37;", $cont);
                }
                if (!$cont) {
                    $cont = "&mdash;";
                }
                if (is_array($cont)) {
                    foreach ($cont as $i => $v) {
                        $cont[$i] = str_replace("%", "&#37;", $v);
                    }
                    $cont = implode(", ", $cont);
                }
                $label = $_REQUEST['labels'][$field] ? $_REQUEST['labels'][$field] : "%" . $field . "%";
                $mess .= <<<END

\t<tr>
\t\t<td width="30%">
\t\t\t{$label}:
\t\t</td>

\t\t<td>
\t\t\t{$cont}
\t\t</td>
\t</tr>

END;
            }
            $mess .= <<<END

</table>
<hr />

END;
        }
        if ($from) {
            $user_fio_from = $from;
        }
        $message = str_replace("%", "&#37;", $message);
        $mess .= nl2br($message);
        if (!$from) {
            $from = regedit::getInstance()->getVal("//settings/fio_from");
        }
        if (!$from_email) {
            $from_email = regedit::getInstance()->getVal("//settings/email_from");
        }
        $from = $from . "<" . $from_email . ">";
        $someMail->setSubject($subject);
        $someMail->setContent($mess);
        $someMail->commit();
        $someMail->send();
        if ($template = (string) $_REQUEST['template']) {
            //Sending auto-reply
            list($template_mail, $template_mail_subject) = def_module::loadTemplatesForMail("webforms/" . $template, "webforms_reply_mail", "webforms_reply_mail_subject");
            $template_mail = def_module::parseTemplateForMail($template_mail, $arr);
            $template_mail_subject = def_module::parseTemplateForMail($template_mail, $arr);
            $check_param = false;
            if (!is_array($template_mail)) {
                if ((bool) strlen($template_mail)) {
                    $check_param = true;
                }
            }
            if ($check_param) {
                $email_from = regedit::getInstance()->getVal("//settings/email_from");
                $fio_from = regedit::getInstance()->getVal("//settings/fio_from");
                $replyMail = new umiMail();
                $replyMail->addRecipient($data['email_from'], $from);
                $replyMail->setFrom($email_from, $fio_from);
                $replyMail->setSubject($template_mail_subject);
                $replyMail->setContent($template_mail);
                $replyMail->commit();
                $replyMail->send();
            }
        }
        $oEventPoint = new umiEventPoint("webforms_post");
        $oEventPoint->setMode("after");
        $oEventPoint->setParam("email", $data['email_from']);
        $oEventPoint->setParam("fio", $user_fio_from);
        $this->setEventPoint($oEventPoint);
        $url = getRequest('ref_onsuccess');
        if (!$url) {
            $url = $this->pre_lang . "/webforms/posted/";
        }
        if ($template) {
            $url .= (strpos($url, '?') === false ? '?' : '&') . "template=" . $template;
        }
        error_reporting($iOldErrorReportingLevel);
        $this->redirect($url);
    }
예제 #29
0
	public function login_do() {
		$res = "";
		$login = getRequest('login');
		$password = getRequest('password');
		$skin_sel = getRequest('skin_sel');

		$from_page = getRequest('from_page');

		if(!$login) return $this->auth();

		$permissions = permissionsCollection::getInstance();
		$cmsController = cmsController::getInstance();

		$user = $permissions->checkLogin($login, $password);

		if($user instanceof iUmiObject) {
			$permissions->loginAsUser($user);

			if ($permissions->isSv($user->id)) {
				$_SESSION['user_is_sv'] = true;
			}

			$login = $user->getValue('login');

			session_commit();

			$oEventPoint = new umiEventPoint("users_login_successfull");
			$oEventPoint->setParam("user_id", $user->id);
			$this->setEventPoint($oEventPoint);

			if($cmsController->getCurrentMode() == "admin") {
				ulangStream::getLangPrefix();
				system_get_skinName();
				$this->chooseRedirect($from_page);
			} else {
				if(!$from_page) {
					$from_page = getServer('HTTP_REFERER');
				}
				$this->redirect($from_page ? $from_page : ($this->pre_lang . '/users/auth/'));
			}

		} else {
			$oEventPoint = new umiEventPoint("users_login_failed");
			$oEventPoint->setParam("login", $login);
			$oEventPoint->setParam("password", $password);
			$this->setEventPoint($oEventPoint);

			$res = '<p><warning>%users_error_loginfailed%</warning></p>%users auth()%';

			if($cmsController->getCurrentMode() == "admin") {
				throw new publicAdminException(getLabel('label-text-error'));
			} else return $this->auth();
		}

		return $res;
	}
예제 #30
0
 protected function importObject(DOMElement $vcaf9b6b99962bf5c2264824231d7a40c)
 {
     $v61ce6a78cb3c8547fed20990c92edfe3 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('id');
     if (!strlen($v61ce6a78cb3c8547fed20990c92edfe3)) {
         $this->reportError("Can't create object {$vb068931cc450442b63f5b3d276ea4297} with empty id");
         return false;
     }
     $v1e0ca5b1252f1f6b1e0ac91be7e7219e = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('guid') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('guid') : null;
     $vb068931cc450442b63f5b3d276ea4297 = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('name') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('name') : null;
     $v5f6492d9717ccf1b8566bd4bc64110b6 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('type-id');
     $vdff819de3d610895b1bdf4168281488c = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('update-only') == '1';
     $v1945c9a2a5e2ba6133f1db6757a35fcb = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('locked');
     $vdb6d9b451b818ccc9a449383f2f0c450 = umiObjectsCollection::getInstance();
     $v953e1ee8066af1b7e55300750533ddc8 = umiObjectTypesCollection::getInstance();
     $ve2fa538867c3830a859a5b17ab24644b = false;
     $vaf31437ce61345f416579830a98c91e5 = false;
     if (!is_null($v1e0ca5b1252f1f6b1e0ac91be7e7219e)) {
         $vaf31437ce61345f416579830a98c91e5 = $vdb6d9b451b818ccc9a449383f2f0c450->getObjectIdByGUID($v1e0ca5b1252f1f6b1e0ac91be7e7219e);
         if ($vaf31437ce61345f416579830a98c91e5 && $vaf31437ce61345f416579830a98c91e5 != $this->relations->getNewObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3)) {
             $this->relations->setObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $vaf31437ce61345f416579830a98c91e5);
         }
     }
     if (!$vaf31437ce61345f416579830a98c91e5) {
         $vaf31437ce61345f416579830a98c91e5 = $this->relations->getNewObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3);
     }
     if ($vaf31437ce61345f416579830a98c91e5 && $this->update_ignore) {
         $this->writeLog($this->getLabel('label-object') . " \"" . $vb068931cc450442b63f5b3d276ea4297 . "\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}) " . $this->getLabel('label-already-exists'));
         return $vdb6d9b451b818ccc9a449383f2f0c450->getObject($vaf31437ce61345f416579830a98c91e5);
     }
     if (!$vaf31437ce61345f416579830a98c91e5) {
         if ($vdff819de3d610895b1bdf4168281488c) {
             return false;
         }
         if (!$vb068931cc450442b63f5b3d276ea4297) {
             $vb068931cc450442b63f5b3d276ea4297 = $v61ce6a78cb3c8547fed20990c92edfe3;
         }
         if (!strlen($v5f6492d9717ccf1b8566bd4bc64110b6)) {
             $this->reportError($this->getLabel('label-cannot-create-object') . " \"{$vb068931cc450442b63f5b3d276ea4297}\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}): " . $this->getLabel('label-cannot-detect-type'));
             return false;
         }
         $v94757cae63fd3e398c0811a976dd6bbe = $this->relations->getNewTypeIdRelation($this->source_id, $v5f6492d9717ccf1b8566bd4bc64110b6);
         $v599dcce2998a6b40b1e38e8c6006cb0a = $v953e1ee8066af1b7e55300750533ddc8->getType($v94757cae63fd3e398c0811a976dd6bbe);
         if (!$v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) {
             $this->reportError($this->getLabel('label-cannot-create-object') . " \"{$vb068931cc450442b63f5b3d276ea4297}\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}): " . $this->getLabel('label-cannot-detect-type') . " #{$v5f6492d9717ccf1b8566bd4bc64110b6}");
             return false;
         }
         if ($this->demosite_mode) {
             $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->getHierarchyTypeId();
             if ($vacf567c9c3d6cf7c6e2cc0ce108e0631) {
                 $v89b0b9deff65f8b9cd1f71bc74ce36ba = umiHierarchyTypesCollection::getInstance()->getType($vacf567c9c3d6cf7c6e2cc0ce108e0631);
                 if ($v89b0b9deff65f8b9cd1f71bc74ce36ba instanceof umiHierarchyType) {
                     $v22884db148f0ffb0d830ba431102b0b5 = $v89b0b9deff65f8b9cd1f71bc74ce36ba->getModule();
                     if (!regedit::getInstance()->getVal("//modules/{$v22884db148f0ffb0d830ba431102b0b5}")) {
                         return false;
                     }
                 }
             }
         }
         $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnAddObject");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_object_id", $v61ce6a78cb3c8547fed20990c92edfe3);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("type", $v599dcce2998a6b40b1e38e8c6006cb0a);
         umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
         $vaf31437ce61345f416579830a98c91e5 = $vdb6d9b451b818ccc9a449383f2f0c450->addObject($vb068931cc450442b63f5b3d276ea4297, $v94757cae63fd3e398c0811a976dd6bbe, $v1945c9a2a5e2ba6133f1db6757a35fcb == 'locked' || $v1945c9a2a5e2ba6133f1db6757a35fcb == '1');
         $this->relations->setObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $vaf31437ce61345f416579830a98c91e5);
         $ve2fa538867c3830a859a5b17ab24644b = true;
     }
     $va8cfde6331bd59eb2ac96f8911c4b666 = $vdb6d9b451b818ccc9a449383f2f0c450->getObject($vaf31437ce61345f416579830a98c91e5);
     if (!$va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject) {
         return false;
     }
     if (!is_null($v1e0ca5b1252f1f6b1e0ac91be7e7219e)) {
         $va8cfde6331bd59eb2ac96f8911c4b666->setGUID($v1e0ca5b1252f1f6b1e0ac91be7e7219e);
     }
     if (!$ve2fa538867c3830a859a5b17ab24644b) {
         $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnUpdateObject");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c);
         umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     }
     if (!is_null($vb068931cc450442b63f5b3d276ea4297)) {
         $va8cfde6331bd59eb2ac96f8911c4b666->setName($vb068931cc450442b63f5b3d276ea4297);
     }
     $this->importPropValues($va8cfde6331bd59eb2ac96f8911c4b666, $vcaf9b6b99962bf5c2264824231d7a40c, $ve2fa538867c3830a859a5b17ab24644b);
     if ($ve2fa538867c3830a859a5b17ab24644b) {
         $this->created_objects++;
         $this->writeLog($this->getLabel('label-object') . " \"" . $va8cfde6331bd59eb2ac96f8911c4b666->getName() . "\" (" . $v61ce6a78cb3c8547fed20990c92edfe3 . ") " . $this->getLabel('label-has-been-created-m'));
     } elseif ($va8cfde6331bd59eb2ac96f8911c4b666->getIsUpdated()) {
         $this->updated_objects++;
         $this->writeLog($this->getLabel('label-object') . " \"" . $va8cfde6331bd59eb2ac96f8911c4b666->getName() . "\" (" . $v61ce6a78cb3c8547fed20990c92edfe3 . ") " . $this->getLabel('label-has-been-updated-m'));
     }
     if ($ve2fa538867c3830a859a5b17ab24644b) {
         $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnAddObject");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c);
         umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     } else {
         $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnUpdateObject");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after");
         $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666);
         $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c);
         umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45);
     }
     $va8cfde6331bd59eb2ac96f8911c4b666->commit();
     $vdb6d9b451b818ccc9a449383f2f0c450->unloadObject($vaf31437ce61345f416579830a98c91e5);
     return $va8cfde6331bd59eb2ac96f8911c4b666;
 }