예제 #1
0
 private function getJson($task, $arPaths, $nameTemplate)
 {
     ob_start();
     tasksRenderJSON($task, 0, $arPaths, false, true, false, $nameTemplate, array());
     $jsonString = ob_get_clean();
     return $jsonString;
 }
예제 #2
0
             $columnsOrder = null;
             if (isset($_POST['columnsOrder'])) {
                 $columnsOrder = array_map('intval', $_POST['columnsOrder']);
             }
             if ($columnsOrder !== null) {
                 $params['COLUMNS_IDS'] = $columnsOrder;
             }
             $APPLICATION->IncludeComponent('bitrix:tasks.list.items', '.default', $params, null, array("HIDE_ICONS" => "Y"));
             $html = ob_get_clean();
             if (isset($_POST['type']) && ($_POST['type'] === 'json_with_html' || $_POST['type'] === 'json')) {
                 header('Content-Type: text/html; charset=' . LANG_CHARSET);
                 $arAdditionalFields = array();
                 if ($_POST['type'] === 'json_with_html') {
                     $arAdditionalFields = array('html' => "'" . CUtil::JSEscape($html) . "'");
                 }
                 tasksRenderJSON($task, 0, $arPaths, true, true, false, $nameTemplate, $arAdditionalFields);
             } else {
                 header('Content-Type: text/html; charset=' . LANG_CHARSET);
                 echo $html;
             }
         }
     }
     CMain::FinalActions();
     // to make events work on bitrix24
     exit;
 } elseif (isset($_POST['mode'])) {
     if ($_POST['mode'] === 'resizeColumn') {
         CTaskAssert::assert(isset($_POST['columnId'], $_POST['columnWidth'], $_POST['columnContextId']));
         $loggedInUserId = $USER->getId();
         $columnId = (int) $_POST['columnId'];
         $columnWidth = (int) $_POST['columnWidth'];
예제 #3
0
                 $arTaskEscaped[$key][$key2] = htmlspecialcharsbx($value2);
             }
         } else {
             $arTaskEscaped[$key] = htmlspecialcharsbx($value);
         }
     }
     ob_start();
     $params = array("PATHS" => $arPathes, "PLAIN" => false, "DEFER" => true, "SITE_ID" => $SITE_ID, "TASK_ADDED" => true, 'IFRAME' => 'N', 'NAME_TEMPLATE' => $nameTemplate, 'DATA_COLLECTION' => array(array("CHILDREN_COUNT" => $childrenCount, "DEPTH" => 0, "UPDATES_COUNT" => 0, "PROJECT_EXPANDED" => true, 'ALLOWED_ACTIONS' => null, "TASK" => $arTaskEscaped)));
     if ($columnsIds !== null) {
         $params['COLUMNS_IDS'] = $columnsIds;
     }
     $APPLICATION->IncludeComponent('bitrix:tasks.list.items', '.default', $params, null, array("HIDE_ICONS" => "Y"));
     $html = ob_get_clean();
     ob_start();
     $arAdditionalFields = array();
     tasksRenderJSON($arTask, $childrenCount, $arPathes, $bParent = true, $bGant = false, false, $nameTemplate, $arAdditionalFields);
     $json = ob_get_clean();
     $returnValue = array('tasksRenderListItem' => $html, 'tasksRenderJSON' => $json);
     $arCurOperationResult = array('returnValue' => $returnValue, 'requestedTaskId' => $taskId);
     break;
 case 'CSocNetGroup::GetByID()':
     CTaskAssert::assert(isset($arAction['groupData'], $arAction['groupData']['ID']));
     $groupId = $arAction['groupData']['ID'];
     CTaskAssert::assertLaxIntegers($groupId);
     $arGroupData = array('ID' => (int) $groupId, '~ID' => (int) $groupId, 'NAME' => '', '~NAME' => '', 'SUBJECT_NAME' => '', '~SUBJECT_NAME' => '', 'NAME_FORMATTED' => '');
     $arGroup = CSocNetGroup::GetByID($groupId, $bCheckPermissions = false);
     if (is_array($arGroup) && !empty($arGroup)) {
         $arGroupData = $arGroup;
     }
     $arCurOperationResult = array('returnValue' => $arGroupData, 'requestedGroupId' => $groupId);
     break;
예제 #4
0
    } else {
        if (is_array($arResult["SUBTASKS"]) && count($arResult["SUBTASKS"])) {
            ?>
			iframePopup.onTaskAdded(
				taskData,
				null,
				{
					multipleTasksAdded : true,
					firstTask          : true,
					callbackOnAfterAdd : function () {
						var subTaskData = null;
						<?php 
            foreach ($arResult["SUBTASKS"] as $subTaskData) {
                ?>
							subTaskData = <?php 
                tasksRenderJSON($subTaskData, 0, $arPaths, true, true, true, $arParams["NAME_TEMPLATE"]);
                ?>
							iframePopup.onTaskAdded(
								subTaskData,
								null,
								{
									multipleTasksAdded : true,
									firstTask          : false
								}
							);
							<?php 
            }
            ?>
					}
				},
				null,
예제 #5
0
        $arPaths = array("PATH_TO_TASKS_TASK" => $arParams["PATH_TO_TASKS_TASK"], "PATH_TO_USER_PROFILE" => $arParams["PATH_TO_USER_PROFILE"]);
        ?>
				var iframePopup = window.top.BX.TasksIFrameInst;
				if (iframePopup)
				{
					window.top.BX.TasksIFrameInst.onTaskChanged(<?php 
        $bSkipJsMenu = false;
        $bIsIe = false;
        $userAgent = strtolower($_SERVER["HTTP_USER_AGENT"]);
        if (strpos($userAgent, "opera") === false && strpos($userAgent, "msie") !== false) {
            $bIsIe = true;
        }
        if (isset($arResult["IS_IFRAME"]) && $arResult["IS_IFRAME"] === true && $bIsIe) {
            $bSkipJsMenu = true;
        }
        tasksRenderJSON($arResult["TASK"], $arResult["TASK"]["CHILDREN_COUNT"], $arPaths, true, true, true, $arParams["NAME_TEMPLATE"], $arAdditionalFields = array(), $bSkipJsMenu);
        ?>
);
				}
				<?php 
    }
    ?>
		});
	</script>

	<div class="sidebar-block task-detail-info">
		<b class="r2"></b><b class="r1"></b><b class="r0"></b>
		<div class="sidebar-block-inner">

			<?php 
    if (is_array($arParams['DISPLAY_DATA']) && in_array('CREATOR', $arParams['DISPLAY_DATA'])) {
예제 #6
0
		ganttChart.treeMode = <?php 
if ($arResult['VIEW_STATE']['SUBMODES']['VIEW_SUBMODE_WITH_SUBTASKS']['SELECTED'] === 'Y') {
    echo 'true';
} else {
    echo 'false';
}
?>
;

		var tasks = [
			<?php 
$i = 0;
foreach ($arResult["TASKS"] as $arTask) {
    $i++;
    tasksRenderJSON($arTask, $arResult["CHILDREN_COUNT"]["PARENT_" . $arTask["ID"]], $arPaths, false, true, false, $arParams["NAME_TEMPLATE"]);
    if ($i != sizeof($arResult["TASKS"])) {
        ?>
,<?php 
    }
}
?>
		];
		
		for(var i = 0, count = tasks.length; i < count; i++)
		{
			__RenewMenuItems(tasks[i]);
		}

		ganttChart.addTasksFromJSON(tasks);
예제 #7
0
     if ($task["GROUP_ID"])
     {
     	if ( ! isset($arGroups[$task["GROUP_ID"]]) )
     	{
     		$arGroups[$task["GROUP_ID"]] = CSocNetGroup::GetByID($task["GROUP_ID"]);
     	}
     
     	$arGroup = $arGroups[$task["GROUP_ID"]];
     	if ($arGroup)
     	{
     		$task["GROUP_NAME"] = $arGroup["NAME"];
     	}
     }
     */
     if ($bIsJSON) {
         tasksRenderJSON($template, $template['TEMPLATE_CHILDREN_COUNT'], $arPaths, true, false, false, $nameTemplate);
         if ($i < $iMax) {
             echo ", ";
         }
     } else {
         $template['ALLOWED_ACTIONS'] = $template['META:ALLOWED_ACTIONS'] = array();
         $template['STATUS'] = CTasks::STATE_PENDING;
         $params = array("PATHS" => $arPaths, "PLAIN" => false, "DEFER" => true, "SITE_ID" => $SITE_ID, "TASK_ADDED" => false, 'IFRAME' => 'N', "NAME_TEMPLATE" => $nameTemplate, "COLUMNS_IDS" => array(CTaskColumnList::COLUMN_TITLE, CTaskColumnList::COLUMN_RESPONSIBLE, CTaskColumnList::COLUMN_ORIGINATOR, CTaskColumnList::SYS_COLUMN_EMPTY), 'DATA_COLLECTION' => array(array("CHILDREN_COUNT" => $template["TEMPLATE_CHILDREN_COUNT"], "DEPTH" => $depth, "UPDATES_COUNT" => 0, "PROJECT_EXPANDED" => true, 'ALLOWED_ACTIONS' => null, "TASK" => $template)), "SYSTEM_COLUMN_IDS" => array(CTaskColumnList::SYS_COLUMN_CHECKBOX), "SHOW_QUICK_INFORMERS" => false, "OPEN_TASK_IN_POPUP" => false, "CUSTOM_ACTIONS_CALLBACK" => 'templatesGetListItemActions');
         if ($columnsOrder !== null) {
             $params['COLUMNS_IDS'] = $columnsOrder;
         }
         $APPLICATION->IncludeComponent('bitrix:tasks.list.items', '.default', $params, null, array("HIDE_ICONS" => "Y"));
     }
 }
 if ($bIsJSON) {
     echo "]";
예제 #8
0
<script type="text/javascript"<?php 
echo $defer ? "  defer=\"defer\"" : "";
?>
>
	tasksMenuPopup[<?php 
echo $task["ID"];
?>
] = [<?php 
tasksGetItemMenu($task, $arPaths, $site_id);
?>
];
	quickInfoData[<?php 
echo $task["ID"];
?>
] = <?php 
tasksRenderJSON($task, $childrenCount, $arPaths, false, false, false, $nameFormat);
?>
;
	<?php 
if ($taskAdded) {
    ?>
		BX.onCustomEvent("onTaskListTaskAdd", [quickInfoData[<?php 
    echo $task["ID"];
    ?>
]]);
	<?php 
}
?>
	BX.tooltip(<?php 
echo $task["CREATED_BY"];
?>
예제 #9
0
    if ((string) $arParams['CUSTOM_ACTIONS_CALLBACK'] != '' && is_callable($arParams['CUSTOM_ACTIONS_CALLBACK'])) {
        call_user_func_array($arParams['CUSTOM_ACTIONS_CALLBACK'], array($task, $arParams["PATHS"]));
    } else {
        tasksGetItemMenu($task, $arParams["PATHS"], $arParams["SITE_ID"]);
    }
    ?>
];

		<?php 
    if ($arParams['SHOW_QUICK_INFORMERS'] !== false) {
        ?>
			quickInfoData[<?php 
        echo $task["ID"];
        ?>
] = <?php 
        tasksRenderJSON($task, $childrenCount, $arParams["PATHS"], false, false, false, $arParams["NAME_TEMPLATE"]);
        ?>
;
		<?php 
    }
    ?>
		<?php 
    if ($arParams["TASK_ADDED"]) {
        ?>
			BX.onCustomEvent("onTaskListTaskAdd", [quickInfoData[<?php 
        echo $task["ID"];
        ?>
]]);
		<?php 
    }
    ?>