function InstallEvents() { global $DB; $arCurPhpVer = Explode(".", PhpVersion()); if (IntVal($arCurPhpVer[0]) < 5) return true; $sIn = "'CALENDAR_INVITATION'"; $rs = $DB->Query("SELECT count(*) C FROM b_event_type WHERE EVENT_NAME IN (".$sIn.") ", false, "File: ".__FILE__."<br>Line: ".__LINE__); $ar = $rs->Fetch(); if($ar["C"] <= 0) include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/calendar/install/events.php"); if (!IsModuleInstalled('intranet')) { COption::SetOptionString("intranet", "calendar_2", "Y"); CModule::IncludeModule('calendar'); CCalendar::ClearCache(); CCalendar::CacheTime(0); $arTypes = CCalendarType::GetList(); if (!$arTypes || !count($arTypes)) { CCalendarType::Edit(array( 'NEW' => true, 'arFields' => array( 'XML_ID' => 'events', 'NAME' => GetMessage('CAL_DEFAULT_TYPE'), 'ACCESS' => array( 'G2' => CCalendar::GetAccessTasksByName('calendar_type', 'calendar_type_view') ) ) )); } } return true; }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("calendar")) { return; } $bSocNet = CModule::IncludeModule("socialnetwork"); $arComponentParameters = array(); $arTypes = array(); $types = CCalendarType::GetList(); if (is_array($types)) { foreach ($types as $type) { $arTypes[$type["XML_ID"]] = "[" . $type["XML_ID"] . "] " . $type["NAME"]; } } $arParams = array(); // $arComponentParameters["PARAMETERS"] $arParams["CALENDAR_TYPE"] = array("PARENT" => "BASE", "NAME" => GetMessage("EC_TYPE"), "TYPE" => "LIST", "VALUES" => $arTypes, "REFRESH" => 'Y'); if (!isset($arCurrentValues) && count($arTypes) > 0) { $arCurrentValues["CALENDAR_TYPE"] = each($arTypes); $arCurrentValues["CALENDAR_TYPE"] = $arCurrentValues["CALENDAR_TYPE"]["key"]; } if ($arCurrentValues["CALENDAR_TYPE"] != 'user' && $arCurrentValues["CALENDAR_TYPE"] != 'group') { $Sect = CCalendar::GetSectionList(array('CAL_TYPE' => $arCurrentValues["CALENDAR_TYPE"])); if (count($Sect) > 0) { $arSections = array('0' => '- ' . GetMessage("EC_CALENDAR_SECTION_ALL") . ' -'); foreach ($Sect as $section) { $arSections[$section["ID"]] = "[" . $section["ID"] . "] " . $section["NAME"]; }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("calendar")) { return; } COption::SetOptionString("intranet", "calendar_2", "Y"); if (WIZARD_FIRST_INSTAL != 'Y') { // calendar type $arTypes = CCalendarType::GetList(array("arFilter" => array("XML_ID" => 'events_info'))); if (!$arTypes || count($arTypes) <= 0) { CCalendarType::Edit(array('NEW' => true, 'arFields' => array('XML_ID' => 'events_info', 'NAME' => GetMessage('CAL_DEFAULT_TYPE'), 'ACCESS' => array('G2' => CCalendar::GetAccessTasksByName('calendar_type', 'calendar_type_view'))))); } // Sections $sectId0 = CCalendar::SaveSection(array('arFields' => array('CAL_TYPE' => 'events_info', 'ID' => 0, 'NAME' => GetMessage("CAL_TYPE_COMPANY_NAME"), 'DESCRIPTION' => "", 'COLOR' => '#855CC5', 'TEXT_COLOR' => '', 'OWNER_ID' => '', 'EXPORT' => array('ALLOW' => true, 'SET' => '3_9'), 'ACCESS' => array(), 'IS_EXCHANGE' => false))); // Events for company_calendar CCalendar::SaveEvent(array('arFields' => array('CAL_TYPE' => 'events_info', 'OWNER_ID' => 0, 'NAME' => GetMessage("CAL_EVENT_1_NAME"), 'DESCRIPTION' => "", 'DT_FROM' => GetTime(mktime(0, 0, 0, date("m"), date("d") + 4, date("Y")), "FULL"), 'DT_TO' => GetTime(mktime(0, 0, 0, date("m"), date("d") + 4, date("Y")), "FULL"), 'RRULE' => array(), 'SECTIONS' => $sectId0), 'userId' => 1)); CCalendar::SaveEvent(array('arFields' => array('CAL_TYPE' => 'events', 'OWNER_ID' => 0, 'NAME' => GetMessage("CAL_EVENT_2_NAME"), 'DESCRIPTION' => "", 'COLOR' => '#FFFF80', 'DT_FROM' => GetTime(mktime(0, 0, 0, date("m"), date("d"), date("Y")), "SHORT"), 'DT_TO' => GetTime(mktime(0, 0, 0, date("m"), date("d"), date("Y")), "SHORT"), 'RRULE' => array('FREQ' => 'WEEKLY', 'INTERVAL' => 3, 'BYDAY' => 'SA'), 'SECTIONS' => $sectId0), 'userId' => 1)); }
public static function GetTypeByExternalId($externalId = false) { if ($externalId) { $res = CCalendarType::GetList(array('arFilter' => array('EXTERNAL_ID' => $externalId))); if ($res && $res[0]) { return $res[0]['XML_ID']; } } return false; }
if ($REQUEST_METHOD == "POST" && isset($_REQUEST['save_type']) && $_REQUEST['save_type'] == 'Y' && check_bitrix_sessid()) { //CUtil::JSPostUnEscape(); $APPLICATION->RestartBuffer(); if (isset($_REQUEST['del_type']) && $_REQUEST['del_type'] == 'Y') { $xmlId = trim($_REQUEST['type_xml_id']); if ($xmlId != '') { CCalendarType::Delete($xmlId); } } else { $bNew = isset($_POST['type_new']) && $_POST['type_new'] == 'Y'; $xmlId = trim($bNew ? $_POST['type_xml_id'] : $_POST['type_xml_id_hidden']); $name = trim($_POST['type_name']); if ($xmlId != '' && $name != '') { $XML_ID = CCalendarType::Edit(array('NEW' => $bNew, 'arFields' => array('XML_ID' => $xmlId, 'NAME' => $name, 'DESCRIPTION' => trim($_POST['type_desc'])))); if ($XML_ID) { $arTypes_ = CCalendarType::GetList(array('arFilter' => array('XML_ID' => $XML_ID))); if ($arTypes_[0]) { OutputTypeHtml($arTypes_[0]); } } } } die; } if ($REQUEST_METHOD == "POST" && strlen($Update . $Apply . $RestoreDefaults) > 0 && check_bitrix_sessid()) { if (strlen($RestoreDefaults) > 0) { COption::RemoveOption("calendar"); } else { // Save permissions for calendar types foreach ($_POST['cal_type_perm'] as $xml_id => $perm) { // Save type permissions