public function import_subscriber($email, $fname, $lname) { if (!$email) { return false; } $oSbsSelection = new umiSelection(); $oSbsSelection->setObjectTypeFilter(); $iSbsHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId(); $iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iSbsHierarchyTypeId); $oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId); $oSbsSelection->addObjectType($iSbsTypeId); $oSbsSelection->setNamesFilter(); $oSbsSelection->addNameFilterEquals($email); $arrSbsSelResults = umiSelectionsParser::runSelection($oSbsSelection); if (sizeof($arrSbsSelResults)) { list($object_id) = $arrSbsSelResults; } else { $object_id = umiObjectsCollection::getInstance()->addObject($email, $iSbsTypeId); } if ($oSubscriber = umiObjectsCollection::getInstance()->getObject($object_id)) { $oSubscriber->setName($email); $oSubscriber->setValue('fname', $fname); $oSubscriber->setValue('lname', $lname); $oCurrDate = new umiDate(time()); $oSubscriber->setValue('subscribe_date', $oCurrDate); $oSubscriber->setValue('subscriber_dispatches', $this->getAllDispatches()); $oSubscriber->commit(); } else { return false; } return $object_id; }
public function count_users() { $typeId = umiObjectTypesCollection::getInstance()->getBaseType("users", "user"); $type = umiObjectTypesCollection::getInstance()->getType($typeId); $isActiveField = $type->getFieldId('is_activated'); $sel = new umiSelection(); $sel->addObjectType($typeId); $sel->addPropertyFilterEqual($isActiveField, true); return umiSelectionsParser::runSelectionCounts($sel); $total; }
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 fill_release($dispatch_id = false, $ignore_redirect = false) { $iDispId = $dispatch_id ? $dispatch_id : getRequest('param0'); $oDispatch = umiObjectsCollection::getInstance()->getObject($iDispId); if ($oDispatch instanceof umiObject) { $iReleaseId = $this->getNewReleaseInstanceId($iDispId); $iNewsRelation = $oDispatch->getValue("news_relation"); $arrNewsLents = umiHierarchy::getInstance()->getObjectInstances($iNewsRelation, false, true); // get all releases $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "release")->getId(); $iReleaseTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId); $oReleaseType = umiObjectTypesCollection::getInstance()->getType($iReleaseTypeId); $sel = new umiSelection(); $sel->setObjectTypeFilter(); $sel->addObjectType($iReleaseTypeId); $sel->setPropertyFilter(); $sel->addPropertyFilterEqual($oReleaseType->getFieldId('disp_reference'), $iDispId); $arrReleases = umiSelectionsParser::runSelection($sel); if (count($arrNewsLents)) { $iElementId = (int) $arrNewsLents[0]; $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->setOrderFilter(); $sel->setOrderByProperty($publish_time_field_id, false); $sel->setHierarchyFilter(); $sel->addHierarchyFilter($iElementId, 0, true); $sel->setLimitFilter(); $sel->addLimit(50); $sel->setIsLangIgnored(true); /* $sel->setPropertyFilter(); $sel->addPropertyFilterBetween($publish_time_field_id, $date1, $date2); */ $result = umiSelectionsParser::runSelection($sel); for ($iI = 0; $iI < count($result); $iI++) { $iNextNewId = $result[$iI]; $oNextNew = umiHierarchy::getInstance()->getElement($iNextNewId); if ($oNextNew instanceof umiHierarchyElement) { $sName = $oNextNew->getName(); $sHeader = $oNextNew->getValue('h1'); $sShortBody = $oNextNew->getValue('anons'); $sBody = $oNextNew->getValue('content'); $oPubTime = $oNextNew->getValue('publish_time'); if (!strlen($sBody)) { $sBody = $sShortBody; } // add message $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "message")->getId(); $iMsgTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId); $oMsgType = umiObjectTypesCollection::getInstance()->getType($iMsgTypeId); // check if new exists $oSel = new umiSelection(); $oSel->setObjectTypeFilter(); $oSel->addObjectType($iMsgTypeId); $oSel->setPropertyFilter(); $oSel->addPropertyFilterEqual($oMsgType->getFieldId('new_relation'), $iNextNewId); $oSel->setPropertyFilter(); $oSel->addPropertyFilterEqual($oMsgType->getFieldId('release_reference'), $arrReleases); $oSel->setLimitFilter(); $oSel->addLimit(1); $iCount = umiSelectionsParser::runSelectionCounts($oSel); if ($iCount > 0) { continue; } //add new message $iMsgObjId = umiObjectsCollection::getInstance()->addObject($sName, $iMsgTypeId); // try get object $oMsgObj = umiObjectsCollection::getInstance()->getObject($iMsgObjId); if ($oMsgObj instanceof umiObject) { $oMsgObj->setValue('release_reference', $iReleaseId); $oMsgObj->setValue('header', $sHeader); $oMsgObj->setValue('body', $sBody); $oMsgObj->setValue('short_body', $sShortBody); $oMsgObj->setValue('new_relation', array($iNextNewId)); if ($oPubTime instanceof umiDate) { $oMsgObj->setValue('msg_date', $oPubTime); } $oMsgObj->commit(); } } } } } // WTF? IE7 does not send the HTTP_REFERER header, so we should set the redirect string manually if (!$ignore_redirect) { $this->chooseRedirect('/admin/dispatches/edit/' . $iDispId . '/'); } }
public function searchRelationValues($field, $value) { if (is_array($value)) { $result = array(); foreach ($value as $sval) { $result[] = $this->searchRelationValues($field, $sval); } return $result; } $guideId = $field->getGuideId(); if ($guideId) { if (is_numeric($value)) { return $value; } else { $sel = new umiSelection(); $sel->addObjectType($guideId); $sel->searchText($value); $result = umiSelectionsParser::runSelection($sel); return sizeof($result) ? $result : array(-1); } } else { return $value; } }
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 rename() { $s_path = $this->getCurrentPath(); if (defined("CURRENT_VERSION_LINE") && CURRENT_VERSION_LINE == "demo") { $this->chooseRedirect('/admin/filemanager/directory_list/?dir=' . base64_encode($s_path)); return false; } $s_old_name = getRequest('old_name'); $s_new_name = getRequest('new_name'); if (!$this->checkIsAllowedPath($s_path . "/" . $s_old_name)) { throw new publicAdminException(getLabel('error-fs-not-allowed')); } $s_new_name_arr = explode(".", $s_new_name); foreach ($s_new_name_arr as &$sn) { $sn = translit::convert($sn); } $s_new_name = implode(".", $s_new_name_arr); if (strlen($s_path) && strlen($s_old_name) && strlen($s_new_name)) { if (file_exists($s_path . "/" . $s_old_name) && !file_exists($s_path . "/" . $s_new_name)) { // try rename if (@rename($s_path . "/" . $s_old_name, $s_path . "/" . $s_new_name) === false) { throw new publicAdminException(getLabel('error-cant-rename-dir')); } else { $typesCollection = umiObjectTypesCollection::getInstance(); $objectsCollection = umiObjectsCollection::getInstance(); $selection = new umiSelection(); $typeId = $typesCollection->getBaseType("filemanager", "shared_file"); $type = $typesCollection->getType($typeId); $selection->addObjectType($typeId); $selection->addPropertyFilterLike($type->getFieldId('fs_file'), './' . $s_path . "/" . $s_old_name); $sfiles = umiSelectionsParser::runSelection($selection); foreach ($sfiles as $sfileId) { if ($file = $objectsCollection->getObject($sfileId)) { $file->setValue('fs_file', new umiFile('./' . $s_path . "/" . $s_new_name)); } } } } } $this->chooseRedirect('/admin/filemanager/directory_list/?dir=' . base64_encode($s_path)); }
public function getFilteredPages($v94757cae63fd3e398c0811a976dd6bbe, $vdfc394bd05a4b48161c790034af522a8, $v2063c1608d6e0baf80249c42e2be5804, $v9d85c254b5062e518a134a61950999c3 = 10, $v66f6181bcb4cff4cd38fbc804a036db6 = "default", $v126424c808da347218ba631a78feaf04 = false, $v3aabf39f2d943fa886d86dcbbee4d910 = false, $v375a52cb87b22005816fe7a418ec6660 = true) { $ve1ba980ce14a8c0d7e2779f895ab8695 = getRequest('p'); if ($v126424c808da347218ba631a78feaf04) { $ve1ba980ce14a8c0d7e2779f895ab8695 = 0; } list($v364f9b183bd2dd9e0beb45c754830a6c, $ve6a2fd7211958cfe50efa4d14bd332f5, $v28d65bb7a643774ada22f54ca0679289) = def_module::loadTemplates("filtered_pages/" . $v66f6181bcb4cff4cd38fbc804a036db6, "pages_block", "pages_block_line", "pages_block_empty"); $v599dcce2998a6b40b1e38e8c6006cb0a = umiObjectTypesCollection::getInstance()->getType($v94757cae63fd3e398c0811a976dd6bbe); if ($v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) { if ($vf8a30f899e9d691c760031d60ea0f3a2 = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldId($vdfc394bd05a4b48161c790034af522a8)) { $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection(); $v8be74552df93e31bbdd6b36ed74bdb6a->forceHierarchyTable(true); $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($v94757cae63fd3e398c0811a976dd6bbe); $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($vf8a30f899e9d691c760031d60ea0f3a2); if ($v051369818a8073bba5feeb0e957eb308 = $v06e3d36fa30cea095545139854ad1fb9->getGuideId()) { if (!is_numeric($v2063c1608d6e0baf80249c42e2be5804)) { $vd47c20d305d6a44856735d5fe5c086ca = umiObjectsCollection::getInstance()->getGuidedItems($v051369818a8073bba5feeb0e957eb308); $v2063c1608d6e0baf80249c42e2be5804 = array_search($v2063c1608d6e0baf80249c42e2be5804, $vd47c20d305d6a44856735d5fe5c086ca); } } $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($vf8a30f899e9d691c760031d60ea0f3a2, $v2063c1608d6e0baf80249c42e2be5804); $v8be74552df93e31bbdd6b36ed74bdb6a->addPermissions(); $v8be74552df93e31bbdd6b36ed74bdb6a->addLimit($v9d85c254b5062e518a134a61950999c3, $ve1ba980ce14a8c0d7e2779f895ab8695); $v8be74552df93e31bbdd6b36ed74bdb6a->addActiveFilter(true); if ($v3aabf39f2d943fa886d86dcbbee4d910) { $v8be74552df93e31bbdd6b36ed74bdb6a->setOrderByProperty($v3aabf39f2d943fa886d86dcbbee4d910, $v375a52cb87b22005816fe7a418ec6660); } else { $v8be74552df93e31bbdd6b36ed74bdb6a->setOrderByObjectId($v375a52cb87b22005816fe7a418ec6660); } $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a); $vfbb44b4487415b134bce9c790a27fe5e = umiSelectionsParser::runSelectionCounts($v8be74552df93e31bbdd6b36ed74bdb6a); $vfca1bff8ad8b3a8585abfb0ad523ba42 = array(); if ($vfbb44b4487415b134bce9c790a27fe5e > 0) { $v691d502cfd0e0626cd3b058e5682ad1c = array(); $v12a673c3eb40ea95d992c775443b8709 = umiHierarchy::getInstance(); foreach ($result as $v7057e8409c7c531a1a6e9ac3df4ed549) { $v8e2dcfd7e7e24b1ca76c1193f645902b = $v12a673c3eb40ea95d992c775443b8709->getElement($v7057e8409c7c531a1a6e9ac3df4ed549); if ($v8e2dcfd7e7e24b1ca76c1193f645902b instanceof umiHierarchyElement) { $v691d502cfd0e0626cd3b058e5682ad1c[] = def_module::parseTemplate($ve6a2fd7211958cfe50efa4d14bd332f5, array('attribute:id' => $v8e2dcfd7e7e24b1ca76c1193f645902b->id, 'attribute:link' => $v8e2dcfd7e7e24b1ca76c1193f645902b->link, 'node:name' => $v8e2dcfd7e7e24b1ca76c1193f645902b->name)); } } $vfca1bff8ad8b3a8585abfb0ad523ba42['subnodes:items'] = $v691d502cfd0e0626cd3b058e5682ad1c; $v66f6181bcb4cff4cd38fbc804a036db6 = $v364f9b183bd2dd9e0beb45c754830a6c; } else { $v66f6181bcb4cff4cd38fbc804a036db6 = $v28d65bb7a643774ada22f54ca0679289; } $vfca1bff8ad8b3a8585abfb0ad523ba42['total'] = $vfbb44b4487415b134bce9c790a27fe5e; $vfca1bff8ad8b3a8585abfb0ad523ba42['per_page'] = $v9d85c254b5062e518a134a61950999c3; return def_module::parseTemplate($v66f6181bcb4cff4cd38fbc804a036db6, $vfca1bff8ad8b3a8585abfb0ad523ba42); } else { throw new publicException("Type \"" . $v599dcce2998a6b40b1e38e8c6006cb0a->getName() . "\" doesn't have property \"{$vdfc394bd05a4b48161c790034af522a8}\""); } } else { throw new publicException("Wrong type id \"{$v94757cae63fd3e398c0811a976dd6bbe}\""); } }
/** * Сбросить настройки прав до дефолтных для страницы (класс 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)); }
public function getAllDispatches() { $oDispsSelection = new umiSelection(); $oDispsSelection->setObjectTypeFilter(); $iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "dispatch")->getId(); $iDispTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId); $oDispType = umiObjectTypesCollection::getInstance()->getType($iDispTypeId); $iActiveFldId = $oDispType->getFieldId('is_active'); $oDispsSelection->addPropertyFilterEqual($iActiveFldId, true, true); $oDispsSelection->addObjectType($iDispTypeId); return umiSelectionsParser::runSelection($oDispsSelection); }
public function getObjectsByTypeId($objectTypeId) { $objects = umiObjectsCollection::getInstance(); $sel = new umiSelection; $sel->addObjectType($objectTypeId); $result = umiSelectionsParser::runSelection($sel); $items_arr = Array(); foreach($result as $objectId) { $object = $objects->getObject($objectId); if($object instanceof umiObject) { $items_arr[] = $object; } } $block_arr = Array("items" => Array("nodes:item" => $items_arr)); return $block_arr; }
<?php if (!defined('DB_DRIVER') || DB_DRIVER != 'xml') { $oCollection = umiObjectsCollection::getInstance(); $iTypeId = umiObjectTypesCollection::getInstance()->getBaseType('webforms', 'address'); $sSQL = 'SELECT `id`, `email`, `descr` FROM cms_webforms'; $rResult = l_mysql_query($sSQL); while ($aRow = mysql_fetch_assoc($rResult)) { $iId = $oCollection->addObject($aRow['id'], $iTypeId); $oObject = $oCollection->getObject($iId); $oObject->setValue('address_description', $aRow['descr']); $oObject->setValue('address_list', $aRow['email']); $oObject->setValue('insert_id', $aRow['id']); $oObject->commit(); } l_mysql_query('TRUNCATE TABLE cms_webforms'); } $oPCollection = permissionsCollection::getInstance(); $iUserTypeID = umiObjectTypesCollection::getInstance()->getBaseType('users', 'user'); $oSelection = new umiSelection(); $oSelection->addObjectType($iUserTypeID); $aUIDs = umiSelectionsParser::runSelection($oSelection); if (is_array($aUIDs) && !empty($aUIDs)) { foreach ($aUIDs as $iUserID) { $oPCollection->setModulesPermissions($iUserID, 'webforms', 'add'); } }
public function renderCurrencyChooser($v66f6181bcb4cff4cd38fbc804a036db6 = "default") { if (!$v66f6181bcb4cff4cd38fbc804a036db6) { $v66f6181bcb4cff4cd38fbc804a036db6 = "default"; } list($v33049bc9918b68289df6a5ec64f07f47) = def_module::loadTemplates("eshop/basket/" . $v66f6181bcb4cff4cd38fbc804a036db6, "currency_choose"); $v7f5cbfbf72c13c3428b35837dff582f8 = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "currency"); $v4101a5fdf0ed40cbaf9bea2e125182cb = umiObjectTypesCollection::getInstance()->getType($v7f5cbfbf72c13c3428b35837dff582f8); $v01155f9f4e569970e4eef4e39fdbf559 = $v4101a5fdf0ed40cbaf9bea2e125182cb->getFieldId("use_in_eshop"); $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection(); $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($v7f5cbfbf72c13c3428b35837dff582f8); $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v01155f9f4e569970e4eef4e39fdbf559, true); $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a); $vea963809ed3a54d0c863508f546b2bae = array("subnodes:currency_items" => ""); if (count($result) < 2) { return false; } foreach ($result as $vf82265ccceac13b2f40ccd9e81cbd263) { $vea963809ed3a54d0c863508f546b2bae['subnodes:currency_items'] .= $this->renderCurrencyItem($vf82265ccceac13b2f40ccd9e81cbd263); } return def_module::parseTemplate($v33049bc9918b68289df6a5ec64f07f47, $vea963809ed3a54d0c863508f546b2bae); }
public function getPageStatusIdByStatusSid($v03c07d5bea3270c79066ec0a8b6b5d28 = 'page_status_publish') { $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection(); $v8be74552df93e31bbdd6b36ed74bdb6a->setObjectTypeFilter(); $v6301cee35ea764a1e241978f93f01069 = $this->getGuideIdByFieldName('publish_status'); if (!$v6301cee35ea764a1e241978f93f01069) { return false; } $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($v6301cee35ea764a1e241978f93f01069); $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a); foreach ($result as $v16b2b26000987faccb260b9d39df1269) { $vb2b5820c9d36fad67c5a4aa95ddbd8f9 = umiObjectsCollection::getInstance()->getObject($v16b2b26000987faccb260b9d39df1269)->getValue("publish_status_id"); if ($vb2b5820c9d36fad67c5a4aa95ddbd8f9 == $v03c07d5bea3270c79066ec0a8b6b5d28) { return $v16b2b26000987faccb260b9d39df1269; } } return false; }
<?php // Get instances $oHierarchy = umiHierarchy::getInstance(); $oCollection = umiObjectsCollection::getInstance(); // Let's select the polls $oSelection = new umiSelection(); $iHTypeID = umiHierarchyTypesCollection::getInstance()->getTypeByName("vote", "poll")->getId(); $oSelection->addElementType($iHTypeID); $aPolls = umiSelectionsParser::runSelection($oSelection); $oSelection = new umiSelection(); $iTypeID = umiObjectTypesCollection::getInstance()->getBaseType("vote", "poll_item"); $oSelection->addObjectType($iTypeID); $aAnswers = umiSelectionsParser::runSelection($oSelection); foreach($aPolls as $iPollID) { $oPoll = $oHierarchy->getElement($iPollID); $oPollObjectID = $oPoll->getObject()->getId(); if(!($oPoll instanceof umiHierarchyElement)) continue; $aLocalAnswersIDs = $oPoll->getValue('answers'); foreach($aAnswers as $iAnswerID) { $oAnswer = $oCollection->getObject($iAnswerID); if(!($oAnswer instanceof umiObject)) continue; $iLocalPollID = $oAnswer->getValue('poll_rel'); if($oPollObjectID != $iLocalPollID) continue; if(!in_array($iAnswerID, $aLocalAnswersIDs)) { $aLocalAnswersIDs[] = $iAnswerID; } } $aAnswers = array_diff($aAnswers, $aLocalAnswersIDs); $oPoll->setValue('answers', $aLocalAnswersIDs); $oPoll->commit(); }
public function getUnbindedForms($currentTemplateId = false) { $objectsCollection = umiObjectsCollection::getInstance(); $typesCollection = umiObjectTypesCollection::getInstance(); $baseType = $typesCollection->getBaseType("webforms", "form"); $forms = $typesCollection->getSubTypesList($baseType); $typeId = $typesCollection->getBaseType('webforms', 'template'); $selection = new umiSelection(); $selection->addObjectType($typeId); $result = umiSelectionsParser::runSelection($selection); $exclude = array(); foreach ($result as $templateId) { if ($templateId == $currentTemplateId) { continue; } $template = $objectsCollection->getObject($templateId); if (!$template instanceof umiObject) { continue; } $exclude[] = $template->getValue('form_id'); } $forms = array_diff($forms, $exclude); $result = array(); foreach ($forms as $id) { $item_arr = array(); $item_arr['attribute:id'] = $id; $item_arr['node:name'] = $typesCollection->getType($id)->getName(); $result[] = $item_arr; } return array("items" => array("nodes:item" => $result)); }
protected function getPlaceId($placeName) { static $cache = array(); $placeName = (string) $placeName; if (isset($cache[$placeName])) { return $cache[$placeName]; } $objectTypeId = umiObjectTypesCollection::getInstance()->getBaseType("banners", "place"); $sel = new umiSelection(); $sel->addObjectType($objectTypeId); $sel->addNameFilterEquals($placeName); return $cache[$placeName] = umiSelectionsParser::runSelection($sel); }
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); }
public function is_auth() { static $is_auth; if($is_auth === false || $is_auth === true) { return $is_auth; } $guest_id = umiObjectsCollection::getInstance()->getObjectIdByGUID('system-guest'); $user_id = getSession('user_id'); $login = getSession('cms_login'); $pass = getSession('cms_pass'); $this->user_login = "******"; $this->user_fullname = "%users_anonymous_fullname%"; if($user_id) { if($user_id == $guest_id) { $this->user_id = $user_id; return $is_auth = false; } else { $user = umiObjectsCollection::getInstance()->getObject($user_id); if($user instanceof umiObject) { if($pass != $user->getValue('password')) { unset($_SESSION['user_id']); $this->user_id = $guest_id; return $is_auth = false; } $login = $user->getValue('login'); $fname = $user->getValue('fname'); $lname = $user->getValue('lname'); $groups = $user->getValue('groups'); $this->groups = $groups; $this->user_id = $user_id; $this->user_login = $login; $this->user_fullname = "{$fname} {$lname}"; $this->updateUserLastRequestTime($user_id); system_runSession(); return $is_auth = true; } } } if($login && $pass) { $objectTypes = umiObjectTypesCollection::getInstance(); $object_type_id = $objectTypes->getBaseType("users", "user"); $object_type = $objectTypes->getType($object_type_id); $login_field_id = $object_type->getFieldId("login"); $password_field_id = $object_type->getFieldId("password"); $sel = new umiSelection; $sel->addLimit(1); $sel->addObjectType($objectTypes->getChildClasses($object_type_id)); $sel->addPropertyFilterEqual($login_field_id, $login); $sel->addPropertyFilterEqual($password_field_id, $pass); $result = umiSelectionsParser::runSelection($sel); } else { $result = Array(); } if(sizeof($result) == 1) { $user_id = $result[0]; $user_object = umiObjectsCollection::getInstance()->getObject($user_id); $login = $user_object->getValue("login"); $fname = $user_object->getValue("fname"); $lname = $user_object->getValue("lname"); $this->updateUserLastRequestTime($user_id); $groups = $user_object->getValue("groups"); $this->groups = $groups; $this->user_id = $user_id; $this->user_login = $login; $this->user_fullname = "{$fname} {$lname}"; $_SESSION['user_id'] = $user_id; system_runSession(); return $is_auth = true; } else { $this->user_id = $guest_id; $_SESSION['user_id'] = $guest_id; return $is_auth = false; } }
public function getGroupUsersCount($groupId = false) { $objectTypes = umiObjectTypesCollection::getInstance(); $userObjectTypeId = $objectTypes->getBaseType('users', 'user'); $userObjectType = $objectTypes->getType($userObjectTypeId); if ($userObjectType instanceof umiObjectType == false) { throw new publicException("Can't load user object type"); } $sel = new umiSelection(); $sel->addObjectType($userObjectTypeId); if ($groupId !== false) { if ($groupId != 0) { $sel->addPropertyFilterEqual($userObjectType->getFieldId('groups'), $groupId); } else { $sel->addPropertyFilterIsNull($userObjectType->getFieldId('groups')); } } return umiSelectionsParser::runSelectionCounts($sel); }
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; }
/** * @desc Выводит список авторов блога * @param int $blogId Идентификатор блога * @param string $template имя файла шаблона * @return string|array */ public function viewBlogAuthors($blogId = false, $template = 'default') { static $bInited = false; static $sTemplateBlock = false; static $sTemplateLine = false; static $oPermissions = null; static $oObjects = null; static $iUserTypeId = 0; static $iGroupsFieldId = 0; $oObjects = umiObjectsCollection::getInstance(); $owner = $oObjects->getObjectIdByGUID('system-supervisor'); if (!$bInited) { list($sTemplateBlock, $sTemplateLine) = self::loadTemplates('blogs20/' . $template, 'blog_author_list_block', 'blog_author_list_line'); $oPermissions = permissionsCollection::getInstance(); $iUserTypeId = umiObjectTypesCollection::getInstance()->getBaseType('users', 'user'); $oUserType = umiObjectTypesCollection::getInstance()->getType($iUserTypeId); $iGroupsFieldId = $oUserType->getFieldId('groups'); $bInited = true; } $aResult = array(); $aXMLResult = array(); $aUsers = array(); $Select = false; $aOwners = $oPermissions->getUsersByElementPermissions($blogId, 2); $sel = new umiSelection(); $sel->addObjectType($iUserTypeId); foreach ($aOwners as $OwnerId) { if ($OwnerId == $oObjects->getObjectIdByGUID('users-users-15')) { continue; } $Owner = $oObjects->getObject($OwnerId); if ($Owner->getTypeId() == $iUserTypeId) { $aUsers[] = $OwnerId; } else { $Select = true; $sel->addPropertyFilterEqual($iGroupsFieldId, $OwnerId); } } if ($Select) { $r = umiSelectionsParser::runSelection($sel); $aUsers = array_merge($aUsers, $r); } if (!($blog = umiHierarchy::getInstance()->getElement($blogId))) { throw new publicException(getLabel('error-page-does-not-exist', null, $blogId)); } $owner = $blog->getObject()->getOwnerId(); $aUsers[] = $owner; if (empty($aUsers)) { return ''; } $aUsers = array_unique($aUsers); foreach ($aUsers as $userId) { $oUser = $oObjects->getObject($userId); if (!$oUser) { continue; } $aGroups = $oUser->getValue('groups'); //if(in_array(15, $aGroups)) continue; $aLine = array(); $aLine['attribute:user_id'] = $userId; $aLine['attribute:login'] = $oUser->getValue('login'); $aLine['attribute:fname'] = $oUser->getValue('fname'); $aLine['attribute:lname'] = $oUser->getValue('lname'); $name = $oUser->getValue('fname') . ' ' . $oUser->getValue('lname'); $login = $oUser->getName(); $aLine['attribute:name'] = strlen(trim($name)) ? $name : $login; if ($userId == $owner) { $aLine['attribute:is_owner'] = '1'; } $aResult[] = self::parseTemplate($sTemplateLine, $aLine); $aXMLResult[] = $aLine; } if (empty($aResult)) { return ''; } $lines = !empty($aResult) && !is_array($aResult[0]) ? implode(', ', $aResult) : ''; return self::parseTemplate($sTemplateBlock, array('void:lines' => $lines, 'subnodes:users' => $aXMLResult)); }