$arFields['TASK_ID'] = $TASK_ID; } } if ($bNew) { if (!$arFields['ITEM_ID']) { $arFields['ITEM_ID'] = CMeetingItem::Add($arFields, true); $INSTANCE_ID = CMeetingInstance::Add($arFields); } else { $INSTANCE_ID = CMeetingInstance::Add($arFields); } $arNewAgendaMap[$key] = array($INSTANCE_ID, $arFields['ITEM_ID']); } else { if ($arFields['TITLE']) { CMeetingItem::Update($arFields['ITEM_ID'], $arFields); } CMeetingInstance::Update($key, $arFields); } if (isset($arFields['TASK_ID'])) { if (!$arFields['ITEM_ID']) { $arFields['ITEM_ID'] = $arResult['MEETING']['AGENDA'][$key]['ITEM_ID']; } CMeetingItem::AddTask($arFields['ITEM_ID'], $arFields['TASK_ID']); } } } if ($bDeleted) { CMeetingItem::DeleteAbandoned(); } if ($bUpdateEvent && is_array($arEventParams)) { CMeeting::AddEvent($arEventParams[0], $arEventParams[1], $arEventParams[2]); }
$checkedFileId = 0; if ($fileId > 0) { if ($reportId > 0) { $dbRes = CMeetingReports::GetList(array('ID' => 'DESC'), array('ID' => $reportId), false, false, array('MEETING_ID')); if ($arReport = $dbRes->Fetch()) { if (CMeeting::GetUserRole($arReport['MEETING_ID'])) { $dbRes = CMeetingReports::GetFiles($reportId, $fileId); $arRes = $dbRes->Fetch(); if ($arRes) { $checkedFileId = $arRes['FILE_ID']; } } } } elseif ($itemId > 0) { $bHasAccess = false; $dbRes = CMeetingInstance::GetList(array('ID' => 'DESC'), array('ITEM_ID' => $itemId), false, false, array('MEETING_ID')); while ($arInstance = $dbRes->Fetch()) { if (CMeeting::GetUserRole($arInstance['MEETING_ID'])) { $bHasAccess = true; break; } } if ($bHasAccess) { $dbRes = CMeetingItem::GetFiles($itemId, $fileId); $arRes = $dbRes->Fetch(); if ($arRes) { $checkedFileId = $arRes['FILE_ID']; } } } elseif ($meetingId > 0) { if (CMeeting::GetUserRole($meetingId)) {
$arUserIDs = array(); $dbRes = CMeetingInstance::GetList(array('ID' => 'DESC'), array('ITEM_ID' => $arParams['ITEM_ID'])); while ($arInstance = $dbRes->Fetch()) { $dbMeeting = CMeeting::GetList(array(), array('ID' => $arInstance['MEETING_ID']), false, false, array('*')); if ($arMeeting = $dbMeeting->Fetch()) { $arMeeting['ACCESS'] = CMeeting::GetUserRole($arInstance['MEETING_ID']); if ($arMeeting['ACCESS']) { $bHasAccess = true; if ($arMeeting['ACCESS'] == CMeeting::ROLE_OWNER || $arMeeting['ACCESS'] == CMeeting::ROLE_KEEPER) { $arResult['CAN_EDIT'] = true; } } $arUserIDs[] = $arMeeting['OWNER_ID']; $arInstance['MEETING'] = $arMeeting; } $arInstance['RESPONSIBLE'] = CMeetingInstance::GetResponsible($arInstance['ID']); $arUserIDs = array_merge($arUserIDs, $arInstance['RESPONSIBLE']); $arInstance['B_RESPONSIBLE'] = in_array($USER->GetID(), $arInstance['RESPONSIBLE']); $arInstance['B_EDIT'] = $arInstance['B_RESPONSIBLE'] && $arMeeting['CURRENT_STATE'] != CMeeting::STATE_CLOSED; $arInstance['REPORTS'] = array(); $arReportsMap = array(); $dbReports = CMeetingReports::GetList(array(), array('INSTANCE_ID' => $arInstance['ID'])); while ($arRep = $dbReports->Fetch()) { $arReportsMap[$arRep['ID']] = true; $arRep['FILES'] = array(); $dbFiles = CMeetingReports::GetFiles($arRep['ID']); while ($arFile = $dbFiles->Fetch()) { $arRep['FILES'][$arFile['FILE_ID']] = array('FILE_ID' => $arFile['FILE_ID'], 'FILE_SRC' => $arFile['FILE_SRC']); } if (!$arInstance['B_EDIT']) { $arRep['FILES'] = CMeeting::GetFilesData($arRep['FILES'], array('REPORT' => $arRep['ID']));
public static function Delete($ID) { global $DB; $ID = intval($ID); if ($ID < 1) { return false; } $rsEvents = GetModuleEvents("meeting", "OnBeforeMeetingItemDelete"); while ($arEvent = $rsEvents->Fetch()) { if (false === ExecuteModuleEventEx($arEvent, array($ID))) { return false; } } CMeetingInstance::DeleteByItemID($ID); if ($DB->Query("DELETE FROM b_meeting_item WHERE ID='" . $ID . "'")) { $rsEvents = GetModuleEvents("meeting", "OnAfterMeetingItemDelete"); while ($arEvent = $rsEvents->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; } return false; }
public static function Delete($ID) { global $DB; $ID = intval($ID); if ($ID < 1) { return false; } $dbRes = CMeeting::GetByID($ID); if ($arMeeting = $dbRes->Fetch()) { foreach (GetModuleEvents("meeting", "OnBeforeMeetingDelete", true) as $arEvent) { if (false === ExecuteModuleEventEx($arEvent, array($ID, $arMeeting))) { return false; } } if ($arMeeting['EVENT_ID'] > 0) { self::DeleteEvent($arMeeting['EVENT_ID']); } self::SetUsers($ID); self::DeleteFiles($ID); CMeetingInstance::DeleteByMeetingID($ID); if ($DB->Query("DELETE FROM b_meeting WHERE ID='" . $ID . "'")) { $DB->Query("UPDATE b_meeting SET PARENT_ID=NULL WHERE PARENT_ID='" . $ID . "'"); foreach (GetModuleEvents("meeting", "OnAfterMeetingDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; } } return false; }