Пример #1
0
 public function actionImportTeachers()
 {
     $result = $this->model->importTeachers();
     $messages = $result->messages;
     $data = $result->data;
     $reports = array();
     $this->teachersModel->invalidate();
     foreach ($data as $record) {
         $id = $this->teachersModel->existsBakalari($record->bakalari_code);
         if (!$id) {
             $newid = $this->usersModel->insert(array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1));
             $this->teachersModel->dumbInsert(array("user_id" => $newid, "work_phone" => $record->work_phone, "shortname" => $record->shortname, "network_login" => $record->login, "bakalari_code" => $record->bakalari_code));
             $this->teachersModel->query("INSERT INTO login_imap VALUES (\"{$newid}\",\"{$record->login}\")");
             $reports[] = "ADD: Učitel " . $record->lastname . " byl přidán. ({$newid})";
         } else {
             $recid = $id->user_id;
             $this->usersModel->update($recid, array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1));
             $this->teachersModel->update($recid, array("work_phone" => $record->work_phone, "shortname" => $record->shortname, "network_login" => $record->login, "invalidated" => 0));
             $this->teachersModel->query("INSERT INTO login_imap (user_id,username) VALUES (\"{$recid}\",\"{$record->login}\") ON DUPLICATE KEY UPDATE username = \"{$record->login}\"");
             //$this->teachersModel->query("UPDATE login_local SET user_id = \"{$record->login}\" WHERE user_id = \"$recid\"");
             $reports[] = "UPDATE: Učitel " . $record->lastname . " byl aktualizován. ({$recid})";
         }
     }
     $this->teachersModel->query("DELETE FROM login_local WHERE user_id IN(SELECT user_id FROM sch_teacher WHERE invalidated = 1)");
     $teachersGroupId = $this->membershipModel->getIdfromRole("teacher");
     if ($teachersGroupId) {
         $this->membershipModel->emptyGroup($teachersGroupId);
         $reports[] = "Skupina {$teachersGroupId} byla vyprázdněna.";
         $this->membershipModel->query("INSERT INTO membership (`user_id`,`group_id`) SELECT user_id,{$teachersGroupId} FROM `sch_teacher`");
         $reports[] = "Skupina {$teachersGroupId} byla naplněna aktuálními učiteli.";
     }
     $this->teachersModel->removeUnused();
     $this->template->reports = $reports;
     $this->template->messages = $messages;
     $this->setView("result");
 }