68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Console\Commands;
 | |
| 
 | |
| use App\Http\Controllers\Agent\helpdesk\MailController;
 | |
| use App\Http\Controllers\Agent\helpdesk\TicketWorkflowController;
 | |
| use Event;
 | |
| use Illuminate\Console\Command;
 | |
| 
 | |
| class TicketFetch extends Command
 | |
| {
 | |
|     /**
 | |
|      * The name and signature of the console command.
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $signature = 'ticket:fetch';
 | |
| 
 | |
|     /**
 | |
|      * The console command description.
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $description = 'Fetching the tickets from service provider';
 | |
| 
 | |
|     /**
 | |
|      * Create a new command instance.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function __construct()
 | |
|     {
 | |
|         parent::__construct();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Execute the console command.
 | |
|      *
 | |
|      * @return mixed
 | |
|      */
 | |
|     public function handle()
 | |
|     {
 | |
|         if (env('DB_INSTALL') == 1) {
 | |
|             $controller = $this->mailController();
 | |
|             $emails = new \App\Model\helpdesk\Email\Emails();
 | |
|             $settings_email = new \App\Model\helpdesk\Settings\Email();
 | |
|             $system = new \App\Model\helpdesk\Settings\System();
 | |
|             $ticket = new \App\Model\helpdesk\Settings\Ticket();
 | |
|             $controller->readmails($emails, $settings_email, $system, $ticket);
 | |
|             Event::fire('ticket.fetch', ['event' => '']);
 | |
|             loging('fetching-ticket', 'Ticket has read', 'info');
 | |
|             //\Log::info('Ticket has read');
 | |
|             $this->info('Ticket has read');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public function mailController()
 | |
|     {
 | |
|         $PhpMailController = new \App\Http\Controllers\Common\PhpMailController();
 | |
|         $NotificationController = new \App\Http\Controllers\Common\NotificationController();
 | |
|         $ticket = new \App\Http\Controllers\Agent\helpdesk\TicketController($PhpMailController, $NotificationController);
 | |
|         $work = new TicketWorkflowController($ticket);
 | |
|         $controller = new MailController($work);
 | |
| 
 | |
|         return $controller;
 | |
|     }
 | |
| }
 | 
