/** * Закрывает одно сообщение и сохраняет информацию об этом в профиле пользователя * */ public function closeUmiMessage() { $this->flushAsXML("closeUmiMessage"); $permissions = permissionsCollection::getInstance(); $objects = umiObjectsCollection::getInstance(); $user_id = $permissions->getUserId(); $user = $objects->getObject($user_id); if ($user instanceof umiObject == false) { throw new coreException("Can't get current user with id #{$user_id}"); } $settings_data = $user->getValue("user_settings_data"); $settings_data = unserialize($settings_data); if (!is_array($settings_data)) { $settings_data = array(); } $value = (int) getRequest('value'); if (isset($settings_data['umiMessages']['closed']) && $settings_data['umiMessages']['closed'] != '') { $closed = explode(';', $settings_data['umiMessages']['closed']); $closed[] = $value; $closed = array_unique($closed); $settings_data['umiMessages']['closed'] = implode(';', $closed); } else { $settings_data['umiMessages']['closed'] = $value; } $user->setValue("user_settings_data", serialize($settings_data)); $user->commit(); }
public function get_filemanager_info() { $buffer = outputBuffer::current(); $buffer->contentType('text/javascript'); $buffer->option('generation-time', false); $buffer->clear(); $json = new jsonTranslator(); $folder = (string) getRequest('folder'); $file = (string) getRequest('file'); $folderHash = $folder ? elfinder_get_hash($folder) : ''; $fileHash = $file ? elfinder_get_hash($file) : ''; $objects = umiObjectsCollection::getInstance(); $userId = permissionsCollection::getInstance()->getUserId(); $user = $objects->getObject($userId); $fmId = $user->getValue('filemanager'); if ($fmId) { $fm = $objects->getObject($fmId); $fmPrefix = $fm->getValue('fm_prefix') ? $fm->getValue('fm_prefix') : 'elfinder'; } else { $fmPrefix = 'elfinder'; } $lang = cmsController::getInstance()->getCurrentLang()->getPrefix(); $data = array('folder_hash' => $folderHash, 'file_hash' => $fileHash, 'filemanager' => $fmPrefix, 'lang' => $lang); $result = $json->translateToJson($data); $buffer->push($result); $buffer->end(); }
public function profile($template = "default", $user_id = false) { if (!$template) { $template = "default"; } list($template_block, $template_bad_user_block) = def_module::loadTemplates("users/profile/" . $template, "profile_block", "bad_user_block"); $block_arr = array(); if (!$user_id) { $user_id = (int) getRequest('param0'); } if (!$user_id) { $permissions = permissionsCollection::getInstance(); if ($permissions->isAuth()) { $user_id = $permissions->getUserId(); } } if ($user = selector::get('object')->id($user_id)) { $this->validateEntityByTypes($user, array('module' => 'users', 'method' => 'user')); $block_arr['xlink:href'] = "uobject://" . $user_id; $userTypeId = $user->getTypeId(); if ($userType = umiObjectTypesCollection::getInstance()->getType($userTypeId)) { $userHierarchyTypeId = $userType->getHierarchyTypeId(); if ($userHierarchyType = umiHierarchyTypesCollection::getInstance()->getType($userHierarchyTypeId)) { if ($userHierarchyType->getName() == "users" && $userHierarchyType->getExt() == "user") { $block_arr['id'] = $user_id; return def_module::parseTemplate($template_block, $block_arr, false, $user_id); } } } } else { throw new publicException(getLabel('error-object-does-not-exist', null, $user_id)); } return def_module::parseTemplate($template_bad_user_block, $block_arr); }
public static function isAllowedFileType($v566bbee0f961ad71b54c3c2fd36db053) { $v566bbee0f961ad71b54c3c2fd36db053 = strtolower($v566bbee0f961ad71b54c3c2fd36db053); if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$forbiddenFileTypes)) { return false; } if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedFileTypes) || in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedImageTypes)) { return true; } if (is_null(self::$allowedUserFileTypes)) { $v8e44f0089b076e18a718eb9ca3d94674 = permissionsCollection::getInstance()->getUserId(); $v23e91e891070db669547556402a176b5 = umiObjectsCollection::getInstance()->getObject($v8e44f0089b076e18a718eb9ca3d94674)->getValue('appended_file_extensions'); self::$allowedUserFileTypes = array(); foreach (explode(',', $v23e91e891070db669547556402a176b5) as $va175f0d82e080972dd2c0cf2c56450b3) { $va175f0d82e080972dd2c0cf2c56450b3 = strtolower(trim($va175f0d82e080972dd2c0cf2c56450b3)); if (strlen($va175f0d82e080972dd2c0cf2c56450b3)) { self::$allowedUserFileTypes[] = $va175f0d82e080972dd2c0cf2c56450b3; } } } if (in_array($v566bbee0f961ad71b54c3c2fd36db053, self::$allowedUserFileTypes)) { return true; } return false; }
/** * Слить все заказы покупателя в профиль пользователя. * Объект покупателя после этого будет уничтожен */ public function merge(umiObject $customer) { $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('customer_id')->equals($customer->id); $sel->where('domain_id')->equals($domainId); $sel->order('id')->desc(); $permissions = permissionsCollection::getInstance(); $userId = $permissions->getUserId(); foreach($sel as $order) { if(!$order->status_id) { $this->mergeBasket($order); continue; } $order->customer_id = $userId; $order->commit(); } if (!defined('UMICMS_CLI_MODE') || !UMICMS_CLI_MODE) { setcookie('customer-id', 0, 1, '/'); } $customer->delete(); }
public static function checkCaptcha() { $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); if (!$v2245023265ae4cf87d02c8b6ba991139->get('anti-spam', 'captcha.enabled')) { return true; } $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); if ($v41275a535677f79ff347e01bc530c176->isAuth()) { return true; } if (isset($_COOKIE['umi_captcha']) && strlen($_COOKIE['umi_captcha'])) { if ($_COOKIE['umi_captcha'] == md5(getArrayKey($_COOKIE, 'user_captcha')) || $_COOKIE['umi_captcha'] == md5(getRequest('captcha'))) { $v70b29c4920daf4e51e8175179027e668 = getRequest('captcha'); if (md5($v70b29c4920daf4e51e8175179027e668) == $_COOKIE['umi_captcha']) { setcookie("user_captcha", $v70b29c4920daf4e51e8175179027e668, time() + 3600 * 24 * 31, "/"); } $_SESSION['is_human'] = 1; return true; } else { unset($_SESSION['is_human']); return false; } } return false; }
public function cleanup($v9a0364b9e99bb480dd25e1f0284c8555) { $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); if (!$v41275a535677f79ff347e01bc530c176->isAdmin() && (int) $v2245023265ae4cf87d02c8b6ba991139->get('system', 'clean-eip-attributes')) { $v9a0364b9e99bb480dd25e1f0284c8555 = $this->cleanEIPAttributes($v9a0364b9e99bb480dd25e1f0284c8555); } if (!intval($v2245023265ae4cf87d02c8b6ba991139->get("kernel", "show-broken-macro"))) { $v9a0364b9e99bb480dd25e1f0284c8555 = $this->cleanBrokenMacro($v9a0364b9e99bb480dd25e1f0284c8555); } return $v9a0364b9e99bb480dd25e1f0284c8555; }
public function shared_file($template = "default", $element_path = false) { if (!$template) { $template = "default"; } list($s_download_file, $s_broken_file, $s_upload_file) = def_module::loadTemplates("filemanager/" . $template, "shared_file", "broken_file", "upload_file"); $element_id = $this->analyzeRequiredPath($element_path); $element = umiHierarchy::getInstance()->getElement($element_id); $block_arr = array(); $template_block = $s_broken_file; if ($element) { // upload file if allowed $iUserId = cmsController::getInstance()->getModule('users')->user_id; list($bAllowRead, $bAllowWrite) = permissionsCollection::getInstance()->isAllowedObject($iUserId, $element_id); $block_arr['upload_file'] = ""; if ($bAllowWrite) { $block_arr['upload_file'] = $s_upload_file; // upload first file in $_FILES if (count($_FILES)) { $oUploadedFile = umiFile::upload("shared_files", "upload", "./files/"); if ($oUploadedFile instanceof umiFile) { $element->setValue("fs_file", $oUploadedFile); $element->commit(); } } } $block_arr['id'] = $element_id; $block_arr['descr'] = ($descr = $element->getValue("descr")) ? $descr : $element->getValue("content"); $block_arr['alt_name'] = $element->getAltName(); $block_arr['link'] = umiHierarchy::getInstance()->getPathById($element_id); // file $block_arr['download_link'] = ""; $block_arr['file_name'] = ""; $block_arr['file_size'] = 0; $o_file = $element->getValue("fs_file"); if ($o_file instanceof umiFile) { if (!$o_file->getIsBroken()) { $template_block = $s_download_file; $block_arr['download_link'] = $this->pre_lang . "/filemanager/download/" . $element_id; $block_arr['file_name'] = $o_file->getFileName(); $block_arr['file_size'] = round($o_file->getSize() / 1024, 2); } } } else { return cmsController::getInstance()->getModule("users")->auth(); } $this->pushEditable("filemanager", "shared_file", $element_id); return self::parseTemplate($template_block, $block_arr); }
public function getSystemEventRecipients() { $permissions = permissionsCollection::getInstance(); $currentUserId = $permissions->getUserId(); $sel = new selector('objects'); $sel->types('object-type')->name('users', 'user'); $sel->where('groups')->equals(SV_GROUP_ID); $result = array(SV_USER_ID); foreach ($sel as $user) { if ($user->id != $currentUserId) { $result[] = $user->id; } } return $result; }
public function saveUserSettings() { $this->flushAsXML("saveUserSettings"); $permissions = permissionsCollection::getInstance(); $objects = umiObjectsCollection::getInstance(); $user_id = $permissions->getUserId(); $user = $objects->getObject($user_id); if($user instanceof umiObject == false) { throw new coreException("Can't get current user with id #{$user_id}"); } $settings_data = $user->getValue("user_settings_data"); $settings_data = unserialize($settings_data); if(!is_array($settings_data)) { $settings_data = Array(); } $key = getRequest('key'); $value = getRequest('value'); $tags = (Array) getRequest('tags'); if(!$key) { throw new publicException("You should pass \"key\" parameter to this resourse"); } if(sizeof($tags) == 0) { $tags[] = 'common'; } foreach($tags as $tag) { if(!$value) { if(isset($settings_data[$key][$tag])) { unset($settings_data[$key][$tag]); if(sizeof($settings_data[$key]) == 0) { unset($settings_data[$key]); } } } else { $settings_data[$key][$tag] = $value; } } $user->setValue("user_settings_data", serialize($settings_data)); $user->commit(); }
/** * Создать новый пустой заказ * @return Integer $order id нового заказа */ public static function create($useDummyOrder = false) { $objectTypes = umiObjectTypesCollection::getInstance(); $objects = umiObjectsCollection::getInstance(); $permissions = permissionsCollection::getInstance(); $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $orderTypeId = $objectTypes->getBaseType('emarket', 'order'); if ($useDummyOrder) { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('name')->equals('dummy'); $sel->limit(0, 1); if ($sel->length()) { $orderId = $sel->first->id; } else { $orderTypeId = $objectTypes->getBaseType('emarket', 'order'); $orderId = $objects->addObject('dummy', $orderTypeId); $order = $objects->getObject($orderId); if ($order instanceof iUmiObject == false) { throw new publicException("Can't load dummy object for order #{$orderId}"); } else { $order->setValue('domain_id', $domainId); $order->commit(); } } return self::get($orderId); } $managerId = 0; $statusId = self::getStatusByCode('basket'); $customer = customer::get(); $createTime = time(); $orderId = $objects->addObject('', $orderTypeId); $order = $objects->getObject($orderId); if ($order instanceof iUmiObject == false) { throw new publicException("Can't load created object for order #{$orderId}"); } $order->domain_id = $domainId; $order->manager_id = $managerId; $order->status_id = $statusId; $order->customer_id = $customer->getId(); $order->order_create_date = $createTime; $order->commit(); $customer->setLastOrder($orderId, $domainId); return self::get($orderId); }
public function sitetree() { $domains = domainsCollection::getInstance()->getList(); $permissions = permissionsCollection::getInstance(); $user_id = $permissions->getUserId(); $this->setDataType("list"); $this->setActionType("view"); foreach ($domains as $i => $domain) { $domain_id = $domain->getId(); if (!$permissions->isAllowedDomain($user_id, $domain_id)) { unset($domains[$i]); } } $data = $this->prepareData($domains, "domains"); $this->setData($data, sizeof($domains)); return $this->doData(); }
public function tickets() { $mode = getRequest('param0'); $id = getRequest('param1'); $objects = umiObjectsCollection::getInstance(); $buffer = outputBuffer::current(); $buffer->contentType('text/javascript'); $buffer->option('generation-time', false); $buffer->clear(); $json = new jsonTranslator(); if ($mode == 'create') { $type = selector::get('object-type')->name('content', 'ticket'); $id = $objects->addObject(null, $type->getId()); } if ($id) { $ticket = selector::get('object')->id($id); $this->validateEntityByTypes($ticket, array('module' => 'content', 'method' => 'ticket')); } else { throw new publicException("Wrong params"); } if ($mode == 'delete') { $objects->delObject($id); $buffer->end(); } $ticket->x = (int) getRequest('x'); $ticket->y = (int) getRequest('y'); $ticket->width = (int) getRequest('width'); $ticket->height = (int) getRequest('height'); $ticket->message = $ticket->name = getRequest('message'); $url = getRequest('referer') ? getRequest('referer') : getServer('HTTP_REFERER'); $url = str_replace("%", "%", $url); if ($url) { $ticket->url = $url; } if ($mode == 'create') { $permissions = permissionsCollection::getInstance(); $ticket->user_id = $permissions->getUserId(); } $ticket->commit(); $data = array('id' => $ticket->id); $result = $json->translateToJson($data); $buffer->push($result); $buffer->end(); }
public function edit() { $element = $this->expectElement("param0"); $mode = (string) getRequest('param1'); $this->setHeaderLabel('header-blogs20-edit-' . $this->getObjectTypeMethod($element->getObject())); $inputData = array("element" => $element, "allowed-element-types" => array('post', 'blog', 'comment')); if ($mode == "do") { $this->saveEditedElementData($inputData); if ($element->getTypeId() == umiHierarchyTypesCollection::getInstance()->getTypeByName('blogs20', 'blog')->getId()) { permissionsCollection::getInstance()->setElementPermissions($element->getObject()->getOwnerId(), $element->getId(), 31); } $this->chooseRedirect(); } $this->setDataType("form"); $this->setActionType("modify"); $data = $this->prepareData($inputData, "page"); $this->setData($data); return $this->doData(); }
public static function runSelection(umiSelection $vef5714e0519bfaa645cdff7d28843b70) { static $v41275a535677f79ff347e01bc530c176; if ($vef5714e0519bfaa645cdff7d28843b70->result !== false) { return $vef5714e0519bfaa645cdff7d28843b70->result; } $v59f8ce5cb01404063bd7eb308df3b7dc = self::parseSelection($vef5714e0519bfaa645cdff7d28843b70); if (!$v59f8ce5cb01404063bd7eb308df3b7dc['result']) { return false; } $result = l_mysql_query($v59f8ce5cb01404063bd7eb308df3b7dc['result']); $v9b207167e5381c47682c6b4f58a623fb = array(); while ($vf1965a857bc285d26fe22023aa5ab50d = mysql_fetch_row($result)) { list($v7057e8409c7c531a1a6e9ac3df4ed549) = $vf1965a857bc285d26fe22023aa5ab50d; if (isset($vf1965a857bc285d26fe22023aa5ab50d[1])) { if (!$v41275a535677f79ff347e01bc530c176) { $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); } $v41275a535677f79ff347e01bc530c176->pushElementPermissions($v7057e8409c7c531a1a6e9ac3df4ed549, $vf1965a857bc285d26fe22023aa5ab50d[1]); } $v7057e8409c7c531a1a6e9ac3df4ed549 = intval($v7057e8409c7c531a1a6e9ac3df4ed549); if (in_array($v7057e8409c7c531a1a6e9ac3df4ed549, $v9b207167e5381c47682c6b4f58a623fb) == false) { $v9b207167e5381c47682c6b4f58a623fb[] = $v7057e8409c7c531a1a6e9ac3df4ed549; } } if ($vef5714e0519bfaa645cdff7d28843b70->excludeNestedPages) { $v9b207167e5381c47682c6b4f58a623fb = self::excludeNestedPages($v9b207167e5381c47682c6b4f58a623fb); } $vef5714e0519bfaa645cdff7d28843b70->result = $v9b207167e5381c47682c6b4f58a623fb; if (defined("DISABLE_CALC_FOUND_ROWS")) { if (DISABLE_CALC_FOUND_ROWS) { $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT FOUND_ROWS()"; $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a, true); list($ve2942a04780e223b215eb8b663cf5353) = mysql_fetch_row($result); $vef5714e0519bfaa645cdff7d28843b70->count = $ve2942a04780e223b215eb8b663cf5353; } } if ($vef5714e0519bfaa645cdff7d28843b70->optimize_root_search_query) { $vef5714e0519bfaa645cdff7d28843b70->count = false; } return $vef5714e0519bfaa645cdff7d28843b70->result; }
public static function getUser() { static $vee11cbb19052e40b07aac0ca060c23ee = null; if ($vee11cbb19052e40b07aac0ca060c23ee) { return $vee11cbb19052e40b07aac0ca060c23ee; } $vb10a8c0bede9eb4ea771b04db3149f28 = ConnectionPool::getInstance(); $v4717d53ebfdfea8477f780ec66151dcb = $vb10a8c0bede9eb4ea771b04db3149f28->getConnection(); umiEventFeedUser::setConnection($v4717d53ebfdfea8477f780ec66151dcb); umiEventFeedType::setConnection($v4717d53ebfdfea8477f780ec66151dcb); $v8e44f0089b076e18a718eb9ca3d94674 = permissionsCollection::getInstance()->getUserId(); try { $vee11cbb19052e40b07aac0ca060c23ee = umiEventFeedUser::get($v8e44f0089b076e18a718eb9ca3d94674); } catch (Exception $ve1671797c52e15f763380b45e841ec32) { $vee11cbb19052e40b07aac0ca060c23ee = umiEventFeedUser::create($v8e44f0089b076e18a718eb9ca3d94674); $v2e5d8aa3dfa8ef34ca5131d20f9dad51 = array(); $vee11cbb19052e40b07aac0ca060c23ee->setSettings($v2e5d8aa3dfa8ef34ca5131d20f9dad51); $vee11cbb19052e40b07aac0ca060c23ee->save(); } return $vee11cbb19052e40b07aac0ca060c23ee; }
protected function run() { $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); $v834239295ea6020233dda11b3d85af21 = $v41275a535677f79ff347e01bc530c176->isSv(); $v15d61712450a686a7f365adf4fef581f = $this->selector->mode; l_mysql_query("START TRANSACTION /* Get alphabetical index */"); l_mysql_query("DROP TABLE IF EXISTS `alphabetical_index`"); $vac5c74b64b4b8352ef2f181affb5ac2a = "CREATE TABLE `alphabetical_index` ("; $vac5c74b64b4b8352ef2f181affb5ac2a .= "id int unsigned not null)"; l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); $v1b1cc7f086b3f074da452bc3129981eb = $this->selector->query(); $vac5c74b64b4b8352ef2f181affb5ac2a = "INSERT INTO `alphabetical_index` {$v1b1cc7f086b3f074da452bc3129981eb}"; l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); if ($v15d61712450a686a7f365adf4fef581f == 'pages') { $vac5c74b64b4b8352ef2f181affb5ac2a = <<<SQL SELECT LEFT(LOWER(`o`.`name`), 1) AS `letter`, COUNT(*) AS `cnt` \tFROM `alphabetical_index` `ai`, `cms3_hierarchy` `h`, `cms3_objects` `o` \tWHERE `h`.`id` = `ai`.`id` AND `o`.`id` = `h`.`obj_id` \tGROUP BY `letter` \tORDER BY `letter`; SQL; } else { $vac5c74b64b4b8352ef2f181affb5ac2a = <<<SQL SELECT SQCL_CACHE LEFT(LOWER(`o`.`name`), 1) AS `letter`, COUNT(*) AS `cnt` \tFROM `alphabetical_index` `ai`, `cms3_objects` `o` \tWHERE `o`.`id` = `ai`.`id` \tGROUP BY `letter` \tORDER BY `letter`; SQL; } $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); $v6a992d5529f459a44fee58c733255e86 = array(); while (list($vf5b75010ea8a54b96f8fe7dafac65c18, $ve2942a04780e223b215eb8b663cf5353) = mysql_fetch_row($result)) { $v6a992d5529f459a44fee58c733255e86[$vf5b75010ea8a54b96f8fe7dafac65c18] = (int) $ve2942a04780e223b215eb8b663cf5353; } l_mysql_query("DROP TABLE IF EXISTS `alphabetical_index`"); l_mysql_query("COMMIT"); return $v6a992d5529f459a44fee58c733255e86; }
public function addNewPicasaPhotoalbum($title, $body) { $hierarchy = umiHierarchy::getInstance(); $hierarchyTypes = umiHierarchyTypesCollection::getInstance(); $cmsController = cmsController::getInstance(); $hierarchy_type_id = $hierarchyTypes->getTypeByName("photoalbum", "album")->getId(); $element_id = $hierarchy->addElement(0, $hierarchy_type_id, $title, $title); permissionsCollection::getInstance()->setDefaultPermissions($element_id); $element = $hierarchy->getElement($element_id, true); $element->setIsActive(true); $element->setIsVisible(false); $element->setName($title); $element->setValue("h1", $title); $element->setValue("descr", $body); $element->setValue("create_time", time()); $element->commit(); return $element_id; }
public function restoreUser() { $userId = getSession('old_user_id'); $objects = umiObjectsCollection::getInstance(); $user = $objects->getObject($userId); if (!$user instanceof umiObject) { return false; } session_destroy(); setcookie('u-login', "", time() - 3600, "/"); setcookie('u-password', "", time() - 3600, "/"); setcookie('u-password-md5', "", time() - 3600, "/"); setcookie ('eip-panel-state-first', "", time() - 3600, "/"); setcookie('customer-id', "", time() - 3600, "/"); session_start(); $permissions = permissionsCollection::getInstance(); $permissions->loginAsUser($userId); if ($permissions->isSv($userId)) { $_SESSION['user_is_sv'] = true; } $this->redirect("/"); }
protected function addOwner($vb0ab4f7791b60b1e8ea01057b77873b0) { if (in_array($vb0ab4f7791b60b1e8ea01057b77873b0, $this->owners)) { return; } $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance(); $va8cfde6331bd59eb2ac96f8911c4b666 = $v5891da2d64975cae48d175d1e001f5da->getObject($vb0ab4f7791b60b1e8ea01057b77873b0); if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof iUmiObject) { if ($v41275a535677f79ff347e01bc530c176->isSv($vb0ab4f7791b60b1e8ea01057b77873b0)) { $this->isSv = true; return; } $this->owners[] = $vb0ab4f7791b60b1e8ea01057b77873b0; if ($va8cfde6331bd59eb2ac96f8911c4b666->groups) { $this->owners = array_merge($this->owners, $va8cfde6331bd59eb2ac96f8911c4b666->groups); } } }
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); }
protected function translateData(iUmiHierarchyElement $v8e2dcfd7e7e24b1ca76c1193f645902b) { $v7552cd149af7495ee7d8225974e50f80 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getId(); $v26b75b176d665f24a5fd22a2ad815763 = array(); $v8b1dc169bf460ee884fceef66c6607d6 = cmsController::getInstance(); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); $v6942e8fa62b3cc9d93881a58210e2fd7 = umiHierarchyTypesCollection::getInstance(); $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance(); $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance(); $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance(); $v26b75b176d665f24a5fd22a2ad815763['@id'] = $v7552cd149af7495ee7d8225974e50f80; $v26b75b176d665f24a5fd22a2ad815763['@parentId'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getParentId(); $v26b75b176d665f24a5fd22a2ad815763['@link'] = $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v7552cd149af7495ee7d8225974e50f80); if ($vf62baf4c4ead98d50d516eca0ac5a746 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsDefault()) { $v26b75b176d665f24a5fd22a2ad815763['@is-default'] = $vf62baf4c4ead98d50d516eca0ac5a746; } if ($ve1c6c9ef2fcbe75f26f815c4ef2e60b4 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsVisible()) { $v26b75b176d665f24a5fd22a2ad815763['@is-visible'] = $ve1c6c9ef2fcbe75f26f815c4ef2e60b4; } if ($v4264c638e0098acb172519b0436db099 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsActive()) { $v26b75b176d665f24a5fd22a2ad815763['@is-active'] = $v4264c638e0098acb172519b0436db099; } if ($vf49e2553045b3240a95c36854d36dddc = $v8e2dcfd7e7e24b1ca76c1193f645902b->getIsDeleted()) { $v26b75b176d665f24a5fd22a2ad815763['@is-deleted'] = $vf49e2553045b3240a95c36854d36dddc; } $v840767d63139b4dca4928d5ec734c79e = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getValue("lockuser"); if ($v840767d63139b4dca4928d5ec734c79e > 0) { $v31e6b624e5c05c45b0f1e8a7f59801ba = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getValue("locktime"); $vcdd638e00095e76c42db80d69dfdec30 = $v8b1dc169bf460ee884fceef66c6607d6->getModule("users")->user_id; $vd5034fb9092631c8a2869ebb11b5c591 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/lock_duration"); if ($v31e6b624e5c05c45b0f1e8a7f59801ba && $v31e6b624e5c05c45b0f1e8a7f59801ba->timestamp + $vd5034fb9092631c8a2869ebb11b5c591 > time()) { if ($vcdd638e00095e76c42db80d69dfdec30 != $v840767d63139b4dca4928d5ec734c79e) { $v797bf25c165393c1aa5fd92576e0f011['user-id'] = $v840767d63139b4dca4928d5ec734c79e; $v0db00a6b60c9e7fa0cda63a96270ca2b = $v5891da2d64975cae48d175d1e001f5da->getObject($v840767d63139b4dca4928d5ec734c79e); $v797bf25c165393c1aa5fd92576e0f011['login'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("login"); $v797bf25c165393c1aa5fd92576e0f011['lname'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("lname"); $v797bf25c165393c1aa5fd92576e0f011['fname'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("fname"); $v797bf25c165393c1aa5fd92576e0f011['father-name'] = $v0db00a6b60c9e7fa0cda63a96270ca2b->getValue("father_name"); $v797bf25c165393c1aa5fd92576e0f011['locktime'] = $v31e6b624e5c05c45b0f1e8a7f59801ba->getFormattedDate(); $v797bf25c165393c1aa5fd92576e0f011['@ts'] = $v31e6b624e5c05c45b0f1e8a7f59801ba->timestamp; $v26b75b176d665f24a5fd22a2ad815763['locked-by'] = $v797bf25c165393c1aa5fd92576e0f011; } } else { $va8cfde6331bd59eb2ac96f8911c4b666 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $va8cfde6331bd59eb2ac96f8911c4b666->setValue("lockuser", null); $va8cfde6331bd59eb2ac96f8911c4b666->setValue("locktime", null); $va8cfde6331bd59eb2ac96f8911c4b666->commit(); $v8e2dcfd7e7e24b1ca76c1193f645902b->commit(); } } $v71860c77c6745379b0d44304d66b6a13 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $vac89cc3bb8407b8f6f24df3d2f088752 = $v71860c77c6745379b0d44304d66b6a13->getValue("expiration_date"); $ve7e2aab29960a1faeb82a86368ea4b58 = $v71860c77c6745379b0d44304d66b6a13->getValue("publish_status"); $vdbf113427c1e27923793e77460b11ee7 = $v5891da2d64975cae48d175d1e001f5da->getObject($ve7e2aab29960a1faeb82a86368ea4b58); $v9acb44549b41563697bb490144ec6258 = array(); if ($vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/expiration_control")) { if ($vdbf113427c1e27923793e77460b11ee7) { $v9acb44549b41563697bb490144ec6258['attribute:id'] = strlen($vfa816edb83e95bf0c8da580bdfd491ef = $vdbf113427c1e27923793e77460b11ee7->getValue("publish_status_id")) ? $vfa816edb83e95bf0c8da580bdfd491ef : 'page_status_publish'; $v9acb44549b41563697bb490144ec6258['node:name'] = $vdbf113427c1e27923793e77460b11ee7->getName(); $v018e77635d40709feb0c09c6fb84ee00['status'] = $v9acb44549b41563697bb490144ec6258; if ($vac89cc3bb8407b8f6f24df3d2f088752) { $v018e77635d40709feb0c09c6fb84ee00['attribute:ts'] = $vac89cc3bb8407b8f6f24df3d2f088752->timestamp; $v018e77635d40709feb0c09c6fb84ee00['date'] = $vac89cc3bb8407b8f6f24df3d2f088752->getFormattedDate(); $v018e77635d40709feb0c09c6fb84ee00['comments'] = $v71860c77c6745379b0d44304d66b6a13->getValue("publish_comments"); } } else { $v9acb44549b41563697bb490144ec6258['@id'] = 'page_status_publish'; $v9acb44549b41563697bb490144ec6258['#name'] = getLabel('object-status-publish'); $v018e77635d40709feb0c09c6fb84ee00['status'] = $v9acb44549b41563697bb490144ec6258; $v018e77635d40709feb0c09c6fb84ee00['@ts'] = ""; } $v26b75b176d665f24a5fd22a2ad815763['expiration'] = $v018e77635d40709feb0c09c6fb84ee00; } if (!is_null(getRequest('virtuals'))) { $v08a0dea3e6dbfe263d3379b421a06959 = $vb81ca7c0ccaa77e7aa91936ab0070695->checkIsVirtual(array($v7552cd149af7495ee7d8225974e50f80 => false)); if (isset($v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]) && $v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]) { $v26b75b176d665f24a5fd22a2ad815763['virtual-copy'] = array('attribute:count' => $v08a0dea3e6dbfe263d3379b421a06959[$v7552cd149af7495ee7d8225974e50f80]); } } $v26b75b176d665f24a5fd22a2ad815763['@object-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getId(); $v26b75b176d665f24a5fd22a2ad815763['@object-guid'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getGUID(); $v26b75b176d665f24a5fd22a2ad815763['@type-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getTypeId(); $v26b75b176d665f24a5fd22a2ad815763['@type-guid'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject()->getTypeGUID(); $v26b75b176d665f24a5fd22a2ad815763['@update-time'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getUpdatetime(); $v26b75b176d665f24a5fd22a2ad815763['@alt-name'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getAltName(); if (!is_null(getRequest('templates'))) { $v26b75b176d665f24a5fd22a2ad815763['@template-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTplId(); $v26b75b176d665f24a5fd22a2ad815763['@domain-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getDomainId(); $v26b75b176d665f24a5fd22a2ad815763['@lang-id'] = $v8e2dcfd7e7e24b1ca76c1193f645902b->getLangId(); } if (!is_null(getRequest('childs'))) { $vadce578d04ed03c31f6ac59451fcf8e4 = $vb81ca7c0ccaa77e7aa91936ab0070695->getChildsCount($v7552cd149af7495ee7d8225974e50f80, true, true, 1); $v26b75b176d665f24a5fd22a2ad815763['childs'] = $vadce578d04ed03c31f6ac59451fcf8e4; } if (!is_null(getRequest('permissions'))) { $vfd7b7118ef3b11157505a66f465d672f = permissionsCollection::getInstance(); $v61b9295e93e2ba331ea1e6f1b79f459d = $vfd7b7118ef3b11157505a66f465d672f->isAllowedObject($vfd7b7118ef3b11157505a66f465d672f->getUserId(), $v7552cd149af7495ee7d8225974e50f80); $v26b75b176d665f24a5fd22a2ad815763['permissions'] = ($v61b9295e93e2ba331ea1e6f1b79f459d[4] ? 16 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[3] ? 8 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[2] ? 4 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[1] ? 2 : 0) | ($v61b9295e93e2ba331ea1e6f1b79f459d[0] ? 1 : 0); } $v0715f6d9497f93911417c9c324265771 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTypeId(); $vb946c44d711ade3b061653732977d043 = $v6942e8fa62b3cc9d93881a58210e2fd7->getType($v0715f6d9497f93911417c9c324265771); if (!is_null(getRequest('links')) && !$v8e2dcfd7e7e24b1ca76c1193f645902b->isDeleted) { $v5cd36db381c0678623647c8c221e158e = $vb946c44d711ade3b061653732977d043->getName(); if ($v35360fb26b66092afbb3474e0dfe5c73 = $v8b1dc169bf460ee884fceef66c6607d6->getModule($v5cd36db381c0678623647c8c221e158e)) { $v807765384d9d5527da8848df14a4f02f = $v35360fb26b66092afbb3474e0dfe5c73->getEditLink($v7552cd149af7495ee7d8225974e50f80, $vb946c44d711ade3b061653732977d043->getExt()); if (is_array($v807765384d9d5527da8848df14a4f02f)) { if ($v807765384d9d5527da8848df14a4f02f[0]) { $v26b75b176d665f24a5fd22a2ad815763['create-link'] = $v807765384d9d5527da8848df14a4f02f[0]; } if ($v807765384d9d5527da8848df14a4f02f[1]) { $v26b75b176d665f24a5fd22a2ad815763['edit-link'] = $v807765384d9d5527da8848df14a4f02f[1]; } } } } if ($vb946c44d711ade3b061653732977d043 instanceof iUmiHierarchyType) { $v26b75b176d665f24a5fd22a2ad815763['basetype'] = $vb946c44d711ade3b061653732977d043; } $v26b75b176d665f24a5fd22a2ad815763['name'] = str_replace(array("<", ">"), array('<', '>'), $v8e2dcfd7e7e24b1ca76c1193f645902b->getName()); if ($this->isFull == false) { $v26b75b176d665f24a5fd22a2ad815763['xlink:href'] = "upage://" . $v7552cd149af7495ee7d8225974e50f80; return $v26b75b176d665f24a5fd22a2ad815763; } $va8cfde6331bd59eb2ac96f8911c4b666 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObject(); $v6301cee35ea764a1e241978f93f01069 = $va8cfde6331bd59eb2ac96f8911c4b666->getTypeId(); $v726e8e4809d4c1b28a6549d86436a124 = $v0e8133eb006c0f85ed9444ae07a60842->getType($v6301cee35ea764a1e241978f93f01069); $v143fdbfa2afa490e521056bd5040d5fd = $v726e8e4809d4c1b28a6549d86436a124->getFieldsGroupsList(); $v26b75b176d665f24a5fd22a2ad815763['properties'] = array('nodes:group' => array()); $v865c0c0b4ab0e063e5caa3387c1a8741 = 0; foreach ($v143fdbfa2afa490e521056bd5040d5fd as $vdb0f6f37ebeb6ea09489124345af2a45) { $v03f2ce8694aef1464a97f254c78a26ae = translatorWrapper::get($vdb0f6f37ebeb6ea09489124345af2a45); $vb1a1a039830b9d5ddf71ccd5304e9e50 = $v03f2ce8694aef1464a97f254c78a26ae->translateProperties($vdb0f6f37ebeb6ea09489124345af2a45, $va8cfde6331bd59eb2ac96f8911c4b666); if (!empty($vb1a1a039830b9d5ddf71ccd5304e9e50)) { $v26b75b176d665f24a5fd22a2ad815763['properties']['nodes:group'][getRequest('jsonMode') == "force" ? $v865c0c0b4ab0e063e5caa3387c1a8741++ : ++$v865c0c0b4ab0e063e5caa3387c1a8741] = $vb1a1a039830b9d5ddf71ccd5304e9e50; } } return $v26b75b176d665f24a5fd22a2ad815763; }
public function save_editable_region() { // fix for 2.7.4 eip if (cmsController::getInstance()->getCurrentMode() != 'admin') { return self::old_eip_save_editable_region(); } $iEntityId = getRequest('param0'); $sPropName = getRequest('param1'); $content = getRequest('data'); $bIsObject = (bool) getRequest('is_object'); if (is_array($content) && count($content) == 1) { $content = $content[0]; } else { if (is_array($content) && isset($content[0])) { $temp = array(); foreach ($content as $item) { $temp[] = is_array($item) ? $item[0] : $item; } $content = $temp; } } $oEntity = $bIsObject ? umiObjectsCollection::getInstance()->getObject($iEntityId) : umiHierarchy::getInstance()->getElement($iEntityId); // Checking rights $bDisallowed = false; $permissions = permissionsCollection::getInstance(); $userId = $permissions->getUserId(); if (!$permissions->isSv($userId)) { if ($bIsObject) { $bDisallowed = !($oEntity->getOwnerId() == $userId); if ($bDisallowed) { //Check module permissions $object = selector::get('object')->id($iEntityId); $module = $object->getModule(); $method = $object->getMethod(); if ($module && $method) { $bDisallowed = !$permissions->isAllowedMethod($userId, $module, $method); } } } else { list($r, $w) = $permissions->isAllowedObject($userId, $iEntityId); if (!$w) { $bDisallowed = true; } } } if ($bDisallowed) { throw new publicAdminException(getLabel('error-no-permissions')); } $event = new umiEventPoint("systemModifyPropertyValue"); $event->addRef("entity", $oEntity); $event->setParam("property", $sPropName); $event->addRef("newValue", $content); $event->setMode("before"); try { $event->call(); } catch (wrongValueException $e) { throw new publicAdminException($e->getMessage()); } if ($oEntity instanceof iUmiHierarchyElement) { $backupModel = backupModel::getInstance(); $backupModel->addLogMessage($oEntity->getId()); } if ($bIsObject && !$this->checkAllowedColumn($oEntity, $sPropName)) { throw new publicAdminException(getLabel('error-no-permissions')); } if ($bIsObject && $sPropName == 'is_activated') { $guestId = $permissions->getGuestId(); if ($iEntityId == SV_USER_ID) { throw new publicAdminException(getLabel('error-users-swtich-activity-sv')); } if ($iEntityId == $guestId) { throw new publicAdminException(getLabel('error-users-swtich-activity-guest')); } if ($iEntityId == $userId) { throw new publicAdminException(getLabel('error-users-swtich-activity-self')); } } $sPropValue = ""; if ($oEntity) { $bOldVal = umiObjectProperty::$IGNORE_FILTER_INPUT_STRING; umiObjectProperty::$IGNORE_FILTER_INPUT_STRING = true; $oObject = !$bIsObject ? $oEntity->getObject() : $oEntity; $oldValue = null; try { if ($sPropName == 'name') { if (is_string($content) && strlen($content)) { $oldValue = $oEntity->name; $oEntity->name = $content; if ($oEntity instanceof iUmiHierarchyElement) { $oEntity->h1 = $content; } } $result = array('name' => $content); } else { $property = $oObject->getPropByName($sPropName); if ($property->getDataType() == 'date') { $date = new umiDate(); $date->setDateByString($content); $content = $date; } $oldValue = $oEntity->getValue($sPropName); $oEntity->setValue($sPropName, $content); if ($oEntity instanceof iUmiHierarchyElement && $sPropName == 'h1') { $oEntity->name = $content; } $result = array('property' => $property); translatorWrapper::get($property); umiObjectPropertyWrapper::$showEmptyFields = true; } } catch (fieldRestrictionException $e) { throw new publicAdminException($e->getMessage()); } $oEntity->commit(); umiObjectProperty::$IGNORE_FILTER_INPUT_STRING = $bOldVal; $oObject->update(); $oEntity->update(); if ($oEntity instanceof umiEntinty) { $oEntity->commit(); } $event->setParam("oldValue", $oldValue); $event->setParam("newValue", $content); $event->setMode("after"); $event->call(); $this->setData($result); return $this->doData(); } }
public function placeOnPage() { $formId = getRequest('param0'); if (!$formId) { $this->chooseRedirect(getServer('HTTP_REFERER')); } $form = umiObjectTypesCollection::getInstance()->getType($formId); $typeid = umiHierarchyTypesCollection::getInstance()->getTypeByName('webforms', 'page')->getId(); $formName = $form->getName(); $hierarchy = umiHierarchy::getInstance(); $pageId = $hierarchy->addElement(0, $typeid, $formName, $formName); permissionsCollection::getInstance()->setDefaultPermissions($pageId); $page = $hierarchy->getElement($pageId); $page->setIsActive(true); $page->setValue('form_id', $formId); $page->setValue('title', $formName); $page->setValue('h1', $formName); $page->setValue('content', '%webforms add(' . $formId . ')%'); $page->commit(); $this->chooseRedirect('/admin/content/edit/' . $pageId . '/'); }
public function loginza($template = 'default') { if (!empty($_POST['token'])) { $loginzaAPI = new loginzaAPI(); $profile = $loginzaAPI->getAuthInfo($_POST['token']); if (!empty($profile)) { $profile = new loginzaUserProfile($profile); $objectTypes = umiObjectTypesCollection::getInstance(); $objectTypeId = $objectTypes->getBaseType("users", "user"); $objectType = $objectTypes->getType($objectTypeId); $nickname = $profile->genNickname(); $provider = $profile->genProvider(); $provider_url = parse_url($provider); $provider_name = str_ireplace('www.', '', $provider_url['host']); $login = $nickname . "@" . $provider_name; $password = $profile->genRandomPassword(); $email = $profile->genUserEmail(); $lname = $profile->getLname(); $fname = $profile->getFname(); if (!$fname) { $fname = $nickname; } $sel = new selector('objects'); $sel->types('object-type')->name('users', 'user'); $sel->where('login')->equals($login); $sel->where('loginza')->equals($provider_name); $user = $sel->first; $from_page = getRequest("from_page"); if ($user instanceof iUmiObject) { permissionsCollection::getInstance()->loginAsUser($user); session_commit(); $this->redirect($from_page ? $from_page : $this->pre_lang . '/users/auth/'); } if (!preg_match("/.+@.+\\..+/", $email)) { while (true) { $email = $nickname . rand(1, 100) . "@" . getServer('HTTP_HOST'); if ($this->checkIsUniqueEmail($email)) { break; } } } $object_id = umiObjectsCollection::getInstance()->addObject($login, $objectTypeId); $object = umiObjectsCollection::getInstance()->getObject($object_id); $object->setValue("login", $login); $object->setValue("password", md5($password)); $object->setValue("e-mail", $email); $object->setValue("fname", $fname); $object->setValue("lname", $lname); $object->setValue("loginza", $provider_name); $object->setValue("is_activated", '1'); $object->setValue("activate_code", md5(uniqid(rand(), true))); $_SESSION['cms_login'] = $login; $_SESSION['cms_pass'] = md5($password); $_SESSION['user_id'] = $object_id; session_commit(); $group_id = regedit::getInstance()->getVal("//modules/users/def_group"); $object->setValue("groups", array($group_id)); $data_module = cmsController::getInstance()->getModule('data'); $data_module->saveEditedObject($object_id, true); $object->commit(); $this->redirect($from_page ? $from_page : $this->pre_lang . '/users/auth/'); } } return $this->auth(); }
protected function exportElement($v7057e8409c7c531a1a6e9ac3df4ed549) { umiHierarchy::getInstance()->clearCache(); if (isset($this->exported_elements[$v7057e8409c7c531a1a6e9ac3df4ed549])) { return false; } if ($this->limit) { if ($this->position >= $this->limit) { $this->break = true; return false; } } $this->exported_elements[$v7057e8409c7c531a1a6e9ac3df4ed549] = 'found'; $v8e2dcfd7e7e24b1ca76c1193f645902b = umiHierarchy::getInstance()->getElement($v7057e8409c7c531a1a6e9ac3df4ed549, true, true); if (!$v8e2dcfd7e7e24b1ca76c1193f645902b instanceof umiHierarchyElement) { return false; } $v94757cae63fd3e398c0811a976dd6bbe = $v8e2dcfd7e7e24b1ca76c1193f645902b->getObjectTypeId(); if ($this->exportType($v94757cae63fd3e398c0811a976dd6bbe)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $v4a8a08f09d37b73795649038408b5f33 = $this->doc->createElement('page'); $this->translateEntity($v8e2dcfd7e7e24b1ca76c1193f645902b, $v4a8a08f09d37b73795649038408b5f33); $v4a8a08f09d37b73795649038408b5f33->removeAttribute('update-time'); $vf585b7f018bb4ced15a03683a733e50b = $v8e2dcfd7e7e24b1ca76c1193f645902b->getLangId(); if (!$this->ignoreRelations || in_array('langs', $this->saveRelations)) { if ($this->exportLang($vf585b7f018bb4ced15a03683a733e50b)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $v392cdf2310e931972f2459edc1ea2ff2 = $this->relations->getOldLangIdRelation($this->source_id, $vf585b7f018bb4ced15a03683a733e50b); } else { $v392cdf2310e931972f2459edc1ea2ff2 = $this->relations->getOldLangIdRelation($this->source_id, $vf585b7f018bb4ced15a03683a733e50b); if ($v392cdf2310e931972f2459edc1ea2ff2 === false) { $this->relations->setLangIdRelation($this->source_id, $vf585b7f018bb4ced15a03683a733e50b, $vf585b7f018bb4ced15a03683a733e50b); $v392cdf2310e931972f2459edc1ea2ff2 = $vf585b7f018bb4ced15a03683a733e50b; } } $v4a8a08f09d37b73795649038408b5f33->setAttribute('lang-id', $v392cdf2310e931972f2459edc1ea2ff2); $v72ee76c5c29383b7c9f9225c1fa4d10b = $v8e2dcfd7e7e24b1ca76c1193f645902b->getDomainId(); if (!$this->ignoreRelations || in_array('domains', $this->saveRelations)) { $vad5f82e879a9c5d6b5b442eb37e50551 = domainsCollection::getInstance()->getDomain($v72ee76c5c29383b7c9f9225c1fa4d10b); if ($this->exportDomain($vad5f82e879a9c5d6b5b442eb37e50551)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $v0bb5aff4a4154504d1117c453c35edd8 = $this->relations->getOldDomainIdRelation($this->source_id, $v72ee76c5c29383b7c9f9225c1fa4d10b); } else { $v0bb5aff4a4154504d1117c453c35edd8 = $this->relations->getOldDomainIdRelation($this->source_id, $v72ee76c5c29383b7c9f9225c1fa4d10b); if ($v0bb5aff4a4154504d1117c453c35edd8 === false) { $this->relations->setDomainIdRelation($this->source_id, $v72ee76c5c29383b7c9f9225c1fa4d10b, $v72ee76c5c29383b7c9f9225c1fa4d10b); $v0bb5aff4a4154504d1117c453c35edd8 = $v72ee76c5c29383b7c9f9225c1fa4d10b; } } $v4a8a08f09d37b73795649038408b5f33->setAttribute('domain-id', $v0bb5aff4a4154504d1117c453c35edd8); $vd02e12eb6d6c3f6ebd763197df01e211 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getTplId(); if (!$this->ignoreRelations || in_array('templates', $this->saveRelations)) { if ($this->exportTemplate($vd02e12eb6d6c3f6ebd763197df01e211)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $vd01a3cac3018d018ad8bef5c05012c94 = $this->relations->getOldTemplateIdRelation($this->source_id, $vd02e12eb6d6c3f6ebd763197df01e211); } else { $vd01a3cac3018d018ad8bef5c05012c94 = $this->relations->getOldTemplateIdRelation($this->source_id, $vd02e12eb6d6c3f6ebd763197df01e211); if ($vd01a3cac3018d018ad8bef5c05012c94 === false) { $this->relations->setTemplateIdRelation($this->source_id, $vd02e12eb6d6c3f6ebd763197df01e211, $vd02e12eb6d6c3f6ebd763197df01e211); $vd01a3cac3018d018ad8bef5c05012c94 = $vd02e12eb6d6c3f6ebd763197df01e211; } } $vf9bdb7221804d6d17b654ec67c5a0735 = templatesCollection::getInstance()->getTemplate($vd02e12eb6d6c3f6ebd763197df01e211)->getFilename(); $v557c9fc3c1f769c263ae2d3113ff1501 = $this->doc->createElement('template'); $v557c9fc3c1f769c263ae2d3113ff1501->setAttribute("id", $vd01a3cac3018d018ad8bef5c05012c94); $v557c9fc3c1f769c263ae2d3113ff1501->appendChild($this->doc->createTextNode($vf9bdb7221804d6d17b654ec67c5a0735)); $v4a8a08f09d37b73795649038408b5f33->appendChild($v557c9fc3c1f769c263ae2d3113ff1501); $v13fba93b98196f2395dec474c9ba27e5 = $this->relations->getOldIdRelation($this->source_id, $v7057e8409c7c531a1a6e9ac3df4ed549); if ($v13fba93b98196f2395dec474c9ba27e5 === false) { $this->relations->setIdRelation($this->source_id, $v7057e8409c7c531a1a6e9ac3df4ed549, $v7057e8409c7c531a1a6e9ac3df4ed549); $v13fba93b98196f2395dec474c9ba27e5 = $v7057e8409c7c531a1a6e9ac3df4ed549; } else { $v4a8a08f09d37b73795649038408b5f33->setAttribute('id', $v13fba93b98196f2395dec474c9ba27e5); } $v6be379826b20cc58475f636e33f4606b = $v8e2dcfd7e7e24b1ca76c1193f645902b->getParentId(); if ($v6be379826b20cc58475f636e33f4606b) { $v65dce76bfdfbc3dfd9962e8d154dab64 = $this->relations->getOldIdRelation($this->source_id, $v6be379826b20cc58475f636e33f4606b); if ($v65dce76bfdfbc3dfd9962e8d154dab64 === false) { $this->relations->setIdRelation($this->source_id, $v6be379826b20cc58475f636e33f4606b, $v6be379826b20cc58475f636e33f4606b); $v65dce76bfdfbc3dfd9962e8d154dab64 = $v6be379826b20cc58475f636e33f4606b; } $v4a8a08f09d37b73795649038408b5f33->setAttribute('parentId', $v65dce76bfdfbc3dfd9962e8d154dab64); } $v3643b86326b2ffcc0a085b4dd3a4309b = new DOMXPath($this->doc); if ($v3643b86326b2ffcc0a085b4dd3a4309b->evaluate("basetype", $v4a8a08f09d37b73795649038408b5f33)->length) { $v593616de15330c0fb2d55e55410bf994 = $v3643b86326b2ffcc0a085b4dd3a4309b->evaluate("basetype", $v4a8a08f09d37b73795649038408b5f33)->item(0); $v593616de15330c0fb2d55e55410bf994->removeAttribute('id'); } $va240be392fd0549ece5558553983d79b = $this->relations->getOldTypeIdRelation($this->source_id, $v94757cae63fd3e398c0811a976dd6bbe); $v4a8a08f09d37b73795649038408b5f33->setAttribute('type-id', $va240be392fd0549ece5558553983d79b); $vaf31437ce61345f416579830a98c91e5 = $v4a8a08f09d37b73795649038408b5f33->getAttribute('object-id'); if (!$this->ignoreRelations || in_array('objects', $this->saveRelations)) { if ($this->exportObject($vaf31437ce61345f416579830a98c91e5)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $vdad7dfa79a52fb5c76dff4c6bc0ddfe4 = $this->relations->getOldObjectIdRelation($this->source_id, $vaf31437ce61345f416579830a98c91e5); } else { $vdad7dfa79a52fb5c76dff4c6bc0ddfe4 = $this->relations->getOldObjectIdRelation($this->source_id, $vaf31437ce61345f416579830a98c91e5); if ($vdad7dfa79a52fb5c76dff4c6bc0ddfe4 === false) { $this->relations->setObjectIdRelation($this->source_id, $vaf31437ce61345f416579830a98c91e5, $vaf31437ce61345f416579830a98c91e5); $vdad7dfa79a52fb5c76dff4c6bc0ddfe4 = $vaf31437ce61345f416579830a98c91e5; } } $v4a8a08f09d37b73795649038408b5f33->setAttribute('object-id', $vdad7dfa79a52fb5c76dff4c6bc0ddfe4); if ($v3643b86326b2ffcc0a085b4dd3a4309b->evaluate("properties/group", $v4a8a08f09d37b73795649038408b5f33)->length) { foreach ($v3643b86326b2ffcc0a085b4dd3a4309b->evaluate("properties/group", $v4a8a08f09d37b73795649038408b5f33) as $vdb0f6f37ebeb6ea09489124345af2a45) { if ($vdb0f6f37ebeb6ea09489124345af2a45->hasAttribute('id')) { $vdb0f6f37ebeb6ea09489124345af2a45->removeAttribute('id'); } } } $v1a13105b7e4eb5fb2e7c9515ac06aa48 = $v3643b86326b2ffcc0a085b4dd3a4309b->evaluate("properties/group/property", $v4a8a08f09d37b73795649038408b5f33); $v5df80bc8ce306a564d91fa6a4da3d95b = array(); $vc639bc918ec583ce6a914b6bbb29095d = array(); foreach ($v1a13105b7e4eb5fb2e7c9515ac06aa48 as $v06e3d36fa30cea095545139854ad1fb9) { $v3aabf39f2d943fa886d86dcbbee4d910 = intval($v06e3d36fa30cea095545139854ad1fb9->getAttribute('id')); $v528ca8fdf35a8b13b093b5786a22c0bf = $this->relations->getOldFieldName($this->source_id, $v94757cae63fd3e398c0811a976dd6bbe, $v3aabf39f2d943fa886d86dcbbee4d910); if ($v528ca8fdf35a8b13b093b5786a22c0bf) { $v06e3d36fa30cea095545139854ad1fb9->setAttribute('name', $v528ca8fdf35a8b13b093b5786a22c0bf); } $v519504d7d4beb745dac24ccfb6c1d7c9 = $v06e3d36fa30cea095545139854ad1fb9->getAttribute('type'); if (!$this->ignoreRelations || in_array('fields_relations', $this->saveRelations)) { if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'relation') { $v4b43b0aee35624cd95b910189b3dc231 = $this->doc->createElement('relation'); $v4b43b0aee35624cd95b910189b3dc231->setAttribute('page-id', $v13fba93b98196f2395dec474c9ba27e5); $v4b43b0aee35624cd95b910189b3dc231->setAttribute('field-name', $v528ca8fdf35a8b13b093b5786a22c0bf); if (!$this->exportRelation($v4b43b0aee35624cd95b910189b3dc231, $v06e3d36fa30cea095545139854ad1fb9)) { return true; } $v5df80bc8ce306a564d91fa6a4da3d95b[] = $v4b43b0aee35624cd95b910189b3dc231; } if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'symlink') { $v4b43b0aee35624cd95b910189b3dc231 = $this->doc->createElement('relation'); $v4b43b0aee35624cd95b910189b3dc231->setAttribute('page-id', $v13fba93b98196f2395dec474c9ba27e5); $v4b43b0aee35624cd95b910189b3dc231->setAttribute('field-name', $v528ca8fdf35a8b13b093b5786a22c0bf); if (!$this->exportRelation($v4b43b0aee35624cd95b910189b3dc231, $v06e3d36fa30cea095545139854ad1fb9)) { return true; } $v5df80bc8ce306a564d91fa6a4da3d95b[] = $v4b43b0aee35624cd95b910189b3dc231; } if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'optioned') { $ve1671797c52e15f763380b45e841ec32 = $this->doc->createElement('entity'); $ve1671797c52e15f763380b45e841ec32->setAttribute('page-id', $v13fba93b98196f2395dec474c9ba27e5); $ve1671797c52e15f763380b45e841ec32->setAttribute('field-name', $v528ca8fdf35a8b13b093b5786a22c0bf); if (!$this->exportOption($v06e3d36fa30cea095545139854ad1fb9, $ve1671797c52e15f763380b45e841ec32)) { return true; } $vc639bc918ec583ce6a914b6bbb29095d[] = $ve1671797c52e15f763380b45e841ec32; } } if (!$this->ignoreRelations || in_array('files', $this->saveRelations)) { if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'file' || $v519504d7d4beb745dac24ccfb6c1d7c9 == 'swf_file' || $v519504d7d4beb745dac24ccfb6c1d7c9 == 'img_file') { $v97fd815a3803a0588876bdd862014fed = $v06e3d36fa30cea095545139854ad1fb9->getElementsByTagName('value')->item(0)->nodeValue; if (file_exists(CURRENT_WORKING_DIR . $v97fd815a3803a0588876bdd862014fed)) { $v8c7dd922ad47494fc02c388e12c00eac = new umiFile(CURRENT_WORKING_DIR . $v97fd815a3803a0588876bdd862014fed); $this->exportFile($v8c7dd922ad47494fc02c388e12c00eac); } elseif (file_exists('./' . $v97fd815a3803a0588876bdd862014fed)) { $v8c7dd922ad47494fc02c388e12c00eac = new umiFile('./' . $v97fd815a3803a0588876bdd862014fed); $this->exportFile($v8c7dd922ad47494fc02c388e12c00eac); } } } } $v9f5a2d64925838158f3ef0a206b58c00 = array(); if (!$this->ignoreRelations || in_array('permissions', $this->saveRelations)) { $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance()->getRecordedPermissions($v7057e8409c7c531a1a6e9ac3df4ed549); if (is_array($v41275a535677f79ff347e01bc530c176)) { $v83878c91171338902e0fe0fb97a8c47a = $this->doc->createElement('permission'); $v83878c91171338902e0fe0fb97a8c47a->setAttribute('page-id', $v13fba93b98196f2395dec474c9ba27e5); foreach ($v41275a535677f79ff347e01bc530c176 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) { $vd95679752134a2d9eb61dbd7b91c4bcc = $this->doc->createElement('owner'); if ($this->exportObject($v3c6e0b8a9c15224a8228b9a98ca1531d)) { if ($this->limit && $this->position >= $this->limit) { $this->break = true; return true; } } $v27742af9ed1c41ae081ab4e34d376042 = $this->relations->getOldObjectIdRelation($this->source_id, $v3c6e0b8a9c15224a8228b9a98ca1531d); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('id', $v27742af9ed1c41ae081ab4e34d376042); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('level', $v2063c1608d6e0baf80249c42e2be5804); $v83878c91171338902e0fe0fb97a8c47a->appendChild($vd95679752134a2d9eb61dbd7b91c4bcc); } $v9f5a2d64925838158f3ef0a206b58c00[] = $v83878c91171338902e0fe0fb97a8c47a; } } foreach ($v5df80bc8ce306a564d91fa6a4da3d95b as $v4b43b0aee35624cd95b910189b3dc231) { $this->relations_container->appendChild($v4b43b0aee35624cd95b910189b3dc231); } foreach ($vc639bc918ec583ce6a914b6bbb29095d as $ve1671797c52e15f763380b45e841ec32) { $this->options_container->appendChild($ve1671797c52e15f763380b45e841ec32); } foreach ($v9f5a2d64925838158f3ef0a206b58c00 as $v83878c91171338902e0fe0fb97a8c47a) { $this->permissions_container->appendChild($v83878c91171338902e0fe0fb97a8c47a); } if (!$this->ignoreRelations || in_array('hierarchy', $this->saveRelations)) { $v8bef1cc20ada3bef55fdf132cb2a1cb9 = $v8e2dcfd7e7e24b1ca76c1193f645902b->getOrd(); $v2510c39011c5be704182423e3a695e91 = $this->doc->createElement('relation'); $v2510c39011c5be704182423e3a695e91->setAttribute('id', $v13fba93b98196f2395dec474c9ba27e5); $v2510c39011c5be704182423e3a695e91->setAttribute('ord', $v8bef1cc20ada3bef55fdf132cb2a1cb9); if ($v6be379826b20cc58475f636e33f4606b) { $v2510c39011c5be704182423e3a695e91->setAttribute('parent-id', $v65dce76bfdfbc3dfd9962e8d154dab64); } else { $v2510c39011c5be704182423e3a695e91->setAttribute('parent-id', 0); } $this->hierarchy_container->appendChild($v2510c39011c5be704182423e3a695e91); } $this->pages_container->appendChild($v4a8a08f09d37b73795649038408b5f33); $this->exported_elements[$v7057e8409c7c531a1a6e9ac3df4ed549] = $v13fba93b98196f2395dec474c9ba27e5; $this->position++; return true; }
/** * Получить текущую валюту * @return iUmiObject текущая валюта */ public function getCurrentCurrency() { static $currency = null; if (!is_null($currency)) { return $currency; } if (permissionsCollection::getInstance()->isAuth()) { $customer = customer::get(); if ($customer->preffered_currency) { $currencyTypeId = umiObjectTypesCollection::getInstance()->getBaseType('emarket', 'currency'); $currency = selector::get('object')->id($customer->preffered_currency); if ($currency->typeId == $currencyTypeId) { return $currency; } } } else { if ($v = (int) getCookie('customer_currency')) { return $currency = selector::get('object')->id($v); } } $guest = umiObjectsCollection::getInstance()->getObjectByGUID('system-guest'); if ($v = $guest->getValue('preffered_currency')) { return $currency = selector::get('object')->id($v); } return $currency = $this->getDefaultCurrency(); }
public static function getUser() { static $user = null; if ($user) { return $user; } $pool = ConnectionPool::getInstance(); $connection = $pool->getConnection(); umiEventFeedUser::setConnection($connection); umiEventFeedType::setConnection($connection); $userId = permissionsCollection::getInstance()->getUserId(); try { $user = umiEventFeedUser::get($userId); } catch (Exception $e) { $user = umiEventFeedUser::create($userId); $settings = array(); $user->setSettings($settings); $user->save(); } return $user; }
function macros_current_user_id() { return permissionsCollection::getInstance()->getUserId(); }
public function auto() { $timeOut = (int) mainConfiguration::getInstance()->get("modules", "exchange.commerceML.timeout"); if ($timeOut < 0) { $timeOut = 0; } sleep($timeOut); $buffer = outputBuffer::current('HTTPOutputBuffer'); $buffer->charset('utf-8'); $buffer->contentType('text/plain'); $type = getRequest("type"); $mode = getRequest("mode"); $instance1c = getRequest('param0') ? md5(getRequest('param0')) . "/" : ''; self::$importDirectory = "./sys-temp/1c_import/" . $instance1c; if (!permissionsCollection::getInstance()->isSv()) { $buffer->push("failure\nNot authorized as supervisor."); $buffer->end(); exit; } switch ($type . "-" . $mode) { case "catalog-checkauth": // clear temp removeDirectory(self::$importDirectory); case "sale-checkauth": $buffer->push("success\nPHPSESSID\n" . session_id()); break; case "catalog-init": case "sale-init": removeDirectory(self::$importDirectory); $maxFileSize = (int) mainConfiguration::getInstance()->get("modules", "exchange.commerceML.maxFileSize"); if ($maxFileSize <= 0) { $maxFileSize = 102400; } $buffer->push("zip=no\nfile_limit={$maxFileSize}"); break; case "catalog-file": $buffer->push(self::saveIncomingFile()); break; case "catalog-import": $buffer->push(self::importCommerceML()); break; case "sale-query": $buffer->push(self::exportOrders()); break; case "sale-success": $buffer->push(self::markExportedOrders()); break; case "sale-file": $buffer->push(self::importOrders()); break; default: $buffer->push("failure\nUnknown import type ({$type}) or mode ({$mode})."); } $buffer->end(); }