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'; }