Exemplo n.º 1
0
 public function executeComponent()
 {
     if (CModule::IncludeModule('intranet')) {
         $arData = CIntranetPlanner::getData();
         CIntranetPlanner::initScripts($arData);
         $this->arResult['DATA'] = $arData['DATA'];
         $this->includeComponentTemplate();
     }
 }
Exemplo n.º 2
0
 public static function GetRuntimeInfo($bFull = false)
 {
     global $USER;
     $TMUSER = CTimeManUser::instance();
     $STATE = $TMUSER->State();
     $info = array('ID' => '', 'STATE' => $STATE, 'CAN_EDIT' => 'N');
     if ($STATE == 'CLOSED') {
         $info['CAN_OPEN'] = $TMUSER->OpenAction();
     } elseif ($STATE == 'EXPIRED') {
         $info['EXPIRED_DATE'] = $TMUSER->GetExpiredRecommendedDate();
     }
     $arSettings = $TMUSER->GetSettings();
     $info['REPORT_REQ'] = $arSettings['UF_TM_REPORT_REQ'];
     $info['TM_FREE'] = $arSettings['UF_TM_FREE'];
     if ($arInfo = $TMUSER->GetCurrentInfo()) {
         $info['ID'] = $arInfo['ID'];
         $info['CAN_EDIT'] = COption::GetOptionString('timeman', 'workday_can_edit_current', 'Y') === 'Y' ? 'Y' : 'N';
         $info['INFO'] = array('DATE_START' => MakeTimeStamp($arInfo['DATE_START']) - CTimeZone::GetOffset(), 'DATE_FINISH' => $arInfo['DATE_FINISH'] ? MakeTimeStamp($arInfo['DATE_FINISH']) - CTimeZone::GetOffset() : '', 'TIME_START' => $arInfo['TIME_START'], 'TIME_FINISH' => $arInfo['TIME_FINISH'], 'DURATION' => $arInfo['DURATION'], 'TIME_LEAKS' => $arInfo['TIME_LEAKS'], 'ACTIVE' => $arInfo['ACTIVE'] == 'Y', 'PAUSED' => $arInfo['PAUSED'] == 'Y');
         if ($arInfo['LAST_PAUSE']) {
             $info['LAST_PAUSE'] = $arInfo['LAST_PAUSE'];
         } elseif ($arInfo['PAUSED'] == 'Y') {
             $info['LAST_PAUSE'] = array('DATE_START' => $info['INFO']['DATE_FINISH']);
         }
         $info['SOCSERV_ENABLED'] = IsModuleInstalled('socialservices') && COption::GetOptionString("socialservices", "allow_send_user_activity", "Y") == 'Y';
         if ($bFull && $info['SOCSERV_ENABLED']) {
             $info['SOCSERV_ENABLED_USER'] = $TMUSER->isSocservEnabledByUser();
         }
     }
     $info['PLANNER'] = CIntranetPlanner::getData(SITE_ID, $bFull);
     $info['OPEN_NOW'] = $STATE == 'EXPIRED' || $STATE == 'CLOSED' && (!$_SESSION['TM_FORCED_OPEN'] || CTimeMan::RemoveHoursTS($_SESSION['TM_FORCED_OPEN']) != CTimeMan::RemoveHoursTS(time()));
     if ($info['OPEN_NOW']) {
         $_SESSION['TM_FORCED_OPEN'] = time();
     }
     $info["FULL"] = $bFull;
     return $info;
 }
Exemplo n.º 3
0
     $arManagers = array($USER->GetID());
 }
 $arCurrentUserManagers = array();
 $user_url = COption::GetOptionString('intranet', 'path_user', '/company/personal/user/#USER_ID#/', $_REQUEST['site_id']);
 foreach ($arManagers as $managerId) {
     $dbManager = CUser::GetByID($managerId);
     if ($manager = $dbManager->Fetch()) {
         $manager['PHOTO'] = $manager['PERSONAL_PHOTO'] > 0 ? CIntranetUtils::InitImage($manager['PERSONAL_PHOTO'], 32, 0, BX_RESIZE_IMAGE_EXACT) : array();
         $arCurrentUserManagers[] = array('ID' => $manager['ID'], 'LOGIN' => $manager['LOGIN'], 'NAME' => CUser::FormatName(CSite::GetNameFormat(false), $manager, true, false), 'URL' => str_replace(array('#ID#', '#USER_ID#'), $manager['ID'], $user_url), 'WORK_POSITION' => $manager['WORK_POSITION'], 'PHOTO' => $manager['PHOTO']['CACHE']['src']);
     }
 }
 $arInfo = CTimeMan::GetRuntimeInfo(true);
 $arInfo['DATE_TEXT'] = FormatDate('j F Y', $arInfo['INFO']['DATE_START']);
 $arInfo['INFO']['TIME_OFFSET'] = CTimeManUser::getDayStartOffset($arInfo['INFO'], true);
 if ($arInfo['PLANNER']) {
     $arPlannerInfo = CIntranetPlanner::callAction('timeman_close', $_REQUEST['site_id']);
     // TODO: migrate this to calendar module ASAP
     if (is_array($arInfo['PLANNER']['DATA']['EVENTS'])) {
         foreach ($arInfo['PLANNER']['DATA']['EVENTS'] as $key => $arEvent) {
             if ($arEvent['STATUS'] && $arEvent['STATUS'] != 'Y') {
                 unset($arInfo['PLANNER']['DATA']['EVENTS'][$key]);
             }
         }
         $arInfo['PLANNER']['DATA']['EVENTS'] = array_values($arInfo['PLANNER']['DATA']['EVENTS']);
     }
     // \TODO
     $arInfo['PLANNER']['DATA'] = array_merge($arInfo['PLANNER']['DATA'], $arPlannerInfo);
     $arInfo = array_merge($arInfo, $arInfo['PLANNER']['DATA']);
     unset($arInfo['PLANNER']);
 }
 $arUserSettings = $TMUSER->GetSettings();
Exemplo n.º 4
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (CBXFeatures::IsFeatureEnabled('timeman') && CModule::IncludeModule('timeman') && CTimeMan::CanUse()) {
    if (abs(CTimeZone::GetOffset()) > BX_TIMEMAN_WRONG_DATE_CHECK) {
        $arResult['ERROR'] = 'WRONG_DATE';
        $this->IncludeComponentTemplate('error');
        return true;
    }
    $arResult['TASKS_ENABLED'] = CBXFeatures::IsFeatureEnabled('Tasks') && CModule::IncludeModule('tasks');
    $arResult['START_INFO'] = CTimeMan::GetRuntimeInfo(false);
    $obReportUser = new CUserReportFull();
    $arResult['WORK_REPORT'] = $obReportUser->GetReportData();
    //echo '<pre>'; print_r($arResult['WORK_REPORT']); echo '</pre>';
    CIntranetPlanner::initScripts($arResult['START_INFO']['PLANNER']);
    $arResult['START_INFO']['PLANNER'] = $arResult['START_INFO']['PLANNER']['DATA'];
    CJSCore::Init(array('timeman'));
    $this->IncludeComponentTemplate();
    return true;
} else {
    return false;
}
Exemplo n.º 5
0
	function OnAfterTMReportDailyAdd()
	{
		if(COption::GetOptionString("socialservices", "allow_send_user_activity", "Y") != 'Y')
			return;
		global $USER;
		$arIntranetData = $arResult = $arData = array();
		$eventCounter = $taskCounter = 0;
		if(CModule::IncludeModule('intranet'))
		{
			$arIntranetData = CIntranetPlanner::getData(SITE_ID, true);
		}
		if(isset($arIntranetData['DATA']))
		{
			$arData = $arIntranetData['DATA'];
		}
		if(isset($arData['EVENTS']) && is_array($arData['EVENTS']))
		{
			$eventCounter = count($arData['EVENTS']);
		}
		if(isset($arData['TASKS']) && is_array($arData['TASKS']))
		{
			$taskCounter = count($arData['TASKS']);
		}

		$arResult['USER_ID'] = intval($USER->GetID());
		if($arResult['USER_ID'] > 0)
		{
			$enabledSendMessage = CUserOptions::GetOption("socialservices", "user_socserv_enable", "N", $arResult['USER_ID']);
			if($enabledSendMessage == 'Y')
			{
				$enabledEndDaySend = CUserOptions::GetOption("socialservices", "user_socserv_end_day", "N", $arResult['USER_ID']);
				if($enabledEndDaySend == 'Y')
				{
					$arResult['MESSAGE'] = str_replace('#event#', $eventCounter, str_replace('#task#', $taskCounter, CUserOptions::GetOption("socialservices", "user_socserv_end_text", GetMessage("JS_CORE_SS_WORKDAY_START"), $arResult['USER_ID'])));
					$arSocServUser['SOCSERVARRAY'] = unserialize(CUserOptions::GetOption("socialservices", "user_socserv_array", "a:0:{}", $arResult['USER_ID']));

					if(is_array($arSocServUser['SOCSERVARRAY']) && count($arSocServUser['SOCSERVARRAY']) > 0)
					{
						foreach($arSocServUser['SOCSERVARRAY'] as $id => $providerName)
						{
							$arResult['SOCSERV_USER_ID'] = $id;
							$arResult['PROVIDER'] = $providerName;
							CSocServMessage::Add($arResult);
						}
					}
				}
			}
		}
	}
Exemplo n.º 6
0
<?php

define("NOT_CHECK_FILE_PERMISSIONS", true);
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
if (check_bitrix_sessid() && $USER->IsAuthorized()) {
    CModule::IncludeModule('intranet');
    CUtil::JSPostUnescape();
    $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'update';
    $site_id = $_REQUEST['site_id'];
    $res = array();
    if ($action !== 'update') {
        $res = CIntranetPlanner::callAction($action, $site_id);
    }
    $arData = CIntranetPlanner::getData($site_id, true);
    if (is_array($res) && is_array($arData['DATA'])) {
        $arData['DATA'] = array_merge($res, $arData['DATA']);
    }
    $arData['DATA']['FULL'] = true;
    Header('Content-Type: application/json; charset=' . LANG_CHARSET);
    echo CUtil::PhpToJsObject($arData['DATA']);
} else {
    echo GetMessage('main_include_decode_pass_sess');
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";