/** * 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; } }
/** * 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')); }