Пример #1
1
 protected function render()
 {
     $fileObject = new \SplFileObject($this->getPath());
     $reader = Reader::createFromFileObject($fileObject);
     $reader->setFlags(\SplFileObject::READ_AHEAD | \SplFileObject::SKIP_EMPTY);
     return $reader;
 }
Пример #2
0
 /**
  * @param \Seat\Web\Http\Validation\CsvImport $request
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function postCsv(CsvImport $request)
 {
     $csv = Reader::createFromFileObject($request->file('csv')->openFile());
     // Keep tabs on the amount of keys that have
     // been inserted, and how many have been
     // considered erroneous
     $updated = 0;
     $errored = 0;
     // Loop the CSV, validating the lines
     // and inserting into the database
     foreach ($csv as $k => $data) {
         // Assign the $data to readable names
         $key_id = $data[0];
         $v_code = $data[1];
         // Validate the keys. We check that we dont
         // already have this key in the database to ensure
         // that we dont mess up the ownership by accident.
         $validator = Validator::make(['key_id' => $key_id, 'v_code' => $v_code], ['key_id' => 'required|numeric|unique:eve_api_keys,key_id', 'v_code' => 'required|size:64|alpha_num']);
         // Ensure the format was ok
         if ($validator->fails()) {
             $errored++;
             continue;
         }
         // Add the API Key
         ApiKey::create(['key_id' => $key_id, 'v_code' => $v_code, 'user_id' => auth()->user()->id, 'enabled' => true]);
         $updated++;
     }
     return redirect()->back()->with('success', 'Import complete! Success: ' . $updated . '. Error: ' . $errored);
 }
Пример #3
0
 public function setUp()
 {
     $csv = new SplTempFileObject();
     foreach ($this->expected as $row) {
         $csv->fputcsv($row);
     }
     $this->csv = Reader::createFromFileObject($csv);
 }
Пример #4
0
 public function process($filename)
 {
     // @todo inject factory function to get Reader
     $reader = Reader::createFromFileObject(new SplFileObject($filename));
     // Filter out empty rows
     $nbColumns = count($reader->fetchOne());
     $reader->addFilter(function ($row) use($nbColumns) {
         return count($row) == $nbColumns;
     });
     if ($this->offset) {
         $reader->setOffset($this->offset);
     }
     if ($this->limit) {
         $reader->setLimit($this->limit);
     }
     return new ArrayIterator($reader->fetchAssoc());
 }
Пример #5
0
 public function testFetchColEmptyCol()
 {
     $raw = [['john', 'doe'], ['lara', 'croft', '*****@*****.**']];
     $file = new SplTempFileObject();
     foreach ($raw as $row) {
         $file->fputcsv($row);
     }
     $csv = Reader::createFromFileObject($file);
     $res = $csv->fetchColumn(2);
     $this->assertInternalType('array', $res);
     $this->assertCount(2, $res);
     $this->assertNull($res[0][2]);
 }
 /**
  * Create CSV reader instance
  *
  * @param SplFileObject $file
  *
  * @return static
  */
 protected static function createReader(SplFileObject $file)
 {
     return Reader::createFromFileObject($file);
 }
Пример #7
0
    /*
     * la checkbox se è falsa non viene inviata
     *
     * ci sono soluzioni migliori?
     */
    if (!$request->request->has('finale')) {
        $finale = 0;
    } else {
        $finale = 1;
    }
    /*
     * inserisco una nuova riga csv
     */
    $writer->insertOne([$request->request->get('giorno'), $request->request->get('gara'), $finale]);
}
/*
 * il ritorno sono tutte le righe del csv ordinate per giorno
 *
 * Vedere esercizio 03
 */
$reader = Reader::createFromFileObject(new SplFileObject('file.csv'));
$results = iterator_to_array($reader->fetchAssoc(0), false);
use Symfony\Component\HttpFoundation\JsonResponse as Response;
use Illuminate\Support\Collection;
$collezione = new Collection($results);
$collezione->sortBy(function ($item, $key) {
    $data = \Carbon\Carbon::createFromFormat('d/m/y', $item['giorno']);
    return $data->timestamp;
});
$response = new Response($collezione);
$response->send();