本文整理汇总了PHP中CCalendar::GetSettings方法的典型用法代码示例。如果您正苦于以下问题:PHP CCalendar::GetSettings方法的具体用法?PHP CCalendar::GetSettings怎么用?PHP CCalendar::GetSettings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCalendar
的用法示例。
在下文中一共展示了CCalendar::GetSettings方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getEvent
protected static function getEvent($arParams)
{
global $USER;
$arEvents = CCalendarEvent::GetList(array('arFilter' => array("ID" => $arParams['ID'], "DELETED" => "N"), 'parseRecursion' => true, 'fetchAttendees' => true, 'checkPermissions' => true));
if (is_array($arEvents) && count($arEvents) > 0) {
$arEvent = $arEvents[0];
if ($arEvent['IS_MEETING']) {
$arGuests = $arEvent['~ATTENDEES'];
$arEvent['GUESTS'] = array();
foreach ($arGuests as $guest) {
$arEvent['GUESTS'][] = array('id' => $guest['USER_ID'], 'name' => CUser::FormatName(CSite::GetNameFormat(null, $arParams['SITE_ID']), $guest, true), 'status' => $guest['STATUS'], 'accessibility' => $guest['ACCESSIBILITY'], 'bHost' => $guest['USER_ID'] == $arEvent['MEETING_HOST']);
if ($guest['USER_ID'] == $USER->GetID()) {
$arEvent['STATUS'] = $guest['STATUS'];
}
}
}
$set = CCalendar::GetSettings();
$url = str_replace('#user_id#', $arEvent['CREATED_BY'], $set['path_to_user_calendar']) . '?EVENT_ID=' . $arEvent['ID'];
return array('ID' => $arEvent['ID'], 'NAME' => $arEvent['NAME'], 'DETAIL_TEXT' => $arEvent['DESCRIPTION'], 'DATE_FROM' => $arEvent['DT_FROM'], 'DATE_TO' => $arEvent['DT_TO'], 'ACCESSIBILITY' => $arEvent['ACCESSIBILITY'], 'IMPORTANCE' => $arEvent['IMPORTANCE'], 'STATUS' => $arEvent['STATUS'], 'IS_MEETING' => $arEvent['IS_MEETING'] ? 'Y' : 'N', 'GUESTS' => $arEvent['GUESTS'], 'UF_WEBDAV_CAL_EVENT' => $arEvent['UF_WEBDAV_CAL_EVENT'], 'URL' => $url);
}
}
示例2: GetAbsent
public static function GetAbsent($users = false, $Params = array())
{
global $DB;
// Can be called from agent... So we have to create $USER if it is not exists
$tempUser = CCalendar::TempUser(false, true);
$curUserId = isset($Params['userId']) ? intVal($Params['userId']) : CCalendar::GetCurUserId();
$arUsers = array();
if ($users !== false && is_array($users)) {
foreach ($users as $id) {
if ($id > 0) {
$arUsers[] = intVal($id);
}
}
}
if (!count($arUsers)) {
$users = false;
}
// Part 1: select ordinary events
$arFilter = array('CAL_TYPE' => 'user', 'DELETED' => 'N', 'ACCESSIBILITY' => 'absent');
if (isset($Params['fromLimit'])) {
$arFilter['FROM_LIMIT'] = CCalendar::Date(CCalendar::Timestamp($Params['fromLimit'], false), true, false);
}
if (isset($Params['toLimit'])) {
$arFilter['TO_LIMIT'] = CCalendar::Date(CCalendar::Timestamp($Params['toLimit'], false), true, false);
}
$arEvents = CCalendarEvent::GetList(array('arFilter' => $arFilter, 'getUserfields' => false, 'parseRecursion' => true, 'fetchAttendees' => false, 'fetchMeetings' => true, 'userId' => $curUserId, 'checkPermissions' => false, 'preciseLimits' => true));
// Part 2: select attendees
CTimeZone::Disable();
if (count($arUsers) > 0) {
$userQ = ' AND CA.USER_ID in (' . implode(',', $arUsers) . ')';
} else {
$userQ = '';
}
$strSql = "\n\t\t\tSELECT\n\t\t\t\tCA.EVENT_ID as ID, CA.USER_ID, CA.STATUS, CA.ACCESSIBILITY,\n\t\t\t\tCE.CAL_TYPE,CE.OWNER_ID,CE.NAME," . $DB->DateToCharFunction("CE.DT_FROM") . " as DT_FROM," . $DB->DateToCharFunction("CE.DT_TO") . " as DT_TO, CE.DT_LENGTH, CE.PRIVATE_EVENT, CE.ACCESSIBILITY, CE.IMPORTANCE, CE.IS_MEETING, CE.MEETING_HOST, CE.MEETING, CE.LOCATION, CE.RRULE, CE.EXRULE, CE.RDATE, CE.EXDATE,\n\t\t\t\tCES.SECT_ID\n\t\t\tFROM b_calendar_attendees CA\n\t\t\tLEFT JOIN\n\t\t\t\tb_calendar_event CE ON(CA.EVENT_ID=CE.ID)\n\t\t\tLEFT JOIN\n\t\t\t\tb_calendar_event_sect CES ON (CA.EVENT_ID=CES.EVENT_ID)\n\t\t\tWHERE\n\t\t\t\t\tCE.ID IS NOT NULL\n\t\t\t\tAND\n\t\t\t\t\tCE.DELETED='N'\n\t\t\t\tAND\n\t\t\t\t\tSTATUS='Y'\n\t\t\t\tAND\n\t\t\t\t\tCA.ACCESSIBILITY='absent'\n\t\t\t\t{$userQ}\n\t\t\t";
if (isset($arFilter['FROM_LIMIT'])) {
$strSql .= "AND ";
if (strtoupper($DB->type) == "MYSQL") {
$strSql .= "CE.DT_TO>=FROM_UNIXTIME('" . MkDateTime(FmtDate($arFilter['FROM_LIMIT'], "D.M.Y"), "d.m.Y") . "')";
} elseif (strtoupper($DB->type) == "MSSQL") {
$strSql .= "CE.DT_TO>=" . $DB->CharToDateFunction($arFilter['FROM_LIMIT'], "SHORT");
} elseif (strtoupper($DB->type) == "ORACLE") {
$strSql .= "CE.DT_TO>=TO_DATE('" . FmtDate($arFilter['FROM_LIMIT'], "D.M.Y") . " 00:00:00','dd.mm.yyyy hh24:mi:ss')";
}
}
if ($arFilter['TO_LIMIT']) {
$strSql .= "AND ";
if (strtoupper($DB->type) == "MYSQL") {
$strSql .= "CE.DT_FROM<=FROM_UNIXTIME('" . MkDateTime(FmtDate($arFilter['TO_LIMIT'], "D.M.Y") . " 23:59:59", "d.m.Y H:i:s") . "')";
} elseif (strtoupper($DB->type) == "MSSQL") {
$strSql .= "CE.DT_FROM<=dateadd(day, 1, " . $DB->CharToDateFunction($arFilter['TO_LIMIT'], "SHORT") . ")";
} elseif (strtoupper($DB->type) == "ORACLE") {
$strSql .= "CE.DT_FROM<=TO_DATE('" . FmtDate($arFilter['TO_LIMIT'], "D.M.Y") . " 23:59:59','dd.mm.yyyy hh24:mi:ss')";
}
}
$res = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$arEvents2 = array();
while ($event = $res->Fetch()) {
$event = self::PreHandleEvent($event);
if ($event['CAL_TYPE'] == 'user' && $event['IS_MEETING'] && $event['OWNER_ID'] == $event['USER_ID']) {
continue;
}
if (self::CheckRecurcion($event)) {
self::ParseRecursion($arEvents2, $event, array('fromLimit' => $arFilter["FROM_LIMIT"], 'toLimit' => $arFilter["TO_LIMIT"]));
} else {
self::HandleEvent($arEvents2, $event);
}
}
CTimeZone::Enable();
$arEvents = array_merge($arEvents, $arEvents2);
$bSocNet = CModule::IncludeModule("socialnetwork");
$result = array();
$settings = CCalendar::GetSettings(array('request' => false));
foreach ($arEvents as $event) {
$userId = isset($event['USER_ID']) ? $event['USER_ID'] : $event['OWNER_ID'];
if ($users !== false && !in_array($userId, $arUsers)) {
continue;
}
if ($bSocNet && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $userId, "calendar")) {
continue;
}
if ((!$event['CAL_TYPE'] != 'user' || $curUserId != $event['OWNER_ID']) && $curUserId != $event['CREATED_BY'] && !isset($arUserMeeting[$event['ID']])) {
$sectId = $event['SECT_ID'];
if (!$event['ACCESSIBILITY']) {
$event['ACCESSIBILITY'] = 'busy';
}
$private = $event['PRIVATE_EVENT'] && $event['CAL_TYPE'] == 'user';
$bManager = false;
if (!$private && CCalendar::IsIntranetEnabled() && CModule::IncludeModule('intranet') && $event['CAL_TYPE'] == 'user' && $settings['dep_manager_sub']) {
$bManager = in_array($curUserId, CCalendar::GetUserManagers($event['OWNER_ID'], true));
}
if ($private || !CCalendarSect::CanDo('calendar_view_full', $sectId) && !$bManager) {
if ($private) {
$event['NAME'] = '[' . GetMessage('EC_ACCESSIBILITY_' . strtoupper($event['ACCESSIBILITY'])) . ']';
} else {
if (!CCalendarSect::CanDo('calendar_view_title', $sectId)) {
$event['NAME'] = '[' . GetMessage('EC_ACCESSIBILITY_' . strtoupper($event['ACCESSIBILITY'])) . ']';
} else {
$event['NAME'] = $event['NAME'] . ' [' . GetMessage('EC_ACCESSIBILITY_' . strtoupper($event['ACCESSIBILITY'])) . ']';
}
}
//.........这里部分代码省略.........
示例3: ReleaseLocation
public static function ReleaseLocation($loc)
{
$set = CCalendar::GetSettings(array('request' => false));
if ($loc['mrid'] == $set['vr_iblock_id']) {
CCalendar::ReleaseVideoRoom(array('mrevid' => $loc['mrevid'], 'mrid' => $loc['mrid'], 'VMiblockId' => $set['vr_iblock_id']));
} elseif ($set['rm_iblock_id']) {
CCalendar::ReleaseMeetingRoom(array('mrevid' => $loc['mrevid'], 'mrid' => $loc['mrid'], 'RMiblockId' => $set['rm_iblock_id']));
}
}
示例4: GetMessage
?>
</div>
<?php
if ($viewComments) {
?>
<div class="bxec-d-cont-comments-title">
<?php
echo GetMessage('EC_COMMENTS');
?>
</div>
<div class="bxec-d-cont bxec-d-cont-comments">
<?php
if ($userId == $event['CREATED_BY'] && ($event['PARENT_ID'] == $event['ID'] || !$event['PARENT_ID'])) {
$permission = "Y";
} else {
$permission = 'M';
}
$set = CCalendar::GetSettings();
$eventCommentId = $event['PARENT_ID'] ? $event['PARENT_ID'] : $event['ID'];
// A < E < I < M < Q < U < Y
// A - NO ACCESS, E - READ, I - ANSWER
// M - NEW TOPIC
// Q - MODERATE, U - EDIT, Y - FULL_ACCESS
$APPLICATION->IncludeComponent("bitrix:forum.comments", "bitrix24", array("FORUM_ID" => $set['forum_id'], "ENTITY_TYPE" => "EV", "ENTITY_ID" => $eventCommentId, "ENTITY_XML_ID" => "EVENT_" . $eventCommentId, "PERMISSION" => $permission, "URL_TEMPLATES_PROFILE_VIEW" => $set['path_to_user'], "SHOW_RATING" => "Y", "SHOW_LINK_TO_MESSAGE" => "N", "BIND_VIEWER" => "Y"), false, array('HIDE_ICONS' => 'Y'));
?>
</div>
<?php
}
?>
</div>
示例5: GetList
//.........这里部分代码省略.........
if (isset($arFields[strtoupper($by)])) {
$strOrderBy .= $arFields[strtoupper($by)]["FIELD_NAME"] . ' ' . (strtolower($order) == 'desc' ? 'desc' . (strtoupper($DB->type) == "ORACLE" ? " NULLS LAST" : "") : 'asc' . (strtoupper($DB->type) == "ORACLE" ? " NULLS FIRST" : "")) . ',';
}
}
if (strlen($strOrderBy) > 0) {
$strOrderBy = "ORDER BY " . rtrim($strOrderBy, ",");
}
$strSqlSearch = GetFilterSqlSearch($arSqlSearch);
if (isset($arFilter['ADDITIONAL_IDS']) && is_array($arFilter['ADDITIONAL_IDS']) && count($arFilter['ADDITIONAL_IDS']) > 0) {
$strTypes = "";
foreach ($arFilter['ADDITIONAL_IDS'] as $adid) {
$strTypes .= "," . IntVal($adid);
}
$strSqlSearch = '(' . $strSqlSearch . ') OR ID in(' . trim($strTypes, ', ') . ')';
}
$select = 'CS.*';
$from = 'b_calendar_section CS';
// Fetch types info into selection
if ($Params['joinTypeInfo']) {
$select .= ", CT.NAME AS TYPE_NAME, CT.DESCRIPTION AS TYPE_DESC";
$from .= "\n INNER JOIN b_calendar_type CT ON (CS.CAL_TYPE=CT.XML_ID)";
}
$strSql = "\n\t\t\t\tSELECT\n\t\t\t\t\t{$select}\n\t\t\t\tFROM\n\t\t\t\t\t{$from}\n\t\t\t\tWHERE\n\t\t\t\t\t{$strSqlSearch}\n\t\t\t\t{$strOrderBy}";
$res = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
$arResult = array();
$arSectionIds = array();
$isExchangeEnabled = CCalendar::IsExchangeEnabled();
$isCalDAVEnabled = CCalendar::IsCalDAVEnabled();
while ($arRes = $res->Fetch()) {
$arRes['COLOR'] = CCalendar::Color($arRes['COLOR'], true);
$arSectionIds[] = $arRes['ID'];
if (isset($arRes['EXPORT']) && $arRes['EXPORT'] != "") {
$arRes['EXPORT'] = unserialize($arRes['EXPORT']);
if (is_array($arRes['EXPORT']) && $arRes['EXPORT']['ALLOW']) {
$arRes['EXPORT']['LINK'] = self::GetExportLink($arRes['ID'], $arRes['CAL_TYPE'], $arRes['OWNER_ID']);
}
}
if (!is_array($arRes['EXPORT'])) {
$arRes['EXPORT'] = array('ALLOW' => false, 'SET' => false, 'LINK' => false);
}
// Outlook js
if (CCalendar::IsIntranetEnabled()) {
$arRes['OUTLOOK_JS'] = CCalendarSect::GetOutlookLink(array('ID' => intVal($arRes['ID']), 'XML_ID' => $arRes['XML_ID'], 'TYPE' => $arRes['CAL_TYPE'], 'NAME' => $arRes['NAME'], 'PREFIX' => CCalendar::GetOwnerName($arRes['CAL_TYPE'], $arRes['OWNER_ID']), 'LINK_URL' => CCalendar::GetOuterUrl()));
}
if ($arRes['CAL_TYPE'] == 'user') {
$arRes['IS_EXCHANGE'] = strlen($arRes["DAV_EXCH_CAL"]) > 0 && $isExchangeEnabled;
if ($arRes["CAL_DAV_CON"] && $isCalDAVEnabled) {
$arRes["CAL_DAV_CON"] = intVal($arRes["CAL_DAV_CON"]);
$resCon = CDavConnection::GetList(array("ID" => "ASC"), array("ID" => $arRes["CAL_DAV_CON"]));
if ($con = $resCon->Fetch()) {
$arRes['CAL_DAV_CON'] = $arRes["CAL_DAV_CON"];
} else {
$arRes['CAL_DAV_CON'] = false;
}
}
} else {
$arRes['IS_EXCHANGE'] = false;
$arRes['CAL_DAV_CON'] = false;
}
$arResult[] = $arRes;
}
if ($bCache) {
$cache->StartDataCache(CCalendar::CacheTime(), $cacheId, $cachePath);
$cache->EndDataCache(array("arResult" => $arResult, "arSectionIds" => $arSectionIds));
}
}
if ($checkPermissions && count($arSectionIds) > 0) {
$userId = $Params['userId'] ? intVal($Params['userId']) : $USER->GetID();
$arPerm = CCalendarSect::GetArrayPermissions($arSectionIds);
$res = array();
$arAccessCodes = array();
$settings = CCalendar::GetSettings(array('request' => false));
foreach ($arResult as $sect) {
$sectId = $sect['ID'];
$bOwner = $sect['CAL_TYPE'] == 'user' && $sect['OWNER_ID'] == $userId;
$bManager = false;
if (CModule::IncludeModule('intranet') && $sect['CAL_TYPE'] == 'user' && $settings['dep_manager_sub']) {
if (!$userId) {
$userId = CCalendar::GetUserId();
}
$bManager = in_array($userId, CCalendar::GetUserManagers($sect['OWNER_ID'], true));
}
if ($bOwner || $bManager || self::CanDo('calendar_view_time', $sectId)) {
$sect['PERM'] = array('view_time' => $bManager || $bOwner || self::CanDo('calendar_view_time', $sectId, $userId), 'view_title' => $bManager || $bOwner || self::CanDo('calendar_view_title', $sectId, $userId), 'view_full' => $bManager || $bOwner || self::CanDo('calendar_view_full', $sectId, $userId), 'add' => $bOwner || self::CanDo('calendar_add', $sectId, $userId), 'edit' => $bOwner || self::CanDo('calendar_edit', $sectId, $userId), 'edit_section' => $bOwner || self::CanDo('calendar_edit_section', $sectId, $userId), 'access' => $bOwner || self::CanDo('calendar_edit_access', $sectId, $userId));
if ($bOwner || self::CanDo('calendar_edit_access', $sectId, $userId)) {
$sect['ACCESS'] = array();
if (count($arPerm[$sectId]) > 0) {
// Add codes to get they full names for interface
$arAccessCodes = array_merge($arAccessCodes, array_keys($arPerm[$sectId]));
$sect['ACCESS'] = $arPerm[$sectId];
}
}
$res[] = $sect;
}
}
CCalendar::PushAccessNames($arAccessCodes);
$arResult = $res;
}
return $arResult;
}
示例6: array
}
if (!isset($_POST["convert"]) && !isset($_POST["parse_public"])) {
if (!isset($_GET["content_parsed"])) {
CCalendarConvert::SetOption('__convert_types', false);
} else {
$types = CCalendarConvert::GetOption('__convert_types');
if (is_array($types)) {
$RES = array('TYPES' => $types);
}
$IB = CCalendarConvert::GetIblockTypes();
}
}
require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_admin_after.php";
CUtil::InitJSCore(array('ajax'));
$SET = CCalendarConvert::GetSettings();
$CUR_SET = CCalendar::GetSettings();
foreach ($CUR_SET as $key => $value) {
if (!isset($SET[$key]) && !empty($value)) {
$SET[$key] = $value;
}
}
$arDays = array('MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU');
$arWorTimeList = array();
for ($i = 0; $i < 24; $i++) {
$arWorTimeList[strval($i)] = strval($i) . '.00';
$arWorTimeList[strval($i) . '.30'] = strval($i) . '.30';
}
}
?>
<form style="border: 2px solid #B8C1DD; padding: 10px; background: #F8F8F8;" method="post" name="calendar_form" action="/bitrix/admin/calendar_convert.php" enctype="multipart/form-data" encoding="multipart/form-data">
<?php
示例7: AddComment_Calendar
public static function AddComment_Calendar($arFields)
{
global $DB;
if (!CModule::IncludeModule("forum")) {
return false;
}
$ufFileID = array();
$ufDocID = array();
$dbResult = CSocNetLog::GetList(array(), array("ID" => $arFields["LOG_ID"]), false, false, array("ID", "SOURCE_ID", "SITE_ID"));
if ($arLog = $dbResult->Fetch()) {
$arCalendarEvent = CCalendarEvent::GetById($arLog["SOURCE_ID"]);
if ($arCalendarEvent) {
$arCalendarSettings = CCalendar::GetSettings();
$forumID = $arCalendarSettings["forum_id"];
if ($forumID) {
$arFilter = array("FORUM_ID" => $forumID, "XML_ID" => "EVENT_" . $arLog["SOURCE_ID"]);
$dbTopic = CForumTopic::GetList(null, $arFilter);
if ($dbTopic && ($arTopic = $dbTopic->Fetch())) {
$topicID = $arTopic["ID"];
} else {
$topicID = 0;
}
$currentUserId = CCalendar::GetCurUserId();
$strPermission = $currentUserId == $arCalendarEvent["OWNER_ID"] ? "Y" : "M";
$arFieldsMessage = array("POST_MESSAGE" => $arFields["TEXT_MESSAGE"], "USE_SMILES" => "Y", "PERMISSION_EXTERNAL" => "Q", "PERMISSION" => $strPermission, "APPROVED" => "Y");
if ($topicID === 0) {
$arFieldsMessage["TITLE"] = "EVENT_" . $arLog["SOURCE_ID"];
$arFieldsMessage["TOPIC_XML_ID"] = "EVENT_" . $arLog["SOURCE_ID"];
}
$arTmp = false;
$GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("SONET_COMMENT", $arTmp);
if (is_array($arTmp)) {
if (array_key_exists("UF_SONET_COM_DOC", $arTmp)) {
$GLOBALS["UF_FORUM_MESSAGE_DOC"] = $arTmp["UF_SONET_COM_DOC"];
} elseif (array_key_exists("UF_SONET_COM_FILE", $arTmp)) {
$arFieldsMessage["FILES"] = array();
foreach ($arTmp["UF_SONET_COM_FILE"] as $file_id) {
$arFieldsMessage["FILES"][] = array("FILE_ID" => $file_id);
}
}
}
$messageID = ForumAddMessage($topicID > 0 ? "REPLY" : "NEW", $forumID, $topicID, 0, $arFieldsMessage, $sError, $sNote);
// get UF DOC value and FILE_ID there
if ($messageID > 0) {
$messageUrl = CCalendar::GetPath("user", $arCalendarEvent["OWNER_ID"]);
$messageUrl = $messageUrl . (strpos($messageUrl, "?") === false ? "?" : "&") . "EVENT_ID=" . $arCalendarEvent["ID"] . "&MID=" . $messageID;
$dbAddedMessageFiles = CForumFiles::GetList(array("ID" => "ASC"), array("MESSAGE_ID" => $messageID));
while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch()) {
$ufFileID[] = $arAddedMessageFiles["FILE_ID"];
}
$ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
}
}
}
}
if (!$messageID) {
$sError = GetMessage("EC_LF_ADD_COMMENT_SOURCE_ERROR");
}
return array("SOURCE_ID" => $messageID, "MESSAGE" => $arFieldsMessage ? $arFieldsMessage["POST_MESSAGE"] : false, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $messageID, "ERROR" => $sError, "NOTES" => $sNote, "UF" => array("FILE" => $ufFileID, "DOC" => $ufDocID), "URL" => $messageUrl);
}
示例8: array
}
$arSelect[] = 'UF_CRM_CAL_EVENT';
if (!in_array('ID', $arSelect)) {
$arSelect[] = 'ID';
}
$obRes = CCrmActivityCalendar::GetList($arResult['SORT'], $arFilter, $arSelect, $nPageTop);
if ($arResult['GADGET'] != 'Y') {
$obRes->NavStart($arNav['nPageSize'], false);
$arResult['DB_LIST'] = $obRes;
}
$obRes->bShowAll = false;
$arResult['ROWS_COUNT'] = $obRes->NavRecordCount;
$arResult['CAL'] = array();
$arCalList = array();
$i = 0;
$arCalendarConf = CCalendar::GetSettings();
$arParams['PATH_TO_CAL_SHOW'] = $arCalendarConf['path_to_user_calendar'];
while ($arCal = $obRes->GetNext()) {
if (!isset($arCal['~UF_CRM_CAL_EVENT']) || !is_array($arCal['~UF_CRM_CAL_EVENT'])) {
continue;
}
$iAddTask = -1;
foreach ($arCal['~UF_CRM_CAL_EVENT'] as $sCalRel) {
if ($nPageTop !== false && $i >= $nPageTop) {
break 2;
}
$arCal['REL_ID'] = $sCalRel;
$arCalEntityData = CCrmActivityCalendar::GetEntityDataByCalRel($sCalRel);
if (isset($arResult['CAL'][$arCal['ID'] . '_' . $sCalRel])) {
continue;
}
示例9: FixForumCommentURL
public static function FixForumCommentURL($arData)
{
if(
in_array($arData["MODULE_ID"], array("forum", "FORUM"))
&& $arData['ENTITY_TYPE_ID'] === 'FORUM_POST'
&& intval($arData['PARAM1']) > 0
&& preg_match('/^EVENT_([0-9]+)/', $arData["TITLE"], $match)
)
{
$arCalendarSettings = CCalendar::GetSettings();
$forumID = $arCalendarSettings["forum_id"];
$eventID = intval($match[1]);
if (
intval($arData['PARAM1']) == $forumID
&& $eventID > 0
&& !empty($arCalendarSettings["pathes"])
&& ($arCalendarEvent = CCalendarEvent::GetById($eventID))
&& strlen($arCalendarEvent["CAL_TYPE"]) > 0
&& in_array($arCalendarEvent["CAL_TYPE"], array("user", "group"))
&& intval($arCalendarEvent["OWNER_ID"]) > 0
)
{
foreach ($arData['LID'] as $siteId => $value)
{
$messageUrl = false;
if (
array_key_exists($siteId, $arCalendarSettings["pathes"])
&& is_array($arCalendarSettings["pathes"][$siteId])
&& !empty($arCalendarSettings["pathes"][$siteId])
)
{
if ($arCalendarEvent["CAL_TYPE"] == "user")
{
if (
array_key_exists("path_to_user_calendar", $arCalendarSettings["pathes"][$siteId])
&& !empty($arCalendarSettings["pathes"][$siteId]["path_to_user_calendar"])
)
{
$messageUrl = CComponentEngine::MakePathFromTemplate(
$arCalendarSettings["pathes"][$siteId]["path_to_user_calendar"],
array(
"user_id" => $arCalendarEvent['OWNER_ID'],
)
);
}
}
else
{
if (
array_key_exists("path_to_group_calendar", $arCalendarSettings["pathes"][$siteId])
&& !empty($arCalendarSettings["pathes"][$siteId]["path_to_group_calendar"])
)
{
$messageUrl = CComponentEngine::MakePathFromTemplate(
$arCalendarSettings["pathes"][$siteId]["path_to_group_calendar"],
array(
"group_id" => $arCalendarEvent['OWNER_ID'],
)
);
}
}
}
$arData['LID'][$siteId] = ($messageUrl ? $messageUrl."?EVENT_ID=".$arCalendarEvent["ID"]."&MID=".$arData['ENTITY_ID']."#message".$arData['ENTITY_ID'] : "");
}
return $arData;
}
return array(
"TITLE" => "",
"BODY" => ""
);
}
}
示例10: array
}
}
$dbIBlockType = CIBlockType::GetList();
$arIBTypes = array();
$arIB = array();
while ($arIBType = $dbIBlockType->Fetch()) {
if ($arIBTypeData = CIBlockType::GetByIDLang($arIBType["ID"], LANG)) {
$arIB[$arIBType['ID']] = array();
$arIBTypes[$arIBType['ID']] = '[' . $arIBType['ID'] . '] ' . $arIBTypeData['NAME'];
}
}
$dbIBlock = CIBlock::GetList(array('SORT' => 'ASC'), array('ACTIVE' => 'Y'));
while ($arIBlock = $dbIBlock->Fetch()) {
$arIB[$arIBlock['IBLOCK_TYPE_ID']][$arIBlock['ID']] = ($arIBlock['CODE'] ? '[' . $arIBlock['CODE'] . '] ' : '') . $arIBlock['NAME'];
}
$SET = CCalendar::GetSettings(array('getDefaultForEmpty' => false));
$tabControl->Begin();
?>
<form method="post" name="cal_opt_form" action="<?php
echo $APPLICATION->GetCurPage();
?>
?mid=<?php
echo urlencode($mid);
?>
&lang=<?php
echo LANGUAGE_ID;
?>
">
<?php
echo bitrix_sessid_post();
$arDays = array('MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU');
示例11: SettingsGet
public static function SettingsGet($arParams = array(), $nav = null, $server = null)
{
$userId = CCalendar::GetCurUserId();
$methodName = "calendar.settings.get";
$settings = CCalendar::GetSettings();
return $settings;
}
示例12: GetAbsent
public static function GetAbsent($users = false, $Params = array())
{
// Can be called from agent... So we have to create $USER if it is not exists
$tempUser = CCalendar::TempUser(false, true);
$curUserId = isset($Params['userId']) ? intVal($Params['userId']) : CCalendar::GetCurUserId();
$arUsers = array();
if ($users !== false && is_array($users)) {
foreach ($users as $id) {
if ($id > 0) {
$arUsers[] = intVal($id);
}
}
}
if (!count($arUsers)) {
$users = false;
}
$arFilter = array('DELETED' => 'N', 'ACCESSIBILITY' => 'absent');
if ($users) {
$arFilter['CREATED_BY'] = $users;
}
if (isset($Params['fromLimit'])) {
$arFilter['FROM_LIMIT'] = CCalendar::Date(CCalendar::Timestamp($Params['fromLimit'], false), true, false);
}
if (isset($Params['toLimit'])) {
$arFilter['TO_LIMIT'] = CCalendar::Date(CCalendar::Timestamp($Params['toLimit'], false), true, false);
}
$arEvents = CCalendarEvent::GetList(array('arFilter' => $arFilter, 'parseRecursion' => true, 'getUserfields' => false, 'userId' => $curUserId, 'preciseLimits' => true, 'checkPermissions' => false, 'skipDeclined' => true));
$bSocNet = CModule::IncludeModule("socialnetwork");
$result = array();
$settings = CCalendar::GetSettings(array('request' => false));
foreach ($arEvents as $event) {
$userId = isset($event['USER_ID']) ? $event['USER_ID'] : $event['CREATED_BY'];
if ($users !== false && !in_array($userId, $arUsers)) {
continue;
}
if ($bSocNet && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $userId, "calendar")) {
continue;
}
if ((!$event['CAL_TYPE'] != 'user' || $curUserId != $event['OWNER_ID']) && $curUserId != $event['CREATED_BY'] && !isset($arUserMeeting[$event['ID']])) {
$sectId = $event['SECT_ID'];
if (!$event['ACCESSIBILITY']) {
$event['ACCESSIBILITY'] = 'busy';
}
$private = $event['PRIVATE_EVENT'] && $event['CAL_TYPE'] == 'user';
$bManager = false;
if (!$private && CCalendar::IsIntranetEnabled() && CModule::IncludeModule('intranet') && $event['CAL_TYPE'] == 'user' && $settings['dep_manager_sub']) {
$bManager = in_array($curUserId, CCalendar::GetUserManagers($event['OWNER_ID'], true));
}
if ($private || !CCalendarSect::CanDo('calendar_view_full', $sectId) && !$bManager) {
$event = self::ApplyAccessRestrictions($event, $userId);
}
}
$skipTime = $event['DT_SKIP_TIME'] === 'Y';
$fromTs = CCalendar::Timestamp($event['DATE_FROM'], false, !$skipTime);
$toTs = CCalendar::Timestamp($event['DATE_TO'], false, !$skipTime);
if ($event['DT_SKIP_TIME'] !== 'Y') {
$fromTs -= $event['~USER_OFFSET_FROM'];
$toTs -= $event['~USER_OFFSET_TO'];
}
$result[] = array('ID' => $event['ID'], 'NAME' => $event['NAME'], 'DATE_FROM' => CCalendar::Date($fromTs, !$skipTime, false), 'DATE_TO' => CCalendar::Date($toTs, !$skipTime, false), 'DT_FROM_TS' => $fromTs, 'DT_TO_TS' => $toTs, 'CREATED_BY' => $userId, 'DETAIL_TEXT' => '', 'USER_ID' => $userId);
}
// Sort by DATE_FROM_TS_UTC
usort($result, array('CCalendar', '_NearestSort'));
CCalendar::TempUser($tempUser, false);
return $result;
}
示例13: DialogViewEvent
//.........这里部分代码省略.........
if ($Params['sectionName'] != '') {
?>
<tr>
<td class="bx-cal-view-text-cell-l"><?php
echo GetMessage('EC_T_CALENDAR');
?>
:</td>
<td class="bx-cal-view-text-cell-r"><?php
echo htmlspecialcharsEx($Params['sectionName']);
?>
</td>
</tr>
<?php
}
?>
<?php
if ($event['IMPORTANCE'] != '') {
?>
<tr>
<td class="bx-cal-view-text-cell-l"><?php
echo GetMessage('EC_IMPORTANCE_TITLE');
?>
:</td>
<td class="bx-cal-view-text-cell-r"><?php
echo GetMessage("EC_IMPORTANCE_" . strtoupper($event['IMPORTANCE']));
?>
</td>
</tr>
<?php
}
?>
<?php
if ($event['ACCESSIBILITY'] != '' && $Params['bIntranet']) {
?>
<tr>
<td class="bx-cal-view-text-cell-l"><?php
echo GetMessage('EC_ACCESSIBILITY_TITLE');
?>
:</td>
<td class="bx-cal-view-text-cell-r"><?php
echo GetMessage("EC_ACCESSIBILITY_" . strtoupper($event['ACCESSIBILITY']));
?>
</td>
</tr>
<?php
}
?>
<?php
if ($event['PRIVATE_EVENT'] && $Params['bIntranet']) {
?>
<tr>
<td class="bx-cal-view-text-cell-l"><?php
echo GetMessage('EC_EDDIV_SPECIAL_NOTES');
?>
:</td>
<td class="bx-cal-view-text-cell-r"><?php
echo GetMessage('EC_PRIVATE_EVENT');
?>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
<?php
/* ####### END TAB 1 ####### */
?>
</div>
<?php
if ($viewComments) {
?>
<div class="bxec-d-cont-comments-title">
<?php
echo GetMessage('EC_COMMENTS');
?>
</div>
<div class="bxec-d-cont bxec-d-cont-comments">
<?php
if ($userId == $event['OWNER_ID']) {
$permission = "Y";
} else {
$permission = 'M';
}
$set = CCalendar::GetSettings();
// A < E < I < M < Q < U < Y
// A - NO ACCESS, E - READ, I - ANSWER
// M - NEW TOPIC
// Q - MODERATE, U - EDIT, Y - FULL_ACCESS
$APPLICATION->IncludeComponent("bitrix:forum.comments", "bitrix24", array("FORUM_ID" => $set['forum_id'], "ENTITY_TYPE" => "EV", "ENTITY_ID" => $event['ID'], "ENTITY_XML_ID" => "EVENT_" . $event['ID'], "PERMISSION" => $permission, "URL_TEMPLATES_PROFILE_VIEW" => $set['path_to_user'], "SHOW_RATING" => "Y", "SHOW_LINK_TO_MESSAGE" => "N", "BIND_VIEWER" => "Y"), false, array('HIDE_ICONS' => 'Y'));
?>
</div>
<?php
}
?>
</div>
<?php
}
示例14: getSettings
public static function getSettings($siteId = false)
{
$result = static::getDefaultSettings();
if ($siteId === false) {
$siteId = SITE_ID;
}
$site = \CSite::GetByID($siteId)->fetch();
$weekDay = $site['WEEK_START'];
$weekDaysMap = array('SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA');
if ((string) $weekDay != '' && isset($weekDaysMap[$weekDay])) {
$result['WEEK_START'] = $weekDaysMap[$weekDay];
}
if (Loader::includeModule('calendar')) {
$calendarSettings = \CCalendar::GetSettings(array('getDefaultForEmpty' => false));
if (is_array($calendarSettings['week_holidays'])) {
$result['WEEKEND'] = $calendarSettings['week_holidays'];
}
/*
if((string) $calendarSettings['week_start'] != '')
{
$result['WEEK_START'] = $calendarSettings['week_start'];
}
*/
if ((string) $calendarSettings['year_holidays'] != '') {
$holidays = explode(',', $calendarSettings['year_holidays']);
if (is_array($holidays) && !empty($holidays)) {
foreach ($holidays as $day) {
$day = trim($day);
list($day, $month) = explode('.', $day);
$day = intval($day);
$month = intval($month);
if ($day && $month) {
$result['HOLIDAYS'][] = array('M' => $month, 'D' => $day);
}
}
}
}
$time = explode('.', (string) $calendarSettings['work_time_start']);
if (intval($time[0])) {
$result['HOURS']['START']['H'] = intval($time[0]);
}
if (intval($time[1])) {
$result['HOURS']['START']['M'] = intval($time[1]);
}
$time = explode('.', (string) $calendarSettings['work_time_end']);
if (intval($time[0])) {
$result['HOURS']['END']['H'] = intval($time[0]);
}
if (intval($time[1])) {
$result['HOURS']['END']['M'] = intval($time[1]);
}
}
return $result;
}