diff --git a/app/Http/Controllers/Agent/helpdesk/TicketController.php b/app/Http/Controllers/Agent/helpdesk/TicketController.php index f29f86336..295cc007a 100755 --- a/app/Http/Controllers/Agent/helpdesk/TicketController.php +++ b/app/Http/Controllers/Agent/helpdesk/TicketController.php @@ -36,6 +36,7 @@ use App\Model\helpdesk\Utility\Date_time_format; use App\Model\helpdesk\Utility\Timezones; use App\User; use Auth; +use Carbon\Carbon; use Chumper\Datatable\Facades\DatatableFacade; use Crypt; use DB; @@ -162,7 +163,7 @@ class TicketController extends Controller } } //create user - $result = $this->create_user($email, $fullname, $subject, $body, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source->id, $headers, $help->department, $assignto, $form_data, $auto_response, $status); + $result = $this->create_user($email, $fullname, $subject, $body, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source->id, $headers, $help->department, $assignto, $form_data, $auto_response, $status, $duedate); if ($result[1]) { $status = $this->checkUserVerificationStatus(); if ($status == 1) { @@ -630,7 +631,7 @@ class TicketController extends Controller * * @return type bool */ - public function create_user($emailadd, $username, $subject, $body, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $auto_response, $status) + public function create_user($emailadd, $username, $subject, $body, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $auto_response, $status, $duedate = null) { // define global variables @@ -714,7 +715,7 @@ class TicketController extends Controller $user_id = $checkemail->id; } event(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source)); - $ticket_number = $this->check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $status); + $ticket_number = $this->check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $status, $duedate); $ticket_number2 = $ticket_number[0]; $ticketdata = Tickets::where('ticket_number', '=', $ticket_number2)->first(); @@ -912,7 +913,7 @@ class TicketController extends Controller * * @return type string */ - public function check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status) + public function check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status, $duedate = null) { $read_ticket_number = explode('[#', $subject); if (isset($read_ticket_number[1])) { @@ -965,12 +966,12 @@ class TicketController extends Controller } } } else { - $ticket_number = $this->createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status); + $ticket_number = $this->createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status, $duedate); return [$ticket_number, 0]; } } else { - $ticket_number = $this->createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status); + $ticket_number = $this->createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status, $duedate); return [$ticket_number, 0]; } @@ -988,7 +989,7 @@ class TicketController extends Controller * * @return type string */ - public function createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status) + public function createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $status, $duedate = null) { $ticket_number = ''; $max_number = Tickets::whereRaw('id = (select max(`id`) from tickets)')->first(); @@ -1036,9 +1037,21 @@ class TicketController extends Controller $ticket->save(); $sla_plan = Sla_plan::where('id', '=', $sla)->first(); - $ovdate = $ticket->created_at; - $new_date = date_add($ovdate, date_interval_create_from_date_string($sla_plan->grace_period)); - $ticket->duedate = $new_date; + if ($duedate) { + $duedate_datetime = Carbon::createFromFormat('d/m/Y', $duedate); + + $grace_period = $sla_plan->grace_period; + $grace_interval = \DateInterval::createFromDateString($grace_period); + $duedate_datetime->add($grace_interval); + + // Format the due date with time + $due_formatted = $duedate_datetime->format('Y-m-d H:i:s'); + $ticket->duedate = $due_formatted; + } else { + $ovdate = $ticket->created_at; + $new_date = date_add($ovdate, date_interval_create_from_date_string($sla_plan->grace_period)); + $ticket->duedate = $new_date; + } $ticket->save(); $ticket_number = $ticket->ticket_number; @@ -2344,13 +2357,20 @@ class TicketController extends Controller { $ticketid = $request->input('ticketid'); $ticket = Tickets::find($ticketid); - $firstThread = $ticket->thread()->select('user_id', 'poster', 'body')->first(); - $lastThread = $ticket->thread()->select('user_id', 'poster', 'body')->orderBy('id', 'desc')->first(); + if ($ticket) { + $threads = $ticket->thread()->select('user_id', 'poster', 'body')->get(); + $numThreads = $threads->count(); + $tooltip = ''; - return ''.$firstThread->user->user_name.' ('.$firstThread->poster.')
' - .$firstThread->purify().'

' - .''.$lastThread->user->user_name.'('.$lastThread->poster.')' - .$lastThread->purify().'

'; + foreach ($threads as $thread) { + $tooltip .= ''.$thread->user->user_name.' ('.$thread->poster.')
' + .$thread->purify().'

'; + } + + $tooltip .= 'This ticket has '.$numThreads.' threads.'; + + return $tooltip; + } } //Auto-close tickets diff --git a/lang/en/validation.php b/lang/en/validation.php index 5703c14c7..f25c3a72b 100644 --- a/lang/en/validation.php +++ b/lang/en/validation.php @@ -84,14 +84,14 @@ return [ 'array' => 'The :attribute must not have more than :value items.', 'file' => 'The :attribute must be less than or equal to :value kilobytes.', 'numeric' => 'The :attribute must be less than or equal to :value.', - 'string' => 'The :attribute must be less than or equal to :value characters.', + 'string' => 'The :attribute must not be greater than :max characters.', ], 'mac_address' => 'The :attribute must be a valid MAC address.', 'max' => [ 'array' => 'The :attribute must not have more than :max items.', 'file' => 'The :attribute must not be greater than :max kilobytes.', 'numeric' => 'The :attribute must not be greater than :max.', - 'string' => 'The :attribute must not be greater than :max characters.', + 'string' => 'The ISO-CODE is invalid', ], 'max_digits' => 'The :attribute must not have more than :max digits.', 'mimes' => 'The :attribute must be a file of type: :values.', diff --git a/public/lb-faveo/adminlte3.2.0/css-1/adminlte3.2.0.min.css b/public/lb-faveo/adminlte3.2.0/css-1/adminlte3.2.0.min.css new file mode 100644 index 000000000..e69de29bb diff --git a/public/probe.php b/public/probe.php index 185d7a45a..b20d51a2e 100644 --- a/public/probe.php +++ b/public/probe.php @@ -66,26 +66,26 @@ $bootstrapPermission = substr(sprintf('%o', fileperms($basePath.DIRECTORY_SEPARA storage = 755) { - ?> + ?> + } else { + ?>   (Directory should be writable by your web server or Faveo will not run. Give preferred permissions as 755 for directory and 644 for files.) + } ?> bootstrap/cache = 755) { - ?> + ?> + } else { + ?>   (Directory should be writable by your web server or Faveo will not run. Give preferred permissions as 755 for directory and 644 for files.) + } ?>
@@ -95,18 +95,18 @@ $bootstrapPermission = substr(sprintf('%o', fileperms($basePath.DIRECTORY_SEPARA Status '; - if (!extension_loaded($extension)) { - echo ''.$extension." Not Enabled" - ."

To enable this, please open '".php_ini_loaded_file()."' and add 'extension = ".$extension."'

" - .''; - } else { - echo ''.$extension." Enabled"; - } - echo ''; - } - ?> + foreach ($extensions as $extension) { + echo ''; + if (!extension_loaded($extension)) { + echo ''.$extension." Not Enabled" + ."

To enable this, please open '".php_ini_loaded_file()."' and add 'extension = ".$extension."'

" + .''; + } else { + echo ''.$extension." Enabled"; + } + echo ''; + } +?>
@@ -115,30 +115,30 @@ $bootstrapPermission = substr(sprintf('%o', fileperms($basePath.DIRECTORY_SEPARA '; - if (version_compare(phpversion(), '7.1') == -1 || version_compare('7.1.50', phpversion()) == -1) { - echo "'; - } else { - echo "'; - } - echo ''; - echo ''; - $env = '../.env'; - if (!is_file($env)) { - echo ""; - } else { - echo ""; - } - echo ''; - echo ''; - $redirect = in_array('mod_rewrite', apache_get_modules()); - if ($redirect) { - echo ""; - } else { - echo ""; - } - echo ''; - ?> + echo ''; +if (version_compare(phpversion(), '7.1') == -1 || version_compare('7.1.50', phpversion()) == -1) { + echo "'; +} else { + echo "'; +} +echo ''; +echo ''; +$env = '../.env'; +if (!is_file($env)) { + echo ""; +} else { + echo ""; +} +echo ''; +echo ''; +$redirect = in_array('mod_rewrite', apache_get_modules()); +if ($redirect) { + echo ""; +} else { + echo ""; +} +echo ''; +?>
Status
PHP Version ".phpversion().'

Recommended PHP version 7.1

PHP Version ".phpversion().'
.env file Not found.env file Yes Found

Please delete '$env'

Rewrite Engine (User friendly URL) ONRewrite Engine (User friendly URL) OFF
PHP Version ".phpversion().'

Recommended PHP version 7.1

PHP Version ".phpversion().'
.env file Not found.env file Yes Found

Please delete '$env'

Rewrite Engine (User friendly URL) ONRewrite Engine (User friendly URL) OFF

NOTE: Please delete the file 'probe.php' once you have fixed all the issues.

diff --git a/resources/views/themes/default1/admin/helpdesk/settings/cron/cron-new.blade.php b/resources/views/themes/default1/admin/helpdesk/settings/cron/cron-new.blade.php index 4bb0369d5..15615a516 100644 --- a/resources/views/themes/default1/admin/helpdesk/settings/cron/cron-new.blade.php +++ b/resources/views/themes/default1/admin/helpdesk/settings/cron/cron-new.blade.php @@ -51,7 +51,7 @@
 {!!Lang::get('lang.crone-url-message')!!} - {!!Lang::get('lang.click')!!} {!!Lang::get('lang.check-cron-set')!!} + {!!Lang::get('lang.click')!!} {!!Lang::get('lang.check-cron-set')!!}
diff --git a/resources/views/themes/default1/agent/helpdesk/ticket/new.blade.php b/resources/views/themes/default1/agent/helpdesk/ticket/new.blade.php index 45ae3aadc..e67214de4 100644 --- a/resources/views/themes/default1/agent/helpdesk/ticket/new.blade.php +++ b/resources/views/themes/default1/agent/helpdesk/ticket/new.blade.php @@ -15,12 +15,22 @@ class="nav-link active" @section('ticket') class="active" @stop - + @section('PageHeader')

{{Lang::get('lang.tickets')}}

@stop @section('content') + {!! Form::open(['route'=>'post.newticket','method'=>'post','id'=>'form']) !!} @if(Session::has('success')) @@ -191,6 +201,7 @@ class="active"
{!! Form::text('duedate',null,['class' => 'form-control','id'=>'datemask']) !!} +
@@ -351,12 +362,26 @@ class="active" }); }); - $(function () { - $('#datemask').datetimepicker({ - format: 'DD/MM/YYYY' + $(function () { + var picker = $('#datemask').datetimepicker({ + format: 'DD/MM/YYYY', + }); + picker.on('dp.change', function(e) { + if (e.date) { + $('.clear-input').show(); + } else { + $('.clear-input').hide(); + } + }); + + $('.clear-input').click(function() { + $('#datemask').val(''); + $('.clear-input').hide(); + }); }); + @stop diff --git a/resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php b/resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php index add16f6cb..d251246cd 100755 --- a/resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php +++ b/resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php @@ -222,10 +222,12 @@ if ($thread->title != "") {
{!! Lang::get('lang.due_date') !!}: created_at; - $time = date_create($time); + $duedate = $tickets->duedate; + $user_timezone = new DateTimeZone('Asia/Kolkata'); + $time = date_create($tickets->duedate, $user_timezone); date_add($time, date_interval_create_from_date_string($SlaPlan->grace_period)); - echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s')); + date_add($time, date_interval_create_from_date_string('30 minutes')); + echo $time->format('Y-m-d H:i:s'); ?>
@@ -885,6 +887,12 @@ if ($thread->title != "") { + @@ -617,6 +617,15 @@ class="nav-link active" {!! Form::close() !!}
+ + {!! Form::close()!!} diff --git a/resources/views/themes/default1/agent/kb/settings/settings.blade.php b/resources/views/themes/default1/agent/kb/settings/settings.blade.php index c7b67855f..31441915a 100644 --- a/resources/views/themes/default1/agent/kb/settings/settings.blade.php +++ b/resources/views/themes/default1/agent/kb/settings/settings.blade.php @@ -60,7 +60,7 @@ class="nav-link active"
{!! Form::label('pagination',Lang::get('lang.numberofelementstodisplay')) !!} * - +
diff --git a/vendor/chumper/zipper/src/Chumper/Zipper/Repositories/ZipRepository.php b/vendor/chumper/zipper/src/Chumper/Zipper/Repositories/ZipRepository.php index c55e477dc..9b5885c65 100644 --- a/vendor/chumper/zipper/src/Chumper/Zipper/Repositories/ZipRepository.php +++ b/vendor/chumper/zipper/src/Chumper/Zipper/Repositories/ZipRepository.php @@ -3,6 +3,7 @@ namespace Chumper\Zipper\Repositories; use Exception; +use Illuminate\Support\Str; use ZipArchive; class ZipRepository implements RepositoryInterface @@ -114,10 +115,12 @@ class ZipRepository implements RepositoryInterface if ($stats['size'] === 0 && $stats['crc'] === 0) { continue; } - call_user_func_array($callback, [ - 'file' => $this->archive->getNameIndex($i), - 'stats' => $this->archive->statIndex($i) - ]); + $file = $this->archive->getNameIndex($i); + $stats = $this->archive->statIndex($i); + if (Str::startsWith($file, 'some_prefix')) { + $callback($file, $stats); + } + } }