예제 #1
0
    public static function InitJS($JSConfig)
    {
        global $APPLICATION;
        CUtil::InitJSCore(array('ajax', 'window', 'popup', 'access', 'date', 'viewer', 'socnetlogdest'));
        $JSConfig['days'] = self::GetWeekDays();
        $JSConfig['month'] = array(GetMessage('EC_JAN'), GetMessage('EC_FEB'), GetMessage('EC_MAR'), GetMessage('EC_APR'), GetMessage('EC_MAY'), GetMessage('EC_JUN'), GetMessage('EC_JUL'), GetMessage('EC_AUG'), GetMessage('EC_SEP'), GetMessage('EC_OCT'), GetMessage('EC_NOV'), GetMessage('EC_DEC'));
        $JSConfig['month_r'] = array(GetMessage('EC_JAN_R'), GetMessage('EC_FEB_R'), GetMessage('EC_MAR_R'), GetMessage('EC_APR_R'), GetMessage('EC_MAY_R'), GetMessage('EC_JUN_R'), GetMessage('EC_JUL_R'), GetMessage('EC_AUG_R'), GetMessage('EC_SEP_R'), GetMessage('EC_OCT_R'), GetMessage('EC_NOV_R'), GetMessage('EC_DEC_R'));
        $JSConfig['planner_js_src'] = '/bitrix/js/calendar/cal-planner.js?v=' . filemtime($_SERVER['DOCUMENT_ROOT'] . "/bitrix/js/calendar/cal-planner.js");
        $APPLICATION->SetAdditionalCSS("/bitrix/js/calendar/cal-style.css");
        // Add scripts
        $arJS = array('/bitrix/js/calendar/cal-core.js', '/bitrix/js/calendar/cal-dialogs.js', '/bitrix/js/calendar/cal-week.js', '/bitrix/js/calendar/cal-events.js', '/bitrix/js/calendar/cal-controlls.js', '/bitrix/js/calendar/cal-planner.js');
        // Drag & drop
        $arJS[] = '/bitrix/js/main/dd.js';
        for ($i = 0, $l = count($arJS); $i < $l; $i++) {
            $APPLICATION->AddHeadScript($arJS[$i]);
        }
        ?>
		<script type="text/javascript">
		<?php 
        self::Localization();
        ?>
		<?php 
        CCalendarPlanner::Localization();
        ?>

		BX.ready(function(){
			new JCEC(<?php 
        echo CUtil::PhpToJSObject($JSConfig);
        ?>
);
		});
		</script>
		<?php 
    }
    public static function InitJS($JSConfig)
    {
        global $APPLICATION;
        CUtil::InitJSCore(array('ajax', 'window', 'popup', 'access', 'date'));
        $JSConfig['days'] = self::GetWeekDays();
        $JSConfig['month'] = array(GetMessage('EC_JAN'), GetMessage('EC_FEB'), GetMessage('EC_MAR'), GetMessage('EC_APR'), GetMessage('EC_MAY'), GetMessage('EC_JUN'), GetMessage('EC_JUL'), GetMessage('EC_AUG'), GetMessage('EC_SEP'), GetMessage('EC_OCT'), GetMessage('EC_NOV'), GetMessage('EC_DEC'));
        $JSConfig['month_r'] = array(GetMessage('EC_JAN_R'), GetMessage('EC_FEB_R'), GetMessage('EC_MAR_R'), GetMessage('EC_APR_R'), GetMessage('EC_MAY_R'), GetMessage('EC_JUN_R'), GetMessage('EC_JUL_R'), GetMessage('EC_AUG_R'), GetMessage('EC_SEP_R'), GetMessage('EC_OCT_R'), GetMessage('EC_NOV_R'), GetMessage('EC_DEC_R'));
        $JSConfig['planner_js_src'] = '/bitrix/js/calendar/cal-planner.js?v=' . filemtime($_SERVER['DOCUMENT_ROOT'] . "/bitrix/js/calendar/cal-planner.js");
        $APPLICATION->SetAdditionalCSS("/bitrix/js/calendar/cal-style.css");
        // Add scripts
        $arJS = array('/bitrix/js/calendar/cal-core.js', '/bitrix/js/calendar/cal-dialogs.js', '/bitrix/js/calendar/cal-week.js', '/bitrix/js/calendar/cal-events.js', '/bitrix/js/calendar/cal-controlls.js');
        $arCSS = array();
        //if (!$USER->IsAuthorized()) // For anonymus  users
        //{
        //	$arJS[] = '/bitrix/js/main/utils.js';
        //	$arCSS[] = '/bitrix/themes/.default/pubstyles.css';
        //}
        for ($i = 0, $l = count($arJS); $i < $l; $i++) {
            $arJS[$i] .= '?v=' . filemtime($_SERVER['DOCUMENT_ROOT'] . $arJS[$i]);
        }
        for ($i = 0, $l = count($arCSS); $i < $l; $i++) {
            $arCSS[$i] .= '?v=' . filemtime($_SERVER['DOCUMENT_ROOT'] . $arCSS[$i]);
        }
        ?>
		<script>
		<?php 
        self::Localization();
        ?>
		<?php 
        CCalendarPlanner::Localization();
        ?>

		BX.ready(function()
			{
				window.bxRunEC = function()
				{
					if (!window.JCEC || !window.ECMonthSelector || !window.ECUserControll  || !window.JSECEvent)
						return setTimeout(window.bxRunEC, 100);

					<?php 
        /* new JCEC(<?=$Params['JSConfig']?>, <?=$Params['JS_arEvents']?>, <?=$Params['JS_arSPEvents']?>); */
        ?>
					new JCEC(<?php 
        echo CUtil::PhpToJSObject($JSConfig);
        ?>
);
				};

				<?php 
        if (count($arCSS) > 0) {
            ?>
				BX.loadCSS(<?php 
            echo '["' . implode($arCSS, '","') . '"]';
            ?>
);
				<?php 
        }
        ?>
				BX.loadScript(<?php 
        echo '["' . implode($arJS, '","') . '"]';
        ?>
, bxRunEC);
			}
		);
		</script>
		<?php 
    }