예제 #1
0
 /**
  * Upload the import file via AJAX
  *
  * @author [A. Gianotto] [<*****@*****.**>]
  * @since [v2.0]
  * @return View
  */
 public function postAPIImportUpload(AssetFileRequest $request)
 {
     if (!Company::isCurrentUserAuthorized()) {
         return redirect()->to('hardware')->with('error', trans('general.insufficient_permissions'));
     } elseif (!config('app.lock_passwords')) {
         $files = Input::file('files');
         $path = config('app.private_uploads') . '/imports/assets';
         $results = array();
         foreach ($files as $file) {
             if (!in_array($file->getMimeType(), array('application/vnd.ms-excel', 'text/csv', 'text/plain', 'text/comma-separated-values', 'text/tsv'))) {
                 $results['error'] = 'File type must be CSV';
                 return $results;
             }
             $date = date('Y-m-d-his');
             $fixed_filename = str_replace(' ', '-', $file->getClientOriginalName());
             try {
                 $file->move($path, $date . '-' . $fixed_filename);
             } catch (\Symfony\Component\HttpFoundation\File\Exception\FileException $exception) {
                 $results['error'] = trans('admin/hardware/message.upload.error');
                 if (config('app.debug')) {
                     $results['error'] .= ' ' . $exception->getMessage();
                 }
                 return $results;
             }
             $name = date('Y-m-d-his') . '-' . $fixed_filename;
             $filesize = Setting::fileSizeConvert(filesize($path . '/' . $name));
             $results[] = compact('name', 'filesize');
         }
         return array('files' => $results);
     } else {
         $results['error'] = trans('general.feature_disabled');
         return $results;
     }
 }
예제 #2
0
 /**
  * Show the listing of backups
  *
  * @author [A. Gianotto] [<*****@*****.**>]
  * @since [v1.8]
  * @return View
  */
 public function getBackups()
 {
     $path = storage_path() . '/app/' . config('laravel-backup.backup.name');
     $files = array();
     if ($handle = opendir($path)) {
         /* This is the correct way to loop over the directory. */
         while (false !== ($entry = readdir($handle))) {
             clearstatcache();
             if (substr(strrchr($entry, '.'), 1) == 'zip') {
                 $files[] = array('filename' => $entry, 'filesize' => Setting::fileSizeConvert(filesize($path . '/' . $entry)), 'modified' => filemtime($path . '/' . $entry));
             }
         }
         closedir($handle);
         $files = array_reverse($files);
     }
     return View::make('settings/backups', compact('path', 'files'));
 }