/**
  * Gets news with specified type. Uses paging.
  *
  * @param int $type Id of type (rubric)
  * @param int $limit Limit for output
  * @param int $page Current page for calculate offset
  * @return array
  */
 public function getList($type, $limit, $page = 1)
 {
     $config = parse_ini_file("./config/config.ini", true);
     $page -= 1;
     $hierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId();
     $objectTypeId = umiObjectTypesCollection::getInstance()->getBaseType("news", "item");
     $objectType = umiObjectTypesCollection::getInstance()->getType($objectTypeId);
     $publishTimeFieldId = $objectType->getFieldId('publish_time');
     $publishToAppFieldId = $objectType->getFieldId('publish_to_app');
     $sel = new umiSelection();
     $sel->addElementType($hierarchyTypeId);
     $sel->addHierarchyFilter($type, 0, true);
     if ($config["umi"]["ignore-publish-flag"] != 1) {
         $sel->addPropertyFilterEqual($publishToAppFieldId, true);
     }
     $sel->setOrderByProperty($publishTimeFieldId, false);
     $sel->addLimit($limit, $page);
     $result = umiSelectionsParser::runSelection($sel);
     $items = array();
     $size = sizeof($result);
     for ($i = 0; $i < $size; $i++) {
         $elementId = $result[$i];
         $element = umiHierarchy::getInstance()->getElement($elementId);
         if (!$element) {
             continue;
         }
         $items[] = array("id" => $elementId, "header" => $element->getValue("h1"), "date" => $element->getValue("publish_time")->getFormattedDate("d.m.Y"), "image" => "http://" . $_SERVER['HTTP_HOST'] . $element->getValue("anons_pic"), "original_link" => "http://" . $_SERVER['HTTP_HOST'] . umiHierarchy::getInstance()->getPathById($elementId));
     }
     return $items;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 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 . '/');
     }
 }
Exemplo n.º 6
0
 public function tryPreAuth()
 {
     $v870fd5468174f846789cb0d56d95bed7 = "";
     $v61b14997da4f52f41ee7b0d90f09e670 = "";
     $ve218c54eefdbe103350435489a6595cb = "";
     $v2b2dccfdbf6e767de8512d66da6d18ca = 'u-login';
     $vad1ffbcb1d643a30a5f6cc9950526e81 = 'u-password';
     $ve57492e1c3bb8975edf9399351741cf8 = 'u-password-md5';
     $v0a7cb1c6ec211bc445c36725ebfb7bab = 'u-session-id';
     $v50b6116b0f49a6cb34e310d17da0ccc4 = ini_get("session.name");
     if ($v870fd5468174f846789cb0d56d95bed7 = getCookie($v2b2dccfdbf6e767de8512d66da6d18ca)) {
         if ($v61b14997da4f52f41ee7b0d90f09e670 = getCookie($vad1ffbcb1d643a30a5f6cc9950526e81)) {
             $v61b14997da4f52f41ee7b0d90f09e670 = md5($v61b14997da4f52f41ee7b0d90f09e670);
         } else {
             $v61b14997da4f52f41ee7b0d90f09e670 = getCookie($ve57492e1c3bb8975edf9399351741cf8);
         }
     }
     if (function_exists('apache_request_headers')) {
         $v47722c9511693b9a32d48982e48a7b9b = apache_request_headers();
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
             $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$v2b2dccfdbf6e767de8512d66da6d18ca]));
         }
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$ve57492e1c3bb8975edf9399351741cf8])) {
             $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$ve57492e1c3bb8975edf9399351741cf8]));
         } elseif (isset($v47722c9511693b9a32d48982e48a7b9b[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
             $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$vad1ffbcb1d643a30a5f6cc9950526e81])));
         }
         if (isset($v47722c9511693b9a32d48982e48a7b9b[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
             $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $v47722c9511693b9a32d48982e48a7b9b[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
         }
     }
     if (isset($_POST[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
         $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$v2b2dccfdbf6e767de8512d66da6d18ca]));
     }
     if (isset($_POST[$ve57492e1c3bb8975edf9399351741cf8])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$ve57492e1c3bb8975edf9399351741cf8]));
     } elseif (isset($_POST[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$vad1ffbcb1d643a30a5f6cc9950526e81])));
     }
     if (isset($_POST[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
         $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_POST[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
     }
     if (isset($_GET[$v2b2dccfdbf6e767de8512d66da6d18ca])) {
         $v870fd5468174f846789cb0d56d95bed7 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$v2b2dccfdbf6e767de8512d66da6d18ca]));
     }
     if (isset($_GET[$ve57492e1c3bb8975edf9399351741cf8])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$ve57492e1c3bb8975edf9399351741cf8]));
     } elseif (isset($_GET[$vad1ffbcb1d643a30a5f6cc9950526e81])) {
         $v61b14997da4f52f41ee7b0d90f09e670 = md5(umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$vad1ffbcb1d643a30a5f6cc9950526e81])));
     }
     if (isset($_GET[$v0a7cb1c6ec211bc445c36725ebfb7bab])) {
         $ve218c54eefdbe103350435489a6595cb = umiObjectProperty::filterInputString(str_replace(chr(0), "", $_GET[$v0a7cb1c6ec211bc445c36725ebfb7bab]));
     }
     if (strlen($v870fd5468174f846789cb0d56d95bed7) && strlen($v61b14997da4f52f41ee7b0d90f09e670)) {
         $vf5b788937450a693e6cbec05d8b8b13f = umiObjectTypesCollection::getInstance()->getBaseType("users", "user");
         $v8636cb7e3d45cd4e1e8e863d3286393e = umiObjectTypesCollection::getInstance()->getType($vf5b788937450a693e6cbec05d8b8b13f);
         $v8f671407d6df210b2670166a82e0fc1a = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("login");
         $v98fc9fb0068cf0cdca3ce2e0cb0843d6 = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("password");
         $v713d1619aba4eeb6679aec2b499e1b33 = $v8636cb7e3d45cd4e1e8e863d3286393e->getFieldId("is_activated");
         $v8be74552df93e31bbdd6b36ed74bdb6a = new umiSelection();
         $v8be74552df93e31bbdd6b36ed74bdb6a->setLimitFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addLimit(1);
         $v8be74552df93e31bbdd6b36ed74bdb6a->setObjectTypeFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addObjectType($vf5b788937450a693e6cbec05d8b8b13f);
         $v8be74552df93e31bbdd6b36ed74bdb6a->setPropertyFilter();
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v8f671407d6df210b2670166a82e0fc1a, $v870fd5468174f846789cb0d56d95bed7);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v98fc9fb0068cf0cdca3ce2e0cb0843d6, $v61b14997da4f52f41ee7b0d90f09e670);
         $v8be74552df93e31bbdd6b36ed74bdb6a->addPropertyFilterEqual($v713d1619aba4eeb6679aec2b499e1b33, 1);
         $result = umiSelectionsParser::runSelection($v8be74552df93e31bbdd6b36ed74bdb6a);
         if (sizeof($result) === 1) {
             $vbc8a7343779d62b3f0dc86f78848bde1 = intval($result[0]);
             if (!session_id()) {
                 session_start();
             }
             $vc87c62534434262e1d1c1348215684ef = session_id();
             system_runSession();
             if (strlen($vc87c62534434262e1d1c1348215684ef) && isset($_SESSION) && isset($_SESSION['cms_login']) && isset($_SESSION['cms_pass']) && isset($_SESSION['user_id']) && $_SESSION['cms_login'] === $v870fd5468174f846789cb0d56d95bed7 && $_SESSION['cms_pass'] === $v61b14997da4f52f41ee7b0d90f09e670 && $_SESSION['user_id'] === $vbc8a7343779d62b3f0dc86f78848bde1) {
                 $_SESSION['starttime'] = time();
                 return self::PREAUTH_ALREADY;
             }
             if (strlen($ve218c54eefdbe103350435489a6595cb)) {
                 if (strlen($vc87c62534434262e1d1c1348215684ef)) {
                     session_destroy();
                 }
                 session_id($ve218c54eefdbe103350435489a6595cb);
                 session_start();
                 $_SESSION['starttime'] = time();
                 if (!(isset($_SESSION['cms_login']) && isset($_SESSION['cms_pass']) && isset($_SESSION['user_id']) && $_SESSION['cms_login'] === $v870fd5468174f846789cb0d56d95bed7 && $_SESSION['cms_pass'] === $v61b14997da4f52f41ee7b0d90f09e670 && $_SESSION['user_id'] === $vbc8a7343779d62b3f0dc86f78848bde1)) {
                     session_destroy();
                 } else {
                     $vd69634a59b2cc5df7d632e48474afc94 = new umiEventPoint("users_prelogin_successfull");
                     $vd69634a59b2cc5df7d632e48474afc94->setParam("prelogin_mode", self::PREAUTH_SUCCESS_RESTORE);
                     $vd69634a59b2cc5df7d632e48474afc94->setParam("user_id", $vbc8a7343779d62b3f0dc86f78848bde1);
                     umiEventsController::getInstance()->callEvent($vd69634a59b2cc5df7d632e48474afc94);
                     return self::PREAUTH_SUCCESS_RESTORE;
                 }
             } else {
                 @session_start();
                 $_SESSION['cms_login'] = $v870fd5468174f846789cb0d56d95bed7;
                 $_SESSION['cms_pass'] = $v61b14997da4f52f41ee7b0d90f09e670;
                 $_SESSION['user_id'] = $vbc8a7343779d62b3f0dc86f78848bde1;
                 $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance();
                 if ($v41275a535677f79ff347e01bc530c176->isSv($vbc8a7343779d62b3f0dc86f78848bde1)) {
                     $_SESSION['user_is_sv'] = true;
                 }
                 session_commit();
                 session_start();
                 $_SESSION['starttime'] = time();
                 $vd69634a59b2cc5df7d632e48474afc94 = new umiEventPoint("users_prelogin_successfull");
                 $vd69634a59b2cc5df7d632e48474afc94->setParam("prelogin_mode", self::PREAUTH_SUCCESS_NEW);
                 $vd69634a59b2cc5df7d632e48474afc94->setParam("user_id", $vbc8a7343779d62b3f0dc86f78848bde1);
                 umiEventsController::getInstance()->callEvent($vd69634a59b2cc5df7d632e48474afc94);
                 if (isset($_REQUEST['u-login-store']) && (intval($_REQUEST['u-login-store']) || strtoupper($_REQUEST['u-login-store']) === 'ON')) {
                     setcookie($v2b2dccfdbf6e767de8512d66da6d18ca, $v870fd5468174f846789cb0d56d95bed7, time() + 60 * 60 * 24 * 31, "/");
                     setcookie($ve57492e1c3bb8975edf9399351741cf8, $v61b14997da4f52f41ee7b0d90f09e670, time() + 60 * 60 * 24 * 31, "/");
                 }
                 return self::PREAUTH_SUCCESS_NEW;
             }
         }
     }
     return self::PREAUTH_INVALID;
 }
Exemplo n.º 7
0
 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);
 }
Exemplo n.º 8
0
		public function activate($template = "default") {
			if ($this->is_auth()) $this->redirect("/");

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

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

			$block_arr = Array();

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

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

			$typesCollection = umiObjectTypesCollection::getInstance();

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


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

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

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

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

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

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

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

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

			return def_module::parseTemplate($template, $block_arr);
		}
Exemplo n.º 9
0
 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);
 }
Exemplo n.º 10
0
    public function post()
    {
        if (defined('CURRENT_VERSION_LINE') && CURRENT_VERSION_LINE == 'demo') {
            $url = getRequest('ref_onsuccess');
            if (!$url) {
                $url = $this->pre_lang . "/webforms/posted/";
            }
            $this->redirect($url);
        }
        global $_FILES;
        $iOldErrorReportingLevel = error_reporting(~E_ALL & ~E_STRICT);
        $res = "";
        $email_to = getRequest('email_to');
        $message = getRequest('message');
        $data = getRequest('data');
        $domain = getRequest('domain');
        $subject = cmsController::getInstance()->getCurrentDomain()->getHost();
        $referer_url = $_SERVER['HTTP_REFERER'];
        $this->errorRegisterFailPage($referer_url);
        // check captcha
        if (isset($_REQUEST['captcha'])) {
            $_SESSION['user_captcha'] = md5((int) $_REQUEST['captcha']);
        }
        if (!umiCaptcha::checkCaptcha()) {
            $this->errorNewMessage("%errors_wrong_captcha%");
            $this->errorPanic();
        }
        $sRecipientName = "administrator";
        if (is_numeric($email_to)) {
            $to = $this->guessAddressValue($email_to);
            if (intval($to) != $email_to) {
                $sRecipientName = $this->guessAddressName($email_to);
            } else {
                $oTCollection = umiObjectTypesCollection::getInstance();
                $iTypeId = $oTCollection->getBaseType('webforms', 'address');
                $oType = $oTCollection->getType($iTypeId);
                $iFieldId = $oType->getFieldId('insert_id');
                $oSelection = new umiSelection();
                $oSelection->addObjectType($iTypeId);
                $oSelection->addPropertyFilterEqual($iFieldId, $email_to);
                $aIDs = umiSelectionsParser::runSelection($oSelection);
                if (count($aIDs)) {
                    $oObject = umiObjectsCollection::getInstance()->getObject($aIDs[0]);
                    $to = $oObject->getValue('address_list');
                    $sRecipientName = $oObject->getValue('address_description');
                } else {
                    if (!defined("DB_DRIVER") || DB_DRIVER != "xml") {
                        $sql = "SELECT email, descr FROM cms_webforms WHERE id={$email_to}";
                        $result = l_mysql_query($sql);
                        list($to, $sRecipientName) = mysql_fetch_row($result);
                    } else {
                        $this->redirect($this->pre_lang . "/webforms/posted/?template=error_no_recipient");
                    }
                }
            }
        } else {
            $this->checkAddressExistence($email_to);
            $to = $email_to;
        }
        if (!$data['email_from'] && isset($data['email'])) {
            $data['email_from'] = $data['email'];
        }
        $someMail = new umiMail();
        $arrMails = explode(",", $to);
        $arrMails = array_map("trim", $arrMails);
        foreach ($arrMails as $sEmail) {
            $someMail->addRecipient($sEmail, $sRecipientName);
        }
        $from = $data['fname'] . " " . $data['lname'];
        $someMail->setFrom($data['email_from'], $from);
        $mess = "";
        if (is_array($data)) {
            if (isset($data['subject'])) {
                $subject = $data['subject'];
            }
            if (isset($data['fio'])) {
                $from = $data['fio'];
            }
            if ($data['fname'] || $data['lname'] || $data['mname']) {
                $from = $data['lname'] . " " . $data['fname'] . " " . $data['mname'];
            }
            if ($data['fio_frm']) {
                $from = $data['fio_frm'];
            }
            if ($email_from = $data['email_from']) {
                $email_from = $data['email_from'];
            }
            $mess = <<<END

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

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

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

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

END;
            }
            $mess .= <<<END

</table>
<hr />

END;
        }
        if ($from) {
            $user_fio_from = $from;
        }
        $message = str_replace("%", "&#37;", $message);
        $mess .= nl2br($message);
        if (!$from) {
            $from = regedit::getInstance()->getVal("//settings/fio_from");
        }
        if (!$from_email) {
            $from_email = regedit::getInstance()->getVal("//settings/email_from");
        }
        $from = $from . "<" . $from_email . ">";
        $someMail->setSubject($subject);
        $someMail->setContent($mess);
        $someMail->commit();
        $someMail->send();
        if ($template = (string) $_REQUEST['template']) {
            //Sending auto-reply
            list($template_mail, $template_mail_subject) = def_module::loadTemplatesForMail("webforms/" . $template, "webforms_reply_mail", "webforms_reply_mail_subject");
            $template_mail = def_module::parseTemplateForMail($template_mail, $arr);
            $template_mail_subject = def_module::parseTemplateForMail($template_mail, $arr);
            $check_param = false;
            if (!is_array($template_mail)) {
                if ((bool) strlen($template_mail)) {
                    $check_param = true;
                }
            }
            if ($check_param) {
                $email_from = regedit::getInstance()->getVal("//settings/email_from");
                $fio_from = regedit::getInstance()->getVal("//settings/fio_from");
                $replyMail = new umiMail();
                $replyMail->addRecipient($data['email_from'], $from);
                $replyMail->setFrom($email_from, $fio_from);
                $replyMail->setSubject($template_mail_subject);
                $replyMail->setContent($template_mail);
                $replyMail->commit();
                $replyMail->send();
            }
        }
        $oEventPoint = new umiEventPoint("webforms_post");
        $oEventPoint->setMode("after");
        $oEventPoint->setParam("email", $data['email_from']);
        $oEventPoint->setParam("fio", $user_fio_from);
        $this->setEventPoint($oEventPoint);
        $url = getRequest('ref_onsuccess');
        if (!$url) {
            $url = $this->pre_lang . "/webforms/posted/";
        }
        if ($template) {
            $url .= (strpos($url, '?') === false ? '?' : '&') . "template=" . $template;
        }
        error_reporting($iOldErrorReportingLevel);
        $this->redirect($url);
    }
Exemplo n.º 11
0
 /**
  * Применение кастомной логики к объекту umiSelection
  *
  * @param umiSelection $selection Объект umiSelection
  */
 public function applyCustomCountFilters(&$selection)
 {
     $arCustomFilters = $this->customLogic->filters();
     $oType = umiObjectTypesCollection::getInstance()->getType($this->objectsTypeId);
     if (!$oType) {
         return;
     }
     foreach ($arCustomFilters as $arCustomFilter) {
         $iFieldId = $oType->getFieldId($arCustomFilter[0]);
         $sOperator = $arCustomFilter[1];
         $value = $arCustomFilter[2];
         switch ($sOperator) {
             case "eq":
                 $selection->addPropertyFilterEqual($iFieldId, $value);
                 break;
             case "noteq":
                 $selection->addPropertyFilterNotEqual($iFieldId, $value);
                 break;
             case "null":
                 $selection->addPropertyFilterIsNull($iFieldId);
                 break;
             case "notnull":
                 $selection->addPropertyFilterIsNotNull($iFieldId);
                 break;
             case "gt":
                 $selection->addPropertyFilterMore($iFieldId, $value);
                 break;
             case "lt":
                 $selection->addPropertyFilterLess($iFieldId, $value);
                 break;
             case "like":
                 $selection->addPropertyFilterLike($iFieldId, $value);
                 break;
         }
     }
 }
Exemplo n.º 12
0
 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}\"");
     }
 }
Exemplo n.º 13
0
 /**
  * @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));
 }
 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);
     }
 }
Exemplo n.º 15
0
 public function fastInsert($placeName)
 {
     $sel = new umiSelection();
     // type filter
     $sel->setObjectTypeFilter();
     $hierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("banners", "banner")->getId();
     $objectTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($hierarchyTypeId);
     $objectType = umiObjectTypesCollection::getInstance()->getType($objectTypeId);
     if (!$objectType) {
         return false;
     }
     $bannerTypes = umiObjectTypesCollection::getInstance()->getTypesByHierarchyTypeId($hierarchyTypeId);
     $sel->addObjectType(array_keys($bannerTypes));
     $sel->addPropertyFilterEqual($objectType->getFieldId('place'), $this->getPlaceId($placeName));
     $sel->setOrderByRand();
     $result = umiSelectionsParser::runSelection($sel);
     $objects = umiObjectsCollection::getInstance();
     foreach ($result as $bannerId) {
         $banner = $objects->getObject($bannerId);
         if (!$banner->is_active) {
             continue;
         }
         if ($this->checkIfValidParent($banner->view_pages, $banner->not_view_pages) == false) {
             continue;
         }
         if ($renderedBanner = $this->renderBanner($bannerId)) {
             return $renderedBanner;
         }
     }
 }
Exemplo n.º 16
0
 public function related_links($elementPath = false, $template = "default", $limit = 3)
 {
     list($template_block, $template_block_empty, $template_line) = def_module::loadTemplates("news/" . $template, "related_block", "related_block_empty", "related_line");
     $element_id = $this->analyzeRequiredPath($elementPath);
     if ($element_id === false) {
         throw new publicException(getLabel('error-page-does-not-exist', null, $elementPath));
     }
     $element = umiHierarchy::getInstance()->getElement($element_id);
     if (!$element) {
         return $template_block_empty;
     }
     $subjects = $element->getValue("subjects");
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId();
     if (sizeof($subjects)) {
         $sel = new umiSelection();
         $sel->addElementType($hierarchy_type_id);
         $subjects_field_id = $element->getFieldId('subjects');
         $sel->addPropertyFilterEqual($subjects_field_id, $subjects);
         $sel->setOrderByProperty($element->getFieldId('publish_time'), false);
         $sel->addPermissions();
         $sel->addLimit($limit + 1);
         $result = umiSelectionsParser::runSelection($sel);
     } else {
         $result = array();
     }
     if (($sz = sizeof($result)) > 0) {
         $block_arr = array();
         $lines = array();
         $sz--;
         for ($i = 0; $i < $sz; $i++) {
             $line_arr = array();
             $rel_element_id = $result[$i];
             if ($rel_element_id == $element_id) {
                 $sz++;
                 continue;
             }
             $rel_element = umiHierarchy::getInstance()->getElement($rel_element_id);
             $line_arr['attribute:id'] = $rel_element_id;
             $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($rel_element_id);
             $line_arr['xlink:href'] = "upage://" . $rel_element_id;
             $line_arr['node:name'] = $rel_element->getName();
             $lines[] = self::parseTemplate($template_line, $line_arr, $rel_element_id);
         }
         if (!$lines) {
             return "";
         }
         $block_arr['subnodes:items'] = $block_arr['void:lines'] = $block_arr['void:related_links'] = $lines;
         return self::parseTemplate($template_block, $block_arr);
     } else {
         return $template_block_empty;
     }
 }
Exemplo n.º 17
0
	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;
		}
	}
Exemplo n.º 18
0
 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);
 }