Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-inventory.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-inventory.aplikasipos.info/app/Http/Controllers/BackupController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Alert;
use Artisan;
use Log;
use Storage;
use Auth;
use Backup;
class BackupController extends Controller
{
    public function index()
    {   
    //    dd(config('laravel-backup.backup.name'));
        $disk = Storage::disk('backup');
        $files = $disk->files(config('laravel-backup.backup.name'));
        $backups = [];
        // make an array of backup files, with their filesize and creation date
        foreach ($files as $k => $f) {
            // only take the zip files into account
            if (substr($f, -4) == '.zip' && $disk->exists($f)) {
                $time = \DateTime::createFromFormat("U",$disk->lastModified($f));
                $time->setTimeZone(new \DateTimeZone('Asia/Kuala_Lumpur'));
                $backups[] = [
                    'file_path' => $f,
                    'file_name' => str_replace(config('laravel-backup.backup.name').'/', '', $f),
                    'file_size' => $disk->size($f),
                    'last_modified' => $disk->lastModified($f),
                    'time'=>$time
                ];
            }
        }
        // reverse the backups, so the newest one would be on top
        $backups = array_reverse($backups);
        return view("backup.index")->with(compact('backups'));
    }
    public function create()
    {   

        try {
            // start the backup process
            Artisan::call('backup:run');
            $output = Artisan::output();
        
            // log the results
            Log::info("Backpack\BackupManager -- new backup started from admin interface \r\n" . $output);
            // return the results as a response to the ajax call
            
            return redirect()->back();
        } catch (Exception $e) {
            Flash::error($e->getMessage());
            return redirect()->back();
        }
    }
    /**
     * Downloads a backup zip file.
     *
     * TODO: make it work no matter the flysystem driver (S3 Bucket, etc).
     */
    public function download($file_name)
    {   
        
        $file = config('laravel-backup.backup.name') . '/' . $file_name;
        // dd($file);
        $disk = Storage::disk(config('laravel-backup.backup.destination.disks')[0]);
        // dd($disk);
        if ($disk->exists($file)) {
            $fs = Storage::disk(config('laravel-backup.backup.destination.disks')[0])->getDriver();
            $stream = $fs->readStream($file);

           
            return \Response::stream(function () use ($stream) {
                fpassthru($stream);
            }, 200, [
                "Content-Type" => $fs->getMimetype($file),
                "Content-Length" => $fs->getSize($file),
                "Content-disposition" => "attachment; filename=\"" . basename($file) . "\"",
            ]);
        } else {
            abort(404, "The backup file doesn't exist.");
        }
    }
    /**
     * Deletes a backup file.
     */
    public function delete($file_name)
    {
        $disk = Storage::disk(config('laravel-backup.backup.destination.disks')[0]);
        if ($disk->exists(config('laravel-backup.backup.name') . '/' . $file_name)) {
            $disk->delete(config('laravel-backup.backup.name') . '/' . $file_name);

            
        } 
        return redirect('backup');
    }

    public function restore($file_name)
    {
        $path = public_path(config('laravel-backup.backup.name') . '/' . $file_name);
   
        //Backup::restore($path);
        dd(Backup::getProcessOutput());
        return redirect('backup');
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]