Commit
This commit is contained in:
45
.lando.yml
Normal file
45
.lando.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
name: faveo-laravel
|
||||
recipe: laravel
|
||||
|
||||
config:
|
||||
webroot: public
|
||||
php: "8.1"
|
||||
|
||||
services:
|
||||
appserver:
|
||||
type: php:8.1
|
||||
overrides:
|
||||
environment:
|
||||
APP_ENV: local
|
||||
APP_DEBUG: true
|
||||
APP_KEY: base64:u0DummyKeyForDev123456==
|
||||
DB_CONNECTION: mysql
|
||||
DB_HOST: host.docker.internal # nếu bạn dùng MySQL bên ngoài container
|
||||
DB_PORT: 3306
|
||||
DB_DATABASE: faveo
|
||||
DB_USERNAME: root
|
||||
DB_PASSWORD: HP_LE1851w
|
||||
MAIL_MAILER: smtp
|
||||
MAIL_HOST: smtp.gmail.com
|
||||
MAIL_PORT: 587
|
||||
MAIL_USERNAME: pvcuong1965@gmail.com
|
||||
MAIL_PASSWORD: nwbdxhefdfgjyjtn
|
||||
MAIL_ENCRYPTION: ssl
|
||||
MAIL_FROM_ADDRESS: vcuong1965@gmail.com
|
||||
MAIL_FROM_NAME: "Faveo Helpdesk"
|
||||
|
||||
mailhog:
|
||||
type: mailhog
|
||||
|
||||
tooling:
|
||||
artisan:
|
||||
service: appserver
|
||||
composer:
|
||||
service: appserver
|
||||
mysql:
|
||||
service: database
|
||||
|
||||
proxy:
|
||||
appserver:
|
||||
- faveo.lndo.site
|
||||
|
246
app/Http/Controllers/Agent/helpdesk/TicketController.php
Executable file → Normal file
246
app/Http/Controllers/Agent/helpdesk/TicketController.php
Executable file → Normal file
@@ -53,6 +53,7 @@ use Mail;
|
||||
use UTC;
|
||||
use Vsmoraes\Pdf\PdfFacade;
|
||||
use Yajra\DataTables\Facades\DataTables;
|
||||
use App\Model\helpdesk\Agent\Location;
|
||||
|
||||
/**
|
||||
* TicketController.
|
||||
@@ -80,6 +81,7 @@ class TicketController extends Controller
|
||||
*/
|
||||
public function newticket(CountryCode $code)
|
||||
{
|
||||
$locations = Location::all();
|
||||
$location = GeoIP::getLocation();
|
||||
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
|
||||
$pcode = '';
|
||||
@@ -89,7 +91,7 @@ class TicketController extends Controller
|
||||
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
|
||||
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
||||
|
||||
return view('themes.default1.agent.helpdesk.ticket.new', compact('email_mandatory', 'settings'))->with('phonecode', $pcode);
|
||||
return view('themes.default1.agent.helpdesk.ticket.new', compact('locations', 'email_mandatory', 'settings'))->with('phonecode', $pcode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +109,7 @@ class TicketController extends Controller
|
||||
} else {
|
||||
$email = null;
|
||||
}
|
||||
$fullname = $request->input('first_name').'%$%'.$request->input('last_name');
|
||||
$fullname = $request->input('first_name') . '%$%' . $request->input('last_name');
|
||||
$helptopic = $request->input('helptopic');
|
||||
$sla = $request->input('sla');
|
||||
$duedate = $request->input('duedate');
|
||||
@@ -193,7 +195,7 @@ class TicketController extends Controller
|
||||
return response()->json(['error' => $e->getMessage()], 500);
|
||||
}
|
||||
|
||||
return Redirect()->back()->with('fails', '<li>'.$e->getMessage().'</li>');
|
||||
return Redirect()->back()->with('fails', '<li>' . $e->getMessage() . '</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,8 +218,8 @@ class TicketController extends Controller
|
||||
} else {
|
||||
$tickets = null;
|
||||
}
|
||||
// $tickets = $tickets->where('dept_id', '=', $dept->id)->orWhere('assigned_to', Auth::user()->id)->first();
|
||||
// dd($tickets);
|
||||
// $tickets = $tickets->where('dept_id', '=', $dept->id)->orWhere('assigned_to', Auth::user()->id)->first();
|
||||
// dd($tickets);
|
||||
} elseif (Auth::user()->role == 'admin') {
|
||||
$tickets = Tickets::where('id', '=', $id)->first();
|
||||
} elseif (Auth::user()->role == 'user') {
|
||||
@@ -337,7 +339,7 @@ class TicketController extends Controller
|
||||
$thread2->ticket_id = $thread->ticket_id;
|
||||
$thread2->user_id = Auth::user()->id;
|
||||
$thread2->is_internal = 1;
|
||||
$thread2->body = 'This Ticket have been assigned to '.Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$thread2->body = 'This Ticket have been assigned to ' . Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
$thread2->save();
|
||||
$data = [
|
||||
'id' => $tickets->id,
|
||||
@@ -389,9 +391,9 @@ class TicketController extends Controller
|
||||
// Event
|
||||
event(new \App\Events\FaveoAfterReply($reply_content, $user->mobile, $user->country_code, $request, $tickets, $thread));
|
||||
if (Auth::user()) {
|
||||
$u_id = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$u_id = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
} else {
|
||||
$u_id = $this->getAdmin()->first_name.' '.$this->getAdmin()->last_name;
|
||||
$u_id = $this->getAdmin()->first_name . ' ' . $this->getAdmin()->last_name;
|
||||
}
|
||||
$data = [
|
||||
'ticket_id' => $request->input('ticket_ID'),
|
||||
@@ -413,14 +415,14 @@ class TicketController extends Controller
|
||||
|
||||
if ($mail == true) {
|
||||
$encoded_ticketid = Crypt::encrypt($ticket_id);
|
||||
$link = url('check_ticket/'.$encoded_ticketid);
|
||||
$link = url('check_ticket/' . $encoded_ticketid);
|
||||
$this->NotificationController->create($ticket_id, Auth::user()->id, '2');
|
||||
$this->PhpMailController->sendmail(
|
||||
$from = $this->PhpMailController->mailfrom('0', $tickets->dept_id),
|
||||
$to = ['name' => $user_name, 'email' => $email, 'cc' => $collaborators],
|
||||
$message = [
|
||||
'subject' => $ticket_subject.'[#'.$ticket_number.']',
|
||||
'body' => $line.$request->input('reply_content'),
|
||||
'subject' => $ticket_subject . '[#' . $ticket_number . ']',
|
||||
'body' => $line . $request->input('reply_content'),
|
||||
'scenario' => 'ticket-reply',
|
||||
'attachments' => $attachment_files,
|
||||
],
|
||||
@@ -704,7 +706,7 @@ class TicketController extends Controller
|
||||
if ($auto_response == 0) {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->first_name, 'email' => $emailadd], $message = ['subject' => null, 'scenario' => 'registration-notification'], $template_variables = ['user' => $user->first_name, 'email_address' => $emailadd, 'user_password' => $password]);
|
||||
if ($user_status == 0) {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->first_name, 'email' => $emailadd], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $user->first_name, 'email_address' => $emailadd, 'password_reset_link' => url('account/activate/'.$token)]);
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->first_name, 'email' => $emailadd], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $user->first_name, 'email_address' => $emailadd, 'password_reset_link' => url('account/activate/' . $token)]);
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
@@ -724,7 +726,7 @@ class TicketController extends Controller
|
||||
$is_reply = $ticket_number[1];
|
||||
//dd($source);
|
||||
$system = $this->system();
|
||||
$updated_subject = $threaddata->title.'[#'.$ticket_number2.']';
|
||||
$updated_subject = $threaddata->title . '[#' . $ticket_number2 . ']';
|
||||
if ($ticket_number2) {
|
||||
// send ticket create details to user
|
||||
if ($is_reply == 0) {
|
||||
@@ -735,12 +737,12 @@ class TicketController extends Controller
|
||||
$sign = $company;
|
||||
}
|
||||
$encoded_ticketid = Crypt::encrypt($ticketdata->id);
|
||||
$link = url('check_ticket/'.$encoded_ticketid);
|
||||
$link = url('check_ticket/' . $encoded_ticketid);
|
||||
if ($source == 3) {
|
||||
try {
|
||||
if ($auto_response == 0) {
|
||||
$encoded_ticketid = Crypt::encrypt($ticketdata->id);
|
||||
$link = url('check_ticket/'.$encoded_ticketid);
|
||||
$link = url('check_ticket/' . $encoded_ticketid);
|
||||
$this->PhpMailController->sendmail(
|
||||
$from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id),
|
||||
$to = ['name' => $username, 'email' => $emailadd],
|
||||
@@ -764,7 +766,8 @@ class TicketController extends Controller
|
||||
$from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id),
|
||||
$to = ['name' => $username, 'email' => $emailadd],
|
||||
$message = ['subject' => $updated_subject, 'scenario' => 'create-ticket'],
|
||||
$template_variables = ['user' => $username,
|
||||
$template_variables = [
|
||||
'user' => $username,
|
||||
'ticket_number' => $ticket_number2,
|
||||
'department_sign' => '',
|
||||
'system_link' => $link,
|
||||
@@ -805,7 +808,7 @@ class TicketController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
// Event fire for new ticket['']
|
||||
// Event fire for new ticket['']
|
||||
}
|
||||
if ($is_reply == 1) {
|
||||
$client_email = $ticketdata->user->email;
|
||||
@@ -833,7 +836,8 @@ class TicketController extends Controller
|
||||
],
|
||||
$message = [
|
||||
'subject' => $updated_subject,
|
||||
'body' => $body, 'scenario' => $mail,
|
||||
'body' => $body,
|
||||
'scenario' => $mail,
|
||||
],
|
||||
$template_variables = [
|
||||
'ticket_agent_name' => $email_data['to_user_name'],
|
||||
@@ -842,7 +846,8 @@ class TicketController extends Controller
|
||||
'user' => $email_data['to_user_name'],
|
||||
'ticket_number' => $ticket_number2,
|
||||
'email_address' => $emailadd,
|
||||
'name' => $ticket_creator, ]
|
||||
'name' => $ticket_creator,
|
||||
]
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
@@ -941,14 +946,14 @@ class TicketController extends Controller
|
||||
if ($user_name->role == 'user') {
|
||||
$username = $user_name->user_name;
|
||||
} elseif ($user_name->role == 'agent' or $user_name->role == 'admin') {
|
||||
$username = $user_name->first_name.' '.$user_name->last_name;
|
||||
$username = $user_name->first_name . ' ' . $user_name->last_name;
|
||||
}
|
||||
|
||||
$ticket_threads = new Ticket_Thread();
|
||||
$ticket_threads->ticket_id = $id;
|
||||
$ticket_threads->user_id = $user_id;
|
||||
$ticket_threads->is_internal = 1;
|
||||
$ticket_threads->body = $ticket_status->message.' '.$username;
|
||||
$ticket_threads->body = $ticket_status->message . ' ' . $username;
|
||||
$ticket_threads->save();
|
||||
// event fire for internal notes
|
||||
//event to change status
|
||||
@@ -1162,7 +1167,7 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket_status->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = $ticket_status_message->message.' '.Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$thread->body = $ticket_status_message->message . ' ' . Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
$thread->save();
|
||||
|
||||
$user_id = $ticket_status->user_id;
|
||||
@@ -1180,7 +1185,7 @@ class TicketController extends Controller
|
||||
}
|
||||
|
||||
try {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket_status->dept_id), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'close-ticket'], $template_variables = ['ticket_number' => $ticket_number]);
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket_status->dept_id), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => $ticket_subject . '[#' . $ticket_number . ']', 'scenario' => 'close-ticket'], $template_variables = ['ticket_number' => $ticket_number]);
|
||||
} catch (\Exception $e) {
|
||||
return 0;
|
||||
}
|
||||
@@ -1192,7 +1197,7 @@ class TicketController extends Controller
|
||||
];
|
||||
event('change-status', [$data]);
|
||||
|
||||
return 'your ticket'.$ticket_status->ticket_number.' has been closed';
|
||||
return 'your ticket' . $ticket_status->ticket_number . ' has been closed';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1214,7 +1219,7 @@ class TicketController extends Controller
|
||||
if ($ticket_status == null) {
|
||||
return redirect()->route('unauth');
|
||||
}
|
||||
// $ticket_status = $ticket->where('id', '=', $id)->first();
|
||||
// $ticket_status = $ticket->where('id', '=', $id)->first();
|
||||
$ticket_status->status = 2;
|
||||
$ticket_status->closed = 1;
|
||||
$ticket_status->closed_at = date('Y-m-d H:i:s');
|
||||
@@ -1225,9 +1230,9 @@ class TicketController extends Controller
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
if (Auth::user()->first_name != null) {
|
||||
$thread->body = $ticket_status_message->message.' '.Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$thread->body = $ticket_status_message->message . ' ' . Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
} else {
|
||||
$thread->body = $ticket_status_message->message.' '.Auth::user()->user_name;
|
||||
$thread->body = $ticket_status_message->message . ' ' . Auth::user()->user_name;
|
||||
}
|
||||
$thread->save();
|
||||
$data = [
|
||||
@@ -1238,7 +1243,7 @@ class TicketController extends Controller
|
||||
];
|
||||
event('change-status', [$data]);
|
||||
|
||||
return 'your ticket'.$ticket_status->ticket_number.' has been resolved';
|
||||
return 'your ticket' . $ticket_status->ticket_number . ' has been resolved';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1268,7 +1273,7 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket_status->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = $ticket_status_message->message.' '.Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$thread->body = $ticket_status_message->message . ' ' . Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
$thread->save();
|
||||
$data = [
|
||||
'id' => $ticket_status->ticket_number,
|
||||
@@ -1278,7 +1283,7 @@ class TicketController extends Controller
|
||||
];
|
||||
event('change-status', [$data]);
|
||||
|
||||
return 'your ticket'.$ticket_status->ticket_number.' has been opened';
|
||||
return 'your ticket' . $ticket_status->ticket_number . ' has been opened';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1320,7 +1325,7 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket_delete->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = $ticket_status_message->message.' '.Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$thread->body = $ticket_status_message->message . ' ' . Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
$thread->save();
|
||||
$data = [
|
||||
'id' => $ticket_delete->ticket_number,
|
||||
@@ -1330,7 +1335,7 @@ class TicketController extends Controller
|
||||
];
|
||||
event('change-status', [$data]);
|
||||
|
||||
return 'your ticket'.$ticket_delete->ticket_number.' has been delete';
|
||||
return 'your ticket' . $ticket_delete->ticket_number . ' has been delete';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1386,13 +1391,13 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->body = 'This Ticket has been assigned to ' . $assignee;
|
||||
$thread->save();
|
||||
} elseif ($assign_to[0] == 'user') {
|
||||
$ticket->assigned_to = $assign_to[1];
|
||||
if ($user_detail === null) {
|
||||
$user_detail = User::where('id', '=', $assign_to[1])->first();
|
||||
$assignee = $user_detail->first_name.' '.$user_detail->last_name;
|
||||
$assignee = $user_detail->first_name . ' ' . $user_detail->last_name;
|
||||
}
|
||||
$company = $this->company();
|
||||
$system = $this->system();
|
||||
@@ -1408,16 +1413,16 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->body = 'This Ticket has been assigned to ' . $assignee;
|
||||
$thread->save();
|
||||
|
||||
$agent = $user_detail->first_name;
|
||||
$agent_email = $user_detail->email;
|
||||
$ticket_link = route('ticket.thread', $id);
|
||||
$master = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$master = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
|
||||
try {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket->dept_id), $to = ['name' => $agent, 'email' => $agent_email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'assign-ticket'], $template_variables = ['ticket_agent_name' => $agent, 'ticket_number' => $ticket_number, 'ticket_assigner' => $master, 'ticket_link' => $ticket_link]);
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket->dept_id), $to = ['name' => $agent, 'email' => $agent_email], $message = ['subject' => $ticket_subject . '[#' . $ticket_number . ']', 'scenario' => 'assign-ticket'], $template_variables = ['ticket_agent_name' => $agent, 'ticket_number' => $ticket_number, 'ticket_assigner' => $master, 'ticket_link' => $ticket_link]);
|
||||
} catch (\Exception $e) {
|
||||
return 0;
|
||||
}
|
||||
@@ -1448,7 +1453,7 @@ class TicketController extends Controller
|
||||
$NewThread->save();
|
||||
$data = [
|
||||
'ticket_id' => $id,
|
||||
'u_id' => Auth::user()->first_name.' '.Auth::user()->last_name,
|
||||
'u_id' => Auth::user()->first_name . ' ' . Auth::user()->last_name,
|
||||
'body' => $InternalContent,
|
||||
];
|
||||
event('Reply-Ticket', [$data]);
|
||||
@@ -1466,7 +1471,7 @@ class TicketController extends Controller
|
||||
public function surrender($id)
|
||||
{
|
||||
$ticket = Tickets::where('id', '=', $id)->first();
|
||||
$InternalContent = Auth::user()->first_name.' '.Auth::user()->last_name.' has Surrendered the assigned Ticket';
|
||||
$InternalContent = Auth::user()->first_name . ' ' . Auth::user()->last_name . ' has Surrendered the assigned Ticket';
|
||||
$thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||
$NewThread = new Ticket_Thread();
|
||||
$NewThread->ticket_id = $thread->ticket_id;
|
||||
@@ -1631,7 +1636,7 @@ class TicketController extends Controller
|
||||
public function autosearch($id)
|
||||
{
|
||||
$term = Input::get('term');
|
||||
$user = \App\User::where('email', 'LIKE', '%'.$term.'%')->pluck('email');
|
||||
$user = \App\User::where('email', 'LIKE', '%' . $term . '%')->pluck('email');
|
||||
echo json_encode($user);
|
||||
}
|
||||
|
||||
@@ -1662,11 +1667,11 @@ class TicketController extends Controller
|
||||
$data = User::where('email', '=', $email)->first();
|
||||
if ($data == null) {
|
||||
return '<div id="alert11" class="alert alert-warning alert-dismissable">'
|
||||
.'<button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'
|
||||
.'<i class="icon fa fa-ban"></i>'
|
||||
.Lang::get('lang.email_not_exist_system')
|
||||
.'</div>'
|
||||
.'</div>';
|
||||
. '<button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'
|
||||
. '<i class="icon fa fa-ban"></i>'
|
||||
. Lang::get('lang.email_not_exist_system')
|
||||
. '</div>'
|
||||
. '</div>';
|
||||
}
|
||||
$ticket_collaborator = Ticket_Collaborator::where('ticket_id', '=', $ticket_id)->where('user_id', '=', $data->id)->first();
|
||||
if (!isset($ticket_collaborator)) {
|
||||
@@ -1677,9 +1682,9 @@ class TicketController extends Controller
|
||||
$ticket_collaborator->role = 'ccc';
|
||||
$ticket_collaborator->save();
|
||||
|
||||
return '<div id="alert11" class="alert alert-dismissable" style="color:#60B23C;background-color:#F2F2F2;"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-check"></i>Success!</h4><h4><i class="icon fa fa-user"></i>'.$data->user_name.'</h4><div id="message-success1">'.$data->email.'</div></div>';
|
||||
return '<div id="alert11" class="alert alert-dismissable" style="color:#60B23C;background-color:#F2F2F2;"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-check"></i>Success!</h4><h4><i class="icon fa fa-user"></i>' . $data->user_name . '</h4><div id="message-success1">' . $data->email . '</div></div>';
|
||||
} else {
|
||||
return '<div id="alert11" class="alert alert-warning alert-dismissable"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-warning"></i>'.$data->user_name.'</h4><div id="message-success1">'.$data->email.'<br/>This user already Collaborated</div></div>';
|
||||
return '<div id="alert11" class="alert alert-warning alert-dismissable"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-warning"></i>' . $data->user_name . '</h4><div id="message-success1">' . $data->email . '<br/>This user already Collaborated</div></div>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1704,7 +1709,7 @@ class TicketController extends Controller
|
||||
$ticket_id = Input::get('ticket_id');
|
||||
$user_search = User::where('email', '=', $email)->first();
|
||||
if (isset($user_search)) {
|
||||
return '<div id="alert11" class="alert alert-warning alert-dismissable" ><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-alert"></i>'.Lang::get('lang.alert').'!</h4><div id="message-success1">'.Lang::get('lang.user_already_exist').'</div></div>';
|
||||
return '<div id="alert11" class="alert alert-warning alert-dismissable" ><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-alert"></i>' . Lang::get('lang.alert') . '!</h4><div id="message-success1">' . Lang::get('lang.user_already_exist') . '</div></div>';
|
||||
} else {
|
||||
$company = $this->company();
|
||||
$user = new User();
|
||||
@@ -1727,7 +1732,7 @@ class TicketController extends Controller
|
||||
$ticket_collaborator->role = 'ccc';
|
||||
$ticket_collaborator->save();
|
||||
|
||||
return '<div id="alert11" class="alert alert-dismissable" style="color:#60B23C;background-color:#F2F2F2;"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-user"></i>'.$user->user_name.'</h4><div id="message-success1">'.$user->email.'</div></div>';
|
||||
return '<div id="alert11" class="alert alert-dismissable" style="color:#60B23C;background-color:#F2F2F2;"><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-user"></i>' . $user->user_name . '</h4><div id="message-success1">' . $user->email . '</div></div>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1789,7 +1794,7 @@ class TicketController extends Controller
|
||||
// echo "<br>";
|
||||
}
|
||||
$thread = Ticket_Thread::find($th_id->id);
|
||||
// dd($thread);
|
||||
// dd($thread);
|
||||
$thread->delete();
|
||||
}
|
||||
$collaborators = Ticket_Collaborator::where('ticket_id', '=', $ticket->id)->get();
|
||||
@@ -2034,12 +2039,12 @@ class TicketController extends Controller
|
||||
if ($diff < $cad && Auth::user()->id != $ticket->lock_by) {
|
||||
$user_data = User::select('user_name', 'first_name', 'last_name')->where('id', '=', $ticket->lock_by)->first();
|
||||
if ($user_data->first_name != '') {
|
||||
$name = $user_data->first_name.' '.$user_data->last_name;
|
||||
$name = $user_data->first_name . ' ' . $user_data->last_name;
|
||||
} else {
|
||||
$name = $user_data->username;
|
||||
}
|
||||
|
||||
return Lang::get('lang.locked-ticket')." <a href='".route('user.show', $ticket->lock_by)."'>".$name.'</a> '.$diff.' '.Lang::get('lang.minutes-ago'); //ticket is locked
|
||||
return Lang::get('lang.locked-ticket') . " <a href='" . route('user.show', $ticket->lock_by) . "'>" . $name . '</a> ' . $diff . ' ' . Lang::get('lang.minutes-ago'); //ticket is locked
|
||||
} elseif ($diff < $cad && Auth::user()->id == $ticket->lock_by) {
|
||||
$ticket = Tickets::where('id', '=', $id)->first();
|
||||
$ticket->lock_at = date('Y-m-d H:i:s');
|
||||
@@ -2105,7 +2110,7 @@ class TicketController extends Controller
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This ticket now belongs to '.$user->user_name;
|
||||
$thread->body = 'This ticket now belongs to ' . $user->user_name;
|
||||
$thread->save();
|
||||
|
||||
//mail functionality
|
||||
@@ -2115,11 +2120,11 @@ class TicketController extends Controller
|
||||
$agent = $user->first_name;
|
||||
$agent_email = $user->email;
|
||||
|
||||
$master = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
$master = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||
if (Alert::first()->internal_status == 1 || Alert::first()->internal_assigned_agent == 1) {
|
||||
// ticket assigned send mail
|
||||
Mail::send('emails.Ticket_assign', ['agent' => $agent, 'ticket_number' => $ticket_number, 'from' => $company, 'master' => $master, 'system' => $system], function ($message) use ($agent_email, $agent, $ticket_number, $ticket_subject) {
|
||||
$message->to($agent_email, $agent)->subject($ticket_subject.'[#'.$ticket_number.']');
|
||||
$message->to($agent_email, $agent)->subject($ticket_subject . '[#' . $ticket_number . ']');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2142,9 +2147,12 @@ class TicketController extends Controller
|
||||
$email = $email;
|
||||
$ticket_id = $ticket_id;
|
||||
$validator = \Validator::make(
|
||||
['email' => $email,
|
||||
'name' => $name, ],
|
||||
['email' => 'required|email',
|
||||
[
|
||||
'email' => $email,
|
||||
'name' => $name,
|
||||
],
|
||||
[
|
||||
'email' => 'required|email',
|
||||
]
|
||||
);
|
||||
$user = User::where('email', '=', $email)->first();
|
||||
@@ -2179,7 +2187,7 @@ class TicketController extends Controller
|
||||
$t_id = Input::get('data1');
|
||||
foreach ($t_id as $value) {
|
||||
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value)->first();
|
||||
echo "<option value='$value'>".$title->title.'</option>';
|
||||
echo "<option value='$value'>" . $title->title . '</option>';
|
||||
}
|
||||
} else {
|
||||
$ticket = Tickets::select('user_id')->where('id', '=', $id)->first();
|
||||
@@ -2187,7 +2195,7 @@ class TicketController extends Controller
|
||||
->where('user_id', '=', $ticket->user_id)->where('id', '!=', $id)->where('status', '=', 1)->get();
|
||||
foreach ($ticket_data as $value) {
|
||||
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value->id)->first();
|
||||
echo "<option value='$value->id'>".$title->title.'</option>';
|
||||
echo "<option value='$value->id'>" . $title->title . '</option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2253,7 +2261,7 @@ class TicketController extends Controller
|
||||
}
|
||||
$parent_ticket = Tickets::select('ticket_number')->where('id', '=', $p_id)->first();
|
||||
$parent_thread = Ticket_Thread::where('ticket_id', '=', $p_id)->first();
|
||||
foreach ($t_id as $value) {//to create new thread of the tickets to be merged with parent
|
||||
foreach ($t_id as $value) { //to create new thread of the tickets to be merged with parent
|
||||
$thread = Ticket_Thread::where('ticket_id', '=', $value)->first();
|
||||
$ticket = Tickets::select('ticket_number')->where('id', '=', $value)->first();
|
||||
Ticket_Thread::where('ticket_id', '=', $value)
|
||||
@@ -2281,9 +2289,9 @@ class TicketController extends Controller
|
||||
$new_thread->user_id = Auth::user()->id;
|
||||
$new_thread->is_internal = 0;
|
||||
$new_thread->title = $thread->title;
|
||||
$new_thread->body = Lang::get('lang.get_merge_message').
|
||||
" <a href='".route('ticket.thread', [$p_id]).
|
||||
"'>#".$parent_ticket->ticket_number.'</a><br><br><b>'.Lang::get('lang.merge-reason').':</b> '.$reason;
|
||||
$new_thread->body = Lang::get('lang.get_merge_message') .
|
||||
" <a href='" . route('ticket.thread', [$p_id]) .
|
||||
"'>#" . $parent_ticket->ticket_number . '</a><br><br><b>' . Lang::get('lang.merge-reason') . ':</b> ' . $reason;
|
||||
$new_thread->format = $thread->format;
|
||||
$new_thread->ip_address = $thread->ip_address;
|
||||
|
||||
@@ -2292,7 +2300,7 @@ class TicketController extends Controller
|
||||
$new_parent_thread->user_id = Auth::user()->id;
|
||||
$new_parent_thread->is_internal = 1;
|
||||
$new_parent_thread->title = $thread->title;
|
||||
$new_parent_thread->body = Lang::get('lang.ticket')." <a href='".route('ticket.thread', [$value])."'>#".$ticket->ticket_number.'</a> '.Lang::get('lang.ticket_merged').'<br><br><b>'.Lang::get('lang.merge-reason').':</b> '.$reason;
|
||||
$new_parent_thread->body = Lang::get('lang.ticket') . " <a href='" . route('ticket.thread', [$value]) . "'>#" . $ticket->ticket_number . '</a> ' . Lang::get('lang.ticket_merged') . '<br><br><b>' . Lang::get('lang.merge-reason') . ':</b> ' . $reason;
|
||||
$new_parent_thread->format = $parent_thread->format;
|
||||
$new_parent_thread->ip_address = $parent_thread->ip_address;
|
||||
if ($new_thread->save() && $new_parent_thread->save()) {
|
||||
@@ -2309,11 +2317,11 @@ class TicketController extends Controller
|
||||
public function getParentTickets($id)
|
||||
{
|
||||
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $id)->first();
|
||||
echo "<option value='$id'>".$title->title.'</option>';
|
||||
echo "<option value='$id'>" . $title->title . '</option>';
|
||||
$tickets = Input::get('data1');
|
||||
foreach ($tickets as $value) {
|
||||
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value)->first();
|
||||
echo "<option value='$value'>".$title->title.'</option>';
|
||||
echo "<option value='$value'>" . $title->title . '</option>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2328,17 +2336,17 @@ class TicketController extends Controller
|
||||
{
|
||||
return "<script>
|
||||
var timeoutId;
|
||||
$('#tool".$ticketid."').hover(function() {
|
||||
$('#tool" . $ticketid . "').hover(function() {
|
||||
if (!timeoutId) {
|
||||
timeoutId = window.setTimeout(function() {
|
||||
timeoutId = null; // EDIT: added this line
|
||||
$.ajax({
|
||||
url:'".url('ticket/tooltip')."',
|
||||
url:'" . url('ticket/tooltip') . "',
|
||||
dataType:'html',
|
||||
type:'get',
|
||||
data:{'ticketid':".$ticketid."},
|
||||
data:{'ticketid':" . $ticketid . "},
|
||||
success : function(html){
|
||||
$('#tooltip".$ticketid."').html(html);
|
||||
$('#tooltip" . $ticketid . "').html(html);
|
||||
},
|
||||
});
|
||||
}, 2000);
|
||||
@@ -2364,11 +2372,11 @@ class TicketController extends Controller
|
||||
$tooltip = '';
|
||||
|
||||
foreach ($threads as $thread) {
|
||||
$tooltip .= '<b>'.$thread->user->user_name.' ('.$thread->poster.')</b></br>'
|
||||
.$thread->purify().'<br><hr>';
|
||||
$tooltip .= '<b>' . $thread->user->user_name . ' (' . $thread->poster . ')</b></br>'
|
||||
. $thread->purify() . '<br><hr>';
|
||||
}
|
||||
|
||||
$tooltip .= 'This ticket has '.$numThreads.' threads.';
|
||||
$tooltip .= 'This ticket has ' . $numThreads . ' threads.';
|
||||
|
||||
return $tooltip;
|
||||
}
|
||||
@@ -2389,24 +2397,24 @@ class TicketController extends Controller
|
||||
// $sla_plan = Sla_plan::where('id', '=', $overdue->sla)->first();
|
||||
|
||||
$ovadate = $overdue->created_at;
|
||||
$new_date = date_add($ovadate, date_interval_create_from_date_string($workflow->days.' days')).'<br/><br/>';
|
||||
$new_date = date_add($ovadate, date_interval_create_from_date_string($workflow->days . ' days')) . '<br/><br/>';
|
||||
if (date('Y-m-d H:i:s') > $new_date) {
|
||||
$i++;
|
||||
$overdue->status = 3;
|
||||
$overdue->closed = 1;
|
||||
$overdue->closed_at = date('Y-m-d H:i:s');
|
||||
$overdue->save();
|
||||
// if($workflow->send_email == 1) {
|
||||
// $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $overdue->dept_id), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'close-ticket'], $template_variables = ['ticket_number' => $ticket_number]);
|
||||
// }
|
||||
// if($workflow->send_email == 1) {
|
||||
// $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $overdue->dept_id), $to = ['name' => $user_name, 'email' => $email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'close-ticket'], $template_variables = ['ticket_number' => $ticket_number]);
|
||||
// }
|
||||
}
|
||||
}
|
||||
// dd(count($value));
|
||||
// if ($i > 0) {
|
||||
// $tickets = new collection($value);
|
||||
// } else {
|
||||
// $tickets = null;
|
||||
// }
|
||||
// if ($i > 0) {
|
||||
// $tickets = new collection($value);
|
||||
// } else {
|
||||
// $tickets = null;
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
}
|
||||
@@ -2663,7 +2671,7 @@ class TicketController extends Controller
|
||||
if ($exist) {
|
||||
$content = \File::get($path);
|
||||
$type = \File::extension($path);
|
||||
$base64 = 'data:image/'.$type.';base64,'.base64_encode($content);
|
||||
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($content);
|
||||
}
|
||||
|
||||
return $base64;
|
||||
@@ -2745,13 +2753,13 @@ class TicketController extends Controller
|
||||
$rep = ($tickets->last_replier == 'client') ? '#F39C12'
|
||||
: '#000';
|
||||
|
||||
return "<center><input type='checkbox' name='select_all[]' id='".$tickets->id."' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue ".$tickets->color.' '.$rep."' value='".$tickets->id."'></input></center>";
|
||||
return "<center><input type='checkbox' name='select_all[]' id='" . $tickets->id . "' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue " . $tickets->color . ' ' . $rep . "' value='" . $tickets->id . "'></input></center>";
|
||||
})
|
||||
->editColumn('title', function ($tickets) {
|
||||
if (isset($tickets->ticket_title)) {
|
||||
$string = utfEncoding($tickets->ticket_title);
|
||||
if (strlen($string) > 25) {
|
||||
$string = Str::limit($string, 30).'...';
|
||||
$string = Str::limit($string, 30) . '...';
|
||||
}
|
||||
} else {
|
||||
$string = Lang::get('lang.no-subject');
|
||||
@@ -2759,14 +2767,14 @@ class TicketController extends Controller
|
||||
|
||||
$collab = $tickets->countcollaborator;
|
||||
if ($collab > 0) {
|
||||
$collabString = ' <i class="fa fa-users" title="'.Lang::get('lang.ticket_has_collaborator').'"></i>';
|
||||
$collabString = ' <i class="fa fa-users" title="' . Lang::get('lang.ticket_has_collaborator') . '"></i>';
|
||||
} else {
|
||||
$collabString = null;
|
||||
}
|
||||
|
||||
$attachCount = $tickets->countattachment;
|
||||
if ($attachCount > 0) {
|
||||
$attachString = ' <i class="fa fa-paperclip" title="'.Lang::get('lang.ticket_has_attachments').'"></i>';
|
||||
$attachString = ' <i class="fa fa-paperclip" title="' . Lang::get('lang.ticket_has_attachments') . '"></i>';
|
||||
} else {
|
||||
$attachString = '';
|
||||
}
|
||||
@@ -2784,58 +2792,58 @@ class TicketController extends Controller
|
||||
$duedate = strtotime($tickets->duedate);
|
||||
|
||||
if ($duedate - $now < 0) {
|
||||
$due = ' <span style="background-color: rgba(221, 75, 57, 0.67) !important" title="'.Lang::get('lang.is_overdue').'" class="label label-danger">'.Lang::get('lang.overdue').'</span>';
|
||||
$due = ' <span style="background-color: rgba(221, 75, 57, 0.67) !important" title="' . Lang::get('lang.is_overdue') . '" class="label label-danger">' . Lang::get('lang.overdue') . '</span>';
|
||||
} else {
|
||||
if (date('Ymd', $duedate) == date('Ymd', $now)) {
|
||||
$due = ' <span style="background-color: rgba(240, 173, 78, 0.67) !important" title="'.Lang::get('lang.going-overdue-today').'" class="label label-warning">'.Lang::get('lang.duetoday').'</span>';
|
||||
$due = ' <span style="background-color: rgba(240, 173, 78, 0.67) !important" title="' . Lang::get('lang.going-overdue-today') . '" class="label label-warning">' . Lang::get('lang.duetoday') . '</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$thread_count = '('.$tickets->countthread.')';
|
||||
$thread_count = '(' . $tickets->countthread . ')';
|
||||
if (Lang::getLocale() == 'ar') {
|
||||
$thread_count = '‏('.$tickets->countthread.')';
|
||||
$thread_count = '‏(' . $tickets->countthread . ')';
|
||||
}
|
||||
|
||||
$tooltip_script = self::tooltip($tickets->id);
|
||||
|
||||
return "<div class='tooltip1' id='tool".$tickets->id."'>
|
||||
<a href='".route('ticket.thread', [$tickets->id])."'>".$string." <span style='color:green'>".$thread_count."</span>
|
||||
</a> <span><i style='color:green' title='".Lang::get('lang.ticket_created_source', ['source' => $source])."' class='".$css."'></i></span>".$collabString.$attachString.$due.$tooltip_script.
|
||||
"<span class='tooltiptext' id='tooltip".$tickets->id."' style='height:auto;width:300px;height:200px;overflow:scroll;background-color:#fff;color:black;border-radius:3px;border:2px solid gainsboro;position:absolute;z-index:1;top:150%;left:50%;margin-left:-23px;word-wrap:break-word;padding:10px;'>".Lang::get('lang.loading').'</span></div>';
|
||||
return "<div class='tooltip1' id='tool" . $tickets->id . "'>
|
||||
<a href='" . route('ticket.thread', [$tickets->id]) . "'>" . $string . " <span style='color:green'>" . $thread_count . "</span>
|
||||
</a> <span><i style='color:green' title='" . Lang::get('lang.ticket_created_source', ['source' => $source]) . "' class='" . $css . "'></i></span>" . $collabString . $attachString . $due . $tooltip_script .
|
||||
"<span class='tooltiptext' id='tooltip" . $tickets->id . "' style='height:auto;width:300px;height:200px;overflow:scroll;background-color:#fff;color:black;border-radius:3px;border:2px solid gainsboro;position:absolute;z-index:1;top:150%;left:50%;margin-left:-23px;word-wrap:break-word;padding:10px;'>" . Lang::get('lang.loading') . '</span></div>';
|
||||
})
|
||||
->editColumn('ticket_number', function ($tickets) {
|
||||
return "<a href='".route('ticket.thread', [$tickets->id])."' class='$".ucfirst($tickets->priority)."*' title='".Lang::get('lang.click-here-to-see-more-details')."'>#".$tickets->ticket_number.'</a>';
|
||||
return "<a href='" . route('ticket.thread', [$tickets->id]) . "' class='$" . ucfirst($tickets->priority) . "*' title='" . Lang::get('lang.click-here-to-see-more-details') . "'>#" . $tickets->ticket_number . '</a>';
|
||||
})
|
||||
->editColumn('c_uname', function ($tickets) {
|
||||
$from = $tickets->c_fname;
|
||||
$url = route('user.show', $tickets->c_uid);
|
||||
$name = $tickets->c_uname;
|
||||
if ($from) {
|
||||
$name = utfEncoding($tickets->c_fname).' '.utfEncoding($tickets->c_lname);
|
||||
$name = utfEncoding($tickets->c_fname) . ' ' . utfEncoding($tickets->c_lname);
|
||||
}
|
||||
|
||||
$color = '';
|
||||
if ($tickets->verified == 0 || $tickets->verified == '0') {
|
||||
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
||||
$color = "<i class='fa fa-exclamation-triangle' title='" . Lang::get('lang.accoutn-not-verified') . "'></i>";
|
||||
}
|
||||
|
||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.strip_tags($name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".Str::limit(strip_tags($name), 30).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
||||
return "<a href='" . $url . "' title='" . Lang::get('lang.see-profile1') . ' ' . strip_tags($name) . ''' . Lang::get('lang.see-profile2') . "'><span style='color:#508983'>" . Str::limit(strip_tags($name), 30) . ' <span style="color:#f75959">' . $color . '</span></span></a>';
|
||||
})
|
||||
->editColumn('a_uname', function ($tickets) {
|
||||
if ($tickets->assigned_to == null && $tickets->name == null) {
|
||||
return "<span style='color:red'>".Lang::get('lang.Unassigned').'</span>';
|
||||
return "<span style='color:red'>" . Lang::get('lang.Unassigned') . '</span>';
|
||||
} else {
|
||||
$assign = $tickets->assign_user_name;
|
||||
if ($tickets->assigned_to != null) {
|
||||
$assign = utfEncoding($tickets->a_fname).' '.utfEncoding($tickets->a_lname);
|
||||
$assign = utfEncoding($tickets->a_fname) . ' ' . utfEncoding($tickets->a_lname);
|
||||
$url = route('user.show', $tickets->assigned_to);
|
||||
|
||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.strip_tags($assign).'''.Lang::get('lang.see-profile2')."'><span style='color:green'>".mb_substr(strip_tags($assign), 0, 30, 'UTF-8').'</span></a>';
|
||||
return "<a href='" . $url . "' title='" . Lang::get('lang.see-profile1') . ' ' . strip_tags($assign) . ''' . Lang::get('lang.see-profile2') . "'><span style='color:green'>" . mb_substr(strip_tags($assign), 0, 30, 'UTF-8') . '</span></a>';
|
||||
} else {
|
||||
$url1 = '#';
|
||||
|
||||
return "<a href='".$url1."' title='".Lang::get('lang.see-profile1').' '.ucfirst(strip_tags($tickets->name)).'''.Lang::get('lang.see-profile2')."'><span style='color:green'>".mb_substr(ucfirst(strip_tags($tickets->name)), 0, 30, 'UTF-8').'</span></a>';
|
||||
return "<a href='" . $url1 . "' title='" . Lang::get('lang.see-profile1') . ' ' . ucfirst(strip_tags($tickets->name)) . ''' . Lang::get('lang.see-profile2') . "'><span style='color:green'>" . mb_substr(ucfirst(strip_tags($tickets->name)), 0, 30, 'UTF-8') . '</span></a>';
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -2846,7 +2854,7 @@ class TicketController extends Controller
|
||||
$updated = $tickets->updated_at;
|
||||
}
|
||||
|
||||
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
||||
return '<span style="display:none">' . $updated . '</span>' . UTC::usertimezone($updated);
|
||||
})
|
||||
->rawColumns(['id', 'title', 'ticket_number', 'c_uname', 'a_uname', 'updated_at'])
|
||||
->make();
|
||||
@@ -3194,7 +3202,7 @@ class TicketController extends Controller
|
||||
{
|
||||
return DataTables::of($tickets)
|
||||
->addColumn('id', function ($tickets) {
|
||||
return "<input type='checkbox' name='select_all[]' id='".$tickets->id."' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue' value='".$tickets->id."'></input>";
|
||||
return "<input type='checkbox' name='select_all[]' id='" . $tickets->id . "' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue' value='" . $tickets->id . "'></input>";
|
||||
})
|
||||
->addColumn('title', function ($tickets) {
|
||||
if (isset($tickets->ticket_title)) {
|
||||
@@ -3221,19 +3229,19 @@ class TicketController extends Controller
|
||||
}
|
||||
$tooltip_script = self::tooltip($tickets->id);
|
||||
|
||||
return "<div class='tooltip1' id='tool".$tickets->id."'>
|
||||
<a href='".route('ticket.thread', [$tickets->id])."'>".ucfirst($string)." <span style='color:green'>(".$tickets->countthread.") <i class='".$css."'></i></span>
|
||||
</a>".$collabString.$attachString.$tooltip_script.
|
||||
"<span class='tooltiptext' id='tooltip".$tickets->id."'>Loading...</span></div>";
|
||||
return "<div class='tooltip1' id='tool" . $tickets->id . "'>
|
||||
<a href='" . route('ticket.thread', [$tickets->id]) . "'>" . ucfirst($string) . " <span style='color:green'>(" . $tickets->countthread . ") <i class='" . $css . "'></i></span>
|
||||
</a>" . $collabString . $attachString . $tooltip_script .
|
||||
"<span class='tooltiptext' id='tooltip" . $tickets->id . "'>Loading...</span></div>";
|
||||
})
|
||||
->addColumn('ticket_number', function ($tickets) {
|
||||
return "<a href='".route('ticket.thread', [$tickets->id])."' title='".$tickets->ticket_number."'>#".$tickets->ticket_number.'</a>';
|
||||
return "<a href='" . route('ticket.thread', [$tickets->id]) . "' title='" . $tickets->ticket_number . "'>#" . $tickets->ticket_number . '</a>';
|
||||
})
|
||||
->addColumn('priority', function ($tickets) {
|
||||
$rep = ($tickets->last_replier == 'client') ? '#F39C12' : '#000';
|
||||
$priority = $tickets->priority;
|
||||
if ($priority != null) {
|
||||
$prio = '<button class="btn btn-xs '.$rep.'" style="background-color: '.$tickets->priority_color.'; color:#F7FBCB">'.ucfirst($tickets->priority).'</button>';
|
||||
$prio = '<button class="btn btn-xs ' . $rep . '" style="background-color: ' . $tickets->priority_color . '; color:#F7FBCB">' . ucfirst($tickets->priority) . '</button>';
|
||||
} else {
|
||||
$prio = $tickets->last_relier_role;
|
||||
}
|
||||
@@ -3245,25 +3253,25 @@ class TicketController extends Controller
|
||||
$url = route('user.show', $tickets->user_id);
|
||||
$name = '';
|
||||
if ($from) {
|
||||
$name = $tickets->first_name.' '.$tickets->last_name;
|
||||
$name = $tickets->first_name . ' ' . $tickets->last_name;
|
||||
} else {
|
||||
$name = $tickets->user_name;
|
||||
}
|
||||
$color = '';
|
||||
if ($tickets->verified == 0 || $tickets->verified == '0') {
|
||||
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
||||
$color = "<i class='fa fa-exclamation-triangle' title='" . Lang::get('lang.accoutn-not-verified') . "'></i>";
|
||||
}
|
||||
|
||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.ucfirst($tickets->user_name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".ucfirst(Str::limit($name, 30)).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
||||
return "<a href='" . $url . "' title='" . Lang::get('lang.see-profile1') . ' ' . ucfirst($tickets->user_name) . ''' . Lang::get('lang.see-profile2') . "'><span style='color:#508983'>" . ucfirst(Str::limit($name, 30)) . ' <span style="color:#f75959">' . $color . '</span></span></a>';
|
||||
})
|
||||
->addColumn('assign_user_name', function ($tickets) {
|
||||
if ($tickets->assigned_to == null) {
|
||||
return "<span style='color:red'>".Lang::get('lang.Unassigned').'</span>';
|
||||
return "<span style='color:red'>" . Lang::get('lang.Unassigned') . '</span>';
|
||||
} else {
|
||||
$assign = $tickets->assign_user_name;
|
||||
$url = route('user.show', $tickets->assigned_to);
|
||||
|
||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.ucfirst($tickets->assign_first_name).'''.Lang::get('lang.see-profile2')."'><span style='color:green'>".ucfirst($tickets->assign_first_name).' '.ucfirst($tickets->assign_last_name).'</span></a>';
|
||||
return "<a href='" . $url . "' title='" . Lang::get('lang.see-profile1') . ' ' . ucfirst($tickets->assign_first_name) . ''' . Lang::get('lang.see-profile2') . "'><span style='color:green'>" . ucfirst($tickets->assign_first_name) . ' ' . ucfirst($tickets->assign_last_name) . '</span></a>';
|
||||
}
|
||||
})
|
||||
->addColumn('updated_at', function ($tickets) {
|
||||
@@ -3273,7 +3281,7 @@ class TicketController extends Controller
|
||||
$updated = $tickets->updated_at;
|
||||
}
|
||||
|
||||
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
||||
return '<span style="display:none">' . $updated . '</span>' . UTC::usertimezone($updated);
|
||||
})
|
||||
->addColumn('created_at', function ($tickets) {
|
||||
$TicketDatarow = $tickets->created_at;
|
||||
@@ -3282,7 +3290,7 @@ class TicketController extends Controller
|
||||
$updated = $tickets->created_at;
|
||||
}
|
||||
|
||||
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
||||
return '<span style="display:none">' . $updated . '</span>' . UTC::usertimezone($updated);
|
||||
})
|
||||
->rawColumns(['id', 'title', 'ticket_number', 'priority', 'user_name', 'assign_user_name', 'updated_at', 'created_at'])
|
||||
->make();
|
||||
|
@@ -29,6 +29,7 @@ use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
use App\Model\helpdesk\Utility\CountryCode;
|
||||
use App\Model\helpdesk\Utility\Otp;
|
||||
use App\Model\helpdesk\Agent\Department;
|
||||
use App\User;
|
||||
// classes
|
||||
use Auth;
|
||||
@@ -737,11 +738,13 @@ class UserController extends Controller
|
||||
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
|
||||
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
|
||||
$status = $settings->status;
|
||||
|
||||
$departments = Department::all();
|
||||
try {
|
||||
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user'))
|
||||
->with(['phonecode' => $phonecode->phonecode,
|
||||
'verify' => $status, ]);
|
||||
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user', 'departments'))
|
||||
->with([
|
||||
'phonecode' => $phonecode->phonecode,
|
||||
'verify' => $status,
|
||||
]);
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails', $e->getMessage());
|
||||
}
|
||||
|
46
app/Http/Controllers/Client/helpdesk/FormController.php
Executable file → Normal file
46
app/Http/Controllers/Client/helpdesk/FormController.php
Executable file → Normal file
@@ -21,6 +21,7 @@ use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
use App\Model\helpdesk\Utility\CountryCode;
|
||||
use App\User;
|
||||
use App\Model\helpdesk\Agent\Location;
|
||||
use Exception;
|
||||
// classes
|
||||
use Form;
|
||||
@@ -64,6 +65,7 @@ class FormController extends Controller
|
||||
*/
|
||||
public function getForm(Help_topic $topic, CountryCode $code)
|
||||
{
|
||||
$locations = Location::all();
|
||||
if (\Config::get('database.install') == '%0%') {
|
||||
return \Redirect::route('licence');
|
||||
}
|
||||
@@ -85,7 +87,7 @@ class FormController extends Controller
|
||||
|
||||
[$max_size_in_bytes, $max_size_in_actual] = $this->fileUploadController->file_upload_max_size();
|
||||
|
||||
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory', 'max_size_in_bytes', 'max_size_in_actual'))->with('phonecode', $phonecode);
|
||||
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory', 'max_size_in_bytes', 'max_size_in_actual', 'locations'))->with('phonecode', $phonecode);
|
||||
} else {
|
||||
return \Redirect::route('home');
|
||||
}
|
||||
@@ -113,29 +115,29 @@ class FormController extends Controller
|
||||
$form_fields = explode(',', $form_data->value);
|
||||
$var = '';
|
||||
foreach ($form_fields as $form_field) {
|
||||
$var .= '<option value="'.$form_field.'">'.$form_field.'</option>';
|
||||
$var .= '<option value="' . $form_field . '">' . $form_field . '</option>';
|
||||
}
|
||||
echo '<br/><label>'.ucfirst($form_data->label).'</label><select class="form-control" name="'.$form_data->name.'">'.$var.'</select>';
|
||||
echo '<br/><label>' . ucfirst($form_data->label) . '</label><select class="form-control" name="' . $form_data->name . '">' . $var . '</select>';
|
||||
} elseif ($form_data->type == 'radio') {
|
||||
$type2 = $form_data->value;
|
||||
$vals = explode(',', $type2);
|
||||
echo '<br/><label>'.ucfirst($form_data->label).'</label><br/>';
|
||||
echo '<br/><label>' . ucfirst($form_data->label) . '</label><br/>';
|
||||
foreach ($vals as $val) {
|
||||
echo '<input type="'.$form_data->type.'" name="'.$form_data->name.'"> '.$form_data->value.' ';
|
||||
echo '<input type="' . $form_data->type . '" name="' . $form_data->name . '"> ' . $form_data->value . ' ';
|
||||
}
|
||||
echo '<br/>';
|
||||
} elseif ($form_data->type == 'textarea') {
|
||||
$type3 = $form_data->value;
|
||||
echo '<br/><label>'.$form_data->label.'</label></br><textarea id="unique-textarea" name="'.$form_data->name.'" class="form-control" style="height:15%;"></textarea>';
|
||||
echo '<br/><label>' . $form_data->label . '</label></br><textarea id="unique-textarea" name="' . $form_data->name . '" class="form-control" style="height:15%;"></textarea>';
|
||||
} elseif ($form_data->type == 'checkbox') {
|
||||
$type4 = $form_data->value;
|
||||
$checks = explode(',', $type4);
|
||||
echo '<br/><label>'.ucfirst($form_data->label).'</label><br/>';
|
||||
echo '<br/><label>' . ucfirst($form_data->label) . '</label><br/>';
|
||||
foreach ($checks as $check) {
|
||||
echo '<input type="'.$form_data->type.'" name="'.$form_data->name.'">  '.$check;
|
||||
echo '<input type="' . $form_data->type . '" name="' . $form_data->name . '">  ' . $check;
|
||||
}
|
||||
} else {
|
||||
echo '<br/><label>'.ucfirst($form_data->label).'</label><input type="'.$form_data->type.'" class="form-control" name="'.$form_data->name.'" />';
|
||||
echo '<br/><label>' . ucfirst($form_data->label) . '</label><input type="' . $form_data->type . '" class="form-control" name="' . $form_data->name . '" />';
|
||||
}
|
||||
}
|
||||
echo '<br/><br/>';
|
||||
@@ -238,27 +240,27 @@ class FormController extends Controller
|
||||
if ($attachments != null) {
|
||||
$storage = new \App\FaveoStorage\Controllers\StorageController();
|
||||
$storage->saveAttachments($thread->id, $attachments);
|
||||
// foreach ($attachments as $attachment) {
|
||||
// if ($attachment != null) {
|
||||
// $name = $attachment->getClientOriginalName();
|
||||
// $type = $attachment->getClientOriginalExtension();
|
||||
// $size = $attachment->getSize();
|
||||
// $data = file_get_contents($attachment->getRealPath());
|
||||
// $attachPath = $attachment->getRealPath();
|
||||
// $ta->create(['thread_id' => $thread->id, 'name' => $name, 'size' => $size, 'type' => $type, 'file' => $data, 'poster' => 'ATTACHMENT']);
|
||||
// }
|
||||
// }
|
||||
// foreach ($attachments as $attachment) {
|
||||
// if ($attachment != null) {
|
||||
// $name = $attachment->getClientOriginalName();
|
||||
// $type = $attachment->getClientOriginalExtension();
|
||||
// $size = $attachment->getSize();
|
||||
// $data = file_get_contents($attachment->getRealPath());
|
||||
// $attachPath = $attachment->getRealPath();
|
||||
// $ta->create(['thread_id' => $thread->id, 'name' => $name, 'size' => $size, 'type' => $type, 'file' => $data, 'poster' => 'ATTACHMENT']);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
// dd($result);
|
||||
return Redirect::back()->with('success', Lang::get('lang.Ticket-has-been-created-successfully-your-ticket-number-is').' '.$result[0].'. ');
|
||||
return Redirect::back()->with('success', Lang::get('lang.Ticket-has-been-created-successfully-your-ticket-number-is') . ' ' . $result[0] . '. ');
|
||||
} else {
|
||||
return Redirect::back()->withInput($request->except('password'))->with('fails', Lang::get('lang.failed-to-create-user-tcket-as-mobile-has-been-taken'));
|
||||
}
|
||||
} catch (\Exception $ex) {
|
||||
return redirect()->back()->with('fails', $ex->getMessage());
|
||||
}
|
||||
// dd($result);
|
||||
// dd($result);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -276,7 +278,7 @@ class FormController extends Controller
|
||||
$tickets = Tickets::where('id', '=', $id)->first();
|
||||
$thread = Ticket_Thread::where('ticket_id', '=', $tickets->id)->first();
|
||||
|
||||
$subject = $thread->title.'[#'.$tickets->ticket_number.']';
|
||||
$subject = $thread->title . '[#' . $tickets->ticket_number . ']';
|
||||
$body = $comment;
|
||||
|
||||
$user_cred = User::where('id', '=', $tickets->user_id)->first();
|
||||
|
0
app/Http/Controllers/Client/helpdesk/UnAuthController.php
Executable file → Normal file
0
app/Http/Controllers/Client/helpdesk/UnAuthController.php
Executable file → Normal file
0
app/Http/Controllers/Common/ApiSettings.php
Executable file → Normal file
0
app/Http/Controllers/Common/ApiSettings.php
Executable file → Normal file
@@ -13,4 +13,9 @@ class Department extends BaseModel
|
||||
'template_set', 'auto_ticket_response', 'auto_message_response',
|
||||
'auto_response_email', 'recipient', 'group_access', 'department_sign',
|
||||
];
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->hasMany(User::class, 'dept_id', 'id');
|
||||
}
|
||||
}
|
||||
|
16
app/Model/helpdesk/Agent/Location.php
Normal file
16
app/Model/helpdesk/Agent/Location.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Model\helpdesk\Agent;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Location extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $primaryKey = 'locationid';
|
||||
public $incrementing = true;
|
||||
protected $keyType = 'int';
|
||||
|
||||
protected $fillable = ['locationname'];
|
||||
}
|
@@ -3,17 +3,46 @@
|
||||
namespace App\Model\helpdesk\Ticket;
|
||||
|
||||
use App\BaseModel;
|
||||
use App\Model\helpdesk\Agent\Location;
|
||||
|
||||
class Tickets extends BaseModel
|
||||
{
|
||||
protected $table = 'tickets';
|
||||
|
||||
protected $fillable = ['id', 'ticket_number', 'num_sequence', 'user_id', 'priority_id', 'sla', 'help_topic_id', 'max_open_ticket', 'captcha', 'status', 'lock_by', 'lock_at', 'source', 'isoverdue', 'reopened', 'isanswered', 'is_deleted', 'closed', 'is_transfer', 'transfer_at', 'reopened_at', 'duedate', 'closed_at', 'last_message_at', 'last_response_at', 'created_at', 'updated_at', 'assigned_to'];
|
||||
protected $fillable = [
|
||||
'id',
|
||||
'ticket_number',
|
||||
'num_sequence',
|
||||
'user_id',
|
||||
'priority_id',
|
||||
'sla',
|
||||
'help_topic_id',
|
||||
'max_open_ticket',
|
||||
'captcha',
|
||||
'status',
|
||||
'lock_by',
|
||||
'lock_at',
|
||||
'source',
|
||||
'isoverdue',
|
||||
'reopened',
|
||||
'isanswered',
|
||||
'is_deleted',
|
||||
'closed',
|
||||
'is_transfer',
|
||||
'transfer_at',
|
||||
'reopened_at',
|
||||
'duedate',
|
||||
'closed_at',
|
||||
'last_message_at',
|
||||
'last_response_at',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
'assigned_to',
|
||||
'locationid' // <-- Thêm locationid vào đây
|
||||
];
|
||||
|
||||
// Các quan hệ cũ...
|
||||
|
||||
// public function attach(){
|
||||
// return $this->hasMany('App\Model\helpdesk\Ticket\Ticket_attachments',);
|
||||
//
|
||||
// }
|
||||
public function thread()
|
||||
{
|
||||
return $this->hasMany(\App\Model\helpdesk\Ticket\Ticket_Thread::class, 'ticket_id');
|
||||
@@ -37,6 +66,12 @@ class Tickets extends BaseModel
|
||||
return $this->hasMany(\App\Model\helpdesk\Ticket\Ticket_Form_Data::class, 'ticket_id');
|
||||
}
|
||||
|
||||
// Thêm quan hệ location mới
|
||||
public function location()
|
||||
{
|
||||
return $this->belongsTo(Location::class, 'locationid', 'locationid');
|
||||
}
|
||||
|
||||
public function extraFields()
|
||||
{
|
||||
$id = $this->attributes['id'];
|
||||
|
13
app/User.php
13
app/User.php
@@ -8,6 +8,7 @@ use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
|
||||
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Tymon\JWTAuth\Contracts\JWTSubject as AuthenticatableUserContract;
|
||||
use App\Model\helpdesk\Agent\Department;
|
||||
|
||||
class User extends Model implements AuthenticatableContract, CanResetPasswordContract, AuthenticatableUserContract
|
||||
{
|
||||
@@ -26,10 +27,13 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['user_name', 'email', 'password', 'active', 'first_name', 'last_name', 'ban', 'ext', 'mobile', 'profile_pic',
|
||||
protected $fillable = [
|
||||
'user_name', 'email', 'password', 'active', 'first_name', 'last_name', 'ban', 'ext', 'mobile', 'profile_pic',
|
||||
'phone_number', 'company', 'agent_sign', 'account_type', 'account_status',
|
||||
'assign_group', 'primary_dpt', 'agent_tzone', 'daylight_save', 'limit_access',
|
||||
'directory_listing', 'vacation_mode', 'role', 'internal_note', 'country_code', 'not_accept_ticket', 'is_delete', ];
|
||||
'directory_listing', 'vacation_mode', 'role', 'internal_note', 'country_code', 'not_accept_ticket', 'is_delete',
|
||||
'dept_id', // <-- bổ sung trường dept_id vào đây
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
@@ -175,6 +179,11 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
||||
{
|
||||
return $this->name();
|
||||
}
|
||||
public function department()
|
||||
{
|
||||
// User.dept_id là foreign key, Department.id là primary key
|
||||
return $this->belongsTo(Department::class, 'dept_id', 'id');
|
||||
}
|
||||
|
||||
public function getFirstNameAttribute($value)
|
||||
{
|
||||
|
@@ -101,6 +101,7 @@ return [
|
||||
*/
|
||||
'key' => env('APP_KEY', 'base64:h3KjrHeVxyE+j6c8whTAs2YI+7goylGZ/e2vElgXT6I='),
|
||||
'cipher' => 'AES-256-CBC',
|
||||
'key' => 'base64:MwXqXnQ6V0nvPvN6cKybA2nKFtAyYv9FItYX0ZrB67g=', // dán key thật vào đây
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Logging Configuration
|
||||
|
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('locations', function (Blueprint $table) {
|
||||
$table->id('locationid');
|
||||
$table->string('locationname');
|
||||
// $table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('locations');
|
||||
}
|
||||
};
|
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('tickets', function (Blueprint $table) {
|
||||
$table->unsignedBigInteger('locationid')->nullable();
|
||||
$table->foreign('locationid')->references('locationid')->on('locations')->onDelete('set null');
|
||||
});
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
Schema::table('tickets', function (Blueprint $table) {
|
||||
$table->dropForeign(['locationid']);
|
||||
$table->dropColumn('locationid');
|
||||
});
|
||||
}
|
||||
|
||||
};
|
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->unsignedInteger('dept_id')->nullable()->after('id');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn('dept_id');
|
||||
});
|
||||
}
|
||||
};
|
25
database/seeders/LocationSeeder.php
Normal file
25
database/seeders/LocationSeeder.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Location; // <--- Thêm dòng này
|
||||
class LocationSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
Location::insert([
|
||||
['locationname' => 'Hà Nội'],
|
||||
['locationname' => 'Đà Nẵng'],
|
||||
['locationname' => 'TP. Hồ Chí Minh'],
|
||||
['locationname' => 'Cần Thơ'],
|
||||
['locationname' => 'Huế'],
|
||||
]);
|
||||
}
|
||||
}
|
0
lang/en/datatables.php
Executable file → Normal file
0
lang/en/datatables.php
Executable file → Normal file
0
lang/en/lang.php
Executable file → Normal file
0
lang/en/lang.php
Executable file → Normal file
0
lang/ru/datatables.php
Executable file → Normal file
0
lang/ru/datatables.php
Executable file → Normal file
0
lang/ru/lang.php
Executable file → Normal file
0
lang/ru/lang.php
Executable file → Normal file
0
lang/ru/message.php
Executable file → Normal file
0
lang/ru/message.php
Executable file → Normal file
0
lang/ru/validation.php
Executable file → Normal file
0
lang/ru/validation.php
Executable file → Normal file
1559
lang/vi/lang.php
Normal file
1559
lang/vi/lang.php
Normal file
File diff suppressed because it is too large
Load Diff
18
lang/vi/pagination.php
Normal file
18
lang/vi/pagination.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Trước',
|
||||
'next' => 'Tiếp »',
|
||||
];
|
22
lang/vi/passwords.php
Normal file
22
lang/vi/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reminder Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => 'Mật khẩu phải chứa ít nhất sáu ký tự để có thể xác nhận.',
|
||||
'user' => "Chúng tôi không thể tìm thấy người dùng với địa chỉ email này.",
|
||||
'token' => 'Mã đặt lại mật khẩu này không hợp lệ.',
|
||||
'sent' => 'Chúng tôi đã gửi liên kết đặt lại mật khẩu qua email cho bạn!',
|
||||
'reset' => 'Mật khẩu của bạn đã được đặt lại.',
|
||||
|
||||
];
|
102
lang/vi/validation.php
Normal file
102
lang/vi/validation.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Các dòng ngôn ngữ sau chứa các thông báo lỗi mặc định được sử dụng bởi
|
||||
| lớp validator. Một số quy tắc có nhiều phiên bản khác nhau như
|
||||
| quy tắc kích thước. Bạn có thể tùy chỉnh từng thông báo tại đây.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => ':attribute phải được chấp nhận.',
|
||||
'active_url' => ':attribute không phải là một URL hợp lệ.',
|
||||
'after' => ':attribute phải là ngày sau ngày :date.',
|
||||
'alpha' => ':attribute chỉ được chứa các chữ cái.',
|
||||
'alpha_dash' => ':attribute chỉ được chứa các chữ cái, số và dấu gạch ngang.',
|
||||
'alpha_num' => ':attribute chỉ được chứa các chữ cái và số.',
|
||||
'array' => ':attribute phải là một mảng.',
|
||||
'before' => ':attribute phải là ngày trước ngày :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute phải nằm giữa :min và :max.',
|
||||
'file' => ':attribute phải nằm giữa :min và :max kilobyte.',
|
||||
'string' => ':attribute phải nằm giữa :min và :max ký tự.',
|
||||
'array' => ':attribute phải có từ :min đến :max phần tử.',
|
||||
],
|
||||
'boolean' => 'Trường :attribute phải là true hoặc false.',
|
||||
'confirmed' => 'Xác nhận :attribute không khớp.',
|
||||
'date' => ':attribute không phải là ngày hợp lệ.',
|
||||
'date_format' => ':attribute không khớp với định dạng :format.',
|
||||
'different' => ':attribute và :other phải khác nhau.',
|
||||
'digits' => ':attribute phải có :digits chữ số.',
|
||||
'digits_between' => ':attribute phải có từ :min đến :max chữ số.',
|
||||
'email' => ':attribute phải là một địa chỉ email hợp lệ.',
|
||||
'filled' => 'Trường :attribute là bắt buộc.',
|
||||
'exists' => ':attribute đã chọn không hợp lệ.',
|
||||
'image' => ':attribute phải là một hình ảnh.',
|
||||
'in' => ':attribute đã chọn không hợp lệ.',
|
||||
'integer' => ':attribute phải là số nguyên.',
|
||||
'ip' => ':attribute phải là địa chỉ IP hợp lệ.',
|
||||
'max' => [
|
||||
'numeric' => ':attribute không được lớn hơn :max.',
|
||||
'file' => ':attribute không được lớn hơn :max kilobyte.',
|
||||
'string' => ':attribute không được lớn hơn :max ký tự.',
|
||||
'array' => ':attribute không được có nhiều hơn :max phần tử.',
|
||||
],
|
||||
'mimes' => ':attribute phải là tệp có định dạng: :values.',
|
||||
'min' => [
|
||||
'numeric' => ':attribute phải ít nhất là :min.',
|
||||
'file' => ':attribute phải ít nhất là :min kilobyte.',
|
||||
'string' => ':attribute phải ít nhất là :min ký tự.',
|
||||
'array' => ':attribute phải có ít nhất :min phần tử.',
|
||||
],
|
||||
'not_in' => ':attribute đã chọn không hợp lệ.',
|
||||
'numeric' => ':attribute phải là một số.',
|
||||
'regex' => 'Định dạng của :attribute không hợp lệ.',
|
||||
'required' => 'Trường :attribute là bắt buộc.',
|
||||
'required_if' => 'Trường :attribute là bắt buộc khi :other là :value.',
|
||||
'required_with' => 'Trường :attribute là bắt buộc khi :values có mặt.',
|
||||
'required_with_all' => 'Trường :attribute là bắt buộc khi tất cả :values có mặt.',
|
||||
'required_without' => 'Trường :attribute là bắt buộc khi :values không có mặt.',
|
||||
'required_without_all' => 'Trường :attribute là bắt buộc khi không có :values nào có mặt.',
|
||||
'same' => 'Trường :attribute và :other phải khớp nhau.',
|
||||
'size' => [
|
||||
'numeric' => ':attribute phải có kích thước bằng :size.',
|
||||
'file' => ':attribute phải có kích thước bằng :size kilobyte.',
|
||||
'string' => ':attribute phải có độ dài bằng :size ký tự.',
|
||||
'array' => ':attribute phải chứa :size phần tử.',
|
||||
],
|
||||
'unique' => ':attribute đã được sử dụng.',
|
||||
'url' => 'Định dạng của :attribute không hợp lệ.',
|
||||
'timezone' => ':attribute phải là một múi giờ hợp lệ.',
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Bạn có thể chỉ định các thông báo tùy chỉnh cho các thuộc tính bằng cách sử dụng
|
||||
| quy ước "attribute.rule" để đặt tên dòng. Việc này giúp bạn nhanh chóng
|
||||
| chỉ định thông báo tùy chỉnh cho một quy tắc cụ thể.
|
||||
|
|
||||
*/
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Các dòng ngôn ngữ sau được sử dụng để thay thế các ký hiệu thuộc tính
|
||||
| bằng các tên dễ đọc hơn như Địa chỉ Email thay vì "email". Việc này giúp
|
||||
| các thông báo trở nên dễ hiểu hơn.
|
||||
|
|
||||
*/
|
||||
'attributes' => [],
|
||||
];
|
0
phpunit.xml
Executable file → Normal file
0
phpunit.xml
Executable file → Normal file
0
phpunit.xml.bak
Executable file → Normal file
0
phpunit.xml.bak
Executable file → Normal file
0
public/lb-faveo/css/bootstrap5.min.css
vendored
Executable file → Normal file
0
public/lb-faveo/css/bootstrap5.min.css
vendored
Executable file → Normal file
0
public/lb-faveo/css/custom.css
vendored
Executable file → Normal file
0
public/lb-faveo/css/custom.css
vendored
Executable file → Normal file
0
resources/views/auth/login.blade.php
Executable file → Normal file
0
resources/views/auth/login.blade.php
Executable file → Normal file
0
resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php
Executable file → Normal file
0
resources/views/themes/default1/admin/helpdesk/manage/sla/index.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/report/index.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/report/index.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/ticket/answered.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/ticket/answered.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/ticket/assigned.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/helpdesk/ticket/assigned.blade.php
Executable file → Normal file
@@ -1,19 +1,19 @@
|
||||
@extends('themes.default1.agent.layout.agent')
|
||||
|
||||
@section('Tickets')
|
||||
class="nav-link active"
|
||||
class="nav-link active"
|
||||
@stop
|
||||
|
||||
@section('ticket-bar')
|
||||
active
|
||||
active
|
||||
@stop
|
||||
|
||||
@section('newticket')
|
||||
class="nav-link active"
|
||||
class="nav-link active"
|
||||
@stop
|
||||
|
||||
@section('ticket')
|
||||
class="active"
|
||||
class="active"
|
||||
@stop
|
||||
<style>
|
||||
.clear-input {
|
||||
@@ -26,60 +26,60 @@ class="active"
|
||||
}
|
||||
</style>
|
||||
@section('PageHeader')
|
||||
<h1>{{Lang::get('lang.tickets')}}</h1>
|
||||
<h1>{{ Lang::get('lang.tickets') }}</h1>
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<!-- Main content -->
|
||||
{!! Form::open(['route'=>'post.newticket','method'=>'post','id'=>'form']) !!}
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissable">
|
||||
<!-- Main content -->
|
||||
{!! Form::open(['route' => 'post.newticket', 'method' => 'post', 'id' => 'form']) !!}
|
||||
@if (Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissable">
|
||||
<i class="fas fa-check-circle"></i>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('success')}}
|
||||
</div>
|
||||
@endif
|
||||
<!-- failure message -->
|
||||
@if(Session::has('fails'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@endif
|
||||
<!-- failure message -->
|
||||
@if (Session::has('fails'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fas fa-ban"></i>
|
||||
<b>{!! Lang::get('lang.alert') !!}!</b>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('fails')}}
|
||||
</div>
|
||||
@endif
|
||||
@if(Session::has('errors'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
{{ Session::get('fails') }}
|
||||
</div>
|
||||
@endif
|
||||
@if (Session::has('errors'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fas fa-ban"></i>
|
||||
<b>{!! Lang::get('lang.alert') !!}!</b>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<br/>
|
||||
@if($errors->first('email'))
|
||||
<br />
|
||||
@if ($errors->first('email'))
|
||||
<li class="error-message-padding">{!! $errors->first('email', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('first_name'))
|
||||
@if ($errors->first('first_name'))
|
||||
<li class="error-message-padding">{!! $errors->first('first_name', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('phone'))
|
||||
@if ($errors->first('phone'))
|
||||
<li class="error-message-padding">{!! $errors->first('phone', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('subject'))
|
||||
@if ($errors->first('subject'))
|
||||
<li class="error-message-padding">{!! $errors->first('subject', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('body'))
|
||||
@if ($errors->first('body'))
|
||||
<li class="error-message-padding">{!! $errors->first('body', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('code'))
|
||||
@if ($errors->first('code'))
|
||||
<li class="error-message-padding">{!! $errors->first('code', ':message') !!}</li>
|
||||
@endif
|
||||
@if($errors->first('mobile'))
|
||||
@if ($errors->first('mobile'))
|
||||
<li class="error-message-padding">{!! $errors->first('mobile', ':message') !!}</li>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card card-light">
|
||||
<div class="card card-light">
|
||||
|
||||
<div class="card-header" id='box-header1'>
|
||||
<h3 class="card-title">{!! Lang::get('lang.create_ticket') !!}</h3>
|
||||
@@ -100,20 +100,20 @@ class="active"
|
||||
<div class="col-md-4">
|
||||
<!-- email -->
|
||||
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
|
||||
{!! Form::label('email',Lang::get('lang.email')) !!}
|
||||
{!! Form::label('email', Lang::get('lang.email')) !!}
|
||||
@if ($email_mandatory->status == 1)
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
|
||||
{!! Form::text('email',null,['class' => 'form-control', 'id' => 'email']) !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control', 'id' => 'email']) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<!-- email -->
|
||||
<div class="form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
|
||||
{!! Form::label('email',Lang::get('lang.first_name')) !!} <span class="text-red"> *</span>
|
||||
<!-- {!! Form::text('email',null,['class' => 'form-control'],['id' => 'email']) !!} -->
|
||||
{!! Form::label('email', Lang::get('lang.first_name')) !!} <span class="text-red"> *</span>
|
||||
<!-- {!! Form::text('email', null, ['class' => 'form-control'], ['id' => 'email']) !!} -->
|
||||
<input type="text" name="first_name" id="first_name" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
@@ -121,7 +121,7 @@ class="active"
|
||||
<div class="col-md-4">
|
||||
<!-- full name -->
|
||||
<div class="form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
|
||||
{!! Form::label('fullname',Lang::get('lang.last_name')) !!} <span class="text-red"></span>
|
||||
{!! Form::label('fullname', Lang::get('lang.last_name')) !!} <span class="text-red"></span>
|
||||
<input type="text" name="last_name" id="last_name" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,12 +129,17 @@ class="active"
|
||||
<div class="row">
|
||||
<div class="col-md-1 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
|
||||
<div class="form-group {{ $errors->has('code') ? 'has-error' : '' }}">
|
||||
{!! Form::label('code',Lang::get('lang.country-code')) !!}
|
||||
{!! Form::label('code', Lang::get('lang.country-code')) !!}
|
||||
@if ($email_mandatory->status == 0 || $settings->status == 1)
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
|
||||
{!! Form::text('code',null,['class' => 'form-control', 'id' => 'country_code', 'placeholder' => $phonecode, 'title' => Lang::get('lang.enter-country-phone-code')]) !!}
|
||||
{!! Form::text('code', null, [
|
||||
'class' => 'form-control',
|
||||
'id' => 'country_code',
|
||||
'placeholder' => $phonecode,
|
||||
'title' => Lang::get('lang.enter-country-phone-code'),
|
||||
]) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
@@ -144,14 +149,14 @@ class="active"
|
||||
@if ($email_mandatory->status == 0 || $settings->status == 1)
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
{!! Form::input('number','mobile',null,['class' => 'form-control', 'id' => 'mobile']) !!}
|
||||
{!! Form::input('number', 'mobile', null, ['class' => 'form-control', 'id' => 'mobile']) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<!-- phone -->
|
||||
<div class="form-group {{ $errors->has('phone') ? 'has-error' : '' }}">
|
||||
<label>{!! Lang::get('lang.phone') !!}:</label>
|
||||
{!! Form::input('number','phone',null,['class' => 'form-control', 'id' => 'phone_number']) !!}
|
||||
{!! Form::input('number', 'phone', null, ['class' => 'form-control', 'id' => 'phone_number']) !!}
|
||||
{!! $errors->first('phone', '<spam class="help-block text-red">:message</spam>') !!}
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,7 +190,10 @@ class="active"
|
||||
<label>{!! Lang::get('lang.help_topic') !!}:</label>
|
||||
<!-- helptopic -->
|
||||
<?php $helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->select('topic', 'id')->get(); ?>
|
||||
{!! Form::select('helptopic', ['Helptopic'=>$helptopic->pluck('topic','id')->toArray()],null,['class' => 'form-control select','id'=>'selectid']) !!}
|
||||
{!! Form::select('helptopic', ['Helptopic' => $helptopic->pluck('topic', 'id')->toArray()], null, [
|
||||
'class' => 'form-control select',
|
||||
'id' => 'selectid',
|
||||
]) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
@@ -193,15 +201,18 @@ class="active"
|
||||
<div class="form-group">
|
||||
<label>{!! Lang::get('lang.sla_plan') !!}:</label>
|
||||
<?php $sla_plan = App\Model\helpdesk\Manage\Sla_plan::where('status', '=', 1)->select('grace_period', 'id')->get(); ?>
|
||||
{!! Form::select('sla', ['SLA'=>$sla_plan->pluck('grace_period','id')->toArray()],null,['class' => 'form-control select']) !!}
|
||||
{!! Form::select('sla', ['SLA' => $sla_plan->pluck('grace_period', 'id')->toArray()], null, [
|
||||
'class' => 'form-control select',
|
||||
]) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<!-- due date -->
|
||||
<div class="form-group" id="duedate">
|
||||
<label>{!! Lang::get('lang.due_date') !!}:</label>
|
||||
{!! Form::text('duedate',null,['class' => 'form-control','id'=>'datemask']) !!}
|
||||
<button class="btn clear-input" id="duedates" style="display: none" type="button"><i class="fas fa-times"></i></button>
|
||||
{!! Form::text('duedate', null, ['class' => 'form-control', 'id' => 'datemask']) !!}
|
||||
<button class="btn clear-input" id="duedates" style="display: none" type="button"><i
|
||||
class="fas fa-times"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
@@ -209,7 +220,12 @@ class="active"
|
||||
<div class="form-group">
|
||||
<label>{!! Lang::get('lang.assign_to') !!}:</label>
|
||||
<?php $agents = App\User::where('role', '!=', 'user')->where('active', '=', 1)->get(); ?>
|
||||
{!! Form::select('assignto', [''=>'Select an Agent','Agents'=>$agents->pluck('first_name','id')->toArray()],null,['class' => 'form-control select']) !!}
|
||||
{!! Form::select(
|
||||
'assignto',
|
||||
['' => 'Select an Agent', 'Agents' => $agents->pluck('first_name', 'id')->toArray()],
|
||||
null,
|
||||
['class' => 'form-control select'],
|
||||
) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div id="response" class="col-md-6 form-group"></div>
|
||||
@@ -238,10 +254,27 @@ class="active"
|
||||
<label>{!! Lang::get('lang.subject') !!}:<span class="text-red"> *</span></label>
|
||||
</div>
|
||||
<div class="col-md-11">
|
||||
{!! Form::text('subject',null,['class' => 'form-control']) !!}
|
||||
{!! Form::text('subject', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-1">
|
||||
<label for="location">Vị trí:</label>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<select name="location" class="form-control">
|
||||
<option value="">-- Chọn vị trí --</option>
|
||||
@foreach ($locations as $loc)
|
||||
<option value="{{ $loc->id }}"
|
||||
{{ old('location') == $loc->id ? 'selected' : '' }}>
|
||||
{{ $loc->locationname }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group {{ $errors->has('body') ? 'has-error' : '' }}">
|
||||
<!-- details -->
|
||||
<div class="row">
|
||||
@@ -249,7 +282,11 @@ class="active"
|
||||
<label>{!! Lang::get('lang.detail') !!}:<span class="text-red"> *</span></label>
|
||||
</div>
|
||||
<div class="col-md-11">
|
||||
{!! Form::textarea('body',null,['class' => 'form-control','id' => 'body', 'style'=>"width:100%; height:150px;"]) !!}
|
||||
{!! Form::textarea('body', null, [
|
||||
'class' => 'form-control',
|
||||
'id' => 'body',
|
||||
'style' => 'width:100%; height:150px;',
|
||||
]) !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -261,12 +298,18 @@ class="active"
|
||||
<label>{!! Lang::get('lang.priority') !!}:</label>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status','=',1)->get(); ?>
|
||||
{!! Form::select('priority', [Lang::get('lang.priorities')=>$Priority->pluck('priority_desc','priority_id')->toArray()],null,['class' => 'form-control select']) !!}
|
||||
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status', '=', 1)->get(); ?>
|
||||
{!! Form::select(
|
||||
'priority',
|
||||
[Lang::get('lang.priorities') => $Priority->pluck('priority_desc', 'priority_id')->toArray()],
|
||||
null,
|
||||
['class' => 'form-control select'],
|
||||
) !!}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -275,36 +318,40 @@ class="active"
|
||||
<div class="card-footer">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<input type="submit" value="{!! Lang::get('lang.create_ticket') !!}" class="btn btn-primary" onclick="this.disabled=true;this.value='Sending, please wait...';this.form.submit();">
|
||||
<input type="submit" value="{!! Lang::get('lang.create_ticket') !!}" class="btn btn-primary"
|
||||
onclick="this.disabled=true;this.value='Sending, please wait...';this.form.submit();">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /. box -->
|
||||
{!! Form::close() !!}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
</div><!-- /. box -->
|
||||
{!! Form::close() !!}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
var helpTopic = $("#selectid").val();
|
||||
send(helpTopic);
|
||||
$("#selectid").on("change", function () {
|
||||
$("#selectid").on("change", function() {
|
||||
helpTopic = $("#selectid").val();
|
||||
send(helpTopic);
|
||||
});
|
||||
|
||||
function send(helpTopic) {
|
||||
$.ajax({
|
||||
url: "{{url('/get-helptopic-form')}}",
|
||||
data: {'helptopic': helpTopic},
|
||||
url: "{{ url('/get-helptopic-form') }}",
|
||||
data: {
|
||||
'helptopic': helpTopic
|
||||
},
|
||||
type: "GET",
|
||||
dataType: "html",
|
||||
success: function (response) {
|
||||
success: function(response) {
|
||||
$("#response").html(response);
|
||||
},
|
||||
error: function (response) {
|
||||
error: function(response) {
|
||||
$("#response").html(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
$(function () {
|
||||
$(function() {
|
||||
$("textarea").summernote({
|
||||
height: 300,
|
||||
tabsize: 2,
|
||||
@@ -319,8 +366,8 @@ class="active"
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#form').submit(function () {
|
||||
$(document).ready(function() {
|
||||
$('#form').submit(function() {
|
||||
var duedate = document.getElementById('datemask').value;
|
||||
if (duedate) {
|
||||
var pattern = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
|
||||
@@ -330,39 +377,41 @@ class="active"
|
||||
} else {
|
||||
$('#duedate').addClass("has-error");
|
||||
$('#clear-up').remove();
|
||||
$('#box-header1').append("<div id='clear-up'><br><br><div class='alert alert-danger alert-dismissable'><i class='fa fa-ban'></i><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button> Invalid Due date</div></div>");
|
||||
$('#box-header1').append(
|
||||
"<div id='clear-up'><br><br><div class='alert alert-danger alert-dismissable'><i class='fa fa-ban'></i><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button> Invalid Due date</div></div>"
|
||||
);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function() {
|
||||
$("#email").autocomplete({
|
||||
source:"{!!URL::route('post.newticket.autofill')!!}",
|
||||
minLength:1,
|
||||
select:function(evt, ui) {
|
||||
source: "{!! URL::route('post.newticket.autofill') !!}",
|
||||
minLength: 1,
|
||||
select: function(evt, ui) {
|
||||
// this.form.phone_number.value = ui.item.phone_number;
|
||||
// this.form.user_name.value = ui.item.user_name;
|
||||
if(ui.item.first_name) {
|
||||
if (ui.item.first_name) {
|
||||
this.form.first_name.value = ui.item.first_name;
|
||||
}
|
||||
if(ui.item.last_name) {
|
||||
if (ui.item.last_name) {
|
||||
this.form.last_name.value = ui.item.last_name;
|
||||
}
|
||||
if(ui.item.country_code) {
|
||||
if (ui.item.country_code) {
|
||||
this.form.country_code.value = ui.item.country_code;
|
||||
}
|
||||
if(ui.item.phone_number) {
|
||||
if (ui.item.phone_number) {
|
||||
this.form.phone_number.value = ui.item.phone_number;
|
||||
}
|
||||
if(ui.item.mobile) {
|
||||
if (ui.item.mobile) {
|
||||
this.form.mobile.value = ui.item.mobile;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$(function() {
|
||||
var picker = $('#datemask').datetimepicker({
|
||||
format: 'DD/MM/YYYY',
|
||||
});
|
||||
@@ -380,9 +429,6 @@ class="active"
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@stop
|
||||
|
||||
|
||||
|
||||
|
1174
resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php
Executable file → Normal file
1174
resources/views/themes/default1/agent/helpdesk/ticket/timeline.blade.php
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
@@ -33,7 +33,7 @@ class="nav-link active"
|
||||
{{Session::get('fails')}}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
gfggggdgd
|
||||
@if(Session::has('errors'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fas fa-ban"></i>
|
||||
|
@@ -101,17 +101,17 @@ class="nav-link active"
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<!-- email address -->
|
||||
{!! Form::label('email',Lang::get('lang.email_address')) !!}
|
||||
<div>
|
||||
{{$user->email}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group {{ $errors->has('company') ? 'has-error' : '' }}">
|
||||
<!-- company -->
|
||||
{!! Form::label('company',Lang::get('lang.company')) !!}
|
||||
{!! Form::text('company',null,['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<label for="dept_id">Phòng ban</label>
|
||||
<select class="form-control" name="dept_id" id="dept_id" required>
|
||||
<option value="">-- Chọn phòng ban --</option>
|
||||
@foreach ($departments as $department)
|
||||
<option value="{{ $department->id }}"
|
||||
{{ $user->dept_id == $department->id ? 'selected' : '' }}>
|
||||
{{ $department->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- phone extension -->
|
||||
<div class="col-sm-2 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
|
||||
|
@@ -94,6 +94,12 @@ class="active"
|
||||
<div class="form-group row">
|
||||
<div class='col-sm-4'><label>{!! Lang::get('lang.company') !!}:</label></div> <div class='col-sm-7'> {{ $user->company }}</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class='col-sm-4'><label>{!! Lang::get('lang.department') !!}:</label></div>
|
||||
<div class='col-sm-7'>
|
||||
{{ $user->department ? $user->department->name : '-' }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class='col-sm-4'><label>{!! Lang::get('lang.role') !!}:</label></div> <div class='col-sm-7'> {{ $user->role }}</div>
|
||||
</div>
|
||||
|
0
resources/views/themes/default1/agent/layout/agent.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/layout/agent.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/layout/agentold.blade.php
Executable file → Normal file
0
resources/views/themes/default1/agent/layout/agentold.blade.php
Executable file → Normal file
369
resources/views/themes/default1/client/helpdesk/ckeckticket.blade.php
Executable file → Normal file
369
resources/views/themes/default1/client/helpdesk/ckeckticket.blade.php
Executable file → Normal file
@@ -3,7 +3,8 @@
|
||||
|
||||
<style>
|
||||
.words {
|
||||
margin-right: 10px; /* Adjust the value to increase or decrease the gap between list items */
|
||||
margin-right: 10px;
|
||||
/* Adjust the value to increase or decrease the gap between list items */
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -11,26 +12,26 @@
|
||||
<li class="breadcrumb-item "> <i class="fas fa-home"> </i> {!! Lang::get('lang.you_are_here') !!} : </li>
|
||||
<li><a class="words" href="{!! URL::route('ticket') !!}">{!! Lang::get('lang.my_tickets') !!}</a></li>
|
||||
<li class="words"> > </li>
|
||||
<li><a class="words" href="{{url('#')}}">{!! Lang::get('lang.check_ticket') !!}</a></li>
|
||||
<li><a class="words" href="{{ url('#') }}">{!! Lang::get('lang.check_ticket') !!}</a></li>
|
||||
</ol>
|
||||
|
||||
@stop
|
||||
@section('content')
|
||||
<?php
|
||||
$tickets = App\Model\helpdesk\Ticket\Tickets::where('id', '=', \Crypt::decrypt($id))->first();
|
||||
$thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Crypt::decrypt($id))->first();
|
||||
//$user = App\User::where('id','=',$id1)->first();
|
||||
?>
|
||||
<!-- Main content -->
|
||||
<?php
|
||||
$tickets = App\Model\helpdesk\Ticket\Tickets::where('id', '=', \Crypt::decrypt($id))->first();
|
||||
$thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Crypt::decrypt($id))->first();
|
||||
//$user = App\User::where('id','=',$id1)->first();
|
||||
?>
|
||||
<!-- Main content -->
|
||||
|
||||
|
||||
<div id="alert11" class="alert alert-dismissable alert-success" style="display: none;" role="aler">
|
||||
<div id="alert11" class="alert alert-dismissable alert-success" style="display: none;" role="aler">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<span id="message-success1" ></span>
|
||||
</div>
|
||||
<span id="message-success1"></span>
|
||||
</div>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
<style type="text/css">
|
||||
.caret {
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
@@ -42,28 +43,64 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.mailbox-attachments li{float:left;width:200px;border:1px solid #eee;margin-bottom:10px;margin-right:10px}
|
||||
.mailbox-attachments li {
|
||||
float: left;
|
||||
width: 200px;
|
||||
border: 1px solid #eee;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 10px
|
||||
}
|
||||
|
||||
.mailbox-attachment-name{font-weight:bold;color:#666;word-break: break-word;}
|
||||
.mailbox-attachment-name {
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block}
|
||||
.mailbox-attachment-icon,
|
||||
.mailbox-attachment-info,
|
||||
.mailbox-attachment-size {
|
||||
display: block
|
||||
}
|
||||
|
||||
.mailbox-attachment-info{padding:10px;background:#f4f4f4;height: auto;}
|
||||
.mailbox-attachment-info {
|
||||
padding: 10px;
|
||||
background: #f4f4f4;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.mailbox-attachment-size{color:#999;font-size:12px}
|
||||
.mailbox-attachment-size {
|
||||
color: #999;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon{text-align:center;font-size:65px;color:#666;padding:20px 10px}
|
||||
.mailbox-attachment-icon {
|
||||
text-align: center;
|
||||
font-size: 65px;
|
||||
color: #666;
|
||||
padding: 20px 10px
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon.has-img{padding:0}
|
||||
.mailbox-attachment-icon.has-img {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon.has-img>img{max-width:100%;height:auto}
|
||||
.mailbox-attachment-icon.has-img>img {
|
||||
max-width: 100%;
|
||||
height: auto
|
||||
}
|
||||
|
||||
#clearfix {display: inline-block!important;list-style-type: none!important;}
|
||||
#clearfix {
|
||||
display: inline-block !important;
|
||||
list-style-type: none !important;
|
||||
}
|
||||
|
||||
.ml40 {margin-left: -40px!important;}
|
||||
</style>
|
||||
.ml40 {
|
||||
margin-left: -40px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="content" class="site-content col-sm-12">
|
||||
<div id="content" class="site-content col-sm-12">
|
||||
|
||||
<article class="hentry">
|
||||
|
||||
@@ -73,19 +110,19 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<div class="col-sm-9">
|
||||
|
||||
<h3 class="entry-title"><i class="fas fa-ticket-alt"> </i> {{$thread->title}}
|
||||
<h3 class="entry-title"><i class="fas fa-ticket-alt"> </i> {{ $thread->title }}
|
||||
|
||||
<small> ( {{$tickets->ticket_number}} ) </small>
|
||||
<small> ( {{ $tickets->ticket_number }} ) </small>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 text-right">
|
||||
|
||||
@if( $common_setting->status == '1')
|
||||
|
||||
@if ($common_setting->status == '1')
|
||||
<div>
|
||||
|
||||
<button class="btn btn-light dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false" style="background-color: whitesmoke">
|
||||
<button class="btn btn-light dropdown-toggle" type="button" id="dropdownMenuButton"
|
||||
data-bs-toggle="dropdown" aria-expanded="false" style="background-color: whitesmoke">
|
||||
|
||||
<i class="fas fa-exchange-alt" style="color:teal;"> </i>
|
||||
|
||||
@@ -128,9 +165,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
<?php $ratings = App\Model\helpdesk\Ratings\Rating::orderby('display_order')->get(); ?>
|
||||
<form id="foo">
|
||||
{!! csrf_field() !!}
|
||||
@foreach($ratings as $rating)
|
||||
|
||||
@if($rating->rating_area == 'Helpdesk Area')
|
||||
@foreach ($ratings as $rating)
|
||||
@if ($rating->rating_area == 'Helpdesk Area')
|
||||
<?php
|
||||
$rating_value = App\Model\helpdesk\Ratings\RatingRef::where('rating_id', '=', $rating->id)->where('ticket_id', '=', $tickets->id)->first();
|
||||
if ($rating_value == null) {
|
||||
@@ -142,12 +178,16 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<tr>
|
||||
|
||||
<th><div class="ticketratingtitle">{!! $rating->name !!} </div></th> 
|
||||
<th>
|
||||
<div class="ticketratingtitle">{!! $rating->name !!} </div>
|
||||
</th> 
|
||||
|
||||
<td>
|
||||
|
||||
<?php for ($i = 1; $i <= $rating->rating_scale; $i++) { ?>
|
||||
<input type="radio" class="star" id="star5" name="{!! $rating->name !!}" value="{!! $i !!}"<?php echo ($ratingval == $i) ? 'checked' : '' ?> />
|
||||
<input type="radio" class="star" id="star5"
|
||||
name="{!! $rating->name !!}"
|
||||
value="{!! $i !!}"<?php echo $ratingval == $i ? 'checked' : ''; ?> />
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -165,7 +205,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<div class="col-md-12 offset-md-5" id="loader" style="display:none;">
|
||||
|
||||
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<img
|
||||
src="{{ asset('lb-faveo/media/images/gifloader.gif') }}"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
|
||||
</div>
|
||||
|
||||
<div id="refresh">
|
||||
@@ -180,7 +221,7 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
$sla = $tickets->sla;
|
||||
$SlaPlan = App\Model\helpdesk\Manage\Sla_plan::where('id', '=', $sla)->first();
|
||||
?>
|
||||
<b>{!! Lang::get('lang.sla_plan') !!}: {{$SlaPlan->grace_period}} </b>
|
||||
<b>{!! Lang::get('lang.sla_plan') !!}: {{ $SlaPlan->grace_period }} </b>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<b>{!! Lang::get('lang.created_date') !!}: </b> {{ UTC::usertimezone($tickets->created_at) }}
|
||||
@@ -196,10 +237,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<?php $response = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $tickets->id)->where('is_internal', '=', 0)->get(); ?>
|
||||
@foreach($response as $last)
|
||||
@foreach ($response as $last)
|
||||
<?php $ResponseDate = $last->created_at; ?>
|
||||
@endforeach
|
||||
<b>{!! Lang::get('lang.last_response') !!}: </b> {{ UTC::usertimezone($ResponseDate)}}
|
||||
<b>{!! Lang::get('lang.last_response') !!}: </b> {{ UTC::usertimezone($ResponseDate) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -217,18 +258,12 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<?php $status = App\Model\helpdesk\Ticket\Ticket_Status::where('id', '=', $tickets->status)->first(); ?>
|
||||
|
||||
@if($status->id == 1)
|
||||
|
||||
<td title="{{$status->properties}}" style="color:orange">{{$status->name}}</td>
|
||||
|
||||
@if ($status->id == 1)
|
||||
<td title="{{ $status->properties }}" style="color:orange">{{ $status->name }}</td>
|
||||
@elseif($status->id == 2)
|
||||
|
||||
<td title="{{$status->properties}}" style="color:green">{{$status->name}}</td>
|
||||
|
||||
<td title="{{ $status->properties }}" style="color:green">{{ $status->name }}</td>
|
||||
@elseif($status->id == 3)
|
||||
|
||||
<td title="{{$status->properties}}" style="color:green">{{$status->name}}</td>
|
||||
|
||||
<td title="{{ $status->properties }}" style="color:green">{{ $status->name }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@@ -238,18 +273,15 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $tickets->priority_id)->first(); ?>
|
||||
|
||||
@if($priority->priority_id == 1)
|
||||
|
||||
<td title="{{$priority->priority_desc}}" style="color:green">{{$priority->priority_desc}}</td>
|
||||
|
||||
@if ($priority->priority_id == 1)
|
||||
<td title="{{ $priority->priority_desc }}" style="color:green">
|
||||
{{ $priority->priority_desc }}</td>
|
||||
@elseif($priority->priority_id == 2)
|
||||
|
||||
<td title="{{$priority->priority_desc}}" style="color:orange">{{$priority->priority_desc}}</td>
|
||||
|
||||
<td title="{{ $priority->priority_desc }}" style="color:orange">
|
||||
{{ $priority->priority_desc }}</td>
|
||||
@elseif($priority->priority_id == 3)
|
||||
|
||||
<td title="{{$priority->priority_desc}}" style="color:red">{{$priority->priority_desc}}</td>
|
||||
|
||||
<td title="{{ $priority->priority_desc }}" style="color:red">
|
||||
{{ $priority->priority_desc }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@@ -259,8 +291,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
<?php
|
||||
$help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first();
|
||||
$department = App\Model\helpdesk\Agent\Department::where('id', '=', $help_topic->department)->first();
|
||||
$location = $tickets->location;
|
||||
?>
|
||||
<td title="{{ $department->name }}">{!! $department->name !!}</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -275,19 +309,24 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<?php $help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first(); ?>
|
||||
|
||||
<td title="{{$help_topic->topic}}">{{$help_topic->topic}}</td>
|
||||
<td title="{{ $help_topic->topic }}">{{ $help_topic->topic }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td><b>{!! Lang::get('lang.last_message') !!}:</b></td>
|
||||
|
||||
<td>{{ucwords($last->poster)}}</td>
|
||||
<td>{{ ucwords($last->poster) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Địa điểm:</b></td>
|
||||
<td title="{{ $location->locationname }}">{!! $location->locationname !!}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="comments-area mb-0" id="comments">
|
||||
|
||||
<?php
|
||||
@@ -299,32 +338,35 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
$body = $conversation->thread($conversation->body);
|
||||
?>
|
||||
|
||||
<ol class="comment-list" >
|
||||
<ol class="comment-list">
|
||||
|
||||
<li class="comment">
|
||||
|
||||
<article class="comment-body">
|
||||
|
||||
<footer class="comment-meta"
|
||||
<?php if ($role->role == "user") { ?> style="background-color: hsla(100, 100%, 51%, 0.15)" <?php } else { ?> style="background-color:#FFFCB3" <?php } ?>
|
||||
>
|
||||
<footer class="comment-meta" <?php if ($role->role == "user") { ?>
|
||||
style="background-color: hsla(100, 100%, 51%, 0.15)" <?php } else { ?>
|
||||
style="background-color:#FFFCB3" <?php } ?>>
|
||||
<div class="comment-author">
|
||||
|
||||
<img src="{{$role->profile_pic}}"alt="" height="50" width="50" class="avatar"
|
||||
<?php if ($role->role == "user") { ?>style="box-shadow: 0 1px 3px #00FF26;" <?php } else { ?> style="box-shadow: 0 1px 3px #FFEC00;" <?php } ?>
|
||||
>
|
||||
@if($role->role == "user")
|
||||
<b class="fn"><a href="#" rel="external" class="url">{{$role->user_name}}</a></b>
|
||||
<img src="{{ $role->profile_pic }}"alt="" height="50" width="50"
|
||||
class="avatar" <?php if ($role->role == "user") { ?>style="box-shadow: 0 1px 3px #00FF26;"
|
||||
<?php } else { ?> style="box-shadow: 0 1px 3px #FFEC00;"
|
||||
<?php } ?>>
|
||||
@if ($role->role == 'user')
|
||||
<b class="fn"><a href="#" rel="external"
|
||||
class="url">{{ $role->user_name }}</a></b>
|
||||
@else
|
||||
<b class="fn"><a href="#" rel="external" class="url">{{$role->first_name." ".$role->last_name}}</a></b>
|
||||
<b class="fn"><a href="#" rel="external"
|
||||
class="url">{{ $role->first_name . ' ' . $role->last_name }}</a></b>
|
||||
|
||||
<div class="ticketratings float-right" style="margin-top: -12px;">
|
||||
|
||||
<table>
|
||||
|
||||
<tbody>
|
||||
@foreach($ratings as $rating)
|
||||
@if($rating->rating_area == 'Comment Area')
|
||||
@foreach ($ratings as $rating)
|
||||
@if ($rating->rating_area == 'Comment Area')
|
||||
<?php
|
||||
$rating_value = App\Model\helpdesk\Ratings\RatingRef::where('rating_id', '=', $rating->id)->where('thread_id', '=', $conversation->id)->first();
|
||||
if ($rating_value == null) {
|
||||
@@ -336,11 +378,17 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
<form class="foo2">
|
||||
{{ csrf_field() }}
|
||||
<tr>
|
||||
<th><div class="ticketratingtitle">{!! $rating->name !!} </div></th>
|
||||
<th>
|
||||
<div class="ticketratingtitle">
|
||||
{!! $rating->name !!} </div>
|
||||
</th>
|
||||
|
||||
<td>
|
||||
<?php for ($i = 1; $i <= $rating->rating_scale; $i++) { ?>
|
||||
<input type="radio" class="star" id="star5" name="{!! $rating->name !!},{!! $conversation->id !!}" value="{!! $i !!}"<?php echo ($ratingval == $i) ? 'checked' : '' ?> />
|
||||
<input type="radio" class="star"
|
||||
id="star5"
|
||||
name="{!! $rating->name !!},{!! $conversation->id !!}"
|
||||
value="{!! $i !!}"<?php echo $ratingval == $i ? 'checked' : ''; ?> />
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -357,30 +405,34 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<small class="date text-muted">
|
||||
|
||||
<time datetime="2013-10-23T01:50:50+00:00"><i class="fa fa-clock-o"> </i> {{ UTC::usertimezone($conversation->created_at) }}</time>
|
||||
<time datetime="2013-10-23T01:50:50+00:00"><i class="fa fa-clock-o"> </i>
|
||||
{{ UTC::usertimezone($conversation->created_at) }}</time>
|
||||
</small>
|
||||
</div><!-- .comment-metadata -->
|
||||
</footer><!-- .comment-meta -->
|
||||
|
||||
<div class="comment-content">
|
||||
|
||||
@if($conversation->firstContent()=='yes')
|
||||
<div class="embed-responsive{{$conversation->id}} embed-responsive-16by9">
|
||||
@if ($conversation->firstContent() == 'yes')
|
||||
<div class="embed-responsive{{ $conversation->id }} embed-responsive-16by9">
|
||||
<div class="reply">{!! $conversation->purify(true) !!}</div>
|
||||
</div>
|
||||
<script>
|
||||
setTimeout(function(){
|
||||
var $iframe = "Id{{$conversation->id}}";
|
||||
$('<iframe src="about:blank" id='+$iframe+' class="iframe" frameborder="0" scrolling="no" width="100%" style="height:1px"></iframe>').appendTo(".embed-responsive{{$conversation->id}}");
|
||||
setTimeout(function(){
|
||||
$('#'+$iframe).contents().find('body').append('<style>body{display:inline-block;}</style>');
|
||||
setTimeout(function() {
|
||||
var $iframe = "Id{{ $conversation->id }}";
|
||||
$('<iframe src="about:blank" id=' + $iframe +
|
||||
' class="iframe" frameborder="0" scrolling="no" width="100%" style="height:1px"></iframe>')
|
||||
.appendTo(".embed-responsive{{ $conversation->id }}");
|
||||
setTimeout(function() {
|
||||
$('#' + $iframe).contents().find('body').append(
|
||||
'<style>body{display:inline-block;}</style>');
|
||||
}, 100);
|
||||
setTimeout(function(){
|
||||
setTimeout(function() {
|
||||
var frameid = document.getElementById($iframe);
|
||||
if(parseInt($("#"+$iframe).contents().find('img').css('width'))>700){
|
||||
$("#"+$iframe).contents().find('img').css('width','96%');
|
||||
if (parseInt($("#" + $iframe).contents().find('img').css('width')) > 700) {
|
||||
$("#" + $iframe).contents().find('img').css('width', '96%');
|
||||
}
|
||||
frameid.contentWindow.document.body.style.width="100%";
|
||||
frameid.contentWindow.document.body.style.width = "100%";
|
||||
var iframe_height = frameid.contentWindow.document.body.scrollHeight;
|
||||
frameid.style.height = iframe_height + "px";
|
||||
}, 1000);
|
||||
@@ -391,15 +443,15 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
@endif
|
||||
|
||||
|
||||
@if($conversation->id == $ij->id)
|
||||
@if ($conversation->id == $ij->id)
|
||||
<?php $ticket_form_datas = App\Model\helpdesk\Ticket\Ticket_Form_Data::where('ticket_id', '=', $tickets->id)->get(); ?>
|
||||
@if(isset($ticket_form_datas))
|
||||
@if (isset($ticket_form_datas))
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
<table class="table">
|
||||
|
||||
<tbody>
|
||||
@foreach($ticket_form_datas as $ticket_form_data)
|
||||
@foreach ($ticket_form_datas as $ticket_form_data)
|
||||
<tr>
|
||||
<td style="width: 30%">{!! $ticket_form_data->getFieldKeyLabel() !!}</td>
|
||||
<td>{!! removeUnderscore($ticket_form_data->content) !!}</td>
|
||||
@@ -410,12 +462,12 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
@endif
|
||||
@endif
|
||||
</div><!-- .comment-content -->
|
||||
<br/><br/>
|
||||
<br /><br />
|
||||
|
||||
<div class="timeline-footer">
|
||||
|
||||
@if(!$conversation->is_internal)
|
||||
@if($conversation->user_id != null)
|
||||
@if (!$conversation->is_internal)
|
||||
@if ($conversation->user_id != null)
|
||||
<?php \Illuminate\Support\Facades\Event::dispatch(new App\Events\Timeline($conversation, $role, $user)); ?>
|
||||
@endif
|
||||
@endif
|
||||
@@ -428,7 +480,7 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
}
|
||||
}
|
||||
if ($i > 0) {
|
||||
echo "<hr style='border-top: 1px dotted #FFFFFF;margin-top:0px;margin-bottom:0px;background-color:#8B8C90;'><br><h5 class='entry-title'><b>" . $i . " </b> Attachments</h5>";
|
||||
echo "<hr style='border-top: 1px dotted #FFFFFF;margin-top:0px;margin-bottom:0px;background-color:#8B8C90;'><br><h5 class='entry-title'><b>" . $i . ' </b> Attachments</h5>';
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -468,23 +520,23 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
<div class="float-right" style="margin-top:-25px;margin-bottom:-30px">
|
||||
<?php echo $conversations->setPath(route('check_ticket', ['id' => $id]))->render(); ?>
|
||||
</div>
|
||||
<br/><br/>
|
||||
<br /><br />
|
||||
</div>
|
||||
|
||||
@if(Session::has('success1'))
|
||||
@if (Session::has('success1'))
|
||||
<div class="alert alert-success alert-dismissable" id='formabc'>
|
||||
<i class="fa fa-check-circle"></i>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('success1')}}
|
||||
{{ Session::get('success1') }}
|
||||
</div>
|
||||
@endif
|
||||
<!-- failure message -->
|
||||
@if(Session::has('fails1'))
|
||||
@if (Session::has('fails1'))
|
||||
<div class="alert alert-danger alert-dismissable" id='formabc'>
|
||||
<i class="fa fa-ban"></i>
|
||||
<b>{!! Lang::get('lang.alert') !!}!</b>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('fails1')}}
|
||||
{{ Session::get('fails1') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -492,57 +544,59 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
|
||||
<div id="respond" class="comment-respond form-border">
|
||||
|
||||
<h3 id="reply-title" class="comment-reply-title section-title"><i class="line"></i>{!! Lang::get('lang.leave_a_reply') !!}</h3>
|
||||
@if(Auth::user())
|
||||
{!! Form::open(['url'=>'post/reply/'.$id2.'#formabc']) !!}
|
||||
<h3 id="reply-title" class="comment-reply-title section-title"><i
|
||||
class="line"></i>{!! Lang::get('lang.leave_a_reply') !!}</h3>
|
||||
@if (Auth::user())
|
||||
{!! Form::open(['url' => 'post/reply/' . $id2 . '#formabc']) !!}
|
||||
@else
|
||||
{!! Form::open(['url'=>'post-ticket-reply/'.$id.'#formabc']) !!}
|
||||
{!! Form::open(['url' => 'post-ticket-reply/' . $id . '#formabc']) !!}
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group " style="background-color: white">
|
||||
<textarea class="form-control" id="reply-input" name="comment" cols="30" rows="8" ></textarea>
|
||||
<textarea class="form-control" id="reply-input" name="comment" cols="30" rows="8"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
|
||||
<button type="submit" onClick="return checkFunction();" class="btn btn-custom btn-lg" style="background-color: #009aba; hov: #00c0ef; color: #fff">{!! Lang::get('lang.post_comment') !!}</button>
|
||||
<button type="submit" onClick="return checkFunction();" class="btn btn-custom btn-lg"
|
||||
style="background-color: #009aba; hov: #00c0ef; color: #fff">{!! Lang::get('lang.post_comment') !!}</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
function checkFunction() {
|
||||
var x;
|
||||
x = document.getElementById("reply-input").value;
|
||||
if (x == "") {
|
||||
alert("{{Lang::get('lang.reply-can-not-be-empty')}}");
|
||||
alert("{{ Lang::get('lang.reply-can-not-be-empty') }}");
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
$("#cc_page").on('click', '.search_r', function () {
|
||||
$("#cc_page").on('click', '.search_r', function() {
|
||||
var search_r = $('a', this).attr('id');
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "../ticket/status/{{$tickets->id}}/" + search_r,
|
||||
beforeSend: function () {
|
||||
url: "../ticket/status/{{ $tickets->id }}/" + search_r,
|
||||
beforeSend: function() {
|
||||
$("#refresh").hide();
|
||||
$("#loader").show();
|
||||
},
|
||||
success: function (response) {
|
||||
success: function(response) {
|
||||
$("#refresh").load("../check_ticket/{!! $id !!} #refresh");
|
||||
$("#refresh").show();
|
||||
$("#loader").hide();
|
||||
var message = response;
|
||||
$("#alert11").show();
|
||||
$('#message-success1').html(message);
|
||||
setInterval(function () {
|
||||
setInterval(function() {
|
||||
$("#alert11").hide();
|
||||
}, 4000);
|
||||
}
|
||||
@@ -550,19 +604,19 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
return false;
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).ready(function() {
|
||||
var Data = $('input[name="rating"]:checked').val();
|
||||
var Data2 = $('input[name="rating2"]:checked').val();
|
||||
if (Data) {
|
||||
$('input[name=rating]').rating('readOnly');
|
||||
jQuery('.star').attr('disabled', true);
|
||||
}
|
||||
$('.star').change(function () {
|
||||
$('.star').change(function() {
|
||||
$('#foo').submit();
|
||||
$('.foo2').submit();
|
||||
});
|
||||
// process the form
|
||||
$('#foo').submit(function (event) {
|
||||
$('#foo').submit(function(event) {
|
||||
// get the form data
|
||||
// there are many ways to get this data using jQuery (you can use the class or id also)
|
||||
var formData = $(this).serialize();
|
||||
@@ -570,18 +624,17 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
// process the form
|
||||
$.ajax({
|
||||
type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
|
||||
url: '../rating/' +<?php echo $tickets->id ?>, // the url where we want to POST
|
||||
url: '../rating/' + <?php echo $tickets->id; ?>, // the url where we want to POST
|
||||
data: formData, // our data object
|
||||
dataType: 'json', // what type of data do we expect back from the server
|
||||
success: function () {
|
||||
}
|
||||
success: function() {}
|
||||
});
|
||||
// using the done promise callback
|
||||
// stop the form from submitting the normal way and refreshing the page
|
||||
event.preventDefault();
|
||||
});
|
||||
// process the form
|
||||
$('.foo2').submit(function (event) {
|
||||
$('.foo2').submit(function(event) {
|
||||
// get the form data
|
||||
// there are many ways to get this data using jQuery (you can use the class or id also)
|
||||
var formData = $(this).serialize();
|
||||
@@ -589,11 +642,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
// process the form
|
||||
$.ajax({
|
||||
type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
|
||||
url: '../rating2/' +<?php echo $tickets->id ?>, // the url where we want to POST
|
||||
url: '../rating2/' + <?php echo $tickets->id; ?>, // the url where we want to POST
|
||||
data: formData, // our data object
|
||||
dataType: 'json', // what type of data do we expect back from the server
|
||||
success: function () {
|
||||
}
|
||||
success: function() {}
|
||||
});
|
||||
// using the done promise callback
|
||||
// stop the form from submitting the normal way and refreshing the page
|
||||
@@ -602,7 +654,7 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
});
|
||||
|
||||
$(function() {
|
||||
//Add text editor
|
||||
//Add text editor
|
||||
$("textarea").summernote({
|
||||
height: 300,
|
||||
tabsize: 2,
|
||||
@@ -615,62 +667,70 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
['height', ['height']]
|
||||
]
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function () {
|
||||
jQuery(document).ready(function() {
|
||||
// Close a ticket
|
||||
$('#close').on('click', function (e) {
|
||||
$('#close').on('click', function(e) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../ticket/close/{{$tickets->id}}",
|
||||
data:{"_token": "{{ csrf_token() }}"},
|
||||
beforeSend: function () {
|
||||
url: "../ticket/close/{{ $tickets->id }}",
|
||||
data: {
|
||||
"_token": "{{ csrf_token() }}"
|
||||
},
|
||||
beforeSend: function() {
|
||||
$("#refresh").hide();
|
||||
$("#loader").show();
|
||||
},
|
||||
success: function (response) {
|
||||
$("#refresh").load("../check_ticket/{!! $id !!} #refresh");
|
||||
success: function(response) {
|
||||
$("#refresh").load(
|
||||
"../check_ticket/{!! $id !!} #refresh");
|
||||
$("#refresh").show();
|
||||
$("#loader").hide();
|
||||
$("#d1").trigger("click");
|
||||
var message = "Success! Your Ticket have been Closed";
|
||||
$("#alert11").show();
|
||||
$('#message-success1').html(message);
|
||||
setInterval(function(){
|
||||
setInterval(function() {
|
||||
$("#alert11").hide();
|
||||
setTimeout(function() {
|
||||
var link = document.querySelector('#load-inbox');
|
||||
if(link) {
|
||||
var link = document.querySelector(
|
||||
'#load-inbox');
|
||||
if (link) {
|
||||
link.click();
|
||||
}
|
||||
}, 500);
|
||||
},2000);
|
||||
}, 2000);
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
// Resolved a ticket
|
||||
$('#resolved').on('click', function (e) {
|
||||
$('#resolved').on('click', function(e) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../ticket/resolve/{{$tickets->id}}",
|
||||
data:{"_token": "{{ csrf_token() }}"},
|
||||
beforeSend: function () {
|
||||
url: "../ticket/resolve/{{ $tickets->id }}",
|
||||
data: {
|
||||
"_token": "{{ csrf_token() }}"
|
||||
},
|
||||
beforeSend: function() {
|
||||
$("#refresh").hide();
|
||||
$("#loader").show();
|
||||
},
|
||||
success: function (response) {
|
||||
$("#refresh").load("../check_ticket/{!! $id !!} #refresh");
|
||||
success: function(response) {
|
||||
$("#refresh").load(
|
||||
"../check_ticket/{!! $id !!} #refresh");
|
||||
$("#refresh").show();
|
||||
$("#loader").hide();
|
||||
var message = "Success! Your Ticket have been Resolved";
|
||||
$("#alert11").show();
|
||||
$('#message-success1').html(message);
|
||||
setInterval(function () {
|
||||
setInterval(function() {
|
||||
$("#alert11").hide();
|
||||
setTimeout(function () {
|
||||
var link = document.querySelector('#load-inbox');
|
||||
setTimeout(function() {
|
||||
var link = document.querySelector(
|
||||
'#load-inbox');
|
||||
if (link) {
|
||||
link.click();
|
||||
}
|
||||
@@ -682,24 +742,27 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
});
|
||||
|
||||
// Open a ticket
|
||||
$('#open').on('click', function (e) {
|
||||
$('#open').on('click', function(e) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../ticket/open/{{$tickets->id}}",
|
||||
data:{"_token": "{{ csrf_token() }}"},
|
||||
beforeSend: function () {
|
||||
url: "../ticket/open/{{ $tickets->id }}",
|
||||
data: {
|
||||
"_token": "{{ csrf_token() }}"
|
||||
},
|
||||
beforeSend: function() {
|
||||
$("#refresh").hide();
|
||||
$("#loader").show();
|
||||
},
|
||||
success: function (response) {
|
||||
$("#refresh").load("../check_ticket/{!! $id !!} #refresh");
|
||||
success: function(response) {
|
||||
$("#refresh").load(
|
||||
"../check_ticket/{!! $id !!} #refresh");
|
||||
$("#refresh").show();
|
||||
$("#loader").hide();
|
||||
|
||||
var message = "Success! Your Ticket have been Opened";
|
||||
$("#alert11").show();
|
||||
$('#message-success1').html(message);
|
||||
setInterval(function () {
|
||||
setInterval(function() {
|
||||
$("#alert11").hide();
|
||||
}, 4000);
|
||||
}
|
||||
@@ -707,5 +770,5 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
@stop
|
187
resources/views/themes/default1/client/helpdesk/form.blade.php
Executable file → Normal file
187
resources/views/themes/default1/client/helpdesk/form.blade.php
Executable file → Normal file
@@ -1,28 +1,29 @@
|
||||
@extends('themes.default1.client.layout.client')
|
||||
|
||||
@section('title')
|
||||
{!! Lang::get('lang.submit_a_ticket') !!} -
|
||||
{!! Lang::get('lang.submit_a_ticket') !!} -
|
||||
@stop
|
||||
|
||||
@section('submit')
|
||||
class = "nav-item active"
|
||||
class = "nav-item active"
|
||||
@stop
|
||||
<!-- breadcrumbs -->
|
||||
@section('breadcrumb')
|
||||
{{--<div class="site-hero clearfix">--}}
|
||||
{{-- <div class="site-hero clearfix"> --}}
|
||||
<ol class="breadcrumb float-sm-right ">
|
||||
<style>
|
||||
.words {
|
||||
margin-right: 10px; /* Adjust the value to increase or decrease the gap between list items */
|
||||
margin-right: 10px;
|
||||
/* Adjust the value to increase or decrease the gap between list items */
|
||||
}
|
||||
</style>
|
||||
<li class="breadcrumb-item"> <i class="fas fa-home"> </i> {!! Lang::get('lang.you_are_here') !!} : </li>
|
||||
<li><a class="words" href="{{url('/')}}">{!! Lang::get('lang.home') !!}</a></li>
|
||||
<li><a class="words" href="{{ url('/') }}">{!! Lang::get('lang.home') !!}</a></li>
|
||||
<li class="words" style="margin-right: 10px">></li>
|
||||
|
||||
<li><a href="{!! URL::route('form') !!}">{!! Lang::get('lang.submit_a_ticket') !!}</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
<!-- /breadcrumbs -->
|
||||
@section('check')
|
||||
@@ -38,7 +39,7 @@ class = "nav-item active"
|
||||
<i class="line"></i>{!! Lang::get('lang.have_a_ticket') !!}?
|
||||
</h2>
|
||||
|
||||
@if(Session::has('check'))
|
||||
@if (Session::has('check'))
|
||||
@if (count($errors) > 0)
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fa fa-ban"></i>
|
||||
@@ -52,12 +53,13 @@ class = "nav-item active"
|
||||
@endif
|
||||
|
||||
<div>
|
||||
{!! Form::open(['url' => 'checkmyticket' , 'method' => 'POST'] )!!}
|
||||
{!! Form::label('email',Lang::get('lang.email')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('email_address',null,['class' => 'form-control form-group']) !!}
|
||||
{!! Form::label('ticket_number',Lang::get('lang.ticket_number')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('ticket_number',null,['class' => 'form-control form-group']) !!}
|
||||
<button type="submit" class="btn btn-info" style=" border-color: rgb(0, 192, 239); background-color: rgb(0, 154, 186) !important; color: white">
|
||||
{!! Form::open(['url' => 'checkmyticket', 'method' => 'POST']) !!}
|
||||
{!! Form::label('email', Lang::get('lang.email')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('email_address', null, ['class' => 'form-control form-group']) !!}
|
||||
{!! Form::label('ticket_number', Lang::get('lang.ticket_number')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('ticket_number', null, ['class' => 'form-control form-group']) !!}
|
||||
<button type="submit" class="btn btn-info"
|
||||
style=" border-color: rgb(0, 192, 239); background-color: rgb(0, 154, 186) !important; color: white">
|
||||
<i class="fas fa-save"></i> {!! Lang::get('lang.check_ticket_status') !!}
|
||||
</button>
|
||||
{!! Form::close() !!}
|
||||
@@ -71,7 +73,7 @@ class = "nav-item active"
|
||||
|
||||
<div id="content" class="site-content col-md-9">
|
||||
|
||||
@if(Session::has('message'))
|
||||
@if (Session::has('message'))
|
||||
<div class="alert alert-success alert-dismissable">
|
||||
<i class="fas fa-check-circle"></i>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
@@ -79,10 +81,10 @@ class = "nav-item active"
|
||||
</div>
|
||||
@endif
|
||||
@if (count($errors) > 0)
|
||||
@if(Session::has('check'))
|
||||
@if (Session::has('check'))
|
||||
<?php goto a; ?>
|
||||
@endif
|
||||
@if(!Session::has('error'))
|
||||
@if (!Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fas fa-ban"></i>
|
||||
<b>{!! Lang::get('lang.alert') !!} !</b>
|
||||
@@ -101,8 +103,8 @@ class = "nav-item active"
|
||||
$encrypter = app('Illuminate\Encryption\Encrypter');
|
||||
$encrypted_token = $encrypter->encrypt(csrf_token());
|
||||
?>
|
||||
<input id="token" type="hidden" value="{{$encrypted_token}}">
|
||||
{!! Form::open(['route'=>'client.form.post','method'=>'post', 'enctype'=>'multipart/form-data']) !!}
|
||||
<input id="token" type="hidden" value="{{ $encrypted_token }}">
|
||||
{!! Form::open(['route' => 'client.form.post', 'method' => 'post', 'enctype' => 'multipart/form-data']) !!}
|
||||
|
||||
<article class="hentry">
|
||||
|
||||
@@ -117,57 +119,57 @@ class = "nav-item active"
|
||||
|
||||
<div class="row mt-4">
|
||||
|
||||
@if(Auth::user())
|
||||
|
||||
{!! Form::hidden('Name',Auth::user()->user_name,['class' => 'form-control']) !!}
|
||||
|
||||
@if (Auth::user())
|
||||
{!! Form::hidden('Name', Auth::user()->user_name, ['class' => 'form-control']) !!}
|
||||
@else
|
||||
|
||||
<div class="col-md-12 form-group {{ $errors->has('Name') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Name',Lang::get('lang.name')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('Name',null,['class' => 'form-control']) !!}
|
||||
{!! Form::label('Name', Lang::get('lang.name')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('Name', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(Auth::user())
|
||||
|
||||
{!! Form::hidden('Email',Auth::user()->email,['class' => 'form-control']) !!}
|
||||
@if (Auth::user())
|
||||
|
||||
{!! Form::hidden('Email', Auth::user()->email, ['class' => 'form-control']) !!}
|
||||
@else
|
||||
<div class="col-md-12 form-group {{ $errors->has('Email') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Email',Lang::get('lang.email')) !!}
|
||||
@if($email_mandatory->status == 1 || $email_mandatory->status == '1')
|
||||
{!! Form::label('Email', Lang::get('lang.email')) !!}
|
||||
@if ($email_mandatory->status == 1 || $email_mandatory->status == '1')
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
{!! Form::email('Email',null,['class' => 'form-control']) !!}
|
||||
{!! Form::email('Email', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(!Auth::user())
|
||||
@if (!Auth::user())
|
||||
|
||||
<div class="col-md-2 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Code',Lang::get('lang.country-code')) !!}
|
||||
@if($email_mandatory->status == 0 || $email_mandatory->status == '0')
|
||||
{!! Form::label('Code', Lang::get('lang.country-code')) !!}
|
||||
@if ($email_mandatory->status == 0 || $email_mandatory->status == '0')
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
|
||||
{!! Form::text('Code',null,['class' => 'form-control', 'placeholder' => $phonecode, 'title' => Lang::get('lang.enter-country-phone-code')]) !!}
|
||||
{!! Form::text('Code', null, [
|
||||
'class' => 'form-control',
|
||||
'placeholder' => $phonecode,
|
||||
'title' => Lang::get('lang.enter-country-phone-code'),
|
||||
]) !!}
|
||||
</div>
|
||||
<div class="col-md-5 form-group {{ $errors->has('mobile') ? 'has-error' : '' }}">
|
||||
{!! Form::label('mobile',Lang::get('lang.mobile_number')) !!}
|
||||
@if($email_mandatory->status == 0 || $email_mandatory->status == '0')
|
||||
{!! Form::label('mobile', Lang::get('lang.mobile_number')) !!}
|
||||
@if ($email_mandatory->status == 0 || $email_mandatory->status == '0')
|
||||
<span class="text-red"> *</span>
|
||||
@endif
|
||||
{!! Form::text('mobile',null,['class' => 'form-control']) !!}
|
||||
{!! Form::text('mobile', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="col-md-5 form-group {{ $errors->has('Phone') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Phone',Lang::get('lang.phone')) !!}
|
||||
{!! Form::text('Phone',null,['class' => 'form-control']) !!}
|
||||
{!! Form::label('Phone', Lang::get('lang.phone')) !!}
|
||||
{!! Form::text('Phone', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
@else
|
||||
{!! Form::hidden('mobile',Auth::user()->mobile,['class' => 'form-control']) !!}
|
||||
{!! Form::hidden('Code',Auth::user()->country_code,['class' => 'form-control']) !!}
|
||||
{!! Form::hidden('Phone',Auth::user()->phone_number,['class' => 'form-control']) !!}
|
||||
{!! Form::hidden('mobile', Auth::user()->mobile, ['class' => 'form-control']) !!}
|
||||
{!! Form::hidden('Code', Auth::user()->country_code, ['class' => 'form-control']) !!}
|
||||
{!! Form::hidden('Phone', Auth::user()->phone_number, ['class' => 'form-control']) !!}
|
||||
|
||||
@endif
|
||||
<div class="col-md-12 form-group {{ $errors->has('help_topic') ? 'has-error' : '' }}">
|
||||
@@ -176,33 +178,35 @@ class = "nav-item active"
|
||||
<?php
|
||||
$forms = App\Model\helpdesk\Form\Forms::get();
|
||||
$helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->get();
|
||||
// ?><!---->
|
||||
//
|
||||
?><!---->
|
||||
<select name="helptopic" class="form-control" id="selectid">
|
||||
|
||||
@foreach($helptopic as $topic)
|
||||
@foreach ($helptopic as $topic)
|
||||
<option value="{!! $topic->id !!}">{!! $topic->topic !!}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<!-- priority -->
|
||||
<?php
|
||||
$Priority = App\Model\helpdesk\Settings\CommonSettings::select('status')->where('option_name','=', 'user_priority')->first();
|
||||
$user_Priority=$Priority->status;
|
||||
$Priority = App\Model\helpdesk\Settings\CommonSettings::select('status')->where('option_name', '=', 'user_priority')->first();
|
||||
$user_Priority = $Priority->status;
|
||||
?>
|
||||
|
||||
@if(Auth::user())
|
||||
|
||||
@if(Auth::user()->active == 1)
|
||||
@if($user_Priority == 1)
|
||||
@if (Auth::user())
|
||||
|
||||
@if (Auth::user()->active == 1)
|
||||
@if ($user_Priority == 1)
|
||||
<div class="col-md-12 form-group">
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
<label>{!! Lang::get('lang.priority') !!}:</label>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status','=',1)->get(); ?>
|
||||
{!! Form::select('priority', ['Priority'=>$Priority->pluck('priority_desc','priority_id')->toArray()],null,['class' => 'form-control select']) !!}
|
||||
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status', '=', 1)->get(); ?>
|
||||
{!! Form::select('priority', ['Priority' => $Priority->pluck('priority_desc', 'priority_id')->toArray()], null, [
|
||||
'class' => 'form-control select',
|
||||
]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -210,15 +214,31 @@ class = "nav-item active"
|
||||
@endif
|
||||
@endif
|
||||
<div class="col-md-12 form-group {{ $errors->has('Subject') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Subject',Lang::get('lang.subject')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('Subject',null,['class' => 'form-control']) !!}
|
||||
{!! Form::label('Subject', Lang::get('lang.subject')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::text('Subject', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-2">
|
||||
<label for="location">Vị trí:</label>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<select name="location" class="form-control">
|
||||
<option value="">-- Chọn vị trí --</option>
|
||||
@foreach ($locations as $loc)
|
||||
<option value="{{ $loc->id }}"
|
||||
{{ old('location') == $loc->id ? 'selected' : '' }}>
|
||||
{{ $loc->locationname }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 form-group {{ $errors->has('Details') ? 'has-error' : '' }}">
|
||||
{!! Form::label('Details',Lang::get('lang.message')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::textarea('Details',null,['class' => 'form-control']) !!}
|
||||
{!! Form::label('Details', Lang::get('lang.message')) !!}<span class="text-red"> *</span>
|
||||
{!! Form::textarea('Details', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="col-md-12 form-group">
|
||||
<input type="file" name="attachment[]" multiple/><br/>
|
||||
<input type="file" name="attachment[]" multiple /><br />
|
||||
{!! Lang::get('lang.max') !!}. {!! $max_size_in_actual !!}
|
||||
</div>
|
||||
{{-- Event fire --}}
|
||||
@@ -226,7 +246,13 @@ class = "nav-item active"
|
||||
<div class="col-md-12" id="response"> </div>
|
||||
<div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div>
|
||||
<div class="col-md-12 form-group">
|
||||
{!! Form::button('<i class="fas fa-save"></i> ' . Lang::get('lang.submit'), ['type'=>'submit', 'class'=>'btn btn-info float-right', 'style'=>'style="border-color: rgb(0, 192, 239); background-color: rgb(0, 154, 186); color: white;', 'onclick' => 'this.disabled=true;this.innerHTML="Sending, please wait...";this.form.submit();', 'data-v-fce8d630']) !!}
|
||||
{!! Form::button('<i class="fas fa-save"></i> ' . Lang::get('lang.submit'), [
|
||||
'type' => 'submit',
|
||||
'class' => 'btn btn-info float-right',
|
||||
'style' => 'style="border-color: rgb(0, 192, 239); background-color: rgb(0, 154, 186); color: white;',
|
||||
'onclick' => 'this.disabled=true;this.innerHTML="Sending, please wait...";this.form.submit();',
|
||||
'data-v-fce8d630',
|
||||
]) !!}
|
||||
</div>
|
||||
<div class="col-md-12" id="response"> </div>
|
||||
<div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div>
|
||||
@@ -237,37 +263,40 @@ class = "nav-item active"
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
<!--
|
||||
|====================================================
|
||||
| SELECTED FORM STORED IN SCRIPT
|
||||
|====================================================
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
<!--
|
||||
|====================================================
|
||||
| SELECTED FORM STORED IN SCRIPT
|
||||
|====================================================
|
||||
-->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
var helpTopic = $("#selectid").val();
|
||||
send(helpTopic);
|
||||
$("#selectid").on("change",function(){
|
||||
$("#selectid").on("change", function() {
|
||||
helpTopic = $("#selectid").val();
|
||||
send(helpTopic);
|
||||
});
|
||||
function send(helpTopic){
|
||||
|
||||
function send(helpTopic) {
|
||||
$.ajax({
|
||||
url:"{{url('/get-helptopic-form')}}",
|
||||
data:{'helptopic':helpTopic},
|
||||
type:"GET",
|
||||
dataType:"html",
|
||||
success:function(response){
|
||||
url: "{{ url('/get-helptopic-form') }}",
|
||||
data: {
|
||||
'helptopic': helpTopic
|
||||
},
|
||||
type: "GET",
|
||||
dataType: "html",
|
||||
success: function(response) {
|
||||
$("#response").html(response);
|
||||
},
|
||||
error:function(response){
|
||||
error: function(response) {
|
||||
$("#response").html(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(function() {
|
||||
//Add text editor
|
||||
$(function() {
|
||||
//Add text editor
|
||||
$("textarea").summernote({
|
||||
height: 300,
|
||||
tabsize: 2,
|
||||
@@ -280,6 +309,6 @@ $(function() {
|
||||
['height', ['height']]
|
||||
]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
@stop
|
0
resources/views/themes/default1/client/helpdesk/guest-user/checkticket.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/guest-user/checkticket.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/guest-user/checkticket2.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/guest-user/checkticket2.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/guest-user/view_ticket.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/guest-user/view_ticket.blade.php
Executable file → Normal file
634
resources/views/themes/default1/client/helpdesk/ticket.blade.php
Executable file → Normal file
634
resources/views/themes/default1/client/helpdesk/ticket.blade.php
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
0
resources/views/themes/default1/client/helpdesk/unauth/showticket.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/helpdesk/unauth/showticket.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/kb/article-list/articles.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/kb/article-list/articles.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/kb/article-list/home.blade.php
Executable file → Normal file
0
resources/views/themes/default1/client/kb/article-list/home.blade.php
Executable file → Normal file
0
resources/views/vendor/Chumper/tickets-javascript.blade.php
vendored
Executable file → Normal file
0
resources/views/vendor/Chumper/tickets-javascript.blade.php
vendored
Executable file → Normal file
@@ -491,6 +491,7 @@ Route::middleware('web')->group(function () {
|
||||
| Here defining Guest User's routes
|
||||
|
|
||||
|
|
||||
|
||||
*/
|
||||
// seasrch
|
||||
// Route::POST('tickets/search/', function () {
|
||||
|
3
storage/clockwork/.gitignore
vendored
Normal file
3
storage/clockwork/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.json
|
||||
*.json.gz
|
||||
index
|
5
vendor/autoload.php
vendored
5
vendor/autoload.php
vendored
@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
|
||||
echo $err;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
$err,
|
||||
E_USER_ERROR
|
||||
);
|
||||
throw new RuntimeException($err);
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
0
vendor/aws/aws-crt-php/format-check.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/format-check.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/gen_stub.php
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/gen_stub.php
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/prepare_package_xml.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/prepare_package_xml.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/prepare_release.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/prepare_release.sh
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/run_tests
vendored
Executable file → Normal file
0
vendor/aws/aws-crt-php/run_tests
vendored
Executable file → Normal file
0
vendor/beyondcode/laravel-query-detector/src/QueryDetector.php
vendored
Executable file → Normal file
0
vendor/beyondcode/laravel-query-detector/src/QueryDetector.php
vendored
Executable file → Normal file
0
vendor/bin/carbon
vendored
Executable file → Normal file
0
vendor/bin/carbon
vendored
Executable file → Normal file
0
vendor/bin/doctrine-dbal
vendored
Executable file → Normal file
0
vendor/bin/doctrine-dbal
vendored
Executable file → Normal file
0
vendor/bin/jp.php
vendored
Executable file → Normal file
0
vendor/bin/jp.php
vendored
Executable file → Normal file
0
vendor/bin/patch-type-declarations
vendored
Executable file → Normal file
0
vendor/bin/patch-type-declarations
vendored
Executable file → Normal file
0
vendor/bin/php-parse
vendored
Executable file → Normal file
0
vendor/bin/php-parse
vendored
Executable file → Normal file
0
vendor/bin/phpspec
vendored
Executable file → Normal file
0
vendor/bin/phpspec
vendored
Executable file → Normal file
0
vendor/bin/phpunit
vendored
Executable file → Normal file
0
vendor/bin/phpunit
vendored
Executable file → Normal file
0
vendor/bin/pint
vendored
Executable file → Normal file
0
vendor/bin/pint
vendored
Executable file → Normal file
0
vendor/bin/psysh
vendored
Executable file → Normal file
0
vendor/bin/psysh
vendored
Executable file → Normal file
0
vendor/bin/var-dump-server
vendored
Executable file → Normal file
0
vendor/bin/var-dump-server
vendored
Executable file → Normal file
0
vendor/bin/yaml-lint
vendored
Executable file → Normal file
0
vendor/bin/yaml-lint
vendored
Executable file → Normal file
0
vendor/bugsnag/bugsnag/packer.sh
vendored
Executable file → Normal file
0
vendor/bugsnag/bugsnag/packer.sh
vendored
Executable file → Normal file
1
vendor/composer/autoload_classmap.php
vendored
1
vendor/composer/autoload_classmap.php
vendored
@@ -31,6 +31,7 @@ return array(
|
||||
'AWS\\CRT\\Options' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
|
||||
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'Database\\Seeders\\LocationSeeder' => $baseDir . '/database/seeders/LocationSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\DatabaseSeeder' => $baseDir . '/database/seeders/v_2_0_0/DatabaseSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\OutboundMailSeeder' => $baseDir . '/database/seeders/v_2_0_0/OutboundMailSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\TicketSourceSeeder' => $baseDir . '/database/seeders/v_2_0_0/TicketSourceSeeder.php',
|
||||
|
2
vendor/composer/autoload_psr4.php
vendored
2
vendor/composer/autoload_psr4.php
vendored
@@ -7,7 +7,7 @@ $baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'voku\\' => array($vendorDir . '/voku/portable-ascii/src/voku'),
|
||||
'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src'),
|
||||
'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src', $vendorDir . '/phpdocumentor/reflection-common/src'),
|
||||
'libphonenumber\\' => array($vendorDir . '/giggsey/libphonenumber-for-php/src'),
|
||||
'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'),
|
||||
'Zend\\Validator\\' => array($vendorDir . '/zendframework/zend-validator/src'),
|
||||
|
7
vendor/composer/autoload_static.php
vendored
7
vendor/composer/autoload_static.php
vendored
@@ -277,9 +277,9 @@ class ComposerStaticInit10c1836cea18dd9470bc2e97275d9d56
|
||||
),
|
||||
'phpDocumentor\\Reflection\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src',
|
||||
1 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src',
|
||||
2 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src',
|
||||
0 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src',
|
||||
1 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src',
|
||||
2 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src',
|
||||
),
|
||||
'libphonenumber\\' =>
|
||||
array (
|
||||
@@ -1001,6 +1001,7 @@ class ComposerStaticInit10c1836cea18dd9470bc2e97275d9d56
|
||||
'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
|
||||
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'Database\\Seeders\\LocationSeeder' => __DIR__ . '/../..' . '/database/seeders/LocationSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\DatabaseSeeder' => __DIR__ . '/../..' . '/database/seeders/v_2_0_0/DatabaseSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\OutboundMailSeeder' => __DIR__ . '/../..' . '/database/seeders/v_2_0_0/OutboundMailSeeder.php',
|
||||
'Database\\Seeders\\v_2_0_0\\TicketSourceSeeder' => __DIR__ . '/../..' . '/database/seeders/v_2_0_0/TicketSourceSeeder.php',
|
||||
|
5
vendor/composer/platform_check.php
vendored
5
vendor/composer/platform_check.php
vendored
@@ -19,8 +19,7 @@ if ($issues) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
throw new \RuntimeException(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues)
|
||||
);
|
||||
}
|
||||
|
0
vendor/davibennun/laravel-push-notification/src/Davibennun/LaravelPushNotification/App.php
vendored
Executable file → Normal file
0
vendor/davibennun/laravel-push-notification/src/Davibennun/LaravelPushNotification/App.php
vendored
Executable file → Normal file
0
vendor/doctrine/dbal/bin/doctrine-dbal
vendored
Executable file → Normal file
0
vendor/doctrine/dbal/bin/doctrine-dbal
vendored
Executable file → Normal file
572
vendor/dompdf/dompdf/lib/fonts/Times-Bold.afm.php
vendored
Normal file
572
vendor/dompdf/dompdf/lib/fonts/Times-Bold.afm.php
vendored
Normal file
@@ -0,0 +1,572 @@
|
||||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Times-Bold',
|
||||
'FullName' => 'Times Bold',
|
||||
'FamilyName' => 'Times',
|
||||
'Weight' => 'Bold',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-168',
|
||||
1 => '-218',
|
||||
2 => '1000',
|
||||
3 => '935',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.000',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '676',
|
||||
'XHeight' => '461',
|
||||
'Ascender' => '683',
|
||||
'Descender' => '-217',
|
||||
'StdHW' => '44',
|
||||
'StdVW' => '139',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 250.0,
|
||||
160 => 250.0,
|
||||
33 => 333.0,
|
||||
34 => 555.0,
|
||||
35 => 500.0,
|
||||
36 => 500.0,
|
||||
37 => 1000.0,
|
||||
38 => 833.0,
|
||||
146 => 333.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 500.0,
|
||||
43 => 570.0,
|
||||
44 => 250.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 250.0,
|
||||
47 => 278.0,
|
||||
48 => 500.0,
|
||||
49 => 500.0,
|
||||
50 => 500.0,
|
||||
51 => 500.0,
|
||||
52 => 500.0,
|
||||
53 => 500.0,
|
||||
54 => 500.0,
|
||||
55 => 500.0,
|
||||
56 => 500.0,
|
||||
57 => 500.0,
|
||||
58 => 333.0,
|
||||
59 => 333.0,
|
||||
60 => 570.0,
|
||||
61 => 570.0,
|
||||
62 => 570.0,
|
||||
63 => 500.0,
|
||||
64 => 930.0,
|
||||
65 => 722.0,
|
||||
66 => 667.0,
|
||||
67 => 722.0,
|
||||
68 => 722.0,
|
||||
69 => 667.0,
|
||||
70 => 611.0,
|
||||
71 => 778.0,
|
||||
72 => 778.0,
|
||||
73 => 389.0,
|
||||
74 => 500.0,
|
||||
75 => 778.0,
|
||||
76 => 667.0,
|
||||
77 => 944.0,
|
||||
78 => 722.0,
|
||||
79 => 778.0,
|
||||
80 => 611.0,
|
||||
81 => 778.0,
|
||||
82 => 722.0,
|
||||
83 => 556.0,
|
||||
84 => 667.0,
|
||||
85 => 722.0,
|
||||
86 => 722.0,
|
||||
87 => 1000.0,
|
||||
88 => 722.0,
|
||||
89 => 722.0,
|
||||
90 => 667.0,
|
||||
91 => 333.0,
|
||||
92 => 278.0,
|
||||
93 => 333.0,
|
||||
94 => 581.0,
|
||||
95 => 500.0,
|
||||
145 => 333.0,
|
||||
97 => 500.0,
|
||||
98 => 556.0,
|
||||
99 => 444.0,
|
||||
100 => 556.0,
|
||||
101 => 444.0,
|
||||
102 => 333.0,
|
||||
103 => 500.0,
|
||||
104 => 556.0,
|
||||
105 => 278.0,
|
||||
106 => 333.0,
|
||||
107 => 556.0,
|
||||
108 => 278.0,
|
||||
109 => 833.0,
|
||||
110 => 556.0,
|
||||
111 => 500.0,
|
||||
112 => 556.0,
|
||||
113 => 556.0,
|
||||
114 => 444.0,
|
||||
115 => 389.0,
|
||||
116 => 333.0,
|
||||
117 => 556.0,
|
||||
118 => 500.0,
|
||||
119 => 722.0,
|
||||
120 => 500.0,
|
||||
121 => 500.0,
|
||||
122 => 444.0,
|
||||
123 => 394.0,
|
||||
124 => 220.0,
|
||||
125 => 394.0,
|
||||
126 => 520.0,
|
||||
161 => 333.0,
|
||||
162 => 500.0,
|
||||
163 => 500.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 500.0,
|
||||
131 => 500.0,
|
||||
167 => 500.0,
|
||||
164 => 500.0,
|
||||
39 => 278.0,
|
||||
147 => 500.0,
|
||||
171 => 500.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 556.0,
|
||||
'fl' => 556.0,
|
||||
150 => 500.0,
|
||||
134 => 500.0,
|
||||
135 => 500.0,
|
||||
183 => 250.0,
|
||||
182 => 540.0,
|
||||
149 => 350.0,
|
||||
130 => 333.0,
|
||||
132 => 500.0,
|
||||
148 => 500.0,
|
||||
187 => 500.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 500.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 1000.0,
|
||||
170 => 300.0,
|
||||
'Lslash' => 667.0,
|
||||
216 => 778.0,
|
||||
140 => 1000.0,
|
||||
186 => 330.0,
|
||||
230 => 722.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 278.0,
|
||||
248 => 500.0,
|
||||
156 => 722.0,
|
||||
223 => 556.0,
|
||||
207 => 389.0,
|
||||
233 => 444.0,
|
||||
'abreve' => 500.0,
|
||||
'uhungarumlaut' => 556.0,
|
||||
'ecaron' => 444.0,
|
||||
159 => 722.0,
|
||||
247 => 570.0,
|
||||
221 => 722.0,
|
||||
194 => 722.0,
|
||||
225 => 500.0,
|
||||
219 => 722.0,
|
||||
253 => 500.0,
|
||||
'scommaaccent' => 389.0,
|
||||
234 => 444.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 500.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 556.0,
|
||||
203 => 667.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 747.0,
|
||||
'Emacron' => 667.0,
|
||||
'ccaron' => 444.0,
|
||||
229 => 500.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 278.0,
|
||||
224 => 500.0,
|
||||
'Tcommaaccent' => 667.0,
|
||||
'Cacute' => 722.0,
|
||||
227 => 500.0,
|
||||
'Edotaccent' => 667.0,
|
||||
154 => 389.0,
|
||||
'scedilla' => 389.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 494.0,
|
||||
'Rcaron' => 722.0,
|
||||
'Gcommaaccent' => 778.0,
|
||||
251 => 556.0,
|
||||
226 => 500.0,
|
||||
'Amacron' => 722.0,
|
||||
'rcaron' => 444.0,
|
||||
231 => 444.0,
|
||||
'Zdotaccent' => 667.0,
|
||||
222 => 611.0,
|
||||
'Omacron' => 778.0,
|
||||
'Racute' => 722.0,
|
||||
'Sacute' => 556.0,
|
||||
'dcaron' => 672.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 556.0,
|
||||
179 => 300.0,
|
||||
210 => 778.0,
|
||||
192 => 722.0,
|
||||
'Abreve' => 722.0,
|
||||
215 => 570.0,
|
||||
250 => 556.0,
|
||||
'Tcaron' => 667.0,
|
||||
'partialdiff' => 494.0,
|
||||
255 => 500.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 667.0,
|
||||
228 => 500.0,
|
||||
235 => 444.0,
|
||||
'cacute' => 444.0,
|
||||
'nacute' => 556.0,
|
||||
'umacron' => 556.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 389.0,
|
||||
177 => 570.0,
|
||||
166 => 220.0,
|
||||
174 => 747.0,
|
||||
'Gbreve' => 778.0,
|
||||
'Idotaccent' => 389.0,
|
||||
'summation' => 600.0,
|
||||
200 => 667.0,
|
||||
'racute' => 444.0,
|
||||
'omacron' => 500.0,
|
||||
'Zacute' => 667.0,
|
||||
142 => 667.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 722.0,
|
||||
'lcommaaccent' => 278.0,
|
||||
'tcaron' => 416.0,
|
||||
'eogonek' => 444.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 722.0,
|
||||
196 => 722.0,
|
||||
232 => 444.0,
|
||||
'zacute' => 444.0,
|
||||
'iogonek' => 278.0,
|
||||
211 => 778.0,
|
||||
243 => 500.0,
|
||||
'amacron' => 500.0,
|
||||
'sacute' => 389.0,
|
||||
239 => 278.0,
|
||||
212 => 778.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 556.0,
|
||||
178 => 300.0,
|
||||
214 => 778.0,
|
||||
181 => 556.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 500.0,
|
||||
'Eogonek' => 667.0,
|
||||
'dcroat' => 556.0,
|
||||
190 => 750.0,
|
||||
'Scedilla' => 556.0,
|
||||
'lcaron' => 394.0,
|
||||
'Kcommaaccent' => 778.0,
|
||||
'Lacute' => 667.0,
|
||||
153 => 1000.0,
|
||||
'edotaccent' => 444.0,
|
||||
204 => 389.0,
|
||||
'Imacron' => 389.0,
|
||||
'Lcaron' => 667.0,
|
||||
189 => 750.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 500.0,
|
||||
241 => 556.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 667.0,
|
||||
'emacron' => 444.0,
|
||||
'gbreve' => 500.0,
|
||||
188 => 750.0,
|
||||
138 => 556.0,
|
||||
'Scommaaccent' => 556.0,
|
||||
'Ohungarumlaut' => 778.0,
|
||||
176 => 400.0,
|
||||
242 => 500.0,
|
||||
'Ccaron' => 722.0,
|
||||
249 => 556.0,
|
||||
'radical' => 549.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 444.0,
|
||||
209 => 722.0,
|
||||
245 => 500.0,
|
||||
'Rcommaaccent' => 722.0,
|
||||
'Lcommaaccent' => 667.0,
|
||||
195 => 722.0,
|
||||
'Aogonek' => 722.0,
|
||||
197 => 722.0,
|
||||
213 => 778.0,
|
||||
'zdotaccent' => 444.0,
|
||||
'Ecaron' => 667.0,
|
||||
'Iogonek' => 389.0,
|
||||
'kcommaaccent' => 556.0,
|
||||
'minus' => 570.0,
|
||||
206 => 389.0,
|
||||
'ncaron' => 556.0,
|
||||
'tcommaaccent' => 333.0,
|
||||
172 => 570.0,
|
||||
246 => 500.0,
|
||||
252 => 556.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 500.0,
|
||||
240 => 500.0,
|
||||
158 => 444.0,
|
||||
'ncommaaccent' => 556.0,
|
||||
185 => 300.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 500.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
572
vendor/dompdf/dompdf/lib/fonts/Times-Roman.afm.php
vendored
Normal file
572
vendor/dompdf/dompdf/lib/fonts/Times-Roman.afm.php
vendored
Normal file
@@ -0,0 +1,572 @@
|
||||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Times-Roman',
|
||||
'FullName' => 'Times Roman',
|
||||
'FamilyName' => 'Times',
|
||||
'Weight' => 'Roman',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-168',
|
||||
1 => '-218',
|
||||
2 => '1000',
|
||||
3 => '898',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.00',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '662',
|
||||
'XHeight' => '450',
|
||||
'Ascender' => '683',
|
||||
'Descender' => '-217',
|
||||
'StdHW' => '28',
|
||||
'StdVW' => '84',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 250.0,
|
||||
160 => 250.0,
|
||||
33 => 333.0,
|
||||
34 => 408.0,
|
||||
35 => 500.0,
|
||||
36 => 500.0,
|
||||
37 => 833.0,
|
||||
38 => 778.0,
|
||||
146 => 333.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 500.0,
|
||||
43 => 564.0,
|
||||
44 => 250.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 250.0,
|
||||
47 => 278.0,
|
||||
48 => 500.0,
|
||||
49 => 500.0,
|
||||
50 => 500.0,
|
||||
51 => 500.0,
|
||||
52 => 500.0,
|
||||
53 => 500.0,
|
||||
54 => 500.0,
|
||||
55 => 500.0,
|
||||
56 => 500.0,
|
||||
57 => 500.0,
|
||||
58 => 278.0,
|
||||
59 => 278.0,
|
||||
60 => 564.0,
|
||||
61 => 564.0,
|
||||
62 => 564.0,
|
||||
63 => 444.0,
|
||||
64 => 921.0,
|
||||
65 => 722.0,
|
||||
66 => 667.0,
|
||||
67 => 667.0,
|
||||
68 => 722.0,
|
||||
69 => 611.0,
|
||||
70 => 556.0,
|
||||
71 => 722.0,
|
||||
72 => 722.0,
|
||||
73 => 333.0,
|
||||
74 => 389.0,
|
||||
75 => 722.0,
|
||||
76 => 611.0,
|
||||
77 => 889.0,
|
||||
78 => 722.0,
|
||||
79 => 722.0,
|
||||
80 => 556.0,
|
||||
81 => 722.0,
|
||||
82 => 667.0,
|
||||
83 => 556.0,
|
||||
84 => 611.0,
|
||||
85 => 722.0,
|
||||
86 => 722.0,
|
||||
87 => 944.0,
|
||||
88 => 722.0,
|
||||
89 => 722.0,
|
||||
90 => 611.0,
|
||||
91 => 333.0,
|
||||
92 => 278.0,
|
||||
93 => 333.0,
|
||||
94 => 469.0,
|
||||
95 => 500.0,
|
||||
145 => 333.0,
|
||||
97 => 444.0,
|
||||
98 => 500.0,
|
||||
99 => 444.0,
|
||||
100 => 500.0,
|
||||
101 => 444.0,
|
||||
102 => 333.0,
|
||||
103 => 500.0,
|
||||
104 => 500.0,
|
||||
105 => 278.0,
|
||||
106 => 278.0,
|
||||
107 => 500.0,
|
||||
108 => 278.0,
|
||||
109 => 778.0,
|
||||
110 => 500.0,
|
||||
111 => 500.0,
|
||||
112 => 500.0,
|
||||
113 => 500.0,
|
||||
114 => 333.0,
|
||||
115 => 389.0,
|
||||
116 => 278.0,
|
||||
117 => 500.0,
|
||||
118 => 500.0,
|
||||
119 => 722.0,
|
||||
120 => 500.0,
|
||||
121 => 500.0,
|
||||
122 => 444.0,
|
||||
123 => 480.0,
|
||||
124 => 200.0,
|
||||
125 => 480.0,
|
||||
126 => 541.0,
|
||||
161 => 333.0,
|
||||
162 => 500.0,
|
||||
163 => 500.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 500.0,
|
||||
131 => 500.0,
|
||||
167 => 500.0,
|
||||
164 => 500.0,
|
||||
39 => 180.0,
|
||||
147 => 444.0,
|
||||
171 => 500.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 556.0,
|
||||
'fl' => 556.0,
|
||||
150 => 500.0,
|
||||
134 => 500.0,
|
||||
135 => 500.0,
|
||||
183 => 250.0,
|
||||
182 => 453.0,
|
||||
149 => 350.0,
|
||||
130 => 333.0,
|
||||
132 => 444.0,
|
||||
148 => 444.0,
|
||||
187 => 500.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 444.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 889.0,
|
||||
170 => 276.0,
|
||||
'Lslash' => 611.0,
|
||||
216 => 722.0,
|
||||
140 => 889.0,
|
||||
186 => 310.0,
|
||||
230 => 667.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 278.0,
|
||||
248 => 500.0,
|
||||
156 => 722.0,
|
||||
223 => 500.0,
|
||||
207 => 333.0,
|
||||
233 => 444.0,
|
||||
'abreve' => 444.0,
|
||||
'uhungarumlaut' => 500.0,
|
||||
'ecaron' => 444.0,
|
||||
159 => 722.0,
|
||||
247 => 564.0,
|
||||
221 => 722.0,
|
||||
194 => 722.0,
|
||||
225 => 444.0,
|
||||
219 => 722.0,
|
||||
253 => 500.0,
|
||||
'scommaaccent' => 389.0,
|
||||
234 => 444.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 444.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 500.0,
|
||||
203 => 611.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 760.0,
|
||||
'Emacron' => 611.0,
|
||||
'ccaron' => 444.0,
|
||||
229 => 444.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 278.0,
|
||||
224 => 444.0,
|
||||
'Tcommaaccent' => 611.0,
|
||||
'Cacute' => 667.0,
|
||||
227 => 444.0,
|
||||
'Edotaccent' => 611.0,
|
||||
154 => 389.0,
|
||||
'scedilla' => 389.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 471.0,
|
||||
'Rcaron' => 667.0,
|
||||
'Gcommaaccent' => 722.0,
|
||||
251 => 500.0,
|
||||
226 => 444.0,
|
||||
'Amacron' => 722.0,
|
||||
'rcaron' => 333.0,
|
||||
231 => 444.0,
|
||||
'Zdotaccent' => 611.0,
|
||||
222 => 556.0,
|
||||
'Omacron' => 722.0,
|
||||
'Racute' => 667.0,
|
||||
'Sacute' => 556.0,
|
||||
'dcaron' => 588.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 500.0,
|
||||
179 => 300.0,
|
||||
210 => 722.0,
|
||||
192 => 722.0,
|
||||
'Abreve' => 722.0,
|
||||
215 => 564.0,
|
||||
250 => 500.0,
|
||||
'Tcaron' => 611.0,
|
||||
'partialdiff' => 476.0,
|
||||
255 => 500.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 611.0,
|
||||
228 => 444.0,
|
||||
235 => 444.0,
|
||||
'cacute' => 444.0,
|
||||
'nacute' => 500.0,
|
||||
'umacron' => 500.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 333.0,
|
||||
177 => 564.0,
|
||||
166 => 200.0,
|
||||
174 => 760.0,
|
||||
'Gbreve' => 722.0,
|
||||
'Idotaccent' => 333.0,
|
||||
'summation' => 600.0,
|
||||
200 => 611.0,
|
||||
'racute' => 333.0,
|
||||
'omacron' => 500.0,
|
||||
'Zacute' => 611.0,
|
||||
142 => 611.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 667.0,
|
||||
'lcommaaccent' => 278.0,
|
||||
'tcaron' => 326.0,
|
||||
'eogonek' => 444.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 722.0,
|
||||
196 => 722.0,
|
||||
232 => 444.0,
|
||||
'zacute' => 444.0,
|
||||
'iogonek' => 278.0,
|
||||
211 => 722.0,
|
||||
243 => 500.0,
|
||||
'amacron' => 444.0,
|
||||
'sacute' => 389.0,
|
||||
239 => 278.0,
|
||||
212 => 722.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 500.0,
|
||||
178 => 300.0,
|
||||
214 => 722.0,
|
||||
181 => 500.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 500.0,
|
||||
'Eogonek' => 611.0,
|
||||
'dcroat' => 500.0,
|
||||
190 => 750.0,
|
||||
'Scedilla' => 556.0,
|
||||
'lcaron' => 344.0,
|
||||
'Kcommaaccent' => 722.0,
|
||||
'Lacute' => 611.0,
|
||||
153 => 980.0,
|
||||
'edotaccent' => 444.0,
|
||||
204 => 333.0,
|
||||
'Imacron' => 333.0,
|
||||
'Lcaron' => 611.0,
|
||||
189 => 750.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 500.0,
|
||||
241 => 500.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 611.0,
|
||||
'emacron' => 444.0,
|
||||
'gbreve' => 500.0,
|
||||
188 => 750.0,
|
||||
138 => 556.0,
|
||||
'Scommaaccent' => 556.0,
|
||||
'Ohungarumlaut' => 722.0,
|
||||
176 => 400.0,
|
||||
242 => 500.0,
|
||||
'Ccaron' => 667.0,
|
||||
249 => 500.0,
|
||||
'radical' => 453.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 333.0,
|
||||
209 => 722.0,
|
||||
245 => 500.0,
|
||||
'Rcommaaccent' => 667.0,
|
||||
'Lcommaaccent' => 611.0,
|
||||
195 => 722.0,
|
||||
'Aogonek' => 722.0,
|
||||
197 => 722.0,
|
||||
213 => 722.0,
|
||||
'zdotaccent' => 444.0,
|
||||
'Ecaron' => 611.0,
|
||||
'Iogonek' => 333.0,
|
||||
'kcommaaccent' => 500.0,
|
||||
'minus' => 564.0,
|
||||
206 => 333.0,
|
||||
'ncaron' => 500.0,
|
||||
'tcommaaccent' => 278.0,
|
||||
172 => 564.0,
|
||||
246 => 500.0,
|
||||
252 => 500.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 500.0,
|
||||
240 => 500.0,
|
||||
158 => 444.0,
|
||||
'ncommaaccent' => 500.0,
|
||||
185 => 300.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 500.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
0
vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
vendored
Executable file → Normal file
0
vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
vendored
Executable file → Normal file
0
vendor/flowjs/flow-php-server/phpunit
vendored
Executable file → Normal file
0
vendor/flowjs/flow-php-server/phpunit
vendored
Executable file → Normal file
0
vendor/intervention/image/src/Intervention/Image/ImageServiceProviderLaravel4.php
vendored
Executable file → Normal file
0
vendor/intervention/image/src/Intervention/Image/ImageServiceProviderLaravel4.php
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-linux
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-linux
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-mac
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-mac
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-win.exe
vendored
Executable file → Normal file
0
vendor/laravel/dusk/bin/chromedriver-win.exe
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php
vendored
Executable file → Normal file
0
vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php
vendored
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user