Esempio n. 1
0
 public function updateExceptionAgenda(array $data = array(), array $bookbuffer = array(), array $slotnum = array())
 {
     $model = new Slot();
     $tempSlotIDs = array();
     $exist = Agenda::find()->where(['agendaID' => $this->agendaID])->one();
     $permAgendaID = Agenda::find()->where(['owner' => $exist['owner'], 'type' => 'perm'])->one();
     $tempSlotIDs = $model->getIDs($this->agendaID);
     $tempindex = 0;
     $index = 0;
     for (; $index < sizeof($data);) {
         if ($tempindex == sizeof($tempSlotIDs)) {
             break;
         }
         if ($tempSlotIDs[$tempindex]['slotnum'] == $slotnum[$index]) {
             $model->updateSlot($data[$index], $bookbuffer[$index], $tempSlotIDs[$index]['slotID']);
             $tempindex++;
             $index++;
         } elseif ($tempSlotIDs[$tempindex]['slotnum'] < $slotnum[$index]) {
             $tempindex++;
         } else {
             $model->saveSlot($this->agendaID, $data[$index], 'temp', $slotnum[$index], $bookbuffer[$index]);
             $index++;
         }
     }
     for ($inde = $index; $inde < sizeof($data); $inde++) {
         $model->saveSlot($this->agendaID, $data[$inde], 'temp', $slotnum[$inde], $bookbuffer[$inde]);
     }
     return 'updated';
 }