diff --git a/~dev_rating/application/classes/FileParser.php b/~dev_rating/application/classes/FileParser.php index 283fd7ff28dc07c0815d11314a12520e143ab0dc..420a081fefc1890249cb876a687800d6a5afdbd8 100644 --- a/~dev_rating/application/classes/FileParser.php +++ b/~dev_rating/application/classes/FileParser.php @@ -75,17 +75,30 @@ class FileParser public static function TeachersList($filename) { + // get faculties list + $model = new Model_Admin_Teachers; + $dbFaculties = $model->getFaculties(); + foreach ($dbFaculties as $rec) { + $name = trim($rec['Name']); + $id = $rec['ID']; + $faculties[$name] = $id; + } + if(File::mime($filename) != 'text/plain') return true; $file = fopen($filename, "r"); - $i = 0; - while ($line = fgetcsv($file, 0, ";")) + $i = $j = 0; + while ($line = fgetcsv($file, 0, ";")) { // РРјСЏ, фамилия, отчество list($lastName, $firstName, $secondName) = self::parsePeopleName($line[0]); $departmentName = $line[1]; - $attempt = Account::instance()->createTeacherByDepName($lastName, $firstName, $secondName, - $departmentName, 6); // TODO fix facultyID hardcode + $facultyID = 6; // TODO fix facultyID hardcode + if ($line[2]) + $facultyID = $faculties[trim($line[2])]; + + $attempt = Account::instance()->createTeacherByDepName($lastName, $firstName, $secondName, + $departmentName, $facultyID); if($attempt == -1) { $resultArr[$j]['Row'] = $i;