protected function getSubscriberByUserId($iUserId) { $oSubscriber = null; $iSbsHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId(); $iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iSbsHierarchyTypeId); $oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId); $oSbsSelection = new umiSelection(); $oSbsSelection->setObjectTypeFilter(); $oSbsSelection->addObjectType($iSbsTypeId); $oSbsSelection->setPropertyFilter(); $oSbsSelection->addPropertyFilterEqual($oSbsType->getFieldId('uid'), $iUserId); $arrSbsSelResults = umiSelectionsParser::runSelection($oSbsSelection); if (is_array($arrSbsSelResults) && count($arrSbsSelResults)) { $iSbsId = $arrSbsSelResults[0]; $oSubscriber = umiObjectsCollection::getInstance()->getObject($iSbsId); } return $oSubscriber; }
public static function getSubscriberByUserId($v7ad6e70c936a7223ff2f1663258f4a0a) { $va5a928b6b6b19de8a18398c7b29f47d7 = false; $vf7b7708e49b5e697e01291fdbb169c31 = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId(); $v3ec9f372b2dad35356b9884c89cf0ef2 = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($vf7b7708e49b5e697e01291fdbb169c31); $vff500849b1c1163f66c899c7aec17813 = umiObjectTypesCollection::getInstance()->getType($v3ec9f372b2dad35356b9884c89cf0ef2); $v18ea1849dbf10a18b2dfd4ed0eb3a231 = new umiSelection(); $v18ea1849dbf10a18b2dfd4ed0eb3a231->setObjectTypeFilter(); $v18ea1849dbf10a18b2dfd4ed0eb3a231->addObjectType($v3ec9f372b2dad35356b9884c89cf0ef2); $v18ea1849dbf10a18b2dfd4ed0eb3a231->setPropertyFilter(); $v18ea1849dbf10a18b2dfd4ed0eb3a231->addPropertyFilterEqual($vff500849b1c1163f66c899c7aec17813->getFieldId('uid'), $v7ad6e70c936a7223ff2f1663258f4a0a); $v2cf58721416a170aa34368186d661d4b = umiSelectionsParser::runSelection($v18ea1849dbf10a18b2dfd4ed0eb3a231); if (is_array($v2cf58721416a170aa34368186d661d4b) && count($v2cf58721416a170aa34368186d661d4b)) { $va5a928b6b6b19de8a18398c7b29f47d7 = $v2cf58721416a170aa34368186d661d4b[0]; } else { $v5a459b4b428788e52383cf8fae051ef7 = umiObjectsCollection::getInstance()->getObject($v7ad6e70c936a7223ff2f1663258f4a0a); $vaddc9cff9d125716db26235ce1c09240 = $v5a459b4b428788e52383cf8fae051ef7->getValue("e-mail"); $v2430d439812ab308abec75d804810a30 = $v5a459b4b428788e52383cf8fae051ef7->getValue("lname"); $vd9c6a1a67112c4d88c9a572ac9cad3f5 = $v5a459b4b428788e52383cf8fae051ef7->getValue("fname"); $vaa876bbb2f0018ef7348fccc805794af = $v5a459b4b428788e52383cf8fae051ef7->getValue("father_name"); $vf572db796146381f0522cb8ba4a636e0 = $v5a459b4b428788e52383cf8fae051ef7->getValue("gender"); $vf7b7708e49b5e697e01291fdbb169c31 = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId(); $v3ec9f372b2dad35356b9884c89cf0ef2 = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($vf7b7708e49b5e697e01291fdbb169c31); $va5a928b6b6b19de8a18398c7b29f47d7 = umiObjectsCollection::getInstance()->addObject($vaddc9cff9d125716db26235ce1c09240, $v3ec9f372b2dad35356b9884c89cf0ef2); $vf674b89869b81fcedca2243c18bbcdd1 = umiObjectsCollection::getInstance()->getObject($va5a928b6b6b19de8a18398c7b29f47d7); if ($vf674b89869b81fcedca2243c18bbcdd1 instanceof umiObject) { $vf674b89869b81fcedca2243c18bbcdd1->setName($vaddc9cff9d125716db26235ce1c09240); $vf674b89869b81fcedca2243c18bbcdd1->setValue('lname', $v2430d439812ab308abec75d804810a30); $vf674b89869b81fcedca2243c18bbcdd1->setValue('fname', $vd9c6a1a67112c4d88c9a572ac9cad3f5); $vf674b89869b81fcedca2243c18bbcdd1->setValue('father_name', $vaa876bbb2f0018ef7348fccc805794af); $v61a9cd46c360819bab753cd29ccea4c4 = new umiDate(time()); $vf674b89869b81fcedca2243c18bbcdd1->setValue('subscribe_date', $v61a9cd46c360819bab753cd29ccea4c4); $vf674b89869b81fcedca2243c18bbcdd1->setValue('gender', $vf572db796146381f0522cb8ba4a636e0); $vf674b89869b81fcedca2243c18bbcdd1->setValue('uid', $v7ad6e70c936a7223ff2f1663258f4a0a); } $vf674b89869b81fcedca2243c18bbcdd1->commit(); } return $va5a928b6b6b19de8a18398c7b29f47d7; }
public function subscribers_list() { // input $iDispId = $_REQUEST['param0']; // set tab $this->sheets_set_active("subscribers_list"); //input: $this->load_forms(); $iCurrPage = (int) $_REQUEST['p']; $params = array(); // gen banners list $params['rows'] = ""; // $oSbsSelection = new umiSelection(); $oSbsSelection->setObjectTypeFilter(); $oSbsSelection->setLimitFilter(); $oSbsSelection->addLimit($this->per_page, $iCurrPage); $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId(); $iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId); $oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId); $oSbsSelection->addObjectType($iSbsTypeId); // add curr dispatch filter if ($iDispId) { $oDispObj = umiObjectsCollection::getInstance()->getObject($iDispId); if ($oDispObj instanceof umiObject) { $oSbsSelection->setPropertyFilter(); $oSbsSelection->addPropertyFilterEqual($oSbsType->getFieldId('subscriber_dispatches'), $iDispId); } } $arrSelResults = umiSelectionsParser::runSelection($oSbsSelection); $iCountResults = umiSelectionsParser::runSelectionCounts($oSbsSelection); $iSbsNum = $this->per_page * $iCurrPage; for ($iI = 0; $iI < count($arrSelResults); $iI++) { $params['rows'] .= self::renderSubscriber($arrSelResults[$iI], ++$iSbsNum); } $params['pages'] = $this->generateNumPage($iCountResults, $this->per_page, $iCurrPage); return $this->parse_form("subscribers_list", $params); }
public function getMessageLink($element_id = false) { $element_id = $this->analyzeRequiredPath($element_id); $per_page = $this->per_page; $curr_page = (int) getRequest('p'); $element = umiHierarchy::getInstance()->getElement($element_id, true); if (!$element) { throw new publicException(getLabel('error-page-does-not-exist', null, '')); } $parent_id = $element->getParentId(); $parent_element = umiHierarchy::getInstance()->getElement($parent_id); if (!$parent_element) { throw new publicException(getLabel('error-parent-does-not-exist', null, '')); } if ($element->getValue("publish_time")) { $publish_time = $element->getValue("publish_time")->getFormattedDate("U"); } $sel = new umiSelection(); $sel->setLimitFilter(); $sel->addLimit($per_page, $curr_page); $sel->setElementTypeFilter(); $topic_hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("forum", "message")->getId(); $sel->addElementType($topic_hierarchy_type_id); $sel->setHierarchyFilter(); $sel->addHierarchyFilter($parent_id); $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("forum", "message"); $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id); $publish_time_field_id = $object_type->getFieldId('publish_time'); $sel->setOrderFilter(); $sel->setOrderByProperty($publish_time_field_id, true); $sel->setPropertyFilter(); $sel->addPropertyFilterLess($publish_time_field_id, $publish_time); $sel->setPermissionsFilter(); $sel->addPermissions(); $total = umiSelectionsParser::runSelectionCounts($sel); $p = floor(($total - 1) / $this->per_page); if ($p < 0) { $p = 0; } return umiHierarchy::getInstance()->getPathById($parent_id) . "?p={$p}#" . $element_id; }
public function collectAllChanges($module, $method, $parentElementId = false) { $endTime = time(); $beginTime = $endTime - 3600 * 24 * 30; $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName($module, $method)->getId(); $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType($module, $method); $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id); $publish_time_field_id = $object_type->getFieldId('publish_time'); $sel = new umiSelection(); $sel->setElementTypeFilter(); $sel->addElementType($hierarchy_type_id); $sel->setPermissionsFilter(); $sel->addPermissions(); $sel->setOrderFilter(); $sel->setOrderByProperty($publish_time_field_id, false); $sel->setPropertyFilter(); $sel->addPropertyFilterBetween($publish_time_field_id, $beginTime, $endTime); if ($parentElementId !== false) { if (!is_numeric($parentElementId)) { $parentElementId = umiHierarchy::getInstance()->getIdByPath($parentElementId); } $sel->setHierarchyFilter(); $sel->addHierarchyFilter($parentElementId); } $result = umiSelectionsParser::runSelection($sel); $total = umiSelectionsParser::runSelectionCounts($sel); $res = array(); foreach ($result as $elementId) { $childs = sizeof(umiHierarchy::getInstance()->getChilds($elementId)); $res[] = array("id" => $elementId, "childs" => $childs); } return array("result" => $res, "total" => $total); }
public function autoDetectFilters(umiSelection $sel, $object_type_id) { if (is_null(getRequest('search-all-text')) == false) { $searchStrings = getRequest('search-all-text'); if (is_array($searchStrings)) { foreach ($searchStrings as $searchString) { if ($searchString) { $sel->searchText($searchString); } } } } if (array_key_exists("fields_filter", $_REQUEST)) { $cmsController = cmsController::getInstance(); $data_module = $cmsController->getModule("data"); if (!$data_module) { throw new publicException("Need data module installed to use dynamic filters"); } $sel->setPropertyFilter(); $type = umiObjectTypesCollection::getInstance()->getType($object_type_id); $order_filter = getRequest('fields_filter'); if (!is_array($order_filter)) { return false; } foreach ($order_filter as $field_name => $value) { if ($field_name == "name") { $data_module->applyFilterName($sel, $value); continue; } if ($field_id = $type->getFieldId($field_name)) { $this->isSelectionFiltered = true; $field = umiFieldsCollection::getInstance()->getField($field_id); $field_type_id = $field->getFieldTypeId(); $field_type = umiFieldTypesCollection::getInstance()->getFieldType($field_type_id); $data_type = $field_type->getDataType(); switch ($data_type) { case "text": $data_module->applyFilterText($sel, $field, $value); break; case "wysiwyg": $data_module->applyFilterText($sel, $field, $value); break; case "string": $data_module->applyFilterText($sel, $field, $value); break; case "tags": $tmp = array_extract_values($value); if (empty($tmp)) { break; } case "boolean": $data_module->applyFilterBoolean($sel, $field, $value); break; case "int": $data_module->applyFilterInt($sel, $field, $value); break; case "symlink": case "relation": $data_module->applyFilterRelation($sel, $field, $value); break; case "float": $data_module->applyFilterFloat($sel, $field, $value); break; case "price": $emarket = $cmsController->getModule('emarket'); if ($emarket instanceof def_module) { $defaultCurrency = $emarket->getDefaultCurrency(); $currentCurrency = $emarket->getCurrentCurrency(); $prices = $emarket->formatCurrencyPrice($value, $defaultCurrency, $currentCurrency); foreach ($value as $index => $void) { $value[$index] = getArrayKey($prices, $index); } } $data_module->applyFilterPrice($sel, $field, $value); break; case "file": case "img_file": case "swf_file": case "boolean": $data_module->applyFilterInt($sel, $field, $value); break; case "date": $data_module->applyFilterDate($sel, $field, $value); break; default: break; } } else { continue; } } } else { return false; } }
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; }
/** * Сбросить настройки прав до дефолтных для страницы (класс umiHierarchyElement) $element_id * @param Integer $element_id id страницы (класс umiHierarchyElement) * @return Boolean false если произошла ошибка */ public function setDefaultPermissions($element_id) { $element_id = (int) $element_id; if (!umiHierarchy::getInstance()->isExists($element_id)) { return false; } l_mysql_query("START TRANSACTION"); $sql = "DELETE FROM cms3_permissions WHERE rel_id = '{$element_id}'"; l_mysql_query($sql); $element = umiHierarchy::getInstance()->getElement($element_id, true, true); $hierarchy_type_id = $element->getTypeId(); $hierarchy_type = umiHierarchyTypesCollection::getInstance()->getType($hierarchy_type_id); $module = $hierarchy_type->getName(); $method = $hierarchy_type->getExt(); //Getting outgroup users $type_id = umiObjectTypesCollection::getInstance()->getBaseType("users", "user"); $sel = new umiSelection(); $sel->setObjectTypeFilter(); $sel->addObjectType($type_id); $group_field_id = umiObjectTypesCollection::getInstance()->getType($type_id)->getFieldId("groups"); $sel->setPropertyFilter(); $sel->addPropertyFilterIsNull($group_field_id); $users = umiSelectionsParser::runSelection($sel); //Getting groups list $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("users", "users"); $sel = new umiSelection(); $sel->setObjectTypeFilter(); $sel->addObjectType($object_type_id); $groups = umiSelectionsParser::runSelection($sel); $objects = array_merge($users, $groups); //Let's get element's ownerId and his groups (if user) $owner_id = $element->getObject()->getOwnerId(); if ($owner = umiObjectsCollection::getInstance()->getObject($owner_id)) { if ($owner_groups = $owner->getValue("groups")) { $owner_arr = $owner_groups; } else { $owner_arr = array($owner_id); } } else { $owner_arr = array(); } foreach ($objects as $ugid) { if ($ugid == SV_GROUP_ID) { continue; } if ($module == "content") { $method == "page"; } if ($this->isAllowedMethod($ugid, $module, $method)) { if (in_array($ugid, $owner_arr) || $ugid == SV_GROUP_ID || $this->isAllowedMethod($ugid, $module, $method . ".edit")) { $level = permissionsCollection::E_READ_ALLOWED_BIT + permissionsCollection::E_EDIT_ALLOWED_BIT + permissionsCollection::E_CREATE_ALLOWED_BIT + permissionsCollection::E_DELETE_ALLOWED_BIT + permissionsCollection::E_MOVE_ALLOWED_BIT; } else { $level = permissionsCollection::E_READ_ALLOWED_BIT; } $sql = "INSERT INTO cms3_permissions (rel_id, owner_id, level) VALUES('{$element_id}', '{$ugid}', '{$level}')"; l_mysql_query($sql); } } l_mysql_query("COMMIT"); l_mysql_query("SET AUTOCOMMIT=1"); $this->cleanupElementPermissions($element_id); if (isset($this->elementsCache[$element_id])) { unset($this->elementsCache[$element_id]); } $cache_key = $this->getUserId() . "." . $element_id; cacheFrontend::getInstance()->saveSql($cache_key, array(true, true)); }
protected function getStoreIdByName($vfc19ae0e7cb9076cc4077381bbe0b168) { $v87306dd4235ed712ebc07fe169b76f83 = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "store"); $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection(); $v8be74552df93e31bbdd6b36ed74bdb6a->setObjectTypeFilter(); $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($v87306dd4235ed712ebc07fe169b76f83); $v8be74552df93e31bbdd6b36ed74bdb6a->setPropertyFilter(); $v8be74552df93e31bbdd6b36ed74bdb6a->addNameFilterEquals($vfc19ae0e7cb9076cc4077381bbe0b168); $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a); return isset($result[0]) ? (int) $result[0] : false; }
public function formatMessage($_iMessageId, $_bProcessAll = false) { $oObjects = umiObjectsCollection::getInstance(); $iTplTypeId = umiObjectTypesCollection::getInstance()->getBaseType('webforms', 'template'); $sMsgBody = array('from_email_template' => '', 'from_template' => '', 'subject_template' => '', 'master_template' => '', 'autoreply_from_email_template' => '', 'autoreply_from_template' => '', 'autoreply_subject_template' => '', 'autoreply_template' => ''); $oMessage = $oObjects->getObject($_iMessageId); $iFormTypeId = $oMessage->getTypeId(); $aFields = umiObjectTypesCollection::getInstance()->getType($iFormTypeId)->getAllFields(true); $oTplType = umiObjectTypesCollection::getInstance()->getType($iTplTypeId); //------------------------------------------------------------------------------ $oSelection = new umiSelection(); $oSelection->addObjectType($iTplTypeId); $oSelection->addPropertyFilterEqual($oTplType->getFieldId('form_id'), $iFormTypeId); $oSelection->setPropertyFilter(); $aTemplates = umiSelectionsParser::runSelection($oSelection); $oTemplate = empty($aTemplates) ? false : $oObjects->getObject($aTemplates[0]); //------------------------------------------------------------------------------ if (!$oTemplate) { $sTmp = ''; foreach ($aFields as $oField) { $sTmp .= $this->getPropertyValue($oMessage, $oField->getName()) . "<br />\n"; } if ($_bProcessAll) { $sMsgBody['master_template'] = $sTmp; } else { $sMsgBody = $sTmp; } } else { // All-templates processing if ($_bProcessAll) { $sMsgBody = array(); $aFields = umiObjectTypesCollection::getInstance()->getType($oTemplate->getTypeId())->getAllFields(); foreach ($aFields as $oField) { $aMarks = array(); $sFieldName = $oField->getName(); $sTemplate = str_replace(array("%", "%"), "%", $oTemplate->getValue($sFieldName)); preg_match_all("/%[A-z0-9_]+%/", $sTemplate, $aMarks); foreach ($aMarks[0] as $sMark) { $sTemplate = str_replace($sMark, $this->getPropertyValue($oMessage, trim($sMark, '% ')), $sTemplate); } $sMsgBody[$sFieldName] = $sTemplate; } } else { // Only sended message body $sTemplate = str_replace("%", "%", $oTemplate->getValue('master_template')); preg_match_all("/%[A-z0-9_]+%/", $sTemplate, $aMarks); foreach ($aMarks[0] as $sMark) { $sTemplate = str_replace($sMark, $this->getPropertyValue($oMessage, trim($sMark, '% ')), $sTemplate); } $sMsgBody = $sTemplate; } } return $sMsgBody; }
public function pages_mklist_by_tags($s_tags, $i_domain_id = NULL, $s_template = "tags", $i_per_page = false, $b_ignore_paging = false, $s_base_types = '') { /* */ // init and context : $s_tpl_pages = "pages"; $s_tpl_page = "page"; $s_tpl_pages_empty = "pages_empty"; // validate input : $i_per_page = intval($i_per_page); if (!$i_per_page) { $i_per_page = 10; } if ($i_per_page === -1) { $b_ignore_paging = true; } $s_template = strval($s_template); if (!strlen($s_template)) { $s_template = "tags"; } $i_curr_page = intval(getRequest('p')); if ($b_ignore_paging) { $i_curr_page = 0; } $s_base_types = strval($s_base_types); // load templates : list($tpl_pages, $tpl_page, $tpl_pages_empty) = def_module::loadTemplates("content/" . $s_template, $s_tpl_pages, $s_tpl_page, $s_tpl_pages_empty); // process : $o_sel = new umiSelection(); if ($i_domain_id) { $o_sel->setIsDomainIgnored(false); } else { $o_sel->setIsDomainIgnored(true); } if (strlen($s_base_types)) { $o_sel->setElementTypeFilter(); $arr_base_types = preg_split("/\\s+/is", $s_base_types); foreach ($arr_base_types as $s_next_type) { $arr_next_type = explode('.', $s_next_type); if (count($arr_next_type) === 2) { $o_hierarchy_type = umiHierarchyTypesCollection::getInstance()->getTypeByName($arr_next_type[0], $arr_next_type[1]); if ($o_hierarchy_type instanceof umiHierarchyType) { $i_hierarchy_type_id = $o_hierarchy_type->getId(); $o_sel->addElementType($i_hierarchy_type_id); } } } } $o_sel->forceHierarchyTable(); $o_object_type = umiObjectTypesCollection::getInstance()->getTypeByGUID('root-pages-type'); $i_tags_field_id = $o_object_type->getFieldId('tags'); $arr_tags = preg_split("/\\s*,\\s*/is", $s_tags); $o_sel->setPropertyFilter(); $o_sel->addPropertyFilterEqual($i_tags_field_id, $arr_tags); $o_sel->setPermissionsFilter(); $o_sel->addPermissions(); if ($i_per_page !== -1) { $o_sel->setLimitFilter(); $o_sel->addLimit($i_per_page, $i_curr_page); } $result = umiSelectionsParser::runSelection($o_sel); $total = umiSelectionsParser::runSelectionCounts($o_sel); $block_arr = array(); if (($sz = sizeof($result)) > 0) { $arr_items = array(); for ($i = 0; $i < $sz; $i++) { $line_arr = array(); $element_id = intval($result[$i]); $element = umiHierarchy::getInstance()->getElement($element_id); if (!$element) { continue; } $line_arr['attribute:id'] = $element_id; $line_arr['node:name'] = $element->getName(); $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id); $line_arr['void:header'] = $lines_arr['name'] = $element->getName(); if ($publish_time = $element->getValue('publish_time')) { $line_arr['attribute:publish_time'] = $publish_time->getFormattedDate("U"); } $arr_items[] = def_module::parseTemplate($tpl_page, $line_arr, $element_id); umiHierarchy::getInstance()->unloadElement($element_id); } $block_arr['subnodes:items'] = $arr_items; $block_arr['tags'] = $s_tags; $block_arr['total'] = $total; $block_arr['per_page'] = $i_per_page; return def_module::parseTemplate($tpl_pages, $block_arr); } else { return def_module::parseTemplate($tpl_pages_empty, $block_arr); } }
function getDateLink($day, $month, $year) { $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId(); $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("news", "item"); $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id); $publish_time_field_id = $object_type->getFieldId('publish_time'); $sel = new umiSelection; $sel->setElementTypeFilter(); $sel->addElementType($hierarchy_type_id); $sel->setPermissionsFilter(); $sel->addPermissions(); $date1 = mktime(0, 0, 0, $month, $day, $year); $date2 = mktime(23, 59, 59, $month, $day, $year); $sel->setPropertyFilter(); $sel->addPropertyFilterBetween($publish_time_field_id, $date1, $date2); $result = umiSelectionsParser::runSelection($sel); $total = umiSelectionsParser::runSelectionCounts($sel); if (!empty($result)) { if ($total > 1) { $link = "?year=" . $year . "&month=" . $month . "&day=" . $day; } else { list($element_id) = $result; $link = umiHierarchy::getInstance()->getPathById($element_id) . "?year=" . $year . "&month=" . $month ; } } else { $link = ""; } return $link; }