File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use App\Parameter;
use App\UserInformation;
use App\CorporateIdentity;
use App\Models\Central\ServiceCity;
use App\Repositories\ERPRepository;
use App\RoleTerm;
use App\Term;
use League\Flysystem\Filesystem;
use Illuminate\Support\Facades\Auth;
// SFTP PCO
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Storage;
use League\Flysystem\Sftp\SftpAdapter;
use Illuminate\Support\ServiceProvider;
use Spatie\Activitylog\Models\Activity;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
view()->composer('modules.head', function ($view) {
$obj = CorporateIdentity::first();
$view->with('identity', $obj);
});
view()->composer('modules.header', function ($view) {
$obj = CorporateIdentity::first();
$services = new ServiceCity();
$servicesN = $services->where('active', 1)->get();
$db_name = UserInformation::where('user_id', Auth::user()->id)->first();
$rolId = Auth::user()->rol_id;
$roleTerm = RoleTerm::select('term_id')->where('role_id', $rolId)->first();
$term = null;
if ($roleTerm) {
$term = Term::find($roleTerm->term_id);
}
$view->with('identity', $obj)->with('services', $servicesN)->with('db_name', $db_name->current_db)->with('term', $term);
});
view()->composer('auth.login', function ($view) {
$obj = CorporateIdentity::first();
$view->with('identity', $obj);
});
view()->composer('modules.aside', function ($view) {
$obj = Parameter::first();
$view->with('parameter', $obj);
});
view()->composer('layouts.app', function ($view) {
$obj = CorporateIdentity::first();
$view->with('identity', $obj);
});
Blade::directive('priceFormat', function ($price) {
return "<?php echo '$' . number_format($price, 0); ?>";
});
// SFTP PCO
Storage::extend('sftp', function ($app, $config) {
$config["root"] = "IF-016/in/";
return new Filesystem(new SftpAdapter($config));
});
// Automatically log user activity
Activity::saving(function (Activity $activity) {
$request = Request::instance();
$activity->properties = collect($activity->properties)->merge([
'headers' => [
'ip' => $request->ip(),
'user_agent' => $request->header('User-Agent'),
'referer' => $request->header('Referer'),
'language' => $request->header('Accept-Language'),
'content_type' => $request->header('Content-Type'),
'origin' => $request->header('Origin'),
'authorization' => $request->header('X-CSRF-TOKEN'),
],
]);
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$defaultErp = config('erp.default');
$erp = config("erp.{$defaultErp}.class");
$this->app->bind(ERPRepository::class, $erp);
}
}