<?php

namespace App\Providers;

use App\Models\ActivityRule;
use App\Observers\ActivityRuleObserver;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{

    /**
     * Register any application services.
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     * @return void
     */
    public function boot()
    {
        ActivityRule::observe(ActivityRuleObserver::class);

//        \DB::listen(
        //            function ($sql) {
        //                foreach ($sql->bindings as $i => $binding) {
        //                    if ($binding instanceof \DateTime) {
        //                        $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
        //                    } else {
        //                        if (is_string($binding)) {
        //                            $sql->bindings[$i] = "'$binding'";
        //                        }
        //                    }
        //                }
        //
        //                // Insert bindings into query
        //                $query = str_replace(['%', '?'], ['%%', '%s'], $sql->sql);
        //
        //                $query = vsprintf($query, $sql->bindings);
        //
        //                // Save the query to file
        //                $logFile = fopen(
        //                    storage_path('logs' . DIRECTORY_SEPARATOR . date('Y-m-d') . '_query.log'),
        //                    'a+'
        //                );
        //                fwrite($logFile, date('Y-m-d H:i:s') . ': ' . $query . PHP_EOL);
        //                fclose($logFile);
        //            }
        //        );
    }

}
