From 48d998ec671bd00adfb3132d1174d8eef4980046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lagac=C3=A9=20Mathieu?= Date: Tue, 10 Dec 2019 10:27:44 -0500 Subject: [PATCH 01/12] 3.2.4 fix --- app/Http/Controllers/ConfigController.php | 17 +++++ database/seeds/ConfigsTableSeeder.php | 5 ++ resources/views/admin/configs/file.blade.php | 69 ++++++++++++++++++++ resources/views/admin/files/index.blade.php | 5 ++ routes/web.php | 5 +- 5 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 resources/views/admin/configs/file.blade.php diff --git a/app/Http/Controllers/ConfigController.php b/app/Http/Controllers/ConfigController.php index e7ae156d..01c4a54a 100644 --- a/app/Http/Controllers/ConfigController.php +++ b/app/Http/Controllers/ConfigController.php @@ -129,4 +129,21 @@ class ConfigController extends Controller { // } + + public function showfilesConfig() + { + return view('admin.configs.file',['configs' => Config::all()]); + } + + public function editfilesConfig() + { + $config = \App\Config::all()->where('name','cadet_list')->first(); + + $config->data = [\request('cadet_list')]; + + $config->save(); + + clog('edit','success','a modifié la configuration'); + return redirect('/admin/config/files')->with('success','Modification sauvegarder avec succès !'); + } } diff --git a/database/seeds/ConfigsTableSeeder.php b/database/seeds/ConfigsTableSeeder.php index f098f221..1c0292b0 100644 --- a/database/seeds/ConfigsTableSeeder.php +++ b/database/seeds/ConfigsTableSeeder.php @@ -226,6 +226,11 @@ class ConfigsTableSeeder extends Seeder 'name' => 'default_weekly_msg', 'state' => 0, 'data' => "[\"/* Nom de l'évènement */
Heure (Cadets):
Lieu:
Tenue:
Matériel:
/* Commentaire */\"]" + ], + [ + 'name' => 'cadet_list', + 'state' => 0, + 'data' => '["#"]' ] ]; diff --git a/resources/views/admin/configs/file.blade.php b/resources/views/admin/configs/file.blade.php new file mode 100644 index 00000000..ed5ff7d5 --- /dev/null +++ b/resources/views/admin/configs/file.blade.php @@ -0,0 +1,69 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+

Configuration Générale

+
+
+
+ @csrf +
+
+
+ + + Url vers la liste nominative des cadets +
+
+
+ +
+
+
+
+
+
+@endsection + +@section('breadcrumb') + +@endsection + +@section('custom_scripts') + +@endsection diff --git a/resources/views/admin/files/index.blade.php b/resources/views/admin/files/index.blade.php index e0107fa7..58c226e9 100644 --- a/resources/views/admin/files/index.blade.php +++ b/resources/views/admin/files/index.blade.php @@ -119,6 +119,11 @@ Divers Télécharger + + Liste nominal des cadets + Divers + Télécharger + diff --git a/routes/web.php b/routes/web.php index c90f664a..b68021e0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -87,7 +87,10 @@ Route::middleware(['auth'])->group(function () { Route::get('/admin/config/jobs/{id}','JobController@edit')->middleware('perm:config_edit'); Route::post('/admin/config/jobs/{id}','JobController@update')->middleware('perm:config_edit'); - /** Public page */ + Route::get('/admin/config/files' , 'ConfigController@showfilesConfig')->middleware('perm:config_edit'); + Route::post('/admin/config/files' , 'ConfigController@editfilesConfig')->middleware('perm:config_edit'); + + /** Public page */ Route::get('/admin/public/edit/{config}', 'PublicController@edit')->middleware('perm:config_edit'); Route::post('/admin/public/edit/{config}', 'PublicController@update')->middleware('perm:config_edit'); From c706bb7361fc3ef66000d89d505da8aeded81527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lagac=C3=A9=20Mathieu?= Date: Tue, 10 Dec 2019 10:30:17 -0500 Subject: [PATCH 02/12] 3.2.4 fix --- resources/views/layouts/admin/sidebar.blade.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/views/layouts/admin/sidebar.blade.php b/resources/views/layouts/admin/sidebar.blade.php index 4fad9b61..97420d7e 100644 --- a/resources/views/layouts/admin/sidebar.blade.php +++ b/resources/views/layouts/admin/sidebar.blade.php @@ -252,6 +252,12 @@ Général + - \ No newline at end of file + From 9e21124e90d73506bf14f8bfbc6081bbe2c15842 Mon Sep 17 00:00:00 2001 From: Mathieu Lagace Date: Tue, 21 Jan 2020 21:14:48 -0500 Subject: [PATCH 03/12] To cegep --- app/Http/Controllers/EventController.php | 1 + app/Http/Controllers/OCOMController.php | 27 ++++--- .../Controllers/ScheduleEditorController.php | 21 +++++ public/css/material-dashboard.css | 6 +- public/js/plugins/schedule/editor.js | 66 ++++++++++++++-- .../admin/schedule/editor/course.blade.php | 15 ++-- .../admin/schedule/editor/level.blade.php | 3 + .../schedule/editor/levelHeader.blade.php | 21 +++++ .../admin/schedule/editor/periode.blade.php | 43 ++++++++++ .../admin/schedule/editor/template.blade.php | 78 +++---------------- routes/api.php | 3 + routes/web.php | 3 + 12 files changed, 189 insertions(+), 98 deletions(-) create mode 100644 resources/views/admin/schedule/editor/level.blade.php create mode 100644 resources/views/admin/schedule/editor/levelHeader.blade.php create mode 100644 resources/views/admin/schedule/editor/periode.blade.php diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index 43bf85b7..f91c1c7b 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -36,6 +36,7 @@ class EventController extends Controller */ public function store() { + dd(\request()); $event = new Event(); $event->name = request('name'); diff --git a/app/Http/Controllers/OCOMController.php b/app/Http/Controllers/OCOMController.php index 16e7d2bc..c790f166 100644 --- a/app/Http/Controllers/OCOMController.php +++ b/app/Http/Controllers/OCOMController.php @@ -625,22 +625,25 @@ X20,\"Participer à des activités $ocom = ""; preg_match('/[MC]\S\d\d.\d\d[A-Z]?/',$match,$ocom); - $oren = ""; - preg_match('/[X\d]\d\d/',$ocom[0],$oren); + if(!OCOM::where('ocom',$ocom)->first()) + { + $oren = ""; + preg_match('/[X\d]\d\d/',$ocom[0],$oren); - $obj_competence = str_replace($ocom[0].",","",$match); - $obj_competence = trim(preg_replace('/\s\s+/', ' ', $obj_competence)); + $obj_competence = str_replace($ocom[0].",","",$match); + $obj_competence = trim(preg_replace('/\s\s+/', ' ', $obj_competence)); - $nbPeriode = preg_replace('/[MC]\S\d\d.\d\d[A-Z]?,[^,]*,/','',$match); - $newocom->nbPeriode = $nbPeriode; + $nbPeriode = preg_replace('/[MC]\S\d\d.\d\d[A-Z]?,[^,]*,/','',$match); + $newocom->nbPeriode = $nbPeriode; - $obj_competence = str_replace(",".$nbPeriode,'',$obj_competence); + $obj_competence = str_replace(",".$nbPeriode,'',$obj_competence); - $newocom->ocom = $ocom[0]; - $newocom->oren = $oren[0]; - $newocom->objectif_competence = $obj_competence; - $newocom->objectif_rendement = $orens[$oren[0]]; - $newocom->save(); + $newocom->ocom = $ocom[0]; + $newocom->oren = $oren[0]; + $newocom->objectif_competence = $obj_competence; + $newocom->objectif_rendement = $orens[$oren[0]]; + $newocom->save(); + } } dd(\App\OCOM::all()); } diff --git a/app/Http/Controllers/ScheduleEditorController.php b/app/Http/Controllers/ScheduleEditorController.php index bd4e9664..324325c3 100644 --- a/app/Http/Controllers/ScheduleEditorController.php +++ b/app/Http/Controllers/ScheduleEditorController.php @@ -28,6 +28,27 @@ class ScheduleEditorController extends Controller return json_encode($eventType); } + public function getEmptyPeriode(int $id) + { + return view('admin.schedule.editor.periode',[ + 'periode_name' => 'Periode '.$id, + 'periode_begin_time' => '00:00', + 'periode_end_time' => '00:00', + 'periode_id' => $id, + 'nbLevel' => request('nblevel') + ]); + } + + public function getEmptyLevel(int $id) + { + return view('admin.schedule.editor.level',['periode_id' => \request('nbPeriode'),'level_id' => $id]); + } + + public function getLevelHeader(int $id) + { + return view('admin.schedule.editor.levelHeader',['level_id' => $id,'level_name' => 'Niveau '.$id]); + } + public function test() { $evenType = new \App\EventType(); diff --git a/public/css/material-dashboard.css b/public/css/material-dashboard.css index 4b2dc50c..223c69a9 100644 --- a/public/css/material-dashboard.css +++ b/public/css/material-dashboard.css @@ -3305,9 +3305,9 @@ fieldset:disabled a.btn { } .btn-secondary:hover { - color: #ffffff !important; - background-color: #5a6268 !important; - border-color: #545b62 !important; + color: #ffffff; + background-color: #5a6268; + border-color: #545b62; } .btn-secondary:focus, diff --git a/public/js/plugins/schedule/editor.js b/public/js/plugins/schedule/editor.js index 67ab97db..e47df87f 100644 --- a/public/js/plugins/schedule/editor.js +++ b/public/js/plugins/schedule/editor.js @@ -1,4 +1,7 @@ var editorTemplate; +var nbOfPeriode; +var nbOfLevel; +var emptyPeriode; function initScheduleEditor(id, eventType) { @@ -7,8 +10,8 @@ function initScheduleEditor(id, eventType) url: '/api/schedule/editor/init/'+eventType+'?api_token='+api_token, success: function (template) { $("#"+id).html(template); - for (let pniveau = 1; pniveau <= 3; pniveau++) { - for (let pperiode = 1; pperiode <= 3; pperiode++) { + for (let pniveau = 1; pniveau <= nbOfLevel; pniveau++) { + for (let pperiode = 1; pperiode <= nbOfPeriode; pperiode++) { loadCourse(pniveau,pperiode); } } @@ -36,6 +39,7 @@ function initScheduleEditor(id, eventType) lang: 'fr' }); $('select').selectpicker(); + } function switchUseWeeklyMsg() @@ -78,6 +82,54 @@ function loadCourse(periode,niveau) }) } +function addPeriode() +{ + var periodeToAdd = nbOfPeriode+1; + $.ajax({ + type: 'GET', + url: '/api/schedule/editor/emptyperiode/'+periodeToAdd+'?api_token='+api_token+'&nblevel='+nbOfLevel, + success: function (template) { + $('#row-'+nbOfPeriode).after(template); + for (let i = 1; i <= nbOfLevel; i++) { + loadCourse(periodeToAdd,i); + } + nbOfPeriode = periodeToAdd; + initAutoComplete("AutoCompleteUser"); + initAutoCompleteOCOM('AutoCompleteOCOM'); + }, + error: function () { + showNotification('error','Impossible d\'initialiser l\'éditeur d\'horaire ...','top', 'center') + } + }) +} + +function addLevel() +{ + var levelToAdd = nbOfLevel+1; + var oldnbOfLevel = nbOfLevel; + nbOfLevel++; + $.ajax({ + type: 'GET', + url: '/api/schedule/editor/levelHeader/'+levelToAdd+'?api_token='+api_token, + success: function (template) { + $('#levelHeader-'+oldnbOfLevel).after(template) + for (let i = 1; i <= nbOfPeriode; i++) { + $('#container-'+oldnbOfLevel+'-'+i).after('
@loaderDot
'); + } + for (let i = 1; i <= nbOfPeriode; i++) { + loadCourse(i,levelToAdd); + } + }, + error: function () { + showNotification('error','Impossible d\'ajouter une nouvelle entête de niveau ...','top', 'center') + } + }) + setTimeout(function () { + initAutoComplete("AutoCompleteUser"); + initAutoCompleteOCOM('AutoCompleteOCOM'); + },1000) +} + function loadEventType(date) { var selectInput = $('#type'); @@ -88,6 +140,8 @@ function loadEventType(date) success: function (data) { var result = JSON.parse(data); editorTemplate = result; + nbOfLevel = editorTemplate.schedule_model.niveaux.length; + nbOfPeriode = editorTemplate.schedule_model.periodes.length; initScheduleEditor("scheduleEditor",id) $.each(result, function (i, val) { if(i == "is_mandatory" || i == "use_schedule" || i == "use_weekly_msg") @@ -212,16 +266,16 @@ function selectCourseMode(mode, niveau, periode) function selectCourseModePeriode(mode,periode) { - $.each(editorTemplate['schedule_model']['niveaux'], function (i, val) { + for (let i = 0; i < nbOfLevel; i++) { selectCourseMode(mode,i+1,periode); - }); + } } function selectCourseModeNiveau(mode,niveau) { - $.each(editorTemplate['schedule_model']['periodes'], function (i, val) { + for (let i = 0; i < nbOfPeriode; i++) { selectCourseMode(mode,niveau,i+1); - }); + } } function updatePlantext(toggle,id) diff --git a/resources/views/admin/schedule/editor/course.blade.php b/resources/views/admin/schedule/editor/course.blade.php index 17a7b53c..4e7c8361 100644 --- a/resources/views/admin/schedule/editor/course.blade.php +++ b/resources/views/admin/schedule/editor/course.blade.php @@ -25,18 +25,18 @@
-
+
- +
- +
- + @@ -53,7 +53,7 @@
- + @@ -62,7 +62,7 @@
- +
-
- Test -
\ No newline at end of file diff --git a/resources/views/admin/schedule/editor/level.blade.php b/resources/views/admin/schedule/editor/level.blade.php new file mode 100644 index 00000000..d4290ba9 --- /dev/null +++ b/resources/views/admin/schedule/editor/level.blade.php @@ -0,0 +1,3 @@ +
+ @loaderDot +
\ No newline at end of file diff --git a/resources/views/admin/schedule/editor/levelHeader.blade.php b/resources/views/admin/schedule/editor/levelHeader.blade.php new file mode 100644 index 00000000..0502fe08 --- /dev/null +++ b/resources/views/admin/schedule/editor/levelHeader.blade.php @@ -0,0 +1,21 @@ +
+
+
+
+ + +
+
+
+ + +
+
+
\ No newline at end of file diff --git a/resources/views/admin/schedule/editor/periode.blade.php b/resources/views/admin/schedule/editor/periode.blade.php new file mode 100644 index 00000000..06910423 --- /dev/null +++ b/resources/views/admin/schedule/editor/periode.blade.php @@ -0,0 +1,43 @@ +
+
+
+
+
+ + +
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ @for($i = 1; $i <= $nbLevel;$i++) + @include('admin.schedule.editor.level',['periode_id' => $periode_id,'level_id' => $i]) + @endfor +
+ +
+
\ No newline at end of file diff --git a/resources/views/admin/schedule/editor/template.blade.php b/resources/views/admin/schedule/editor/template.blade.php index d21dd37e..b240caaa 100644 --- a/resources/views/admin/schedule/editor/template.blade.php +++ b/resources/views/admin/schedule/editor/template.blade.php @@ -5,84 +5,26 @@
@foreach($eventType->schedule_model['niveaux'] as $niveau) -
-
-
-
- - -
-
-
- - -
-
-
+ @include('admin.schedule.editor.levelHeader',['level_id' => $loop->index+1,'level_name' => $niveau['name']]) @endforeach
-
@foreach($eventType->schedule_model['periodes'] as $periode) -
-
-
-
-
- - -
-
-
- - -
-
-
-
-
- - -
-
-
-
- - -
-
-
-
- @foreach($eventType->schedule_model['niveaux'] as $niveau) -
- @loaderDot -
- @endforeach -
- -
-
+ @include('admin.schedule.editor.periode',[ + 'periode_name' => $periode['name'], + 'periode_begin_time' => $periode['begin_time'], + 'periode_end_time' => $periode['end_time'], + 'periode_id' => $loop->index+1, + 'nbLevel' => count($eventType->schedule_model['niveaux']) + ]) @endforeach
-
diff --git a/routes/api.php b/routes/api.php index 31a6728a..16733b22 100644 --- a/routes/api.php +++ b/routes/api.php @@ -22,6 +22,9 @@ Route::middleware('auth:api')->group(function () { Route::get('/schedule/editor/init/{id}','ScheduleEditorController@getTemplate')->middleware('perm:schedule_edit'); Route::get('/schedule/editor/course/{niveau}/{periode}','ScheduleEditorController@getCourseEmpty')->middleware('perm:schedule_edit'); Route::get('/schedule/editor/template/{id}','ScheduleEditorController@getEventTemplate')->middleware('perm:schedule_add'); + Route::get('/schedule/editor/emptyperiode/{id}','ScheduleEditorController@getEmptyPeriode')->middleware('perm:schedule_add'); + Route::get('/schedule/editor/emptylevel/{id}','ScheduleEditorController@getEmptyLevel')->middleware('perm:schedule_add'); + Route::get('/schedule/editor/levelHeader/{id}','ScheduleEditorController@getLevelHeader')->middleware('perm:schedule_add'); Route::post('/schedule/event/delete/{id}','ScheduleController@delete')->middleware('perm:schedule_delete'); /** Booking */ diff --git a/routes/web.php b/routes/web.php index 093884cd..61206113 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,6 +16,9 @@ use Illuminate\Support\Facades\Storage; Auth::routes(); Route::get('logout', 'Auth\LoginController@logout')->name('logout'); Route::get("/test/{id}",'ScheduleEditorController@getEventTemplate'); +Route::get("/test/{id}",'ScheduleEditorController@getEventTemplate'); +Route::get('/ocom/create','OCOMController@create'); + /** Public Route */ From 03cf1c54937b5dc8872ea7a988faf1827e61d706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lagac=C3=A9=20Mathieu?= Date: Fri, 24 Jan 2020 10:33:16 -0500 Subject: [PATCH 04/12] Test performance --- app/Event.php | 5 + app/Http/Controllers/EventController.php | 58 +- app/Http/Controllers/ScheduleController.php | 25 +- composer.json | 3 +- composer.lock | 151 +- .../2019_08_17_102431_create_events_table.php | 6 +- ...2019_08_17_102836_create_courses_table.php | 2 +- ..._12_22_145445_create_event_types_table.php | 5 +- database/seeds/DatabaseSeeder.php | 1 + database/seeds/EventTypeSeeder.php | 49 + phpunit.dusk.xml | 21 + public/js/app.js | 4 +- public/js/calendar.js | 7 +- .../fontawesome-iconpicker.css | 312 ++ .../fontawesome-iconpicker.js | 3912 +++++++++++++++++ .../fontawesome-iconpicker.min.css | 9 + .../fontawesome-iconpicker.min.js | 20 + public/js/plugins/schedule/editor.js | 15 +- public/mix-manifest.json | 2 - resources/views/admin/dashboard.blade.php | 4 +- .../admin/schedule/editor/course.blade.php | 12 +- .../schedule/editor/levelHeader.blade.php | 10 +- .../admin/schedule/editor/periode.blade.php | 10 +- .../admin/schedule/editor/template.blade.php | 10 +- .../views/admin/schedule/event/add.blade.php | 197 +- resources/views/ecc/booking.blade.php | 86 - resources/views/ecc/calendar.blade.php | 21 - resources/views/ecc/calendar_date.blade.php | 273 -- resources/views/ecc/dashboard.blade.php | 240 - resources/views/ecc/files.blade.php | 130 - resources/views/ecc/guide.blade.php | 55 - resources/views/ecc/list.blade.php | 35 - resources/views/ecc/message.blade.php | 25 - resources/views/ecc/messages.blade.php | 41 - resources/views/ecc/settings.blade.php | 50 - resources/views/ecc/settings/adress.blade.php | 50 - resources/views/ecc/settings/avatar.blade.php | 55 - .../views/ecc/settings/password.blade.php | 57 - resources/views/ecc/update.blade.php | 234 - resources/views/layouts/admin/head.blade.php | 6 +- .../views/layouts/admin/scripts.blade.php | 3 +- resources/views/layouts/ecc/footer.blade.php | 7 - resources/views/layouts/ecc/head.blade.php | 28 - resources/views/layouts/ecc/header.blade.php | 49 - resources/views/layouts/ecc/main.blade.php | 33 - resources/views/layouts/ecc/scripts.blade.php | 27 - resources/views/layouts/ecc/sidebar.blade.php | 69 - tests/Browser/LoginTest.php | 2 +- 48 files changed, 4699 insertions(+), 1727 deletions(-) create mode 100644 database/seeds/EventTypeSeeder.php create mode 100644 phpunit.dusk.xml create mode 100644 public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css create mode 100644 public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.js create mode 100644 public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.css create mode 100644 public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.js delete mode 100644 resources/views/ecc/booking.blade.php delete mode 100644 resources/views/ecc/calendar.blade.php delete mode 100644 resources/views/ecc/calendar_date.blade.php delete mode 100644 resources/views/ecc/dashboard.blade.php delete mode 100644 resources/views/ecc/files.blade.php delete mode 100644 resources/views/ecc/guide.blade.php delete mode 100644 resources/views/ecc/list.blade.php delete mode 100644 resources/views/ecc/message.blade.php delete mode 100644 resources/views/ecc/messages.blade.php delete mode 100644 resources/views/ecc/settings.blade.php delete mode 100644 resources/views/ecc/settings/adress.blade.php delete mode 100644 resources/views/ecc/settings/avatar.blade.php delete mode 100644 resources/views/ecc/settings/password.blade.php delete mode 100644 resources/views/ecc/update.blade.php delete mode 100644 resources/views/layouts/ecc/footer.blade.php delete mode 100644 resources/views/layouts/ecc/head.blade.php delete mode 100644 resources/views/layouts/ecc/header.blade.php delete mode 100644 resources/views/layouts/ecc/main.blade.php delete mode 100644 resources/views/layouts/ecc/scripts.blade.php delete mode 100644 resources/views/layouts/ecc/sidebar.blade.php diff --git a/app/Event.php b/app/Event.php index d3dcf87c..ce14abe5 100644 --- a/app/Event.php +++ b/app/Event.php @@ -6,6 +6,11 @@ use Illuminate\Database\Eloquent\Model; class Event extends Model { + protected $casts = [ + 'schedule' => 'array', + 'msg' => 'array' + ]; + public function bookings() { return $this->morphMany('App\Booking', 'bookable'); diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index f91c1c7b..09aa5c1d 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -36,42 +36,76 @@ class EventController extends Controller */ public function store() { - dd(\request()); $event = new Event(); $event->name = request('name'); - $event->date_begin = request('begin'); - $event->date_end = request('end'); + $event->date_begin = request('begin_time'); + $event->date_end = request('end_time'); $event->type = request('type'); $event->user_id = \Auth::user()->id; $event->location = request('location'); + if(request('is_mandatory') != null){ $event->is_mandatory = 1; } else { $event->is_mandatory = 0; } - $event->desc = request('desc'); - if(\request('msg')) + + $event->desc = ''; + + if(\request("use_weekly_msg")) { + $event->use_weekly_msg = 1; $event->msg = request('msg'); } else { + $event->use_weekly_msg = 0; $event->msg = ""; } - if(\request('date_msg')) + + if(\request("use_schedule")) { - $event->date_msg = request('date_msg'); + $event->use_schedule = 1; } else { - $event->date_msg = ""; + $event->use_schedule = 0; } + + $event->calendar_color = \request('calendar_color'); + $event->calendar_icon = \request('calendar_icon'); + + $nbLevel = 1; + $niveaux = []; + while (\request('level_name_'.$nbLevel)) + { + array_push($niveaux,['name' => \request('level_name_'.$nbLevel)]); + $nbLevel++; + } + + $nbPeriode = 1; + $periodes = []; + while (\request('periode_name_'.$nbPeriode)) + { + array_push($periodes,[ + 'name' => \request('periode_name_'.$nbPeriode), + 'begin_time' => \request('periode_begin_time_'.$nbPeriode), + 'end_time' => \request('periode_end_time_'.$nbPeriode) + ]); + $nbPeriode++; + } + + $event->schedule = [ + 'periodes' => $periodes, + 'niveaux' => $niveaux + ]; + $event->save(); - if ($event->type == 1) { - for ($l=1; $l <= \App\Config::getData('admin_level_in_schedule_nb'); $l++) { - for ($p=1; $p <= \App\Config::getData('admin_periode_nb'); $p++) { + if ($event->use_schedule) { + for ($l=1; $l < $nbLevel; $l++) { + for ($p=1; $p < $nbPeriode; $p++) { $course = new \App\Course(); @@ -88,7 +122,7 @@ class EventController extends Controller $course->name = request('name_n'.$l.'_p'.$p); $course->user_id = $instructor; $course->ocom = request('ocom_n'.$l.'_p'.$p); - $course->location = request('loc_n'.$l.'_p'.$p); + $course->location = request('location_n'.$l.'_p'.$p); $course->periode = $p; $course->level = $l; diff --git a/app/Http/Controllers/ScheduleController.php b/app/Http/Controllers/ScheduleController.php index ad0bef3e..dcb0ea49 100644 --- a/app/Http/Controllers/ScheduleController.php +++ b/app/Http/Controllers/ScheduleController.php @@ -99,9 +99,25 @@ class ScheduleController extends Controller } foreach ($events as $event) { - - $color = $this->getColor($event->type); - + + if($event->calendar_color == null) + { + $color = $this->getColor($event->type); + } + else + { + $color = $event->calendar_color; + } + + if($event->calendar_icon == null) + { + $icon = ""; + } + else + { + $icon = $event->calendar_icon; + } + $myevent = [ 'title' => $event->name, 'start' => date('c',strtotime($event->date_begin)), @@ -109,7 +125,8 @@ class ScheduleController extends Controller 'color' => $color, 'extraParams' => [ 'db_type' => 'event'], - 'id' => $event->id + 'id' => $event->id, + 'icon' => $icon ]; array_push($jsonevents,$myevent); } diff --git a/composer.json b/composer.json index 3e3ab2db..9168163f 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,8 @@ "laravel/dusk": "^5.6", "mockery/mockery": "^1.0", "nunomaduro/collision": "^2.0", - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^7.0", + "staudenmeir/dusk-updater": "^1.1" }, "autoload": { "classmap": [ diff --git a/composer.lock b/composer.lock index 75459114..bcb3ec1f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "a086e5bc47221176f2f7258e41366c37", + "content-hash": "eb2e0f9a332c6bc503c5535d872c50e7", "packages": [ { "name": "barryvdh/laravel-dompdf", @@ -184,16 +184,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.4", + "version": "1.2.5", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527" + "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/10bb96592168a0f8e8f6dcde3532d9fa50b0b527", - "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/62e8fc2dc550e5d6d8c9360c7721662670f58149", + "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149", "shasum": "" }, "require": { @@ -204,7 +204,7 @@ "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "type": "library", "extra": { @@ -236,7 +236,7 @@ "ssl", "tls" ], - "time": "2019-08-30T08:44:50+00:00" + "time": "2019-12-11T14:44:42+00:00" }, { "name": "composer/composer", @@ -486,25 +486,25 @@ }, { "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", + "version": "v0.1.1", "source": { "type": "git", "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", "shasum": "" }, "require": { "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "@stable" + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" }, - "type": "project", + "type": "library", "autoload": { "psr-4": { "XdgBaseDir\\": "src/" @@ -515,7 +515,7 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24T07:27:01+00:00" + "time": "2019-12-04T15:06:13+00:00" }, { "name": "doctrine/cache", @@ -1176,16 +1176,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.4.1", + "version": "6.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "0895c932405407fd3a7368b6910c09a24d26db11" + "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0895c932405407fd3a7368b6910c09a24d26db11", - "reference": "0895c932405407fd3a7368b6910c09a24d26db11", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", + "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", "shasum": "" }, "require": { @@ -1200,12 +1200,13 @@ "psr/log": "^1.1" }, "suggest": { + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.3-dev" + "dev-master": "6.5-dev" } }, "autoload": { @@ -1238,7 +1239,7 @@ "rest", "web service" ], - "time": "2019-10-23T15:58:00+00:00" + "time": "2019-12-07T18:20:45+00:00" }, { "name": "guzzlehttp/promises", @@ -1518,16 +1519,16 @@ }, { "name": "laravel/framework", - "version": "v6.6.2", + "version": "v6.7.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "27efba7e13aaf91a87ae9a63db158e943eb71410" + "reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/27efba7e13aaf91a87ae9a63db158e943eb71410", - "reference": "27efba7e13aaf91a87ae9a63db158e943eb71410", + "url": "https://api.github.com/repos/laravel/framework/zipball/ba4204f3a8b9672b6116398c165bd9c0c6eac077", + "reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077", "shasum": "" }, "require": { @@ -1660,7 +1661,7 @@ "framework", "laravel" ], - "time": "2019-12-05T13:49:53+00:00" + "time": "2019-12-10T16:01:57+00:00" }, { "name": "laravel/helpers", @@ -1717,16 +1718,16 @@ }, { "name": "laravel/nexmo-notification-channel", - "version": "v2.2.1", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/laravel/nexmo-notification-channel.git", - "reference": "7ff1765564f6ac4005c0734d5ca66556d63faab6" + "reference": "da1ba24ecd9877e461fc3fdd68761328eaf035e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nexmo-notification-channel/zipball/7ff1765564f6ac4005c0734d5ca66556d63faab6", - "reference": "7ff1765564f6ac4005c0734d5ca66556d63faab6", + "url": "https://api.github.com/repos/laravel/nexmo-notification-channel/zipball/da1ba24ecd9877e461fc3fdd68761328eaf035e3", + "reference": "da1ba24ecd9877e461fc3fdd68761328eaf035e3", "shasum": "" }, "require": { @@ -1770,7 +1771,7 @@ "nexmo", "notifications" ], - "time": "2019-10-29T16:11:56+00:00" + "time": "2019-12-10T16:54:57+00:00" }, { "name": "laravel/tinker", @@ -1892,16 +1893,16 @@ }, { "name": "league/flysystem", - "version": "1.0.57", + "version": "1.0.61", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a" + "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fb13c01784a6c9f165a351e996871488ca2d8c9", + "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9", "shasum": "" }, "require": { @@ -1972,7 +1973,7 @@ "sftp", "storage" ], - "time": "2019-10-16T21:01:05+00:00" + "time": "2019-12-08T21:46:50+00:00" }, { "name": "monolog/monolog", @@ -2757,16 +2758,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e" + "reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/f4e7a6a1382183412246f0d361078c29fb85089e", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/a8593bf5176bf3d3f2966942c530be19b44ec87c", + "reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c", "shasum": "" }, "require": { @@ -2807,7 +2808,7 @@ "php", "type" ], - "time": "2019-11-30T20:20:49+00:00" + "time": "2019-12-11T13:45:14+00:00" }, { "name": "psr/container", @@ -3106,20 +3107,20 @@ }, { "name": "psy/psysh", - "version": "v0.9.11", + "version": "v0.9.12", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e" + "reference": "90da7f37568aee36b116a030c5f99c915267edd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/75d9ac1c16db676de27ab554a4152b594be4748e", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/90da7f37568aee36b116a030c5f99c915267edd4", + "reference": "90da7f37568aee36b116a030c5f99c915267edd4", "shasum": "" }, "require": { - "dnoegel/php-xdg-base-dir": "0.1", + "dnoegel/php-xdg-base-dir": "0.1.*", "ext-json": "*", "ext-tokenizer": "*", "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", @@ -3176,7 +3177,7 @@ "interactive", "shell" ], - "time": "2019-11-27T22:44:29+00:00" + "time": "2019-12-06T14:19:43+00:00" }, { "name": "ralouphie/getallheaders", @@ -6186,16 +6187,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.17", + "version": "7.5.18", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a" + "reference": "fcf6c4bfafaadc07785528b06385cce88935474d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4c92a15296e58191a4cd74cff3b34fc8e374174a", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fcf6c4bfafaadc07785528b06385cce88935474d", + "reference": "fcf6c4bfafaadc07785528b06385cce88935474d", "shasum": "" }, "require": { @@ -6266,7 +6267,7 @@ "testing", "xunit" ], - "time": "2019-10-28T10:37:36+00:00" + "time": "2019-12-06T05:14:37+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -6834,6 +6835,54 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2016-10-03T07:35:21+00:00" }, + { + "name": "staudenmeir/dusk-updater", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/staudenmeir/dusk-updater.git", + "reference": "f3450cb8dbb9fdbc1a1aee144c666a44983394c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staudenmeir/dusk-updater/zipball/f3450cb8dbb9fdbc1a1aee144c666a44983394c2", + "reference": "f3450cb8dbb9fdbc1a1aee144c666a44983394c2", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-zip": "*", + "php": ">=5.6.4" + }, + "require-dev": { + "orchestra/testbench": "^4.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Staudenmeir\\DuskUpdater\\DuskServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Staudenmeir\\DuskUpdater\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonas Staudenmeir", + "email": "mail@jonas-staudenmeir.de" + } + ], + "description": "Updater for Laravel Dusk ChromeDriver binaries", + "time": "2019-09-16T12:22:08+00:00" + }, { "name": "theseer/tokenizer", "version": "1.1.3", diff --git a/database/migrations/2019_08_17_102431_create_events_table.php b/database/migrations/2019_08_17_102431_create_events_table.php index d46edc27..bcc40f6e 100644 --- a/database/migrations/2019_08_17_102431_create_events_table.php +++ b/database/migrations/2019_08_17_102431_create_events_table.php @@ -22,9 +22,13 @@ class CreateEventsTable extends Migration $table->string('user_id'); $table->string('location'); $table->boolean('is_mandatory'); + $table->boolean('use_weekly_msg'); + $table->boolean('use_schedule'); $table->text('desc'); $table->text('msg'); - $table->string('date_msg'); + $table->text('schedule'); + $table->string('calendar_color'); + $table->string('calendar_icon'); $table->timestamps(); }); } diff --git a/database/migrations/2019_08_17_102836_create_courses_table.php b/database/migrations/2019_08_17_102836_create_courses_table.php index 16314a66..3782007b 100644 --- a/database/migrations/2019_08_17_102836_create_courses_table.php +++ b/database/migrations/2019_08_17_102836_create_courses_table.php @@ -22,7 +22,7 @@ class CreateCoursesTable extends Migration $table->string('location'); $table->text('comment'); $table->integer('event_id'); - $table->integer('user_id'); + $table->string('user_id'); $table->timestamps(); }); } diff --git a/database/migrations/2019_12_22_145445_create_event_types_table.php b/database/migrations/2019_12_22_145445_create_event_types_table.php index 210d134d..896452f1 100644 --- a/database/migrations/2019_12_22_145445_create_event_types_table.php +++ b/database/migrations/2019_12_22_145445_create_event_types_table.php @@ -17,8 +17,8 @@ class CreateEventTypesTable extends Migration $table->bigIncrements('id'); $table->string('name'); $table->text('admin_desc'); - $table->string('calendar_color')->default('blue'); - $table->string('calendar_icon')->default(''); + $table->string('calendar_color')->default('#FFFFFF'); + $table->string('calendar_icon')->default('fa fa-question-circle'); $table->string('begin_time')->default('12:00'); $table->string('end_time')->default('13:00'); $table->string('location')->default('Escadron'); @@ -27,6 +27,7 @@ class CreateEventTypesTable extends Migration $table->string('weekly_msg_publication_time')->default('-5day'); $table->boolean('use_schedule')->default(false); $table->text('schedule_model'); + $table->text('weekly_msg'); $table->boolean('is_promoted')->default(false); $table->timestamps(); }); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 422c9148..c9566312 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -17,6 +17,7 @@ class DatabaseSeeder extends Seeder ConfigsTableSeeder::class, UsersTableSeeder::class, ComplementaryActivitiesSeeder::class, + EventTypeSeeder::class, ]); } } diff --git a/database/seeds/EventTypeSeeder.php b/database/seeds/EventTypeSeeder.php new file mode 100644 index 00000000..50d252f4 --- /dev/null +++ b/database/seeds/EventTypeSeeder.php @@ -0,0 +1,49 @@ +insert([ + [ + 'name' => 'Par défault', + 'calendar_color' => '#A4A4A4', + 'calendar_icon' => 'fas fa-book', + 'begin_time' => '18:30', + 'end_time' => '21:45', + 'Location' => 'Escadron', + 'is_mandatory' => '0', + 'use_weekly_msg' => '0', + 'weekly_msg' => '

/* Nom de l\'évènement */

Heure (Cadets):

Lieu:

Tenue:

Matériel:

/* Commentaire */

', + 'weekly_msg_publication_time' => '-5days', + 'use_schedule' => '0', + 'schedule_model' => '{"periodes":[{"name":"Periode 1","begin_time":"19:00","end_time":"20:10"},{"name":"Pause","begin_time":"20:10","end_time":"20:30"},{"name":"Periode 2","begin_time":"20:30","end_time":"21:20"}],"niveaux":[{"name":"Niveau 1"},{"name":"Niveau 2"},{"name":"Niveau 3"}]}', + 'is_promoted' => '0', + 'admin_desc' => 'Veuillez modifier la description admin par défaut', + ], + [ + 'name' => 'Soirée d\'instruction régulière', + 'calendar_color' => 'orange', + 'calendar_icon' => 'fas fa-book', + 'begin_time' => '18:30', + 'end_time' => '21:45', + 'Location' => 'Escadron', + 'is_mandatory' => '1', + 'use_weekly_msg' => '1', + 'weekly_msg' => '

/* Nom de l\'évènement */

Heure (Cadets):

Lieu:

Tenue:

Matériel:

/* Commentaire */

', + 'weekly_msg_publication_time' => '-5days', + 'use_schedule' => '1', + 'schedule_model' => '{"periodes":[{"name":"Periode 1","begin_time":"19:00","end_time":"20:10"},{"name":"Pause","begin_time":"20:10","end_time":"20:30"},{"name":"Periode 2","begin_time":"20:30","end_time":"21:20"}],"niveaux":[{"name":"Niveau 1"},{"name":"Niveau 2"},{"name":"Niveau 3"}]}', + 'is_promoted' => '0', + 'admin_desc' => 'Veuillez modifier la description admin par défaut', + ] + ]); + } +} diff --git a/phpunit.dusk.xml b/phpunit.dusk.xml new file mode 100644 index 00000000..60392c93 --- /dev/null +++ b/phpunit.dusk.xml @@ -0,0 +1,21 @@ + + + + + ./tests/Browser + + + + + ./app + + + diff --git a/public/js/app.js b/public/js/app.js index 1ab94bcd..11818cd2 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -49135,13 +49135,13 @@ if (false) { /* 43 */ /***/ (function(module, exports) { -// removed by extract-text-webpack-plugin +throw new Error("Module build failed: ModuleBuildError: Module build failed: Error: Missing binding /home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/vendor/linux-x64-72/binding.node\nNode Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x\n\nFound bindings for the following environments:\n - Linux 64-bit with Node.js 8.x\n\nThis usually happens because your environment has changed since running `npm install`.\nRun `npm rebuild node-sass` to download the binding for your current environment.\n at module.exports (/home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/lib/binding.js:15:13)\n at Object. (/home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:945:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)\n at Module.load (internal/modules/cjs/loader.js:798:32)\n at Function.Module._load (internal/modules/cjs/loader.js:711:12)\n at Module.require (internal/modules/cjs/loader.js:838:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/home/etudiant/PhpstormProjects/c-cms/node_modules/sass-loader/lib/loader.js:3:14)\n at Module._compile (internal/modules/cjs/loader.js:945:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)\n at Module.load (internal/modules/cjs/loader.js:798:32)\n at Function.Module._load (internal/modules/cjs/loader.js:711:12)\n at Module.require (internal/modules/cjs/loader.js:838:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:18:17)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:365:2)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:195:19\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:367:11\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:172:11\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:32:11)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:365:2)\n at NormalModule.doBuild (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:182:3)\n at NormalModule.build (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:275:15)\n at Compilation.buildModule (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/Compilation.js:157:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/Compilation.js:460:10\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:243:5\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:94:13\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/tapable/lib/Tapable.js:268:11\n at NormalModuleFactory. (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/CompatibilityPlugin.js:52:5)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/home/etudiant/PhpstormProjects/c-cms/node_modules/tapable/lib/Tapable.js:272:13)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:69:10\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:196:7\n at processTicksAndRejections (internal/process/task_queues.js:75:11)"); /***/ }), /* 44 */ /***/ (function(module, exports) { -// removed by extract-text-webpack-plugin +throw new Error("Module build failed: ModuleBuildError: Module build failed: Error: Missing binding /home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/vendor/linux-x64-72/binding.node\nNode Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x\n\nFound bindings for the following environments:\n - Linux 64-bit with Node.js 8.x\n\nThis usually happens because your environment has changed since running `npm install`.\nRun `npm rebuild node-sass` to download the binding for your current environment.\n at module.exports (/home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/lib/binding.js:15:13)\n at Object. (/home/etudiant/PhpstormProjects/c-cms/node_modules/node-sass/lib/index.js:14:35)\n at Module._compile (internal/modules/cjs/loader.js:945:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)\n at Module.load (internal/modules/cjs/loader.js:798:32)\n at Function.Module._load (internal/modules/cjs/loader.js:711:12)\n at Module.require (internal/modules/cjs/loader.js:838:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at Object. (/home/etudiant/PhpstormProjects/c-cms/node_modules/sass-loader/lib/loader.js:3:14)\n at Module._compile (internal/modules/cjs/loader.js:945:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)\n at Module.load (internal/modules/cjs/loader.js:798:32)\n at Function.Module._load (internal/modules/cjs/loader.js:711:12)\n at Module.require (internal/modules/cjs/loader.js:838:19)\n at require (internal/modules/cjs/helpers.js:74:18)\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:18:17)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:365:2)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:195:19\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:367:11\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:172:11\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:32:11)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:176:18\n at loadLoader (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/loadLoader.js:47:3)\n at iteratePitchingLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n at runLoaders (/home/etudiant/PhpstormProjects/c-cms/node_modules/loader-runner/lib/LoaderRunner.js:365:2)\n at NormalModule.doBuild (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:182:3)\n at NormalModule.build (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModule.js:275:15)\n at Compilation.buildModule (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/Compilation.js:157:10)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/Compilation.js:460:10\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:243:5\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:94:13\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/tapable/lib/Tapable.js:268:11\n at NormalModuleFactory. (/home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/CompatibilityPlugin.js:52:5)\n at NormalModuleFactory.applyPluginsAsyncWaterfall (/home/etudiant/PhpstormProjects/c-cms/node_modules/tapable/lib/Tapable.js:272:13)\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:69:10\n at /home/etudiant/PhpstormProjects/c-cms/node_modules/webpack/lib/NormalModuleFactory.js:196:7\n at processTicksAndRejections (internal/process/task_queues.js:75:11)"); /***/ }) /******/ ]); \ No newline at end of file diff --git a/public/js/calendar.js b/public/js/calendar.js index 4a0ea46a..5e5b4aeb 100644 --- a/public/js/calendar.js +++ b/public/js/calendar.js @@ -11,6 +11,11 @@ function initFullCalendar(authToken) { right: 'prev,next' }, events: '/api/schedule/events', + eventRender: function(event, element) { + if(event.icon){ + element.find(".fc-title").prepend(""); + } + }, eventClick: function (info) { $.get("/api/schedule/events/modal/full/" + info.event.id + "/"+ info.event.extendedProps.extraParams.db_type + "?api_token="+authToken, function (data) { $("#modal-content").html(data); @@ -102,4 +107,4 @@ function deleteEvent(pid){ }) } }) -} \ No newline at end of file +} diff --git a/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css new file mode 100644 index 00000000..c1c2961c --- /dev/null +++ b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css @@ -0,0 +1,312 @@ +/*! + * Font Awesome Icon Picker + * https://farbelous.github.io/fontawesome-iconpicker/ + * + * Originally written by (c) 2016 Javi Aguilar + * Licensed under the MIT License + * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE + * + */ +.iconpicker-popover.popover { + position: absolute; + top: 0; + left: 0; + display: none; + max-width: none; + padding: 1px; + text-align: left; + width: 234px; + background: #f7f7f7; + z-index: 9; +} +.iconpicker-popover.popover.top, +.iconpicker-popover.popover.topLeftCorner, +.iconpicker-popover.popover.topLeft, +.iconpicker-popover.popover.topRight, +.iconpicker-popover.popover.topRightCorner { + margin-top: -10px; +} +.iconpicker-popover.popover.right, +.iconpicker-popover.popover.rightTop, +.iconpicker-popover.popover.rightBottom { + margin-left: 10px; +} +.iconpicker-popover.popover.bottom, +.iconpicker-popover.popover.bottomRightCorner, +.iconpicker-popover.popover.bottomRight, +.iconpicker-popover.popover.bottomLeft, +.iconpicker-popover.popover.bottomLeftCorner { + margin-top: 10px; +} +.iconpicker-popover.popover.left, +.iconpicker-popover.popover.leftBottom, +.iconpicker-popover.popover.leftTop { + margin-left: -10px; +} +.iconpicker-popover.popover.inline { + margin: 0 0 12px 0; + position: relative; + display: inline-block; + opacity: 1; + top: auto; + left: auto; + bottom: auto; + right: auto; + max-width: 100%; + box-shadow: none; + z-index: auto; + vertical-align: top; +} +.iconpicker-popover.popover.inline > .arrow { + display: none; +} +.dropdown-menu .iconpicker-popover.inline { + margin: 0; + border: none; +} +.dropdown-menu.iconpicker-container { + padding: 0; +} +.iconpicker-popover.popover .popover-title { + padding: 12px; + font-size: 13px; + line-height: 15px; + border-bottom: 1px solid #ebebeb; + background-color: #f7f7f7; +} +.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search { + margin: 0 0 2px 0; +} +.iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search { + margin-top: 12px; +} +.iconpicker-popover.popover .popover-content { + padding: 0px; + text-align: center; +} +.iconpicker-popover .popover-footer { + float: none; + clear: both; + padding: 12px; + text-align: right; + margin: 0; + border-top: 1px solid #ebebeb; + background-color: #f7f7f7; +} +.iconpicker-popover .popover-footer:before, +.iconpicker-popover .popover-footer:after { + content: " "; + display: table; +} +.iconpicker-popover .popover-footer:after { + clear: both; +} +.iconpicker-popover .popover-footer .iconpicker-btn { + margin-left: 10px; +} +.iconpicker-popover .popover-footer input[type=search].iconpicker-search { + /*width:auto; + float:left;*/ + margin-bottom: 12px; +} +.iconpicker-popover.popover > .arrow, +.iconpicker-popover.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.iconpicker-popover.popover > .arrow { + border-width: 11px; +} +.iconpicker-popover.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.iconpicker-popover.popover.top > .arrow, +.iconpicker-popover.popover.topLeft > .arrow, +.iconpicker-popover.popover.topRight > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.iconpicker-popover.popover.top > .arrow:after, +.iconpicker-popover.popover.topLeft > .arrow:after, +.iconpicker-popover.popover.topRight > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #ffffff; +} +.iconpicker-popover.popover.topLeft > .arrow { + left: 8px; + margin-left: 0; +} +.iconpicker-popover.popover.topRight > .arrow { + left: auto; + right: 8px; + margin-left: 0; +} +.iconpicker-popover.popover.right > .arrow, +.iconpicker-popover.popover.rightTop > .arrow, +.iconpicker-popover.popover.rightBottom > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.iconpicker-popover.popover.right > .arrow:after, +.iconpicker-popover.popover.rightTop > .arrow:after, +.iconpicker-popover.popover.rightBottom > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #ffffff; +} +.iconpicker-popover.popover.rightTop > .arrow { + top: auto; + bottom: 8px; + margin-top: 0; +} +.iconpicker-popover.popover.rightBottom > .arrow { + top: 8px; + margin-top: 0; +} +.iconpicker-popover.popover.bottom > .arrow, +.iconpicker-popover.popover.bottomRight > .arrow, +.iconpicker-popover.popover.bottomLeft > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.iconpicker-popover.popover.bottom > .arrow:after, +.iconpicker-popover.popover.bottomRight > .arrow:after, +.iconpicker-popover.popover.bottomLeft > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #ffffff; +} +.iconpicker-popover.popover.bottomLeft > .arrow { + left: 8px; + margin-left: 0; +} +.iconpicker-popover.popover.bottomRight > .arrow { + left: auto; + right: 8px; + margin-left: 0; +} +.iconpicker-popover.popover.left > .arrow, +.iconpicker-popover.popover.leftBottom > .arrow, +.iconpicker-popover.popover.leftTop > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.iconpicker-popover.popover.left > .arrow:after, +.iconpicker-popover.popover.leftBottom > .arrow:after, +.iconpicker-popover.popover.leftTop > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #ffffff; + bottom: -10px; +} +.iconpicker-popover.popover.leftBottom > .arrow { + top: 8px; + margin-top: 0; +} +.iconpicker-popover.popover.leftTop > .arrow { + top: auto; + bottom: 8px; + margin-top: 0; +} +.iconpicker { + position: relative; + text-align: left; + text-shadow: none; + line-height: 0; + display: block; + margin: 0; + overflow: hidden; +} +.iconpicker * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + position: relative; +} +.iconpicker:before, +.iconpicker:after { + content: " "; + display: table; +} +.iconpicker:after { + clear: both; +} +.iconpicker .iconpicker-items { + position: relative; + clear: both; + float: none; + padding: 12px 0 0 12px; + background: #fff; + margin: 0; + overflow: hidden; + overflow-y: auto; + min-height: 49px; + max-height: 246px; +} +.iconpicker .iconpicker-items:before, +.iconpicker .iconpicker-items:after { + content: " "; + display: table; +} +.iconpicker .iconpicker-items:after { + clear: both; +} +.iconpicker .iconpicker-item { + float: left; + width: 14px; + height: 14px; + padding: 12px; + margin: 0 12px 12px 0; + text-align: center; + cursor: pointer; + border-radius: 3px; + font-size: 14px; + box-shadow: 0 0 0 1px #dddddd; + color: inherit; + /*&:nth-child(4n+4) { + margin-right: 0; + } + &:nth-last-child(-n+4) { + margin-bottom: 0; + }*/ +} +.iconpicker .iconpicker-item:hover:not(.iconpicker-selected) { + background-color: #eeeeee; +} +.iconpicker .iconpicker-item.iconpicker-selected { + box-shadow: none; + color: #fff; + background: #000; +} +.iconpicker-component { + cursor: pointer; +} diff --git a/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.js b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.js new file mode 100644 index 00000000..2f78ce76 --- /dev/null +++ b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.js @@ -0,0 +1,3912 @@ +/*! + * Font Awesome Icon Picker + * https://farbelous.github.io/fontawesome-iconpicker/ + * + * Originally written by (c) 2016 Javi Aguilar + * Licensed under the MIT License + * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE + * + */ +(function(a) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], a); + } else { + a(jQuery); + } +})(function(a) { + a.ui = a.ui || {}; + var b = a.ui.version = "1.12.1"; + /*! + * jQuery UI Position 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + (function() { + var b, c = Math.max, d = Math.abs, e = /left|center|right/, f = /top|center|bottom/, g = /[\+\-]\d+(\.[\d]+)?%?/, h = /^\w+/, i = /%$/, j = a.fn.pos; + function k(a, b, c) { + return [ parseFloat(a[0]) * (i.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (i.test(a[1]) ? c / 100 : 1) ]; + } + function l(b, c) { + return parseInt(a.css(b, c), 10) || 0; + } + function m(b) { + var c = b[0]; + if (c.nodeType === 9) { + return { + width: b.width(), + height: b.height(), + offset: { + top: 0, + left: 0 + } + }; + } + if (a.isWindow(c)) { + return { + width: b.width(), + height: b.height(), + offset: { + top: b.scrollTop(), + left: b.scrollLeft() + } + }; + } + if (c.preventDefault) { + return { + width: 0, + height: 0, + offset: { + top: c.pageY, + left: c.pageX + } + }; + } + return { + width: b.outerWidth(), + height: b.outerHeight(), + offset: b.offset() + }; + } + a.pos = { + scrollbarWidth: function() { + if (b !== undefined) { + return b; + } + var c, d, e = a("
" + "
"), f = e.children()[0]; + a("body").append(e); + c = f.offsetWidth; + e.css("overflow", "scroll"); + d = f.offsetWidth; + if (c === d) { + d = e[0].clientWidth; + } + e.remove(); + return b = c - d; + }, + getScrollInfo: function(b) { + var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight; + return { + width: f ? a.pos.scrollbarWidth() : 0, + height: e ? a.pos.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function(b) { + var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9, f = !d && !e; + return { + element: c, + isWindow: d, + isDocument: e, + offset: f ? a(b).offset() : { + left: 0, + top: 0 + }, + scrollLeft: c.scrollLeft(), + scrollTop: c.scrollTop(), + width: c.outerWidth(), + height: c.outerHeight() + }; + } + }; + a.fn.pos = function(b) { + if (!b || !b.of) { + return j.apply(this, arguments); + } + b = a.extend({}, b); + var i, n, o, p, q, r, s = a(b.of), t = a.pos.getWithinInfo(b.within), u = a.pos.getScrollInfo(t), v = (b.collision || "flip").split(" "), w = {}; + r = m(s); + if (s[0].preventDefault) { + b.at = "left top"; + } + n = r.width; + o = r.height; + p = r.offset; + q = a.extend({}, p); + a.each([ "my", "at" ], function() { + var a = (b[this] || "").split(" "), c, d; + if (a.length === 1) { + a = e.test(a[0]) ? a.concat([ "center" ]) : f.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ]; + } + a[0] = e.test(a[0]) ? a[0] : "center"; + a[1] = f.test(a[1]) ? a[1] : "center"; + c = g.exec(a[0]); + d = g.exec(a[1]); + w[this] = [ c ? c[0] : 0, d ? d[0] : 0 ]; + b[this] = [ h.exec(a[0])[0], h.exec(a[1])[0] ]; + }); + if (v.length === 1) { + v[1] = v[0]; + } + if (b.at[0] === "right") { + q.left += n; + } else if (b.at[0] === "center") { + q.left += n / 2; + } + if (b.at[1] === "bottom") { + q.top += o; + } else if (b.at[1] === "center") { + q.top += o / 2; + } + i = k(w.at, n, o); + q.left += i[0]; + q.top += i[1]; + return this.each(function() { + var e, f, g = a(this), h = g.outerWidth(), j = g.outerHeight(), m = l(this, "marginLeft"), r = l(this, "marginTop"), x = h + m + l(this, "marginRight") + u.width, y = j + r + l(this, "marginBottom") + u.height, z = a.extend({}, q), A = k(w.my, g.outerWidth(), g.outerHeight()); + if (b.my[0] === "right") { + z.left -= h; + } else if (b.my[0] === "center") { + z.left -= h / 2; + } + if (b.my[1] === "bottom") { + z.top -= j; + } else if (b.my[1] === "center") { + z.top -= j / 2; + } + z.left += A[0]; + z.top += A[1]; + e = { + marginLeft: m, + marginTop: r + }; + a.each([ "left", "top" ], function(c, d) { + if (a.ui.pos[v[c]]) { + a.ui.pos[v[c]][d](z, { + targetWidth: n, + targetHeight: o, + elemWidth: h, + elemHeight: j, + collisionPosition: e, + collisionWidth: x, + collisionHeight: y, + offset: [ i[0] + A[0], i[1] + A[1] ], + my: b.my, + at: b.at, + within: t, + elem: g + }); + } + }); + if (b.using) { + f = function(a) { + var e = p.left - z.left, f = e + n - h, i = p.top - z.top, k = i + o - j, l = { + target: { + element: s, + left: p.left, + top: p.top, + width: n, + height: o + }, + element: { + element: g, + left: z.left, + top: z.top, + width: h, + height: j + }, + horizontal: f < 0 ? "left" : e > 0 ? "right" : "center", + vertical: k < 0 ? "top" : i > 0 ? "bottom" : "middle" + }; + if (n < h && d(e + f) < n) { + l.horizontal = "center"; + } + if (o < j && d(i + k) < o) { + l.vertical = "middle"; + } + if (c(d(e), d(f)) > c(d(i), d(k))) { + l.important = "horizontal"; + } else { + l.important = "vertical"; + } + b.using.call(this, a, l); + }; + } + g.offset(a.extend(z, { + using: f + })); + }); + }; + a.ui.pos = { + _trigger: function(a, b, c, d) { + if (b.elem) { + b.elem.trigger({ + type: c, + position: a, + positionData: b, + triggered: d + }); + } + }, + fit: { + left: function(b, d) { + a.ui.pos._trigger(b, d, "posCollide", "fitLeft"); + var e = d.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - d.collisionPosition.marginLeft, i = f - h, j = h + d.collisionWidth - g - f, k; + if (d.collisionWidth > g) { + if (i > 0 && j <= 0) { + k = b.left + i + d.collisionWidth - g - f; + b.left += i - k; + } else if (j > 0 && i <= 0) { + b.left = f; + } else { + if (i > j) { + b.left = f + g - d.collisionWidth; + } else { + b.left = f; + } + } + } else if (i > 0) { + b.left += i; + } else if (j > 0) { + b.left -= j; + } else { + b.left = c(b.left - h, b.left); + } + a.ui.pos._trigger(b, d, "posCollided", "fitLeft"); + }, + top: function(b, d) { + a.ui.pos._trigger(b, d, "posCollide", "fitTop"); + var e = d.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = d.within.height, h = b.top - d.collisionPosition.marginTop, i = f - h, j = h + d.collisionHeight - g - f, k; + if (d.collisionHeight > g) { + if (i > 0 && j <= 0) { + k = b.top + i + d.collisionHeight - g - f; + b.top += i - k; + } else if (j > 0 && i <= 0) { + b.top = f; + } else { + if (i > j) { + b.top = f + g - d.collisionHeight; + } else { + b.top = f; + } + } + } else if (i > 0) { + b.top += i; + } else if (j > 0) { + b.top -= j; + } else { + b.top = c(b.top - h, b.top); + } + a.ui.pos._trigger(b, d, "posCollided", "fitTop"); + } + }, + flip: { + left: function(b, c) { + a.ui.pos._trigger(b, c, "posCollide", "flipLeft"); + var e = c.within, f = e.offset.left + e.scrollLeft, g = e.width, h = e.isWindow ? e.scrollLeft : e.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p; + if (j < 0) { + o = b.left + l + m + n + c.collisionWidth - g - f; + if (o < 0 || o < d(j)) { + b.left += l + m + n; + } + } else if (k > 0) { + p = b.left - c.collisionPosition.marginLeft + l + m + n - h; + if (p > 0 || d(p) < k) { + b.left += l + m + n; + } + } + a.ui.pos._trigger(b, c, "posCollided", "flipLeft"); + }, + top: function(b, c) { + a.ui.pos._trigger(b, c, "posCollide", "flipTop"); + var e = c.within, f = e.offset.top + e.scrollTop, g = e.height, h = e.isWindow ? e.scrollTop : e.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q; + if (j < 0) { + q = b.top + m + n + o + c.collisionHeight - g - f; + if (q < 0 || q < d(j)) { + b.top += m + n + o; + } + } else if (k > 0) { + p = b.top - c.collisionPosition.marginTop + m + n + o - h; + if (p > 0 || d(p) < k) { + b.top += m + n + o; + } + } + a.ui.pos._trigger(b, c, "posCollided", "flipTop"); + } + }, + flipfit: { + left: function() { + a.ui.pos.flip.left.apply(this, arguments); + a.ui.pos.fit.left.apply(this, arguments); + }, + top: function() { + a.ui.pos.flip.top.apply(this, arguments); + a.ui.pos.fit.top.apply(this, arguments); + } + } + }; + (function() { + var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div"); + b = document.createElement(g ? "div" : "body"); + d = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if (g) { + a.extend(d, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + } + for (f in d) { + b.style[f] = d[f]; + } + b.appendChild(h); + c = g || document.documentElement; + c.insertBefore(b, c.firstChild); + h.style.cssText = "position: absolute; left: 10.7432222px;"; + e = a(h).offset().left; + a.support.offsetFractions = e > 10 && e < 11; + b.innerHTML = ""; + c.removeChild(b); + })(); + })(); + var c = a.ui.position; +}); + +(function(a) { + "use strict"; + if (typeof define === "function" && define.amd) { + define([ "jquery" ], a); + } else if (window.jQuery && !window.jQuery.fn.iconpicker) { + a(window.jQuery); + } +})(function(a) { + "use strict"; + var b = { + isEmpty: function(a) { + return a === false || a === "" || a === null || a === undefined; + }, + isEmptyObject: function(a) { + return this.isEmpty(a) === true || a.length === 0; + }, + isElement: function(b) { + return a(b).length > 0; + }, + isString: function(a) { + return typeof a === "string" || a instanceof String; + }, + isArray: function(b) { + return a.isArray(b); + }, + inArray: function(b, c) { + return a.inArray(b, c) !== -1; + }, + throwError: function(a) { + throw "Font Awesome Icon Picker Exception: " + a; + } + }; + var c = function(d, e) { + this._id = c._idCounter++; + this.element = a(d).addClass("iconpicker-element"); + this._trigger("iconpickerCreate", { + iconpickerValue: this.iconpickerValue + }); + this.options = a.extend({}, c.defaultOptions, this.element.data(), e); + this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates); + this.options.originalPlacement = this.options.placement; + this.container = b.isElement(this.options.container) ? a(this.options.container) : false; + if (this.container === false) { + if (this.element.is(".dropdown-toggle")) { + this.container = a("~ .dropdown-menu:first", this.element); + } else { + this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element; + } + } + this.container.addClass("iconpicker-container"); + if (this.isDropdownMenu()) { + this.options.placement = "inline"; + } + this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false; + if (this.input === false) { + this.input = this.container.find(this.options.input); + if (!this.input.is("input,textarea")) { + this.input = false; + } + } + this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component); + if (this.component.length === 0) { + this.component = false; + } else { + this.component.find("i").addClass("iconpicker-component"); + } + this._createPopover(); + this._createIconpicker(); + if (this.getAcceptButton().length === 0) { + this.options.mustAccept = false; + } + if (this.isInputGroup()) { + this.container.parent().append(this.popover); + } else { + this.container.append(this.popover); + } + this._bindElementEvents(); + this._bindWindowEvents(); + this.update(this.options.selected); + if (this.isInline()) { + this.show(); + } + this._trigger("iconpickerCreated", { + iconpickerValue: this.iconpickerValue + }); + }; + c._idCounter = 0; + c.defaultOptions = { + title: false, + selected: false, + defaultValue: false, + placement: "bottom", + collision: "none", + animation: true, + hideOnSelect: false, + showFooter: false, + searchInFooter: false, + mustAccept: false, + selectedCustomClass: "bg-primary", + icons: [], + fullClassFormatter: function(a) { + return a; + }, + input: "input,.iconpicker-input", + inputSearch: false, + container: false, + component: ".input-group-addon,.iconpicker-component", + templates: { + popover: '
' + '
', + footer: '', + buttons: '' + ' ', + search: '', + iconpicker: '
', + iconpickerItem: '
' + } + }; + c.batch = function(b, c) { + var d = Array.prototype.slice.call(arguments, 2); + return a(b).each(function() { + var b = a(this).data("iconpicker"); + if (!!b) { + b[c].apply(b, d); + } + }); + }; + c.prototype = { + constructor: c, + options: {}, + _id: 0, + _trigger: function(b, c) { + c = c || {}; + this.element.trigger(a.extend({ + type: b, + iconpickerInstance: this + }, c)); + }, + _createPopover: function() { + this.popover = a(this.options.templates.popover); + var c = this.popover.find(".popover-title"); + if (!!this.options.title) { + c.append(a('
' + this.options.title + "
")); + } + if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) { + c.append(this.options.templates.search); + } else if (!this.options.title) { + c.remove(); + } + if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) { + var d = a(this.options.templates.footer); + if (this.hasSeparatedSearchInput() && this.options.searchInFooter) { + d.append(a(this.options.templates.search)); + } + if (!b.isEmpty(this.options.templates.buttons)) { + d.append(a(this.options.templates.buttons)); + } + this.popover.append(d); + } + if (this.options.animation === true) { + this.popover.addClass("fade"); + } + return this.popover; + }, + _createIconpicker: function() { + var b = this; + this.iconpicker = a(this.options.templates.iconpicker); + var c = function(c) { + var d = a(this); + if (d.is("i")) { + d = d.parent(); + } + b._trigger("iconpickerSelect", { + iconpickerItem: d, + iconpickerValue: b.iconpickerValue + }); + if (b.options.mustAccept === false) { + b.update(d.data("iconpickerValue")); + b._trigger("iconpickerSelected", { + iconpickerItem: this, + iconpickerValue: b.iconpickerValue + }); + } else { + b.update(d.data("iconpickerValue"), true); + } + if (b.options.hideOnSelect && b.options.mustAccept === false) { + b.hide(); + } + }; + for (var d in this.options.icons) { + if (typeof this.options.icons[d].title === "string") { + var e = a(this.options.templates.iconpickerItem); + e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d].title)); + e.data("iconpickerValue", this.options.icons[d].title).on("click.iconpicker", c); + this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.options.icons[d].title)); + if (this.options.icons[d].searchTerms.length > 0) { + var f = ""; + for (var g = 0; g < this.options.icons[d].searchTerms.length; g++) { + f = f + this.options.icons[d].searchTerms[g] + " "; + } + this.iconpicker.find(".iconpicker-items").append(e.attr("data-search-terms", f)); + } + } + } + this.popover.find(".popover-content").append(this.iconpicker); + return this.iconpicker; + }, + _isEventInsideIconpicker: function(b) { + var c = a(b.target); + if ((!c.hasClass("iconpicker-element") || c.hasClass("iconpicker-element") && !c.is(this.element)) && c.parents(".iconpicker-popover").length === 0) { + return false; + } + return true; + }, + _bindElementEvents: function() { + var c = this; + this.getSearchInput().on("keyup.iconpicker", function() { + c.filter(a(this).val().toLowerCase()); + }); + this.getAcceptButton().on("click.iconpicker", function() { + var a = c.iconpicker.find(".iconpicker-selected").get(0); + c.update(c.iconpickerValue); + c._trigger("iconpickerSelected", { + iconpickerItem: a, + iconpickerValue: c.iconpickerValue + }); + if (!c.isInline()) { + c.hide(); + } + }); + this.getCancelButton().on("click.iconpicker", function() { + if (!c.isInline()) { + c.hide(); + } + }); + this.element.on("focus.iconpicker", function(a) { + c.show(); + a.stopPropagation(); + }); + if (this.hasComponent()) { + this.component.on("click.iconpicker", function() { + c.toggle(); + }); + } + if (this.hasInput()) { + this.input.on("keyup.iconpicker", function(d) { + if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) { + c.update(); + } else { + c._updateFormGroupStatus(c.getValid(this.value) !== false); + } + if (c.options.inputSearch === true) { + c.filter(a(this).val().toLowerCase()); + } + }); + } + }, + _bindWindowEvents: function() { + var b = a(window.document); + var c = this; + var d = ".iconpicker.inst" + this._id; + a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function(a) { + if (c.popover.hasClass("in")) { + c.updatePlacement(); + } + }); + if (!c.isInline()) { + b.on("mouseup" + d, function(a) { + if (!c._isEventInsideIconpicker(a) && !c.isInline()) { + c.hide(); + } + }); + } + }, + _unbindElementEvents: function() { + this.popover.off(".iconpicker"); + this.element.off(".iconpicker"); + if (this.hasInput()) { + this.input.off(".iconpicker"); + } + if (this.hasComponent()) { + this.component.off(".iconpicker"); + } + if (this.hasContainer()) { + this.container.off(".iconpicker"); + } + }, + _unbindWindowEvents: function() { + a(window).off(".iconpicker.inst" + this._id); + a(window.document).off(".iconpicker.inst" + this._id); + }, + updatePlacement: function(b, c) { + b = b || this.options.placement; + this.options.placement = b; + c = c || this.options.collision; + c = c === true ? "flip" : c; + var d = { + at: "right bottom", + my: "right top", + of: this.hasInput() && !this.isInputGroup() ? this.input : this.container, + collision: c === true ? "flip" : c, + within: window + }; + this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop"); + if (typeof b === "object") { + return this.popover.pos(a.extend({}, d, b)); + } + switch (b) { + case "inline": + { + d = false; + } + break; + + case "topLeftCorner": + { + d.my = "right bottom"; + d.at = "left top"; + } + break; + + case "topLeft": + { + d.my = "left bottom"; + d.at = "left top"; + } + break; + + case "top": + { + d.my = "center bottom"; + d.at = "center top"; + } + break; + + case "topRight": + { + d.my = "right bottom"; + d.at = "right top"; + } + break; + + case "topRightCorner": + { + d.my = "left bottom"; + d.at = "right top"; + } + break; + + case "rightTop": + { + d.my = "left bottom"; + d.at = "right center"; + } + break; + + case "right": + { + d.my = "left center"; + d.at = "right center"; + } + break; + + case "rightBottom": + { + d.my = "left top"; + d.at = "right center"; + } + break; + + case "bottomRightCorner": + { + d.my = "left top"; + d.at = "right bottom"; + } + break; + + case "bottomRight": + { + d.my = "right top"; + d.at = "right bottom"; + } + break; + + case "bottom": + { + d.my = "center top"; + d.at = "center bottom"; + } + break; + + case "bottomLeft": + { + d.my = "left top"; + d.at = "left bottom"; + } + break; + + case "bottomLeftCorner": + { + d.my = "right top"; + d.at = "left bottom"; + } + break; + + case "leftBottom": + { + d.my = "right top"; + d.at = "left center"; + } + break; + + case "left": + { + d.my = "right center"; + d.at = "left center"; + } + break; + + case "leftTop": + { + d.my = "right bottom"; + d.at = "left center"; + } + break; + + default: + { + return false; + } + break; + } + this.popover.css({ + display: this.options.placement === "inline" ? "" : "block" + }); + if (d !== false) { + this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5); + } else { + this.popover.css({ + top: "auto", + right: "auto", + bottom: "auto", + left: "auto", + maxWidth: "none" + }); + } + this.popover.addClass(this.options.placement); + return true; + }, + _updateComponents: function() { + this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected " + this.options.selectedCustomClass); + if (this.iconpickerValue) { + this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass); + } + if (this.hasComponent()) { + var a = this.component.find("i"); + if (a.length > 0) { + a.attr("class", this.options.fullClassFormatter(this.iconpickerValue)); + } else { + this.component.html(this.getHtml()); + } + } + }, + _updateFormGroupStatus: function(a) { + if (this.hasInput()) { + if (a !== false) { + this.input.parents(".form-group:first").removeClass("has-error"); + } else { + this.input.parents(".form-group:first").addClass("has-error"); + } + return true; + } + return false; + }, + getValid: function(c) { + if (!b.isString(c)) { + c = ""; + } + var d = c === ""; + c = a.trim(c); + var e = false; + for (var f = 0; f < this.options.icons.length; f++) { + if (this.options.icons[f].title === c) { + e = true; + break; + } + } + if (e || d) { + return c; + } + return false; + }, + setValue: function(a) { + var b = this.getValid(a); + if (b !== false) { + this.iconpickerValue = b; + this._trigger("iconpickerSetValue", { + iconpickerValue: b + }); + return this.iconpickerValue; + } else { + this._trigger("iconpickerInvalid", { + iconpickerValue: a + }); + return false; + } + }, + getHtml: function() { + return ''; + }, + setSourceValue: function(a) { + a = this.setValue(a); + if (a !== false && a !== "") { + if (this.hasInput()) { + this.input.val(this.iconpickerValue); + } else { + this.element.data("iconpickerValue", this.iconpickerValue); + } + this._trigger("iconpickerSetSourceValue", { + iconpickerValue: a + }); + } + return a; + }, + getSourceValue: function(a) { + a = a || this.options.defaultValue; + var b = a; + if (this.hasInput()) { + b = this.input.val(); + } else { + b = this.element.data("iconpickerValue"); + } + if (b === undefined || b === "" || b === null || b === false) { + b = a; + } + return b; + }, + hasInput: function() { + return this.input !== false; + }, + isInputSearch: function() { + return this.hasInput() && this.options.inputSearch === true; + }, + isInputGroup: function() { + return this.container.is(".input-group"); + }, + isDropdownMenu: function() { + return this.container.is(".dropdown-menu"); + }, + hasSeparatedSearchInput: function() { + return this.options.templates.search !== false && !this.isInputSearch(); + }, + hasComponent: function() { + return this.component !== false; + }, + hasContainer: function() { + return this.container !== false; + }, + getAcceptButton: function() { + return this.popover.find(".iconpicker-btn-accept"); + }, + getCancelButton: function() { + return this.popover.find(".iconpicker-btn-cancel"); + }, + getSearchInput: function() { + return this.popover.find(".iconpicker-search"); + }, + filter: function(c) { + if (b.isEmpty(c)) { + this.iconpicker.find(".iconpicker-item").show(); + return a(false); + } else { + var d = []; + this.iconpicker.find(".iconpicker-item").each(function() { + var b = a(this); + var e = b.attr("title").toLowerCase(); + var f = b.attr("data-search-terms") ? b.attr("data-search-terms").toLowerCase() : ""; + e = e + " " + f; + var g = false; + try { + g = new RegExp("(^|\\W)" + c, "g"); + } catch (a) { + g = false; + } + if (g !== false && e.match(g)) { + d.push(b); + b.show(); + } else { + b.hide(); + } + }); + return d; + } + }, + show: function() { + if (this.popover.hasClass("in")) { + return false; + } + a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide"); + this._trigger("iconpickerShow", { + iconpickerValue: this.iconpickerValue + }); + this.updatePlacement(); + this.popover.addClass("in"); + setTimeout(a.proxy(function() { + this.popover.css("display", this.isInline() ? "" : "block"); + this._trigger("iconpickerShown", { + iconpickerValue: this.iconpickerValue + }); + }, this), this.options.animation ? 300 : 1); + }, + hide: function() { + if (!this.popover.hasClass("in")) { + return false; + } + this._trigger("iconpickerHide", { + iconpickerValue: this.iconpickerValue + }); + this.popover.removeClass("in"); + setTimeout(a.proxy(function() { + this.popover.css("display", "none"); + this.getSearchInput().val(""); + this.filter(""); + this._trigger("iconpickerHidden", { + iconpickerValue: this.iconpickerValue + }); + }, this), this.options.animation ? 300 : 1); + }, + toggle: function() { + if (this.popover.is(":visible")) { + this.hide(); + } else { + this.show(true); + } + }, + update: function(a, b) { + a = a ? a : this.getSourceValue(this.iconpickerValue); + this._trigger("iconpickerUpdate", { + iconpickerValue: this.iconpickerValue + }); + if (b === true) { + a = this.setValue(a); + } else { + a = this.setSourceValue(a); + this._updateFormGroupStatus(a !== false); + } + if (a !== false) { + this._updateComponents(); + } + this._trigger("iconpickerUpdated", { + iconpickerValue: this.iconpickerValue + }); + return a; + }, + destroy: function() { + this._trigger("iconpickerDestroy", { + iconpickerValue: this.iconpickerValue + }); + this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"); + this._unbindElementEvents(); + this._unbindWindowEvents(); + a(this.popover).remove(); + this._trigger("iconpickerDestroyed", { + iconpickerValue: this.iconpickerValue + }); + }, + disable: function() { + if (this.hasInput()) { + this.input.prop("disabled", true); + return true; + } + return false; + }, + enable: function() { + if (this.hasInput()) { + this.input.prop("disabled", false); + return true; + } + return false; + }, + isDisabled: function() { + if (this.hasInput()) { + return this.input.prop("disabled") === true; + } + return false; + }, + isInline: function() { + return this.options.placement === "inline" || this.popover.hasClass("inline"); + } + }; + a.iconpicker = c; + a.fn.iconpicker = function(b) { + return this.each(function() { + var d = a(this); + if (!d.data("iconpicker")) { + d.data("iconpicker", new c(this, typeof b === "object" ? b : {})); + } + }); + }; + c.defaultOptions = a.extend(c.defaultOptions, { + icons: [ { + title: "fab fa-500px", + searchTerms: [] + }, { + title: "fab fa-accessible-icon", + searchTerms: [ "accessibility", "wheelchair", "handicap", "person", "wheelchair-alt" ] + }, { + title: "fab fa-accusoft", + searchTerms: [] + }, { + title: "fas fa-address-book", + searchTerms: [] + }, { + title: "far fa-address-book", + searchTerms: [] + }, { + title: "fas fa-address-card", + searchTerms: [] + }, { + title: "far fa-address-card", + searchTerms: [] + }, { + title: "fas fa-adjust", + searchTerms: [ "contrast" ] + }, { + title: "fab fa-adn", + searchTerms: [] + }, { + title: "fab fa-adversal", + searchTerms: [] + }, { + title: "fab fa-affiliatetheme", + searchTerms: [] + }, { + title: "fab fa-algolia", + searchTerms: [] + }, { + title: "fas fa-align-center", + searchTerms: [ "middle", "text" ] + }, { + title: "fas fa-align-justify", + searchTerms: [ "text" ] + }, { + title: "fas fa-align-left", + searchTerms: [ "text" ] + }, { + title: "fas fa-align-right", + searchTerms: [ "text" ] + }, { + title: "fab fa-amazon", + searchTerms: [] + }, { + title: "fab fa-amazon-pay", + searchTerms: [] + }, { + title: "fas fa-ambulance", + searchTerms: [ "vehicle", "support", "help" ] + }, { + title: "fas fa-american-sign-language-interpreting", + searchTerms: [] + }, { + title: "fab fa-amilia", + searchTerms: [] + }, { + title: "fas fa-anchor", + searchTerms: [ "link" ] + }, { + title: "fab fa-android", + searchTerms: [ "robot" ] + }, { + title: "fab fa-angellist", + searchTerms: [] + }, { + title: "fas fa-angle-double-down", + searchTerms: [ "arrows" ] + }, { + title: "fas fa-angle-double-left", + searchTerms: [ "laquo", "quote", "previous", "back", "arrows" ] + }, { + title: "fas fa-angle-double-right", + searchTerms: [ "raquo", "quote", "next", "forward", "arrows" ] + }, { + title: "fas fa-angle-double-up", + searchTerms: [ "arrows" ] + }, { + title: "fas fa-angle-down", + searchTerms: [ "arrow" ] + }, { + title: "fas fa-angle-left", + searchTerms: [ "previous", "back", "arrow" ] + }, { + title: "fas fa-angle-right", + searchTerms: [ "next", "forward", "arrow" ] + }, { + title: "fas fa-angle-up", + searchTerms: [ "arrow" ] + }, { + title: "fab fa-angrycreative", + searchTerms: [] + }, { + title: "fab fa-angular", + searchTerms: [] + }, { + title: "fab fa-app-store", + searchTerms: [] + }, { + title: "fab fa-app-store-ios", + searchTerms: [] + }, { + title: "fab fa-apper", + searchTerms: [] + }, { + title: "fab fa-apple", + searchTerms: [ "osx", "food" ] + }, { + title: "fab fa-apple-pay", + searchTerms: [] + }, { + title: "fas fa-archive", + searchTerms: [ "box", "storage", "package" ] + }, { + title: "fas fa-arrow-alt-circle-down", + searchTerms: [ "download", "arrow-circle-o-down" ] + }, { + title: "far fa-arrow-alt-circle-down", + searchTerms: [ "download", "arrow-circle-o-down" ] + }, { + title: "fas fa-arrow-alt-circle-left", + searchTerms: [ "previous", "back", "arrow-circle-o-left" ] + }, { + title: "far fa-arrow-alt-circle-left", + searchTerms: [ "previous", "back", "arrow-circle-o-left" ] + }, { + title: "fas fa-arrow-alt-circle-right", + searchTerms: [ "next", "forward", "arrow-circle-o-right" ] + }, { + title: "far fa-arrow-alt-circle-right", + searchTerms: [ "next", "forward", "arrow-circle-o-right" ] + }, { + title: "fas fa-arrow-alt-circle-up", + searchTerms: [ "arrow-circle-o-up" ] + }, { + title: "far fa-arrow-alt-circle-up", + searchTerms: [ "arrow-circle-o-up" ] + }, { + title: "fas fa-arrow-circle-down", + searchTerms: [ "download" ] + }, { + title: "fas fa-arrow-circle-left", + searchTerms: [ "previous", "back" ] + }, { + title: "fas fa-arrow-circle-right", + searchTerms: [ "next", "forward" ] + }, { + title: "fas fa-arrow-circle-up", + searchTerms: [] + }, { + title: "fas fa-arrow-down", + searchTerms: [ "download" ] + }, { + title: "fas fa-arrow-left", + searchTerms: [ "previous", "back" ] + }, { + title: "fas fa-arrow-right", + searchTerms: [ "next", "forward" ] + }, { + title: "fas fa-arrow-up", + searchTerms: [] + }, { + title: "fas fa-arrows-alt", + searchTerms: [ "expand", "enlarge", "fullscreen", "bigger", "move", "reorder", "resize", "arrow", "arrows" ] + }, { + title: "fas fa-arrows-alt-h", + searchTerms: [ "resize", "arrows-h" ] + }, { + title: "fas fa-arrows-alt-v", + searchTerms: [ "resize", "arrows-v" ] + }, { + title: "fas fa-assistive-listening-systems", + searchTerms: [] + }, { + title: "fas fa-asterisk", + searchTerms: [ "details" ] + }, { + title: "fab fa-asymmetrik", + searchTerms: [] + }, { + title: "fas fa-at", + searchTerms: [ "email", "e-mail" ] + }, { + title: "fab fa-audible", + searchTerms: [] + }, { + title: "fas fa-audio-description", + searchTerms: [] + }, { + title: "fab fa-autoprefixer", + searchTerms: [] + }, { + title: "fab fa-avianex", + searchTerms: [] + }, { + title: "fab fa-aviato", + searchTerms: [] + }, { + title: "fab fa-aws", + searchTerms: [] + }, { + title: "fas fa-backward", + searchTerms: [ "rewind", "previous" ] + }, { + title: "fas fa-balance-scale", + searchTerms: [] + }, { + title: "fas fa-ban", + searchTerms: [ "delete", "remove", "trash", "hide", "block", "stop", "abort", "cancel", "ban", "prohibit" ] + }, { + title: "fas fa-band-aid", + searchTerms: [ "bandage", "ouch", "boo boo" ] + }, { + title: "fab fa-bandcamp", + searchTerms: [] + }, { + title: "fas fa-barcode", + searchTerms: [ "scan" ] + }, { + title: "fas fa-bars", + searchTerms: [ "menu", "drag", "reorder", "settings", "list", "ul", "ol", "checklist", "todo", "list", "hamburger" ] + }, { + title: "fas fa-baseball-ball", + searchTerms: [] + }, { + title: "fas fa-basketball-ball", + searchTerms: [] + }, { + title: "fas fa-bath", + searchTerms: [] + }, { + title: "fas fa-battery-empty", + searchTerms: [ "power", "status" ] + }, { + title: "fas fa-battery-full", + searchTerms: [ "power", "status" ] + }, { + title: "fas fa-battery-half", + searchTerms: [ "power", "status" ] + }, { + title: "fas fa-battery-quarter", + searchTerms: [ "power", "status" ] + }, { + title: "fas fa-battery-three-quarters", + searchTerms: [ "power", "status" ] + }, { + title: "fas fa-bed", + searchTerms: [ "travel" ] + }, { + title: "fas fa-beer", + searchTerms: [ "alcohol", "stein", "drink", "mug", "bar", "liquor" ] + }, { + title: "fab fa-behance", + searchTerms: [] + }, { + title: "fab fa-behance-square", + searchTerms: [] + }, { + title: "fas fa-bell", + searchTerms: [ "alert", "reminder", "notification" ] + }, { + title: "far fa-bell", + searchTerms: [ "alert", "reminder", "notification" ] + }, { + title: "fas fa-bell-slash", + searchTerms: [] + }, { + title: "far fa-bell-slash", + searchTerms: [] + }, { + title: "fas fa-bicycle", + searchTerms: [ "vehicle", "bike", "gears" ] + }, { + title: "fab fa-bimobject", + searchTerms: [] + }, { + title: "fas fa-binoculars", + searchTerms: [] + }, { + title: "fas fa-birthday-cake", + searchTerms: [] + }, { + title: "fab fa-bitbucket", + searchTerms: [ "git", "bitbucket-square" ] + }, { + title: "fab fa-bitcoin", + searchTerms: [] + }, { + title: "fab fa-bity", + searchTerms: [] + }, { + title: "fab fa-black-tie", + searchTerms: [] + }, { + title: "fab fa-blackberry", + searchTerms: [] + }, { + title: "fas fa-blind", + searchTerms: [] + }, { + title: "fab fa-blogger", + searchTerms: [] + }, { + title: "fab fa-blogger-b", + searchTerms: [] + }, { + title: "fab fa-bluetooth", + searchTerms: [] + }, { + title: "fab fa-bluetooth-b", + searchTerms: [] + }, { + title: "fas fa-bold", + searchTerms: [] + }, { + title: "fas fa-bolt", + searchTerms: [ "lightning", "weather" ] + }, { + title: "fas fa-bomb", + searchTerms: [] + }, { + title: "fas fa-book", + searchTerms: [ "read", "documentation" ] + }, { + title: "fas fa-bookmark", + searchTerms: [ "save" ] + }, { + title: "far fa-bookmark", + searchTerms: [ "save" ] + }, { + title: "fas fa-bowling-ball", + searchTerms: [] + }, { + title: "fas fa-box", + searchTerms: [] + }, { + title: "fas fa-boxes", + searchTerms: [] + }, { + title: "fas fa-braille", + searchTerms: [] + }, { + title: "fas fa-briefcase", + searchTerms: [ "work", "business", "office", "luggage", "bag" ] + }, { + title: "fab fa-btc", + searchTerms: [] + }, { + title: "fas fa-bug", + searchTerms: [ "report", "insect" ] + }, { + title: "fas fa-building", + searchTerms: [ "work", "business", "apartment", "office", "company" ] + }, { + title: "far fa-building", + searchTerms: [ "work", "business", "apartment", "office", "company" ] + }, { + title: "fas fa-bullhorn", + searchTerms: [ "announcement", "share", "broadcast", "louder", "megaphone" ] + }, { + title: "fas fa-bullseye", + searchTerms: [ "target" ] + }, { + title: "fab fa-buromobelexperte", + searchTerms: [] + }, { + title: "fas fa-bus", + searchTerms: [ "vehicle" ] + }, { + title: "fab fa-buysellads", + searchTerms: [] + }, { + title: "fas fa-calculator", + searchTerms: [] + }, { + title: "fas fa-calendar", + searchTerms: [ "date", "time", "when", "event", "calendar-o" ] + }, { + title: "far fa-calendar", + searchTerms: [ "date", "time", "when", "event", "calendar-o" ] + }, { + title: "fas fa-calendar-alt", + searchTerms: [ "date", "time", "when", "event", "calendar" ] + }, { + title: "far fa-calendar-alt", + searchTerms: [ "date", "time", "when", "event", "calendar" ] + }, { + title: "fas fa-calendar-check", + searchTerms: [ "ok" ] + }, { + title: "far fa-calendar-check", + searchTerms: [ "ok" ] + }, { + title: "fas fa-calendar-minus", + searchTerms: [] + }, { + title: "far fa-calendar-minus", + searchTerms: [] + }, { + title: "fas fa-calendar-plus", + searchTerms: [] + }, { + title: "far fa-calendar-plus", + searchTerms: [] + }, { + title: "fas fa-calendar-times", + searchTerms: [] + }, { + title: "far fa-calendar-times", + searchTerms: [] + }, { + title: "fas fa-camera", + searchTerms: [ "photo", "picture", "record" ] + }, { + title: "fas fa-camera-retro", + searchTerms: [ "photo", "picture", "record" ] + }, { + title: "fas fa-car", + searchTerms: [ "vehicle" ] + }, { + title: "fas fa-caret-down", + searchTerms: [ "more", "dropdown", "menu", "triangle down", "arrow" ] + }, { + title: "fas fa-caret-left", + searchTerms: [ "previous", "back", "triangle left", "arrow" ] + }, { + title: "fas fa-caret-right", + searchTerms: [ "next", "forward", "triangle right", "arrow" ] + }, { + title: "fas fa-caret-square-down", + searchTerms: [ "more", "dropdown", "menu", "caret-square-o-down" ] + }, { + title: "far fa-caret-square-down", + searchTerms: [ "more", "dropdown", "menu", "caret-square-o-down" ] + }, { + title: "fas fa-caret-square-left", + searchTerms: [ "previous", "back", "caret-square-o-left" ] + }, { + title: "far fa-caret-square-left", + searchTerms: [ "previous", "back", "caret-square-o-left" ] + }, { + title: "fas fa-caret-square-right", + searchTerms: [ "next", "forward", "caret-square-o-right" ] + }, { + title: "far fa-caret-square-right", + searchTerms: [ "next", "forward", "caret-square-o-right" ] + }, { + title: "fas fa-caret-square-up", + searchTerms: [ "caret-square-o-up" ] + }, { + title: "far fa-caret-square-up", + searchTerms: [ "caret-square-o-up" ] + }, { + title: "fas fa-caret-up", + searchTerms: [ "triangle up", "arrow" ] + }, { + title: "fas fa-cart-arrow-down", + searchTerms: [ "shopping" ] + }, { + title: "fas fa-cart-plus", + searchTerms: [ "add", "shopping" ] + }, { + title: "fab fa-cc-amazon-pay", + searchTerms: [] + }, { + title: "fab fa-cc-amex", + searchTerms: [ "amex" ] + }, { + title: "fab fa-cc-apple-pay", + searchTerms: [] + }, { + title: "fab fa-cc-diners-club", + searchTerms: [] + }, { + title: "fab fa-cc-discover", + searchTerms: [] + }, { + title: "fab fa-cc-jcb", + searchTerms: [] + }, { + title: "fab fa-cc-mastercard", + searchTerms: [] + }, { + title: "fab fa-cc-paypal", + searchTerms: [] + }, { + title: "fab fa-cc-stripe", + searchTerms: [] + }, { + title: "fab fa-cc-visa", + searchTerms: [] + }, { + title: "fab fa-centercode", + searchTerms: [] + }, { + title: "fas fa-certificate", + searchTerms: [ "badge", "star" ] + }, { + title: "fas fa-chart-area", + searchTerms: [ "graph", "analytics", "area-chart" ] + }, { + title: "fas fa-chart-bar", + searchTerms: [ "graph", "analytics", "bar-chart" ] + }, { + title: "far fa-chart-bar", + searchTerms: [ "graph", "analytics", "bar-chart" ] + }, { + title: "fas fa-chart-line", + searchTerms: [ "graph", "analytics", "line-chart", "dashboard" ] + }, { + title: "fas fa-chart-pie", + searchTerms: [ "graph", "analytics", "pie-chart" ] + }, { + title: "fas fa-check", + searchTerms: [ "checkmark", "done", "todo", "agree", "accept", "confirm", "tick", "ok", "select" ] + }, { + title: "fas fa-check-circle", + searchTerms: [ "todo", "done", "agree", "accept", "confirm", "ok", "select" ] + }, { + title: "far fa-check-circle", + searchTerms: [ "todo", "done", "agree", "accept", "confirm", "ok", "select" ] + }, { + title: "fas fa-check-square", + searchTerms: [ "checkmark", "done", "todo", "agree", "accept", "confirm", "ok", "select" ] + }, { + title: "far fa-check-square", + searchTerms: [ "checkmark", "done", "todo", "agree", "accept", "confirm", "ok", "select" ] + }, { + title: "fas fa-chess", + searchTerms: [] + }, { + title: "fas fa-chess-bishop", + searchTerms: [] + }, { + title: "fas fa-chess-board", + searchTerms: [] + }, { + title: "fas fa-chess-king", + searchTerms: [] + }, { + title: "fas fa-chess-knight", + searchTerms: [] + }, { + title: "fas fa-chess-pawn", + searchTerms: [] + }, { + title: "fas fa-chess-queen", + searchTerms: [] + }, { + title: "fas fa-chess-rook", + searchTerms: [] + }, { + title: "fas fa-chevron-circle-down", + searchTerms: [ "more", "dropdown", "menu", "arrow" ] + }, { + title: "fas fa-chevron-circle-left", + searchTerms: [ "previous", "back", "arrow" ] + }, { + title: "fas fa-chevron-circle-right", + searchTerms: [ "next", "forward", "arrow" ] + }, { + title: "fas fa-chevron-circle-up", + searchTerms: [ "arrow" ] + }, { + title: "fas fa-chevron-down", + searchTerms: [] + }, { + title: "fas fa-chevron-left", + searchTerms: [ "bracket", "previous", "back" ] + }, { + title: "fas fa-chevron-right", + searchTerms: [ "bracket", "next", "forward" ] + }, { + title: "fas fa-chevron-up", + searchTerms: [] + }, { + title: "fas fa-child", + searchTerms: [] + }, { + title: "fab fa-chrome", + searchTerms: [ "browser" ] + }, { + title: "fas fa-circle", + searchTerms: [ "dot", "notification", "circle-thin" ] + }, { + title: "far fa-circle", + searchTerms: [ "dot", "notification", "circle-thin" ] + }, { + title: "fas fa-circle-notch", + searchTerms: [ "circle-o-notch" ] + }, { + title: "fas fa-clipboard", + searchTerms: [ "paste" ] + }, { + title: "far fa-clipboard", + searchTerms: [ "paste" ] + }, { + title: "fas fa-clipboard-check", + searchTerms: [] + }, { + title: "fas fa-clipboard-list", + searchTerms: [] + }, { + title: "fas fa-clock", + searchTerms: [ "watch", "timer", "late", "timestamp", "date" ] + }, { + title: "far fa-clock", + searchTerms: [ "watch", "timer", "late", "timestamp", "date" ] + }, { + title: "fas fa-clone", + searchTerms: [ "copy" ] + }, { + title: "far fa-clone", + searchTerms: [ "copy" ] + }, { + title: "fas fa-closed-captioning", + searchTerms: [ "cc" ] + }, { + title: "far fa-closed-captioning", + searchTerms: [ "cc" ] + }, { + title: "fas fa-cloud", + searchTerms: [ "save" ] + }, { + title: "fas fa-cloud-download-alt", + searchTerms: [ "cloud-download" ] + }, { + title: "fas fa-cloud-upload-alt", + searchTerms: [ "cloud-upload" ] + }, { + title: "fab fa-cloudscale", + searchTerms: [] + }, { + title: "fab fa-cloudsmith", + searchTerms: [] + }, { + title: "fab fa-cloudversify", + searchTerms: [] + }, { + title: "fas fa-code", + searchTerms: [ "html", "brackets" ] + }, { + title: "fas fa-code-branch", + searchTerms: [ "git", "fork", "vcs", "svn", "github", "rebase", "version", "branch", "code-fork" ] + }, { + title: "fab fa-codepen", + searchTerms: [] + }, { + title: "fab fa-codiepie", + searchTerms: [] + }, { + title: "fas fa-coffee", + searchTerms: [ "morning", "mug", "breakfast", "tea", "drink", "cafe" ] + }, { + title: "fas fa-cog", + searchTerms: [ "settings" ] + }, { + title: "fas fa-cogs", + searchTerms: [ "settings", "gears" ] + }, { + title: "fas fa-columns", + searchTerms: [ "split", "panes", "dashboard" ] + }, { + title: "fas fa-comment", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation" ] + }, { + title: "far fa-comment", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation" ] + }, { + title: "fas fa-comment-alt", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation", "commenting", "commenting" ] + }, { + title: "far fa-comment-alt", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation", "commenting", "commenting" ] + }, { + title: "fas fa-comments", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation" ] + }, { + title: "far fa-comments", + searchTerms: [ "speech", "notification", "note", "chat", "bubble", "feedback", "message", "texting", "sms", "conversation" ] + }, { + title: "fas fa-compass", + searchTerms: [ "safari", "directory", "menu", "location" ] + }, { + title: "far fa-compass", + searchTerms: [ "safari", "directory", "menu", "location" ] + }, { + title: "fas fa-compress", + searchTerms: [ "collapse", "combine", "contract", "merge", "smaller" ] + }, { + title: "fab fa-connectdevelop", + searchTerms: [] + }, { + title: "fab fa-contao", + searchTerms: [] + }, { + title: "fas fa-copy", + searchTerms: [ "duplicate", "clone", "file", "files-o" ] + }, { + title: "far fa-copy", + searchTerms: [ "duplicate", "clone", "file", "files-o" ] + }, { + title: "fas fa-copyright", + searchTerms: [] + }, { + title: "far fa-copyright", + searchTerms: [] + }, { + title: "fab fa-cpanel", + searchTerms: [] + }, { + title: "fab fa-creative-commons", + searchTerms: [] + }, { + title: "fas fa-credit-card", + searchTerms: [ "money", "buy", "debit", "checkout", "purchase", "payment", "credit-card-alt" ] + }, { + title: "far fa-credit-card", + searchTerms: [ "money", "buy", "debit", "checkout", "purchase", "payment", "credit-card-alt" ] + }, { + title: "fas fa-crop", + searchTerms: [ "design" ] + }, { + title: "fas fa-crosshairs", + searchTerms: [ "picker", "gpd" ] + }, { + title: "fab fa-css3", + searchTerms: [ "code" ] + }, { + title: "fab fa-css3-alt", + searchTerms: [] + }, { + title: "fas fa-cube", + searchTerms: [ "package" ] + }, { + title: "fas fa-cubes", + searchTerms: [ "packages" ] + }, { + title: "fas fa-cut", + searchTerms: [ "scissors", "scissors" ] + }, { + title: "fab fa-cuttlefish", + searchTerms: [] + }, { + title: "fab fa-d-and-d", + searchTerms: [] + }, { + title: "fab fa-dashcube", + searchTerms: [] + }, { + title: "fas fa-database", + searchTerms: [] + }, { + title: "fas fa-deaf", + searchTerms: [] + }, { + title: "fab fa-delicious", + searchTerms: [] + }, { + title: "fab fa-deploydog", + searchTerms: [] + }, { + title: "fab fa-deskpro", + searchTerms: [] + }, { + title: "fas fa-desktop", + searchTerms: [ "monitor", "screen", "desktop", "computer", "demo", "device", "pc" ] + }, { + title: "fab fa-deviantart", + searchTerms: [] + }, { + title: "fab fa-digg", + searchTerms: [] + }, { + title: "fab fa-digital-ocean", + searchTerms: [] + }, { + title: "fab fa-discord", + searchTerms: [] + }, { + title: "fab fa-discourse", + searchTerms: [] + }, { + title: "fas fa-dna", + searchTerms: [ "double helix", "helix" ] + }, { + title: "fab fa-dochub", + searchTerms: [] + }, { + title: "fab fa-docker", + searchTerms: [] + }, { + title: "fas fa-dollar-sign", + searchTerms: [ "usd", "price" ] + }, { + title: "fas fa-dolly", + searchTerms: [] + }, { + title: "fas fa-dolly-flatbed", + searchTerms: [] + }, { + title: "fas fa-dot-circle", + searchTerms: [ "target", "bullseye", "notification" ] + }, { + title: "far fa-dot-circle", + searchTerms: [ "target", "bullseye", "notification" ] + }, { + title: "fas fa-download", + searchTerms: [ "import" ] + }, { + title: "fab fa-draft2digital", + searchTerms: [] + }, { + title: "fab fa-dribbble", + searchTerms: [] + }, { + title: "fab fa-dribbble-square", + searchTerms: [] + }, { + title: "fab fa-dropbox", + searchTerms: [] + }, { + title: "fab fa-drupal", + searchTerms: [] + }, { + title: "fab fa-dyalog", + searchTerms: [] + }, { + title: "fab fa-earlybirds", + searchTerms: [] + }, { + title: "fab fa-edge", + searchTerms: [ "browser", "ie" ] + }, { + title: "fas fa-edit", + searchTerms: [ "write", "edit", "update", "pencil", "pen" ] + }, { + title: "far fa-edit", + searchTerms: [ "write", "edit", "update", "pencil", "pen" ] + }, { + title: "fas fa-eject", + searchTerms: [] + }, { + title: "fab fa-elementor", + searchTerms: [] + }, { + title: "fas fa-ellipsis-h", + searchTerms: [ "dots" ] + }, { + title: "fas fa-ellipsis-v", + searchTerms: [ "dots" ] + }, { + title: "fab fa-ember", + searchTerms: [] + }, { + title: "fab fa-empire", + searchTerms: [] + }, { + title: "fas fa-envelope", + searchTerms: [ "email", "e-mail", "letter", "support", "mail", "message", "notification" ] + }, { + title: "far fa-envelope", + searchTerms: [ "email", "e-mail", "letter", "support", "mail", "message", "notification" ] + }, { + title: "fas fa-envelope-open", + searchTerms: [ "email", "e-mail", "letter", "support", "mail", "message", "notification" ] + }, { + title: "far fa-envelope-open", + searchTerms: [ "email", "e-mail", "letter", "support", "mail", "message", "notification" ] + }, { + title: "fas fa-envelope-square", + searchTerms: [ "email", "e-mail", "letter", "support", "mail", "message", "notification" ] + }, { + title: "fab fa-envira", + searchTerms: [ "leaf" ] + }, { + title: "fas fa-eraser", + searchTerms: [ "remove", "delete" ] + }, { + title: "fab fa-erlang", + searchTerms: [] + }, { + title: "fab fa-ethereum", + searchTerms: [] + }, { + title: "fab fa-etsy", + searchTerms: [] + }, { + title: "fas fa-euro-sign", + searchTerms: [ "eur", "eur" ] + }, { + title: "fas fa-exchange-alt", + searchTerms: [ "transfer", "arrows", "arrow", "exchange", "swap" ] + }, { + title: "fas fa-exclamation", + searchTerms: [ "warning", "error", "problem", "notification", "notify", "alert", "danger" ] + }, { + title: "fas fa-exclamation-circle", + searchTerms: [ "warning", "error", "problem", "notification", "notify", "alert", "danger" ] + }, { + title: "fas fa-exclamation-triangle", + searchTerms: [ "warning", "error", "problem", "notification", "notify", "alert", "danger" ] + }, { + title: "fas fa-expand", + searchTerms: [ "enlarge", "bigger", "resize" ] + }, { + title: "fas fa-expand-arrows-alt", + searchTerms: [ "enlarge", "bigger", "resize", "move", "arrows-alt" ] + }, { + title: "fab fa-expeditedssl", + searchTerms: [] + }, { + title: "fas fa-external-link-alt", + searchTerms: [ "open", "new", "external-link" ] + }, { + title: "fas fa-external-link-square-alt", + searchTerms: [ "open", "new", "external-link-square" ] + }, { + title: "fas fa-eye", + searchTerms: [ "show", "visible", "views" ] + }, { + title: "fas fa-eye-dropper", + searchTerms: [ "eyedropper" ] + }, { + title: "fas fa-eye-slash", + searchTerms: [ "toggle", "show", "hide", "visible", "visiblity", "views" ] + }, { + title: "far fa-eye-slash", + searchTerms: [ "toggle", "show", "hide", "visible", "visiblity", "views" ] + }, { + title: "fab fa-facebook", + searchTerms: [ "social network", "facebook-official" ] + }, { + title: "fab fa-facebook-f", + searchTerms: [ "facebook" ] + }, { + title: "fab fa-facebook-messenger", + searchTerms: [] + }, { + title: "fab fa-facebook-square", + searchTerms: [ "social network" ] + }, { + title: "fas fa-fast-backward", + searchTerms: [ "rewind", "previous", "beginning", "start", "first" ] + }, { + title: "fas fa-fast-forward", + searchTerms: [ "next", "end", "last" ] + }, { + title: "fas fa-fax", + searchTerms: [] + }, { + title: "fas fa-female", + searchTerms: [ "woman", "human", "user", "person", "profile" ] + }, { + title: "fas fa-fighter-jet", + searchTerms: [ "fly", "plane", "airplane", "quick", "fast", "travel" ] + }, { + title: "fas fa-file", + searchTerms: [ "new", "page", "pdf", "document" ] + }, { + title: "far fa-file", + searchTerms: [ "new", "page", "pdf", "document" ] + }, { + title: "fas fa-file-alt", + searchTerms: [ "new", "page", "pdf", "document", "file-text" ] + }, { + title: "far fa-file-alt", + searchTerms: [ "new", "page", "pdf", "document", "file-text" ] + }, { + title: "fas fa-file-archive", + searchTerms: [] + }, { + title: "far fa-file-archive", + searchTerms: [] + }, { + title: "fas fa-file-audio", + searchTerms: [] + }, { + title: "far fa-file-audio", + searchTerms: [] + }, { + title: "fas fa-file-code", + searchTerms: [] + }, { + title: "far fa-file-code", + searchTerms: [] + }, { + title: "fas fa-file-excel", + searchTerms: [] + }, { + title: "far fa-file-excel", + searchTerms: [] + }, { + title: "fas fa-file-image", + searchTerms: [] + }, { + title: "far fa-file-image", + searchTerms: [] + }, { + title: "fas fa-file-pdf", + searchTerms: [] + }, { + title: "far fa-file-pdf", + searchTerms: [] + }, { + title: "fas fa-file-powerpoint", + searchTerms: [] + }, { + title: "far fa-file-powerpoint", + searchTerms: [] + }, { + title: "fas fa-file-video", + searchTerms: [] + }, { + title: "far fa-file-video", + searchTerms: [] + }, { + title: "fas fa-file-word", + searchTerms: [] + }, { + title: "far fa-file-word", + searchTerms: [] + }, { + title: "fas fa-film", + searchTerms: [ "movie" ] + }, { + title: "fas fa-filter", + searchTerms: [ "funnel", "options" ] + }, { + title: "fas fa-fire", + searchTerms: [ "flame", "hot", "popular" ] + }, { + title: "fas fa-fire-extinguisher", + searchTerms: [] + }, { + title: "fab fa-firefox", + searchTerms: [ "browser" ] + }, { + title: "fas fa-first-aid", + searchTerms: [] + }, { + title: "fab fa-first-order", + searchTerms: [] + }, { + title: "fab fa-firstdraft", + searchTerms: [] + }, { + title: "fas fa-flag", + searchTerms: [ "report", "notification", "notify" ] + }, { + title: "far fa-flag", + searchTerms: [ "report", "notification", "notify" ] + }, { + title: "fas fa-flag-checkered", + searchTerms: [ "report", "notification", "notify" ] + }, { + title: "fas fa-flask", + searchTerms: [ "science", "beaker", "experimental", "labs" ] + }, { + title: "fab fa-flickr", + searchTerms: [] + }, { + title: "fab fa-flipboard", + searchTerms: [] + }, { + title: "fab fa-fly", + searchTerms: [] + }, { + title: "fas fa-folder", + searchTerms: [] + }, { + title: "far fa-folder", + searchTerms: [] + }, { + title: "fas fa-folder-open", + searchTerms: [] + }, { + title: "far fa-folder-open", + searchTerms: [] + }, { + title: "fas fa-font", + searchTerms: [ "text" ] + }, { + title: "fab fa-font-awesome", + searchTerms: [ "meanpath" ] + }, { + title: "fab fa-font-awesome-alt", + searchTerms: [] + }, { + title: "fab fa-font-awesome-flag", + searchTerms: [] + }, { + title: "fab fa-fonticons", + searchTerms: [] + }, { + title: "fab fa-fonticons-fi", + searchTerms: [] + }, { + title: "fas fa-football-ball", + searchTerms: [] + }, { + title: "fab fa-fort-awesome", + searchTerms: [ "castle" ] + }, { + title: "fab fa-fort-awesome-alt", + searchTerms: [ "castle" ] + }, { + title: "fab fa-forumbee", + searchTerms: [] + }, { + title: "fas fa-forward", + searchTerms: [ "forward", "next" ] + }, { + title: "fab fa-foursquare", + searchTerms: [] + }, { + title: "fab fa-free-code-camp", + searchTerms: [] + }, { + title: "fab fa-freebsd", + searchTerms: [] + }, { + title: "fas fa-frown", + searchTerms: [ "face", "emoticon", "sad", "disapprove", "rating" ] + }, { + title: "far fa-frown", + searchTerms: [ "face", "emoticon", "sad", "disapprove", "rating" ] + }, { + title: "fas fa-futbol", + searchTerms: [] + }, { + title: "far fa-futbol", + searchTerms: [] + }, { + title: "fas fa-gamepad", + searchTerms: [ "controller" ] + }, { + title: "fas fa-gavel", + searchTerms: [ "judge", "lawyer", "opinion", "hammer" ] + }, { + title: "fas fa-gem", + searchTerms: [ "diamond" ] + }, { + title: "far fa-gem", + searchTerms: [ "diamond" ] + }, { + title: "fas fa-genderless", + searchTerms: [] + }, { + title: "fab fa-get-pocket", + searchTerms: [] + }, { + title: "fab fa-gg", + searchTerms: [] + }, { + title: "fab fa-gg-circle", + searchTerms: [] + }, { + title: "fas fa-gift", + searchTerms: [ "present" ] + }, { + title: "fab fa-git", + searchTerms: [] + }, { + title: "fab fa-git-square", + searchTerms: [] + }, { + title: "fab fa-github", + searchTerms: [ "octocat" ] + }, { + title: "fab fa-github-alt", + searchTerms: [ "octocat" ] + }, { + title: "fab fa-github-square", + searchTerms: [ "octocat" ] + }, { + title: "fab fa-gitkraken", + searchTerms: [] + }, { + title: "fab fa-gitlab", + searchTerms: [ "Axosoft" ] + }, { + title: "fab fa-gitter", + searchTerms: [] + }, { + title: "fas fa-glass-martini", + searchTerms: [ "martini", "drink", "bar", "alcohol", "liquor", "glass" ] + }, { + title: "fab fa-glide", + searchTerms: [] + }, { + title: "fab fa-glide-g", + searchTerms: [] + }, { + title: "fas fa-globe", + searchTerms: [ "world", "planet", "map", "place", "travel", "earth", "global", "translate", "all", "language", "localize", "location", "coordinates", "country", "gps" ] + }, { + title: "fab fa-gofore", + searchTerms: [] + }, { + title: "fas fa-golf-ball", + searchTerms: [] + }, { + title: "fab fa-goodreads", + searchTerms: [] + }, { + title: "fab fa-goodreads-g", + searchTerms: [] + }, { + title: "fab fa-google", + searchTerms: [] + }, { + title: "fab fa-google-drive", + searchTerms: [] + }, { + title: "fab fa-google-play", + searchTerms: [] + }, { + title: "fab fa-google-plus", + searchTerms: [ "google-plus-circle", "google-plus-official" ] + }, { + title: "fab fa-google-plus-g", + searchTerms: [ "social network", "google-plus" ] + }, { + title: "fab fa-google-plus-square", + searchTerms: [ "social network" ] + }, { + title: "fab fa-google-wallet", + searchTerms: [] + }, { + title: "fas fa-graduation-cap", + searchTerms: [ "learning", "school", "student" ] + }, { + title: "fab fa-gratipay", + searchTerms: [ "heart", "like", "favorite", "love" ] + }, { + title: "fab fa-grav", + searchTerms: [] + }, { + title: "fab fa-gripfire", + searchTerms: [] + }, { + title: "fab fa-grunt", + searchTerms: [] + }, { + title: "fab fa-gulp", + searchTerms: [] + }, { + title: "fas fa-h-square", + searchTerms: [ "hospital", "hotel" ] + }, { + title: "fab fa-hacker-news", + searchTerms: [] + }, { + title: "fab fa-hacker-news-square", + searchTerms: [] + }, { + title: "fas fa-hand-lizard", + searchTerms: [] + }, { + title: "far fa-hand-lizard", + searchTerms: [] + }, { + title: "fas fa-hand-paper", + searchTerms: [ "stop" ] + }, { + title: "far fa-hand-paper", + searchTerms: [ "stop" ] + }, { + title: "fas fa-hand-peace", + searchTerms: [] + }, { + title: "far fa-hand-peace", + searchTerms: [] + }, { + title: "fas fa-hand-point-down", + searchTerms: [ "point", "finger", "hand-o-down" ] + }, { + title: "far fa-hand-point-down", + searchTerms: [ "point", "finger", "hand-o-down" ] + }, { + title: "fas fa-hand-point-left", + searchTerms: [ "point", "left", "previous", "back", "finger", "hand-o-left" ] + }, { + title: "far fa-hand-point-left", + searchTerms: [ "point", "left", "previous", "back", "finger", "hand-o-left" ] + }, { + title: "fas fa-hand-point-right", + searchTerms: [ "point", "right", "next", "forward", "finger", "hand-o-right" ] + }, { + title: "far fa-hand-point-right", + searchTerms: [ "point", "right", "next", "forward", "finger", "hand-o-right" ] + }, { + title: "fas fa-hand-point-up", + searchTerms: [ "point", "finger", "hand-o-up" ] + }, { + title: "far fa-hand-point-up", + searchTerms: [ "point", "finger", "hand-o-up" ] + }, { + title: "fas fa-hand-pointer", + searchTerms: [ "select" ] + }, { + title: "far fa-hand-pointer", + searchTerms: [ "select" ] + }, { + title: "fas fa-hand-rock", + searchTerms: [] + }, { + title: "far fa-hand-rock", + searchTerms: [] + }, { + title: "fas fa-hand-scissors", + searchTerms: [] + }, { + title: "far fa-hand-scissors", + searchTerms: [] + }, { + title: "fas fa-hand-spock", + searchTerms: [] + }, { + title: "far fa-hand-spock", + searchTerms: [] + }, { + title: "fas fa-handshake", + searchTerms: [] + }, { + title: "far fa-handshake", + searchTerms: [] + }, { + title: "fas fa-hashtag", + searchTerms: [] + }, { + title: "fas fa-hdd", + searchTerms: [ "harddrive", "hard drive", "storage", "save" ] + }, { + title: "far fa-hdd", + searchTerms: [ "harddrive", "hard drive", "storage", "save" ] + }, { + title: "fas fa-heading", + searchTerms: [ "header", "header" ] + }, { + title: "fas fa-headphones", + searchTerms: [ "sound", "listen", "music", "audio" ] + }, { + title: "fas fa-heart", + searchTerms: [ "love", "like", "favorite" ] + }, { + title: "far fa-heart", + searchTerms: [ "love", "like", "favorite" ] + }, { + title: "fas fa-heartbeat", + searchTerms: [ "ekg", "vital signs" ] + }, { + title: "fab fa-hips", + searchTerms: [] + }, { + title: "fab fa-hire-a-helper", + searchTerms: [] + }, { + title: "fas fa-history", + searchTerms: [] + }, { + title: "fas fa-hockey-puck", + searchTerms: [] + }, { + title: "fas fa-home", + searchTerms: [ "main", "house" ] + }, { + title: "fab fa-hooli", + searchTerms: [] + }, { + title: "fas fa-hospital", + searchTerms: [ "building", "medical center", "emergency room" ] + }, { + title: "far fa-hospital", + searchTerms: [ "building", "medical center", "emergency room" ] + }, { + title: "fas fa-hospital-symbol", + searchTerms: [] + }, { + title: "fab fa-hotjar", + searchTerms: [] + }, { + title: "fas fa-hourglass", + searchTerms: [] + }, { + title: "far fa-hourglass", + searchTerms: [] + }, { + title: "fas fa-hourglass-end", + searchTerms: [] + }, { + title: "fas fa-hourglass-half", + searchTerms: [] + }, { + title: "fas fa-hourglass-start", + searchTerms: [] + }, { + title: "fab fa-houzz", + searchTerms: [] + }, { + title: "fab fa-html5", + searchTerms: [] + }, { + title: "fab fa-hubspot", + searchTerms: [] + }, { + title: "fas fa-i-cursor", + searchTerms: [] + }, { + title: "fas fa-id-badge", + searchTerms: [] + }, { + title: "far fa-id-badge", + searchTerms: [] + }, { + title: "fas fa-id-card", + searchTerms: [] + }, { + title: "far fa-id-card", + searchTerms: [] + }, { + title: "fas fa-image", + searchTerms: [ "photo", "album", "picture", "picture" ] + }, { + title: "far fa-image", + searchTerms: [ "photo", "album", "picture", "picture" ] + }, { + title: "fas fa-images", + searchTerms: [ "photo", "album", "picture" ] + }, { + title: "far fa-images", + searchTerms: [ "photo", "album", "picture" ] + }, { + title: "fab fa-imdb", + searchTerms: [] + }, { + title: "fas fa-inbox", + searchTerms: [] + }, { + title: "fas fa-indent", + searchTerms: [] + }, { + title: "fas fa-industry", + searchTerms: [ "factory" ] + }, { + title: "fas fa-info", + searchTerms: [ "help", "information", "more", "details" ] + }, { + title: "fas fa-info-circle", + searchTerms: [ "help", "information", "more", "details" ] + }, { + title: "fab fa-instagram", + searchTerms: [] + }, { + title: "fab fa-internet-explorer", + searchTerms: [ "browser", "ie" ] + }, { + title: "fab fa-ioxhost", + searchTerms: [] + }, { + title: "fas fa-italic", + searchTerms: [ "italics" ] + }, { + title: "fab fa-itunes", + searchTerms: [] + }, { + title: "fab fa-itunes-note", + searchTerms: [] + }, { + title: "fab fa-jenkins", + searchTerms: [] + }, { + title: "fab fa-joget", + searchTerms: [] + }, { + title: "fab fa-joomla", + searchTerms: [] + }, { + title: "fab fa-js", + searchTerms: [] + }, { + title: "fab fa-js-square", + searchTerms: [] + }, { + title: "fab fa-jsfiddle", + searchTerms: [] + }, { + title: "fas fa-key", + searchTerms: [ "unlock", "password" ] + }, { + title: "fas fa-keyboard", + searchTerms: [ "type", "input" ] + }, { + title: "far fa-keyboard", + searchTerms: [ "type", "input" ] + }, { + title: "fab fa-keycdn", + searchTerms: [] + }, { + title: "fab fa-kickstarter", + searchTerms: [] + }, { + title: "fab fa-kickstarter-k", + searchTerms: [] + }, { + title: "fab fa-korvue", + searchTerms: [] + }, { + title: "fas fa-language", + searchTerms: [] + }, { + title: "fas fa-laptop", + searchTerms: [ "demo", "computer", "device", "pc" ] + }, { + title: "fab fa-laravel", + searchTerms: [] + }, { + title: "fab fa-lastfm", + searchTerms: [] + }, { + title: "fab fa-lastfm-square", + searchTerms: [] + }, { + title: "fas fa-leaf", + searchTerms: [ "eco", "nature", "plant" ] + }, { + title: "fab fa-leanpub", + searchTerms: [] + }, { + title: "fas fa-lemon", + searchTerms: [ "food" ] + }, { + title: "far fa-lemon", + searchTerms: [ "food" ] + }, { + title: "fab fa-less", + searchTerms: [] + }, { + title: "fas fa-level-down-alt", + searchTerms: [ "level-down" ] + }, { + title: "fas fa-level-up-alt", + searchTerms: [ "level-up" ] + }, { + title: "fas fa-life-ring", + searchTerms: [ "support" ] + }, { + title: "far fa-life-ring", + searchTerms: [ "support" ] + }, { + title: "fas fa-lightbulb", + searchTerms: [ "idea", "inspiration" ] + }, { + title: "far fa-lightbulb", + searchTerms: [ "idea", "inspiration" ] + }, { + title: "fab fa-line", + searchTerms: [] + }, { + title: "fas fa-link", + searchTerms: [ "chain" ] + }, { + title: "fab fa-linkedin", + searchTerms: [ "linkedin-square" ] + }, { + title: "fab fa-linkedin-in", + searchTerms: [ "linkedin" ] + }, { + title: "fab fa-linode", + searchTerms: [] + }, { + title: "fab fa-linux", + searchTerms: [ "tux" ] + }, { + title: "fas fa-lira-sign", + searchTerms: [ "try", "turkish", "try" ] + }, { + title: "fas fa-list", + searchTerms: [ "ul", "ol", "checklist", "finished", "completed", "done", "todo" ] + }, { + title: "fas fa-list-alt", + searchTerms: [ "ul", "ol", "checklist", "finished", "completed", "done", "todo" ] + }, { + title: "far fa-list-alt", + searchTerms: [ "ul", "ol", "checklist", "finished", "completed", "done", "todo" ] + }, { + title: "fas fa-list-ol", + searchTerms: [ "ul", "ol", "checklist", "list", "todo", "list", "numbers" ] + }, { + title: "fas fa-list-ul", + searchTerms: [ "ul", "ol", "checklist", "todo", "list" ] + }, { + title: "fas fa-location-arrow", + searchTerms: [ "map", "coordinates", "location", "address", "place", "where", "gps" ] + }, { + title: "fas fa-lock", + searchTerms: [ "protect", "admin", "security" ] + }, { + title: "fas fa-lock-open", + searchTerms: [ "protect", "admin", "password", "lock", "open" ] + }, { + title: "fas fa-long-arrow-alt-down", + searchTerms: [ "long-arrow-down" ] + }, { + title: "fas fa-long-arrow-alt-left", + searchTerms: [ "previous", "back", "long-arrow-left" ] + }, { + title: "fas fa-long-arrow-alt-right", + searchTerms: [ "long-arrow-right" ] + }, { + title: "fas fa-long-arrow-alt-up", + searchTerms: [ "long-arrow-up" ] + }, { + title: "fas fa-low-vision", + searchTerms: [] + }, { + title: "fab fa-lyft", + searchTerms: [] + }, { + title: "fab fa-magento", + searchTerms: [] + }, { + title: "fas fa-magic", + searchTerms: [ "wizard", "automatic", "autocomplete" ] + }, { + title: "fas fa-magnet", + searchTerms: [] + }, { + title: "fas fa-male", + searchTerms: [ "man", "human", "user", "person", "profile" ] + }, { + title: "fas fa-map", + searchTerms: [] + }, { + title: "far fa-map", + searchTerms: [] + }, { + title: "fas fa-map-marker", + searchTerms: [ "map", "pin", "location", "coordinates", "localize", "address", "travel", "where", "place", "gps" ] + }, { + title: "fas fa-map-marker-alt", + searchTerms: [ "map-marker", "gps" ] + }, { + title: "fas fa-map-pin", + searchTerms: [] + }, { + title: "fas fa-map-signs", + searchTerms: [] + }, { + title: "fas fa-mars", + searchTerms: [ "male" ] + }, { + title: "fas fa-mars-double", + searchTerms: [] + }, { + title: "fas fa-mars-stroke", + searchTerms: [] + }, { + title: "fas fa-mars-stroke-h", + searchTerms: [] + }, { + title: "fas fa-mars-stroke-v", + searchTerms: [] + }, { + title: "fab fa-maxcdn", + searchTerms: [] + }, { + title: "fab fa-medapps", + searchTerms: [] + }, { + title: "fab fa-medium", + searchTerms: [] + }, { + title: "fab fa-medium-m", + searchTerms: [] + }, { + title: "fas fa-medkit", + searchTerms: [ "first aid", "firstaid", "help", "support", "health" ] + }, { + title: "fab fa-medrt", + searchTerms: [] + }, { + title: "fab fa-meetup", + searchTerms: [] + }, { + title: "fas fa-meh", + searchTerms: [ "face", "emoticon", "rating", "neutral" ] + }, { + title: "far fa-meh", + searchTerms: [ "face", "emoticon", "rating", "neutral" ] + }, { + title: "fas fa-mercury", + searchTerms: [ "transgender" ] + }, { + title: "fas fa-microchip", + searchTerms: [] + }, { + title: "fas fa-microphone", + searchTerms: [ "record", "voice", "sound" ] + }, { + title: "fas fa-microphone-slash", + searchTerms: [ "record", "voice", "sound", "mute" ] + }, { + title: "fab fa-microsoft", + searchTerms: [] + }, { + title: "fas fa-minus", + searchTerms: [ "hide", "minify", "delete", "remove", "trash", "hide", "collapse" ] + }, { + title: "fas fa-minus-circle", + searchTerms: [ "delete", "remove", "trash", "hide" ] + }, { + title: "fas fa-minus-square", + searchTerms: [ "hide", "minify", "delete", "remove", "trash", "hide", "collapse" ] + }, { + title: "far fa-minus-square", + searchTerms: [ "hide", "minify", "delete", "remove", "trash", "hide", "collapse" ] + }, { + title: "fab fa-mix", + searchTerms: [] + }, { + title: "fab fa-mixcloud", + searchTerms: [] + }, { + title: "fab fa-mizuni", + searchTerms: [] + }, { + title: "fas fa-mobile", + searchTerms: [ "cell phone", "cellphone", "text", "call", "iphone", "number", "telephone" ] + }, { + title: "fas fa-mobile-alt", + searchTerms: [ "mobile" ] + }, { + title: "fab fa-modx", + searchTerms: [] + }, { + title: "fab fa-monero", + searchTerms: [] + }, { + title: "fas fa-money-bill-alt", + searchTerms: [ "cash", "money", "buy", "checkout", "purchase", "payment", "price" ] + }, { + title: "far fa-money-bill-alt", + searchTerms: [ "cash", "money", "buy", "checkout", "purchase", "payment", "price" ] + }, { + title: "fas fa-moon", + searchTerms: [ "night", "darker", "contrast" ] + }, { + title: "far fa-moon", + searchTerms: [ "night", "darker", "contrast" ] + }, { + title: "fas fa-motorcycle", + searchTerms: [ "vehicle", "bike" ] + }, { + title: "fas fa-mouse-pointer", + searchTerms: [ "select" ] + }, { + title: "fas fa-music", + searchTerms: [ "note", "sound" ] + }, { + title: "fab fa-napster", + searchTerms: [] + }, { + title: "fas fa-neuter", + searchTerms: [] + }, { + title: "fas fa-newspaper", + searchTerms: [ "press", "article" ] + }, { + title: "far fa-newspaper", + searchTerms: [ "press", "article" ] + }, { + title: "fab fa-nintendo-switch", + searchTerms: [] + }, { + title: "fab fa-node", + searchTerms: [] + }, { + title: "fab fa-node-js", + searchTerms: [] + }, { + title: "fab fa-npm", + searchTerms: [] + }, { + title: "fab fa-ns8", + searchTerms: [] + }, { + title: "fab fa-nutritionix", + searchTerms: [] + }, { + title: "fas fa-object-group", + searchTerms: [ "design" ] + }, { + title: "far fa-object-group", + searchTerms: [ "design" ] + }, { + title: "fas fa-object-ungroup", + searchTerms: [ "design" ] + }, { + title: "far fa-object-ungroup", + searchTerms: [ "design" ] + }, { + title: "fab fa-odnoklassniki", + searchTerms: [] + }, { + title: "fab fa-odnoklassniki-square", + searchTerms: [] + }, { + title: "fab fa-opencart", + searchTerms: [] + }, { + title: "fab fa-openid", + searchTerms: [] + }, { + title: "fab fa-opera", + searchTerms: [] + }, { + title: "fab fa-optin-monster", + searchTerms: [] + }, { + title: "fab fa-osi", + searchTerms: [] + }, { + title: "fas fa-outdent", + searchTerms: [] + }, { + title: "fab fa-page4", + searchTerms: [] + }, { + title: "fab fa-pagelines", + searchTerms: [ "leaf", "leaves", "tree", "plant", "eco", "nature" ] + }, { + title: "fas fa-paint-brush", + searchTerms: [] + }, { + title: "fab fa-palfed", + searchTerms: [] + }, { + title: "fas fa-pallet", + searchTerms: [] + }, { + title: "fas fa-paper-plane", + searchTerms: [] + }, { + title: "far fa-paper-plane", + searchTerms: [] + }, { + title: "fas fa-paperclip", + searchTerms: [ "attachment" ] + }, { + title: "fas fa-paragraph", + searchTerms: [] + }, { + title: "fas fa-paste", + searchTerms: [ "copy", "clipboard" ] + }, { + title: "fab fa-patreon", + searchTerms: [] + }, { + title: "fas fa-pause", + searchTerms: [ "wait" ] + }, { + title: "fas fa-pause-circle", + searchTerms: [] + }, { + title: "far fa-pause-circle", + searchTerms: [] + }, { + title: "fas fa-paw", + searchTerms: [ "pet" ] + }, { + title: "fab fa-paypal", + searchTerms: [] + }, { + title: "fas fa-pen-square", + searchTerms: [ "write", "edit", "update", "pencil-square" ] + }, { + title: "fas fa-pencil-alt", + searchTerms: [ "write", "edit", "update", "pencil", "design" ] + }, { + title: "fas fa-percent", + searchTerms: [] + }, { + title: "fab fa-periscope", + searchTerms: [] + }, { + title: "fab fa-phabricator", + searchTerms: [] + }, { + title: "fab fa-phoenix-framework", + searchTerms: [] + }, { + title: "fas fa-phone", + searchTerms: [ "call", "voice", "number", "support", "earphone", "telephone" ] + }, { + title: "fas fa-phone-square", + searchTerms: [ "call", "voice", "number", "support", "telephone" ] + }, { + title: "fas fa-phone-volume", + searchTerms: [ "telephone", "volume-control-phone" ] + }, { + title: "fab fa-php", + searchTerms: [] + }, { + title: "fab fa-pied-piper", + searchTerms: [] + }, { + title: "fab fa-pied-piper-alt", + searchTerms: [] + }, { + title: "fab fa-pied-piper-pp", + searchTerms: [] + }, { + title: "fas fa-pills", + searchTerms: [ "medicine", "drugs" ] + }, { + title: "fab fa-pinterest", + searchTerms: [] + }, { + title: "fab fa-pinterest-p", + searchTerms: [] + }, { + title: "fab fa-pinterest-square", + searchTerms: [] + }, { + title: "fas fa-plane", + searchTerms: [ "travel", "trip", "location", "destination", "airplane", "fly", "mode" ] + }, { + title: "fas fa-play", + searchTerms: [ "start", "playing", "music", "sound" ] + }, { + title: "fas fa-play-circle", + searchTerms: [ "start", "playing" ] + }, { + title: "far fa-play-circle", + searchTerms: [ "start", "playing" ] + }, { + title: "fab fa-playstation", + searchTerms: [] + }, { + title: "fas fa-plug", + searchTerms: [ "power", "connect" ] + }, { + title: "fas fa-plus", + searchTerms: [ "add", "new", "create", "expand" ] + }, { + title: "fas fa-plus-circle", + searchTerms: [ "add", "new", "create", "expand" ] + }, { + title: "fas fa-plus-square", + searchTerms: [ "add", "new", "create", "expand" ] + }, { + title: "far fa-plus-square", + searchTerms: [ "add", "new", "create", "expand" ] + }, { + title: "fas fa-podcast", + searchTerms: [] + }, { + title: "fas fa-pound-sign", + searchTerms: [ "gbp", "gbp" ] + }, { + title: "fas fa-power-off", + searchTerms: [ "on" ] + }, { + title: "fas fa-print", + searchTerms: [] + }, { + title: "fab fa-product-hunt", + searchTerms: [] + }, { + title: "fab fa-pushed", + searchTerms: [] + }, { + title: "fas fa-puzzle-piece", + searchTerms: [ "addon", "add-on", "section" ] + }, { + title: "fab fa-python", + searchTerms: [] + }, { + title: "fab fa-qq", + searchTerms: [] + }, { + title: "fas fa-qrcode", + searchTerms: [ "scan" ] + }, { + title: "fas fa-question", + searchTerms: [ "help", "information", "unknown", "support" ] + }, { + title: "fas fa-question-circle", + searchTerms: [ "help", "information", "unknown", "support" ] + }, { + title: "far fa-question-circle", + searchTerms: [ "help", "information", "unknown", "support" ] + }, { + title: "fas fa-quidditch", + searchTerms: [] + }, { + title: "fab fa-quinscape", + searchTerms: [] + }, { + title: "fab fa-quora", + searchTerms: [] + }, { + title: "fas fa-quote-left", + searchTerms: [] + }, { + title: "fas fa-quote-right", + searchTerms: [] + }, { + title: "fas fa-random", + searchTerms: [ "sort", "shuffle" ] + }, { + title: "fab fa-ravelry", + searchTerms: [] + }, { + title: "fab fa-react", + searchTerms: [] + }, { + title: "fab fa-rebel", + searchTerms: [] + }, { + title: "fas fa-recycle", + searchTerms: [] + }, { + title: "fab fa-red-river", + searchTerms: [] + }, { + title: "fab fa-reddit", + searchTerms: [] + }, { + title: "fab fa-reddit-alien", + searchTerms: [] + }, { + title: "fab fa-reddit-square", + searchTerms: [] + }, { + title: "fas fa-redo", + searchTerms: [ "forward", "repeat", "repeat" ] + }, { + title: "fas fa-redo-alt", + searchTerms: [ "forward", "repeat" ] + }, { + title: "fas fa-registered", + searchTerms: [] + }, { + title: "far fa-registered", + searchTerms: [] + }, { + title: "fab fa-rendact", + searchTerms: [] + }, { + title: "fab fa-renren", + searchTerms: [] + }, { + title: "fas fa-reply", + searchTerms: [] + }, { + title: "fas fa-reply-all", + searchTerms: [] + }, { + title: "fab fa-replyd", + searchTerms: [] + }, { + title: "fab fa-resolving", + searchTerms: [] + }, { + title: "fas fa-retweet", + searchTerms: [ "refresh", "reload", "share", "swap" ] + }, { + title: "fas fa-road", + searchTerms: [ "street" ] + }, { + title: "fas fa-rocket", + searchTerms: [ "app" ] + }, { + title: "fab fa-rocketchat", + searchTerms: [] + }, { + title: "fab fa-rockrms", + searchTerms: [] + }, { + title: "fas fa-rss", + searchTerms: [ "blog" ] + }, { + title: "fas fa-rss-square", + searchTerms: [ "feed", "blog" ] + }, { + title: "fas fa-ruble-sign", + searchTerms: [ "rub", "rub" ] + }, { + title: "fas fa-rupee-sign", + searchTerms: [ "indian", "inr" ] + }, { + title: "fab fa-safari", + searchTerms: [ "browser" ] + }, { + title: "fab fa-sass", + searchTerms: [] + }, { + title: "fas fa-save", + searchTerms: [ "floppy", "floppy-o" ] + }, { + title: "far fa-save", + searchTerms: [ "floppy", "floppy-o" ] + }, { + title: "fab fa-schlix", + searchTerms: [] + }, { + title: "fab fa-scribd", + searchTerms: [] + }, { + title: "fas fa-search", + searchTerms: [ "magnify", "zoom", "enlarge", "bigger" ] + }, { + title: "fas fa-search-minus", + searchTerms: [ "magnify", "minify", "zoom", "smaller" ] + }, { + title: "fas fa-search-plus", + searchTerms: [ "magnify", "zoom", "enlarge", "bigger" ] + }, { + title: "fab fa-searchengin", + searchTerms: [] + }, { + title: "fab fa-sellcast", + searchTerms: [ "eercast" ] + }, { + title: "fab fa-sellsy", + searchTerms: [] + }, { + title: "fas fa-server", + searchTerms: [] + }, { + title: "fab fa-servicestack", + searchTerms: [] + }, { + title: "fas fa-share", + searchTerms: [] + }, { + title: "fas fa-share-alt", + searchTerms: [] + }, { + title: "fas fa-share-alt-square", + searchTerms: [] + }, { + title: "fas fa-share-square", + searchTerms: [ "social", "send" ] + }, { + title: "far fa-share-square", + searchTerms: [ "social", "send" ] + }, { + title: "fas fa-shekel-sign", + searchTerms: [ "ils", "ils" ] + }, { + title: "fas fa-shield-alt", + searchTerms: [ "shield" ] + }, { + title: "fas fa-ship", + searchTerms: [ "boat", "sea" ] + }, { + title: "fas fa-shipping-fast", + searchTerms: [] + }, { + title: "fab fa-shirtsinbulk", + searchTerms: [] + }, { + title: "fas fa-shopping-bag", + searchTerms: [] + }, { + title: "fas fa-shopping-basket", + searchTerms: [] + }, { + title: "fas fa-shopping-cart", + searchTerms: [ "checkout", "buy", "purchase", "payment" ] + }, { + title: "fas fa-shower", + searchTerms: [] + }, { + title: "fas fa-sign-in-alt", + searchTerms: [ "enter", "join", "log in", "login", "sign up", "sign in", "signin", "signup", "arrow", "sign-in" ] + }, { + title: "fas fa-sign-language", + searchTerms: [] + }, { + title: "fas fa-sign-out-alt", + searchTerms: [ "log out", "logout", "leave", "exit", "arrow", "sign-out" ] + }, { + title: "fas fa-signal", + searchTerms: [ "graph", "bars", "status" ] + }, { + title: "fab fa-simplybuilt", + searchTerms: [] + }, { + title: "fab fa-sistrix", + searchTerms: [] + }, { + title: "fas fa-sitemap", + searchTerms: [ "directory", "hierarchy", "organization" ] + }, { + title: "fab fa-skyatlas", + searchTerms: [] + }, { + title: "fab fa-skype", + searchTerms: [] + }, { + title: "fab fa-slack", + searchTerms: [ "hashtag", "anchor", "hash" ] + }, { + title: "fab fa-slack-hash", + searchTerms: [ "hashtag", "anchor", "hash" ] + }, { + title: "fas fa-sliders-h", + searchTerms: [ "settings", "sliders" ] + }, { + title: "fab fa-slideshare", + searchTerms: [] + }, { + title: "fas fa-smile", + searchTerms: [ "face", "emoticon", "happy", "approve", "satisfied", "rating" ] + }, { + title: "far fa-smile", + searchTerms: [ "face", "emoticon", "happy", "approve", "satisfied", "rating" ] + }, { + title: "fab fa-snapchat", + searchTerms: [] + }, { + title: "fab fa-snapchat-ghost", + searchTerms: [] + }, { + title: "fab fa-snapchat-square", + searchTerms: [] + }, { + title: "fas fa-snowflake", + searchTerms: [] + }, { + title: "far fa-snowflake", + searchTerms: [] + }, { + title: "fas fa-sort", + searchTerms: [ "order" ] + }, { + title: "fas fa-sort-alpha-down", + searchTerms: [ "sort-alpha-asc" ] + }, { + title: "fas fa-sort-alpha-up", + searchTerms: [ "sort-alpha-desc" ] + }, { + title: "fas fa-sort-amount-down", + searchTerms: [ "sort-amount-asc" ] + }, { + title: "fas fa-sort-amount-up", + searchTerms: [ "sort-amount-desc" ] + }, { + title: "fas fa-sort-down", + searchTerms: [ "arrow", "descending", "sort-desc" ] + }, { + title: "fas fa-sort-numeric-down", + searchTerms: [ "numbers", "sort-numeric-asc" ] + }, { + title: "fas fa-sort-numeric-up", + searchTerms: [ "numbers", "sort-numeric-desc" ] + }, { + title: "fas fa-sort-up", + searchTerms: [ "arrow", "ascending", "sort-asc" ] + }, { + title: "fab fa-soundcloud", + searchTerms: [] + }, { + title: "fas fa-space-shuttle", + searchTerms: [] + }, { + title: "fab fa-speakap", + searchTerms: [] + }, { + title: "fas fa-spinner", + searchTerms: [ "loading", "progress" ] + }, { + title: "fab fa-spotify", + searchTerms: [] + }, { + title: "fas fa-square", + searchTerms: [ "block", "box" ] + }, { + title: "far fa-square", + searchTerms: [ "block", "box" ] + }, { + title: "fas fa-square-full", + searchTerms: [] + }, { + title: "fab fa-stack-exchange", + searchTerms: [] + }, { + title: "fab fa-stack-overflow", + searchTerms: [] + }, { + title: "fas fa-star", + searchTerms: [ "award", "achievement", "night", "rating", "score", "favorite" ] + }, { + title: "far fa-star", + searchTerms: [ "award", "achievement", "night", "rating", "score", "favorite" ] + }, { + title: "fas fa-star-half", + searchTerms: [ "award", "achievement", "rating", "score", "star-half-empty", "star-half-full" ] + }, { + title: "far fa-star-half", + searchTerms: [ "award", "achievement", "rating", "score", "star-half-empty", "star-half-full" ] + }, { + title: "fab fa-staylinked", + searchTerms: [] + }, { + title: "fab fa-steam", + searchTerms: [] + }, { + title: "fab fa-steam-square", + searchTerms: [] + }, { + title: "fab fa-steam-symbol", + searchTerms: [] + }, { + title: "fas fa-step-backward", + searchTerms: [ "rewind", "previous", "beginning", "start", "first" ] + }, { + title: "fas fa-step-forward", + searchTerms: [ "next", "end", "last" ] + }, { + title: "fas fa-stethoscope", + searchTerms: [] + }, { + title: "fab fa-sticker-mule", + searchTerms: [] + }, { + title: "fas fa-sticky-note", + searchTerms: [] + }, { + title: "far fa-sticky-note", + searchTerms: [] + }, { + title: "fas fa-stop", + searchTerms: [ "block", "box", "square" ] + }, { + title: "fas fa-stop-circle", + searchTerms: [] + }, { + title: "far fa-stop-circle", + searchTerms: [] + }, { + title: "fas fa-stopwatch", + searchTerms: [ "time" ] + }, { + title: "fab fa-strava", + searchTerms: [] + }, { + title: "fas fa-street-view", + searchTerms: [ "map" ] + }, { + title: "fas fa-strikethrough", + searchTerms: [] + }, { + title: "fab fa-stripe", + searchTerms: [] + }, { + title: "fab fa-stripe-s", + searchTerms: [] + }, { + title: "fab fa-studiovinari", + searchTerms: [] + }, { + title: "fab fa-stumbleupon", + searchTerms: [] + }, { + title: "fab fa-stumbleupon-circle", + searchTerms: [] + }, { + title: "fas fa-subscript", + searchTerms: [] + }, { + title: "fas fa-subway", + searchTerms: [] + }, { + title: "fas fa-suitcase", + searchTerms: [ "trip", "luggage", "travel", "move", "baggage" ] + }, { + title: "fas fa-sun", + searchTerms: [ "weather", "contrast", "lighter", "brighten", "day" ] + }, { + title: "far fa-sun", + searchTerms: [ "weather", "contrast", "lighter", "brighten", "day" ] + }, { + title: "fab fa-superpowers", + searchTerms: [] + }, { + title: "fas fa-superscript", + searchTerms: [ "exponential" ] + }, { + title: "fab fa-supple", + searchTerms: [] + }, { + title: "fas fa-sync", + searchTerms: [ "reload", "refresh", "refresh" ] + }, { + title: "fas fa-sync-alt", + searchTerms: [ "reload", "refresh" ] + }, { + title: "fas fa-syringe", + searchTerms: [ "immunizations", "needle" ] + }, { + title: "fas fa-table", + searchTerms: [ "data", "excel", "spreadsheet" ] + }, { + title: "fas fa-table-tennis", + searchTerms: [] + }, { + title: "fas fa-tablet", + searchTerms: [ "ipad", "device" ] + }, { + title: "fas fa-tablet-alt", + searchTerms: [ "tablet" ] + }, { + title: "fas fa-tachometer-alt", + searchTerms: [ "tachometer", "dashboard" ] + }, { + title: "fas fa-tag", + searchTerms: [ "label" ] + }, { + title: "fas fa-tags", + searchTerms: [ "labels" ] + }, { + title: "fas fa-tasks", + searchTerms: [ "progress", "loading", "downloading", "downloads", "settings" ] + }, { + title: "fas fa-taxi", + searchTerms: [ "vehicle" ] + }, { + title: "fab fa-telegram", + searchTerms: [] + }, { + title: "fab fa-telegram-plane", + searchTerms: [] + }, { + title: "fab fa-tencent-weibo", + searchTerms: [] + }, { + title: "fas fa-terminal", + searchTerms: [ "command", "prompt", "code" ] + }, { + title: "fas fa-text-height", + searchTerms: [] + }, { + title: "fas fa-text-width", + searchTerms: [] + }, { + title: "fas fa-th", + searchTerms: [ "blocks", "squares", "boxes", "grid" ] + }, { + title: "fas fa-th-large", + searchTerms: [ "blocks", "squares", "boxes", "grid" ] + }, { + title: "fas fa-th-list", + searchTerms: [ "ul", "ol", "checklist", "finished", "completed", "done", "todo" ] + }, { + title: "fab fa-themeisle", + searchTerms: [] + }, { + title: "fas fa-thermometer", + searchTerms: [ "temperature", "fever" ] + }, { + title: "fas fa-thermometer-empty", + searchTerms: [ "status" ] + }, { + title: "fas fa-thermometer-full", + searchTerms: [ "status" ] + }, { + title: "fas fa-thermometer-half", + searchTerms: [ "status" ] + }, { + title: "fas fa-thermometer-quarter", + searchTerms: [ "status" ] + }, { + title: "fas fa-thermometer-three-quarters", + searchTerms: [ "status" ] + }, { + title: "fas fa-thumbs-down", + searchTerms: [ "dislike", "disapprove", "disagree", "hand", "thumbs-o-down" ] + }, { + title: "far fa-thumbs-down", + searchTerms: [ "dislike", "disapprove", "disagree", "hand", "thumbs-o-down" ] + }, { + title: "fas fa-thumbs-up", + searchTerms: [ "like", "favorite", "approve", "agree", "hand", "thumbs-o-up" ] + }, { + title: "far fa-thumbs-up", + searchTerms: [ "like", "favorite", "approve", "agree", "hand", "thumbs-o-up" ] + }, { + title: "fas fa-thumbtack", + searchTerms: [ "marker", "pin", "location", "coordinates", "thumb-tack" ] + }, { + title: "fas fa-ticket-alt", + searchTerms: [ "ticket" ] + }, { + title: "fas fa-times", + searchTerms: [ "close", "exit", "x", "cross" ] + }, { + title: "fas fa-times-circle", + searchTerms: [ "close", "exit", "x" ] + }, { + title: "far fa-times-circle", + searchTerms: [ "close", "exit", "x" ] + }, { + title: "fas fa-tint", + searchTerms: [ "raindrop", "waterdrop", "drop", "droplet" ] + }, { + title: "fas fa-toggle-off", + searchTerms: [ "switch" ] + }, { + title: "fas fa-toggle-on", + searchTerms: [ "switch" ] + }, { + title: "fas fa-trademark", + searchTerms: [] + }, { + title: "fas fa-train", + searchTerms: [] + }, { + title: "fas fa-transgender", + searchTerms: [ "intersex" ] + }, { + title: "fas fa-transgender-alt", + searchTerms: [] + }, { + title: "fas fa-trash", + searchTerms: [ "garbage", "delete", "remove", "hide" ] + }, { + title: "fas fa-trash-alt", + searchTerms: [ "garbage", "delete", "remove", "hide", "trash", "trash-o" ] + }, { + title: "far fa-trash-alt", + searchTerms: [ "garbage", "delete", "remove", "hide", "trash", "trash-o" ] + }, { + title: "fas fa-tree", + searchTerms: [] + }, { + title: "fab fa-trello", + searchTerms: [] + }, { + title: "fab fa-tripadvisor", + searchTerms: [] + }, { + title: "fas fa-trophy", + searchTerms: [ "award", "achievement", "cup", "winner", "game" ] + }, { + title: "fas fa-truck", + searchTerms: [ "shipping" ] + }, { + title: "fas fa-tty", + searchTerms: [] + }, { + title: "fab fa-tumblr", + searchTerms: [] + }, { + title: "fab fa-tumblr-square", + searchTerms: [] + }, { + title: "fas fa-tv", + searchTerms: [ "display", "computer", "monitor", "television" ] + }, { + title: "fab fa-twitch", + searchTerms: [] + }, { + title: "fab fa-twitter", + searchTerms: [ "tweet", "social network" ] + }, { + title: "fab fa-twitter-square", + searchTerms: [ "tweet", "social network" ] + }, { + title: "fab fa-typo3", + searchTerms: [] + }, { + title: "fab fa-uber", + searchTerms: [] + }, { + title: "fab fa-uikit", + searchTerms: [] + }, { + title: "fas fa-umbrella", + searchTerms: [] + }, { + title: "fas fa-underline", + searchTerms: [] + }, { + title: "fas fa-undo", + searchTerms: [ "back" ] + }, { + title: "fas fa-undo-alt", + searchTerms: [ "back" ] + }, { + title: "fab fa-uniregistry", + searchTerms: [] + }, { + title: "fas fa-universal-access", + searchTerms: [] + }, { + title: "fas fa-university", + searchTerms: [ "bank", "institution" ] + }, { + title: "fas fa-unlink", + searchTerms: [ "remove", "chain", "chain-broken" ] + }, { + title: "fas fa-unlock", + searchTerms: [ "protect", "admin", "password", "lock" ] + }, { + title: "fas fa-unlock-alt", + searchTerms: [ "protect", "admin", "password", "lock" ] + }, { + title: "fab fa-untappd", + searchTerms: [] + }, { + title: "fas fa-upload", + searchTerms: [ "import" ] + }, { + title: "fab fa-usb", + searchTerms: [] + }, { + title: "fas fa-user", + searchTerms: [ "person", "man", "head", "profile", "account" ] + }, { + title: "far fa-user", + searchTerms: [ "person", "man", "head", "profile", "account" ] + }, { + title: "fas fa-user-circle", + searchTerms: [ "person", "man", "head", "profile", "account" ] + }, { + title: "far fa-user-circle", + searchTerms: [ "person", "man", "head", "profile", "account" ] + }, { + title: "fas fa-user-md", + searchTerms: [ "doctor", "profile", "medical", "nurse", "job", "occupation" ] + }, { + title: "fas fa-user-plus", + searchTerms: [ "sign up", "signup" ] + }, { + title: "fas fa-user-secret", + searchTerms: [ "whisper", "spy", "incognito", "privacy" ] + }, { + title: "fas fa-user-times", + searchTerms: [] + }, { + title: "fas fa-users", + searchTerms: [ "people", "profiles", "persons" ] + }, { + title: "fab fa-ussunnah", + searchTerms: [] + }, { + title: "fas fa-utensil-spoon", + searchTerms: [ "spoon" ] + }, { + title: "fas fa-utensils", + searchTerms: [ "food", "restaurant", "spoon", "knife", "dinner", "eat", "cutlery" ] + }, { + title: "fab fa-vaadin", + searchTerms: [] + }, { + title: "fas fa-venus", + searchTerms: [ "female" ] + }, { + title: "fas fa-venus-double", + searchTerms: [] + }, { + title: "fas fa-venus-mars", + searchTerms: [] + }, { + title: "fab fa-viacoin", + searchTerms: [] + }, { + title: "fab fa-viadeo", + searchTerms: [] + }, { + title: "fab fa-viadeo-square", + searchTerms: [] + }, { + title: "fab fa-viber", + searchTerms: [] + }, { + title: "fas fa-video", + searchTerms: [ "film", "movie", "record", "camera", "video-camera" ] + }, { + title: "fab fa-vimeo", + searchTerms: [] + }, { + title: "fab fa-vimeo-square", + searchTerms: [] + }, { + title: "fab fa-vimeo-v", + searchTerms: [ "vimeo" ] + }, { + title: "fab fa-vine", + searchTerms: [] + }, { + title: "fab fa-vk", + searchTerms: [] + }, { + title: "fab fa-vnv", + searchTerms: [] + }, { + title: "fas fa-volleyball-ball", + searchTerms: [] + }, { + title: "fas fa-volume-down", + searchTerms: [ "audio", "lower", "quieter", "sound", "music" ] + }, { + title: "fas fa-volume-off", + searchTerms: [ "audio", "mute", "sound", "music" ] + }, { + title: "fas fa-volume-up", + searchTerms: [ "audio", "higher", "louder", "sound", "music" ] + }, { + title: "fab fa-vuejs", + searchTerms: [] + }, { + title: "fas fa-warehouse", + searchTerms: [] + }, { + title: "fab fa-weibo", + searchTerms: [] + }, { + title: "fas fa-weight", + searchTerms: [ "scale" ] + }, { + title: "fab fa-weixin", + searchTerms: [] + }, { + title: "fab fa-whatsapp", + searchTerms: [] + }, { + title: "fab fa-whatsapp-square", + searchTerms: [] + }, { + title: "fas fa-wheelchair", + searchTerms: [ "handicap", "person" ] + }, { + title: "fab fa-whmcs", + searchTerms: [] + }, { + title: "fas fa-wifi", + searchTerms: [] + }, { + title: "fab fa-wikipedia-w", + searchTerms: [] + }, { + title: "fas fa-window-close", + searchTerms: [] + }, { + title: "far fa-window-close", + searchTerms: [] + }, { + title: "fas fa-window-maximize", + searchTerms: [] + }, { + title: "far fa-window-maximize", + searchTerms: [] + }, { + title: "fas fa-window-minimize", + searchTerms: [] + }, { + title: "far fa-window-minimize", + searchTerms: [] + }, { + title: "fas fa-window-restore", + searchTerms: [] + }, { + title: "far fa-window-restore", + searchTerms: [] + }, { + title: "fab fa-windows", + searchTerms: [ "microsoft" ] + }, { + title: "fas fa-won-sign", + searchTerms: [ "krw", "krw" ] + }, { + title: "fab fa-wordpress", + searchTerms: [] + }, { + title: "fab fa-wordpress-simple", + searchTerms: [] + }, { + title: "fab fa-wpbeginner", + searchTerms: [] + }, { + title: "fab fa-wpexplorer", + searchTerms: [] + }, { + title: "fab fa-wpforms", + searchTerms: [] + }, { + title: "fas fa-wrench", + searchTerms: [ "settings", "fix", "update", "spanner", "tool" ] + }, { + title: "fab fa-xbox", + searchTerms: [] + }, { + title: "fab fa-xing", + searchTerms: [] + }, { + title: "fab fa-xing-square", + searchTerms: [] + }, { + title: "fab fa-y-combinator", + searchTerms: [] + }, { + title: "fab fa-yahoo", + searchTerms: [] + }, { + title: "fab fa-yandex", + searchTerms: [] + }, { + title: "fab fa-yandex-international", + searchTerms: [] + }, { + title: "fab fa-yelp", + searchTerms: [] + }, { + title: "fas fa-yen-sign", + searchTerms: [ "jpy", "jpy" ] + }, { + title: "fab fa-yoast", + searchTerms: [] + }, { + title: "fab fa-youtube", + searchTerms: [ "video", "film", "youtube-play", "youtube-square" ] + }, { + title: "fab fa-youtube-square", + searchTerms: [] + } ] + }); +}); \ No newline at end of file diff --git a/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.css b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.css new file mode 100644 index 00000000..e56572a3 --- /dev/null +++ b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Icon Picker + * https://farbelous.github.io/fontawesome-iconpicker/ + * + * Originally written by (c) 2016 Javi Aguilar + * Licensed under the MIT License + * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE + * + */.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:234px;background:#f7f7f7;z-index:9}.iconpicker-popover.popover.top,.iconpicker-popover.popover.topLeftCorner,.iconpicker-popover.popover.topLeft,.iconpicker-popover.popover.topRight,.iconpicker-popover.popover.topRightCorner{margin-top:-10px}.iconpicker-popover.popover.right,.iconpicker-popover.popover.rightTop,.iconpicker-popover.popover.rightBottom{margin-left:10px}.iconpicker-popover.popover.bottom,.iconpicker-popover.popover.bottomRightCorner,.iconpicker-popover.popover.bottomRight,.iconpicker-popover.popover.bottomLeft,.iconpicker-popover.popover.bottomLeftCorner{margin-top:10px}.iconpicker-popover.popover.left,.iconpicker-popover.popover.leftBottom,.iconpicker-popover.popover.leftTop{margin-left:-10px}.iconpicker-popover.popover.inline{margin:0 0 12px 0;position:relative;display:inline-block;opacity:1;top:auto;left:auto;bottom:auto;right:auto;max-width:100%;box-shadow:none;z-index:auto;vertical-align:top}.iconpicker-popover.popover.inline>.arrow{display:none}.dropdown-menu .iconpicker-popover.inline{margin:0;border:none}.dropdown-menu.iconpicker-container{padding:0}.iconpicker-popover.popover .popover-title{padding:12px;font-size:13px;line-height:15px;border-bottom:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px 0}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:12px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:12px;text-align:right;margin:0;border-top:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover .popover-footer:before,.iconpicker-popover .popover-footer:after{content:" ";display:table}.iconpicker-popover .popover-footer:after{clear:both}.iconpicker-popover .popover-footer .iconpicker-btn{margin-left:10px}.iconpicker-popover .popover-footer input[type=search].iconpicker-search{margin-bottom:12px}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.top>.arrow,.iconpicker-popover.popover.topLeft>.arrow,.iconpicker-popover.popover.topRight>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.iconpicker-popover.popover.top>.arrow:after,.iconpicker-popover.popover.topLeft>.arrow:after,.iconpicker-popover.popover.topRight>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.iconpicker-popover.popover.topLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.right>.arrow,.iconpicker-popover.popover.rightTop>.arrow,.iconpicker-popover.popover.rightBottom>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.right>.arrow:after,.iconpicker-popover.popover.rightTop>.arrow:after,.iconpicker-popover.popover.rightBottom>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.iconpicker-popover.popover.rightTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.bottom>.arrow,.iconpicker-popover.popover.bottomRight>.arrow,.iconpicker-popover.popover.bottomLeft>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.iconpicker-popover.popover.bottom>.arrow:after,.iconpicker-popover.popover.bottomRight>.arrow:after,.iconpicker-popover.popover.bottomLeft>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.iconpicker-popover.popover.bottomLeft>.arrow{left:8px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:8px;margin-left:0}.iconpicker-popover.popover.left>.arrow,.iconpicker-popover.popover.leftBottom>.arrow,.iconpicker-popover.popover.leftTop>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.left>.arrow:after,.iconpicker-popover.popover.leftBottom>.arrow:after,.iconpicker-popover.popover.leftTop>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.iconpicker-popover.popover.leftBottom>.arrow{top:8px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:8px;margin-top:0}.iconpicker{position:relative;text-align:left;text-shadow:none;line-height:0;display:block;margin:0;overflow:hidden}.iconpicker *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative}.iconpicker:before,.iconpicker:after{content:" ";display:table}.iconpicker:after{clear:both}.iconpicker .iconpicker-items{position:relative;clear:both;float:none;padding:12px 0 0 12px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:49px;max-height:246px}.iconpicker .iconpicker-items:before,.iconpicker .iconpicker-items:after{content:" ";display:table}.iconpicker .iconpicker-items:after{clear:both}.iconpicker .iconpicker-item{float:left;width:14px;height:14px;padding:12px;margin:0 12px 12px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd;color:inherit}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;color:#fff;background:#000}.iconpicker-component{cursor:pointer} \ No newline at end of file diff --git a/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.js b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.js new file mode 100644 index 00000000..2fe5d1fc --- /dev/null +++ b/public/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.min.js @@ -0,0 +1,20 @@ +/*! + * Font Awesome Icon Picker + * https://farbelous.github.io/fontawesome-iconpicker/ + * + * Originally written by (c) 2016 Javi Aguilar + * Licensed under the MIT License + * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE + * + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.ui=a.ui||{};a.ui.version="1.12.1";/*! + * jQuery UI Position 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ +!function(){function b(a,b,c){return[parseFloat(a[0])*(l.test(a[0])?b/100:1),parseFloat(a[1])*(l.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}var e,f=Math.max,g=Math.abs,h=/left|center|right/,i=/top|center|bottom/,j=/[\+\-]\d+(\.[\d]+)?%?/,k=/^\w+/,l=/%$/,m=a.fn.pos;a.pos={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("
"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width0?"right":"center",vertical:h<0?"top":d>0?"bottom":"middle"};nf(g(d),g(h))?l.important="horizontal":l.important="vertical",e.using.call(this,a,l)}),i.offset(a.extend(z,{using:h}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var d,e=c.within,g=e.isWindow?e.scrollLeft:e.offset.left,h=e.width,i=b.left-c.collisionPosition.marginLeft,j=g-i,k=i+c.collisionWidth-h-g;c.collisionWidth>h?j>0&&k<=0?(d=b.left+j+c.collisionWidth-h-g,b.left+=j-d):b.left=k>0&&j<=0?g:j>k?g+h-c.collisionWidth:g:j>0?b.left+=j:k>0?b.left-=k:b.left=f(b.left-i,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var d,e=c.within,g=e.isWindow?e.scrollTop:e.offset.top,h=c.within.height,i=b.top-c.collisionPosition.marginTop,j=g-i,k=i+c.collisionHeight-h-g;c.collisionHeight>h?j>0&&k<=0?(d=b.top+j+c.collisionHeight-h-g,b.top+=j-d):b.top=k>0&&j<=0?g:j>k?g+h-c.collisionHeight:g:j>0?b.top+=j:k>0?b.top-=k:b.top=f(b.top-i,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var d,e,f=c.within,h=f.offset.left+f.scrollLeft,i=f.width,j=f.isWindow?f.scrollLeft:f.offset.left,k=b.left-c.collisionPosition.marginLeft,l=k-j,m=k+c.collisionWidth-i-j,n="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,o="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,p=-2*c.offset[0];l<0?((d=b.left+n+o+p+c.collisionWidth-i-h)<0||d0&&((e=b.left-c.collisionPosition.marginLeft+n+o+p-j)>0||g(e)0&&((d=b.top-c.collisionPosition.marginTop+o+p+q-j)>0||g(d)10&&e<11,b.innerHTML="",c.removeChild(b)}()}();a.ui.position}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return!1===a||""===a||null===a||void 0===a},isEmptyObject:function(a){return!0===this.isEmpty(a)||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return-1!==a.inArray(b,c)},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate",{iconpickerValue:this.iconpickerValue}),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!b.isElement(this.options.container)&&a(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated",{iconpickerValue:this.iconpickerValue})};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(a){return a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'
',footer:'',buttons:' ',search:'',iconpicker:'
',iconpickerItem:''}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('
'+this.options.title+"
")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(c){var d=a(this);d.is("i")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),!1===b.options.mustAccept?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&!1===b.options.mustAccept&&b.hide()};for(var d in this.options.icons)if("string"==typeof this.options.icons[d].title){var e=a(this.options.templates.iconpickerItem);if(e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d].title)),e.data("iconpickerValue",this.options.icons[d].title).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.options.icons[d].title)),this.options.icons[d].searchTerms.length>0){for(var f="",g=0;g0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(a){return!!this.hasInput()&&(!1!==a?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(c){b.isString(c)||(c="");var d=""===c;c=a.trim(c);for(var e=!1,f=0;f'},setSourceValue:function(a){return a=this.setValue(a),!1!==a&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),void 0!==b&&""!==b&&null!==b&&!1!==b||(b=a),b},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase();e=e+" "+(b.attr("data-search-terms")?b.attr("data-search-terms").toLowerCase():"");var f=!1;try{f=new RegExp("(^|\\W)"+c,"g")}catch(a){f=!1}!1!==f&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){if(this.popover.hasClass("in"))return!1;a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow",{iconpickerValue:this.iconpickerValue}),this.updatePlacement(),this.popover.addClass("in"),setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide",{iconpickerValue:this.iconpickerValue}),this.popover.removeClass("in"),setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate",{iconpickerValue:this.iconpickerValue}),!0===b?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(!1!==a)),!1!==a&&this._updateComponents(),this._trigger("iconpickerUpdated",{iconpickerValue:this.iconpickerValue}),a},destroy:function(){this._trigger("iconpickerDestroy",{iconpickerValue:this.iconpickerValue}),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed",{iconpickerValue:this.iconpickerValue})},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions=a.extend(c.defaultOptions,{icons:[{title:"fab fa-500px",searchTerms:[]},{title:"fab fa-accessible-icon",searchTerms:["accessibility","wheelchair","handicap","person","wheelchair-alt"]},{title:"fab fa-accusoft",searchTerms:[]},{title:"fas fa-address-book",searchTerms:[]},{title:"far fa-address-book",searchTerms:[]},{title:"fas fa-address-card",searchTerms:[]},{title:"far fa-address-card",searchTerms:[]},{title:"fas fa-adjust",searchTerms:["contrast"]},{title:"fab fa-adn",searchTerms:[]},{title:"fab fa-adversal",searchTerms:[]},{title:"fab fa-affiliatetheme",searchTerms:[]},{title:"fab fa-algolia",searchTerms:[]},{title:"fas fa-align-center",searchTerms:["middle","text"]},{title:"fas fa-align-justify",searchTerms:["text"]},{title:"fas fa-align-left",searchTerms:["text"]},{title:"fas fa-align-right",searchTerms:["text"]},{title:"fab fa-amazon",searchTerms:[]},{title:"fab fa-amazon-pay",searchTerms:[]},{title:"fas fa-ambulance",searchTerms:["vehicle","support","help"]},{title:"fas fa-american-sign-language-interpreting",searchTerms:[]},{title:"fab fa-amilia",searchTerms:[]},{title:"fas fa-anchor",searchTerms:["link"]},{title:"fab fa-android",searchTerms:["robot"]},{title:"fab fa-angellist",searchTerms:[]},{title:"fas fa-angle-double-down",searchTerms:["arrows"]},{title:"fas fa-angle-double-left",searchTerms:["laquo","quote","previous","back","arrows"]},{title:"fas fa-angle-double-right",searchTerms:["raquo","quote","next","forward","arrows"]},{title:"fas fa-angle-double-up",searchTerms:["arrows"]},{title:"fas fa-angle-down",searchTerms:["arrow"]},{title:"fas fa-angle-left",searchTerms:["previous","back","arrow"]},{title:"fas fa-angle-right",searchTerms:["next","forward","arrow"]},{title:"fas fa-angle-up",searchTerms:["arrow"]},{title:"fab fa-angrycreative",searchTerms:[]},{title:"fab fa-angular",searchTerms:[]},{title:"fab fa-app-store",searchTerms:[]},{title:"fab fa-app-store-ios",searchTerms:[]},{title:"fab fa-apper",searchTerms:[]},{title:"fab fa-apple",searchTerms:["osx","food"]},{title:"fab fa-apple-pay",searchTerms:[]},{title:"fas fa-archive",searchTerms:["box","storage","package"]},{title:"fas fa-arrow-alt-circle-down",searchTerms:["download","arrow-circle-o-down"]},{title:"far fa-arrow-alt-circle-down",searchTerms:["download","arrow-circle-o-down"]},{title:"fas fa-arrow-alt-circle-left",searchTerms:["previous","back","arrow-circle-o-left"]},{title:"far fa-arrow-alt-circle-left",searchTerms:["previous","back","arrow-circle-o-left"]},{title:"fas fa-arrow-alt-circle-right",searchTerms:["next","forward","arrow-circle-o-right"]},{title:"far fa-arrow-alt-circle-right",searchTerms:["next","forward","arrow-circle-o-right"]},{title:"fas fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"far fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"fas fa-arrow-circle-down",searchTerms:["download"]},{title:"fas fa-arrow-circle-left",searchTerms:["previous","back"]},{title:"fas fa-arrow-circle-right",searchTerms:["next","forward"]},{title:"fas fa-arrow-circle-up",searchTerms:[]},{title:"fas fa-arrow-down",searchTerms:["download"]},{title:"fas fa-arrow-left",searchTerms:["previous","back"]},{title:"fas fa-arrow-right",searchTerms:["next","forward"]},{title:"fas fa-arrow-up",searchTerms:[]},{title:"fas fa-arrows-alt",searchTerms:["expand","enlarge","fullscreen","bigger","move","reorder","resize","arrow","arrows"]},{title:"fas fa-arrows-alt-h",searchTerms:["resize","arrows-h"]},{title:"fas fa-arrows-alt-v",searchTerms:["resize","arrows-v"]},{title:"fas fa-assistive-listening-systems",searchTerms:[]},{title:"fas fa-asterisk",searchTerms:["details"]},{title:"fab fa-asymmetrik",searchTerms:[]},{title:"fas fa-at",searchTerms:["email","e-mail"]},{title:"fab fa-audible",searchTerms:[]},{title:"fas fa-audio-description",searchTerms:[]},{title:"fab fa-autoprefixer",searchTerms:[]},{title:"fab fa-avianex",searchTerms:[]},{title:"fab fa-aviato",searchTerms:[]},{title:"fab fa-aws",searchTerms:[]},{title:"fas fa-backward",searchTerms:["rewind","previous"]},{title:"fas fa-balance-scale",searchTerms:[]},{title:"fas fa-ban",searchTerms:["delete","remove","trash","hide","block","stop","abort","cancel","ban","prohibit"]},{title:"fas fa-band-aid",searchTerms:["bandage","ouch","boo boo"]},{title:"fab fa-bandcamp",searchTerms:[]},{title:"fas fa-barcode",searchTerms:["scan"]},{title:"fas fa-bars",searchTerms:["menu","drag","reorder","settings","list","ul","ol","checklist","todo","list","hamburger"]},{title:"fas fa-baseball-ball",searchTerms:[]},{title:"fas fa-basketball-ball",searchTerms:[]},{title:"fas fa-bath",searchTerms:[]},{title:"fas fa-battery-empty",searchTerms:["power","status"]},{title:"fas fa-battery-full",searchTerms:["power","status"]},{title:"fas fa-battery-half",searchTerms:["power","status"]},{title:"fas fa-battery-quarter",searchTerms:["power","status"]},{title:"fas fa-battery-three-quarters",searchTerms:["power","status"]},{title:"fas fa-bed",searchTerms:["travel"]},{title:"fas fa-beer",searchTerms:["alcohol","stein","drink","mug","bar","liquor"]},{title:"fab fa-behance",searchTerms:[]},{title:"fab fa-behance-square",searchTerms:[]},{title:"fas fa-bell",searchTerms:["alert","reminder","notification"]},{title:"far fa-bell",searchTerms:["alert","reminder","notification"]},{title:"fas fa-bell-slash",searchTerms:[]},{title:"far fa-bell-slash",searchTerms:[]},{title:"fas fa-bicycle",searchTerms:["vehicle","bike","gears"]},{title:"fab fa-bimobject",searchTerms:[]},{title:"fas fa-binoculars",searchTerms:[]},{title:"fas fa-birthday-cake",searchTerms:[]},{title:"fab fa-bitbucket",searchTerms:["git","bitbucket-square"]},{title:"fab fa-bitcoin",searchTerms:[]},{title:"fab fa-bity",searchTerms:[]},{title:"fab fa-black-tie",searchTerms:[]},{title:"fab fa-blackberry",searchTerms:[]},{title:"fas fa-blind",searchTerms:[]},{title:"fab fa-blogger",searchTerms:[]},{title:"fab fa-blogger-b",searchTerms:[]},{title:"fab fa-bluetooth",searchTerms:[]},{title:"fab fa-bluetooth-b",searchTerms:[]},{title:"fas fa-bold",searchTerms:[]},{title:"fas fa-bolt",searchTerms:["lightning","weather"]},{title:"fas fa-bomb",searchTerms:[]},{title:"fas fa-book",searchTerms:["read","documentation"]},{title:"fas fa-bookmark",searchTerms:["save"]},{title:"far fa-bookmark",searchTerms:["save"]},{title:"fas fa-bowling-ball",searchTerms:[]},{title:"fas fa-box",searchTerms:[]},{title:"fas fa-boxes",searchTerms:[]},{title:"fas fa-braille",searchTerms:[]},{title:"fas fa-briefcase",searchTerms:["work","business","office","luggage","bag"]},{title:"fab fa-btc",searchTerms:[]},{title:"fas fa-bug",searchTerms:["report","insect"]},{title:"fas fa-building",searchTerms:["work","business","apartment","office","company"]},{title:"far fa-building",searchTerms:["work","business","apartment","office","company"]},{title:"fas fa-bullhorn",searchTerms:["announcement","share","broadcast","louder","megaphone"]},{title:"fas fa-bullseye",searchTerms:["target"]},{title:"fab fa-buromobelexperte",searchTerms:[]},{title:"fas fa-bus",searchTerms:["vehicle"]},{title:"fab fa-buysellads",searchTerms:[]},{title:"fas fa-calculator",searchTerms:[]},{title:"fas fa-calendar",searchTerms:["date","time","when","event","calendar-o"]},{title:"far fa-calendar",searchTerms:["date","time","when","event","calendar-o"]},{title:"fas fa-calendar-alt",searchTerms:["date","time","when","event","calendar"]},{title:"far fa-calendar-alt",searchTerms:["date","time","when","event","calendar"]},{title:"fas fa-calendar-check",searchTerms:["ok"]},{title:"far fa-calendar-check",searchTerms:["ok"]},{title:"fas fa-calendar-minus",searchTerms:[]},{title:"far fa-calendar-minus",searchTerms:[]},{title:"fas fa-calendar-plus",searchTerms:[]},{title:"far fa-calendar-plus",searchTerms:[]},{title:"fas fa-calendar-times",searchTerms:[]},{title:"far fa-calendar-times",searchTerms:[]},{title:"fas fa-camera",searchTerms:["photo","picture","record"]},{title:"fas fa-camera-retro",searchTerms:["photo","picture","record"]},{title:"fas fa-car",searchTerms:["vehicle"]},{title:"fas fa-caret-down",searchTerms:["more","dropdown","menu","triangle down","arrow"]},{title:"fas fa-caret-left",searchTerms:["previous","back","triangle left","arrow"]},{title:"fas fa-caret-right",searchTerms:["next","forward","triangle right","arrow"]},{title:"fas fa-caret-square-down",searchTerms:["more","dropdown","menu","caret-square-o-down"]},{title:"far fa-caret-square-down",searchTerms:["more","dropdown","menu","caret-square-o-down"]},{title:"fas fa-caret-square-left",searchTerms:["previous","back","caret-square-o-left"]},{title:"far fa-caret-square-left",searchTerms:["previous","back","caret-square-o-left"]},{title:"fas fa-caret-square-right",searchTerms:["next","forward","caret-square-o-right"]},{title:"far fa-caret-square-right",searchTerms:["next","forward","caret-square-o-right"]},{title:"fas fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"far fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"fas fa-caret-up",searchTerms:["triangle up","arrow"]},{title:"fas fa-cart-arrow-down",searchTerms:["shopping"]},{title:"fas fa-cart-plus",searchTerms:["add","shopping"]},{title:"fab fa-cc-amazon-pay",searchTerms:[]},{title:"fab fa-cc-amex",searchTerms:["amex"]},{title:"fab fa-cc-apple-pay",searchTerms:[]},{title:"fab fa-cc-diners-club",searchTerms:[]},{title:"fab fa-cc-discover",searchTerms:[]},{title:"fab fa-cc-jcb",searchTerms:[]},{title:"fab fa-cc-mastercard",searchTerms:[]},{title:"fab fa-cc-paypal",searchTerms:[]},{title:"fab fa-cc-stripe",searchTerms:[]},{title:"fab fa-cc-visa",searchTerms:[]},{title:"fab fa-centercode",searchTerms:[]},{title:"fas fa-certificate",searchTerms:["badge","star"]},{title:"fas fa-chart-area",searchTerms:["graph","analytics","area-chart"]},{title:"fas fa-chart-bar",searchTerms:["graph","analytics","bar-chart"]},{title:"far fa-chart-bar",searchTerms:["graph","analytics","bar-chart"]},{title:"fas fa-chart-line",searchTerms:["graph","analytics","line-chart","dashboard"]},{title:"fas fa-chart-pie",searchTerms:["graph","analytics","pie-chart"]},{title:"fas fa-check",searchTerms:["checkmark","done","todo","agree","accept","confirm","tick","ok","select"]},{title:"fas fa-check-circle",searchTerms:["todo","done","agree","accept","confirm","ok","select"]},{title:"far fa-check-circle",searchTerms:["todo","done","agree","accept","confirm","ok","select"]},{title:"fas fa-check-square",searchTerms:["checkmark","done","todo","agree","accept","confirm","ok","select"]},{title:"far fa-check-square",searchTerms:["checkmark","done","todo","agree","accept","confirm","ok","select"]},{title:"fas fa-chess",searchTerms:[]},{title:"fas fa-chess-bishop",searchTerms:[]},{title:"fas fa-chess-board",searchTerms:[]},{title:"fas fa-chess-king",searchTerms:[]},{title:"fas fa-chess-knight",searchTerms:[]},{title:"fas fa-chess-pawn",searchTerms:[]},{title:"fas fa-chess-queen",searchTerms:[]},{title:"fas fa-chess-rook",searchTerms:[]},{title:"fas fa-chevron-circle-down",searchTerms:["more","dropdown","menu","arrow"]},{title:"fas fa-chevron-circle-left",searchTerms:["previous","back","arrow"]},{title:"fas fa-chevron-circle-right",searchTerms:["next","forward","arrow"]},{title:"fas fa-chevron-circle-up",searchTerms:["arrow"]},{title:"fas fa-chevron-down",searchTerms:[]},{title:"fas fa-chevron-left",searchTerms:["bracket","previous","back"]},{title:"fas fa-chevron-right",searchTerms:["bracket","next","forward"]},{title:"fas fa-chevron-up",searchTerms:[]},{title:"fas fa-child",searchTerms:[]},{title:"fab fa-chrome",searchTerms:["browser"]},{title:"fas fa-circle",searchTerms:["dot","notification","circle-thin"]},{title:"far fa-circle",searchTerms:["dot","notification","circle-thin"]},{title:"fas fa-circle-notch",searchTerms:["circle-o-notch"]},{title:"fas fa-clipboard",searchTerms:["paste"]},{title:"far fa-clipboard",searchTerms:["paste"]},{title:"fas fa-clipboard-check",searchTerms:[]},{title:"fas fa-clipboard-list",searchTerms:[]},{title:"fas fa-clock",searchTerms:["watch","timer","late","timestamp","date"]},{title:"far fa-clock",searchTerms:["watch","timer","late","timestamp","date"]},{title:"fas fa-clone",searchTerms:["copy"]},{title:"far fa-clone",searchTerms:["copy"]},{title:"fas fa-closed-captioning",searchTerms:["cc"]},{title:"far fa-closed-captioning",searchTerms:["cc"]},{title:"fas fa-cloud",searchTerms:["save"]},{title:"fas fa-cloud-download-alt",searchTerms:["cloud-download"]},{title:"fas fa-cloud-upload-alt",searchTerms:["cloud-upload"]},{title:"fab fa-cloudscale",searchTerms:[]},{title:"fab fa-cloudsmith",searchTerms:[]},{title:"fab fa-cloudversify",searchTerms:[]},{title:"fas fa-code",searchTerms:["html","brackets"]},{title:"fas fa-code-branch",searchTerms:["git","fork","vcs","svn","github","rebase","version","branch","code-fork"]},{title:"fab fa-codepen",searchTerms:[]},{title:"fab fa-codiepie",searchTerms:[]},{title:"fas fa-coffee",searchTerms:["morning","mug","breakfast","tea","drink","cafe"]},{title:"fas fa-cog",searchTerms:["settings"]},{title:"fas fa-cogs",searchTerms:["settings","gears"]},{title:"fas fa-columns",searchTerms:["split","panes","dashboard"]},{title:"fas fa-comment",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation"]},{title:"far fa-comment",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation"]},{title:"fas fa-comment-alt",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation","commenting","commenting"]},{title:"far fa-comment-alt",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation","commenting","commenting"]},{title:"fas fa-comments",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation"]},{title:"far fa-comments",searchTerms:["speech","notification","note","chat","bubble","feedback","message","texting","sms","conversation"]},{title:"fas fa-compass",searchTerms:["safari","directory","menu","location"]},{title:"far fa-compass",searchTerms:["safari","directory","menu","location"]},{title:"fas fa-compress",searchTerms:["collapse","combine","contract","merge","smaller"]},{title:"fab fa-connectdevelop",searchTerms:[]},{title:"fab fa-contao",searchTerms:[]},{title:"fas fa-copy",searchTerms:["duplicate","clone","file","files-o"]},{title:"far fa-copy",searchTerms:["duplicate","clone","file","files-o"]},{title:"fas fa-copyright",searchTerms:[]},{title:"far fa-copyright",searchTerms:[]},{title:"fab fa-cpanel",searchTerms:[]},{title:"fab fa-creative-commons",searchTerms:[]},{title:"fas fa-credit-card",searchTerms:["money","buy","debit","checkout","purchase","payment","credit-card-alt"]},{title:"far fa-credit-card",searchTerms:["money","buy","debit","checkout","purchase","payment","credit-card-alt"]},{title:"fas fa-crop",searchTerms:["design"]},{title:"fas fa-crosshairs",searchTerms:["picker","gpd"]},{title:"fab fa-css3",searchTerms:["code"]},{title:"fab fa-css3-alt",searchTerms:[]},{title:"fas fa-cube",searchTerms:["package"]},{title:"fas fa-cubes",searchTerms:["packages"]},{title:"fas fa-cut",searchTerms:["scissors","scissors"]},{title:"fab fa-cuttlefish",searchTerms:[]},{title:"fab fa-d-and-d",searchTerms:[]},{title:"fab fa-dashcube",searchTerms:[]},{title:"fas fa-database",searchTerms:[]},{title:"fas fa-deaf",searchTerms:[]},{title:"fab fa-delicious",searchTerms:[]},{title:"fab fa-deploydog",searchTerms:[]},{title:"fab fa-deskpro",searchTerms:[]},{title:"fas fa-desktop",searchTerms:["monitor","screen","desktop","computer","demo","device","pc"]},{title:"fab fa-deviantart",searchTerms:[]},{title:"fab fa-digg",searchTerms:[]},{title:"fab fa-digital-ocean",searchTerms:[]},{title:"fab fa-discord",searchTerms:[]},{title:"fab fa-discourse",searchTerms:[]},{title:"fas fa-dna",searchTerms:["double helix","helix"]},{title:"fab fa-dochub",searchTerms:[]},{title:"fab fa-docker",searchTerms:[]},{title:"fas fa-dollar-sign",searchTerms:["usd","price"]},{title:"fas fa-dolly",searchTerms:[]},{title:"fas fa-dolly-flatbed",searchTerms:[]},{title:"fas fa-dot-circle",searchTerms:["target","bullseye","notification"]},{title:"far fa-dot-circle",searchTerms:["target","bullseye","notification"]},{title:"fas fa-download",searchTerms:["import"]},{title:"fab fa-draft2digital",searchTerms:[]},{title:"fab fa-dribbble",searchTerms:[]},{title:"fab fa-dribbble-square",searchTerms:[]},{title:"fab fa-dropbox",searchTerms:[]},{title:"fab fa-drupal",searchTerms:[]},{title:"fab fa-dyalog",searchTerms:[]},{title:"fab fa-earlybirds",searchTerms:[]},{title:"fab fa-edge",searchTerms:["browser","ie"]},{title:"fas fa-edit",searchTerms:["write","edit","update","pencil","pen"]},{title:"far fa-edit",searchTerms:["write","edit","update","pencil","pen"]},{title:"fas fa-eject",searchTerms:[]},{title:"fab fa-elementor",searchTerms:[]},{title:"fas fa-ellipsis-h",searchTerms:["dots"]},{title:"fas fa-ellipsis-v",searchTerms:["dots"]},{title:"fab fa-ember",searchTerms:[]},{title:"fab fa-empire",searchTerms:[]},{title:"fas fa-envelope",searchTerms:["email","e-mail","letter","support","mail","message","notification"]},{title:"far fa-envelope",searchTerms:["email","e-mail","letter","support","mail","message","notification"]},{title:"fas fa-envelope-open",searchTerms:["email","e-mail","letter","support","mail","message","notification"]},{title:"far fa-envelope-open",searchTerms:["email","e-mail","letter","support","mail","message","notification"]},{title:"fas fa-envelope-square",searchTerms:["email","e-mail","letter","support","mail","message","notification"]},{title:"fab fa-envira",searchTerms:["leaf"]},{title:"fas fa-eraser",searchTerms:["remove","delete"]},{title:"fab fa-erlang",searchTerms:[]},{title:"fab fa-ethereum",searchTerms:[]},{title:"fab fa-etsy",searchTerms:[]},{title:"fas fa-euro-sign",searchTerms:["eur","eur"]},{title:"fas fa-exchange-alt",searchTerms:["transfer","arrows","arrow","exchange","swap"]},{title:"fas fa-exclamation",searchTerms:["warning","error","problem","notification","notify","alert","danger"]},{title:"fas fa-exclamation-circle",searchTerms:["warning","error","problem","notification","notify","alert","danger"]},{title:"fas fa-exclamation-triangle",searchTerms:["warning","error","problem","notification","notify","alert","danger"]},{title:"fas fa-expand",searchTerms:["enlarge","bigger","resize"]},{title:"fas fa-expand-arrows-alt",searchTerms:["enlarge","bigger","resize","move","arrows-alt"]},{title:"fab fa-expeditedssl",searchTerms:[]},{title:"fas fa-external-link-alt",searchTerms:["open","new","external-link"]},{title:"fas fa-external-link-square-alt",searchTerms:["open","new","external-link-square"]},{title:"fas fa-eye",searchTerms:["show","visible","views"]},{title:"fas fa-eye-dropper",searchTerms:["eyedropper"]},{title:"fas fa-eye-slash",searchTerms:["toggle","show","hide","visible","visiblity","views"]},{title:"far fa-eye-slash",searchTerms:["toggle","show","hide","visible","visiblity","views"]},{title:"fab fa-facebook",searchTerms:["social network","facebook-official"]},{title:"fab fa-facebook-f",searchTerms:["facebook"]},{title:"fab fa-facebook-messenger",searchTerms:[]},{title:"fab fa-facebook-square",searchTerms:["social network"]},{title:"fas fa-fast-backward",searchTerms:["rewind","previous","beginning","start","first"]},{title:"fas fa-fast-forward",searchTerms:["next","end","last"]},{title:"fas fa-fax",searchTerms:[]},{title:"fas fa-female",searchTerms:["woman","human","user","person","profile"]},{title:"fas fa-fighter-jet",searchTerms:["fly","plane","airplane","quick","fast","travel"]},{title:"fas fa-file",searchTerms:["new","page","pdf","document"]},{title:"far fa-file",searchTerms:["new","page","pdf","document"]},{title:"fas fa-file-alt",searchTerms:["new","page","pdf","document","file-text"]},{title:"far fa-file-alt",searchTerms:["new","page","pdf","document","file-text"]},{title:"fas fa-file-archive",searchTerms:[]},{title:"far fa-file-archive",searchTerms:[]},{title:"fas fa-file-audio",searchTerms:[]},{title:"far fa-file-audio",searchTerms:[]},{title:"fas fa-file-code",searchTerms:[]},{title:"far fa-file-code",searchTerms:[]},{title:"fas fa-file-excel",searchTerms:[]},{title:"far fa-file-excel",searchTerms:[]},{title:"fas fa-file-image",searchTerms:[]},{title:"far fa-file-image",searchTerms:[]},{title:"fas fa-file-pdf",searchTerms:[]},{title:"far fa-file-pdf",searchTerms:[]},{title:"fas fa-file-powerpoint",searchTerms:[]},{title:"far fa-file-powerpoint",searchTerms:[]},{title:"fas fa-file-video",searchTerms:[]},{title:"far fa-file-video",searchTerms:[]},{title:"fas fa-file-word",searchTerms:[]},{title:"far fa-file-word",searchTerms:[]},{title:"fas fa-film",searchTerms:["movie"]},{title:"fas fa-filter",searchTerms:["funnel","options"]},{title:"fas fa-fire",searchTerms:["flame","hot","popular"]},{title:"fas fa-fire-extinguisher",searchTerms:[]},{title:"fab fa-firefox",searchTerms:["browser"]},{title:"fas fa-first-aid",searchTerms:[]},{title:"fab fa-first-order",searchTerms:[]},{title:"fab fa-firstdraft",searchTerms:[]},{title:"fas fa-flag",searchTerms:["report","notification","notify"]},{title:"far fa-flag",searchTerms:["report","notification","notify"]},{title:"fas fa-flag-checkered",searchTerms:["report","notification","notify"]},{title:"fas fa-flask",searchTerms:["science","beaker","experimental","labs"]},{title:"fab fa-flickr",searchTerms:[]},{title:"fab fa-flipboard",searchTerms:[]},{title:"fab fa-fly",searchTerms:[]},{title:"fas fa-folder",searchTerms:[]},{title:"far fa-folder",searchTerms:[]},{title:"fas fa-folder-open",searchTerms:[]},{title:"far fa-folder-open",searchTerms:[]},{title:"fas fa-font",searchTerms:["text"]},{title:"fab fa-font-awesome",searchTerms:["meanpath"]},{title:"fab fa-font-awesome-alt",searchTerms:[]},{title:"fab fa-font-awesome-flag",searchTerms:[]},{title:"fab fa-fonticons",searchTerms:[]},{title:"fab fa-fonticons-fi",searchTerms:[]},{title:"fas fa-football-ball",searchTerms:[]},{title:"fab fa-fort-awesome",searchTerms:["castle"]},{title:"fab fa-fort-awesome-alt",searchTerms:["castle"]},{title:"fab fa-forumbee",searchTerms:[]},{title:"fas fa-forward",searchTerms:["forward","next"]},{title:"fab fa-foursquare",searchTerms:[]},{title:"fab fa-free-code-camp",searchTerms:[]},{title:"fab fa-freebsd",searchTerms:[]},{title:"fas fa-frown",searchTerms:["face","emoticon","sad","disapprove","rating"]},{title:"far fa-frown",searchTerms:["face","emoticon","sad","disapprove","rating"]},{title:"fas fa-futbol",searchTerms:[]},{title:"far fa-futbol",searchTerms:[]},{title:"fas fa-gamepad",searchTerms:["controller"]},{title:"fas fa-gavel",searchTerms:["judge","lawyer","opinion","hammer"]},{title:"fas fa-gem",searchTerms:["diamond"]},{title:"far fa-gem",searchTerms:["diamond"]},{title:"fas fa-genderless",searchTerms:[]},{title:"fab fa-get-pocket",searchTerms:[]},{title:"fab fa-gg",searchTerms:[]},{title:"fab fa-gg-circle",searchTerms:[]},{title:"fas fa-gift",searchTerms:["present"]},{title:"fab fa-git",searchTerms:[]},{title:"fab fa-git-square",searchTerms:[]},{title:"fab fa-github",searchTerms:["octocat"]},{title:"fab fa-github-alt",searchTerms:["octocat"]},{title:"fab fa-github-square",searchTerms:["octocat"]},{title:"fab fa-gitkraken",searchTerms:[]},{title:"fab fa-gitlab",searchTerms:["Axosoft"]},{title:"fab fa-gitter",searchTerms:[]},{title:"fas fa-glass-martini",searchTerms:["martini","drink","bar","alcohol","liquor","glass"]},{title:"fab fa-glide",searchTerms:[]},{title:"fab fa-glide-g",searchTerms:[]},{title:"fas fa-globe",searchTerms:["world","planet","map","place","travel","earth","global","translate","all","language","localize","location","coordinates","country","gps"]},{title:"fab fa-gofore",searchTerms:[]},{title:"fas fa-golf-ball",searchTerms:[]},{title:"fab fa-goodreads",searchTerms:[]},{title:"fab fa-goodreads-g",searchTerms:[]},{title:"fab fa-google",searchTerms:[]},{title:"fab fa-google-drive",searchTerms:[]},{title:"fab fa-google-play",searchTerms:[]},{title:"fab fa-google-plus",searchTerms:["google-plus-circle","google-plus-official"]},{title:"fab fa-google-plus-g",searchTerms:["social network","google-plus"]},{title:"fab fa-google-plus-square",searchTerms:["social network"]},{title:"fab fa-google-wallet",searchTerms:[]},{title:"fas fa-graduation-cap",searchTerms:["learning","school","student"]},{title:"fab fa-gratipay",searchTerms:["heart","like","favorite","love"]},{title:"fab fa-grav",searchTerms:[]},{title:"fab fa-gripfire",searchTerms:[]},{title:"fab fa-grunt",searchTerms:[]},{title:"fab fa-gulp",searchTerms:[]},{title:"fas fa-h-square",searchTerms:["hospital","hotel"]},{title:"fab fa-hacker-news",searchTerms:[]},{title:"fab fa-hacker-news-square",searchTerms:[]},{title:"fas fa-hand-lizard",searchTerms:[]},{title:"far fa-hand-lizard",searchTerms:[]},{title:"fas fa-hand-paper",searchTerms:["stop"]},{title:"far fa-hand-paper",searchTerms:["stop"]},{title:"fas fa-hand-peace",searchTerms:[]},{title:"far fa-hand-peace",searchTerms:[]},{title:"fas fa-hand-point-down",searchTerms:["point","finger","hand-o-down"]},{title:"far fa-hand-point-down",searchTerms:["point","finger","hand-o-down"]},{title:"fas fa-hand-point-left",searchTerms:["point","left","previous","back","finger","hand-o-left"]},{title:"far fa-hand-point-left",searchTerms:["point","left","previous","back","finger","hand-o-left"]},{title:"fas fa-hand-point-right",searchTerms:["point","right","next","forward","finger","hand-o-right"]},{title:"far fa-hand-point-right",searchTerms:["point","right","next","forward","finger","hand-o-right"]},{title:"fas fa-hand-point-up",searchTerms:["point","finger","hand-o-up"]},{title:"far fa-hand-point-up",searchTerms:["point","finger","hand-o-up"]},{title:"fas fa-hand-pointer",searchTerms:["select"]},{title:"far fa-hand-pointer",searchTerms:["select"]},{title:"fas fa-hand-rock",searchTerms:[]},{title:"far fa-hand-rock",searchTerms:[]},{title:"fas fa-hand-scissors",searchTerms:[]},{title:"far fa-hand-scissors",searchTerms:[]},{title:"fas fa-hand-spock",searchTerms:[]},{title:"far fa-hand-spock",searchTerms:[]},{title:"fas fa-handshake",searchTerms:[]},{title:"far fa-handshake",searchTerms:[]},{title:"fas fa-hashtag",searchTerms:[]},{title:"fas fa-hdd",searchTerms:["harddrive","hard drive","storage","save"]},{title:"far fa-hdd",searchTerms:["harddrive","hard drive","storage","save"]},{title:"fas fa-heading",searchTerms:["header","header"]},{title:"fas fa-headphones",searchTerms:["sound","listen","music","audio"]},{title:"fas fa-heart",searchTerms:["love","like","favorite"]},{title:"far fa-heart",searchTerms:["love","like","favorite"]},{title:"fas fa-heartbeat",searchTerms:["ekg","vital signs"]},{title:"fab fa-hips",searchTerms:[]},{title:"fab fa-hire-a-helper",searchTerms:[]},{title:"fas fa-history",searchTerms:[]},{title:"fas fa-hockey-puck",searchTerms:[]},{title:"fas fa-home",searchTerms:["main","house"]},{title:"fab fa-hooli",searchTerms:[]},{title:"fas fa-hospital",searchTerms:["building","medical center","emergency room"]},{title:"far fa-hospital",searchTerms:["building","medical center","emergency room"]},{title:"fas fa-hospital-symbol",searchTerms:[]},{title:"fab fa-hotjar",searchTerms:[]},{title:"fas fa-hourglass",searchTerms:[]},{title:"far fa-hourglass",searchTerms:[]},{title:"fas fa-hourglass-end",searchTerms:[]},{title:"fas fa-hourglass-half",searchTerms:[]},{title:"fas fa-hourglass-start",searchTerms:[]},{title:"fab fa-houzz",searchTerms:[]},{title:"fab fa-html5",searchTerms:[]},{title:"fab fa-hubspot",searchTerms:[]},{title:"fas fa-i-cursor",searchTerms:[]},{title:"fas fa-id-badge",searchTerms:[]},{title:"far fa-id-badge",searchTerms:[]},{title:"fas fa-id-card",searchTerms:[]},{title:"far fa-id-card",searchTerms:[]},{title:"fas fa-image",searchTerms:["photo","album","picture","picture"]},{title:"far fa-image",searchTerms:["photo","album","picture","picture"]},{title:"fas fa-images",searchTerms:["photo","album","picture"]},{title:"far fa-images",searchTerms:["photo","album","picture"]},{title:"fab fa-imdb",searchTerms:[]},{title:"fas fa-inbox",searchTerms:[]},{title:"fas fa-indent",searchTerms:[]},{title:"fas fa-industry",searchTerms:["factory"]},{title:"fas fa-info",searchTerms:["help","information","more","details"]},{title:"fas fa-info-circle",searchTerms:["help","information","more","details"]},{title:"fab fa-instagram",searchTerms:[]},{title:"fab fa-internet-explorer",searchTerms:["browser","ie"]},{title:"fab fa-ioxhost",searchTerms:[]},{title:"fas fa-italic",searchTerms:["italics"]},{title:"fab fa-itunes",searchTerms:[]},{title:"fab fa-itunes-note",searchTerms:[]},{title:"fab fa-jenkins",searchTerms:[]},{title:"fab fa-joget",searchTerms:[]},{title:"fab fa-joomla",searchTerms:[]},{title:"fab fa-js",searchTerms:[]},{title:"fab fa-js-square",searchTerms:[]},{title:"fab fa-jsfiddle",searchTerms:[]},{title:"fas fa-key",searchTerms:["unlock","password"]},{title:"fas fa-keyboard",searchTerms:["type","input"]},{title:"far fa-keyboard",searchTerms:["type","input"]},{title:"fab fa-keycdn",searchTerms:[]},{title:"fab fa-kickstarter",searchTerms:[]},{title:"fab fa-kickstarter-k",searchTerms:[]},{title:"fab fa-korvue",searchTerms:[]},{title:"fas fa-language",searchTerms:[]},{title:"fas fa-laptop",searchTerms:["demo","computer","device","pc"]},{title:"fab fa-laravel",searchTerms:[]},{title:"fab fa-lastfm",searchTerms:[]},{title:"fab fa-lastfm-square",searchTerms:[]},{title:"fas fa-leaf",searchTerms:["eco","nature","plant"]},{title:"fab fa-leanpub",searchTerms:[]},{title:"fas fa-lemon",searchTerms:["food"]},{title:"far fa-lemon",searchTerms:["food"]},{title:"fab fa-less",searchTerms:[]},{title:"fas fa-level-down-alt",searchTerms:["level-down"]},{title:"fas fa-level-up-alt",searchTerms:["level-up"]},{title:"fas fa-life-ring",searchTerms:["support"]},{title:"far fa-life-ring",searchTerms:["support"]},{title:"fas fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"far fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"fab fa-line",searchTerms:[]},{title:"fas fa-link",searchTerms:["chain"]},{title:"fab fa-linkedin",searchTerms:["linkedin-square"]},{title:"fab fa-linkedin-in",searchTerms:["linkedin"]},{title:"fab fa-linode",searchTerms:[]},{title:"fab fa-linux",searchTerms:["tux"]},{title:"fas fa-lira-sign",searchTerms:["try","turkish","try"]},{title:"fas fa-list",searchTerms:["ul","ol","checklist","finished","completed","done","todo"]},{title:"fas fa-list-alt",searchTerms:["ul","ol","checklist","finished","completed","done","todo"]},{title:"far fa-list-alt",searchTerms:["ul","ol","checklist","finished","completed","done","todo"]},{title:"fas fa-list-ol",searchTerms:["ul","ol","checklist","list","todo","list","numbers"]},{title:"fas fa-list-ul",searchTerms:["ul","ol","checklist","todo","list"]},{title:"fas fa-location-arrow",searchTerms:["map","coordinates","location","address","place","where","gps"]},{title:"fas fa-lock",searchTerms:["protect","admin","security"]},{title:"fas fa-lock-open",searchTerms:["protect","admin","password","lock","open"]},{title:"fas fa-long-arrow-alt-down",searchTerms:["long-arrow-down"]},{title:"fas fa-long-arrow-alt-left",searchTerms:["previous","back","long-arrow-left"]},{title:"fas fa-long-arrow-alt-right",searchTerms:["long-arrow-right"]},{title:"fas fa-long-arrow-alt-up",searchTerms:["long-arrow-up"]},{title:"fas fa-low-vision",searchTerms:[]},{title:"fab fa-lyft",searchTerms:[]},{title:"fab fa-magento",searchTerms:[]},{title:"fas fa-magic",searchTerms:["wizard","automatic","autocomplete"]},{title:"fas fa-magnet",searchTerms:[]},{title:"fas fa-male",searchTerms:["man","human","user","person","profile"]},{title:"fas fa-map",searchTerms:[]},{title:"far fa-map",searchTerms:[]},{title:"fas fa-map-marker",searchTerms:["map","pin","location","coordinates","localize","address","travel","where","place","gps"]},{title:"fas fa-map-marker-alt",searchTerms:["map-marker","gps"]},{title:"fas fa-map-pin",searchTerms:[]},{title:"fas fa-map-signs",searchTerms:[]},{title:"fas fa-mars",searchTerms:["male"]},{title:"fas fa-mars-double",searchTerms:[]},{title:"fas fa-mars-stroke",searchTerms:[]},{title:"fas fa-mars-stroke-h",searchTerms:[]},{title:"fas fa-mars-stroke-v",searchTerms:[]},{title:"fab fa-maxcdn",searchTerms:[]},{title:"fab fa-medapps",searchTerms:[]},{title:"fab fa-medium",searchTerms:[]},{title:"fab fa-medium-m",searchTerms:[]},{title:"fas fa-medkit",searchTerms:["first aid","firstaid","help","support","health"]},{title:"fab fa-medrt",searchTerms:[]},{title:"fab fa-meetup",searchTerms:[]},{title:"fas fa-meh",searchTerms:["face","emoticon","rating","neutral"]},{title:"far fa-meh",searchTerms:["face","emoticon","rating","neutral"]},{title:"fas fa-mercury",searchTerms:["transgender"]},{title:"fas fa-microchip",searchTerms:[]},{title:"fas fa-microphone",searchTerms:["record","voice","sound"]},{title:"fas fa-microphone-slash",searchTerms:["record","voice","sound","mute"]},{title:"fab fa-microsoft",searchTerms:[]},{title:"fas fa-minus",searchTerms:["hide","minify","delete","remove","trash","hide","collapse"]},{title:"fas fa-minus-circle",searchTerms:["delete","remove","trash","hide"]},{title:"fas fa-minus-square",searchTerms:["hide","minify","delete","remove","trash","hide","collapse"]},{title:"far fa-minus-square",searchTerms:["hide","minify","delete","remove","trash","hide","collapse"]},{title:"fab fa-mix",searchTerms:[]},{title:"fab fa-mixcloud",searchTerms:[]},{title:"fab fa-mizuni",searchTerms:[]},{title:"fas fa-mobile",searchTerms:["cell phone","cellphone","text","call","iphone","number","telephone"]},{title:"fas fa-mobile-alt",searchTerms:["mobile"]},{title:"fab fa-modx",searchTerms:[]},{title:"fab fa-monero",searchTerms:[]},{title:"fas fa-money-bill-alt",searchTerms:["cash","money","buy","checkout","purchase","payment","price"]},{title:"far fa-money-bill-alt",searchTerms:["cash","money","buy","checkout","purchase","payment","price"]},{title:"fas fa-moon",searchTerms:["night","darker","contrast"]},{title:"far fa-moon",searchTerms:["night","darker","contrast"]},{title:"fas fa-motorcycle",searchTerms:["vehicle","bike"]},{title:"fas fa-mouse-pointer",searchTerms:["select"]},{title:"fas fa-music",searchTerms:["note","sound"]},{title:"fab fa-napster",searchTerms:[]},{title:"fas fa-neuter",searchTerms:[]},{title:"fas fa-newspaper",searchTerms:["press","article"]},{title:"far fa-newspaper",searchTerms:["press","article"]},{title:"fab fa-nintendo-switch",searchTerms:[]},{title:"fab fa-node",searchTerms:[]},{title:"fab fa-node-js",searchTerms:[]},{title:"fab fa-npm",searchTerms:[]},{title:"fab fa-ns8",searchTerms:[]},{title:"fab fa-nutritionix",searchTerms:[]},{title:"fas fa-object-group",searchTerms:["design"]},{title:"far fa-object-group",searchTerms:["design"]},{title:"fas fa-object-ungroup",searchTerms:["design"]},{title:"far fa-object-ungroup",searchTerms:["design"]},{title:"fab fa-odnoklassniki",searchTerms:[]},{title:"fab fa-odnoklassniki-square",searchTerms:[]},{title:"fab fa-opencart",searchTerms:[]},{title:"fab fa-openid",searchTerms:[]},{title:"fab fa-opera",searchTerms:[]},{title:"fab fa-optin-monster",searchTerms:[]},{title:"fab fa-osi",searchTerms:[]},{title:"fas fa-outdent",searchTerms:[]},{title:"fab fa-page4",searchTerms:[]},{title:"fab fa-pagelines",searchTerms:["leaf","leaves","tree","plant","eco","nature"]},{title:"fas fa-paint-brush",searchTerms:[]},{title:"fab fa-palfed",searchTerms:[]},{title:"fas fa-pallet",searchTerms:[]},{title:"fas fa-paper-plane",searchTerms:[]},{title:"far fa-paper-plane",searchTerms:[]},{title:"fas fa-paperclip",searchTerms:["attachment"]},{title:"fas fa-paragraph",searchTerms:[]},{title:"fas fa-paste",searchTerms:["copy","clipboard"]},{title:"fab fa-patreon",searchTerms:[]},{title:"fas fa-pause",searchTerms:["wait"]},{title:"fas fa-pause-circle",searchTerms:[]},{title:"far fa-pause-circle",searchTerms:[]},{title:"fas fa-paw",searchTerms:["pet"]},{title:"fab fa-paypal",searchTerms:[]},{title:"fas fa-pen-square",searchTerms:["write","edit","update","pencil-square"]},{title:"fas fa-pencil-alt",searchTerms:["write","edit","update","pencil","design"]},{title:"fas fa-percent",searchTerms:[]},{title:"fab fa-periscope",searchTerms:[]},{title:"fab fa-phabricator",searchTerms:[]},{title:"fab fa-phoenix-framework",searchTerms:[]},{title:"fas fa-phone",searchTerms:["call","voice","number","support","earphone","telephone"]},{title:"fas fa-phone-square",searchTerms:["call","voice","number","support","telephone"]},{title:"fas fa-phone-volume",searchTerms:["telephone","volume-control-phone"]},{title:"fab fa-php",searchTerms:[]},{title:"fab fa-pied-piper",searchTerms:[]},{title:"fab fa-pied-piper-alt",searchTerms:[]},{title:"fab fa-pied-piper-pp",searchTerms:[]},{title:"fas fa-pills",searchTerms:["medicine","drugs"]},{title:"fab fa-pinterest",searchTerms:[]},{title:"fab fa-pinterest-p",searchTerms:[]},{title:"fab fa-pinterest-square",searchTerms:[]},{title:"fas fa-plane",searchTerms:["travel","trip","location","destination","airplane","fly","mode"]},{title:"fas fa-play",searchTerms:["start","playing","music","sound"]},{title:"fas fa-play-circle",searchTerms:["start","playing"]},{title:"far fa-play-circle",searchTerms:["start","playing"]},{title:"fab fa-playstation",searchTerms:[]},{title:"fas fa-plug",searchTerms:["power","connect"]},{title:"fas fa-plus",searchTerms:["add","new","create","expand"]},{title:"fas fa-plus-circle",searchTerms:["add","new","create","expand"]},{title:"fas fa-plus-square",searchTerms:["add","new","create","expand"]},{title:"far fa-plus-square",searchTerms:["add","new","create","expand"]},{title:"fas fa-podcast",searchTerms:[]},{title:"fas fa-pound-sign",searchTerms:["gbp","gbp"]},{title:"fas fa-power-off",searchTerms:["on"]},{title:"fas fa-print",searchTerms:[]},{title:"fab fa-product-hunt",searchTerms:[]},{title:"fab fa-pushed",searchTerms:[]},{title:"fas fa-puzzle-piece",searchTerms:["addon","add-on","section"]},{title:"fab fa-python",searchTerms:[]},{title:"fab fa-qq",searchTerms:[]},{title:"fas fa-qrcode",searchTerms:["scan"]},{title:"fas fa-question",searchTerms:["help","information","unknown","support"]},{title:"fas fa-question-circle",searchTerms:["help","information","unknown","support"]},{title:"far fa-question-circle",searchTerms:["help","information","unknown","support"]},{title:"fas fa-quidditch",searchTerms:[]},{title:"fab fa-quinscape",searchTerms:[]},{title:"fab fa-quora",searchTerms:[]},{title:"fas fa-quote-left",searchTerms:[]},{title:"fas fa-quote-right",searchTerms:[]},{title:"fas fa-random",searchTerms:["sort","shuffle"]},{title:"fab fa-ravelry",searchTerms:[]},{title:"fab fa-react",searchTerms:[]},{title:"fab fa-rebel",searchTerms:[]},{title:"fas fa-recycle",searchTerms:[]},{title:"fab fa-red-river",searchTerms:[]},{title:"fab fa-reddit",searchTerms:[]},{title:"fab fa-reddit-alien",searchTerms:[]},{title:"fab fa-reddit-square",searchTerms:[]},{title:"fas fa-redo",searchTerms:["forward","repeat","repeat"]},{title:"fas fa-redo-alt",searchTerms:["forward","repeat"]},{title:"fas fa-registered",searchTerms:[]},{title:"far fa-registered",searchTerms:[]},{title:"fab fa-rendact",searchTerms:[]},{title:"fab fa-renren",searchTerms:[]},{title:"fas fa-reply",searchTerms:[]},{title:"fas fa-reply-all",searchTerms:[]},{title:"fab fa-replyd",searchTerms:[]},{title:"fab fa-resolving",searchTerms:[]},{title:"fas fa-retweet",searchTerms:["refresh","reload","share","swap"]},{title:"fas fa-road",searchTerms:["street"]},{title:"fas fa-rocket",searchTerms:["app"]},{title:"fab fa-rocketchat",searchTerms:[]},{title:"fab fa-rockrms",searchTerms:[]},{title:"fas fa-rss",searchTerms:["blog"]},{title:"fas fa-rss-square",searchTerms:["feed","blog"]},{title:"fas fa-ruble-sign",searchTerms:["rub","rub"]},{title:"fas fa-rupee-sign",searchTerms:["indian","inr"]},{title:"fab fa-safari",searchTerms:["browser"]},{title:"fab fa-sass",searchTerms:[]},{title:"fas fa-save",searchTerms:["floppy","floppy-o"]},{title:"far fa-save",searchTerms:["floppy","floppy-o"]},{title:"fab fa-schlix",searchTerms:[]},{title:"fab fa-scribd",searchTerms:[]},{title:"fas fa-search",searchTerms:["magnify","zoom","enlarge","bigger"]},{title:"fas fa-search-minus",searchTerms:["magnify","minify","zoom","smaller"]},{title:"fas fa-search-plus",searchTerms:["magnify","zoom","enlarge","bigger"]},{title:"fab fa-searchengin",searchTerms:[]},{title:"fab fa-sellcast",searchTerms:["eercast"]},{title:"fab fa-sellsy",searchTerms:[]},{title:"fas fa-server",searchTerms:[]},{title:"fab fa-servicestack",searchTerms:[]},{title:"fas fa-share",searchTerms:[]},{title:"fas fa-share-alt",searchTerms:[]},{title:"fas fa-share-alt-square",searchTerms:[]},{title:"fas fa-share-square",searchTerms:["social","send"]},{title:"far fa-share-square",searchTerms:["social","send"]},{title:"fas fa-shekel-sign",searchTerms:["ils","ils"]},{title:"fas fa-shield-alt",searchTerms:["shield"]},{title:"fas fa-ship",searchTerms:["boat","sea"]},{title:"fas fa-shipping-fast",searchTerms:[]},{title:"fab fa-shirtsinbulk",searchTerms:[]},{title:"fas fa-shopping-bag",searchTerms:[]},{title:"fas fa-shopping-basket",searchTerms:[]},{title:"fas fa-shopping-cart",searchTerms:["checkout","buy","purchase","payment"]},{title:"fas fa-shower",searchTerms:[]},{title:"fas fa-sign-in-alt",searchTerms:["enter","join","log in","login","sign up","sign in","signin","signup","arrow","sign-in"]},{title:"fas fa-sign-language",searchTerms:[]},{title:"fas fa-sign-out-alt",searchTerms:["log out","logout","leave","exit","arrow","sign-out"]},{title:"fas fa-signal",searchTerms:["graph","bars","status"]},{title:"fab fa-simplybuilt",searchTerms:[]},{title:"fab fa-sistrix",searchTerms:[]},{title:"fas fa-sitemap",searchTerms:["directory","hierarchy","organization"]},{title:"fab fa-skyatlas",searchTerms:[]},{title:"fab fa-skype",searchTerms:[]},{title:"fab fa-slack",searchTerms:["hashtag","anchor","hash"]},{title:"fab fa-slack-hash",searchTerms:["hashtag","anchor","hash"]},{title:"fas fa-sliders-h",searchTerms:["settings","sliders"]},{title:"fab fa-slideshare",searchTerms:[]},{title:"fas fa-smile",searchTerms:["face","emoticon","happy","approve","satisfied","rating"]},{title:"far fa-smile",searchTerms:["face","emoticon","happy","approve","satisfied","rating"]},{title:"fab fa-snapchat",searchTerms:[]},{title:"fab fa-snapchat-ghost",searchTerms:[]},{title:"fab fa-snapchat-square",searchTerms:[]},{title:"fas fa-snowflake",searchTerms:[]},{title:"far fa-snowflake",searchTerms:[]},{title:"fas fa-sort",searchTerms:["order"]},{title:"fas fa-sort-alpha-down",searchTerms:["sort-alpha-asc"]},{title:"fas fa-sort-alpha-up",searchTerms:["sort-alpha-desc"]},{title:"fas fa-sort-amount-down",searchTerms:["sort-amount-asc"]},{title:"fas fa-sort-amount-up",searchTerms:["sort-amount-desc"]},{title:"fas fa-sort-down",searchTerms:["arrow","descending","sort-desc"]},{title:"fas fa-sort-numeric-down",searchTerms:["numbers","sort-numeric-asc"]},{title:"fas fa-sort-numeric-up",searchTerms:["numbers","sort-numeric-desc"]},{title:"fas fa-sort-up",searchTerms:["arrow","ascending","sort-asc"]},{title:"fab fa-soundcloud",searchTerms:[]},{title:"fas fa-space-shuttle",searchTerms:[]},{title:"fab fa-speakap",searchTerms:[]},{title:"fas fa-spinner",searchTerms:["loading","progress"]},{title:"fab fa-spotify",searchTerms:[]},{title:"fas fa-square",searchTerms:["block","box"]},{title:"far fa-square",searchTerms:["block","box"]},{title:"fas fa-square-full",searchTerms:[]},{title:"fab fa-stack-exchange",searchTerms:[]},{title:"fab fa-stack-overflow",searchTerms:[]},{title:"fas fa-star",searchTerms:["award","achievement","night","rating","score","favorite"]},{title:"far fa-star",searchTerms:["award","achievement","night","rating","score","favorite"]},{title:"fas fa-star-half",searchTerms:["award","achievement","rating","score","star-half-empty","star-half-full"]},{title:"far fa-star-half",searchTerms:["award","achievement","rating","score","star-half-empty","star-half-full"]},{title:"fab fa-staylinked",searchTerms:[]},{title:"fab fa-steam",searchTerms:[]},{title:"fab fa-steam-square",searchTerms:[]},{title:"fab fa-steam-symbol",searchTerms:[]},{title:"fas fa-step-backward",searchTerms:["rewind","previous","beginning","start","first"]},{title:"fas fa-step-forward",searchTerms:["next","end","last"]},{title:"fas fa-stethoscope",searchTerms:[]},{title:"fab fa-sticker-mule",searchTerms:[]},{title:"fas fa-sticky-note",searchTerms:[]},{title:"far fa-sticky-note",searchTerms:[]},{title:"fas fa-stop",searchTerms:["block","box","square"]},{title:"fas fa-stop-circle",searchTerms:[]},{title:"far fa-stop-circle",searchTerms:[]},{title:"fas fa-stopwatch",searchTerms:["time"]},{title:"fab fa-strava",searchTerms:[]},{title:"fas fa-street-view",searchTerms:["map"]},{title:"fas fa-strikethrough",searchTerms:[]},{title:"fab fa-stripe",searchTerms:[]},{title:"fab fa-stripe-s",searchTerms:[]},{title:"fab fa-studiovinari",searchTerms:[]},{title:"fab fa-stumbleupon",searchTerms:[]},{title:"fab fa-stumbleupon-circle",searchTerms:[]},{title:"fas fa-subscript",searchTerms:[]},{title:"fas fa-subway",searchTerms:[]},{title:"fas fa-suitcase",searchTerms:["trip","luggage","travel","move","baggage"]},{title:"fas fa-sun",searchTerms:["weather","contrast","lighter","brighten","day"]},{title:"far fa-sun",searchTerms:["weather","contrast","lighter","brighten","day"]},{title:"fab fa-superpowers",searchTerms:[]},{title:"fas fa-superscript",searchTerms:["exponential"]},{title:"fab fa-supple",searchTerms:[]},{title:"fas fa-sync",searchTerms:["reload","refresh","refresh"]},{title:"fas fa-sync-alt",searchTerms:["reload","refresh"]},{title:"fas fa-syringe",searchTerms:["immunizations","needle"]},{title:"fas fa-table",searchTerms:["data","excel","spreadsheet"]},{title:"fas fa-table-tennis",searchTerms:[]},{title:"fas fa-tablet",searchTerms:["ipad","device"]},{title:"fas fa-tablet-alt",searchTerms:["tablet"]},{title:"fas fa-tachometer-alt",searchTerms:["tachometer","dashboard"]},{title:"fas fa-tag",searchTerms:["label"]},{title:"fas fa-tags",searchTerms:["labels"]},{title:"fas fa-tasks",searchTerms:["progress","loading","downloading","downloads","settings"]},{title:"fas fa-taxi",searchTerms:["vehicle"]},{title:"fab fa-telegram",searchTerms:[]},{title:"fab fa-telegram-plane",searchTerms:[]},{title:"fab fa-tencent-weibo",searchTerms:[]},{title:"fas fa-terminal",searchTerms:["command","prompt","code"]},{title:"fas fa-text-height",searchTerms:[]},{title:"fas fa-text-width",searchTerms:[]},{title:"fas fa-th",searchTerms:["blocks","squares","boxes","grid"]},{title:"fas fa-th-large",searchTerms:["blocks","squares","boxes","grid"]},{title:"fas fa-th-list",searchTerms:["ul","ol","checklist","finished","completed","done","todo"]},{title:"fab fa-themeisle",searchTerms:[]},{title:"fas fa-thermometer",searchTerms:["temperature","fever"]},{title:"fas fa-thermometer-empty",searchTerms:["status"]},{title:"fas fa-thermometer-full",searchTerms:["status"]},{title:"fas fa-thermometer-half",searchTerms:["status"]},{title:"fas fa-thermometer-quarter",searchTerms:["status"]},{title:"fas fa-thermometer-three-quarters",searchTerms:["status"]},{title:"fas fa-thumbs-down",searchTerms:["dislike","disapprove","disagree","hand","thumbs-o-down"]},{title:"far fa-thumbs-down",searchTerms:["dislike","disapprove","disagree","hand","thumbs-o-down"]},{title:"fas fa-thumbs-up",searchTerms:["like","favorite","approve","agree","hand","thumbs-o-up"]},{title:"far fa-thumbs-up",searchTerms:["like","favorite","approve","agree","hand","thumbs-o-up"]},{title:"fas fa-thumbtack",searchTerms:["marker","pin","location","coordinates","thumb-tack"]},{title:"fas fa-ticket-alt",searchTerms:["ticket"]},{title:"fas fa-times",searchTerms:["close","exit","x","cross"]},{title:"fas fa-times-circle",searchTerms:["close","exit","x"]},{title:"far fa-times-circle",searchTerms:["close","exit","x"]},{title:"fas fa-tint",searchTerms:["raindrop","waterdrop","drop","droplet"]},{title:"fas fa-toggle-off",searchTerms:["switch"]},{title:"fas fa-toggle-on",searchTerms:["switch"]},{title:"fas fa-trademark",searchTerms:[]},{title:"fas fa-train",searchTerms:[]},{title:"fas fa-transgender",searchTerms:["intersex"]},{title:"fas fa-transgender-alt",searchTerms:[]},{title:"fas fa-trash",searchTerms:["garbage","delete","remove","hide"]},{title:"fas fa-trash-alt",searchTerms:["garbage","delete","remove","hide","trash","trash-o"]},{title:"far fa-trash-alt",searchTerms:["garbage","delete","remove","hide","trash","trash-o"]},{title:"fas fa-tree",searchTerms:[]},{title:"fab fa-trello",searchTerms:[]},{title:"fab fa-tripadvisor",searchTerms:[]},{title:"fas fa-trophy",searchTerms:["award","achievement","cup","winner","game"]},{title:"fas fa-truck",searchTerms:["shipping"]},{title:"fas fa-tty",searchTerms:[]},{title:"fab fa-tumblr",searchTerms:[]},{title:"fab fa-tumblr-square",searchTerms:[]},{title:"fas fa-tv",searchTerms:["display","computer","monitor","television"]},{title:"fab fa-twitch",searchTerms:[]},{title:"fab fa-twitter",searchTerms:["tweet","social network"]},{title:"fab fa-twitter-square",searchTerms:["tweet","social network"]},{title:"fab fa-typo3",searchTerms:[]},{title:"fab fa-uber",searchTerms:[]},{title:"fab fa-uikit",searchTerms:[]},{title:"fas fa-umbrella",searchTerms:[]},{title:"fas fa-underline",searchTerms:[]},{title:"fas fa-undo",searchTerms:["back"]},{title:"fas fa-undo-alt",searchTerms:["back"]},{title:"fab fa-uniregistry",searchTerms:[]},{title:"fas fa-universal-access",searchTerms:[]},{title:"fas fa-university",searchTerms:["bank","institution"]},{title:"fas fa-unlink",searchTerms:["remove","chain","chain-broken"]},{title:"fas fa-unlock",searchTerms:["protect","admin","password","lock"]},{title:"fas fa-unlock-alt",searchTerms:["protect","admin","password","lock"]},{title:"fab fa-untappd",searchTerms:[]},{title:"fas fa-upload",searchTerms:["import"]},{title:"fab fa-usb",searchTerms:[]},{title:"fas fa-user",searchTerms:["person","man","head","profile","account"]},{title:"far fa-user",searchTerms:["person","man","head","profile","account"]},{title:"fas fa-user-circle",searchTerms:["person","man","head","profile","account"]},{title:"far fa-user-circle",searchTerms:["person","man","head","profile","account"]},{title:"fas fa-user-md",searchTerms:["doctor","profile","medical","nurse","job","occupation"]},{title:"fas fa-user-plus",searchTerms:["sign up","signup"]},{title:"fas fa-user-secret",searchTerms:["whisper","spy","incognito","privacy"]},{title:"fas fa-user-times",searchTerms:[]},{title:"fas fa-users",searchTerms:["people","profiles","persons"]},{title:"fab fa-ussunnah",searchTerms:[]},{title:"fas fa-utensil-spoon",searchTerms:["spoon"]},{title:"fas fa-utensils",searchTerms:["food","restaurant","spoon","knife","dinner","eat","cutlery"]},{title:"fab fa-vaadin",searchTerms:[]},{title:"fas fa-venus",searchTerms:["female"]},{title:"fas fa-venus-double",searchTerms:[]},{title:"fas fa-venus-mars",searchTerms:[]},{title:"fab fa-viacoin",searchTerms:[]},{title:"fab fa-viadeo",searchTerms:[]},{title:"fab fa-viadeo-square",searchTerms:[]},{title:"fab fa-viber",searchTerms:[]},{title:"fas fa-video",searchTerms:["film","movie","record","camera","video-camera"]},{title:"fab fa-vimeo",searchTerms:[]},{title:"fab fa-vimeo-square",searchTerms:[]},{title:"fab fa-vimeo-v",searchTerms:["vimeo"]},{title:"fab fa-vine",searchTerms:[]},{title:"fab fa-vk",searchTerms:[]},{title:"fab fa-vnv",searchTerms:[]},{title:"fas fa-volleyball-ball",searchTerms:[]},{title:"fas fa-volume-down",searchTerms:["audio","lower","quieter","sound","music"]},{title:"fas fa-volume-off",searchTerms:["audio","mute","sound","music"]},{title:"fas fa-volume-up",searchTerms:["audio","higher","louder","sound","music"]},{title:"fab fa-vuejs",searchTerms:[]},{title:"fas fa-warehouse",searchTerms:[]},{title:"fab fa-weibo",searchTerms:[]},{title:"fas fa-weight",searchTerms:["scale"]},{title:"fab fa-weixin",searchTerms:[]},{title:"fab fa-whatsapp",searchTerms:[]},{title:"fab fa-whatsapp-square",searchTerms:[]},{title:"fas fa-wheelchair",searchTerms:["handicap","person"]},{title:"fab fa-whmcs",searchTerms:[]},{title:"fas fa-wifi",searchTerms:[]},{title:"fab fa-wikipedia-w",searchTerms:[]},{title:"fas fa-window-close",searchTerms:[]},{title:"far fa-window-close",searchTerms:[]},{title:"fas fa-window-maximize",searchTerms:[]},{title:"far fa-window-maximize",searchTerms:[]},{title:"fas fa-window-minimize",searchTerms:[]},{title:"far fa-window-minimize",searchTerms:[]},{title:"fas fa-window-restore",searchTerms:[]},{title:"far fa-window-restore",searchTerms:[]},{title:"fab fa-windows",searchTerms:["microsoft"]},{title:"fas fa-won-sign",searchTerms:["krw","krw"]},{title:"fab fa-wordpress",searchTerms:[]},{title:"fab fa-wordpress-simple",searchTerms:[]},{title:"fab fa-wpbeginner",searchTerms:[]},{title:"fab fa-wpexplorer",searchTerms:[]},{title:"fab fa-wpforms",searchTerms:[]},{title:"fas fa-wrench",searchTerms:["settings","fix","update","spanner","tool"]},{title:"fab fa-xbox",searchTerms:[]},{title:"fab fa-xing",searchTerms:[]},{title:"fab fa-xing-square",searchTerms:[]},{title:"fab fa-y-combinator",searchTerms:[]},{title:"fab fa-yahoo",searchTerms:[]},{title:"fab fa-yandex",searchTerms:[]},{title:"fab fa-yandex-international",searchTerms:[]},{title:"fab fa-yelp",searchTerms:[]},{title:"fas fa-yen-sign",searchTerms:["jpy","jpy"]},{title:"fab fa-yoast",searchTerms:[]},{title:"fab fa-youtube",searchTerms:["video","film","youtube-play","youtube-square"]},{title:"fab fa-youtube-square",searchTerms:[]}]})}); \ No newline at end of file diff --git a/public/js/plugins/schedule/editor.js b/public/js/plugins/schedule/editor.js index e47df87f..c6d18b37 100644 --- a/public/js/plugins/schedule/editor.js +++ b/public/js/plugins/schedule/editor.js @@ -210,6 +210,19 @@ function loadEventType(date) var foo = $('#'+i); foo.trumbowyg('html', val); } + else if(i == "calendar_color") + { + var foo = $('#'+i); + foo.val(val); + pickr.setColor(val); + } + else if(i == "calendar_icon") + { + var foo = $('#'+i); + foo.val(val); + $('#calendar_icon_display').removeAttr('class'); + $('#calendar_icon_display').addClass(val); + } }); }, error: function () { @@ -292,4 +305,4 @@ function updatePlantext(toggle,id) $('#'+id).removeClass('text-success'); $('#'+id).html('Plan de cours non remis') } -} \ No newline at end of file +} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 3284f7c6..5ba0ee36 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,4 @@ { "/js/app.js": "/js/app.js", - "/css/app.css": "/css/app.css", - "/css/material-dashboard.css": "/css/material-dashboard.css", "/css/custom.css": "/css/custom.css" } diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index bf005fde..c6164e36 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -47,10 +47,10 @@ @else @foreach ($futureEvent as $event)
-
+
-

{!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!}

+

@if($event->calendar_icon == null) {!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!} @else @endif

{{$event->name}} diff --git a/resources/views/admin/schedule/editor/course.blade.php b/resources/views/admin/schedule/editor/course.blade.php index 4e7c8361..8cb62f88 100644 --- a/resources/views/admin/schedule/editor/course.blade.php +++ b/resources/views/admin/schedule/editor/course.blade.php @@ -13,14 +13,14 @@
-
@@ -71,4 +71,4 @@
-
\ No newline at end of file +
diff --git a/resources/views/admin/schedule/editor/levelHeader.blade.php b/resources/views/admin/schedule/editor/levelHeader.blade.php index 0502fe08..cbe8813d 100644 --- a/resources/views/admin/schedule/editor/levelHeader.blade.php +++ b/resources/views/admin/schedule/editor/levelHeader.blade.php @@ -9,13 +9,13 @@
-
- \ No newline at end of file + diff --git a/resources/views/admin/schedule/editor/periode.blade.php b/resources/views/admin/schedule/editor/periode.blade.php index 06910423..f6121710 100644 --- a/resources/views/admin/schedule/editor/periode.blade.php +++ b/resources/views/admin/schedule/editor/periode.blade.php @@ -10,12 +10,12 @@
-
@@ -40,4 +40,4 @@
- \ No newline at end of file + diff --git a/resources/views/admin/schedule/editor/template.blade.php b/resources/views/admin/schedule/editor/template.blade.php index b240caaa..c67d54d5 100644 --- a/resources/views/admin/schedule/editor/template.blade.php +++ b/resources/views/admin/schedule/editor/template.blade.php @@ -8,9 +8,9 @@ @include('admin.schedule.editor.levelHeader',['level_id' => $loop->index+1,'level_name' => $niveau['name']]) @endforeach @foreach($eventType->schedule_model['periodes'] as $periode) @@ -24,8 +24,8 @@ @endforeach \ No newline at end of file + diff --git a/resources/views/admin/schedule/event/add.blade.php b/resources/views/admin/schedule/event/add.blade.php index ca482534..27f4c538 100644 --- a/resources/views/admin/schedule/event/add.blade.php +++ b/resources/views/admin/schedule/event/add.blade.php @@ -1,15 +1,15 @@ @extends('layouts.admin.main') @section('content') -
-
-
-
-

Ajouter un événement à l'horaire

-
-
-
- @csrf + +
+ @csrf +
+
+
+

Ajouter un événement à l'horaire

+
+
@@ -106,65 +106,149 @@
- +
-
-
-
-
-

Options

-
-
-
- - Choisir le type d'activité supprimera vos modification actuel - +
+
+
+

Options

-
- - L'activité est-elle obligatoire pour tout les cadets ? -
- +
+
+ + Choisir le type d'activité supprimera vos modification actuel +
-
-
- - Inclure des messages de la semaine avec l'activité ? -
- +
+ + L'activité est-elle obligatoire pour tout les cadets ? +
+ +
-
-
- - Inclure un horaire avec l'activité ? -
- +
+ + Inclure des messages de la semaine avec l'activité ? +
+ +
+
+
+ + Inclure un horaire avec l'activité ? +
+ +
+
+
+
+ + +
+
+
+ + Icone de l'activité +
+ + +
+
+
+ + Couleur de l'activité +
+ + +
+
+
+
+
-
+ + @endsection @section('custom_scripts') + + + @@ -172,6 +256,7 @@ $(function () { console.log('Document READY loading schedule editor'); loadEventType('{{$date}}'); + }) -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/ecc/booking.blade.php b/resources/views/ecc/booking.blade.php deleted file mode 100644 index 17128d75..00000000 --- a/resources/views/ecc/booking.blade.php +++ /dev/null @@ -1,86 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
- - - - - - - - - - - @foreach ($items as $item) - - - - - - - @endforeach - -
QuantitéNomDescription
{{$item->quantity}}{{$item->name}}{{$item->desc}}
{{ csrf_field() }}
-
-
-
-
-
-
- - - - - - - - - - - @foreach ($dispo_item as $item) - - - - - - @endforeach - -
NomDescriptionQuantité
{{ csrf_field() }}
{{$item->name}}{{$item->desc}} -
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/calendar.blade.php b/resources/views/ecc/calendar.blade.php deleted file mode 100644 index dc4161c6..00000000 --- a/resources/views/ecc/calendar.blade.php +++ /dev/null @@ -1,21 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/calendar_date.blade.php b/resources/views/ecc/calendar_date.blade.php deleted file mode 100644 index 4972dfb0..00000000 --- a/resources/views/ecc/calendar_date.blade.php +++ /dev/null @@ -1,273 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
- @if (count($schedules) == 0) -
-
-
- Aucune activité pour cette journée ! -
- Retour a l'horaire -
-
- @endif - @foreach ($schedules as $schedule) -
-
-
-
-
{{$schedule->data['event_name']}}
-
-
-
- @if ($schedule->data['is_event_mandatory'] == "on") - Obligatoire - @else - Non Obligatoire - @endif -
-
-
- {{$schedule->data['event_begin_time']}} à {{$schedule->data['event_end_time']}}
{{$schedule->data['event_location']}}

{!!$schedule->data['event_desc']!!}

- @if ($schedule->type == "regular") -
-
-
- Niveau -
-
- Période 1 -
-
- Période 2 -
-
-
-
- 1 -
-
-
-
-
- {{\App\User::find($schedule->data['n1_p1_instructor'])->fullname()}} -
-
- @if ($schedule->data['n1_p1_instructor'] == \Auth::User()->id) - @if ($schedule->data['n1_p1_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n1_p1_ocom']}} - {{$schedule->data['n1_p1_name']}} -
-
- {{\App\Local::find($schedule->data['n1_p1_local'])->name}} -
-
-
- @if ($schedule->data['n1_p1_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
-
-
- {{\App\User::find($schedule->data['n1_p2_instructor'])->fullname()}} -
-
- @if ($schedule->data['n1_p2_instructor'] == \Auth::User()->id) - @if ($schedule->data['n1_p2_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n1_p2_ocom']}} - {{$schedule->data['n1_p2_name']}} -
-
- {{\App\Local::find($schedule->data['n1_p2_local'])->name}} -
-
-
- @if ($schedule->data['n1_p2_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
-
-
- 2 -
-
-
-
-
- {{\App\User::find($schedule->data['n2_p1_instructor'])->fullname()}} -
-
- @if ($schedule->data['n2_p1_instructor'] == \Auth::User()->id) - @if ($schedule->data['n2_p1_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n2_p1_ocom']}} - {{$schedule->data['n2_p1_name']}} -
-
- {{\App\Local::find($schedule->data['n2_p1_local'])->name}} -
-
-
- @if ($schedule->data['n2_p1_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
-
-
- {{\App\User::find($schedule->data['n2_p2_instructor'])->fullname()}} -
-
- @if ($schedule->data['n2_p2_instructor'] == \Auth::User()->id) - @if ($schedule->data['n2_p2_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n2_p2_ocom']}} - {{$schedule->data['n2_p2_name']}} -
-
- {{\App\Local::find($schedule->data['n2_p2_local'])->name}} -
-
-
- @if ($schedule->data['n2_p2_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
-
-
- 3 -
-
-
-
-
- {{\App\User::find($schedule->data['n3_p1_instructor'])->fullname()}} -
-
- @if ($schedule->data['n3_p1_instructor'] == \Auth::User()->id) - @if ($schedule->data['n3_p1_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n3_p1_ocom']}} - {{$schedule->data['n3_p1_name']}} -
-
- {{\App\Local::find($schedule->data['n3_p1_local'])->name}} -
-
-
- @if ($schedule->data['n3_p1_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
-
-
- {{\App\User::find($schedule->data['n3_p2_instructor'])->fullname()}} -
-
- @if ($schedule->data['n3_p2_instructor'] == \Auth::User()->id) - @if ($schedule->data['n3_p2_plandone'] == "on") - Remis - @else - Non remis - @endif - @endif -
-
-
-
-
- {{$schedule->data['n3_p2_ocom']}} - {{$schedule->data['n3_p2_name']}} -
-
- {{\App\Local::find($schedule->data['n3_p2_local'])->name}} -
-
-
- @if ($schedule->data['n3_p2_instructor'] == \Auth::User()->id) - - @endif -
-
-
-
-
- @else - Autre - @endif -
-
- @endforeach -
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/dashboard.blade.php b/resources/views/ecc/dashboard.blade.php deleted file mode 100644 index 1ae9221b..00000000 --- a/resources/views/ecc/dashboard.blade.php +++ /dev/null @@ -1,240 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Cours a venir

- {{count($AlluserClasse)}} -
-
-
-
-
- @if(count($AlluserClasse) == 0) -
-
- - Aucun cours a venir -
-
- @endif - @foreach ($userClasse as $classe) -
- @if ($classe['plan_done'] == "on") -
- - Le cours {{$classe['ocom']}} - {{$classe['name']}} du {{$classe['date']}} est remis.
- @if ($classe['material'] != "") - - Vous avez réservé - @foreach (\App\Item::explodeItems($classe['material']) as $item) - @if (\App\Item::explodeItems($classe['material'])->last() == $item && \App\Item::explodeItems($classe['material'])->first() != $item) - et - @endif - {{$item->name}} - @endforeach - @else - - Aucun matériel réservé - @endif -
-
- @else -
- - Le cours {{$classe['ocom']}} - {{$classe['name']}} du {{$classe['date']}} n'est pas remis.
- @if ($classe['material'] != "") - - Vous avez réservé - @foreach (\App\Item::explodeItems($classe['material']) as $item) - @if (\App\Item::explodeItems($classe['material'])->last() == $item && \App\Item::explodeItems($classe['material'])->first() != $item) - et - @endif - {{$item->name}} - @endforeach - @else - - Aucun matériel réservé - @endif -
-
- @endif -
- @endforeach -
- -
-
-
-
-
-
-
- -
-
-
-
-

Guide pédagogique et plan de cours

-
-
-
-
-
-
-

Guide pédagogique et de qualification du niveau 1

-
-
-

Guide pédagogique et de qualification du niveau 2

-
-
-

Guide pédagogique et de qualification du niveau 3

-
-
-

Guide pédagogique et de qualification du niveau 4

-
-
-
-
-

Plan de cours vierge

- Télécharger -
-
-
-
-
-
-
-
-
-
-
-
-
- ... -

{{\Auth::User()->fullname()}}
- {{\App\Rank::find(\Auth::User()->rank)->name}} -

-
-
-
-
-
-
-
{{\Auth::User()->age}}
Âge
-
-
-
{{strtoupper(\Auth::User()->sexe)}}
Sexe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-

Activité sur le site

- {{\Auth::User()->countActivity()}} -
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-

Nombre de cours à données

- {{\Auth::User()->countClasse()}} -
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-

Messages

-
-
-
-
- @foreach ($messages as $message) -
-

{{$message->title}}

par {{\App\User::find($message->user_id)->fullname()}}

-
{!! $message->body !!}
- Afficher plus -
- @endforeach -
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/files.blade.php b/resources/views/ecc/files.blade.php deleted file mode 100644 index 12e84931..00000000 --- a/resources/views/ecc/files.blade.php +++ /dev/null @@ -1,130 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Fichiers

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fichier
Ordre d'opération
Mini Ordre Operation Projet Soirée Journée ViergeTélécharger
Mini Ordre Operation ViergeTélécharger
Tenues
Liste des tenuesTélécharger
Énoncé de fonction
Cadet commandantTélécharger
Cadet commandant adjointTélécharger
Chef entrainementTélécharger
Instructeur séniorTélécharger
InstructeurTélécharger
Assistant InstructeurTélécharger
Commandant de sectionTélécharger
Commandant de la gardeTélécharger
Commandant adjoint de sectionTélécharger
Commandant adjoint de gardeTélécharger
Cadet cadre de la logistiqueTélécharger
Cadet cadre de l'administrationTélécharger
Commandant adjoint de sectionTélécharger
Divers
Information NECPCTélécharger
Évaluation pratique sur la coordination d’un ordre d’opération sur le terrainTélécharger
RENCONTRE PRÉILIMINAIRE D’INSTRUCTIONTélécharger
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/guide.blade.php b/resources/views/ecc/guide.blade.php deleted file mode 100644 index 72e5ad01..00000000 --- a/resources/views/ecc/guide.blade.php +++ /dev/null @@ -1,55 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Guide pédagogique et plan de cours

-
-
-
-
-
-
-

Guide pédagogique et de qualification du niveau 1

-
-
-

Guide pédagogique et de qualification du niveau 2

-
-
-

Guide pédagogique et de qualification du niveau 3

-
-
-

Guide pédagogique et de qualification du niveau 4

-
-
-
-
-

Plan de cours vierge

- Télécharger -
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/list.blade.php b/resources/views/ecc/list.blade.php deleted file mode 100644 index da62c645..00000000 --- a/resources/views/ecc/list.blade.php +++ /dev/null @@ -1,35 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Liste des cadets

-
-
-
-
-
-
-

Liste nominative des cadets

-
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/message.blade.php b/resources/views/ecc/message.blade.php deleted file mode 100644 index 0e5e781c..00000000 --- a/resources/views/ecc/message.blade.php +++ /dev/null @@ -1,25 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-

{{$message->title}}

par {{\App\User::find($message->user_id)->fullname()}}

-
{!! $message->body !!}

-
-
- -
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/messages.blade.php b/resources/views/ecc/messages.blade.php deleted file mode 100644 index d6f099f3..00000000 --- a/resources/views/ecc/messages.blade.php +++ /dev/null @@ -1,41 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Messages

-
-
-
-
- @foreach ($messages as $message) -
-

{{$message->title}}

par {{\App\User::find($message->user_id)->fullname()}}

-
{!! $message->body !!}

- Afficher plus -
- @endforeach -
-
- - -
-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/settings.blade.php b/resources/views/ecc/settings.blade.php deleted file mode 100644 index 4808feb2..00000000 --- a/resources/views/ecc/settings.blade.php +++ /dev/null @@ -1,50 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Options

-
-
-
- -
-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/settings/adress.blade.php b/resources/views/ecc/settings/adress.blade.php deleted file mode 100644 index d4210cb8..00000000 --- a/resources/views/ecc/settings/adress.blade.php +++ /dev/null @@ -1,50 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Options

-
-
-
-
-
Modifier mon adresse
- @if (session('status')) -
- - {{session('status')}} -
- @endif -
- @csrf -
- - -
- -
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/settings/avatar.blade.php b/resources/views/ecc/settings/avatar.blade.php deleted file mode 100644 index 198d4311..00000000 --- a/resources/views/ecc/settings/avatar.blade.php +++ /dev/null @@ -1,55 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Options

-
-
-
-
-
Modifier mon mot de passe
- @if (session('status')) -
- - {{session('status')}} -
- @endif - Votre Avatar -
- Card image cap -
-
- Cliquer sur un avatar pour mettre a jour votre avatar -
- @for ($i = 1; $i < 16; $i++) -
- Card image cap -
- @endfor -
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/settings/password.blade.php b/resources/views/ecc/settings/password.blade.php deleted file mode 100644 index 65a1dedc..00000000 --- a/resources/views/ecc/settings/password.blade.php +++ /dev/null @@ -1,57 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
-
-
- -
-
-
-
-

Options

-
-
-
-
-
Modifier mon mot de passe
- @if (session('status')) -
- - Votre mot de passe a été mis a jour ! -
- @endif -
- @csrf - -
- - -
-
- - -
- -
-
-
-
-
-
-
-@endsection - -@section('active_page') - -@endsection - -@section('custom_scripts') - -@endsection \ No newline at end of file diff --git a/resources/views/ecc/update.blade.php b/resources/views/ecc/update.blade.php deleted file mode 100644 index a8b55865..00000000 --- a/resources/views/ecc/update.blade.php +++ /dev/null @@ -1,234 +0,0 @@ -@extends('layouts.ecc.main') - -@section('content') -
-
-
-
-
Mise a jour 3.0.6
-

- Front-End -

    -
  • Ajout d'un bouton pour supprimer toute les notifications
  • -
  • Modification de l'affichage des activités a venir
  • -
  • Modification de l'affichage des cours a venir
  • -
-

-
-

- Back End & API -

    -
  • Ajout des notifications par Email.
  • -
  • Ajout des notifications pas SMS
  • -
  • Ajout de la suppression massive de notifications
  • -
  • Multiples autres ajouts
  • -
-

-
-

- Correction de bug -

-

-
-
-
-
-
-
-
Mise a jour 3.0.5
-

- Front-End -

    -
  • Ajout d'un quantité d'item dans l'inventaire.
  • -
  • Modification de l'interface de la gestion d'inventaire pour accomoder l'ajout de quantité.
  • -
  • Ajout d'un indicateur de status sur la page de connexion..
  • -
  • Le rapport de bug est maintenant publique.
  • -
  • Ajout du dashboard administrateur.
  • -
  • Ajout d'option de configuration générale.'
  • -
-

-
-

- Back End & API -

    -
  • Modification du model de réservation pour accomoder l'ajout de quantité.
  • -
  • Ajout d'une quantité d'item a l'inventaire.
  • -
  • Ajout d'un « Helper » pour connaitre le status des services.
  • -
  • Ajout d'une section « Alerte » dans le modele de page Admin.
  • -
-

-
-

- Correction de bug -

-

-
-
-
-
-
-
-
Mise a jour 3.0.4
-

- Nouveauté -

    -
  • Création de l'espace cadet cadre
  • -
      -
    • Création du tableau de bord
    • -
    • Création de la section message
    • -
    • Création de la section plan de cours
    • -
    • Création de la section guide pédagogique
    • -
    • Création de la section horaire
    • -
    • Création de la section mise a jour
    • -
    -
  • Ajout de nouveau type d'icones
  • -
- Back End & API -
    -
  • Ajout de CSS spécifique au calendrier
  • -
  • Ajout d'un controller pour l'ECC
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-
-
-
Mise a jour 3.0.3
-

- Nouveauté -

    -
  • Mise à jour de la section notification.
  • -
  • Ajout d'une option pour bloquer les notifications de l'horaire lors de ça construction initiale.
  • -
- Back End & API -
    -
  • A Mise à jours du nom de l'adresse d'envois de Email
  • -
  • Mise à jours de l'adresse d'envois de Email
  • -
  • Ajout de la suppression de notification
  • -
  • Ajout de notification Email et Alert lors de l'ajout d'evenement a l'horaire
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-
-
-
Mise a jour 3.0.2
-

- Nouveauté -

    -
  • Amélioration générale de l'horaire
  • -
  • Ajout de la section message
  • -
  • Ajout de la section statistique
  • -
  • Ajout de la section utilisateur
  • -
  • Ajout de la section configuration
  • -
  • Ajout de modèle de poste
  • -
  • Ajout de modèle de grade
  • -
  • Ajout de notification par Email
  • -
  • Ajout de notification par SMS
  • -
  • Ajout de notification interne
  • -
- Back End & API -
    -
  • Ajout d'une liste de locaux dynamique
  • -
  • Ajout d'une liste de poste dynamique
  • -
  • Ajout d'une liste de grade dynamique
  • -
  • Ajout d'une authentification par token pour les requetes API
  • -
  • Ajout d'un "Middleware" pour les staffs
  • -
  • Ajout d'un "Middleware" pour les admins
  • -
  • Ajout du plugin DataTable
  • -
  • Modification de la table de données des permissions de "Boolean" a "String"
  • -
  • Ajout de page d'erreur personnalisé
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-
-
-
Mise a jour 3.0.1e
-

- Nouveauté -

    -
  • Amélioration générale de l'horaire
  • -
  • Ajout du model d'activité
  • -
  • Ajout de la migration d'activité
  • -
  • Ajout du CSS du calendrier
  • -
  • Ajout d'un préloader
  • -
  • Ajout de photos sur la page publique
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-
-
-
Mise a jour 3.0.1d
-

- Nouveauté -

    -
  • Ajout du prototype de l'horaire
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-
-
-
Mise a jour 3.0.1c
-

- Nouveauté -

    -
  • Ajout du systeme de logs
  • -
- Correction de bug -
    -
  • Correction de multiple bug
  • -
-

-
-
-
-
-@endsection - -@section('active_page') - -@endsection \ No newline at end of file diff --git a/resources/views/layouts/admin/head.blade.php b/resources/views/layouts/admin/head.blade.php index 0a0a4b71..708a5fad 100644 --- a/resources/views/layouts/admin/head.blade.php +++ b/resources/views/layouts/admin/head.blade.php @@ -25,8 +25,10 @@ - + + + - \ No newline at end of file + diff --git a/resources/views/layouts/admin/scripts.blade.php b/resources/views/layouts/admin/scripts.blade.php index 1d24bd8a..e21c6505 100644 --- a/resources/views/layouts/admin/scripts.blade.php +++ b/resources/views/layouts/admin/scripts.blade.php @@ -6,6 +6,7 @@ + @@ -25,8 +26,6 @@ - - diff --git a/resources/views/layouts/ecc/footer.blade.php b/resources/views/layouts/ecc/footer.blade.php deleted file mode 100644 index 5c412393..00000000 --- a/resources/views/layouts/ecc/footer.blade.php +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/resources/views/layouts/ecc/head.blade.php b/resources/views/layouts/ecc/head.blade.php deleted file mode 100644 index ceaa3bb6..00000000 --- a/resources/views/layouts/ecc/head.blade.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - Espace Cadet Cadre - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/views/layouts/ecc/header.blade.php b/resources/views/layouts/ecc/header.blade.php deleted file mode 100644 index 88e41cde..00000000 --- a/resources/views/layouts/ecc/header.blade.php +++ /dev/null @@ -1,49 +0,0 @@ -unreadNotifications as $notification) { - $nbOfNotification = $nbOfNotification + 1; -} -?> - \ No newline at end of file diff --git a/resources/views/layouts/ecc/main.blade.php b/resources/views/layouts/ecc/main.blade.php deleted file mode 100644 index b12959d8..00000000 --- a/resources/views/layouts/ecc/main.blade.php +++ /dev/null @@ -1,33 +0,0 @@ - - - - @include('layouts.ecc.head') - - -
- - @include('layouts.ecc.sidebar') - -
- - @include('layouts.ecc.header') - -
-
- - @yield('content') - -
-
- - @include('layouts.ecc.footer') - -
-
- - -@include('layouts.ecc.scripts') - -@yield('custom_scripts') - - diff --git a/resources/views/layouts/ecc/scripts.blade.php b/resources/views/layouts/ecc/scripts.blade.php deleted file mode 100644 index ce3b7582..00000000 --- a/resources/views/layouts/ecc/scripts.blade.php +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/views/layouts/ecc/sidebar.blade.php b/resources/views/layouts/ecc/sidebar.blade.php deleted file mode 100644 index 495c0035..00000000 --- a/resources/views/layouts/ecc/sidebar.blade.php +++ /dev/null @@ -1,69 +0,0 @@ - \ No newline at end of file diff --git a/tests/Browser/LoginTest.php b/tests/Browser/LoginTest.php index bba8bf85..435a9f73 100644 --- a/tests/Browser/LoginTest.php +++ b/tests/Browser/LoginTest.php @@ -6,7 +6,7 @@ use Illuminate\Foundation\Testing\DatabaseMigrations; use Laravel\Dusk\Browser; use Tests\DuskTestCase; -class LoginTest extends DuskTestCase +class xLoginTest extends DuskTestCase { public function testLogin() { From baef9a1df0fcd4c156bb42030ba8f4b9a25b4090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lagac=C3=A9=20Mathieu?= Date: Sat, 1 Feb 2020 13:17:32 -0500 Subject: [PATCH 05/12] 3.2.5 --- app/Config.php | 5 + app/Course.php | 5 + app/Event.php | 70 + app/GoogleDriveFile.php | 39 + app/Http/Controllers/AdminController.php | 6 + app/Http/Controllers/ConfigController.php | 28 +- app/Http/Controllers/EventController.php | 31 +- .../Controllers/GoogleDriveController.php | 117 ++ app/Permission.php | 30 + app/Providers/GoogleDriveServiceProvider.php | 44 + composer.json | 1 + composer.lock | 1254 ++++++++++++----- config/app.php | 1 + config/filesystems.php | 9 + database/seeds/ConfigsTableSeeder.php | 20 + public/android-chrome-192x192.png | Bin 0 -> 4042 bytes public/android-chrome-512x512.png | Bin 0 -> 7241 bytes public/apple-touch-icon.png | Bin 0 -> 3564 bytes public/css/custom.css | 26 +- public/favicon-16x16.png | Bin 0 -> 290 bytes public/favicon-32x32.png | Bin 0 -> 532 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/js/plugins/schedule/editor.js | 21 +- resources/assets/fullcalendar/core/main.d.ts | 2 +- resources/custom.css | 26 +- .../admin/calendar/calendar_display.blade.php | 21 +- resources/views/admin/configs/file.blade.php | 73 +- resources/views/admin/dashboard.blade.php | 19 +- .../admin/files/Google Drive/index.blade.php | 68 + .../admin/schedule/editor/course.blade.php | 1 + .../views/admin/schedule/event/add.blade.php | 56 +- resources/views/admin/status/index.blade.php | 93 ++ resources/views/layouts/admin/head.blade.php | 9 +- .../views/layouts/admin/header.blade.php | 7 +- .../views/layouts/admin/scripts.blade.php | 8 +- .../views/layouts/admin/sidebar.blade.php | 68 +- routes/web.php | 5 +- 37 files changed, 1662 insertions(+), 501 deletions(-) create mode 100644 app/GoogleDriveFile.php create mode 100644 app/Http/Controllers/GoogleDriveController.php create mode 100644 app/Providers/GoogleDriveServiceProvider.php create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 resources/views/admin/files/Google Drive/index.blade.php create mode 100644 resources/views/admin/status/index.blade.php diff --git a/app/Config.php b/app/Config.php index ae98428e..6a5096a2 100644 --- a/app/Config.php +++ b/app/Config.php @@ -24,4 +24,9 @@ class Config extends Model { return $this->morphMany('App\Log', 'logable'); } + + public static function find($name) + { + return Config::where('name',$name)->first(); + } } diff --git a/app/Course.php b/app/Course.php index d0c7493b..9222c2eb 100644 --- a/app/Course.php +++ b/app/Course.php @@ -25,4 +25,9 @@ class Course extends Model { return $this->morphMany('App\Log', 'logable'); } + + public function use_course() + { + return $this->name == "" && $this->ocom == ""; + } } diff --git a/app/Event.php b/app/Event.php index ce14abe5..37952ed7 100644 --- a/app/Event.php +++ b/app/Event.php @@ -59,4 +59,74 @@ class Event extends Model } return $events; } + + public static function checkForError() + { + $events = Event::all(); + + $warning = []; + $danger = []; + + foreach ($events as $event) + { + if($event->date_begin == null) + { + array_push($warning,'Évènement ID:'.$event->id.' - "date_begin", Incorrect'); + } + if($event->date_end == null) + { + array_push($warning,'Évènement ID:'.$event->id.' - "date_end", Incorrect'); + } + if($event->type == null || $event->type == "" || !\App\EventType::all()->has($event->type)) + { + $event->type = 1; + //$event->save(); + array_push($warning,'Évènement ID:'.$event->id.' - "type", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "type", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->is_mandatory == null && $event->is_mandatory != 0) + { + array_push($warning,'Évènement ID:'.$event->id.' - "is_mandatory", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "is_mandatory", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->use_weekly_msg == null && $event->use_weekly_msg != 0) + { + array_push($warning,'Évènement ID:'.$event->id.' - "use_weekly_msg", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "use_weekly_msg", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->use_schedule == null && $event->use_schedule != 0) + { + array_push($warning,'Évènement ID:'.$event->id.' - "use_schedule", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "use_schedule", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->schedule == null) + { + $event->schedule = '{"periodes":[{"name":"Periode 1","begin_time":"19:00","end_time":"20:10"},{"name":"Periode 2","begin_time":"20:30","end_time":"21:20"}],"niveaux":[{"name":"Niveau 1"},{"name":"Niveau 2"},{"name":"Niveau 3"}]}'; + $event->save(); + array_push($warning,'Évènement ID:'.$event->id.' - "schedule", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "schedule", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->location == null || $event->location == "") + { + array_push($warning,'Évènement ID:'.$event->id.' - "location", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "location", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->calendar_color == null || $event->calendar_color == "") + { + $event->calendar_color = '#A4A4A4'; + $event->save(); + array_push($warning,'Évènement ID:'.$event->id.' - "calendar_color", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "calendar_color", Incorrect... Réinitialisé à la valeur par défaut'); + } + if($event->calendar_icon == null || $event->calendar_icon == "") + { + $event->calendar_icon = 'fas fa-book'; + $event->save(); + array_push($warning,'Évènement ID:'.$event->id.' - "calendar_icon", Incorrect... Réinitialisé à la valeur par défaut'); + clog('error','danger','Évènement ID:'.$event->id.' - "calendar_icon", Incorrect... Réinitialisé à la valeur par défaut'); + } + } + + return [$warning,$danger]; + } } diff --git a/app/GoogleDriveFile.php b/app/GoogleDriveFile.php new file mode 100644 index 00000000..4b31fc48 --- /dev/null +++ b/app/GoogleDriveFile.php @@ -0,0 +1,39 @@ + $alerts]); + } + } diff --git a/app/Http/Controllers/ConfigController.php b/app/Http/Controllers/ConfigController.php index 01c4a54a..af29cc44 100644 --- a/app/Http/Controllers/ConfigController.php +++ b/app/Http/Controllers/ConfigController.php @@ -137,13 +137,33 @@ class ConfigController extends Controller public function editfilesConfig() { - $config = \App\Config::all()->where('name','cadet_list')->first(); + $configList = [ + 'cadet_list' + ]; - $config->data = [\request('cadet_list')]; + $configListEncrypt = [ + 'GOOGLE_DRIVE_CLIENT_ID', + 'GOOGLE_DRIVE_CLIENT_SECRET', + 'GOOGLE_DRIVE_REFRESH_TOKEN', + 'GOOGLE_DRIVE_FOLDER_ID' + ]; - $config->save(); - clog('edit','success','a modifié la configuration'); + foreach ($configList as $configName) + { + $config = \App\Config::find($configName); + $config->data = [\request($configName)]; + $config->save(); + } + + foreach ($configListEncrypt as $configName) + { + $config = \App\Config::find($configName); + $config->data = [\Crypt::encryptString(\request($configName))]; + $config->save(); + } + + clog('edit','success','a modifié la configuration des fichiers'); return redirect('/admin/config/files')->with('success','Modification sauvegarder avec succès !'); } } diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index 09aa5c1d..aec86a6b 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -38,6 +38,8 @@ class EventController extends Controller { $event = new Event(); + + $event->name = request('name'); $event->date_begin = request('begin_time'); $event->date_end = request('end_time'); @@ -51,7 +53,7 @@ class EventController extends Controller $event->is_mandatory = 0; } - $event->desc = ''; + $event->desc = \request('admin_desc'); if(\request("use_weekly_msg")) { @@ -95,10 +97,10 @@ class EventController extends Controller ]); $nbPeriode++; } - $event->schedule = [ 'periodes' => $periodes, - 'niveaux' => $niveaux + 'niveaux' => $niveaux, + 'courses' => [] ]; $event->save(); @@ -106,7 +108,7 @@ class EventController extends Controller if ($event->use_schedule) { for ($l=1; $l < $nbLevel; $l++) { for ($p=1; $p < $nbPeriode; $p++) { - + $course = new \App\Course(); $users = \App\User::all(); @@ -119,16 +121,26 @@ class EventController extends Controller } } - $course->name = request('name_n'.$l.'_p'.$p); $course->user_id = $instructor; - $course->ocom = request('ocom_n'.$l.'_p'.$p); $course->location = request('location_n'.$l.'_p'.$p); $course->periode = $p; $course->level = $l; - $course->comment = ""; $course->event_id = $event->id; + if(\request("use_course_n".$l."_p".$p) == 'on') + { + $course->name = request('name_n'.$l.'_p'.$p); + $course->ocom = request('ocom_n'.$l.'_p'.$p); + $course->comment = ""; + } + else + { + $course->name = ""; + $course->ocom = ""; + $course->comment = request('desc_n'.$l.'_p'.$p); + } + $course->save(); } } @@ -253,4 +265,9 @@ class EventController extends Controller { // } + + public function checkEvent() + { + // + } } diff --git a/app/Http/Controllers/GoogleDriveController.php b/app/Http/Controllers/GoogleDriveController.php new file mode 100644 index 00000000..411b321b --- /dev/null +++ b/app/Http/Controllers/GoogleDriveController.php @@ -0,0 +1,117 @@ +listContents($dir, $recursive)); + + return $contents->where('type', '=', 'file'); // files + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return bool + */ + public function store(Request $request) + { + $path = Storage::cloud()->makeDirectory('Test Dir'); + dd($path); + } + + /** + * Display the specified resource. + * + * @param $filename + * @return \Illuminate\Http\Response + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + */ + public function show() + { + $filename = \request('file'); + $recursive = false; // Get subdirectories also? + $contents = collect(Storage::cloud()->listContents('/1nEe35-GvLX598RketTI-UoaOxIMNxfka', true)); + + $file = $contents + ->where('type', '=', 'file') + ->where('filename', '=', pathinfo($filename, PATHINFO_FILENAME)) + ->where('extension', '=', pathinfo($filename, PATHINFO_EXTENSION)) + ->first(); // there can be duplicate file names! + + //return $file; // array with file info + + $rawData = Storage::cloud()->get($file['path']); + + return response($rawData, 200) + ->header('ContentType', $file['mimetype']) + ->header('Content-Disposition', "attachment; filename='$filename'"); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + } + + public function list() + { + $dir = '/'; + $recursive = false; // Get subdirectories also? + $contents = collect(Storage::cloud()->listContents($dir, $recursive)); + + return view('admin.files.Google Drive.index',['directories' => $contents->where('type', '=', 'dir'), 'files' => $contents->where('type', '=', 'file')]); + //return $contents->where('type', '=', 'file'); // files + } +} diff --git a/app/Permission.php b/app/Permission.php index 9f60eee4..9fcf3cb7 100644 --- a/app/Permission.php +++ b/app/Permission.php @@ -272,6 +272,36 @@ class Permission extends Model 'icon' => 'fa-eye', 'valeur' => 0 ], + ], + 'file' => [ + 'file_see' => [ + 'ckey' => 'file_see', + 'communName' => 'Voir les fichiers', + 'desc' => 'L\'utilisateur peut-il consulter les fichiers', + 'icon' => 'fa-eye', + 'valeur' => 0 + ], + 'file_add' => [ + 'ckey' => 'file_add', + 'communName' => 'Ajouter un fichier', + 'desc' => 'L\'utilisateur peut-il ajouter un fichier', + 'icon' => 'fa-eye', + 'valeur' => 0 + ], + 'file_edit' => [ + 'ckey' => 'file_edit', + 'communName' => 'Modifier un fichier', + 'desc' => 'L\'utilisateur peut-il modifier un fichier', + 'icon' => 'fa-eye', + 'valeur' => 0 + ], + 'file_delete' => [ + 'ckey' => 'file_delete', + 'communName' => 'Supprimer un fichier', + 'desc' => 'L\'utilisateur peut-il supprimer un fichier', + 'icon' => 'fa-eye', + 'valeur' => 0 + ] ] ]; diff --git a/app/Providers/GoogleDriveServiceProvider.php b/app/Providers/GoogleDriveServiceProvider.php new file mode 100644 index 00000000..3afc03d1 --- /dev/null +++ b/app/Providers/GoogleDriveServiceProvider.php @@ -0,0 +1,44 @@ +setClientId(\Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_CLIENT_ID'))); + $client->setClientSecret(\Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_CLIENT_SECRET'))); + $client->refreshToken(\Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_REFRESH_TOKEN'))); + $service = new \Google_Service_Drive($client); + + $options = []; + if(isset($config['teamDriveId'])) { + $options['teamDriveId'] = $config['teamDriveId']; + } + + $adapter = new GoogleDriveAdapter($service, \Crypt::decryptString(\App\Config::getData('GOOGLE_DRIVE_FOLDER_ID')), $options); + + return new \League\Flysystem\Filesystem($adapter); + }); + } +} diff --git a/composer.json b/composer.json index 9168163f..fef011c9 100644 --- a/composer.json +++ b/composer.json @@ -14,6 +14,7 @@ "laravel/helpers": "^1.1", "laravel/nexmo-notification-channel": "^2.2", "laravel/tinker": "^1.0", + "nao-pon/flysystem-google-drive": "^1.1", "nexmo/client": "^2.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index bcb3ec1f..fef88117 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "eb2e0f9a332c6bc503c5535d872c50e7", + "content-hash": "57f87b1252c823a7d2a41bf3f850e726", "packages": [ { "name": "barryvdh/laravel-dompdf", @@ -184,16 +184,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.5", + "version": "1.2.6", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149" + "reference": "47fe531de31fca4a1b997f87308e7d7804348f7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/62e8fc2dc550e5d6d8c9360c7721662670f58149", - "reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/47fe531de31fca4a1b997f87308e7d7804348f7e", + "reference": "47fe531de31fca4a1b997f87308e7d7804348f7e", "shasum": "" }, "require": { @@ -236,20 +236,20 @@ "ssl", "tls" ], - "time": "2019-12-11T14:44:42+00:00" + "time": "2020-01-13T10:02:55+00:00" }, { "name": "composer/composer", - "version": "1.9.1", + "version": "1.9.2", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "bb01f2180df87ce7992b8331a68904f80439dd2f" + "reference": "7a04aa0201ddaa0b3cf64d41022bd8cdcd7fafeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/bb01f2180df87ce7992b8331a68904f80439dd2f", - "reference": "bb01f2180df87ce7992b8331a68904f80439dd2f", + "url": "https://api.github.com/repos/composer/composer/zipball/7a04aa0201ddaa0b3cf64d41022bd8cdcd7fafeb", + "reference": "7a04aa0201ddaa0b3cf64d41022bd8cdcd7fafeb", "shasum": "" }, "require": { @@ -316,28 +316,27 @@ "dependency", "package" ], - "time": "2019-11-01T16:20:17+00:00" + "time": "2020-01-14T15:30:32+00:00" }, { "name": "composer/semver", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", - "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5", - "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + "phpunit/phpunit": "^4.5 || ^5.0.5" }, "type": "library", "extra": { @@ -378,7 +377,7 @@ "validation", "versioning" ], - "time": "2019-03-19T17:25:45+00:00" + "time": "2020-01-13T12:06:48+00:00" }, { "name": "composer/spdx-licenses", @@ -601,16 +600,16 @@ }, { "name": "doctrine/dbal", - "version": "v2.10.0", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934" + "reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0c9a646775ef549eb0a213a4f9bd4381d9b4d934", - "reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8", + "reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8", "shasum": "" }, "require": { @@ -689,7 +688,7 @@ "sqlserver", "sqlsrv" ], - "time": "2019-11-03T16:50:43+00:00" + "time": "2020-01-04T12:56:21+00:00" }, { "name": "doctrine/event-manager", @@ -898,28 +897,28 @@ }, { "name": "dompdf/dompdf", - "version": "v0.8.3", + "version": "v0.8.4", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2" + "reference": "8f49b3b01693f51037dd50da81090beba1b5c005" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/75f13c700009be21a1965dc2c5b68a8708c22ba2", - "reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/8f49b3b01693f51037dd50da81090beba1b5c005", + "reference": "8f49b3b01693f51037dd50da81090beba1b5c005", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "phenx/php-font-lib": "0.5.*", - "phenx/php-svg-lib": "0.3.*", - "php": ">=5.4.0" + "phenx/php-font-lib": "^0.5.1", + "phenx/php-svg-lib": "^0.3.3", + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.5|^6.5", - "squizlabs/php_codesniffer": "2.*" + "phpunit/phpunit": "^7.5", + "squizlabs/php_codesniffer": "^3.5" }, "suggest": { "ext-gd": "Needed to process images", @@ -960,7 +959,7 @@ ], "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", "homepage": "https://github.com/dompdf/dompdf", - "time": "2018-12-14T02:40:31+00:00" + "time": "2020-01-20T17:00:46+00:00" }, { "name": "dragonmantank/cron-expression", @@ -1018,27 +1017,27 @@ }, { "name": "egulias/email-validator", - "version": "2.1.11", + "version": "2.1.15", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" + "reference": "e834eea5306d85d67de5a05db5882911d5b29357" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e834eea5306d85d67de5a05db5882911d5b29357", + "reference": "e834eea5306d85d67de5a05db5882911d5b29357", "shasum": "" }, "require": { "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" }, "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1", - "symfony/phpunit-bridge": "^4.4@dev" + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", + "satooshi/php-coveralls": "^1.0.1" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -1072,66 +1071,20 @@ "validation", "validator" ], - "time": "2019-08-13T17:33:27+00:00" - }, - { - "name": "erusev/parsedown", - "version": "1.7.3", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2019-03-17T18:48:37+00:00" + "time": "2020-01-20T21:40:59+00:00" }, { "name": "fideloper/proxy", - "version": "4.2.1", + "version": "4.2.2", "source": { "type": "git", "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a" + "reference": "790194d5d3da89a713478875d2e2d05855a90a81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/790194d5d3da89a713478875d2e2d05855a90a81", + "reference": "790194d5d3da89a713478875d2e2d05855a90a81", "shasum": "" }, "require": { @@ -1172,20 +1125,215 @@ "proxy", "trusted proxy" ], - "time": "2019-09-03T16:45:42+00:00" + "time": "2019-12-20T13:11:11+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "6.5.0", + "name": "firebase/php-jwt", + "version": "v5.0.0", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5" + "url": "https://github.com/firebase/php-jwt.git", + "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", - "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", + "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": " 4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "time": "2017-06-27T22:17:23+00:00" + }, + { + "name": "google/apiclient", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client.git", + "reference": "cd3c37998020d91ae4eafca4f26a92da4dabba83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/cd3c37998020d91ae4eafca4f26a92da4dabba83", + "reference": "cd3c37998020d91ae4eafca4f26a92da4dabba83", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0", + "google/apiclient-services": "~0.13", + "google/auth": "^1.0", + "guzzlehttp/guzzle": "~5.3.1||~6.0", + "guzzlehttp/psr7": "^1.2", + "monolog/monolog": "^1.17|^2.0", + "php": ">=5.4", + "phpseclib/phpseclib": "~0.3.10||~2.0" + }, + "require-dev": { + "cache/filesystem-adapter": "^0.3.2", + "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", + "phpcompatibility/php-compatibility": "^9.2", + "phpunit/phpunit": "~4.8.36", + "squizlabs/php_codesniffer": "~2.3", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1" + }, + "suggest": { + "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2019-09-11T17:38:10+00:00" + }, + { + "name": "google/apiclient-services", + "version": "v0.123", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client-services.git", + "reference": "a8c3c7563729ecb98a9ed66f675366527bcbad4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/a8c3c7563729ecb98a9ed66f675366527bcbad4d", + "reference": "a8c3c7563729ecb98a9ed66f675366527bcbad4d", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5" + }, + "type": "library", + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2020-01-19T00:24:13+00:00" + }, + { + "name": "google/auth", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-auth-library-php.git", + "reference": "45635ac69d0b95f38885531d4ebcdfcb2ebb6f36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/45635ac69d0b95f38885531d4ebcdfcb2ebb6f36", + "reference": "45635ac69d0b95f38885531d4ebcdfcb2ebb6f36", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0", + "guzzlehttp/guzzle": "~5.3.1|~6.0", + "guzzlehttp/psr7": "^1.2", + "php": ">=5.4", + "psr/cache": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "guzzlehttp/promises": "0.1.1|^1.3", + "phpseclib/phpseclib": "^2", + "phpunit/phpunit": "^4.8.36|^5.7", + "sebastian/comparator": ">=1.2.3" + }, + "suggest": { + "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "http://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ], + "time": "2019-10-29T20:13:04+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82", "shasum": "" }, "require": { @@ -1239,7 +1387,7 @@ "rest", "web service" ], - "time": "2019-12-07T18:20:45+00:00" + "time": "2019-12-23T11:57:10+00:00" }, { "name": "guzzlehttp/promises", @@ -1519,26 +1667,27 @@ }, { "name": "laravel/framework", - "version": "v6.7.0", + "version": "v6.12.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077" + "reference": "8e189a8dee7ff76bf50acb7e80aa1a36afaf54d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/ba4204f3a8b9672b6116398c165bd9c0c6eac077", - "reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077", + "url": "https://api.github.com/repos/laravel/framework/zipball/8e189a8dee7ff76bf50acb7e80aa1a36afaf54d4", + "reference": "8e189a8dee7ff76bf50acb7e80aa1a36afaf54d4", "shasum": "" }, "require": { "doctrine/inflector": "^1.1", "dragonmantank/cron-expression": "^2.0", "egulias/email-validator": "^2.1.10", - "erusev/parsedown": "^1.7", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", + "league/commonmark": "^1.1", + "league/commonmark-ext-table": "^2.1", "league/flysystem": "^1.0.8", "monolog/monolog": "^1.12|^2.0", "nesbot/carbon": "^2.0", @@ -1598,14 +1747,13 @@ "filp/whoops": "^2.4", "guzzlehttp/guzzle": "^6.3", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.2.3", + "mockery/mockery": "^1.3.1", "moontoast/math": "^1.1", "orchestra/testbench-core": "^4.0", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.3", + "phpunit/phpunit": "^7.5.15|^8.4|^9.0", "predis/predis": "^1.1.1", - "symfony/cache": "^4.3", - "true/punycode": "^2.1" + "symfony/cache": "^4.3.4" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", @@ -1623,6 +1771,7 @@ "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", @@ -1661,7 +1810,7 @@ "framework", "laravel" ], - "time": "2019-12-10T16:01:57+00:00" + "time": "2020-01-21T15:10:03+00:00" }, { "name": "laravel/helpers", @@ -1892,17 +2041,153 @@ "time": "2019-05-24T18:30:49+00:00" }, { - "name": "league/flysystem", - "version": "1.0.61", + "name": "league/commonmark", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9" + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "34cf4ddb3892c715ae785c880e6691d839cff88d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fb13c01784a6c9f165a351e996871488ca2d8c9", - "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/34cf4ddb3892c715ae785c880e6691d839cff88d", + "reference": "34cf4ddb3892c715ae785c880e6691d839cff88d", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1" + }, + "replace": { + "colinodell/commonmark-php": "*" + }, + "require-dev": { + "cebe/markdown": "~1.0", + "commonmark/commonmark.js": "0.29.1", + "erusev/parsedown": "~1.0", + "ext-json": "*", + "michelf/php-markdown": "~1.4", + "mikehaertl/php-shellcommand": "^1.4", + "phpstan/phpstan-shim": "^0.11.5", + "phpunit/phpunit": "^7.5", + "scrutinizer/ocular": "^1.5", + "symfony/finder": "^4.2" + }, + "suggest": { + "league/commonmark-extras": "Library of useful extensions including smart punctuation" + }, + "bin": [ + "bin/commonmark" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "PHP Markdown parser based on the CommonMark spec", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "markdown", + "parser" + ], + "time": "2020-01-16T01:18:13+00:00" + }, + { + "name": "league/commonmark-ext-table", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark-ext-table.git", + "reference": "3228888ea69636e855efcf6636ff8e6316933fe7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark-ext-table/zipball/3228888ea69636e855efcf6636ff8e6316933fe7", + "reference": "3228888ea69636e855efcf6636ff8e6316933fe7", + "shasum": "" + }, + "require": { + "league/commonmark": "~0.19.3|^1.0", + "php": "^7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "phpstan/phpstan": "~0.11", + "phpunit/phpunit": "^7.0|^8.0", + "symfony/var-dumper": "^4.0", + "vimeo/psalm": "^3.0" + }, + "type": "commonmark-extension", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\Ext\\Table\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Martin Hasoň", + "email": "martin.hason@gmail.com" + }, + { + "name": "Webuni s.r.o.", + "homepage": "https://www.webuni.cz" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Table extension for league/commonmark", + "homepage": "https://github.com/thephpleague/commonmark-ext-table", + "keywords": [ + "commonmark", + "extension", + "markdown", + "table" + ], + "time": "2019-09-26T13:28:33+00:00" + }, + { + "name": "league/flysystem", + "version": "1.0.63", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8132daec326565036bc8e8d1876f77ec183a7bd6", + "reference": "8132daec326565036bc8e8d1876f77ec183a7bd6", "shasum": "" }, "require": { @@ -1973,20 +2258,67 @@ "sftp", "storage" ], - "time": "2019-12-08T21:46:50+00:00" + "time": "2020-01-04T16:30:31+00:00" }, { - "name": "monolog/monolog", - "version": "2.0.1", + "name": "league/flysystem-cached-adapter", + "version": "1.0.9", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c" + "url": "https://github.com/thephpleague/flysystem-cached-adapter.git", + "reference": "08ef74e9be88100807a3b92cc9048a312bf01d6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9d56fd2f5533322caccdfcddbb56aedd622ef1c", - "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c", + "url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/08ef74e9be88100807a3b92cc9048a312bf01d6f", + "reference": "08ef74e9be88100807a3b92cc9048a312bf01d6f", + "shasum": "" + }, + "require": { + "league/flysystem": "~1.0", + "psr/cache": "^1.0.0" + }, + "require-dev": { + "mockery/mockery": "~0.9", + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7", + "predis/predis": "~1.0", + "tedivm/stash": "~0.12" + }, + "suggest": { + "ext-phpredis": "Pure C implemented extension for PHP" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Cached\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "frankdejonge", + "email": "info@frenky.net" + } + ], + "description": "An adapter decorator to enable meta-data caching.", + "time": "2018-07-09T20:51:04+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8", + "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8", "shasum": "" }, "require": { @@ -2054,20 +2386,110 @@ "logging", "psr-3" ], - "time": "2019-11-13T10:27:43+00:00" + "time": "2019-12-20T14:22:59+00:00" }, { - "name": "nesbot/carbon", - "version": "2.27.0", + "name": "nao-pon/flysystem-cached-extra", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "13b8485a8690f103bf19cba64879c218b102b726" + "url": "https://github.com/nao-pon/flysystem-cached-extra.git", + "reference": "189abdafa0a86d92781e148ee8740ef80f4c5859" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/13b8485a8690f103bf19cba64879c218b102b726", - "reference": "13b8485a8690f103bf19cba64879c218b102b726", + "url": "https://api.github.com/repos/nao-pon/flysystem-cached-extra/zipball/189abdafa0a86d92781e148ee8740ef80f4c5859", + "reference": "189abdafa0a86d92781e148ee8740ef80f4c5859", + "shasum": "" + }, + "require": { + "league/flysystem-cached-adapter": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hypweb\\Flysystem\\Cached\\Extra\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Naoki Sawada", + "email": "hypweb@gmail.com" + } + ], + "description": "Extra traits for Flysystem cached adapter", + "time": "2018-02-16T01:44:38+00:00" + }, + { + "name": "nao-pon/flysystem-google-drive", + "version": "1.1.11", + "source": { + "type": "git", + "url": "https://github.com/nao-pon/flysystem-google-drive.git", + "reference": "b99f4f8c1a344937984082a00f5bb33075c8410d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nao-pon/flysystem-google-drive/zipball/b99f4f8c1a344937984082a00f5bb33075c8410d", + "reference": "b99f4f8c1a344937984082a00f5bb33075c8410d", + "shasum": "" + }, + "require": { + "google/apiclient": "^2.0", + "league/flysystem": "~1.0", + "nao-pon/flysystem-cached-extra": "~1.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-api_v2": "1.0.x-dev", + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hypweb\\Flysystem\\GoogleDrive\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Naoki Sawada", + "email": "hypweb@gmail.com" + } + ], + "description": "Flysystem adapter for Google Drive", + "time": "2019-05-03T07:49:07+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.29.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e509be5bf2d703390e69e14496d9a1168452b0a2", + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2", "shasum": "" }, "require": { @@ -2078,7 +2500,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", + "phpmd/phpmd": "^2.8", "phpstan/phpstan": "^0.11", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" @@ -2124,7 +2546,7 @@ "datetime", "time" ], - "time": "2019-11-20T06:59:06+00:00" + "time": "2020-01-21T09:36:43+00:00" }, { "name": "nexmo/client", @@ -2651,16 +3073,16 @@ }, { "name": "php-http/httplug", - "version": "v2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "b3842537338c949f2469557ef4ad4bdc47b58603" + "reference": "72d2b129a48f0490d55b7f89be0d6aa0597ffb06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/b3842537338c949f2469557ef4ad4bdc47b58603", - "reference": "b3842537338c949f2469557ef4ad4bdc47b58603", + "url": "https://api.github.com/repos/php-http/httplug/zipball/72d2b129a48f0490d55b7f89be0d6aa0597ffb06", + "reference": "72d2b129a48f0490d55b7f89be0d6aa0597ffb06", "shasum": "" }, "require": { @@ -2670,13 +3092,13 @@ "psr/http-message": "^1.0" }, "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" + "friends-of-phpspec/phpspec-code-coverage": "^4.1", + "phpspec/phpspec": "^4.3.4|^5.0|^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2704,7 +3126,7 @@ "client", "http" ], - "time": "2018-10-31T09:14:44+00:00" + "time": "2019-12-27T10:07:11+00:00" }, { "name": "php-http/promise", @@ -2758,28 +3180,29 @@ }, { "name": "phpoption/phpoption", - "version": "1.6.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c" + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/a8593bf5176bf3d3f2966942c530be19b44ec87c", - "reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", + "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.3", "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -2808,7 +3231,145 @@ "php", "type" ], - "time": "2019-12-11T13:45:14+00:00" + "time": "2019-12-15T19:35:24+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.23", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099", + "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2019-09-17T03:41:22+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", @@ -3221,22 +3782,22 @@ }, { "name": "ramsey/uuid", - "version": "3.9.1", + "version": "3.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67" + "reference": "7779489a47d443f845271badbdcedfe4df8e06fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/7779489a47d443f845271badbdcedfe4df8e06fb", + "reference": "7779489a47d443f845271badbdcedfe4df8e06fb", "shasum": "" }, "require": { "ext-json": "*", "paragonie/random_compat": "^1 | ^2 | 9.99.99", - "php": "^5.4 | ^7", + "php": "^5.4 | ^7 | ^8", "symfony/polyfill-ctype": "^1.8" }, "replace": { @@ -3246,13 +3807,13 @@ "codeception/aspect-mock": "^1 | ^2", "doctrine/annotations": "^1.2", "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", + "jakub-onderka/php-parallel-lint": "^1", + "mockery/mockery": "^0.9.11 | ^1", "moontoast/math": "^1.1", "paragonie/random-lib": "^2", "php-mock/php-mock-phpunit": "^0.3 | ^1.1", "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", - "squizlabs/php_codesniffer": "^2.3" + "squizlabs/php_codesniffer": "^3.5" }, "suggest": { "ext-ctype": "Provides support for PHP Ctype functions", @@ -3304,7 +3865,7 @@ "identifier", "uuid" ], - "time": "2019-12-01T04:55:27+00:00" + "time": "2019-12-17T08:18:51+00:00" }, { "name": "sabberworm/php-css-parser", @@ -3402,16 +3963,16 @@ }, { "name": "seld/phar-utils", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + "reference": "84715761c35808076b00908a20317a3a8a67d17e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/84715761c35808076b00908a20317a3a8a67d17e", + "reference": "84715761c35808076b00908a20317a3a8a67d17e", "shasum": "" }, "require": { @@ -3442,7 +4003,7 @@ "keywords": [ "phra" ], - "time": "2015-10-13T18:44:15+00:00" + "time": "2020-01-13T10:41:09+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -3508,16 +4069,16 @@ }, { "name": "symfony/console", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" + "reference": "e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", + "url": "https://api.github.com/repos/symfony/console/zipball/e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f", + "reference": "e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f", "shasum": "" }, "require": { @@ -3580,20 +4141,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-12-01T10:06:17+00:00" + "time": "2020-01-10T21:54:01+00:00" }, { "name": "symfony/css-selector", - "version": "v5.0.1", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837" + "reference": "ff60c90cb7950b592ebc84ad1289d0345bf24f9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/19d29e7098b7b2c3313cb03902ca30f100dcb837", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ff60c90cb7950b592ebc84ad1289d0345bf24f9f", + "reference": "ff60c90cb7950b592ebc84ad1289d0345bf24f9f", "shasum": "" }, "require": { @@ -3633,20 +4194,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" + "time": "2020-01-04T14:08:26+00:00" }, { "name": "symfony/debug", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e" + "reference": "89c3fd5c299b940333bc6fe9f1b8db1b0912c759" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b8600a1d7d20b0e80906398bb1f50612fa074a8e", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e", + "url": "https://api.github.com/repos/symfony/debug/zipball/89c3fd5c299b940333bc6fe9f1b8db1b0912c759", + "reference": "89c3fd5c299b940333bc6fe9f1b8db1b0912c759", "shasum": "" }, "require": { @@ -3689,20 +4250,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" + "time": "2020-01-08T17:29:02+00:00" }, { "name": "symfony/error-handler", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b" + "reference": "a59789092e40ad08465dc2cdc55651be503d0d5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/a59789092e40ad08465dc2cdc55651be503d0d5a", + "reference": "a59789092e40ad08465dc2cdc55651be503d0d5a", "shasum": "" }, "require": { @@ -3745,20 +4306,20 @@ ], "description": "Symfony ErrorHandler Component", "homepage": "https://symfony.com", - "time": "2019-12-01T08:46:01+00:00" + "time": "2020-01-08T17:29:02+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f" + "reference": "9e3de195e5bc301704dd6915df55892f6dfc208b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b3c3068a72623287550fe20b84a2b01dcba2686f", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9e3de195e5bc301704dd6915df55892f6dfc208b", + "reference": "9e3de195e5bc301704dd6915df55892f6dfc208b", "shasum": "" }, "require": { @@ -3815,7 +4376,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" + "time": "2020-01-10T21:54:01+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3877,16 +4438,16 @@ }, { "name": "symfony/filesystem", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "40c2606131d56eff6f193b6e2ceb92414653b591" + "reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/40c2606131d56eff6f193b6e2ceb92414653b591", - "reference": "40c2606131d56eff6f193b6e2ceb92414653b591", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/266c9540b475f26122b61ef8b23dd9198f5d1cfd", + "reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd", "shasum": "" }, "require": { @@ -3923,20 +4484,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-11-26T23:16:41+00:00" + "time": "2020-01-21T08:20:44+00:00" }, { "name": "symfony/finder", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e" + "reference": "3a50be43515590faf812fbd7708200aabc327ec3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e", + "url": "https://api.github.com/repos/symfony/finder/zipball/3a50be43515590faf812fbd7708200aabc327ec3", + "reference": "3a50be43515590faf812fbd7708200aabc327ec3", "shasum": "" }, "require": { @@ -3972,20 +4533,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-11-17T21:56:56+00:00" + "time": "2020-01-04T13:00:46+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5" + "reference": "c33998709f3fe9b8e27e0277535b07fbf6fde37a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8bccc59e61b41963d14c3dbdb23181e5c932a1d5", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c33998709f3fe9b8e27e0277535b07fbf6fde37a", + "reference": "c33998709f3fe9b8e27e0277535b07fbf6fde37a", "shasum": "" }, "require": { @@ -4027,20 +4588,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" + "time": "2020-01-04T13:00:46+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88" + "reference": "16f2aa3c54b08483fba5375938f60b1ff83b6bd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e4187780ed26129ee86d5234afbebf085e144f88", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/16f2aa3c54b08483fba5375938f60b1ff83b6bd2", + "reference": "16f2aa3c54b08483fba5375938f60b1ff83b6bd2", "shasum": "" }, "require": { @@ -4117,20 +4678,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-12-01T14:06:38+00:00" + "time": "2020-01-21T13:23:17+00:00" }, { "name": "symfony/mime", - "version": "v5.0.1", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "0e6a4ced216e49d457eddcefb61132173a876d79" + "reference": "2a3c7fee1f1a0961fa9cf360d5da553d05095e59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/0e6a4ced216e49d457eddcefb61132173a876d79", - "reference": "0e6a4ced216e49d457eddcefb61132173a876d79", + "url": "https://api.github.com/repos/symfony/mime/zipball/2a3c7fee1f1a0961fa9cf360d5da553d05095e59", + "reference": "2a3c7fee1f1a0961fa9cf360d5da553d05095e59", "shasum": "" }, "require": { @@ -4179,7 +4740,7 @@ "mime", "mime-type" ], - "time": "2019-11-30T14:12:50+00:00" + "time": "2020-01-04T14:08:26+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4534,16 +5095,16 @@ }, { "name": "symfony/process", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726" + "reference": "f5697ab4cb14a5deed7473819e63141bf5352c36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/51c0135ef3f44c5803b33dc60e96bf4f77752726", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726", + "url": "https://api.github.com/repos/symfony/process/zipball/f5697ab4cb14a5deed7473819e63141bf5352c36", + "reference": "f5697ab4cb14a5deed7473819e63141bf5352c36", "shasum": "" }, "require": { @@ -4579,20 +5140,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" + "time": "2020-01-09T09:50:08+00:00" }, { "name": "symfony/routing", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273" + "reference": "7bf4e38573728e317b926ca4482ad30470d0e86a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/51f3f20ad29329a0bdf5c0e2f722d3764b065273", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273", + "url": "https://api.github.com/repos/symfony/routing/zipball/7bf4e38573728e317b926ca4482ad30470d0e86a", + "reference": "7bf4e38573728e317b926ca4482ad30470d0e86a", "shasum": "" }, "require": { @@ -4655,7 +5216,7 @@ "uri", "url" ], - "time": "2019-12-01T08:39:58+00:00" + "time": "2020-01-08T17:29:02+00:00" }, { "name": "symfony/service-contracts", @@ -4717,16 +5278,16 @@ }, { "name": "symfony/translation", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40" + "reference": "f5d2ac46930238b30a9c2f1b17c905f3697d808c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40", + "url": "https://api.github.com/repos/symfony/translation/zipball/f5d2ac46930238b30a9c2f1b17c905f3697d808c", + "reference": "f5d2ac46930238b30a9c2f1b17c905f3697d808c", "shasum": "" }, "require": { @@ -4789,7 +5350,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-11-12T17:18:47+00:00" + "time": "2020-01-15T13:29:06+00:00" }, { "name": "symfony/translation-contracts", @@ -4850,16 +5411,16 @@ }, { "name": "symfony/var-dumper", - "version": "v4.4.1", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a" + "reference": "7cfa470bc3b1887a7b2a47c0a702a84ad614fa92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0a89a1dbbedd9fb2cfb2336556dec8305273c19a", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7cfa470bc3b1887a7b2a47c0a702a84ad614fa92", + "reference": "7cfa470bc3b1887a7b2a47c0a702a84ad614fa92", "shasum": "" }, "require": { @@ -4922,7 +5483,7 @@ "debug", "dump" ], - "time": "2019-11-28T13:33:56+00:00" + "time": "2020-01-04T13:00:46+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -5095,6 +5656,7 @@ "psr", "psr-7" ], + "abandoned": "laminas/laminas-diactoros", "time": "2019-11-13T19:16:13+00:00" } ], @@ -5155,78 +5717,18 @@ ], "time": "2019-10-21T16:45:58+00:00" }, - { - "name": "facebook/webdriver", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "e43de70f3c7166169d0f14a374505392734160e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/e43de70f3c7166169d0f14a374505392734160e5", - "reference": "e43de70f3c7166169d0f14a374505392734160e5", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-zip": "*", - "php": "^5.6 || ~7.0", - "symfony/process": "^2.8 || ^3.1 || ^4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "php-coveralls/php-coveralls": "^2.0", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "^5.7", - "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", - "squizlabs/php_codesniffer": "^2.6", - "symfony/var-dumper": "^3.3 || ^4.0" - }, - "suggest": { - "ext-SimpleXML": "For Firefox profile creation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-community": "1.5-dev" - } - }, - "autoload": { - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A PHP client for Selenium WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "time": "2019-06-13T08:02:18+00:00" - }, { "name": "filp/whoops", - "version": "2.5.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96" + "reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96", + "url": "https://api.github.com/repos/filp/whoops/zipball/fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", + "reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", "shasum": "" }, "require": { @@ -5235,8 +5737,8 @@ }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -5245,7 +5747,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -5260,8 +5762,8 @@ "authors": [ { "name": "Filipe Dobreira", - "role": "Developer", - "homepage": "https://github.com/filp" + "homepage": "https://github.com/filp", + "role": "Developer" } ], "description": "php error handling for cool kids", @@ -5274,20 +5776,20 @@ "throwable", "whoops" ], - "time": "2019-08-07T09:00:00+00:00" + "time": "2020-01-15T10:00:00+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.9.0", + "version": "v1.9.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d" + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/27a216cbe72327b2d6369fab721a5843be71e57d", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", + "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", "shasum": "" }, "require": { @@ -5300,7 +5802,9 @@ }, "type": "library", "extra": { - "branch-alias": [] + "branch-alias": { + "dev-master": "1.9-dev" + } }, "autoload": { "psr-4": { @@ -5322,7 +5826,7 @@ "faker", "fixtures" ], - "time": "2019-11-14T13:13:06+00:00" + "time": "2019-12-12T13:22:17+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -5374,26 +5878,26 @@ }, { "name": "laravel/dusk", - "version": "v5.6.3", + "version": "v5.8.2", "source": { "type": "git", "url": "https://github.com/laravel/dusk.git", - "reference": "c342e3e802607d0ca081b6b8021811e218b5fe5d" + "reference": "c95d70b5fff000c54a9186c2011b236592fcf948" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/dusk/zipball/c342e3e802607d0ca081b6b8021811e218b5fe5d", - "reference": "c342e3e802607d0ca081b6b8021811e218b5fe5d", + "url": "https://api.github.com/repos/laravel/dusk/zipball/c95d70b5fff000c54a9186c2011b236592fcf948", + "reference": "c95d70b5fff000c54a9186c2011b236592fcf948", "shasum": "" }, "require": { "ext-json": "*", "ext-zip": "*", - "facebook/webdriver": "^1.7", "illuminate/console": "~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/support": "~5.7.0|~5.8.0|^6.0|^7.0", "nesbot/carbon": "^1.20|^2.0", "php": ">=7.1.0", + "php-webdriver/webdriver": "^1.7", "symfony/console": "^4.0|^5.0", "symfony/finder": "^4.0|^5.0", "symfony/process": "^4.0|^5.0", @@ -5438,27 +5942,26 @@ "testing", "webdriver" ], - "time": "2019-12-03T21:07:05+00:00" + "time": "2020-01-21T20:57:39+00:00" }, { "name": "mockery/mockery", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66" + "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/5571962a4f733fbb57bede39778f71647fae8e66", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66", + "url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", + "reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "~2.0", "lib-pcre": ">=7.0", - "php": ">=5.6.0", - "sebastian/comparator": "^1.2.4|^3.0" + "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" @@ -5466,7 +5969,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -5504,20 +6007,20 @@ "test double", "testing" ], - "time": "2019-11-24T07:54:50+00:00" + "time": "2019-12-26T09:49:15+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.3", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", "shasum": "" }, "require": { @@ -5552,7 +6055,7 @@ "object", "object graph" ], - "time": "2019-08-09T12:45:53+00:00" + "time": "2020-01-17T21:11:47+00:00" }, { "name": "nunomaduro/collision", @@ -5720,6 +6223,66 @@ "description": "Library for handling version information and constraints", "time": "2018-07-08T19:19:57+00:00" }, + { + "name": "php-webdriver/webdriver", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/php-webdriver/php-webdriver.git", + "reference": "e43de70f3c7166169d0f14a374505392734160e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/e43de70f3c7166169d0f14a374505392734160e5", + "reference": "e43de70f3c7166169d0f14a374505392734160e5", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2019-06-13T08:02:18+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "2.0.0", @@ -5774,16 +6337,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "shasum": "" }, "require": { @@ -5795,6 +6358,7 @@ "require-dev": { "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", + "phpdocumentor/type-resolver": "0.4.*", "phpunit/phpunit": "^6.4" }, "type": "library", @@ -5821,7 +6385,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-09-12T14:27:41+00:00" + "time": "2019-12-28T18:55:12+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -5872,33 +6436,33 @@ }, { "name": "phpspec/prophecy", - "version": "1.9.0", + "version": "v1.10.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9", + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -5931,7 +6495,7 @@ "spy", "stub" ], - "time": "2019-10-03T11:07:50+00:00" + "time": "2020-01-20T15:57:02+00:00" }, { "name": "phpunit/php-code-coverage", @@ -6187,16 +6751,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.18", + "version": "7.5.20", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fcf6c4bfafaadc07785528b06385cce88935474d" + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fcf6c4bfafaadc07785528b06385cce88935474d", - "reference": "fcf6c4bfafaadc07785528b06385cce88935474d", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", "shasum": "" }, "require": { @@ -6267,7 +6831,7 @@ "testing", "xunit" ], - "time": "2019-12-06T05:14:37+00:00" + "time": "2020-01-08T08:45:45+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", diff --git a/config/app.php b/config/app.php index 5bc7a0ae..2df0d0a4 100644 --- a/config/app.php +++ b/config/app.php @@ -173,6 +173,7 @@ return [ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, + App\Providers\GoogleDriveServiceProvider::class, ], diff --git a/config/filesystems.php b/config/filesystems.php index 77fa5ded..0c492a36 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -64,6 +64,15 @@ return [ 'url' => env('AWS_URL'), ], + 'google' => [ + 'driver' => 'google', + 'clientId' => '', + 'clientSecret' => '', + 'refreshToken' => '', + 'folderId' => '', + // 'teamDriveId' => env('GOOGLE_DRIVE_TEAM_DRIVE_ID'), + ], + ], ]; diff --git a/database/seeds/ConfigsTableSeeder.php b/database/seeds/ConfigsTableSeeder.php index 1c0292b0..091dfc38 100644 --- a/database/seeds/ConfigsTableSeeder.php +++ b/database/seeds/ConfigsTableSeeder.php @@ -231,6 +231,26 @@ class ConfigsTableSeeder extends Seeder 'name' => 'cadet_list', 'state' => 0, 'data' => '["#"]' + ], + [ + 'name' => 'GOOGLE_DRIVE_CLIENT_ID', + 'state' => 0, + 'data' => '["'.\Crypt::encryptString('').'"]' + ], + [ + 'name' => 'GOOGLE_DRIVE_CLIENT_SECRET', + 'state' => 0, + 'data' => '["'.\Crypt::encryptString('').'"]' + ], + [ + 'name' => 'GOOGLE_DRIVE_REFRESH_TOKEN', + 'state' => 0, + 'data' => '["'.\Crypt::encryptString('').'"]' + ], + [ + 'name' => 'GOOGLE_DRIVE_FOLDER_ID', + 'state' => 0, + 'data' => '["'.\Crypt::encryptString('null').'"]' ] ]; diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..4e8daed8b79ea08d11cf8fad9e9d8b26b2d4d548 GIT binary patch literal 4042 zcmY*cX*iT^{~p}K46+tdF_uX7Y?Cd6A+j%pu}o#(TQrs|-ST)+iONzDT5MyTFc^dT zkt|u0Wtxn69%TzdgvT=e`oG8f;r(zezw=57%*=_Z;jj5AjO!!eFpNR_D!~ z4$k)93&DM`JADo1fx!ebt;{hl(RoYxaWy`!QC;U`GDJ)wyyZ<${8%0#Q?a@*q0DIbm`11fbMwHe8Cw;ELwZtL`4h3xZtho;KJtl^(8fJkR|(NdSVG%Em}= zHp%qtZFlJtmIr;7r#B7SZVY^xC5#2k>`YN-7pWT_v*bZqTs0gc1h~qfJ!{$s24FiJ z@&g~mlI0MmEj4^robLd9RJtgTCA(!lvn#UepuwChMwJ4PCK#s5QDa;4nc{_U&$9!zqvpPBcIy1pxP{^kYDZ?ADGzo)0()+9QkO$Y&9}n8>HhVF4}^unXQ5OEy5n zD(o!ARN^hgIZ#krEZGPVYZ3V;-YjRJS_OaQno6l2s6G?P7T&Y2sU}E+C~?p^Hjjkw@e2X8^BybFp8$8R>tl#rY8$fa}p3ggvSi1Lr+$fg+6mb zXU`hP*%iN_?i>N0$kJCD>hZHV`1{N##vUJt6uw;r%;tph%=d#_EjtpxRavxE!^5Hn zuneYqr$rMA3nZepW<~N7%{P(7F`Ig&N+8zH5c{rV-%XL)JJflyZXW?%!}{o*=cn~9 z=tI|`3eM`C$+QFeJ_rG&(#ace>4B;kKjCqH5sOH-`*KuN@0kDiR|T|Q^&wDFCc3Kg*&pynh$``xGhOup;uYm+*wgxd1#i@CcB{-? zYVeA9!gQVVRxgzSaUUW}FVjBHIfKuGry=7GVFwYM^klhk$d4KGUz-&Wb# zQ3@M(Q*rxyaaY6;h4!kk$L*wxc`7xwb^N&9^2HJHHKU(Sh?g<1b*wTKAx1uY(TJqgO{X*toMcRkxZDjT&v+rx5!TNajMOmLZrzG_1CEjl*v!l- zD@1X3F)t%MCoOzc>Pg`hU-dupTY1(g?BO^=Fim*(9&;YZQ-|j-7)fC|5q24GPpsZD zjxZ{j0LE>63k0YqhH%MX4CAUWx=>q;)KYJ%(GjP@$>Yms$q<;U3^{U-{QMqs5jZ~N zOaWNGq*B{6fxIE-7x3y;spNKH=#gloxw?^RblIi^kd6pH-!4pDFD37B1ppCtzwfpY zJ3Is3B$;S~S2=3G8WNcg@GqN*Q=|52TJ5%$8mLAsj(`eJMuVV;Ne!8)5D{>5Xz6!_ zxdlrgaN4=QHC_taEHnew;1O!8+q31(b$^u2sauo2yFenH+?0QWTI@DndGuc5gMvuO z-x&uF#Ik%pifZ9nn;-np6M=MSg+_8{S9k&H&gN9&<0Mvk^EiC{&39R2U)aRc1}qYEb%R9uZdK% zZ`UM#>T<d^;TH}n81y!)koicKmotH{iC4J0$UuoEip=r#`v z;=|n?H-l6_b$gB6O{BNeQ2dNMGtV`Uh_}M%zEIy{A(!jzR$j?2kGcVE`QL&zq~Q!A zGRR4n&rZ4h;s~%`c<&<=emKwb{Y0bei&VjG@AJwA#){EqsmZZK{66P0;VP$qN5fco z>J`+p{9>fq0@K^T_1eI2pJhNd<3d`@VCGWR(Zjnh7WwDne5VF3RC=pznWiQ;J6|-d zn{HuGf2~HU|8;I**n$iE(cC!IR{Fk~i)xVv(m)&578c#oa4uV5x)R5Lw!fS z)nX-N>8xw3H=NCRdjI$};jSaA3ni#yyUBu}n6cUC62(0k=XBG|^Lo z&LsjKFRy+T?|u265yr9*kD?FS@oQdMSp)RPA2#p~IOFyzthQr{651XFpPOejA79fu zmG9&*8F+b9%D73hn6LG@$!zm*&0NKaxhAR75`KEXcPVpH1rErVVo%D@z3czDK)Rn-W#CkLy0C|J< zp~+ZMvL5wo&NkAa&_s^$W>pd{9fhf1q@K%3*}h?HB`G4cgdJfd=#gDxM6q9Ga5(>sJxc7UbX z9&r-f7x$Dwze03P`CN2blj(F(bdg>X*)?4Wf*fOxCz@n)*GdaqNPS)@L;JgOK-9k{ zSgq2gaJ9%m*yALcNcXwZ;Tti*cqo_>JKRC)z)fEI@N_h|*->*}aMa!mq&MH%)&!ZI zr1INQL=lnTs+U=+Lt>ZSdSBG|n*r#H^V+`A0dKf`&<&yu46>9TUrG5iqDDLVtAmfQ z+kl#|kGzL>=FAsJk;lO(R*{iq15+Y^oS)h>74@xB5uSMRQROf=?Mr-bAgWG0-SH(Whd-AMffZuX`1yBiufT1>Uv@Cmro8lV6rbZmv9n4;jq13TOr^TUu>9< zYP4%`9;CMyY3s;uDZb5EDOd5u5#=&3mU`LqGGwX^&$-GFZCc$N{my8Y7a;6@ZS?nM zQjd3urOgDN*FBcYTDq@>C`K|)PUN=Z@0O4HyWgv9VkFF^;iaK6a1_aJT`CzSl6Nw9 zW+|};l`GeX%VrJ7C7FH?EWzh9fr!KlA`t(9ILBE@2M94j;P zbt$H`-VS>4ZnpdH-Q~fP;IA|-?y`{Ap>#IzbMqm- zKj2d~_!_g+sZVdkgRgXK3EN6T{X%oC_6G~@pn5ssnHiPp1mj|fAc%E
p^j#o9pN_uYzTbiDMHf*o$ejjQN8pheVr?tQTH6fKQJ8}6QuB_A`|o+R0~Ck58;iD{l_h zRB(@pd$8HpAwgfh+ad6_Y*q8Hf#rFx`%AHqON4Zw3djN3D_{TF1rU(jerIjZDYz+Y z6*6tXku$bvRiVD#<0X4i%JAyEZ;9dvHkvZ{Sfwxe&J6-*v_j~Hkg)1f zLKgFhdqMWcgse1ub8UII+;IWSqwX_;4|H-nz%a@D?27TZI^TzjWkzTE(X_Iq%B4x! zE$39-K4H%{!}DX4s<&dTUyoD<=&*18SaT&Cz}=QJD7dp#FPKYuo^l{Dhb^2jD1F+fQ2HyK}^Z%@nCSnM*B8kKZ2$%6iX*Edto^`)D3?jt0SjIJ$5(gowgn96 zH`B0P`S-wQX7_3Ol<r7S~b{u4yYKA8laY!7Agt`@KxCf509DvK`>U!Ly$*#SQ8V_RH?@Y z5=4+!K$0MVK$HXoj6iKcs~FrNfFOylf;$Lk*$@dP+#U3s@4NTA{iFPm{aZ6@)~s2q zwPwxCnO%W9mwdYNQvd*#fPUL|1Ar+CO@U7qpdaMNZXE!uS_*F8viHZL(ZTcwExqBr zZ?z5T8ve|qTzmHV=gU1=e(kO%rs==(A*GOT04K>uUt$f)++&Vk9X!EvUVYtx%5dzf0> zvF4aTHsU$FZ@6f%vE^tLs?6M9hBAiitX~YY{<04MXzN5m0!0@JWXzWcV*?`qsjG;g$f0HCjlGHDjv3`m6O*{lr!%|2?CfrYL#Oes_)spglG2a8$X0<`ZeKQ`Ch ze>NK(49PzQ{10U<%HWy;troA7-!;zzS{F!!Bj$~$q*#R<3#@w8dPf~(0?fAF z=Kz3GNhZ;47GY+i)&IWfg^BvrWt-o})d z6j-|fAu=pB#b-W{VJ8*(WP3j_fBijt-7G_?dAizY{gB;N^jO_epBqO79ZLa91>5Y2 z(PW@Va{_rr_?J1q<8y#g&SnqHwZditsAVjAgx+hIA@WN;*m*z{{IqoHgCN~6h%F)6 zm6)|2NI?ble-va1Wln6Bxe|JSuJc%I zUY_~0#NLWwbgteulU1$+3?RNnnS75t8vyrnOBMkk{uoSx2Y=WUuy`aikaS(6)%%0w z3xNkUY_o=DDA^RKJ4`m`nGXa`besUbRR~qZtke9I#ICe3di-TbsOlHGRB+8!kNs+! zcvKfUbjh36yNiBd2zk}kGOeB0_n3@5nZ@VEVBtHdcHwy?6_rxq(eo*fO!^*g%52*S z$v5O;u|3L5B~_IYp*CKRGr0f>BhuT--jpG3*5zb^2lHA@wJTBncs*4)zV8hy!QW?% zuO(HvCvEd`)fHCHwv@!uni`}Cca=PN{lyGnjlLQf?3>8A>8QWee3&J6htc)6okX!Jy^_>i16m_?mH0hw^A9pwZ?lbIFx}VsB@eM{*a@f3)Rmawz zu_+0wWH%lk_-Q7(o@(Rt^6GpX8%yvxiM37+YpmYTbIduYn|S|_XwJP4-|gx8KO#i=@vBYx;!N* z{pH0pJr~7cLT)53QhH>?TVOa1D!L>CJDnu&19}90k@1D>6+Mp6A=B9SH+Ub4^gs!dS(HlRw`X77UAs~a#0ks>If{w1PJmc!@wd6o_+ z)Yw){s`v_tk!y$qHrUFpkY+Cb6)Gdk2(mH~11Ui~%)~2jaT=&*Fy9aXY(SS8-d~9{ zn2OiJD3bmkB+?Ya=fnHUw7iyoW(35L<*#VTc`lj>h5FOhp%if=Y520?TVTUlStH3Z z_kSZaw-u|N@{^k!^yh&%G#jxng||{D>0cX3iV-Uz^@3Ib-{Tlu{eO^D$bhV5DY;{$ zbSt2+M`+lKDU_u&SqfT~WORhel<=?a16Tj_Oqfq4dd;Pge+YrcZtvM|F|B4jA6 zZl~NpJWSU8M41eLm+bd^)L`s7kRpajqTE@nx%e6)a7DMSFkm^6uE?`?)H?%-`-%xfzcOsoS%na*bp3Vhw)(hrMT<5FqWIi| zwYXKLD(CvdkG9Bj<6`#^_#2-J zvyPW)9@lDvTrhbEzT^8MH)0}ry?xhutKJ;Gx!L((dZ)ZC-*-4JBIvUBV)qDii1bYR zA26)V=sZm3-Z()Bt!g4LS4UqP3#gr5D_u65#63uASrpgvYhmAvV%&|7#m--{n=T4M zo#j9rZGL3m14FE?SitfAhkGC__0FZFR$V{w&uDT(r=(0TMVbR_nO{a1L9xtFMVi>i zmE32Bx|i#kuXsr1fi3FmQ0B?@wX&WprO?I7Cgiii{%NXmrvk%1{fbBz*~E^mC$`wc zp+;Rqii?M}n<| zA<5NO0^&X3J6i_OX7lfhdddj~ZA49w&;3UaL-FH8pMjNVjS`pA4BBA(S@1WkpSwb) zt1`Tz$w!aGhzR#e&JMLya2q^Cntyl3qrYW{Nm)Qc6Zg=9j>D5JPMf5ZNw=AE2Xx0A z9tm$x+&zUHgpc|W6X>v3y|aoQLBAz|Z?BcLYqPCukr@Z6u-AGMtAVFJ@U@#$O?ok_ zg3t4LE@j?@uS031+EFI2sg z+kFbH&!RoS)L6!+F0H{8YW;HD@m7asSAuo(D_W7{5fsa?6lqG3jiMtD9-^T^U!=!U zbb}5`VZ5K~ugjRh^v!9?wvghnPI!Hz-^AIBf{L+p6ERtzh1pdW1dlW;4knjSCY^ETvg>=*ezl_$5@Et9?OaVy zCfY--(j|+ycMKrEBgz8aLMW|ui-?-y-@D%Ehj~$cJ~u)!jHV_qE2#EhukiL4dPD5W z+Q$-M3)i}DA$@A=!CaO+Tr*X>H+9{He$=m-B}gCgHA|!kg|$VcqlP*ycEM52n9Z?s z0+zOt*Rf;3Q6`Xctn*$juNP)js4KPWHAH%%rDlwh3TIrOX5co@*jvOg-Y3M6_H_T@ z3Z$)b$wancZjX3*{y6oxkbXXePi8t1TFX@Qhxx~EvWEw{uO7*IKT-VdX0%(XR({57 zdCtL^bdjdOO*Lxi`Qz>FTq+&sT*KbdvzXtjjDg>Fr4eiYP(Uxr*7rPig4osTEfVQY zl42-!numl$pG)0Ph^&r1x1-1!bEE>Hvi#|*+}k}1(UKwxf78tjqMhBXiraJwVSB%jZU8hYkQ}9A3vum-4tduztO)>Eat1j9bIpxwGi}U z)M`0NRF{uk5PpAhM^AoFNc3Qu-bVXK*Bi2r-X;Ap$h`V`I@HF9l{p&YE;j)$eR1J50LNB;>R<8-YIJI`QOxgMjq(8AB4C3 zx^jey$tk7vF$>LOnJTy$hU(xd%^%s!o zKG{!|B8RS3MSOpxGSfaH(>0(aOBeIIR7yvy48^jmHM(18dX!6Wx6bwqEV8F&atGU* zuW{`|gA1WH-nH6zvEWkt$!}iyjFmg2ye{bHA-rq%OQHhSKH;zFQFr1tw|I`^6OPnT zm9dItPA)lC`VG4hIsg~KnO{5&K-NaWN%&P7%Xpebn+&Yyz^_h_eK zw|d4L&bjOz7HmrZIrxBZU0nDn%A_NFhJ%m!C2~5e_{eTdjvWZ$`SNZu7<3sOnd`kL z*p3j2a+7ub;b=NvOE`cMU6ulQw-Tm7cn~d?LYs&%n1hG=peXn&sgN5GRD=h2BC&8? ziqtcIGswYy#XMa@rT>X?OOO>!hv9oDcNY}(N+=at@*H+?cxJjGw1bZGzlsMLx!ztL zwggnG(J*r1#_5w5*2Xd@Ol2LML(3v(oc{$pn5^wbt_+|K zP>;3W#^Lc93A)7>UeTV~ftstxmCenR)ByTLl(=~xuA}c3X@0=4zXBm@(=&-=B+w&d$Rv{uvLJrykLCY0ok_ z_&=Imk`~@9XItjsW4gU1@1CVU|2&b2F@Ps* zG-D&Phl`dN{cQlqkw{tY%=Z1)rVD3LPYfO6zQ+mKCOP;RC13t0TPjosnU~-}$Jb@Z z3YLU2`5SIA4-dw|g^DOG&vW@MkkjPCq{!_FVh(oRAHv}&&QH%t-cI6lQ>U|M(d>N(2J`Ss22m4ltfox< z8*7n)kGW+C*DYQZG2!r&9e6)&6LTtQD`wGFj^r&Ag^P+N+XT8|LCC(@gV~;Rf-;$l zbNUAerRnOC$L-dhA?rB2+&u658+Xy4`Eh!}bcI6lGqFD&pt*EeL(VbY~8AU7<{Nc!lJ1c+)x^61uI!Go+NmJ450+S8u165jg@! zra=6)ND~0>a70s$mm+GRqf%HiPBS5Krp9Anx1W~0qS=x-X->>Y@p^c^GuU(!32pmU zDjWx0<3Wf#lLxzt^SOz^ezn?fYh77TNdb=+wz@UeA5)9DnV!g`H7WoPr8Q_BdZwQ*I?evd`P5*Us!)6y*q|sqF z%mWXm9Hh(50%6+0i;`y$V^!h>%48xv=b}UgF|5RF)M1fG+ZeY&j!Kb1NEIjfQIlZ8 z;*DGBX4#U55W{jE>Yu)Jw`@s)cebi7W1&d-l=rsUh?PQw#Lo zkLO_p>MyBsGUiK#9u*!q@U4oYI-8L}No`~=@!KsJQ81P+?P>cKAJYaguwB{6X?)BT zh_R%rj50~1Cv)7x3{0QIdhCX^pxY%?SjIp7683Tg&aw)?5iRAvk{tjGsuTRi*S7vU zMH~Yblp+zP=xv3r1ZlT}U$Iup@&L!~wjn$CXNd8McsJZhf|B^!r8GWNn8$lT9Jg&H zN`+pKRX&eBvmYkR3#p_`ntS#AipTY!nxP{^nkBfn?>N|zdc@kadM^g$Tr)R}@8Jq| zJ}b1XhRxb)B1agIO#v?&=nl_09ZCJkuO)rf6K%aomrk`(JhbGk#7^_FG2784iZg+06ruWJ> z-l-#q$a*!lo%Kpk5={FZD(q@!1T$XFezud^u4=!#iVd}m}GoYAoL*uFQ_Q8v+ zA@o`?&pq#_I{KFcA74L=)vl|vgTmY25T-~2$>&&K=x>n@lU?J;MT(x`$DT}a_ zqdIOsh8|m^t8^OV=2W!&`f;l67(-z_&Hp`1az6ZX=*6e=HaA`Q&7+ji)Iw&GtD0O0 zX|a;w5OqFFC5<8Hg()p1Li3b2qSp#0dP!{2)7GARLw%U6Mhl;StoxMFO*T2Rb=!qh zC7&`GMOB7*z8mrmr|-)+<$Sa4mW<2{)-iWB3>PuC=#K5|5k~Y_Pw&`k3DBq_P3N*B z)-8{O5!oyom-^vbV@NROUJNI?%G*LbD>5`B>|`vDbb(g*;p z8O9O5M)uWzgU!FH>9J9kLKrcGietx+Ym<#CN`(85e)wveP~kMHvSUu8%vFZ0sn}KACsa6AaxiYj#6PQ08DiWOFY`< zKP4%~O@P;BWaf)`mKk|`wHeU2txETBp$kwO*n&P7WKt#*9Bu-)Z1vVat2I^W8kA^q zlkkyXFWU#GvRUQ;&3xG^0~*!wIs%YE@J}&$NBa-D=`qJ_-vk{0`aej5FaUsIbezBQ ze@2ZX{oqTfgaAs!P(?A3W<&1B@(*yq94q+-XHhgv(G+j?|XjSyVkj9Wns*Z5JMa|aDd7^(YU{mn?9^`k20a`r2dhgJr zHpuLaeJHH%dO6-U_T|2eSz-~Gy}>wsn!4lK-496C~(jpwhxt|jqXS>Bw9pjBa@^9kqcWomwTC(KVi)m-f21nU@EshCywj=%>2?lp!Vk!+hR492uke?K~b9 z8lqeSDDu`5L?=nmHJFZ~IL8&N?78&u?osGHs(kf*>&49;P!!3c+=%q8;)96uTdEf2)gH~}6P0j>_B>)|V*82r?UlL_jM zg<^sY-;Jp7GGkKp1<%yR#3YgpAl*R-#j}RnL?9=mh=QUy&y_%oJMa`CWI(FF(1&Um zGiqs@V@69Jtnp-Y*Qtl-;&gEewO>NIn`yrOQ+Fngt?K++=iQ({DM(fZWO$p>pqJZn zQ^1pF>5 z>(v09sN>Opjg<9vw{(~$eq$0Ike-Zix$#JE@0a8|sGGdWemq8L-=IbLP0_Mp!%PSu$M$bHl11`i2t& zdm3P^FCq%W(YT_(*lsuThLv`*k#=lZrf>h`uOLcTtq)Hu{GB`P!r$!cii3GDi<1bszI#3EzFwxI(U$1+=TLy8u=7#A9!X(mJ1sk+<|d!o1CRu4CL zB`;^ZwQuKKzcDBZc4a(om>Sq{&GcO#u557!m)JC4 zM0oJq8MvqRL>Rz`b^68tOItk({NFD)1nB`w>Q6XMp@FOVor#i6qgv;n(AygRB6^KY zl#oN4haVEj{;N&umUE*G(OBWhGWY`m-MH^<^;IBvtLNXaWoMJcO88eZdg_kG%bR*b z!K2s9NL`wd@hP9PpNKilt55d9-OQeHcC|J$if7U5%Mt9;z23PKE&pFa7TvO{n?75B z+1ckS%Gc&V9Y<7v&QxJqd`egLnLKJ>*I`BrW!_%BO zDok_#Sqd{f5%h2>0vzh?e4u3?TTsCt>j2!VFD?Z+-+tkWQY24|M`7FjsUutd>M{^3tRh1_+taINo8O>fiBGlJ{?(1EOE}!s z+uaPinJDRFtF+1>(MR|Sa<;;ervuKEd10HipZ4>O-ZL)AUH%MX?n`U_$Fxibu;29^ zF-&VLj~Hrf+OAewNk^UzJd^dETPf6yU5AmqRqmjvSVBu6zn4~(wtXsw>gmQ$ZOPv` z3znZJGi&^?dsn$}!S?v0vc}ZVEY97~{QIo1wqprpaHH>6r)b~;d@Oy~Q9?7=R;eGu z8e}_d&Ig@Y|MjyTRGErui?%YuR06w{q01L7eZx=PU!IYk3i|HcOt1| z!UeV7#$_ALafHr8X-53omlsWexID9dRmZTc%7=MT#!Tt}?a;Yg)77{M@$vu-Q!{Pn zpoAfMCZl{~D}gj#*6Hjva|zH%krcJP#&N2PXs~BKe}iU~4cw4@wA`l^LTLFFUezX1 zbE&Up*KElreTHJU>N)!gcG4)VsyxR@dVSVCud^#(BT-ow1)?|%YMKS=1ibNb7?R*XF<0TBdvO7`nE z53=(Df|0g>8ID1Rk5tw1sPy-`F~g};>YCq`sT=ZR*kOP)^UOsN?uVyhSb?rV>l9jh>eG-WPRlpHs1U(+Sjoms+{LeLNblNk7tj96fmo!Kz*&eyQ$+i6bH&+WE2-BCoKN3$tTz5`X!UI3IwVAkMIB?V&g`Od1Z;g9bgQDgbqsHl!kODMg>dQC zzL!FXkMOx7S!7aL0i)mI5q40aHn7+@sCwkoEKR1<&haGAJYp`RUXKy>k6y@|9K2;= z`5Ozt3W*^Z{{(0Jsth_uH=`F_H^eUOMOMhXG-c@E**tR|qcVdkwI>mAq`yWmKRuCV zevixTgP58>%3WRB)Y6 zL0kP#zOCr<=sjdU&C7MCa5%+au?Eg(r8-(^F~}_<9>Oiwb?@x~L)&Mw@98^8KZWQw z7;LQ8%FgxUA^t7;mNC|K=l22Fiq6?U`wn-9jwrQ-edW>q*N~+_n`XMF4Hu)_9z??e z;Vzb{mh%ZejzfX4R-P2|6>caG)xt)03g;7-10VDLa#0@eZQn>l&1Zgz_IxVw1><18 z7}1jPrNE4B1|@?TKn5TPE6Ucg_lkxZ)V>~<40rI^Tnbl#aairacFMm*pnu!zQnR$o z!@P=xRTvQV1IMAx!U)$h>G7vR4*EP1cZwcCIJey-wNX61#0_5)%Fmq&ez8-qHvCQH zGW{UPb4l8-e1x^;2hl@@>(3&cAMO+#5=`#Y7_-4E3MI8K4c!K|Wg=4r&CJOmxg+=9 z)(GxCyH5-3zz(EHZ5q5*&CRg|@=gyqRAr3>i!=j=@U4hlzSjm-_J9(_fo~L(BcdtY?2TZmczw{)HAhHfUsa7KsjTW$ zzUA|;l>yJLx+bXO#pmvc4#^(#@}^tm(3179Qq>Xh`w8$+XSdN+ff)PU?S))g@|r;q zb?c32gcT|NzaVnB$v9kzfN zKvf?)0+FEIJu`vR)EnJ={>Kig)LP5#Ini)<@%UmYE%1m$-qjK#oL%OpTajprA2nT! zIToC`g&z(+VzhmV1w6Mg{xskHT-1n67HN>#FL)$Iz5L(E^1mKVg+IEr=gI|s-pkTrA7?{#rqdv;v=c4Sc}oFpZNnvP)pywvcdjj!O;Z|;LS>f@;n?2x@F?tqD*g#kmK G1pXhBHOFiK literal 0 HcmV?d00001 diff --git a/public/css/custom.css b/public/css/custom.css index c85e0091..4a9e28b0 100644 --- a/public/css/custom.css +++ b/public/css/custom.css @@ -1,3 +1,27 @@ +.text-excel { + color: #0f9d58; +} + +.text-word { + color: #4b87e4; +} + +.text-image { + color: #d93025; +} + +.text-pdf { + color: #ea4335; +} + +.text-powerpoint { + color: #fd7541; +} + +.text-code { + color: #e16156; +} + .word-wrap { white-space: normal; word-break: break-word; @@ -1724,4 +1748,4 @@ td{ } h2 { text-transform: capitalize !important; -} \ No newline at end of file +} diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..105533388187f76ddac2724ba56068de42ba48f5 GIT binary patch literal 290 zcmV+-0p0$IP){14=z;J$+=hW%x z@jMQ9UEOteeZO6QZfZ_g3!S>0I(Rg^gsWk}k#H0aLP9U>hW%kA_XRu{XTJegiuRE9^F{^1ViI-2{(^&9EG%!$z^@PFM}y#?Mp| ou7{bSppu{)X8$AD3iEY2-!SCtyE`y01poj507*qoM6N<$f>Pgo7ytkO literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c83c79999f09ec793550448106d92d52de2de391 GIT binary patch literal 532 zcmV+v0_**WP)S z*;yz`tds>MAqyFg#dp-{YreVnn=|*`TW4|Zeb4(mz4yKEg@jAkEv!h%kpk}!UJHX& z3G@pJzl8N=!@Gn}K|o=oXy9VuoUknH>k(XGM%W&nZ4gctA@N4|EDVRT+qB*Z_l4hu z^o1}w3$)ehD?;FW8v+{_0=QII6z%usgntui(YfXG6*w;3j`k~szc~b+MrT$DuY}cE zurtD4VL;d!KC{V?upY&I$RTh&s^E)ouU}Xz>=!PF+*@LStnvf zg^pNYiST2N12e)U;bjhio5I74n6cSj!$cchp1Mx8>VvWb)-}Vo36Dz@xGJpq5APD5 zmk8I!=Uk5~&>5Pi4ET4Ux79p2D*P-E{#MwWHI%jr?+bvBn|CbR7`syo1pXsj%mr?e zs0mkW459hLzX&~T!<$5=69i7D!fV3E1c5uL0-JmFyy<$7nauWpAHRzc889IdO_WxBRo&>lnU}Qyv9xPW?^YVFUVbxxMi)*^^{$f zuR}VL|5g#X96a(Aylt|2%mLV36kj%|n|y{$25Jj^P`OVXg-Ep*<=dgc#9L{8Tgt=#iCZju!Rx=U% z{@N0Uzt%kFwq)&_Jb|luvb^1+@h4YlV4bC1v>0L9l&4 zl|1a2fsoD#^(|FjWSq)EKTq=u(cM1QHt3k+^PNvx_e;*La)YnCPhj00o00H85SH0B zS?5h5yFvc!h)f4;alVr6!o0XCJx7`?Lhh1%6xjbAIrgp~lv;BGzEZJV6{GF}hHj;_ zm0vDTmtp^u^7WUJkT2=SrO*^;T|O51hP-DXy-UC^tYxt0qX-jno&MnTEllc2m{&_0wmpz#G+Qe9w<0{ari;q+9)EC^2T59AkUT0xdn7nlKH z{|TC$YM2GVnSH?i19WFWmQ)w$9gX^>^@?9QgI#?W?w9H@$d2Hj58&kex2nBHXO!SSA?Jh2bp!#zAwooNjSN&xL?NZ|Ip?dV#xFezV z=L~H2ss%!~4qXrREnfaf2EXl-kI~&5YT?FEX|COi9s&E>1hM;LQW~(KcWql$ing(w z^}|?W5^eX$e6rsotOh^#bZ9ATRqb>EGytx~*=4zRJKm8;fxO3Z1 z{-zESAnvPkgWlyD_C7r?<;tb%H)F!Sr{I4D!TM0QlJB@XO%?XYcrxG9&Vzy)kkf5J_@k9V)+OiJ`TO> zvfuM=%-XTzWGZ@TYk3J`UElN$uROh?==sh1uQ=^HHScY*6KURf)d$zQnUf(OpWX+W zEkk*80sL#j@_?^YY|rhTB6`5Ish#v3lY!KyX$x&nnbvU_#C=}5-)3rk>|N}n(4MBW z{p|N=LR@b9uR!LY9DRMT(*RAT%qO%<*VY8}dx~*tM><&zN($!SqMp z(A?bWf4h8FyJqP)F0<_|KjT=x-F5|+Ef-(4d9n)_mQ{#f>-;EG!*Nn>ee8Xlzh+d@ z2ljohW4Tsq$8W|~(e^qA8j$Z+J3QrT((fwl`EC{Q0%!?%iu8xwvlqg*2-5v(J=CvU ztF_~|??dV{jRsF=XauyB-#WHkG@JY$5NnM6R_<%k=hhBSIhu6dnZe-DvnP9;2Kzk< z`=$%K_3>EWgP?1S&VT*JFipYs!^)gG=$M+ACX~gom@8;o9pC;K(s!_G{?}F9TJ1~q z8_?jJMmuh<vU>yn0L7yZl!5hI%vJ|4$42 E3rxZMZU6uP literal 0 HcmV?d00001 diff --git a/public/js/plugins/schedule/editor.js b/public/js/plugins/schedule/editor.js index c6d18b37..7bf39432 100644 --- a/public/js/plugins/schedule/editor.js +++ b/public/js/plugins/schedule/editor.js @@ -36,7 +36,24 @@ function initScheduleEditor(id, eventType) } }); $('.richeditor').trumbowyg({ - lang: 'fr' + lang: 'fr', + btns: [ + ['viewHTML'], + ['emoji'], + ['undo', 'redo'], // Only supported in Blink browsers + ['strong', 'em', 'del'], + ['superscript', 'subscript'], + ['fontfamily'], + ['fontsize'], + ['foreColor', 'backColor'], + ['link'], + ['insertImage'], + ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull'], + ['unorderedList', 'orderedList'], + ['horizontalRule'], + ['removeformat'], + ['fullscreen'] + ] }); $('select').selectpicker(); @@ -264,6 +281,7 @@ function selectCourseMode(mode, niveau, periode) $('#nameContainer'+niveau+'-'+periode).removeClass('d-none'); $('#modeSwitchC'+niveau+'-'+periode).addClass('active'); $('#modeSwitchO'+niveau+'-'+periode).removeClass('active'); + $('#use_course_n'+niveau+'_p'+periode).prop("checked", true); } else { @@ -274,6 +292,7 @@ function selectCourseMode(mode, niveau, periode) $('#nameContainer'+niveau+'-'+periode).addClass('d-none'); $('#modeSwitchC'+niveau+'-'+periode).removeClass('active'); $('#modeSwitchO'+niveau+'-'+periode).addClass('active'); + $('#use_course_n'+niveau+'_p'+periode).prop("checked", false); } } diff --git a/resources/assets/fullcalendar/core/main.d.ts b/resources/assets/fullcalendar/core/main.d.ts index cfd23435..8defc99e 100644 --- a/resources/assets/fullcalendar/core/main.d.ts +++ b/resources/assets/fullcalendar/core/main.d.ts @@ -2630,7 +2630,7 @@ declare module '@fullcalendar/core/structs/view-config' { class?: ViewClass; [optionName: string]: any; } - export type ViewConfigInput = ViewClass | ViewConfigObjectInput; + export type ViewConfigInput = ViewClass | ViewConfigObjectInput; export type ViewConfigInputHash = { [viewType: string]: ViewConfigInput; }; diff --git a/resources/custom.css b/resources/custom.css index c85e0091..4a9e28b0 100644 --- a/resources/custom.css +++ b/resources/custom.css @@ -1,3 +1,27 @@ +.text-excel { + color: #0f9d58; +} + +.text-word { + color: #4b87e4; +} + +.text-image { + color: #d93025; +} + +.text-pdf { + color: #ea4335; +} + +.text-powerpoint { + color: #fd7541; +} + +.text-code { + color: #e16156; +} + .word-wrap { white-space: normal; word-break: break-word; @@ -1724,4 +1748,4 @@ td{ } h2 { text-transform: capitalize !important; -} \ No newline at end of file +} diff --git a/resources/views/admin/calendar/calendar_display.blade.php b/resources/views/admin/calendar/calendar_display.blade.php index 037f47e7..c6e1cf60 100644 --- a/resources/views/admin/calendar/calendar_display.blade.php +++ b/resources/views/admin/calendar/calendar_display.blade.php @@ -33,24 +33,7 @@ @endsection @section('breadcrumb') - + Horaire @endsection @section('custom_scripts') @@ -80,4 +63,4 @@
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/admin/configs/file.blade.php b/resources/views/admin/configs/file.blade.php index ed5ff7d5..e7f9eab4 100644 --- a/resources/views/admin/configs/file.blade.php +++ b/resources/views/admin/configs/file.blade.php @@ -4,12 +4,47 @@
-

Configuration Générale

+

Configuration du système de fichier

@csrf
+

Configuration Google Drive

+
+ +
+
+
+ + + ID de client Google Drive +
+
+
+
+ + + ID secret du disque Google Drive +
+
+
+
+ + + Token de rafraichissement du disque Google Drive +
+
+
+
+ + + ID du dossier Google Drive, "null" pour la racine +
+
+

Configuration de la liste nominale

@@ -28,42 +63,8 @@ @endsection @section('breadcrumb') - +Configuration du système de fichier @endsection @section('custom_scripts') - @endsection diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index c6164e36..d08fb4c1 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -143,24 +143,7 @@ @endsection @section('breadcrumb') - + Dashboard @endsection @section('scripts') diff --git a/resources/views/admin/files/Google Drive/index.blade.php b/resources/views/admin/files/Google Drive/index.blade.php new file mode 100644 index 00000000..66df72f4 --- /dev/null +++ b/resources/views/admin/files/Google Drive/index.blade.php @@ -0,0 +1,68 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+

Full header coloured

+

Category subtitle

+
+
+ + + + + + + + + + + + + + @foreach($directories as $directory) + + + + + + @endforeach + @foreach($files as $file) + + + + + + @endforeach + +
#Nom
..
{{$directory['name']}} + + + +
{{$file['name']}} + + + +
+
+
+@endsection + +@section('breadcrumb') + Fichier / Google Drive +@endsection + +@section('scripts') +@endsection diff --git a/resources/views/admin/schedule/editor/course.blade.php b/resources/views/admin/schedule/editor/course.blade.php index 8cb62f88..ec3bf608 100644 --- a/resources/views/admin/schedule/editor/course.blade.php +++ b/resources/views/admin/schedule/editor/course.blade.php @@ -1,3 +1,4 @@ +
diff --git a/resources/views/admin/schedule/event/add.blade.php b/resources/views/admin/schedule/event/add.blade.php index 27f4c538..a96e71de 100644 --- a/resources/views/admin/schedule/event/add.blade.php +++ b/resources/views/admin/schedule/event/add.blade.php @@ -49,6 +49,34 @@ Veuillez entrer le lieu de l'événement
+
+
+
+
+ + +
+
+
+
+ +
+
+ +
+ + Remove + + Select file + Change + + + +
+
+
+
+
@@ -58,34 +86,6 @@
-
- -
-
-
-
-
- - -
-
-
- -
- -
-
-
-
-
-
+ @yield('breadcrumb')
- \ No newline at end of file + diff --git a/resources/views/layouts/admin/scripts.blade.php b/resources/views/layouts/admin/scripts.blade.php index e21c6505..ddbe095d 100644 --- a/resources/views/layouts/admin/scripts.blade.php +++ b/resources/views/layouts/admin/scripts.blade.php @@ -19,6 +19,8 @@ + + @@ -26,8 +28,12 @@ - + + + + + diff --git a/resources/views/layouts/admin/sidebar.blade.php b/resources/views/layouts/admin/sidebar.blade.php index 97420d7e..8e1728bc 100644 --- a/resources/views/layouts/admin/sidebar.blade.php +++ b/resources/views/layouts/admin/sidebar.blade.php @@ -26,14 +26,14 @@
- +
@method('PUT') @csrf
-

Coller l'index de chacun des guides pédagogiques de niveau dans la zone de texte. Générer

+

Sélectionner un fichier .cvs contenant l'index des cours a importer.

-
- - +
+ +
+
+ +
+ + Supprimer + + Parcourir + Changer + + + +
- +
diff --git a/resources/views/admin/update.blade.php b/resources/views/admin/update.blade.php index 5b315dcc..d2a843d7 100644 --- a/resources/views/admin/update.blade.php +++ b/resources/views/admin/update.blade.php @@ -41,6 +41,16 @@
+
  • +
    +
    + +
    +
    + Ajout d'un lien avec Google Drive +
    +
    +
  • @@ -81,6 +91,16 @@
  • +
  • +
    +
    + +
    +
    + Déplacement des plugins JS sur le serveur +
    +
    +
  • @@ -94,7 +114,37 @@
    - Correction de multiples bugs + Correction de multiples bugs +
    +
    + +
  • +
    +
    + +
    +
    + Correction d'un bug d'affichage des icones +
    +
    +
  • +
  • +
    +
    + +
    +
    + Correction de multiples bugs dans la gestion des grades +
    +
    +
  • +
  • +
    +
    + +
    +
    + Correction de multiples bugs dans la gestion des postes
  • diff --git a/resources/views/admin/user/profil.blade.php b/resources/views/admin/user/profil.blade.php index 3a1a6c23..6dd3b0c4 100644 --- a/resources/views/admin/user/profil.blade.php +++ b/resources/views/admin/user/profil.blade.php @@ -10,7 +10,7 @@
    Card image cap
    {{\Auth::User()->fullname()}}
    -
    {{\Auth::User()->rank->name}}
    +
    {{\Auth::User()->rank->name}}
    diff --git a/resources/views/errors/layout.blade.php b/resources/views/errors/layout.blade.php index 39ff71a7..41c83ff0 100644 --- a/resources/views/errors/layout.blade.php +++ b/resources/views/errors/layout.blade.php @@ -175,7 +175,6 @@
    - {{ Breadcrumbs::render() }}

    Oops! @yield('title')

    diff --git a/resources/views/layouts/admin/head.blade.php b/resources/views/layouts/admin/head.blade.php index 13b97462..8184ce7c 100644 --- a/resources/views/layouts/admin/head.blade.php +++ b/resources/views/layouts/admin/head.blade.php @@ -4,7 +4,7 @@ ?> -C-CMS - Espace Administration +{{ ($breadcrumb = Breadcrumbs::current()) ? $breadcrumb->title : 'Espace Administration' }} - C-CMS @@ -26,12 +26,12 @@ - - + + - + diff --git a/resources/views/layouts/admin/sidebar.blade.php b/resources/views/layouts/admin/sidebar.blade.php index 0e2f95f2..6d82a36e 100644 --- a/resources/views/layouts/admin/sidebar.blade.php +++ b/resources/views/layouts/admin/sidebar.blade.php @@ -94,6 +94,14 @@ @endif + @if(\Auth::user()->p('schedule_see') == 1) + + @endif @if(\Auth::user()->p('article_see') == 1)