コード例 #1
0
 /**
  * Проверяем реакцию на неправильный формат
  */
 public function testWrongCsvFormat()
 {
     $csv = "FirstName,LastName\n";
     $csv .= "Крошка,Енот";
     $csvImport = new myImportCsvVkoshelke($csv);
     $success = $csvImport->execute($this->_user);
     $this->assertFalse($success, 'Импорт не должен удаться');
 }
コード例 #2
0
 /**
  * Загрузить данные пользователя, AJAX
  */
 public function executeImportCsv(sfRequest $request)
 {
     $csvFile = $request->getFiles('data');
     $import = new myImportCsvVkoshelke($csvFile['tmp_name']);
     if (!$import->execute($this->getUser()->getUserRecord())) {
         $errorMessage = 'Не удалось разобрать CSV';
         $this->myLogMessage(__METHOD__, 'fail', $errorMessage, $errorMessage, file_get_contents($csvFile['tmp_name']));
         return $this->renderJsonError($errorMessage);
     }
     $ymlFileName = sprintf("%s/php_%s_%s.yml", sys_get_temp_dir(), __CLASS__, rand(1000000.0, 10000000.0));
     try {
         file_put_contents($ymlFileName, $import->getYmlData());
         Doctrine::loadData($ymlFileName, true);
         unlink($ymlFileName);
     } catch (Exception $e) {
         $errorMessage = 'Импорт не удалось загрузить данные в БД';
         $this->myLogMessage(__METHOD__, 'fail', $errorMessage, $errorMessage, file_get_contents($csvFile['tmp_name']));
         return $this->renderJsonError($errorMessage);
     }
     return $this->renderJsonSuccess('Импорт данных успешно завершён');
 }