ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.224.65.90 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/funds/vendor/laravel/framework/src/Illuminate/Foundation/Console/ |
Upload File : |
<?php namespace Illuminate\Foundation\Console; use Illuminate\Console\Command; use League\Flysystem\MountManager; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\ServiceProvider; use League\Flysystem\Filesystem as Flysystem; use League\Flysystem\Adapter\Local as LocalAdapter; class VendorPublishCommand extends Command { /** * The filesystem instance. * * @var \Illuminate\Filesystem\Filesystem */ protected $files; /** * The console command signature. * * @var string */ protected $signature = 'vendor:publish {--force : Overwrite any existing files.} {--provider= : The service provider that has assets you want to publish.} {--tag=* : One or many tags that have assets you want to publish.}'; /** * The console command description. * * @var string */ protected $description = 'Publish any publishable assets from vendor packages'; /** * Create a new command instance. * * @param \Illuminate\Filesystem\Filesystem $files * @return void */ public function __construct(Filesystem $files) { parent::__construct(); $this->files = $files; } /** * Execute the console command. * * @return void */ public function fire() { $tags = $this->option('tag'); $tags = $tags ?: [null]; foreach ((array) $tags as $tag) { $this->publishTag($tag); } } /** * Publishes the assets for a tag. * * @param string $tag * @return mixed */ private function publishTag($tag) { $paths = ServiceProvider::pathsToPublish( $this->option('provider'), $tag ); if (empty($paths)) { return $this->comment("Nothing to publish for tag [{$tag}]."); } foreach ($paths as $from => $to) { if ($this->files->isFile($from)) { $this->publishFile($from, $to); } elseif ($this->files->isDirectory($from)) { $this->publishDirectory($from, $to); } else { $this->error("Can't locate path: <{$from}>"); } } $this->info("Publishing complete for tag [{$tag}]!"); } /** * Publish the file to the given path. * * @param string $from * @param string $to * @return void */ protected function publishFile($from, $to) { if ($this->files->exists($to) && ! $this->option('force')) { return; } $this->createParentDirectory(dirname($to)); $this->files->copy($from, $to); $this->status($from, $to, 'File'); } /** * Publish the directory to the given directory. * * @param string $from * @param string $to * @return void */ protected function publishDirectory($from, $to) { $manager = new MountManager([ 'from' => new Flysystem(new LocalAdapter($from)), 'to' => new Flysystem(new LocalAdapter($to)), ]); foreach ($manager->listContents('from://', true) as $file) { if ($file['type'] === 'file' && (! $manager->has('to://'.$file['path']) || $this->option('force'))) { $manager->put('to://'.$file['path'], $manager->read('from://'.$file['path'])); } } $this->status($from, $to, 'Directory'); } /** * Create the directory to house the published files if needed. * * @param string $directory * @return void */ protected function createParentDirectory($directory) { if (! $this->files->isDirectory($directory)) { $this->files->makeDirectory($directory, 0755, true); } } /** * Write a status message to the console. * * @param string $from * @param string $to * @param string $type * @return void */ protected function status($from, $to, $type) { $from = str_replace(base_path(), '', realpath($from)); $to = str_replace(base_path(), '', realpath($to)); $this->line('<info>Copied '.$type.'</info> <comment>['.$from.']</comment> <info>To</info> <comment>['.$to.']</comment>'); } }