1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
calendar_sceleton.php
См. документацию.
1<?
2
5
7{
8 public static function InitJS($config = array(), $data = array(), $additionalParams = array())
9 {
10 global $APPLICATION;
12 'ajax',
13 'window',
14 'popup',
15 'access',
16 'date',
17 'viewer',
18 'color_picker',
19 'sidepanel',
20 'clipboard',
21 'ui.alerts',
22 'ui.buttons',
23 'ui.buttons.icons',
24 'ui.tooltip',
25 'ui.entity-selector',
26 'ui.forms',
27 'ui.hint',
28 'ui.analytics',
29 'ui.confetti',
30 'calendar.util',
31 'calendar.entry',
32 'calendar.search',
33 'calendar.counters',
34 'calendar.controls',
35 'calendar.sliderloader',
36 'calendar.sync.manager',
37 'calendar.sync.interface',
38 'calendar.categorymanager',
39 'calendar.sharing.interface',
40 'calendar.sharing.public',
41 'calendar.collabmanager',
42 ]);
43
44 if(($config['type'] ?? null) === 'location')
45 {
47 'calendar.rooms',
48 'calendar.roomsmanager',
49 ]);
50 }
51 else
52 {
53 \Bitrix\Main\UI\Extension::load(['calendar.sectionmanager']);
54 }
55
56 if(\Bitrix\Main\Loader::includeModule('rest'))
57 {
59 }
60
61 if(\Bitrix\Main\Loader::includeModule('webservice'))
62 {
64 }
65
66 if (\Bitrix\Main\Loader::includeModule('bitrix24') && !in_array(\CBitrix24::getLicenseType(), array('company', 'demo', 'edu', 'bis_inc', 'nfr')))
67 {
68 \CBitrix24::initLicenseInfoPopupJS();
69 }
70
71 ?>
72 <script>
73 top.BXCRES = {};
74 (function(window) {
75 if (!window.BXEventCalendar)
76 {
77 var BXEventCalendar = {
78 instances: {},
79
80 Show: function(config, data, additionalParams)
81 {
82 BX.ready(function()
83 {
84 BXEventCalendar.instances[config.id] = new window.BXEventCalendar.Core(config, data, additionalParams);
85 });
86 },
87 Get: function(id)
88 {
89 return BXEventCalendar.instances[id] || false;
90 }
91 };
92
93 window.BXEventCalendar = BXEventCalendar;
94 }
95 BX.onCustomEvent(window, "onBXEventCalendarInit");
96 })(window);
97 </script><?
98
99 CUtil::InitJSCore(array('event_calendar'));
100
101 $config['weekStart'] = CCalendar::GetWeekStart();
102 $config['weekDays'] = self::GetWeekDaysEx($config['weekStart']);
103 $config['days'] = self::GetWeekDays();
104 $config['month'] = array(Loc::getMessage('EC_JAN'), Loc::getMessage('EC_FEB'), Loc::getMessage('EC_MAR'), Loc::getMessage('EC_APR'), Loc::getMessage('EC_MAY'), Loc::getMessage('EC_JUN'), Loc::getMessage('EC_JUL'), Loc::getMessage('EC_AUG'), Loc::getMessage('EC_SEP'), Loc::getMessage('EC_OCT'), Loc::getMessage('EC_NOV'), Loc::getMessage('EC_DEC'));
105 $config['month_r'] = array(Loc::getMessage('EC_JAN_R'), Loc::getMessage('EC_FEB_R'), Loc::getMessage('EC_MAR_R'), Loc::getMessage('EC_APR_R'), Loc::getMessage('EC_MAY_R'), Loc::getMessage('EC_JUN_R'), Loc::getMessage('EC_JUL_R'), Loc::getMessage('EC_AUG_R'), Loc::getMessage('EC_SEP_R'), Loc::getMessage('EC_OCT_R'), Loc::getMessage('EC_NOV_R'), Loc::getMessage('EC_DEC_R'));
106
107 $APPLICATION->SetAdditionalCSS("/bitrix/js/calendar/cal-style.css");
108 ?>
109 <div class="calendar-main-container calendar-main-container--scope" id="<?=$config['id']?>-main-container"></div>
110
111 <script>
112 window.BXEventCalendar.Show(
113 <?= Json::encode($config)?>,
114 <?= Json::encode($data)?>,
115 <?= Json::encode($additionalParams)?>
116 );
117 </script>
118 <?
119 }
120
121 public static function GetWeekDays()
122 {
123 return array(
124 array(Loc::getMessage('EC_MO_F'), Loc::getMessage('EC_MO'), 'MO'),
125 array(Loc::getMessage('EC_TU_F'), Loc::getMessage('EC_TU'), 'TU'),
126 array(Loc::getMessage('EC_WE_F'), Loc::getMessage('EC_WE'), 'WE'),
127 array(Loc::getMessage('EC_TH_F'), Loc::getMessage('EC_TH'), 'TH'),
128 array(Loc::getMessage('EC_FR_F'), Loc::getMessage('EC_FR'), 'FR'),
129 array(Loc::getMessage('EC_SA_F'), Loc::getMessage('EC_SA'), 'SA'),
130 array(Loc::getMessage('EC_SU_F'), Loc::getMessage('EC_SU'), 'SU')
131 );
132 }
133
134 public static function GetWeekDaysEx($weekStart = 'MO')
135 {
136 $days = self::GetWeekDays();
137 if ($weekStart === 'MO')
138 {
139 return $days;
140 }
141
142 $res = [];
143 $startIndex = false;
144
145 foreach ($days as $k => $day)
146 {
147 if ($day[2] === $weekStart)
148 {
149 $startIndex = $k;
150 }
151
152 if ($startIndex !== false)
153 {
154 $res[] = $day;
155 }
156 }
157
158 for ($i = 0; $i < $startIndex; $i++)
159 {
160 $res[] = $days[$i];
161 }
162
163 return $res;
164 }
165
166 public static function GetAccessHTML($binging = 'calendar_section', $id = false)
167 {
168 if ($id === false)
169 $id = 'bxec-'.$binging;
170 $arTasks = CCalendar::GetAccessTasks($binging);
171 ?>
172 <span style="display:none;">
173 <select id="<?= $id?>" class="bxec-task-select">
174 <?foreach ($arTasks as $taskId => $task):?>
175 <option value="<?=$taskId?>"><?= htmlspecialcharsex($task['title']);?></option>
176 <?endforeach;?>
177 </select>
178 </span>
179 <?
180 }
181
182 public static function CheckBitrix24Limits($params)
183 {
184 global $APPLICATION;
185 $result = !CCalendar::IsBitrix24() || CBitrix24BusinessTools::isToolAvailable(CCalendar::GetCurUserId(), "calendar");
186 if (!$result)
187 {
188 ?><div id="<?=$params['id']?>-bitrix24-limit" class="bxec-b24-limit-wrap"><?
189 $APPLICATION->IncludeComponent("bitrix:bitrix24.business.tools.info", "", array("SHOW_TITLE" => "Y"));
190 ?></div><?
191 }
192 return $result;
193 }
194
200 public static function showCalendarGridError(string $title, string $content = ''): bool
201 {
202 global $APPLICATION;
203 $APPLICATION->IncludeComponent(
204 "bitrix:calendar.grid.error",
205 "",
206 [
207 'TITLE' => $title,
208 'CONTENT' => $content,
209 ]
210 );
211
212 return true;
213 }
214}
215?>
return select
Определения access_edit.php:440
global $APPLICATION
Определения include.php:80
static load($extNames)
Определения extension.php:16
Определения json.php:9
static showCalendarGridError(string $title, string $content='')
Определения calendar_sceleton.php:200
static GetWeekDaysEx($weekStart='MO')
Определения calendar_sceleton.php:134
static GetAccessHTML($binging='calendar_section', $id=false)
Определения calendar_sceleton.php:166
static GetWeekDays()
Определения calendar_sceleton.php:121
static InitJS($config=array(), $data=array(), $additionalParams=array())
Определения calendar_sceleton.php:8
static CheckBitrix24Limits($params)
Определения calendar_sceleton.php:182
$content
Определения commerceml.php:144
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
bx_acc_lim_group_list limitGroupList[] multiple<?=$group[ 'ID']?> ID selected margin top
Определения file_new.php:657
$res
Определения filter_act.php:7
$result
Определения get_property_values.php:14
Get()
Определения idea_idea_comment.php:22
$arTasks
Определения options.php:777
global_menu_<?echo $menu["menu_id"]?> adm main menu item icon adm main menu item text text adm main menu hover adm submenu menucontainer menu_id menu_id items_id items_id desktop menu_id block none adm global submenu<?=($subMenuDisplay=="block" ? " adm-global-submenu-active" :"")?> global_submenu_<?echo $menu["menu_id"]?> text MAIN_PR_ADMIN_FAV items adm submenu items wrap adm submenu items stretch wrap BX adminMenu itemsStretchScroll()"> <table class if (!empty( $menu["items"])) elseif ( $menu[ 'menu_id']=='desktop') if ( $menu[ 'menu_id']=='desktop') endforeach
Определения prolog_main_admin.php:255
$config
Определения quickway.php:69
$i
Определения factura.php:643
font style
Определения invoice.php:442
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799
$title
Определения pdf.php:123
$k
Определения template_pdf.php:567