function __IRM_InitReservation($iblockId) { $arResult = array(); $arResult["ALLOWED_FIELDS"] = array("ID" => array("NAME" => GetMessage("INAF_F_ID"), "ORDERABLE" => true, "FILTERABLE" => true, "TYPE" => "int", "IS_FIELD" => true), "NAME" => array("NAME" => GetMessage("INAF_F_NAME"), "ORDERABLE" => true, "FILTERABLE" => true, "TYPE" => "string", "IS_FIELD" => true), "DESCRIPTION" => array("NAME" => GetMessage("INAF_F_DESCRIPTION"), "ORDERABLE" => false, "FILTERABLE" => false, "TYPE" => "text", "IS_FIELD" => true), "UF_FLOOR" => array("NAME" => GetMessage("INAF_F_FLOOR"), "ORDERABLE" => true, "FILTERABLE" => true, "TYPE" => "integer", "IS_FIELD" => false), "UF_PLACE" => array("NAME" => GetMessage("INAF_F_PLACE"), "ORDERABLE" => true, "FILTERABLE" => true, "TYPE" => "integer", "IS_FIELD" => false), "UF_PHONE" => array("NAME" => GetMessage("INAF_F_PHONE"), "ORDERABLE" => false, "FILTERABLE" => false, "TYPE" => "string", "IS_FIELD" => false)); $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_" . $iblockId . "_SECTION", 0, LANGUAGE_ID); $arKeys = Array_Keys($arResult["ALLOWED_FIELDS"]); foreach ($arKeys as $key) { if (!$arResult["ALLOWED_FIELDS"][$key]["IS_FIELD"]) { if (!Array_Key_Exists($key, $arUserFields)) { $arFields = array("ENTITY_ID" => "IBLOCK_" . $iblockId . "_SECTION", "FIELD_NAME" => $key, "USER_TYPE_ID" => $arResult["ALLOWED_FIELDS"][$key]["TYPE"]); $obUserField = new CUserTypeEntity(); $obUserField->Add($arFields); } } } $arResult["ALLOWED_ITEM_PROPERTIES"] = array("UF_PERSONS" => array("NAME" => GetMessage("INTASK_C29_UF_PERSONS"), "ACTIVE" => "Y", "SORT" => 300, "CODE" => "UF_PERSONS", "PROPERTY_TYPE" => "N", "USER_TYPE" => false, "ROW_COUNT" => 1, "COL_COUNT" => 5, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "Y", "SEARCHABLE" => "Y", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId), "UF_RES_TYPE" => array("NAME" => GetMessage("INTASK_C29_UF_RES_TYPE"), "ACTIVE" => "Y", "SORT" => 200, "CODE" => "UF_RES_TYPE", "PROPERTY_TYPE" => "L", "USER_TYPE" => false, "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "Y", "SEARCHABLE" => "Y", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "Y", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId, "VALUES" => array(array("VALUE" => GetMessage("INTASK_C29_UF_RES_TYPEA"), "DEF" => "Y", "SORT" => 100, "XML_ID" => "A"), array("VALUE" => GetMessage("INTASK_C29_UF_RES_TYPEB"), "DEF" => "N", "SORT" => 200, "XML_ID" => "B"), array("VALUE" => GetMessage("INTASK_C29_UF_RES_TYPEC"), "DEF" => "N", "SORT" => 200, "XML_ID" => "C"), array("VALUE" => GetMessage("INTASK_C29_UF_RES_TYPED"), "DEF" => "N", "SORT" => 300, "XML_ID" => "D"))), "UF_PREPARE_ROOM" => array("NAME" => GetMessage("INTASK_C29_UF_PREPARE_ROOM"), "ACTIVE" => "Y", "SORT" => 500, "CODE" => "UF_PREPARE_ROOM", "PROPERTY_TYPE" => "S", "USER_TYPE" => false, "DEFAULT_VALUE" => "Y", "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "N", "SEARCHABLE" => "N", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId), "PERIOD_TYPE" => array("NAME" => GetMessage("INTASK_C29_PERIOD_TYPE"), "ACTIVE" => "Y", "SORT" => 500, "CODE" => "PERIOD_TYPE", "PROPERTY_TYPE" => "S", "USER_TYPE" => false, "DEFAULT_VALUE" => "NONE", "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "N", "SEARCHABLE" => "N", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId), "PERIOD_COUNT" => array("NAME" => GetMessage("INTASK_C29_PERIOD_COUNT"), "ACTIVE" => "Y", "SORT" => 500, "CODE" => "PERIOD_COUNT", "PROPERTY_TYPE" => "N", "USER_TYPE" => false, "DEFAULT_VALUE" => "", "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "N", "SEARCHABLE" => "N", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId), "EVENT_LENGTH" => array("NAME" => GetMessage("INTASK_C29_EVENT_LENGTH"), "ACTIVE" => "Y", "SORT" => 500, "CODE" => "EVENT_LENGTH", "PROPERTY_TYPE" => "N", "USER_TYPE" => false, "DEFAULT_VALUE" => "", "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "N", "SEARCHABLE" => "N", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId), "PERIOD_ADDITIONAL" => array("NAME" => GetMessage("INTASK_C29_PERIOD_ADDITIONAL"), "ACTIVE" => "Y", "SORT" => 500, "CODE" => "PERIOD_ADDITIONAL", "PROPERTY_TYPE" => "S", "USER_TYPE" => false, "DEFAULT_VALUE" => "", "ROW_COUNT" => 1, "COL_COUNT" => 30, "LINK_IBLOCK_ID" => 0, "WITH_DESCRIPTION" => "N", "FILTRABLE" => "N", "SEARCHABLE" => "N", "MULTIPLE" => "N", "MULTIPLE_CNT" => 5, "IS_REQUIRED" => "N", "FILE_TYPE" => "jpg, gif, bmp, png, jpeg", "LIST_TYPE" => "L", "IBLOCK_ID" => $iblockId)); $dbIBlockProps = CIBlock::GetProperties($iblockId); while ($arIBlockProps = $dbIBlockProps->Fetch()) { if (Array_Key_Exists($arIBlockProps["CODE"], $arResult["ALLOWED_ITEM_PROPERTIES"])) { $arResult["ALLOWED_ITEM_PROPERTIES"][$arIBlockProps["CODE"]]["ID"] = $arIBlockProps["ID"]; } } $keys = Array_Keys($arResult["ALLOWED_ITEM_PROPERTIES"]); foreach ($keys as $key) { if (IntVal($arResult["ALLOWED_ITEM_PROPERTIES"][$key]["ID"]) <= 0) { $ibp = new CIBlockProperty(); $arResult["ALLOWED_ITEM_PROPERTIES"][$key]["ID"] = $ibp->Add($arResult["ALLOWED_ITEM_PROPERTIES"][$key]); } } return $arResult; }
private function GetStatus($Challenge) { $Data = $this->WriteData(self::STATISTIC, $Challenge . Pack('c*', 0x0, 0x0, 0x0, 0x0)); if (!$Data) { throw new MinecraftQueryException('Failed to receive status.'); } $Last = ''; $Info = array(); $Data = SubStr($Data, 11); // splitnum + 2 int $Data = Explode("player_", $Data); if (Count($Data) !== 2) { throw new MinecraftQueryException('Failed to parse server\'s response.'); } $Players = SubStr($Data[1], 0, -2); $Data = Explode("", $Data[0]); // Array with known keys in order to validate the result // It can happen that server sends custom strings containing bad things (who can know!) $Keys = array('hostname' => 'HostName', 'gametype' => 'GameType', 'version' => 'Version', 'plugins' => 'Plugins', 'map' => 'Map', 'numplayers' => 'Players', 'maxplayers' => 'MaxPlayers', 'hostport' => 'HostPort', 'hostip' => 'HostIp', 'game_id' => 'GameName'); foreach ($Data as $Key => $Value) { if (~$Key & 1) { if (!Array_Key_Exists($Value, $Keys)) { $Last = false; continue; } $Last = $Keys[$Value]; $Info[$Last] = ''; } else { if ($Last != false) { $Info[$Last] = mb_convert_encoding($Value, 'UTF-8'); } } } // Ints $Info['Players'] = IntVal($Info['Players']); $Info['MaxPlayers'] = IntVal($Info['MaxPlayers']); $Info['HostPort'] = IntVal($Info['HostPort']); // Parse "plugins", if any if ($Info['Plugins']) { $Data = Explode(": ", $Info['Plugins'], 2); $Info['RawPlugins'] = $Info['Plugins']; $Info['Software'] = $Data[0]; if (Count($Data) == 2) { $Info['Plugins'] = Explode("; ", $Data[1]); } } else { $Info['Software'] = 'Vanilla'; } $this->Info = $Info; if (empty($Players)) { $this->Players = null; } else { $this->Players = Explode("", $Players); } }
$cnt = strlen($arParams['INPUT_NAME_FINISH']) > 0 ? 2 : 1; for ($i = 0; $i < $cnt; $i++): if ($arParams['SHOW_INPUT'] == 'Y'): ?><input type="text" id="<?php echo $arParams['INPUT_NAME' . ($i == 1 ? '_FINISH' : '')]; ?> " name="<?php echo $arParams['INPUT_NAME' . ($i == 1 ? '_FINISH' : '')]; ?> " value="<?php echo $arParams['INPUT_VALUE' . ($i == 1 ? '_FINISH' : '')]; ?> " <?php echo Array_Key_Exists("~INPUT_ADDITIONAL_ATTR", $arParams) ? $arParams["~INPUT_ADDITIONAL_ATTR"] : ""; ?> /><? endif; ?><img src="/freetrix/js/main/core/images/calendar-icon.gif" alt="<?php echo GetMessage('calend_title'); ?> " class="calendar-icon" onclick="BX.calendar({node:this, field:'<?php echo htmlspecialcharsbx(CUtil::JSEscape($arParams['INPUT_NAME' . ($i == 1 ? '_FINISH' : '')])); ?> ', form: '<?if ($arParams['FORM_NAME'] != ''){echo htmlspecialcharsbx(CUtil::JSEscape($arParams['FORM_NAME']));}?>', bTime: <?php echo $arParams['SHOW_TIME'] == 'Y' ? 'true' : 'false'; ?> , currentTime: '<?php echo time() + date("Z") + CTimeZone::GetOffset(); ?>
WizardServices::CreateSectionProperty($iblockID, "UF__CAL_COL", $arFieldColorName); WizardServices::CreateSectionProperty($iblockID, "UF__CAL_EXP", $arFieldExportName); $ibSection = new CIBlockSection(); $arColor = array("#DDBFEB", "#CEE669", "#98AEF6"); $dbSection = CIBlockSection::GetList(array(), array("ACTIVE" => "Y", "IBLOCK_ID" => $iblockID)); $i = 0; while ($arSection = $dbSection->Fetch()) { $color = isset($arColor[$i]) ? $arColor[$i] : $arColor[0]; $ibSection->Update($arSection["ID"], array("ACTIVE" => "Y", "UF__CAL_COL" => $color, "UF__CAL_EXP" => "all")); $i++; } $arAF = array("UF_FLOOR" => array("NAME" => GetMessage("INAF_F_FLOOR"), "TYPE" => "integer"), "UF_PLACE" => array("NAME" => GetMessage("INAF_F_PLACE"), "TYPE" => "integer"), "UF_PHONE" => array("NAME" => GetMessage("INAF_F_PHONE"), "TYPE" => "string")); $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_" . $iblockID . "_SECTION", 0, LANGUAGE_ID); $arKeys = Array_Keys($arAF); foreach ($arKeys as $key) { if (!Array_Key_Exists($key, $arUserFields)) { $arFields = array("ENTITY_ID" => "IBLOCK_" . $iblockID . "_SECTION", "FIELD_NAME" => $key, "USER_TYPE_ID" => $arAF[$key]["TYPE"]); $obUserField = new CUserTypeEntity(); $obUserField->Add($arFields); } } $iblockSectionObject = new CIBlockSection(); $dbrs = CIBlockSection::GetList(array(), array("IBLOCK_ID" => $iblockID)); $ars = $dbrs->Fetch(); $iblockSectionObject->Update($ars["ID"], array("UF_FLOOR" => 1, "UF_PLACE" => 350, "UF_PHONE" => "12-34-56")); $ars = $dbrs->Fetch(); $iblockSectionObject->Update($ars["ID"], array("UF_FLOOR" => 3, "UF_PLACE" => 10, "UF_PHONE" => "34-56-78")); $ars = $dbrs->Fetch(); $iblockSectionObject->Update($ars["ID"], array("UF_FLOOR" => 2, "UF_PLACE" => 50, "UF_PHONE" => "56-78-90")); $iblockElementObject = new CIBlockElement(); $dbrs = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $iblockID));
$j1 = 0; $j2 = 48; } $arResult["LIMITS"]["FROM"] = 0; $arResult["LIMITS"]["TO"] = 48; for ($j = $j1; $j < $j2; $j++) { if ($arResult["ITEMS_MATRIX"][$i][$j]) { $cId = $arResult["ITEMS"][$arResult["ITEMS_MATRIX"][$i][$j]]; if (!In_Array($arElement["ID"] . "-" . $counter . "-" . $cId["ID"], $arConflict)) { $arResult["ErrorMessage"] .= Str_Replace(array("#TIME#", "#RES1#", "#RES2#"), array(Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATE), MkTime(0, 0, 0, $weekMonth, $weekDay + $i - 1, $weekYear)) . " " . __RM_MkT($j), $cId["NAME"], $arElement["NAME"]), GetMessage("INTASK_C25_CONFLICT2") . ". "); $arConflict[] = $arElement["ID"] . "-" . $counter . "-" . $cId["ID"]; } } else { $arResult["ITEMS_MATRIX"][$i][$j] = $arElement["ID"] . "-" . $counter; } } } } } } // End Period $ar = array(); foreach ($arParams["WEEK_HOLIDAYS"] as $v) { if (!Array_Key_Exists($v + 1, $arResult["ITEMS_MATRIX"])) { $ar[] = $v; } } $arParams["WEEK_HOLIDAYS"] = $ar; } //echo "<pre>".print_r($arResult, true)."</pre>"; $this->IncludeComponentTemplate();
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (count($arResult["Tasks"]) <= 0) { echo GetMessage("INTASK_LIST_EMPTY"); } $bFirst = true; if (Array_Key_Exists("Tasks", $arResult) && Is_Array($arResult["Tasks"])) { foreach ($arResult["Tasks"] as $arTask) { if (!$bFirst) { ?> <div class="sonet-forum-line"></div><?php } ?> <span class="sonet-forum-post-date"><?php if (StrLen($arTask["FIELDS"]["DATE_ACTIVE_FROM_PRINTABLE"]) > 0 && StrLen($arTask["FIELDS"]["DATE_ACTIVE_TO_PRINTABLE"]) > 0) { echo $arTask["FIELDS"]["DATE_ACTIVE_FROM_PRINTABLE"] . " - " . $arTask["FIELDS"]["DATE_ACTIVE_TO_PRINTABLE"]; } elseif (StrLen($arTask["FIELDS"]["DATE_ACTIVE_FROM_PRINTABLE"]) <= 0 && StrLen($arTask["FIELDS"]["DATE_ACTIVE_TO_PRINTABLE"]) > 0) { echo Str_Replace("#DATE#", $arTask["FIELDS"]["DATE_ACTIVE_TO_PRINTABLE"], GetMessage("INTASK_TO_DATE_TLP")); } elseif (StrLen($arTask["FIELDS"]["DATE_ACTIVE_FROM_PRINTABLE"]) > 0 && StrLen($arTask["FIELDS"]["DATE_ACTIVE_TO_PRINTABLE"]) <= 0) { echo Str_Replace("#DATE#", $arTask["FIELDS"]["DATE_ACTIVE_FROM_PRINTABLE"], GetMessage("INTASK_FROM_DATE_TLP")); } else { echo GetMessage("INTASK_NO_DATE_TLP"); } ?> </span><br /> <b><a href="<?php echo $arTask["VIEW_URL"]; ?>
function __InTaskCompare($arTask1, $arTask2, $arOrder) { foreach ($arOrder as $ord) { if (Array_Key_Exists($ord["ORDER"], $arTask1["FIELDS"])) { $v1 = $arTask1["FIELDS"][$ord["ORDER"]]; $v2 = $arTask2["FIELDS"][$ord["ORDER"]]; if ($ord["TYPE"] == "datetime") { $v1 = CDatabase::FormatDate($v1, CLang::GetDateFormat("FULL"), "YYYY-MM-DD HH:MI:SS"); $v2 = CDatabase::FormatDate($v2, CLang::GetDateFormat("FULL"), "YYYY-MM-DD HH:MI:SS"); } if ($ord["NULLS"]) { if (StrLen($v1) <= 0 && StrLen($v2) > 0) { return $ord["DIRECTION"] == "ASC" ? true : false; } elseif (StrLen($v1) > 0 && StrLen($v2) <= 0) { return $ord["DIRECTION"] == "ASC" ? false : true; } } if ($v1 > $v2) { return $ord["DIRECTION"] == "ASC" ? true : false; } elseif ($v1 < $v2) { return $ord["DIRECTION"] == "ASC" ? false : true; } } else { foreach ($arTask1["PROPS"] as $key => $value) { if (StrToUpper($key) == $ord["ORDER"]) { $v1 = $value["VALUE"]; $v2 = $arTask2["PROPS"][$key]["VALUE"]; if ($ord["TYPE"] == "datetime") { $v1 = CDatabase::FormatDate($v1, CLang::GetDateFormat("FULL"), "YYYY-MM-DD HH:MI:SS"); $v2 = CDatabase::FormatDate($v2, CLang::GetDateFormat("FULL"), "YYYY-MM-DD HH:MI:SS"); } if ($ord["NULLS"]) { if (StrLen($v1) <= 0 && StrLen($v2) > 0) { return $ord["DIRECTION"] == "ASC" ? true : false; } elseif (StrLen($v1) > 0 && StrLen($v2) <= 0) { return $ord["DIRECTION"] == "ASC" ? false : true; } } if ($v1 > $v2) { return $ord["DIRECTION"] == "ASC" ? true : false; } elseif ($v1 < $v2) { return $ord["DIRECTION"] == "ASC" ? false : true; } break; } } } } return true; }
} } if (Count($arOrderBy) <= 0) { $arOrderBy["NAME"] = "ASC"; $arOrderBy["ID"] = "DESC"; } $arFilter = array("IBLOCK_ID" => $iblockId, "ACTIVE" => "Y"); if (Is_Array($arParams["FILTER"])) { foreach ($arParams["FILTER"] as $key => $value) { $op = ""; $opTmp = SubStr($key, 0, 1); if (In_Array($opTmp, array("!", "<", ">"))) { $op = $opTmp; $key = SubStr($key, 1); } if (Array_Key_Exists($key, $arResult["ALLOWED_FIELDS"]) && $arResult["ALLOWED_FIELDS"][$key]["FILTERABLE"]) { $arFilter[$op . $key] = $value; } } } } if (StrLen($arResult["FatalError"]) <= 0) { $arNavStartParams = array("nPageSize" => $arParams["ITEMS_COUNT"], "bShowAll" => false, "bDescPageNumbering" => false); $arNavigation = CDBResult::GetNavParams($arNavStartParams); $arSelectFields = array("IBLOCK_ID"); foreach ($arResult["ALLOWED_FIELDS"] as $key => $value) { $arSelectFields[] = $key; } $arResult["MEETINGS_LIST"] = array(); $dbMeetingsList = CIBlockSection::GetList($arOrderBy, $arFilter, false, $arSelectFields); while ($arMeeting = $dbMeetingsList->GetNext()) {
private function CreateHandle($Master, $URL) { $Slave = cURL_Init(); $File = $URL['File']; $Options = $this->Options; $Options[CURLOPT_URL] = $this->GenerateURL($URL['URL']); $this->Requests[(int) $Slave] = $File; if ($this->UseCache) { // If we have an ETag saved, add If-None-Match header if (Array_Key_Exists($File, $this->ETags)) { $Options[CURLOPT_HTTPHEADER] = array('If-None-Match: ' . $this->ETags[$File]); } else { if (File_Exists($File)) { $Options[CURLOPT_HTTPHEADER] = array('If-Modified-Since: ' . GMDate('D, d M Y H:i:s \\G\\M\\T', FileMTime($File))); } } } cURL_SetOpt_Array($Slave, $Options); cURL_Multi_Add_Handle($Master, $Slave); return $Slave; }
function IspManager4_Get_CPU_Usage($Settings, $PeriodStart, $PeriodEnd) { /****************************************************************************/ $__args_types = array('array', 'string', 'string'); $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $TFilter = SPrintF('%s - %s', $PeriodStart, $PeriodEnd); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Version = IspManager4_Check_Version($Settings); #------------------------------------------------------------------------------- Debug(SPrintF('[IspManager4_Get_CPU_Usage]: ISPmanager = %s', $Version)); #------------------------------------------------------------------------------- if ($Version == 'Lite') { return array(); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']); #----------------------------------------------------------------------------- $HTTP = IspManager4_Build_HTTP($Settings); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # достаём список пользователей/реселлеров $Response = HTTP_Send('/manager/ispmgr', $HTTP, array(), array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'user')); if (Is_Error($Response)) { return new gException('NOT_CONNECTED_TO_SERVER', 'Не удалось соедениться с сервером'); } #------------------------------------------------------------------------------- $Response = Trim($Response['Body']); #----------------------------------------------------------------------------- $XML = String_XML_Parse($Response); if (Is_Exception($XML)) { return new gException('WRONG_SERVER_ANSWER', $Response, $XML); } #----------------------------------------------------------------------------- $XML = $XML->ToArray('elem'); #----------------------------------------------------------------------------- $Elems = $XML['doc']; #----------------------------------------------------------------------------- if (isset($Elems['error'])) { return new gException('GET_USERS_ERROR', $Elems['error']); } #----------------------------------------------------------------------------- $Resellers = array(); #----------------------------------------------------------------------------- if (Is_Array($Elems)) { foreach ($Elems as $Elem) { if (!In_Array($Elem['owner'], $Resellers)) { $Resellers[] = $Elem['owner']; } } } #----------------------------------------------------------------------------- #Debug(SPrintF('[system/libs/IspManager4.php]: Resellers = %s',print_r($Resellers,true))); #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- $Owners = array(); #----------------------------------------------------------------------------- if (Is_Array($Elems)) { foreach ($Elems as $Elem) { if (In_Array($Elem['owner'], $Resellers)) { $Owners[$Elem['name']] = $Elem['owner']; } } } #----------------------------------------------------------------------------- #Debug(SPrintF('[system/libs/IspManager4.php]: Owners = %s',print_r($Owners,true))); #------------------------------------------------------------------------------- # /manager/ispmgr?func=totalresourceusage&tfilter=2013-03-01%20-%202013-03-07&out=xml $Request = array('authinfo' => $authinfo, 'func' => 'totalresourceusage', 'out' => 'xml', 'tfilter' => $TFilter); #------------------------------------------------------------------------------- $Response = HTTP_Send('/manager/ispmgr', $HTTP, array(), $Request); if (Is_Error($Response)) { return ERROR | @Trigger_Error('[IspManager4_Get_CPU_Usage]: не удалось соедениться с сервером'); } #------------------------------------------------------------------------------- $Response = Trim($Response['Body']); #------------------------------------------------------------------------------- $XML = String_XML_Parse($Response); if (Is_Exception($XML)) { return new gException('WRONG_SERVER_ANSWER', $Response, $XML); } #------------------------------------------------------------------------------- $XML = $XML->ToArray('elem'); #----------------------------------------------------------------------------- $Elems = $XML['doc']; #------------------------------------------------------------------------------- if (isset($Elems['error'])) { return new gException('GET_TOTALRESOURCEUSAGE_ERROR', $Elems['error']); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # создаём выходной массив $Out = array(); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!Is_Array($Elems)) { return $Out; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # массив с полями $Fields = array('memory', 'utime', 'stime', 'etime', 'io'); #------------------------------------------------------------------------------- foreach ($Resellers as $Reseller) { #------------------------------------------------------------------------------- $Out[$Reseller] = array(); #------------------------------------------------------------------------------- foreach ($Fields as $Key) { $Out[$Reseller][$Key] = 0; } #------------------------------------------------------------------------------- } #Debug(SPrintF('[system/libs/IspManager4.php]: Elem = %s',print_r($Out,true))); #------------------------------------------------------------------------------- # перебираем все данные по нагрузке foreach ($Elems as $Elem) { #------------------------------------------------------------------------------- if (Array_Key_Exists($Elem['account'], $Out)) { #------------------------------------------------------------------------------- foreach ($Fields as $Key) { $Out[$Elem['account']][$Key] = $Out[$Elem['account']][$Key] + $Elem[$Key]; } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- foreach ($Fields as $Key) { $Out[$Elem['account']][$Key] = $Elem[$Key]; } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (isset($Owners[$Elem['account']])) { foreach ($Fields as $Key) { $Out[$Owners[$Elem['account']]][$Key] = $Out[$Owners[$Elem['account']]][$Key] + $Elem[$Key]; } } #------------------------------------------------------------------------------ } #------------------------------------------------------------------------------- return $Out; #------------------------------------------------------------------------------- }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (count($arResult["TASKS"]) <= 0) { echo GetMessage("INTASK_LIST_EMPTY"); } $bFirst = true; if (Array_Key_Exists("TASKS", $arResult) && Is_Array($arResult["TASKS"])) { foreach ($arResult["TASKS"] as $arTask) { if (!$bFirst) { ?> <div class="sonet-forum-line"></div><?php } if ($arTask["DEADLINE"]) { ?> <span class="sonet-forum-post-date"><?php echo GetMessage("TASKS_DEADLINE") . ": " . tasksFormatDate($arTask["DEADLINE"]); if (date("H:i", strtotime($arTask["DEADLINE"])) != "00:00") { echo ' ' . FormatDateFromDB($arTask["DEADLINE"], CSite::getTimeFormat()); } ?> </span><br /><?php } ?> <b><a href="<?php echo CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_TASK"], array("task_id" => $arTask["ID"], "action" => "view")); ?> "><?php echo $arTask["TITLE"];
foreach ($arIteratorKeys as $key) { while ($arIterator[$key] < $fltDateTimeTo) { $resTimeFromTmp = MkTime($arFltTimeTo[0], $arFltTimeTo[1], 0, Date("m", $arIterator[$key]), Date("d", $arIterator[$key]), Date("Y", $arIterator[$key])); if ($resTimeFromTmp > $fltDateTimeTo) { $resTimeFromTmp = $fltDateTimeTo; } if ($arIterator[$key] < $resTimeFromTmp && ($resTimeFromTmp - $arIterator[$key]) / 3600.0 >= $fltDurationDbl) { $arResult["MEETINGS_LIST"][$key]["TIME_ITEMS"][] = array("FROM" => $arIterator[$key], "TO" => $resTimeFromTmp); } $arIterator[$key] = MkTime($arFltTimeFrom[0], $arFltTimeFrom[1], 0, Date("m", $arIterator[$key]), Date("d", $arIterator[$key]) + 1, Date("Y", $arIterator[$key])); } } } $arResult["ITEMS"] = array(); foreach ($arResult["MEETINGS_LIST"] as $key => $value) { if (!Array_Key_Exists("TIME_ITEMS", $value)) { $iterator = $fltDateTimeFrom; while ($iterator < $fltDateTimeTo) { $resTimeFromTmp = MkTime($arFltTimeTo[0], $arFltTimeTo[1], 0, Date("m", $iterator), Date("d", $iterator), Date("Y", $iterator)); if ($resTimeFromTmp > $fltDateTimeTo) { $resTimeFromTmp = $fltDateTimeTo; } if ($iterator < $resTimeFromTmp && ($resTimeFromTmp - $iterator) / 3600.0 >= $fltDurationDbl) { $uri = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_RESERVE_MEETING"], array("meeting_id" => $key, "item_id" => 0)); $uri .= HtmlSpecialCharsbx((StrPos($uri, "?") === false ? "?" : "&") . "start_date=" . Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATE), $iterator) . "&start_time=" . Date("H:i", $iterator) . "&timeout_time=" . $fltDuration); $arResult["ITEMS"][] = array("MEETING_ID" => $key, "FREE_DATE" => Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATE), $iterator), "FREE_FROM" => Date("H:i", $iterator), "FREE_TO" => Date("H:i", $resTimeFromTmp), "FREE_FROM_TIME" => $iterator, "FREE_TO_TIME" => $resTimeFromTmp, "URI" => $uri); } $iterator = MkTime($arFltTimeFrom[0], $arFltTimeFrom[1], 0, Date("m", $iterator), Date("d", $iterator) + 1, Date("Y", $iterator)); } } elseif (Count($value["TIME_ITEMS"]) > 0) { foreach ($value["TIME_ITEMS"] as $key1 => $value1) {
private function CheckSession($Data) { $Data = JSON_Decode($Data, true); if (JSON_Last_Error() !== JSON_ERROR_NONE || !Array_Key_Exists('Status', $Data)) { return false; } return $Data['Status'] === 'OK'; }
/** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('Rows'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Table = new Tag('TABLE', array('class' => 'Standard')); #------------------------------------------------------------------------------- for ($i = 1; $i < Count($__args__); $i++) { #----------------------------------------------------------------------------- $__arg__ = $__args__[$i]; #----------------------------------------------------------------------------- if (Is_Array($__arg__)) { if (Array_Key_Exists('cellspacing', $__arg__)) { $CellSpacing = 1; } #----------------------------------------------------------------------------- $Table->AddAttribs($__arg__); } else { $Table->AddChild(new Tag('CAPTION', $__arg__)); } } #------------------------------------------------------------------------------- if (!isset($CellSpacing)) { $Table->AddAttribs(array('cellspacing' => 5)); } #------------------------------------------------------------------------------- $Max = 1; #-------------------------------------------------------------------------------
if ($val["IBLOCK_ID"] != $iblockId || $val["TASK_TYPE"] != $taskType || $val["OWNER_ID"] != $ownerId) { continue; } $id = IntVal(SubStr($arUserOptionTmp["NAME"], $userSettingsNamePartLength)); $arResult["Views"][] = array("ID" => $id, "TITLE" => HtmlSpecialCharsbx($val["TITLE"])); } if (Count($arResult["Views"]) <= 0) { __InTaskInstallViews($iblockId, $taskType, $ownerId); } $userSettingsId = IntVal($arParams["USER_SETTINGS_ID"]); if (StrLen($arParams["USER_SETTINGS_ID"]) <= 0) { $userSettingsId = IntVal($_REQUEST["user_settings_id"]); if (StrLen($_REQUEST["user_settings_id"]) <= 0 && Array_Key_Exists("INTASK_TASKVIEW_current_view", $_SESSION) && Is_Array($_SESSION["INTASK_TASKVIEW_current_view"]) && Array_Key_Exists($taskType . "-" . $ownerId, $_SESSION["INTASK_TASKVIEW_current_view"])) { $userSettingsId = IntVal($_SESSION["INTASK_TASKVIEW_current_view"][$taskType . "-" . $ownerId]); } if (!Array_Key_Exists("INTASK_TASKVIEW_current_view", $_SESSION) || !Is_Array($_SESSION["INTASK_TASKVIEW_current_view"])) { $_SESSION["INTASK_TASKVIEW_current_view"] = array(); } $_SESSION["INTASK_TASKVIEW_current_view"][$taskType . "-" . $ownerId] = $userSettingsId; } $arResult["CurrentView"] = $userSettingsId; $strBackUrl = "back_url=" . UrlEncode($GLOBALS["APPLICATION"]->GetCurPageParam("", array())); $arResult["Urls"]["CreateView"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_VIEW"], array("owner_id" => $ownerId, "view_id" => 0, "action" => "create")); $arResult["Urls"]["CreateView"] .= StrPos($arResult["Urls"]["CreateView"], "?") === false ? "?" : "&"; $arResult["Urls"]["CreateView"] .= $strBackUrl; $arResult["Urls"]["EditView"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_VIEW"], array("owner_id" => $ownerId, "view_id" => $userSettingsId, "action" => "edit")); $arResult["Urls"]["EditView"] .= StrPos($arResult["Urls"]["EditView"], "?") === false ? "?" : "&"; $arResult["Urls"]["EditView"] .= $strBackUrl; if ($arResult["Perms"]["create_tasks"]) { $arResult["Urls"]["CreateTask"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_TASK"], array("owner_id" => $ownerId, "task_id" => 0, "action" => "create")); if (StrLen($strBackUrl) > 0) {
$ProperNames = array('login' => 'Login Service', 'session' => 'Multiplayer Sessions', 'website' => 'Minecraft Website', 'skins' => 'Player Skins', 'realms' => 'Minecraft Realms'); $ProperNameAdj = array('login' => 'is', 'session' => 'are', 'website' => 'is', 'skins' => 'are', 'realms' => 'are'); if ($BackOnline = $m->get('mc_status_back_online')) { $m->delete('mc_status_back_online'); foreach ($BackOnline as $Service => $Downs) { if ($Raw[$Service] === MinecraftStatusChecker::STATUS_OFFLINE) { $m->set('mc_status_' . $Service, ++$Downs, 120); } else { $Adj = $ProperNameAdj[$Service]; //Tweet( ' ✔ ' . $ProperNames[ $Service ] . ' ' . $Adj . ' back online, ' . ( $Adj === 'is' ? 'it was' : 'they were' ) . ' down for ' . $Downs . ' minutes', Time( ) - 60 ); } } } $BackOnline = array(); foreach ($Raw as $Service => $Report) { if (!Array_Key_Exists($Service, $ProperNames)) { continue; } $Downs = (int) $m->get('mc_status_' . $Service); if ($Report['status'] === MinecraftStatusChecker::STATUS_OFFLINE) { $m->set('mc_status_' . $Service, ++$Downs, 120); if ($Downs == 20) { //Tweet( ' ✖ ' . $ProperNames[ $Service ] . ' ' . $ProperNameAdj[ $Service ] . ' down', Time( ) - 1200 ); } else { if ($Downs % 60 == 0) { //Tweet( ' ♦ ' . $ProperNames[ $Service ] . ' ' . $ProperNameAdj[ $Service ] . ' still down, ' . $Downs . ' minutes' ); } } } else { if ($Downs > 0) { $m->delete('mc_status_' . $Service);
/** * <p>Возвращает список групп в соответствии с фильтром.</p> * * * * * @param array $arOrder = array("ID" Порядок сортировки возвращаемого списка, заданный в виде * массива. Ключами в массиве являются поля для сортировки, а * значениями - ASC/DESC - порядок сортировки. Допустимые ключи: <b>ID</b>, * <b>SITE_ID</b>, <b>NAME</b>, <b>DATE_CREATE</b>, <b>DATE_UPDATE</b>, <b>DATE_ACTIVITY</b>, <b>ACTIVE</b>, * <b>VISIBLE</b>, <b>OPENED</b>, <b>CLOSED</b>, <b>SUBJECT_ID</b>, <b>OWNER_ID</b>, <b>NUMBER_OF_MEMBERS</b>, * <b>INITIATE_PERMS</b>, <b>SPAM_PERMS</b>, <b>SUBJECT_NAME</b>, <b>OWNER_NAME</b>, <b>OWNER_LAST_NAME</b>, * <b>OWNER_LOGIN</b>. * * * * @param DES $C Массив, задающий фильтр на возвращаемый список. Ключами в массиве * являются названия полей, а значениями - их значения. Допустимые * поля:<b>ID</b>, <b>SITE_ID</b>, <b>NAME</b>, <b>DATE_CREATE</b>, <b>DATE_UPDATE</b>, <b>DATE_ACTIVITY</b>, * <b>ACTIVE</b>, <b>VISIBLE</b>, <b>OPENED</b>, <b>CLOSED</b>, <b>SUBJECT_ID</b>, <b>OWNER_ID</b>, * <b>NUMBER_OF_MEMBERS</b>, <b>INITIATE_PERMS</b>, <b>SPAM_PERMS</b>, <b>SUBJECT_NAME</b>, <b>OWNER_NAME</b>, * <b>OWNER_LAST_NAME</b>, <b>OWNER_LOGIN</b>. * * * * @param array $arFilter = array() Массив, задающий группировку результирующего списка. Если * параметр содержит массив названий полей, то по этим полям будет * произведена группировка. Если параметр содержит пустой массив, * то метод вернет количество записей, удовлетворяющих фильтру. По * умолчанию параметр равен false - не группировать. * * * * @param array $arGroupBy = false Массив, задающий условия выбора для организации постраничной * навигации. * * * * @param array $arNavStartParams = false Массив, задающий выбираемые поля. Содержит список полей, которые * должны быть возвращены методом. Если массив пустой, то выбираются * поля <b>ID</b>, <b>SITE_ID</b>, <b>NAME</b>, <b>DESCRIPTION</b>, <b>DATE_CREATE</b>, <b>DATE_UPDATE</b>, * <b>DATE_ACTIVITY</b>, <b>ACTIVE</b>, <b>VISIBLE</b>, <b>OPENED</b>, <b>CLOSED</b>, <b>SUBJECT_ID</b>, <b>OWNER_ID</b>, * <b>KEYWORDS</b>, <b>IMAGE_ID</b>, <b>NUMBER_OF_MEMBERS</b>, <b>INITIATE_PERMS</b>, <b>SPAM_PERMS</b>, * <b>SUBJECT_NAME</b>. В массиве допустимы любые поля из списка полей. * * * * @param array $arSelectFields = array() * * * * @return CDBResult <p>Метод возвращает объект типа CDBResult, содержащий записи, * удовлетворяющие условию выборки.</p> * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/socialnetwork/classes/CSocNetGroup/getbyid.php">CSocNetGroup::GetById</a> </li> * </ul><br><br> * * * @static * @link http://dev.1c-bitrix.ru/api_help/socialnetwork/classes/CSocNetGroup/GetList.php * @author Bitrix */ public static function GetList($arOrder = array("ID" => "DESC"), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array()) { global $DB, $USER_FIELD_MANAGER; if (count($arSelectFields) <= 0) { $arSelectFields = array("ID", "SITE_ID", "NAME", "DESCRIPTION", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "VISIBLE", "OPENED", "CLOSED", "SUBJECT_ID", "OWNER_ID", "KEYWORDS", "IMAGE_ID", "NUMBER_OF_MEMBERS", "INITIATE_PERMS", "SPAM_PERMS", "DATE_ACTIVITY", "SUBJECT_NAME"); } static $arFields1 = array("ID" => array("FIELD" => "G.ID", "TYPE" => "int"), "NAME" => array("FIELD" => "G.NAME", "TYPE" => "string"), "DESCRIPTION" => array("FIELD" => "G.DESCRIPTION", "TYPE" => "string"), "DATE_CREATE" => array("FIELD" => "G.DATE_CREATE", "TYPE" => "datetime"), "DATE_UPDATE" => array("FIELD" => "G.DATE_UPDATE", "TYPE" => "datetime"), "DATE_ACTIVITY" => array("FIELD" => "G.DATE_ACTIVITY", "TYPE" => "datetime"), "ACTIVE" => array("FIELD" => "G.ACTIVE", "TYPE" => "string"), "VISIBLE" => array("FIELD" => "G.VISIBLE", "TYPE" => "string"), "OPENED" => array("FIELD" => "G.OPENED", "TYPE" => "string"), "CLOSED" => array("FIELD" => "G.CLOSED", "TYPE" => "string"), "SUBJECT_ID" => array("FIELD" => "G.SUBJECT_ID", "TYPE" => "int"), "OWNER_ID" => array("FIELD" => "G.OWNER_ID", "TYPE" => "int"), "KEYWORDS" => array("FIELD" => "G.KEYWORDS", "TYPE" => "string"), "IMAGE_ID" => array("FIELD" => "G.IMAGE_ID", "TYPE" => "int"), "NUMBER_OF_MEMBERS" => array("FIELD" => "G.NUMBER_OF_MEMBERS", "TYPE" => "int"), "NUMBER_OF_MODERATORS" => array("FIELD" => "G.NUMBER_OF_MODERATORS", "TYPE" => "int"), "INITIATE_PERMS" => array("FIELD" => "G.INITIATE_PERMS", "TYPE" => "string"), "SPAM_PERMS" => array("FIELD" => "G.SPAM_PERMS", "TYPE" => "string"), "SUBJECT_NAME" => array("FIELD" => "S.NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_sonet_group_subject S ON (G.SUBJECT_ID = S.ID)"), "OWNER_NAME" => array("FIELD" => "U.NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (G.OWNER_ID = U.ID)"), "OWNER_LAST_NAME" => array("FIELD" => "U.LAST_NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (G.OWNER_ID = U.ID)"), "OWNER_LOGIN" => array("FIELD" => "U.LOGIN", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (G.OWNER_ID = U.ID)"), "OWNER_EMAIL" => array("FIELD" => "U.EMAIL", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (G.OWNER_ID = U.ID)"), "OWNER_USER" => array("FIELD" => "U.LOGIN,U.NAME,U.LAST_NAME,U.EMAIL,U.ID", "WHERE_ONLY" => "Y", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (G.OWNER_ID = U.ID)")); if (array_key_exists("SITE_ID", $arFilter)) { $arFields["SITE_ID"] = array("FIELD" => "SGS.SITE_ID", "TYPE" => "string", "FROM" => "LEFT JOIN b_sonet_group_site SGS ON G.ID = SGS.GROUP_ID"); $strDistinct = " DISTINCT "; foreach ($arSelectFields as $i => $strFieldTmp) { if ($strFieldTmp == "SITE_ID") { unset($arSelectFields[$i]); } } foreach ($arOrder as $by => $order) { if (!in_array($by, $arSelectFields)) { $arSelectFields[] = $by; } } } else { $arFields["SITE_ID"] = array("FIELD" => "G.SITE_ID", "TYPE" => "string"); $strDistinct = " "; } $arFields = array_merge($arFields1, $arFields); $arSqls = CSocNetGroup::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields, array("ENTITY_ID" => "SONET_GROUP")); $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", $strDistinct, $arSqls["SELECT"]); if (is_array($arGroupBy) && count($arGroupBy) == 0) { $strSql = "SELECT " . $arSqls["SELECT"] . " " . "FROM b_sonet_group G " . "\t" . $arSqls["FROM"] . " "; if (strlen($arSqls["WHERE"]) > 0) { $strSql .= "WHERE " . $arSqls["WHERE"] . " "; } if (strlen($arSqls["GROUPBY"]) > 0) { $strSql .= "GROUP BY " . $arSqls["GROUPBY"] . " "; } //echo "!1!=".htmlspecialcharsbx($strSql)."<br>"; $dbRes = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); if ($arRes = $dbRes->Fetch()) { return $arRes["CNT"]; } else { return False; } } $checkPermissions = Array_Key_Exists("CHECK_PERMISSIONS", $arFilter); if ($checkPermissions) { $strSql = "SELECT " . $arSqls["SELECT"] . " " . "FROM b_sonet_group G " . "\t" . $arSqls["FROM"] . " " . "WHERE G.VISIBLE = 'Y' "; if (strlen($arSqls["WHERE"]) > 0) { $strSql .= "AND " . $arSqls["WHERE"] . " "; } $strSql .= "UNION " . "SELECT " . $arSqls["SELECT"] . " " . "FROM b_sonet_group G " . "\tINNER JOIN b_sonet_user2group UG ON (G.ID = UG.GROUP_ID AND UG.USER_ID = " . IntVal($arFilter["CHECK_PERMISSIONS"]) . " AND UG.ROLE <= '" . $DB->ForSql(SONET_ROLES_USER, 1) . "') " . "\t" . $arSqls["FROM"] . " " . "WHERE G.VISIBLE = 'N' "; if (strlen($arSqls["WHERE"]) > 0) { $strSql .= "AND " . $arSqls["WHERE"] . " "; } $strSql .= " "; if (strlen($arSqls["GROUPBY"]) > 0) { $strSql .= "GROUP BY " . $arSqls["GROUPBY"] . " "; } if (strlen($arSqls["ORDERBY"]) > 0) { $strSql .= "ORDER BY " . Str_Replace(array(" G.", " UG.", " S."), array(" ", " ", " "), " " . $arSqls["ORDERBY"]) . " "; } } else { $strSql = "SELECT " . $arSqls["SELECT"] . " " . "FROM b_sonet_group G " . "\t" . $arSqls["FROM"] . " "; if (strlen($arSqls["WHERE"]) > 0) { $strSql .= "WHERE " . $arSqls["WHERE"] . " "; } if (strlen($arSqls["GROUPBY"]) > 0) { $strSql .= "GROUP BY " . $arSqls["GROUPBY"] . " "; } if (strlen($arSqls["ORDERBY"]) > 0) { $strSql .= "ORDER BY " . $arSqls["ORDERBY"] . " "; } } if (is_array($arNavStartParams) && IntVal($arNavStartParams["nTopCount"]) <= 0) { $strSql_tmp = "SELECT COUNT('x') as CNT " . "FROM b_sonet_group G " . "\t" . $arSqls["FROM"] . " "; if (strlen($arSqls["WHERE"]) > 0 || $checkPermissions) { $strSql_tmp .= "WHERE " . ($checkPermissions ? "G.VISIBLE = 'Y'" : "1 = 1") . (strlen($arSqls["WHERE"]) > 0 ? " AND " : "") . $arSqls["WHERE"] . " "; } if (strlen($arSqls["GROUPBY"]) > 0) { $strSql_tmp .= "GROUP BY " . $arSqls["GROUPBY"] . " "; } //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>"; $dbRes = $DB->Query($strSql_tmp, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); $cnt = 0; if (strlen($arSqls["GROUPBY"]) <= 0) { if ($arRes = $dbRes->Fetch()) { $cnt = $arRes["CNT"]; } } else { // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД $cnt = $dbRes->SelectedRowsCount(); } if ($checkPermissions) { $strSql_tmp = "SELECT COUNT('x') as CNT " . "FROM b_sonet_group G " . "\tINNER JOIN b_sonet_user2group UG ON (G.ID = UG.GROUP_ID AND UG.USER_ID = " . IntVal($arFilter["CHECK_PERMISSIONS"]) . " AND UG.ROLE <= '" . $DB->ForSql(SONET_ROLES_USER, 1) . "') " . "\t" . $arSqls["FROM"] . " " . "WHERE G.VISIBLE = 'N' "; if (strlen($arSqls["WHERE"]) > 0) { $strSql_tmp .= "AND " . $arSqls["WHERE"] . " "; } if (strlen($arSqls["GROUPBY"]) > 0) { $strSql_tmp .= "GROUP BY " . $arSqls["GROUPBY"] . " "; } //echo "!2.2!=".htmlspecialcharsbx($strSql_tmp)."<br>"; $dbRes = $DB->Query($strSql_tmp, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); if (strlen($arSqls["GROUPBY"]) <= 0) { if ($arRes = $dbRes->Fetch()) { $cnt += $arRes["CNT"]; } } else { // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД $cnt += $dbRes->SelectedRowsCount(); } } $dbRes = new CDBResult(); //echo "!2.3!=".htmlspecialcharsbx($strSql)."<br>"; $dbRes->SetUserFields($USER_FIELD_MANAGER->GetUserFields("SONET_GROUP")); $dbRes->NavQuery($strSql, $cnt, $arNavStartParams); } else { if (is_array($arNavStartParams) && IntVal($arNavStartParams["nTopCount"]) > 0) { $strSql .= "LIMIT " . IntVal($arNavStartParams["nTopCount"]); } //echo "!3!=".htmlspecialcharsbx($strSql)."<br>"; $dbRes = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); $dbRes->SetUserFields($USER_FIELD_MANAGER->GetUserFields("SONET_GROUP")); } return $dbRes; }
function GetUserLogEvents($userID, $arFilter = array()) { global $DB; $userID = IntVal($userID); if ($userID <= 0) { return false; } $strWhere = ""; if (is_array($arFilter) && count($arFilter) > 0) { foreach ($arFilter as $key => $value) { switch ($key) { case "ENTITY_TYPE": $strWhere .= " AND L.ENTITY_TYPE = '" . $DB->ForSql($value, 1) . "' "; break; case "ENTITY_ID": $strWhere .= " AND L.ENTITY_ID = " . IntVal($value) . " "; break; case "EVENT_ID": if (!is_array($value)) { $strWhere .= " AND L.EVENT_ID = '" . $DB->ForSql($value, 50) . "' "; } else { if (!function_exists('__tmp_str_apos')) { function __tmp_str_apos(&$tmpval, $tmpind) { if (strlen($tmpval) > 0) { $tmpval = "'" . $GLOBALS["DB"]->ForSql($tmpval, 50) . "'"; } } } array_walk($value, '__tmp_str_apos'); $strWhere .= " AND L.EVENT_ID IN (" . implode(", ", $value) . ") "; } break; case "LOG_DATE_DAYS": $strWhere .= " AND L.LOG_DATE >= DATE_SUB(NOW(), INTERVAL " . IntVal($value) . " DAY) "; break; case "SITE_ID": if (!is_array($value)) { $strWhere .= " AND L.SITE_ID = '" . $DB->ForSql($value, 2) . "' "; } else { $counter = 0; $strWhere .= " AND ("; foreach ($value as $site_id) { if ($site_id === false) { $strWhere .= ($counter > 0 ? " OR" : "") . " L.SITE_ID IS NULL "; } else { $strWhere .= ($counter > 0 ? " OR" : "") . " L.SITE_ID = '" . $DB->ForSql($site_id, 2) . "' "; } $counter++; } $strWhere .= ") "; } break; } } } $strSql = "SELECT L.ID, L.ENTITY_TYPE, L.ENTITY_ID, L.EVENT_ID, L.LOG_DATE, L.SITE_ID as SITE_ID, " . "\t" . $DB->DateToCharFunction("L.LOG_DATE", "FULL") . " as LOG_DATE_FORMAT, " . "\tL.TITLE_TEMPLATE, L.TITLE, L.MESSAGE, L.URL, L.MODULE_ID, L.CALLBACK_FUNC, " . "\tG.NAME as GROUP_NAME, G.OWNER_ID as GROUP_OWNER_ID, G.INITIATE_PERMS as GROUP_INITIATE_PERMS, " . "\tG.VISIBLE as GROUP_VISIBLE, G.OPENED as GROUP_OPENED, " . "\tU.NAME as USER_NAME, U.LAST_NAME as USER_LAST_NAME, U.SECOND_NAME as USER_SECOND_NAME, U.LOGIN as USER_LOGIN " . "FROM b_sonet_log L "; if (!Array_Key_Exists("ALL", $arFilter) || StrToUpper($arFilter["ALL"]) != "Y") { $strSql .= "\tINNER JOIN b_sonet_log_events LE " . "\t\tON (L.ENTITY_TYPE = LE.ENTITY_TYPE AND L.ENTITY_ID = LE.ENTITY_ID AND (L.EVENT_ID = LE.EVENT_ID OR ((L.EVENT_ID = 'blog_post' OR L.EVENT_ID = 'blog_comment' OR L.EVENT_ID = 'blog_post_micro') AND LE.EVENT_ID = 'blog'))) "; } $strSql .= "\tLEFT JOIN b_sonet_group G " . "\t\tON (L.ENTITY_TYPE = 'G' AND L.ENTITY_ID = G.ID) " . "\tLEFT JOIN b_user U " . "\t\tON (L.ENTITY_TYPE = 'U' AND L.ENTITY_ID = U.ID) " . "WHERE 1 = 1 "; if (!Array_Key_Exists("ALL", $arFilter) || StrToUpper($arFilter["ALL"]) != "Y") { $strSql .= "\tAND LE.USER_ID = " . $userID . " "; } $strSql .= $strWhere . "ORDER BY L.LOG_DATE DESC"; $dbRes = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); return $dbRes; }
$arParams["ORDER_DIR_" . $i] = "ASC"; } } else { $arParams["ORDER_BY_" . $i] = ""; $arParams["ORDER_DIR_" . $i] = ""; } } foreach ($arParams as $key => $value) { if (StrToLower(SubStr($key, 0, 4)) != "FLT_") { continue; } if (!Is_Array($value) && StrLen($value) <= 0 || Is_Array($value) && Count($value) <= 0) { continue; } $key = StrToUpper(SubStr($key, 4)); if (Array_Key_Exists($key, $arResult["TaskFieldsMap"]) && $arResult["TaskFields"][$arResult["TaskFieldsMap"][$key]]["FILTERABLE"]) { $realKey = $arResult["TaskFieldsMap"][$key]; $arFld = $arResult["TaskFields"][$realKey]; if ($arFld["Type"] == "datetime") { if ($value == "current") { $arParams["FILTER"][$realKey] = Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATE)); } else { $arParams["FILTER"][$realKey] = $value; } } elseif ($arFld["Type"] == "user") { if ($value == "current") { $arParams["FILTER"][$realKey] = $GLOBALS["USER"]->GetID(); } else { $arParams["FILTER"][$realKey] = $value; } } else {