Ejemplo n.º 1
0
                 $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]);
 }
Ejemplo n.º 2
0
 $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)) {
Ejemplo n.º 3
0
$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']));
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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;
 }