This commit is contained in:
2025-08-02 23:14:28 +07:00
parent 6568aa45f8
commit e075da48fd
403 changed files with 7813 additions and 4283 deletions

45
.lando.yml Normal file
View 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

View File

@@ -53,6 +53,7 @@ use Mail;
use UTC; use UTC;
use Vsmoraes\Pdf\PdfFacade; use Vsmoraes\Pdf\PdfFacade;
use Yajra\DataTables\Facades\DataTables; use Yajra\DataTables\Facades\DataTables;
use App\Model\helpdesk\Agent\Location;
/** /**
* TicketController. * TicketController.
@@ -80,6 +81,7 @@ class TicketController extends Controller
*/ */
public function newticket(CountryCode $code) public function newticket(CountryCode $code)
{ {
$locations = Location::all();
$location = GeoIP::getLocation(); $location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first(); $phonecode = $code->where('iso', '=', $location->iso_code)->first();
$pcode = ''; $pcode = '';
@@ -89,7 +91,7 @@ class TicketController extends Controller
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first(); $settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->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);
} }
/** /**
@@ -764,7 +766,8 @@ class TicketController extends Controller
$from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id), $from = $this->PhpMailController->mailfrom('0', $ticketdata->dept_id),
$to = ['name' => $username, 'email' => $emailadd], $to = ['name' => $username, 'email' => $emailadd],
$message = ['subject' => $updated_subject, 'scenario' => 'create-ticket'], $message = ['subject' => $updated_subject, 'scenario' => 'create-ticket'],
$template_variables = ['user' => $username, $template_variables = [
'user' => $username,
'ticket_number' => $ticket_number2, 'ticket_number' => $ticket_number2,
'department_sign' => '', 'department_sign' => '',
'system_link' => $link, 'system_link' => $link,
@@ -833,7 +836,8 @@ class TicketController extends Controller
], ],
$message = [ $message = [
'subject' => $updated_subject, 'subject' => $updated_subject,
'body' => $body, 'scenario' => $mail, 'body' => $body,
'scenario' => $mail,
], ],
$template_variables = [ $template_variables = [
'ticket_agent_name' => $email_data['to_user_name'], 'ticket_agent_name' => $email_data['to_user_name'],
@@ -842,7 +846,8 @@ class TicketController extends Controller
'user' => $email_data['to_user_name'], 'user' => $email_data['to_user_name'],
'ticket_number' => $ticket_number2, 'ticket_number' => $ticket_number2,
'email_address' => $emailadd, 'email_address' => $emailadd,
'name' => $ticket_creator, ] 'name' => $ticket_creator,
]
); );
} catch (\Exception $e) { } catch (\Exception $e) {
} }
@@ -2142,9 +2147,12 @@ class TicketController extends Controller
$email = $email; $email = $email;
$ticket_id = $ticket_id; $ticket_id = $ticket_id;
$validator = \Validator::make( $validator = \Validator::make(
['email' => $email, [
'name' => $name, ], 'email' => $email,
['email' => 'required|email', 'name' => $name,
],
[
'email' => 'required|email',
] ]
); );
$user = User::where('email', '=', $email)->first(); $user = User::where('email', '=', $email)->first();

View File

@@ -29,6 +29,7 @@ use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets; use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Utility\CountryCode; use App\Model\helpdesk\Utility\CountryCode;
use App\Model\helpdesk\Utility\Otp; use App\Model\helpdesk\Utility\Otp;
use App\Model\helpdesk\Agent\Department;
use App\User; use App\User;
// classes // classes
use Auth; use Auth;
@@ -737,11 +738,13 @@ class UserController extends Controller
$phonecode = $code->where('iso', '=', $location->iso_code)->first(); $phonecode = $code->where('iso', '=', $location->iso_code)->first();
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first(); $settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$status = $settings->status; $status = $settings->status;
$departments = Department::all();
try { try {
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user')) return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user', 'departments'))
->with(['phonecode' => $phonecode->phonecode, ->with([
'verify' => $status, ]); 'phonecode' => $phonecode->phonecode,
'verify' => $status,
]);
} catch (Exception $e) { } catch (Exception $e) {
return redirect()->back()->with('fails', $e->getMessage()); return redirect()->back()->with('fails', $e->getMessage());
} }

View File

@@ -21,6 +21,7 @@ use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets; use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Utility\CountryCode; use App\Model\helpdesk\Utility\CountryCode;
use App\User; use App\User;
use App\Model\helpdesk\Agent\Location;
use Exception; use Exception;
// classes // classes
use Form; use Form;
@@ -64,6 +65,7 @@ class FormController extends Controller
*/ */
public function getForm(Help_topic $topic, CountryCode $code) public function getForm(Help_topic $topic, CountryCode $code)
{ {
$locations = Location::all();
if (\Config::get('database.install') == '%0%') { if (\Config::get('database.install') == '%0%') {
return \Redirect::route('licence'); 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(); [$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 { } else {
return \Redirect::route('home'); return \Redirect::route('home');
} }

View File

0
app/Http/Controllers/Common/ApiSettings.php Executable file → Normal file
View File

View File

@@ -13,4 +13,9 @@ class Department extends BaseModel
'template_set', 'auto_ticket_response', 'auto_message_response', 'template_set', 'auto_ticket_response', 'auto_message_response',
'auto_response_email', 'recipient', 'group_access', 'department_sign', 'auto_response_email', 'recipient', 'group_access', 'department_sign',
]; ];
public function users()
{
return $this->hasMany(User::class, 'dept_id', 'id');
}
} }

View 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'];
}

View File

@@ -3,17 +3,46 @@
namespace App\Model\helpdesk\Ticket; namespace App\Model\helpdesk\Ticket;
use App\BaseModel; use App\BaseModel;
use App\Model\helpdesk\Agent\Location;
class Tickets extends BaseModel class Tickets extends BaseModel
{ {
protected $table = 'tickets'; 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() public function thread()
{ {
return $this->hasMany(\App\Model\helpdesk\Ticket\Ticket_Thread::class, 'ticket_id'); 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'); 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() public function extraFields()
{ {
$id = $this->attributes['id']; $id = $this->attributes['id'];

View File

@@ -8,6 +8,7 @@ use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Tymon\JWTAuth\Contracts\JWTSubject as AuthenticatableUserContract; use Tymon\JWTAuth\Contracts\JWTSubject as AuthenticatableUserContract;
use App\Model\helpdesk\Agent\Department;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract, AuthenticatableUserContract class User extends Model implements AuthenticatableContract, CanResetPasswordContract, AuthenticatableUserContract
{ {
@@ -26,10 +27,13 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
* *
* @var array * @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', 'phone_number', 'company', 'agent_sign', 'account_type', 'account_status',
'assign_group', 'primary_dpt', 'agent_tzone', 'daylight_save', 'limit_access', '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. * The attributes excluded from the model's JSON form.
@@ -175,6 +179,11 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
{ {
return $this->name(); 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) public function getFirstNameAttribute($value)
{ {

View File

@@ -101,6 +101,7 @@ return [
*/ */
'key' => env('APP_KEY', 'base64:h3KjrHeVxyE+j6c8whTAs2YI+7goylGZ/e2vElgXT6I='), 'key' => env('APP_KEY', 'base64:h3KjrHeVxyE+j6c8whTAs2YI+7goylGZ/e2vElgXT6I='),
'cipher' => 'AES-256-CBC', 'cipher' => 'AES-256-CBC',
'key' => 'base64:MwXqXnQ6V0nvPvN6cKybA2nKFtAyYv9FItYX0ZrB67g=', // dán key thật vào đây
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Logging Configuration | Logging Configuration

View File

@@ -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');
}
};

View File

@@ -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');
});
}
};

View File

@@ -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');
});
}
};

View 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
View File

0
lang/en/lang.php Executable file → Normal file
View File

0
lang/ru/datatables.php Executable file → Normal file
View File

0
lang/ru/lang.php Executable file → Normal file
View File

0
lang/ru/message.php Executable file → Normal file
View File

0
lang/ru/validation.php Executable file → Normal file
View 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
View 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' => '&laquo; Trước',
'next' => 'Tiếp &raquo;',
];

22
lang/vi/passwords.php Normal file
View 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
View 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
View File

0
phpunit.xml.bak Executable file → Normal file
View File

0
public/lb-faveo/css/bootstrap5.min.css vendored Executable file → Normal file
View File

0
public/lb-faveo/css/custom.css vendored Executable file → Normal file
View File

0
resources/views/auth/login.blade.php Executable file → Normal file
View File

View File

View File

@@ -134,7 +134,12 @@ class="active"
<span class="text-red"> *</span> <span class="text-red"> *</span>
@endif @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> </div>
<div class="col-md-5"> <div class="col-md-5">
@@ -185,7 +190,10 @@ class="active"
<label>{!! Lang::get('lang.help_topic') !!}:</label> <label>{!! Lang::get('lang.help_topic') !!}:</label>
<!-- helptopic --> <!-- helptopic -->
<?php $helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->select('topic', 'id')->get(); ?> <?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> </div>
<div class="col-md-3"> <div class="col-md-3">
@@ -193,7 +201,9 @@ class="active"
<div class="form-group"> <div class="form-group">
<label>{!! Lang::get('lang.sla_plan') !!}:</label> <label>{!! Lang::get('lang.sla_plan') !!}:</label>
<?php $sla_plan = App\Model\helpdesk\Manage\Sla_plan::where('status', '=', 1)->select('grace_period', 'id')->get(); ?> <?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> </div>
<div class="col-md-3"> <div class="col-md-3">
@@ -201,7 +211,8 @@ class="active"
<div class="form-group" id="duedate"> <div class="form-group" id="duedate">
<label>{!! Lang::get('lang.due_date') !!}:</label> <label>{!! Lang::get('lang.due_date') !!}:</label>
{!! Form::text('duedate', null, ['class' => 'form-control', 'id' => 'datemask']) !!} {!! 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> <button class="btn clear-input" id="duedates" style="display: none" type="button"><i
class="fas fa-times"></i></button>
</div> </div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
@@ -209,7 +220,12 @@ class="active"
<div class="form-group"> <div class="form-group">
<label>{!! Lang::get('lang.assign_to') !!}:</label> <label>{!! Lang::get('lang.assign_to') !!}:</label>
<?php $agents = App\User::where('role', '!=', 'user')->where('active', '=', 1)->get(); ?> <?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> </div>
<div id="response" class="col-md-6 form-group"></div> <div id="response" class="col-md-6 form-group"></div>
@@ -242,6 +258,23 @@ class="active"
</div> </div>
</div> </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' : '' }}"> <div class="form-group {{ $errors->has('body') ? 'has-error' : '' }}">
<!-- details --> <!-- details -->
<div class="row"> <div class="row">
@@ -249,7 +282,11 @@ class="active"
<label>{!! Lang::get('lang.detail') !!}:<span class="text-red"> *</span></label> <label>{!! Lang::get('lang.detail') !!}:<span class="text-red"> *</span></label>
</div> </div>
<div class="col-md-11"> <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>
</div> </div>
@@ -262,11 +299,17 @@ class="active"
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status', '=', 1)->get(); ?> <?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']) !!} {!! 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>
</div> </div>
</div> </div>
</div> </div>
@@ -275,7 +318,8 @@ class="active"
<div class="card-footer"> <div class="card-footer">
<div class="row"> <div class="row">
<div class="col-md-3"> <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>
</div> </div>
@@ -289,10 +333,13 @@ class="active"
helpTopic = $("#selectid").val(); helpTopic = $("#selectid").val();
send(helpTopic); send(helpTopic);
}); });
function send(helpTopic) { function send(helpTopic) {
$.ajax({ $.ajax({
url: "{{ url('/get-helptopic-form') }}", url: "{{ url('/get-helptopic-form') }}",
data: {'helptopic': helpTopic}, data: {
'helptopic': helpTopic
},
type: "GET", type: "GET",
dataType: "html", dataType: "html",
success: function(response) { success: function(response) {
@@ -330,7 +377,9 @@ class="active"
} else { } else {
$('#duedate').addClass("has-error"); $('#duedate').addClass("has-error");
$('#clear-up').remove(); $('#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'>&times;</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'>&times;</button> Invalid Due date</div></div>"
);
return false; return false;
} }
} }
@@ -383,6 +432,3 @@ class="active"
</script> </script>
@stop @stop

File diff suppressed because it is too large Load Diff

View File

@@ -33,7 +33,7 @@ class="nav-link active"
{{Session::get('fails')}} {{Session::get('fails')}}
</div> </div>
@endif @endif
gfggggdgd
@if(Session::has('errors')) @if(Session::has('errors'))
<div class="alert alert-danger alert-dismissable"> <div class="alert alert-danger alert-dismissable">
<i class="fas fa-ban"></i> <i class="fas fa-ban"></i>

View File

@@ -101,16 +101,16 @@ class="nav-link active"
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<!-- email address --> <label for="dept_id">Phòng ban</label>
{!! Form::label('email',Lang::get('lang.email_address')) !!} <select class="form-control" name="dept_id" id="dept_id" required>
<div> <option value="">-- Chọn phòng ban --</option>
{{$user->email}} @foreach ($departments as $department)
</div> <option value="{{ $department->id }}"
</div> {{ $user->dept_id == $department->id ? 'selected' : '' }}>
<div class="form-group {{ $errors->has('company') ? 'has-error' : '' }}"> {{ $department->name }}
<!-- company --> </option>
{!! Form::label('company',Lang::get('lang.company')) !!} @endforeach
{!! Form::text('company',null,['class' => 'form-control']) !!} </select>
</div> </div>
<div class="row"> <div class="row">
<!-- phone extension --> <!-- phone extension -->

View File

@@ -93,6 +93,12 @@ class="active"
</div> </div>
<div class="form-group row"> <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 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>
<div class="form-group row"> <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 class='col-sm-4'><label>{!! Lang::get('lang.role') !!}:</label></div> <div class='col-sm-7'> {{ $user->role }}</div>

View File

View File

View File

@@ -3,7 +3,8 @@
<style> <style>
.words { .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> </style>
@@ -42,25 +43,61 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
width: 0; 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;} .ml40 {
margin-left: -40px !important;
}
</style> </style>
<div id="content" class="site-content col-sm-12"> <div id="content" class="site-content col-sm-12">
@@ -82,10 +119,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<div class="col-sm-3 text-right"> <div class="col-sm-3 text-right">
@if ($common_setting->status == '1') @if ($common_setting->status == '1')
<div> <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> <i class="fas fa-exchange-alt" style="color:teal;"> </i>
@@ -129,7 +166,6 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<form id="foo"> <form id="foo">
{!! csrf_field() !!} {!! csrf_field() !!}
@foreach ($ratings as $rating) @foreach ($ratings as $rating)
@if ($rating->rating_area == 'Helpdesk Area') @if ($rating->rating_area == 'Helpdesk Area')
<?php <?php
$rating_value = App\Model\helpdesk\Ratings\RatingRef::where('rating_id', '=', $rating->id)->where('ticket_id', '=', $tickets->id)->first(); $rating_value = App\Model\helpdesk\Ratings\RatingRef::where('rating_id', '=', $rating->id)->where('ticket_id', '=', $tickets->id)->first();
@@ -142,12 +178,16 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<tr> <tr>
<th><div class="ticketratingtitle">{!! $rating->name !!} &nbsp;</div></th>&nbsp <th>
<div class="ticketratingtitle">{!! $rating->name !!} &nbsp;</div>
</th>&nbsp
<td> <td>
<?php for ($i = 1; $i <= $rating->rating_scale; $i++) { ?> <?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 } ?> <?php } ?>
</td> </td>
</tr> </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;"> <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>
<div id="refresh"> <div id="refresh">
@@ -218,17 +259,11 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<?php $status = App\Model\helpdesk\Ticket\Ticket_Status::where('id', '=', $tickets->status)->first(); ?> <?php $status = App\Model\helpdesk\Ticket\Ticket_Status::where('id', '=', $tickets->status)->first(); ?>
@if ($status->id == 1) @if ($status->id == 1)
<td title="{{ $status->properties }}" style="color:orange">{{ $status->name }}</td> <td title="{{ $status->properties }}" style="color:orange">{{ $status->name }}</td>
@elseif($status->id == 2) @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) @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 @endif
</tr> </tr>
@@ -239,17 +274,14 @@ $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(); ?> <?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $tickets->priority_id)->first(); ?>
@if ($priority->priority_id == 1) @if ($priority->priority_id == 1)
<td title="{{ $priority->priority_desc }}" style="color:green">
<td title="{{$priority->priority_desc}}" style="color:green">{{$priority->priority_desc}}</td> {{ $priority->priority_desc }}</td>
@elseif($priority->priority_id == 2) @elseif($priority->priority_id == 2)
<td title="{{ $priority->priority_desc }}" style="color:orange">
<td title="{{$priority->priority_desc}}" style="color:orange">{{$priority->priority_desc}}</td> {{ $priority->priority_desc }}</td>
@elseif($priority->priority_id == 3) @elseif($priority->priority_id == 3)
<td title="{{ $priority->priority_desc }}" style="color:red">
<td title="{{$priority->priority_desc}}" style="color:red">{{$priority->priority_desc}}</td> {{ $priority->priority_desc }}</td>
@endif @endif
</tr> </tr>
@@ -259,8 +291,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<?php <?php
$help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first(); $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(); $department = App\Model\helpdesk\Agent\Department::where('id', '=', $help_topic->department)->first();
$location = $tickets->location;
?> ?>
<td title="{{ $department->name }}">{!! $department->name !!}</td> <td title="{{ $department->name }}">{!! $department->name !!}</td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -284,10 +318,15 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<td>{{ ucwords($last->poster) }}</td> <td>{{ ucwords($last->poster) }}</td>
</tr> </tr>
<tr>
<td><b>Địa điểm:</b></td>
<td title="{{ $location->locationname }}">{!! $location->locationname !!}</td>
</tr>
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<div class="comments-area mb-0" id="comments"> <div class="comments-area mb-0" id="comments">
<?php <?php
@@ -305,18 +344,21 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<article class="comment-body"> <article class="comment-body">
<footer class="comment-meta" <footer class="comment-meta" <?php if ($role->role == "user") { ?>
<?php if ($role->role == "user") { ?> style="background-color: hsla(100, 100%, 51%, 0.15)" <?php } else { ?> style="background-color:#FFFCB3" <?php } ?> style="background-color: hsla(100, 100%, 51%, 0.15)" <?php } else { ?>
> style="background-color:#FFFCB3" <?php } ?>>
<div class="comment-author"> <div class="comment-author">
<img src="{{$role->profile_pic}}"alt="" height="50" width="50" class="avatar" <img src="{{ $role->profile_pic }}"alt="" height="50" width="50"
<?php if ($role->role == "user") { ?>style="box-shadow: 0 1px 3px #00FF26;" <?php } else { ?> style="box-shadow: 0 1px 3px #FFEC00;" <?php } ?> class="avatar" <?php if ($role->role == "user") { ?>style="box-shadow: 0 1px 3px #00FF26;"
> <?php } else { ?> style="box-shadow: 0 1px 3px #FFEC00;"
@if($role->role == "user") <?php } ?>>
<b class="fn"><a href="#" rel="external" class="url">{{$role->user_name}}</a></b> @if ($role->role == 'user')
<b class="fn"><a href="#" rel="external"
class="url">{{ $role->user_name }}</a></b>
@else @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;"> <div class="ticketratings float-right" style="margin-top: -12px;">
@@ -336,11 +378,17 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<form class="foo2"> <form class="foo2">
{{ csrf_field() }} {{ csrf_field() }}
<tr> <tr>
<th><div class="ticketratingtitle">{!! $rating->name !!} &nbsp;</div></th>&nbsp; <th>
<div class="ticketratingtitle">
{!! $rating->name !!} &nbsp;</div>
</th>&nbsp;
<td> <td>
<?php for ($i = 1; $i <= $rating->rating_scale; $i++) { ?> <?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 } ?> <?php } ?>
</td> </td>
</tr> </tr>
@@ -357,7 +405,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<small class="date text-muted"> <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> </small>
</div><!-- .comment-metadata --> </div><!-- .comment-metadata -->
</footer><!-- .comment-meta --> </footer><!-- .comment-meta -->
@@ -371,9 +420,12 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<script> <script>
setTimeout(function() { setTimeout(function() {
var $iframe = "Id{{ $conversation->id }}"; 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}}"); $('<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() { setTimeout(function() {
$('#'+$iframe).contents().find('body').append('<style>body{display:inline-block;}</style>'); $('#' + $iframe).contents().find('body').append(
'<style>body{display:inline-block;}</style>');
}, 100); }, 100);
setTimeout(function() { setTimeout(function() {
var frameid = document.getElementById($iframe); var frameid = document.getElementById($iframe);
@@ -428,7 +480,7 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
} }
} }
if ($i > 0) { 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>';
} }
?> ?>
@@ -492,7 +544,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<div id="respond" class="comment-respond form-border"> <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> <h3 id="reply-title" class="comment-reply-title section-title"><i
class="line"></i>{!! Lang::get('lang.leave_a_reply') !!}</h3>
@if (Auth::user()) @if (Auth::user())
{!! Form::open(['url' => 'post/reply/' . $id2 . '#formabc']) !!} {!! Form::open(['url' => 'post/reply/' . $id2 . '#formabc']) !!}
@else @else
@@ -508,7 +561,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
<div class="text-right"> <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> </div>
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@@ -570,11 +624,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
// process the form // process the form
$.ajax({ $.ajax({
type: 'POST', // define the type of HTTP verb we want to use (POST for our form) 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 data: formData, // our data object
dataType: 'json', // what type of data do we expect back from the server dataType: 'json', // what type of data do we expect back from the server
success: function () { success: function() {}
}
}); });
// using the done promise callback // using the done promise callback
// stop the form from submitting the normal way and refreshing the page // stop the form from submitting the normal way and refreshing the page
@@ -589,11 +642,10 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
// process the form // process the form
$.ajax({ $.ajax({
type: 'POST', // define the type of HTTP verb we want to use (POST for our form) 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 data: formData, // our data object
dataType: 'json', // what type of data do we expect back from the server dataType: 'json', // what type of data do we expect back from the server
success: function () { success: function() {}
}
}); });
// using the done promise callback // using the done promise callback
// stop the form from submitting the normal way and refreshing the page // stop the form from submitting the normal way and refreshing the page
@@ -623,13 +675,16 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "../ticket/close/{{ $tickets->id }}", url: "../ticket/close/{{ $tickets->id }}",
data:{"_token": "{{ csrf_token() }}"}, data: {
"_token": "{{ csrf_token() }}"
},
beforeSend: function() { beforeSend: function() {
$("#refresh").hide(); $("#refresh").hide();
$("#loader").show(); $("#loader").show();
}, },
success: function(response) { success: function(response) {
$("#refresh").load("../check_ticket/{!! $id !!} #refresh"); $("#refresh").load(
"../check_ticket/{!! $id !!} #refresh");
$("#refresh").show(); $("#refresh").show();
$("#loader").hide(); $("#loader").hide();
$("#d1").trigger("click"); $("#d1").trigger("click");
@@ -639,7 +694,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
setInterval(function() { setInterval(function() {
$("#alert11").hide(); $("#alert11").hide();
setTimeout(function() { setTimeout(function() {
var link = document.querySelector('#load-inbox'); var link = document.querySelector(
'#load-inbox');
if (link) { if (link) {
link.click(); link.click();
} }
@@ -655,13 +711,16 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "../ticket/resolve/{{ $tickets->id }}", url: "../ticket/resolve/{{ $tickets->id }}",
data:{"_token": "{{ csrf_token() }}"}, data: {
"_token": "{{ csrf_token() }}"
},
beforeSend: function() { beforeSend: function() {
$("#refresh").hide(); $("#refresh").hide();
$("#loader").show(); $("#loader").show();
}, },
success: function(response) { success: function(response) {
$("#refresh").load("../check_ticket/{!! $id !!} #refresh"); $("#refresh").load(
"../check_ticket/{!! $id !!} #refresh");
$("#refresh").show(); $("#refresh").show();
$("#loader").hide(); $("#loader").hide();
var message = "Success! Your Ticket have been Resolved"; var message = "Success! Your Ticket have been Resolved";
@@ -670,7 +729,8 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
setInterval(function() { setInterval(function() {
$("#alert11").hide(); $("#alert11").hide();
setTimeout(function() { setTimeout(function() {
var link = document.querySelector('#load-inbox'); var link = document.querySelector(
'#load-inbox');
if (link) { if (link) {
link.click(); link.click();
} }
@@ -686,13 +746,16 @@ $thread = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', \Cryp
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "../ticket/open/{{ $tickets->id }}", url: "../ticket/open/{{ $tickets->id }}",
data:{"_token": "{{ csrf_token() }}"}, data: {
"_token": "{{ csrf_token() }}"
},
beforeSend: function() { beforeSend: function() {
$("#refresh").hide(); $("#refresh").hide();
$("#loader").show(); $("#loader").show();
}, },
success: function(response) { success: function(response) {
$("#refresh").load("../check_ticket/{!! $id !!} #refresh"); $("#refresh").load(
"../check_ticket/{!! $id !!} #refresh");
$("#refresh").show(); $("#refresh").show();
$("#loader").hide(); $("#loader").hide();

View File

@@ -13,7 +13,8 @@ class = "nav-item active"
<ol class="breadcrumb float-sm-right "> <ol class="breadcrumb float-sm-right ">
<style> <style>
.words { .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> </style>
<li class="breadcrumb-item"> <i class="fas fa-home"> </i> {!! Lang::get('lang.you_are_here') !!} : &nbsp;</li> <li class="breadcrumb-item"> <i class="fas fa-home"> </i> {!! Lang::get('lang.you_are_here') !!} : &nbsp;</li>
@@ -57,7 +58,8 @@ class = "nav-item active"
{!! Form::text('email_address', null, ['class' => 'form-control form-group']) !!} {!! 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::label('ticket_number', Lang::get('lang.ticket_number')) !!}<span class="text-red"> *</span>
{!! Form::text('ticket_number', null, ['class' => 'form-control form-group']) !!} {!! 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"> <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') !!} <i class="fas fa-save"></i> {!! Lang::get('lang.check_ticket_status') !!}
</button> </button>
{!! Form::close() !!} {!! Form::close() !!}
@@ -118,11 +120,8 @@ class = "nav-item active"
<div class="row mt-4"> <div class="row mt-4">
@if (Auth::user()) @if (Auth::user())
{!! Form::hidden('Name', Auth::user()->user_name, ['class' => 'form-control']) !!} {!! Form::hidden('Name', Auth::user()->user_name, ['class' => 'form-control']) !!}
@else @else
<div class="col-md-12 form-group {{ $errors->has('Name') ? 'has-error' : '' }}"> <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::label('Name', Lang::get('lang.name')) !!}<span class="text-red"> *</span>
{!! Form::text('Name', null, ['class' => 'form-control']) !!} {!! Form::text('Name', null, ['class' => 'form-control']) !!}
@@ -132,7 +131,6 @@ class = "nav-item active"
@if (Auth::user()) @if (Auth::user())
{!! Form::hidden('Email', Auth::user()->email, ['class' => 'form-control']) !!} {!! Form::hidden('Email', Auth::user()->email, ['class' => 'form-control']) !!}
@else @else
<div class="col-md-12 form-group {{ $errors->has('Email') ? 'has-error' : '' }}"> <div class="col-md-12 form-group {{ $errors->has('Email') ? 'has-error' : '' }}">
{!! Form::label('Email', Lang::get('lang.email')) !!} {!! Form::label('Email', Lang::get('lang.email')) !!}
@@ -151,7 +149,11 @@ class = "nav-item active"
<span class="text-red"> *</span> <span class="text-red"> *</span>
@endif @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>
<div class="col-md-5 form-group {{ $errors->has('mobile') ? 'has-error' : '' }}"> <div class="col-md-5 form-group {{ $errors->has('mobile') ? 'has-error' : '' }}">
{!! Form::label('mobile', Lang::get('lang.mobile_number')) !!} {!! Form::label('mobile', Lang::get('lang.mobile_number')) !!}
@@ -176,7 +178,8 @@ class = "nav-item active"
<?php <?php
$forms = App\Model\helpdesk\Form\Forms::get(); $forms = App\Model\helpdesk\Form\Forms::get();
$helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->get(); $helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->get();
// ?><!----> //
?><!---->
<select name="helptopic" class="form-control" id="selectid"> <select name="helptopic" class="form-control" id="selectid">
@foreach ($helptopic as $topic) @foreach ($helptopic as $topic)
@@ -194,7 +197,6 @@ class = "nav-item active"
@if (Auth::user()->active == 1) @if (Auth::user()->active == 1)
@if ($user_Priority == 1) @if ($user_Priority == 1)
<div class="col-md-12 form-group"> <div class="col-md-12 form-group">
<div class="row"> <div class="row">
<div class="col-md-1"> <div class="col-md-1">
@@ -202,7 +204,9 @@ class = "nav-item active"
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<?php $Priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('status', '=', 1)->get(); ?> <?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']) !!} {!! Form::select('priority', ['Priority' => $Priority->pluck('priority_desc', 'priority_id')->toArray()], null, [
'class' => 'form-control select',
]) !!}
</div> </div>
</div> </div>
</div> </div>
@@ -213,6 +217,22 @@ class = "nav-item active"
{!! Form::label('Subject', Lang::get('lang.subject')) !!}<span class="text-red"> *</span> {!! Form::label('Subject', Lang::get('lang.subject')) !!}<span class="text-red"> *</span>
{!! Form::text('Subject', null, ['class' => 'form-control']) !!} {!! Form::text('Subject', null, ['class' => 'form-control']) !!}
</div> </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' : '' }}"> <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::label('Details', Lang::get('lang.message')) !!}<span class="text-red"> *</span>
{!! Form::textarea('Details', null, ['class' => 'form-control']) !!} {!! Form::textarea('Details', null, ['class' => 'form-control']) !!}
@@ -226,7 +246,13 @@ class = "nav-item active"
<div class="col-md-12" id="response"> </div> <div class="col-md-12" id="response"> </div>
<div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div> <div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div>
<div class="col-md-12 form-group"> <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>
<div class="col-md-12" id="response"> </div> <div class="col-md-12" id="response"> </div>
<div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div> <div id="ss" class="xs-md-6 form-group {{ $errors->has('') ? 'has-error' : '' }}"> </div>
@@ -250,10 +276,13 @@ $(document).ready(function(){
helpTopic = $("#selectid").val(); helpTopic = $("#selectid").val();
send(helpTopic); send(helpTopic);
}); });
function send(helpTopic) { function send(helpTopic) {
$.ajax({ $.ajax({
url: "{{ url('/get-helptopic-form') }}", url: "{{ url('/get-helptopic-form') }}",
data:{'helptopic':helpTopic}, data: {
'helptopic': helpTopic
},
type: "GET", type: "GET",
dataType: "html", dataType: "html",
success: function(response) { success: function(response) {

View File

@@ -1,6 +1,6 @@
@extends('themes.default1.client.layout.client') @extends('themes.default1.client.layout.client')
@section('HeadInclude') @section('HeadInclude')
<link href="{{asset("lb-faveo/css/AdminLTE.css")}}" rel="stylesheet" type="text/css" /> <link href="{{ asset('lb-faveo/css/AdminLTE.css') }}" rel="stylesheet" type="text/css" />
@stop @stop
<?php $user = App\User::where('id', '=', $ticket->user_id)->first(); ?> <?php $user = App\User::where('id', '=', $ticket->user_id)->first(); ?>
<?php $assignedto = App\User::where('id', '=', $ticket->assigned_to)->first(); ?> <?php $assignedto = App\User::where('id', '=', $ticket->assigned_to)->first(); ?>
@@ -29,15 +29,20 @@
<!-- <button type="button" class="btn btn-default"><i class="fa fa-edit" style="color:green;"> </i> Edit</button> --> <!-- <button type="button" class="btn btn-default"><i class="fa fa-edit" style="color:green;"> </i> Edit</button> -->
<a href="{{url('ticket/print/'.$ticket->id)}}" target="_blank" class="btn btn-default"><i class="fa fa-print" style="color:blue;"> </i> Print</a> <a href="{{ url('ticket/print/' . $ticket->id) }}" target="_blank" class="btn btn-default"><i
class="fa fa-print" style="color:blue;"> </i> Print</a>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="d1"><i class="fa fa-exchange" style="color:teal;" id="hidespin"> </i><i class="fa fa-spinner fa-spin" style="color:teal; display:none;" id="spin"></i> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
id="d1"><i class="fa fa-exchange" style="color:teal;" id="hidespin"> </i><i
class="fa fa-spinner fa-spin" style="color:teal; display:none;" id="spin"></i>
Change Status <span class="caret"></span> Change Status <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li id="close"><a href="#"><i class="fa fa-check" style="color:green;"> </i>Close</a></li> <li id="close"><a href="#"><i class="fa fa-check" style="color:green;"> </i>Close</a>
</li>
<li id="resolved"><a href="#"><i class="fa fa-check-circle-o " style="color:green;"> </i> Resolved</a></li> <li id="resolved"><a href="#"><i class="fa fa-check-circle-o " style="color:green;"> </i>
Resolved</a></li>
</ul> </ul>
</div> </div>
@@ -103,16 +108,30 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/> <img src="{{ asset('lb-faveo/media/images/gifloader.gif') }}"><br /><br /><br />
</div> </div>
</div> </div>
<div id="hide2"> <div id="hide2">
<div class="col-md-6"> <div class="col-md-6">
<table class="table table-hover"id="refresh"> <table class="table table-hover"id="refresh">
<tr><td><b>Ticket Number: </b></td><div><td>{{$ticket->ticket_number}}</td></div></tr> <tr>
<tr><td><b>Priority:</b></td> <?php $priority = App\Model\Ticket\Ticket_Priority::where('priority_id', '=', $ticket->priority_id)->first();?><td title="{{$priority->priority_desc}}">{{$priority->priority_desc}}</td></tr> <td><b>Ticket Number: </b></td>
<tr><td><b>Department:</b></td> <?php $help_topic = App\Model\Manage\Help_topic::where('id', '=', $ticket->help_topic_id)->first();?><td title="{{$help_topic->topic}}">{{$help_topic->topic}}</td></tr> <div>
<tr><td><b>Email:</b></td><td>{{$user->email}}</td></tr> <td>{{ $ticket->ticket_number }}</td>
</div>
</tr>
<tr>
<td><b>Priority:</b></td> <?php $priority = App\Model\Ticket\Ticket_Priority::where('priority_id', '=', $ticket->priority_id)->first(); ?><td
title="{{ $priority->priority_desc }}">{{ $priority->priority_desc }}</td>
</tr>
<tr>
<td><b>Department:</b></td> <?php $help_topic = App\Model\Manage\Help_topic::where('id', '=', $ticket->help_topic_id)->first(); ?><td
title="{{ $help_topic->topic }}">{{ $help_topic->topic }}</td>
</tr>
<tr>
<td><b>Email:</b></td>
<td>{{ $user->email }}</td>
</tr>
</table> </table>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
@@ -122,28 +141,49 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
$TicketData = App\Model\Ticket\Ticket_Thread::where('ticket_id', '=', $thread->ticket_id)->max('id'); $TicketData = App\Model\Ticket\Ticket_Thread::where('ticket_id', '=', $thread->ticket_id)->max('id');
$TicketDatarow = App\Model\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first(); $TicketDatarow = App\Model\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
$LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first(); $LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
if($LastResponse->role == "user") { if ($LastResponse->role == 'user') {
$rep = "#F39C12"; $rep = '#F39C12';
$username = $LastResponse->user_name; $username = $LastResponse->user_name;
} else { $rep = "#000"; $username = $LastResponse->first_name ." ". $LastResponse->last_name; } else {
$rep = '#000';
$username = $LastResponse->first_name . ' ' . $LastResponse->last_name;
if ($LastResponse->first_name == null || $LastResponse->last_name == null) { if ($LastResponse->first_name == null || $LastResponse->last_name == null) {
$username = $LastResponse->user_name; $username = $LastResponse->user_name;
}} }
if($ticket->source > 0) }
{ if ($ticket->source > 0) {
$ticket_source = App\Model\Ticket\Ticket_source::where('id', '=', $ticket->source)->first(); $ticket_source = App\Model\Ticket\Ticket_source::where('id', '=', $ticket->source)->first();
$ticket_source = $ticket_source->value; $ticket_source = $ticket_source->value;
} } else {
else
$ticket_source = $ticket->source; $ticket_source = $ticket->source;
}
?> ?>
<table class="table table-hover"> <table class="table table-hover">
@if($user_phone != null)<tr><td><b>Phone:</b></td> <td>{{$user_phone->mobile}}</td></tr>@endif @if ($user_phone != null)
<tr><td><b>Status:</b></td> <div><?php $status = App\Model\Ticket\Ticket_Status::where('id', '=', $ticket->status)->first();?><td title="{{$status->properties}}">{{$status->name}}</td></div></tr> <tr>
<tr><td><b>Help Topic:</b></td> <?php $help_topic = App\Model\Manage\Help_topic::where('id', '=', $ticket->help_topic_id)->first();?><td title="{{$help_topic->topic}}">{{$help_topic->topic}}</td></tr> <td><b>Phone:</b></td>
<tr><td><b>Last Message:</b></td> <td>{{$username}}</td></tr> <td>{{ $user_phone->mobile }}</td>
<tr><td><b>Source:</b></td> <td>{{$ticket_source}}</td></tr> </tr>
@endif
<tr>
<td><b>Status:</b></td>
<div><?php $status = App\Model\Ticket\Ticket_Status::where('id', '=', $ticket->status)->first(); ?><td title="{{ $status->properties }}">{{ $status->name }}
</td>
</div>
</tr>
<tr>
<td><b>Help Topic:</b></td> <?php $help_topic = App\Model\Manage\Help_topic::where('id', '=', $ticket->help_topic_id)->first(); ?><td
title="{{ $help_topic->topic }}">{{ $help_topic->topic }}</td>
</tr>
<tr>
<td><b>Last Message:</b></td>
<td>{{ $username }}</td>
</tr>
<tr>
<td><b>Source:</b></td>
<td>{{ $ticket_source }}</td>
</tr>
</table> </table>
</div> </div>
</div> </div>
@@ -156,22 +196,26 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
<div class='col-xs-12'> <div class='col-xs-12'>
<div class="nav-tabs-custom"> <div class="nav-tabs-custom">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="#General" data-toggle="tab" style="color:green;" id="aa"><i class="fa fa-reply-all"> </i> Reply</a></li> <li class="active"><a href="#General" data-toggle="tab" style="color:green;" id="aa"><i
class="fa fa-reply-all"> </i> Reply</a></li>
<!-- <li><a href="#Reply" data-toggle="tab" style="color:orange;"><i class="fa fa-mail-forward" > </i> Forward</a></li> --> <!-- <li><a href="#Reply" data-toggle="tab" style="color:orange;"><i class="fa fa-mail-forward" > </i> Forward</a></li> -->
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div id="alert21" class="alert alert-success alert-dismissable" style="display:none;"> <div id="alert21" class="alert alert-success alert-dismissable" style="display:none;">
<button id="dismiss21" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button id="dismiss21" type="button" class="close" data-dismiss="alert"
aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i>Alert!</h4> <h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-success2"></div> <div id="message-success2"></div>
</div> </div>
<div id="alert22" class="alert alert-warning alert-dismissable" style="display:none;"> <div id="alert22" class="alert alert-warning alert-dismissable" style="display:none;">
<button id="dismiss22" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button id="dismiss22" type="button" class="close" data-dismiss="alert"
aria-hidden="true">×</button>
<h4><i class="icon fa fa-warning"></i>Alert!</h4> <h4><i class="icon fa fa-warning"></i>Alert!</h4>
<div id="message-warning2"></div> <div id="message-warning2"></div>
</div> </div>
<div id="alert23" class="alert alert-danger alert-dismissable" style="display:none;"> <div id="alert23" class="alert alert-danger alert-dismissable" style="display:none;">
<button id="dismiss23" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button id="dismiss23" type="button" class="close" data-dismiss="alert"
aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i>Alert!</h4> <h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-danger2"></div> <div id="message-danger2"></div>
</div> </div>
@@ -182,7 +226,7 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
<div class="col-md-4"> <div class="col-md-4">
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/> <img src="{{ asset('lb-faveo/media/images/gifloader.gif') }}"><br /><br /><br />
</div> </div>
</br> </br>
</br> </br>
@@ -206,7 +250,12 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
{!! Form::label('To', 'To:') !!} {!! Form::label('To', 'To:') !!}
</div> </div>
<div class="col-md-10"> <div class="col-md-10">
{!! Form::text('To','support@faveohelpdesk.com',array('disabled'),['id'=>'email','class'=>'form-control','style'=>'width:55%'])!!} {!! Form::text(
'To',
'support@faveohelpdesk.com',
['disabled'],
['id' => 'email', 'class' => 'form-control', 'style' => 'width:55%'],
) !!}
{!! $errors->first('To', '<spam class="help-block text-red">:message</spam>') !!} {!! $errors->first('To', '<spam class="help-block text-red">:message</spam>') !!}
@@ -238,7 +287,9 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}"> <div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<div class="col-md-2"></div> <div class="col-md-2"></div>
<div class="col-md-10"> <div class="col-md-10">
<button type="submit" class="btn btn-primary"><i class="fa fa-check-square-o" style="color:white;"> </i> Update</button> <button type="submit" class="btn btn-primary"><i
class="fa fa-check-square-o" style="color:white;"> </i>
Update</button>
</div> </div>
</div> </div>
</div> </div>
@@ -269,7 +320,9 @@ echo UTC::usertimezone(date_format($time, 'd/m/Y H:i:s'));
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}"> <div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<div class="col-md-2"></div> <div class="col-md-2"></div>
<div class="col-md-10"> <div class="col-md-10">
<button type="submit" class="btn btn-primary"><i class="fa fa-check-square-o" style="color:white;"> </i> Update</button> <button type="submit" class="btn btn-primary"><i
class="fa fa-check-square-o" style="color:white;"> </i>
Update</button>
</div> </div>
</div> </div>
</div> </div>
@@ -379,11 +432,13 @@ $data = $ConvDate[0];
<?php if($conversation->is_internal) { ?> <?php if($conversation->is_internal) { ?>
<i class="fa fa-tag bg-purple" title="Posted by System"></i> <i class="fa fa-tag bg-purple" title="Posted by System"></i>
<?php }else{ if ($role->role == 'agent' || $role->role == 'admin') { ?> <?php }else{ if ($role->role == 'agent' || $role->role == 'admin') { ?>
<i class="fa fa-mail-reply-all bg-yellow" title="<?= Lang::get('lang.posted_by_support_team') ?>"></i> <i class="fa fa-mail-reply-all bg-yellow"
title="<?= Lang::get('lang.posted_by_support_team') ?>"></i>
<?php } elseif ($role->role == 'user') { ?> <?php } elseif ($role->role == 'user') { ?>
<i class="fa fa-user bg-aqua" title="<?= Lang::get('lang.posted_by_customer') ?>"></i> <i class="fa fa-user bg-aqua" title="<?= Lang::get('lang.posted_by_customer') ?>"></i>
<?php } else { ?> <?php } else { ?>
<i class="fa fa-mail-reply-all bg-purple" title="<?= Lang::get('lang.posted_by_system') ?>"></i> <i class="fa fa-mail-reply-all bg-purple"
title="<?= Lang::get('lang.posted_by_system') ?>"></i>
<?php } } <?php } }
$attachment = App\Model\Ticket\Ticket_attachments::where('thread_id','=',$conversation->id)->first(); $attachment = App\Model\Ticket\Ticket_attachments::where('thread_id','=',$conversation->id)->first();
if($attachment == null ) { if($attachment == null ) {
@@ -450,49 +505,48 @@ $data = $ConvDate[0];
<?php <?php
$string = $body; $string = $body;
$start = "<head>"; $start = '<head>';
$end = "</head>"; $end = '</head>';
if(strpos($string,$start) == false || strpos($string,$start) == false) if (strpos($string, $start) == false || strpos($string, $start) == false) {
{ } else {
}
else
{
$ini = strpos($string, $start); $ini = strpos($string, $start);
$ini += strlen($start); $ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini; $len = strpos($string, $end, $ini) - $ini;
$parsed = substr($string, $ini, $len); $parsed = substr($string, $ini, $len);
$body2 = $parsed; $body2 = $parsed;
$body = str_replace($body2 ," " ,$body); $body = str_replace($body2, ' ', $body);
} }
?> ?>
<div class="timeline-item"> <div class="timeline-item">
<span id="date" class="time" style="color:#fff;"><i class="fa fa-clock-o"> </i> {{date_format($conversation->created_at, 'd/m/Y H:i:s')}}</span> <span id="date" class="time" style="color:#fff;"><i
<h3 class="timeline-header" style="background-color:<?php class="fa fa-clock-o"> </i>
if($conversation->is_internal) {{ date_format($conversation->created_at, 'd/m/Y H:i:s') }}</span>
{ <h3 class="timeline-header"
style="background-color:<?php
if ($conversation->is_internal) {
$color = '#046380'; $color = '#046380';
echo $color; echo $color;
} } else {
else if ($role->role == 'agent' || $role->role == 'admin') {
{
if ($role->role == 'agent' || $role->role == 'admin')
{
$color = '#FFD34E'; $color = '#FFD34E';
echo $color; echo $color;
} elseif ($role->role == 'user') } elseif ($role->role == 'user') {
{
$color = '#00A388'; $color = '#00A388';
echo $color; echo $color;
} else } else {
{
$color = '#046380'; $color = '#046380';
echo $color; echo $color;
} }
} }
?>; ?>;
"> ">
<a href="#" style="color:#fff;"><?php if($role->role == "user") {echo $role->user_name; } else { echo $role->first_name . " " . $role->last_name; } ?> </a></h3> <a href="#" style="color:#fff;"><?php if ($role->role == 'user') {
echo $role->user_name;
} else {
echo $role->first_name . ' ' . $role->last_name;
} ?> </a>
</h3>
<div class="timeline-body"> <div class="timeline-body">
{!! $body !!} {!! $body !!}
@@ -509,26 +563,20 @@ $data = $ConvDate[0];
$i++; $i++;
} }
} }
if($i>0) if ($i > 0) {
{ echo "<hr style='border-top: 1px dotted #FFFFFF;margin-top:0px;margin-bottom:0px;background-color:#8B8C90;'><h4 class='box-title'><b>" . $i . ' </b> Attachments</h4>';
echo "<hr style='border-top: 1px dotted #FFFFFF;margin-top:0px;margin-bottom:0px;background-color:#8B8C90;'><h4 class='box-title'><b>".$i." </b> Attachments</h4>";
} }
?> ?>
<ul class='mailbox-attachments clearfix'> <ul class='mailbox-attachments clearfix'>
<?php <?php
foreach($attachments as $attachment) foreach ($attachments as $attachment) {
{
$size = $attachment->size; $size = $attachment->size;
$units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; $units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
$power = $size > 0 ? floor(log($size, 1024)) : 0; $power = $size > 0 ? floor(log($size, 1024)) : 0;
$value = number_format($size / pow(1024, $power), 2, '.', ',') . ' ' . $units[$power]; $value = number_format($size / pow(1024, $power), 2, '.', ',') . ' ' . $units[$power];
if ($attachment->poster == 'ATTACHMENT') {
if($attachment->poster == 'ATTACHMENT') if ($attachment->type == 'jpg' || $attachment->type == 'JPG' || $attachment->type == 'jpeg' || $attachment->type == 'JPEG' || $attachment->type == 'png' || $attachment->type == 'PNG' || $attachment->type == 'gif' || $attachment->type == 'GIF') {
{
if($attachment->type == 'jpg'||$attachment->type == 'JPG'||$attachment->type == 'jpeg'||$attachment->type == 'JPEG'||$attachment->type == 'png'||$attachment->type == 'PNG'||$attachment->type == 'gif'||$attachment->type == 'GIF')
{
$image = @imagecreatefromstring($attachment->file); $image = @imagecreatefromstring($attachment->file);
ob_start(); ob_start();
imagejpeg($image, null, 80); imagejpeg($image, null, 80);
@@ -536,11 +584,8 @@ $data = $ConvDate[0];
ob_end_clean(); ob_end_clean();
$var = '<a href="' . URL::route('image', ['image_id' => $attachment->id]) . '" target="_blank"><img style="max-width:200px;height:133px;" src="data:image/jpg;base64,' . base64_encode($data) . '"/></a>'; $var = '<a href="' . URL::route('image', ['image_id' => $attachment->id]) . '" target="_blank"><img style="max-width:200px;height:133px;" src="data:image/jpg;base64,' . base64_encode($data) . '"/></a>';
echo '<li style="background-color:#f4f4f4;"><span class="mailbox-attachment-icon has-img">' . $var . '</span><div class="mailbox-attachment-info"><b style="word-wrap: break-word;">' . $attachment->name . '</b><br/><p>' . $value . '</p></div></li>'; echo '<li style="background-color:#f4f4f4;"><span class="mailbox-attachment-icon has-img">' . $var . '</span><div class="mailbox-attachment-info"><b style="word-wrap: break-word;">' . $attachment->name . '</b><br/><p>' . $value . '</p></div></li>';
} } else {
else
{
$var = '<a style="max-width:200px;height:133px;color:#666;" href="' . URL::route('image', ['image_id' => $attachment->id]) . '" target="_blank"><span class="mailbox-attachment-icon" style="background-color:#fff;">' . strtoupper($attachment->type) . '</span><div class="mailbox-attachment-info"><span ><b style="word-wrap: break-word;">' . $attachment->name . '</b><br/><p>' . $value . '</p></span></div></a>'; $var = '<a style="max-width:200px;height:133px;color:#666;" href="' . URL::route('image', ['image_id' => $attachment->id]) . '" target="_blank"><span class="mailbox-attachment-icon" style="background-color:#fff;">' . strtoupper($attachment->type) . '</span><div class="mailbox-attachment-info"><span ><b style="word-wrap: break-word;">' . $attachment->name . '</b><br/><p>' . $value . '</p></span></div></a>';
echo '<li style="background-color:#f4f4f4;">' . $var . '</li>'; echo '<li style="background-color:#f4f4f4;">' . $var . '</li>';
} }
@@ -551,7 +596,7 @@ $data = $ConvDate[0];
</div> </div>
</div> </div>
</li> </li>
<?php $lastid = $conversation->id?> <?php $lastid = $conversation->id; ?>
<?php } <?php }
?> ?>
<li> <li>
@@ -578,13 +623,15 @@ $data = $ConvDate[0];
<div class="modal-content"> <div class="modal-content">
{!! Form::model($ticket->id, ['id' => 'form', 'method' => 'PATCH']) !!} {!! Form::model($ticket->id, ['id' => 'form', 'method' => 'PATCH']) !!}
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Edit <b>[#{!! $ticket->ticket_number !!}]</b>[{!! $user->user_name !!}]</h4> <h4 class="modal-title">Edit <b>[#{!! $ticket->ticket_number !!}]</b>[{!! $user->user_name !!}]</h4>
</div> </div>
<div class="modal-body" id="hide"> <div class="modal-body" id="hide">
<div class="form-group"> <div class="form-group">
<label>Title</label> <label>Title</label>
<input type="text" name="subject" class="form-control" value="{{$thread->title}}" required> <input type="text" name="subject" class="form-control" value="{{ $thread->title }}"
required>
{!! $errors->first('subject', '<spam class="help-block text-red">:message</spam>') !!} {!! $errors->first('subject', '<spam class="help-block text-red">:message</spam>') !!}
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -598,12 +645,13 @@ $data = $ConvDate[0];
<div class="col-md-2"> <div class="col-md-2">
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/> <img src="{{ asset('lb-faveo/media/images/gifloader.gif') }}"><br /><br /><br />
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis">Close</button>
<input type="submit" class="btn btn-primary pull-right" value="Update"> <input type="submit" class="btn btn-primary pull-right" value="Update">
</div> </div>
{!! Form::close() !!} {!! Form::close() !!}
@@ -615,7 +663,8 @@ $data = $ConvDate[0];
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Ban Email</h4> <h4 class="modal-title">Ban Email</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -623,7 +672,8 @@ $data = $ConvDate[0];
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis2">Close</button>
<button id="ban" type="button" class="btn btn-warning pull-right">Ban Email</button> <button id="ban" type="button" class="btn btn-warning pull-right">Ban Email</button>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
@@ -636,7 +686,8 @@ $data = $ConvDate[0];
<div class="modal-content"> <div class="modal-content">
{!! Form::model($ticket->id, ['id' => 'form4', 'method' => 'PATCH']) !!} {!! Form::model($ticket->id, ['id' => 'form4', 'method' => 'PATCH']) !!}
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Change Owner for ticket <b>#{!! $ticket->ticket_number !!}</b></h4> <h4 class="modal-title">Change Owner for ticket <b>#{!! $ticket->ticket_number !!}</b></h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -647,14 +698,17 @@ $data = $ConvDate[0];
<select name="SelectOwner" class="form-control"> <select name="SelectOwner" class="form-control">
@foreach ($users as $user) @foreach ($users as $user)
@if ($user->id !== $ticket->user_id) @if ($user->id !== $ticket->user_id)
<option value="{!! $user->user_name !!}">{!! $user->user_name !!}({!! $user->email !!})</option> <option value="{!! $user->user_name !!}">
{!! $user->user_name !!}({!! $user->email !!})</option>
@endif @endif
@endforeach @endforeach
</select> </select>
<!-- <spam class="glyphicon glyphicon-search form-control-feedback"></spam> --> <!-- <spam class="glyphicon glyphicon-search form-control-feedback"></spam> -->
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2"><spam class="glyphicon glyphicon-user fa-5x"></spam></div> <div class="col-md-2">
<spam class="glyphicon glyphicon-user fa-5x"></spam>
</div>
<div class="col-md-10"> <div class="col-md-10">
<?php $user = App\User::where('id', '=', $ticket->user_id)->first(); ?> <?php $user = App\User::where('id', '=', $ticket->user_id)->first(); ?>
@@ -669,7 +723,8 @@ $data = $ConvDate[0];
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis2">Close</button>
<button id="ban" type="button" class="btn btn-warning pull-right">Submit</button> <button id="ban" type="button" class="btn btn-warning pull-right">Submit</button>
</div> </div>
{!! Form::close() !!} {!! Form::close() !!}
@@ -682,7 +737,8 @@ $data = $ConvDate[0];
<div class="modal-content"> <div class="modal-content">
{!! Form::open(['id' => 'form1', 'method' => 'PATCH']) !!} {!! Form::open(['id' => 'form1', 'method' => 'PATCH']) !!}
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Assign</h4> <h4 class="modal-title">Assign</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -696,7 +752,8 @@ $data = $ConvDate[0];
</select> </select>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis4">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis4">Close</button>
<button type="submit" class="btn btn-success pull-right" id="submt2">Assign</button> <button type="submit" class="btn btn-success pull-right" id="submt2">Assign</button>
</div> </div>
{!! Form::close() !!} {!! Form::close() !!}
@@ -708,14 +765,16 @@ $data = $ConvDate[0];
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Surrender</h4> <h4 class="modal-title">Surrender</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Are you sure you want to surrender this Ticket?</p> <p>Are you sure you want to surrender this Ticket?</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis6">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis6">Close</button>
<button type="button" class="btn btn-warning pull-right" id="Surrender">Surrender</button> <button type="button" class="btn btn-warning pull-right" id="Surrender">Surrender</button>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
@@ -727,7 +786,8 @@ $data = $ConvDate[0];
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Add Collaborator</h4> <h4 class="modal-title">Add Collaborator</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -738,7 +798,8 @@ $data = $ConvDate[0];
<input type="text" class="form-control"> <input type="text" class="form-control">
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis6">Close</button> <button type="button" class="btn btn-default pull-left" data-dismiss="modal"
id="dismis6">Close</button>
<button type="button" class="btn btn-warning pull-right" id="Surrender">Surrender</button> <button type="button" class="btn btn-warning pull-right" id="Surrender">Surrender</button>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
@@ -750,7 +811,6 @@ $data = $ConvDate[0];
</div> </div>
<!-- scripts used on page --> <!-- scripts used on page -->
<script type="text/javascript"> <script type="text/javascript">
function AddCcc() { function AddCcc() {
} }
@@ -777,7 +837,9 @@ function AddCcc(){
var message = "Success! Your Ticket have been Closed"; var message = "Success! Your Ticket have been Closed";
$("#alert11").show(); $("#alert11").show();
$('#message-success1').html(message); $('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000); setInterval(function() {
$("#alert11").hide();
}, 4000);
} }
}) })
return false; return false;
@@ -800,7 +862,9 @@ function AddCcc(){
var message = "Success! Your Ticket have been Resolved"; var message = "Success! Your Ticket have been Resolved";
$("#alert11").show(); $("#alert11").show();
$('#message-success1').html(message); $('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000); setInterval(function() {
$("#alert11").hide();
}, 4000);
} }
}) })
return false; return false;
@@ -823,7 +887,9 @@ function AddCcc(){
var message = "Success! Your Ticket have been Opened"; var message = "Success! Your Ticket have been Opened";
$("#alert11").show(); $("#alert11").show();
$('#message-success1').html(message); $('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000); setInterval(function() {
$("#alert11").hide();
}, 4000);
} }
}) })
@@ -847,7 +913,9 @@ function AddCcc(){
var message = "Success! Your Ticket have been moved to Trash"; var message = "Success! Your Ticket have been moved to Trash";
$("#alert11").show(); $("#alert11").show();
$('#message-success1').html(message); $('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000); setInterval(function() {
$("#alert11").hide();
}, 4000);
} }
}) })
return false; return false;
@@ -864,7 +932,9 @@ function AddCcc(){
var message = "Success! This Email have been banned"; var message = "Success! This Email have been banned";
$("#alert11").show(); $("#alert11").show();
$('#message-success1').html(message); $('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000); setInterval(function() {
$("#alert11").hide();
}, 4000);
} }
}) })
return false; return false;
@@ -900,12 +970,9 @@ function AddCcc(){
$("#dismis").trigger("click"); $("#dismis").trigger("click");
$("#refresh1").load("../thread/{{ $ticket->id }} #refresh1"); $("#refresh1").load("../thread/{{ $ticket->id }} #refresh1");
$("#refresh2").load("../thread/{{ $ticket->id }} #refresh2"); $("#refresh2").load("../thread/{{ $ticket->id }} #refresh2");
if (response == 1) if (response == 1) {
{
alert('Updated successfully'); alert('Updated successfully');
} } else if (response == 0) {
else if (response == 0)
{
alert('Please check all your fields'); alert('Please check all your fields');
} }
@@ -948,24 +1015,27 @@ function AddCcc(){
}, },
success: function(response) { success: function(response) {
if (response == 1) if (response == 1) {
{
$("#refresh1").load("../thread/{{ $ticket->id }} #refresh1"); $("#refresh1").load("../thread/{{ $ticket->id }} #refresh1");
// $("#t4").load("../thread/{{ $ticket->id }} #t4"); // $("#t4").load("../thread/{{ $ticket->id }} #t4");
var message = "Success! You have successfully replied to your ticket"; var message =
"Success! You have successfully replied to your ticket";
$("#alert21").show(); $("#alert21").show();
$('#message-success2').html(message); $('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); },4000); setInterval(function() {
$("#alert21").hide();
}, 4000);
} } else {
else
{
// alert('fail'); // alert('fail');
var message = "Fail! For some reason your message was not posted. Please try again later"; var message =
"Fail! For some reason your message was not posted. Please try again later";
$("#alert23").show(); $("#alert23").show();
$('#message-danger2').html(message); $('#message-danger2').html(message);
setInterval(function(){$("#alert23").hide(); },4000); setInterval(function() {
$("#alert23").hide();
}, 4000);
// $( "#dismis4" ).trigger( "click" ); // $( "#dismis4" ).trigger( "click" );
} }
@@ -991,23 +1061,26 @@ function AddCcc(){
success: function(response) { success: function(response) {
if (response == 1) if (response == 1) {
{
$("#refresh1").load("../thread/{{ $ticket->id }} #refresh1"); $("#refresh1").load("../thread/{{ $ticket->id }} #refresh1");
// $("#t1").load("../thread/{{ $ticket->id }} #t1"); // $("#t1").load("../thread/{{ $ticket->id }} #t1");
var message = "Success! You have successfully replied to your ticket"; var message =
"Success! You have successfully replied to your ticket";
$("#alert21").show(); $("#alert21").show();
$('#message-success2').html(message); $('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); },4000); setInterval(function() {
} $("#alert21").hide();
else }, 4000);
{ } else {
// alert('fail'); // alert('fail');
// $( "#dismis4" ).trigger( "click" ); // $( "#dismis4" ).trigger( "click" );
var message = "Fail! For some reason your reply was not posted. Please try again later"; var message =
"Fail! For some reason your reply was not posted. Please try again later";
$("#alert23").show(); $("#alert23").show();
$('#message-danger2').html(message); $('#message-danger2').html(message);
setInterval(function(){$("#alert23").hide(); },4000); setInterval(function() {
$("#alert23").hide();
}, 4000);
} }
$("#show3").hide(); $("#show3").hide();
$("#t1").show(); $("#t1").show();
@@ -1023,21 +1096,22 @@ function AddCcc(){
url: "../ticket/surrender/{{ $ticket->id }}", url: "../ticket/surrender/{{ $ticket->id }}",
success: function(response) { success: function(response) {
if (response == 1) if (response == 1) {
{
// alert('ticket has been un assigned'); // alert('ticket has been un assigned');
var message = "Success! You have Unassigned your ticket"; var message = "Success! You have Unassigned your ticket";
$("#alert21").show(); $("#alert21").show();
$('#message-success2').html(message); $('#message-success2').html(message);
setInterval(function(){$("#dismiss21").trigger("click"); },2000); setInterval(function() {
$("#dismiss21").trigger("click");
}, 2000);
// $("#refresh1").load( "http://localhost/faveo/public/thread/{{ $ticket->id }} #refresh1"); // $("#refresh1").load( "http://localhost/faveo/public/thread/{{ $ticket->id }} #refresh1");
} } else {
else
{
var message = "Fail! For some reason your request failed"; var message = "Fail! For some reason your request failed";
$("#alert23").show(); $("#alert23").show();
$('#message-danger2').html(message); $('#message-danger2').html(message);
setInterval(function(){$("#dismiss23").trigger("click"); },2000); setInterval(function() {
$("#dismiss23").trigger("click");
}, 2000);
// alert('fail'); // alert('fail');
// $( "#dismis4" ).trigger( "click" ); // $( "#dismis4" ).trigger( "click" );
} }
@@ -1178,11 +1252,11 @@ function AddCcc(){
} }
}); });
//End of Autopopulate //End of Autopopulate
</script> </script>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script> <script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script> <script type="text/javascript">
bkLib.onDomLoaded(nicEditors.allTextAreas);
</script>
@stop @stop
{{-- // <script type="text/javascript" src="{{asset('nicedit.js')}}"></script> --}} {{-- // <script type="text/javascript" src="{{asset('nicedit.js')}}"></script> --}}

View File

0
resources/views/vendor/Chumper/tickets-javascript.blade.php vendored Executable file → Normal file
View File

View File

@@ -491,6 +491,7 @@ Route::middleware('web')->group(function () {
| Here defining Guest User's routes | Here defining Guest User's routes
| |
| |
*/ */
// seasrch // seasrch
// Route::POST('tickets/search/', function () { // Route::POST('tickets/search/', function () {

3
storage/clockwork/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.json
*.json.gz
index

5
vendor/autoload.php vendored
View File

@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
echo $err; echo $err;
} }
} }
trigger_error( throw new RuntimeException($err);
$err,
E_USER_ERROR
);
} }
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';

0
vendor/aws/aws-crt-php/format-check.sh vendored Executable file → Normal file
View File

0
vendor/aws/aws-crt-php/gen_stub.php vendored Executable file → Normal file
View File

0
vendor/aws/aws-crt-php/prepare_package_xml.sh vendored Executable file → Normal file
View File

0
vendor/aws/aws-crt-php/prepare_release.sh vendored Executable file → Normal file
View File

0
vendor/aws/aws-crt-php/run_tests vendored Executable file → Normal file
View File

0
vendor/beyondcode/laravel-query-detector/src/QueryDetector.php vendored Executable file → Normal file
View File

0
vendor/bin/carbon vendored Executable file → Normal file
View File

0
vendor/bin/doctrine-dbal vendored Executable file → Normal file
View File

0
vendor/bin/jp.php vendored Executable file → Normal file
View File

0
vendor/bin/patch-type-declarations vendored Executable file → Normal file
View File

0
vendor/bin/php-parse vendored Executable file → Normal file
View File

0
vendor/bin/phpspec vendored Executable file → Normal file
View File

0
vendor/bin/phpunit vendored Executable file → Normal file
View File

0
vendor/bin/pint vendored Executable file → Normal file
View File

0
vendor/bin/psysh vendored Executable file → Normal file
View File

0
vendor/bin/var-dump-server vendored Executable file → Normal file
View File

0
vendor/bin/yaml-lint vendored Executable file → Normal file
View File

0
vendor/bugsnag/bugsnag/packer.sh vendored Executable file → Normal file
View File

View File

@@ -31,6 +31,7 @@ return array(
'AWS\\CRT\\Options' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php', 'AWS\\CRT\\Options' => $vendorDir . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', 'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.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\\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\\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', 'Database\\Seeders\\v_2_0_0\\TicketSourceSeeder' => $baseDir . '/database/seeders/v_2_0_0/TicketSourceSeeder.php',

View File

@@ -7,7 +7,7 @@ $baseDir = dirname($vendorDir);
return array( return array(
'voku\\' => array($vendorDir . '/voku/portable-ascii/src/voku'), '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'), 'libphonenumber\\' => array($vendorDir . '/giggsey/libphonenumber-for-php/src'),
'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'), 'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'),
'Zend\\Validator\\' => array($vendorDir . '/zendframework/zend-validator/src'), 'Zend\\Validator\\' => array($vendorDir . '/zendframework/zend-validator/src'),

View File

@@ -277,9 +277,9 @@ class ComposerStaticInit10c1836cea18dd9470bc2e97275d9d56
), ),
'phpDocumentor\\Reflection\\' => 'phpDocumentor\\Reflection\\' =>
array ( array (
0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src', 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src',
1 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', 1 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src',
2 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src', 2 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src',
), ),
'libphonenumber\\' => 'libphonenumber\\' =>
array ( array (
@@ -1001,6 +1001,7 @@ class ComposerStaticInit10c1836cea18dd9470bc2e97275d9d56
'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php', 'AWS\\CRT\\Options' => __DIR__ . '/..' . '/aws/aws-crt-php/src/AWS/CRT/Options.php',
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', 'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.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\\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\\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', 'Database\\Seeders\\v_2_0_0\\TicketSourceSeeder' => __DIR__ . '/../..' . '/database/seeders/v_2_0_0/TicketSourceSeeder.php',

View File

@@ -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; 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( throw new \RuntimeException(
'Composer detected issues in your platform: ' . implode(' ', $issues), 'Composer detected issues in your platform: ' . implode(' ', $issues)
E_USER_ERROR
); );
} }

0
vendor/doctrine/dbal/bin/doctrine-dbal vendored Executable file → Normal file
View File

View 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,
);

View 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,
);

View File

0
vendor/flowjs/flow-php-server/phpunit vendored Executable file → Normal file
View File

View File

0
vendor/laravel/dusk/bin/chromedriver-linux vendored Executable file → Normal file
View File

0
vendor/laravel/dusk/bin/chromedriver-mac vendored Executable file → Normal file
View File

0
vendor/laravel/dusk/bin/chromedriver-win.exe vendored Executable file → Normal file
View File

0
vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php vendored Executable file → Normal file
View File

View File

View File

View File

0
vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php vendored Executable file → Normal file
View File

View File

View File

View File

0
vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php vendored Executable file → Normal file
View File

0
vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php vendored Executable file → Normal file
View File

0
vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php vendored Executable file → Normal file
View File

View File

View File

Some files were not shown because too many files have changed in this diff Show More