diff --git a/app/Functions/Airtable.php b/app/Functions/Airtable.php index be0a9de7..04923190 100755 --- a/app/Functions/Airtable.php +++ b/app/Functions/Airtable.php @@ -1,6 +1,7 @@ setKey($config['api_key']); + $this->setAccessToken($config['access_token']); $this->setBase($config['base']); } else { echo 'Error: __construct() - Configuration data is missing.'; @@ -36,11 +39,21 @@ public function setKey($key) $this->_key = $key; } + public function setAccessToken($token) + { + $this->_token = $token; + } + public function getKey() { return $this->_key; } + public function getAccessToken() + { + return $this->_token; + } + public function setBase($base) { $this->_base = $base; @@ -51,46 +64,43 @@ public function getBase() return $this->_base; } - public function getApiUrl($request){ - $request = str_replace( ' ', '%20', $request ); - $url = self::API_URL.$this->getBase().'/'.$request; - return $url; + public function getApiUrl($request) + { + $request = str_replace(' ', '%20', $request); + $url = self::API_URL . $this->getBase() . '/' . $request; + return $url; } - function getContent($content_type,$params="",$relations=false) + function getContent($content_type, $params = "", $relations = false) { - return new Request( $this, $content_type, $params, false, $relations ); - } - - function saveContent($content_type,$fields) - { - - $fields = array('fields'=>$fields); + return new Request($this, $content_type, $params, false, $relations); + } - $request = new Request( $this, $content_type, $fields, true ); + function saveContent($content_type, $fields) + { - return $request->getResponse(); + $fields = array('fields' => $fields); - } + $request = new Request($this, $content_type, $fields, true); - function updateContent($content_type,$fields) - { + return $request->getResponse(); + } - $fields = array('fields'=>$fields); + function updateContent($content_type, $fields) + { - $request = new Request( $this, $content_type, $fields, 'patch' ); + $fields = array('fields' => $fields); - return $request->getResponse(); + $request = new Request($this, $content_type, $fields, 'patch'); - } + return $request->getResponse(); + } - function deleteContent($content_type) + function deleteContent($content_type) { - $request = new Request( $this, $content_type, [], 'delete' ); + $request = new Request($this, $content_type, [], 'delete'); return $request->getResponse(); - } - } diff --git a/app/Functions/Request.php b/app/Functions/Request.php index c57dc1cf..2370d307 100755 --- a/app/Functions/Request.php +++ b/app/Functions/Request.php @@ -1,4 +1,5 @@ data = $data; $this->is_post = $is_post; $this->relations = $relations; - } private function init() { $headers = array( 'Content-Type: application/json', - sprintf('Authorization: Bearer %s', $this->airtable->getKey()), + sprintf('Authorization: Bearer %s', $this->airtable->getAccessToken()), ); $request = $this->content_type; @@ -87,7 +87,6 @@ private function init() } $this->curl = $curl; - } /** @@ -101,7 +100,6 @@ public function getResponse() $response_string = curl_exec($this->curl); return new Response($this->airtable, $this, $response_string, $this->relations); - } public function __set($key, $value) @@ -121,8 +119,8 @@ public function offsetExists($offset) public function offsetGet($offset) { return is_array($this->data) && isset($this->data[$offset]) - ? $this->data[$offset] - : null; + ? $this->data[$offset] + : null; } public function offsetSet($offset, $value) @@ -140,5 +138,4 @@ public function offsetUnset($offset) unset($this->data[$offset]); } } - } diff --git a/app/Http/Controllers/backend/AddressTypeController.php b/app/Http/Controllers/backend/AddressTypeController.php new file mode 100644 index 00000000..245ae87b --- /dev/null +++ b/app/Http/Controllers/backend/AddressTypeController.php @@ -0,0 +1,123 @@ +validate($request, [ + 'type' => 'required|unique:address_types,type' + ]); + try { + DB::beginTransaction(); + AddressType::create([ + 'type' => $request->type, + 'created_by' => Auth::id() + ]); + DB::commit(); + return redirect()->to('address_types')->with('success', 'Address type created successfully'); + } catch (\Throwable $th) { + DB::rollBack(); + + return redirect()->to('address_types')->with('error', $th->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + $addressType = AddressType::whereId($id)->first(); + return view('backEnd.address_types.edit', compact('addressType')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $this->validate($request, [ + 'type' => 'required|unique:address_types,id,' . $id + ]); + try { + AddressType::whereId($id)->update([ + 'type' => $request->type + ]); + DB::commit(); + return redirect()->to('address_types')->with('success', 'Address type updated successfully'); + } catch (\Throwable $th) { + DB::rollBack(); + return redirect()->to('address_types')->with('error', $th->getMessage()); + } + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + try { + AddressType::whereId($id)->delete(); + return redirect()->to('address_types')->with('success', 'Address type Deleted successfully'); + } catch (\Throwable $th) { + DB::rollBack(); + return redirect()->to('address_types')->with('error', $th->getMessage()); + } + } +} diff --git a/app/Http/Controllers/backend/CostOptionController.php b/app/Http/Controllers/backend/CostOptionController.php new file mode 100644 index 00000000..878eb22c --- /dev/null +++ b/app/Http/Controllers/backend/CostOptionController.php @@ -0,0 +1,22 @@ +costOptionService = $costOptionService; + } + + public function airtable_v3($access_token, $base_url) + { + $this->costOptionService->import_airtable_v3($access_token, $base_url); + } +} diff --git a/app/Http/Controllers/backend/FundingController.php b/app/Http/Controllers/backend/FundingController.php new file mode 100644 index 00000000..12ca29f8 --- /dev/null +++ b/app/Http/Controllers/backend/FundingController.php @@ -0,0 +1,22 @@ +fundingService = $fundingService; + } + + public function airtable_v3($access_token, $base_url) + { + $this->fundingService->import_airtable_v3($access_token, $base_url); + } +} diff --git a/app/Http/Controllers/backend/IdentifierController.php b/app/Http/Controllers/backend/IdentifierController.php new file mode 100644 index 00000000..ee9b4a90 --- /dev/null +++ b/app/Http/Controllers/backend/IdentifierController.php @@ -0,0 +1,22 @@ +identifierService = $identifierService; + } + + public function airtable_v3($access_token, $base_url) + { + $this->identifierService->import_airtable_v3($access_token, $base_url); + } +} diff --git a/app/Http/Controllers/backend/ImportController.php b/app/Http/Controllers/backend/ImportController.php index c17cd5e9..77fd85e8 100644 --- a/app/Http/Controllers/backend/ImportController.php +++ b/app/Http/Controllers/backend/ImportController.php @@ -30,8 +30,10 @@ use App\Model\CodeLedger; use App\Model\Contact; use App\Model\ContactPhone; +use App\Model\CostOption; use App\Model\CSV_Source; use App\Model\Detail; +use App\Model\Funding; use App\Model\ImportDataSource; use App\Model\ImportHistory; use App\Model\Language; @@ -51,7 +53,9 @@ use App\Model\Service; use App\Model\ServiceAddress; use App\Model\ServiceContact; +use App\Model\ServiceCost; use App\Model\ServiceDetail; +use App\Model\ServiceFunding; use App\Model\ServiceLocation; use App\Model\ServiceOrganization; use App\Model\ServicePhone; @@ -131,23 +135,22 @@ public function store(Request $request) 'endpoint' => 'required', 'key' => 'required', ]); - } elseif ($request->import_type == 'airtable') { + } elseif ($request->import_type == 'airtable' || $request->import_type == 'airtable_v3') { $this->validate($request, [ - 'airtable_api_key' => 'required', + 'airtable_access_token' => 'required', 'airtable_base_id' => 'required', ]); } try { - $airtable_api_key = ''; + $airtable_access_token = ''; $airtable_base_id = ''; $zipfile_path = ''; - if ($request->has('airtable_api_key') && $request->has('airtable_base_id') && $request->import_type == 'airtable') { - $airtable = new Airtable(array( - 'api_key' => $request->airtable_api_key, - 'base' => $request->airtable_base_id, - )); + if ($request->has('airtable_access_token') && $request->has('airtable_base_id') && ($request->import_type == 'airtable' || $request->import_type == 'airtable_v3')) { + + $response = Http::withHeaders([ + 'Authorization' => 'Bearer ' . $request->airtable_access_token + ])->get('https://api.airtable.com/v0/' . $request->airtable_base_id . '/organizations'); - $response = Http::get('https://api.airtable.com/v0/' . $request->airtable_base_id . '/organizations?api_key=' . $request->airtable_api_key); if ($response->status() != 200) { Session::flash('message', 'Airtable key or base id is invalid. Please enter valid information.'); Session::flash('status', 'error'); @@ -156,10 +159,10 @@ public function store(Request $request) $Airtablekeyinfo = Airtablekeyinfo::create([ - 'api_key' => $request->airtable_api_key, + 'access_token' => $request->airtable_access_token, 'base_url' => $request->airtable_base_id ]); - $airtable_api_key = $Airtablekeyinfo->id; + $airtable_access_token = $Airtablekeyinfo->id; $airtable_base_id = $Airtablekeyinfo->id; } if ($request->import_type == 'zipfile' && $request->hasFile('zipfile')) { @@ -208,7 +211,7 @@ public function store(Request $request) ImportDataSource::create([ 'name' => $request->name, 'format' => $request->format, - 'airtable_api_key' => $airtable_api_key, + 'airtable_api_key' => $airtable_access_token, 'airtable_base_id' => $airtable_base_id, 'auto_sync' => $request->auto_sync, 'endpoint' => $request->endpoint, @@ -278,38 +281,40 @@ public function update(Request $request, $id) 'endpoint' => 'required', 'key' => 'required', ]); - } elseif ($request->import_type == 'airtable') { + } elseif ($request->import_type == 'airtable' || $request->import_type == 'airtable_v3') { $this->validate($request, [ - 'airtable_api_key' => 'required', + 'airtable_access_token' => 'required', 'airtable_base_id' => 'required', ]); } try { $dataSource = ImportDataSource::whereId($id)->first(); - $airtable_api_key = $dataSource->airtable_api_key; + $airtable_access_token = $dataSource->airtable_api_key; $airtable_base_id = $dataSource->airtable_base_id; $zipfile_path = $dataSource->source_file; - if ($request->has('airtable_api_key') && $request->has('airtable_base_id') && $request->import_type == 'airtable') { - $Airtablekeyinfo = Airtablekeyinfo::where('api_key', $request->airtable_api_key)->first(); + if ($request->has('airtable_access_token') && $request->has('airtable_base_id') && ($request->import_type == 'airtable' || $request->import_type == 'airtable_v3')) { + $Airtablekeyinfo = Airtablekeyinfo::where('access_token', $request->airtable_access_token)->first(); if ($Airtablekeyinfo) { - Airtablekeyinfo::where('api_key', $request->airtable_api_key)->update([ - 'api_key' => $request->airtable_api_key, + Airtablekeyinfo::where('access_token', $request->airtable_access_token)->update([ + 'access_token' => $request->airtable_access_token, 'base_url' => $request->airtable_base_id ]); } else { $Airtablekeyinfo = Airtablekeyinfo::create([ - 'api_key' => $request->airtable_api_key, + 'access_token' => $request->airtable_access_token, 'base_url' => $request->airtable_base_id ]); } - $response = Http::get('https://api.airtable.com/v0/' . $request->airtable_base_id . '/organizations?api_key=' . $request->airtable_api_key); + $response = Http::withHeaders([ + 'Authorization' => 'Bearer ' . $request->airtable_access_token + ])->get('https://api.airtable.com/v0/' . $request->airtable_base_id . '/organizations'); if ($response->status() != 200) { Session::flash('message', 'Airtable key or base id is invalid. Please enter valid information.'); Session::flash('status', 'error'); return redirect()->back()->withInput(); } - $airtable_api_key = $Airtablekeyinfo->id; + $airtable_access_token = $Airtablekeyinfo->id; $airtable_base_id = $Airtablekeyinfo->id; } if ($request->import_type == 'zipfile' && $request->hasFile('zipfile')) { @@ -359,7 +364,7 @@ public function update(Request $request, $id) ImportDataSource::whereId($id)->update([ 'name' => $request->name, 'format' => $request->format, - 'airtable_api_key' => $airtable_api_key, + 'airtable_api_key' => $airtable_access_token, 'airtable_base_id' => $airtable_base_id, 'auto_sync' => $request->auto_sync, 'endpoint' => $request->endpoint, @@ -461,7 +466,7 @@ public function getImportHistory(Request $request) return $link; }) ->editColumn('import_type', function ($row) { - $link = $row->import_type == 'airtable' ? "Airtable 2.2" : "Zipfile"; + $link = $row->import_type == 'airtable' ? "Airtable 2.2" : ($row->import_type == 'airtable_v3' ? "Airtable 3.0" : "Zipfile"); return $link; }) // ->filter(function ($query) use ($request) { @@ -520,27 +525,74 @@ public function importData($id) CodeLedger::truncate(); OrganizationTag::truncate(); ServiceTag::truncate(); + CostOption::truncate(); + Funding::truncate(); + ServiceCost::truncate(); + ServiceFunding::truncate(); + Funding::truncate(); } - if ($importData && $importData->import_type == 'airtable') { + if ($importData && $importData->import_type == 'airtable_v3') { + $organization_tag = $importData->organization_tags; + $airtableKeyInfo = Airtablekeyinfo::whereId($importData->airtable_api_key)->first(); + + $response = Http::withHeaders([ + 'Authorization' => 'Bearer ' . $airtableKeyInfo->access_token + ])->get('https://api.airtable.com/v0/' . $airtableKeyInfo->base_url . '/organizations'); + + if ($response->status() != 200) { + Session::flash('message', 'Airtable key or base id is invalid. Please enter valid information and try again.'); + Session::flash('status', 'error'); + return redirect()->back()->withInput(); + } + app(\App\Http\Controllers\frontEnd\ServiceController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\AddressController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\ContactController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\LocationController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\OrganizationController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url, $organization_tag); + app(\App\Http\Controllers\frontEnd\PhoneController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\ScheduleController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\TaxonomyController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\ProgramController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\TaxonomyTypeController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\FundingController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\CostOptionController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\IdentifierController::class)->airtable_v3($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + // dd('done'); + // app(\App\Http\Controllers\frontEnd\DetailController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); + $importData->last_imports = Carbon::now(); + $importData->save(); + + $importHistory = new ImportHistory(); + $importHistory->source_name = $importData->format; + $importHistory->import_type = $importData->import_type; + $importHistory->auto_sync = $importData->auto_sync; + $importHistory->status = 'Completed'; + $importHistory->sync_by = Auth::id(); + $importHistory->save(); + } else if ($importData && $importData->import_type == 'airtable_v2') { $organization_tag = $importData->organization_tags; $airtableKeyInfo = Airtablekeyinfo::whereId($importData->airtable_api_key)->first(); - $response = Http::get('https://api.airtable.com/v0/' . $airtableKeyInfo->base_url . '/organizations?api_key=' . $airtableKeyInfo->api_key); + + $response = Http::withHeaders([ + 'Authorization' => 'Bearer ' . $airtableKeyInfo->access_token + ])->get('https://api.airtable.com/v0/' . $airtableKeyInfo->base_url . '/organizations'); + if ($response->status() != 200) { Session::flash('message', 'Airtable key or base id is invalid. Please enter valid information and try again.'); Session::flash('status', 'error'); return redirect()->back()->withInput(); } - app(\App\Http\Controllers\frontEnd\ServiceController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\AddressController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\ContactController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\DetailController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\LocationController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\OrganizationController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url, $organization_tag); - app(\App\Http\Controllers\frontEnd\PhoneController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\ScheduleController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\frontEnd\TaxonomyController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\backend\ProgramController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); - app(\App\Http\Controllers\backend\TaxonomyTypeController::class)->airtable_v2($airtableKeyInfo->api_key, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\ServiceController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\AddressController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\ContactController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\DetailController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\LocationController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\OrganizationController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url, $organization_tag); + app(\App\Http\Controllers\frontEnd\PhoneController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\ScheduleController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\frontEnd\TaxonomyController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\ProgramController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); + app(\App\Http\Controllers\backend\TaxonomyTypeController::class)->airtable_v2($airtableKeyInfo->access_token, $airtableKeyInfo->base_url); $importData->last_imports = Carbon::now(); $importData->save(); diff --git a/app/Http/Controllers/backend/ProgramController.php b/app/Http/Controllers/backend/ProgramController.php index 211924a3..5b2d25b0 100644 --- a/app/Http/Controllers/backend/ProgramController.php +++ b/app/Http/Controllers/backend/ProgramController.php @@ -12,6 +12,7 @@ use App\Model\Service; use App\Model\ServiceProgram; use App\Model\Source_data; +use App\Services\ProgramService; use App\Services\Stringtoint; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; @@ -21,14 +22,22 @@ class ProgramController extends Controller { - public function airtable_v2($api_key, $base_url) + + public $programService; + + public function __construct(ProgramService $programService) + { + $this->programService = $programService; + } + + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -41,7 +50,7 @@ public function airtable_v2($api_key, $base_url) // 'base' => env('AIRTABLE_BASE_URL'), // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -118,6 +127,11 @@ public function airtable_v2($api_key, $base_url) ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->programService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * diff --git a/app/Http/Controllers/backend/TaxonomyTypeController.php b/app/Http/Controllers/backend/TaxonomyTypeController.php index 5428769b..96e8b0a6 100644 --- a/app/Http/Controllers/backend/TaxonomyTypeController.php +++ b/app/Http/Controllers/backend/TaxonomyTypeController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\backend; +use App\Exports\zip\TaxonomyTypeZipExport; use App\Functions\Airtable; use App\Http\Controllers\Controller; use App\Model\AdditionalTaxonomy; @@ -10,21 +11,31 @@ use App\Model\TaxonomyTerm; use App\Model\TaxonomyType; use App\Services\Stringtoint; +use App\Services\TaxonomyTypeService; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Session; +use Maatwebsite\Excel\Facades\Excel; use Yajra\DataTables\Facades\DataTables; class TaxonomyTypeController extends Controller { - public function airtable_v2($api_key, $base_url) + + public $taxonomyTypeService; + + public function __construct(TaxonomyTypeService $taxonomyTypeService) + { + $this->taxonomyTypeService = $taxonomyTypeService; + } + + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -36,7 +47,7 @@ public function airtable_v2($api_key, $base_url) // 'base' => env('AIRTABLE_BASE_URL'), // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); $request = $airtable->getContent('x-taxonomies'); @@ -94,6 +105,11 @@ public function airtable_v2($api_key, $base_url) ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->taxonomyTypeService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * @@ -181,6 +197,7 @@ public function store(Request $request) 'order' => $request->order, 'type' => $request->type, 'reference_url' => $request->reference_url, + 'version' => $request->version, 'notes' => $request->notes, ]); Session::flash('message', 'Success! Taxonomy type is created successfully.'); @@ -235,6 +252,7 @@ public function update(Request $request, $id) 'order' => $request->order, 'type' => $request->type, 'reference_url' => $request->reference_url, + 'version' => $request->version, 'notes' => $request->notes, ]); Session::flash('message', 'Success! Taxonomy type is updated successfully.'); @@ -266,4 +284,13 @@ public function destroy($id) return redirect()->back()->withInput(); } } + + public function export() + { + try { + return Excel::download(new TaxonomyTypeZipExport(false), 'Taxonomies.csv'); + } catch (\Throwable $th) { + dd($th); + } + } } diff --git a/app/Http/Controllers/frontEnd/AddressController.php b/app/Http/Controllers/frontEnd/AddressController.php index 598511bb..13ef3aa0 100644 --- a/app/Http/Controllers/frontEnd/AddressController.php +++ b/app/Http/Controllers/frontEnd/AddressController.php @@ -15,6 +15,7 @@ use App\Model\Serviceaddress; use App\Model\Source_data; use App\Model\State; +use App\Services\AddressService; use App\Services\Stringtoint; use Carbon\Carbon; use Illuminate\Http\Request; @@ -23,15 +24,21 @@ class AddressController extends Controller { + protected $addressservice; - public function airtable($api_key, $base_url) + public function __construct(AddressService $addressservice) + { + $this->addressservice = $addressservice; + } + + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -41,7 +48,7 @@ public function airtable($api_key, $base_url) // 'base' => env('AIRTABLE_BASE_URL'), // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -111,14 +118,14 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -128,7 +135,7 @@ public function airtable_v2($api_key, $base_url) // 'base' => env('AIRTABLE_BASE_URL'), // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -216,6 +223,11 @@ public function airtable_v2($api_key, $base_url) } } + public function airtable_v3($access_token, $base_url) + { + $this->addressservice->import_airtable_v3($access_token, $base_url); + } + public function csv(Request $request) { try { diff --git a/app/Http/Controllers/frontEnd/ContactController.php b/app/Http/Controllers/frontEnd/ContactController.php index d76e2b9c..1dbdf168 100644 --- a/app/Http/Controllers/frontEnd/ContactController.php +++ b/app/Http/Controllers/frontEnd/ContactController.php @@ -22,6 +22,7 @@ use App\Model\Service; use App\Model\ServiceContact; use App\Model\Source_data; +use App\Services\ContactService; use App\Services\Stringtoint; use Carbon\Carbon; use Illuminate\Http\Request; @@ -39,30 +40,28 @@ class ContactController extends Controller { - public $commonController; + public $commonController, $contactService; - public function __construct(CommonController $commonController) + public function __construct(CommonController $commonController, ContactService $contactService) { $this->commonController = $commonController; + $this->contactService = $contactService; } - public function airtable($api_key, $base_url) + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Contact::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -107,24 +106,20 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { // $airtable_key_info = Airtablekeyinfo::find(1); // if (!$airtable_key_info) { // $airtable_key_info = new Airtablekeyinfo; // } - // $airtable_key_info->api_key = $api_key; + // $airtable_key_info->access_token = $access_token; // $airtable_key_info->base_url = $base_url; // $airtable_key_info->save(); // Contact::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -180,6 +175,11 @@ public function airtable_v2($api_key, $base_url) ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->contactService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * diff --git a/app/Http/Controllers/frontEnd/DetailController.php b/app/Http/Controllers/frontEnd/DetailController.php index 35c937f4..e67d09bc 100644 --- a/app/Http/Controllers/frontEnd/DetailController.php +++ b/app/Http/Controllers/frontEnd/DetailController.php @@ -18,24 +18,20 @@ class DetailController extends Controller { - public function airtable($api_key, $base_url) + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Detail::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -129,24 +125,20 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); // Detail::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); diff --git a/app/Http/Controllers/frontEnd/LocationController.php b/app/Http/Controllers/frontEnd/LocationController.php index ac27feea..030036fe 100644 --- a/app/Http/Controllers/frontEnd/LocationController.php +++ b/app/Http/Controllers/frontEnd/LocationController.php @@ -20,6 +20,7 @@ use App\Model\LocationPhone; use App\Model\LocationSchedule; use App\Model\Accessibility; +use App\Model\AddressType; use App\Model\Airtables; use App\Model\Airtable_v2; use App\Model\City; @@ -36,6 +37,7 @@ use App\Model\Region; use App\Model\Source_data; use App\Model\State; +use App\Services\LocationService; use Spatie\Geocoder\Geocoder; use App\Services\Stringtoint; use Carbon\Carbon; @@ -53,21 +55,22 @@ // use DataTables; class LocationController extends Controller { - public $commonController; + public $commonController, $locationService; - public function __construct(CommonController $commonControllerData) + public function __construct(CommonController $commonControllerData, LocationService $locationService) { $this->commonController = $commonControllerData; + $this->locationService = $locationService; } - public function airtable($api_key, $base_url) + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -76,12 +79,8 @@ public function airtable($api_key, $base_url) LocationPhone::truncate(); LocationSchedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -187,14 +186,14 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -203,12 +202,8 @@ public function airtable_v2($api_key, $base_url) // LocationPhone::truncate(); // LocationSchedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -343,6 +338,11 @@ public function airtable_v2($api_key, $base_url) ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->locationService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * @@ -672,7 +672,12 @@ public function create_in_organization($id) $regions = Region::pluck('region', 'id'); $accessibilities = Accessibility::pluck('accessibility', 'id'); - return view('frontEnd.locations.facility-create-in-organization', compact('map', 'organization', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities')); + + $languages = Language::pluck('language', 'id'); + $addressTypes = AddressType::pluck('type', 'id'); + + + return view('frontEnd.locations.facility-create-in-organization', compact('map', 'organization', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities', 'languages', 'addressTypes')); } public function create() @@ -704,7 +709,10 @@ public function create() $accessibilities = Accessibility::pluck('accessibility', 'id'); - return view('frontEnd.locations.create', compact('map', 'organization_name_list', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities')); + $languages = Language::pluck('language', 'id'); + $addressTypes = AddressType::pluck('type', 'id'); + + return view('frontEnd.locations.create', compact('map', 'organization_name_list', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities', 'languages', 'addressTypes')); } public function add_new_facility_in_organization(Request $request) { @@ -729,12 +737,19 @@ public function add_new_facility_in_organization(Request $request) $facility->location_alternate_name = $request->location_alternate_name; $facility->location_transportation = $request->location_transportation; $facility->location_description = $request->location_description; + $facility->location_type = $request->location_type; + $facility->location_url = $request->location_url; + $facility->external_identifier = $request->external_identifier; + $facility->external_identifier_type = $request->external_identifier_type; + $facility->accessesibility_url = $request->accessesibility_url; + $facility->location_languages = $request->location_languages ? implode(', ', $request->location_languages) : ''; // accessesibility if ($request->accessibility_recordid) { $facility->accessibility_recordid = $request->accessibility_recordid; - $facility->accessibility_details = $request->accessibility_details; } + $facility->accessibility_details = $request->accessibility_details; + $regions = is_array($request->regions) ? array_values(array_filter($request->regions)) : []; if ($regions) { $facility->regions()->sync($regions); @@ -827,53 +842,103 @@ public function add_new_facility_in_organization(Request $request) $facility_address_zip_code = $request->facility_zip_code; $facility_address_info = $facility_street_address . ', ' . $facility_address_city . ', ' . $facility_address_state . ', ' . $facility_address_zip_code; - $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address_recordid_list = []; + // $address_id = ''; + // if ($address) { + // $address_id = $address["address_recordid"]; + // $facility->location_address = $address_id; + // } else { + // $address = new Address; + // $new_recordid = Address::max('address_recordid') + 1; + // $address->address_recordid = $new_recordid; + // $address->address_1 = $facility_street_address; + // $address->address_city = $facility_address_city; + // $address->address_state_province = $facility_address_state; + // $address->address_postal_code = $facility_address_zip_code; + // $facility->location_address = $new_recordid; + // $address_id = $new_recordid; + // $address->save(); + // } + // array_push($address_recordid_list, $address_id); + + $address_1 = $request->address_1 && isset($request->address_1[0]) ? json_decode($request->address_1[0]) : []; + $address_2 = $request->address_2 && isset($request->address_2[0]) ? json_decode($request->address_2[0]) : []; + $address_attention = $request->address_attention && isset($request->address_attention[0]) ? json_decode($request->address_attention[0]) : []; + $address_city = $request->address_city && isset($request->address_city[0]) ? json_decode($request->address_city[0]) : []; + $regions = $request->address_regions && isset($request->address_regions[0]) ? json_decode($request->address_regions[0]) : []; + $address_state = $request->address_state && isset($request->address_state[0]) ? json_decode($request->address_state[0]) : []; + $zip_codes = $request->zip_codes && isset($request->zip_codes[0]) ? json_decode($request->zip_codes[0]) : []; + $address_country = $request->address_country && isset($request->address_country[0]) ? json_decode($request->address_country[0]) : []; + $address_type = $request->address_type && isset($request->address_type[0]) ? json_decode($request->address_type[0]) : []; + $mainAddress = $request->mainAddress ?? 0; + $address_recordid_list = []; - $address_id = ''; - if ($address) { - $address_id = $address["address_recordid"]; - $facility->location_address = $address_id; - } else { - $address = new Address; - $new_recordid = Address::max('address_recordid') + 1; - $address->address_recordid = $new_recordid; - $address->address_1 = $facility_street_address; - $address->address_city = $facility_address_city; - $address->address_state_province = $facility_address_state; - $address->address_postal_code = $facility_address_zip_code; - $facility->location_address = $new_recordid; - $address_id = $new_recordid; - $address->save(); + foreach ($address_1 as $key => $value) { + $address = Address::where('address_1', '=', $value)->first(); + $address_id = ''; + if ($address) { + $address_id = $address["address_recordid"]; + $facility->location_address = $address_id; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_region = $address_region[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->is_main = $mainAddress == $key ? true : false; + $address->save(); + } else { + $address = new Address; + $new_recordid = Address::max('address_recordid') + 1; + $address->address_recordid = $new_recordid; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->address_region = $address_region[$key] ?? null; + $address->is_main = $mainAddress == $key ? true : false; + $facility->location_address = $new_recordid; + $address_id = $new_recordid; + $address->save(); + } + array_push($address_recordid_list, $address_id); } - array_push($address_recordid_list, $address_id); $address_recordid_list = array_values(array_filter($address_recordid_list)); $facility->address()->sync($address_recordid_list); - $client = new \GuzzleHttp\Client(); - $geocoder = new Geocoder($client); - $map = Map::find(1); - $geocode_api_key = $map && $map->api_key ? $map->api_key : null; - $geocoder->setApiKey($geocode_api_key); + // $client = new \GuzzleHttp\Client(); + // $geocoder = new Geocoder($client); + // $map = Map::find(1); + // $geocode_api_key = $map && $map->api_key ? $map->api_key : null; + // $geocoder->setApiKey($geocode_api_key); - if ($facility->location_address) { - $address_recordid = $facility->location_address; - $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); - $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; + // if ($facility->location_address) { + // $address_recordid = $facility->location_address; + // $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); + // $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; - $response = $geocoder->getCoordinatesForAddress($full_address_info); + // $response = $geocoder->getCoordinatesForAddress($full_address_info); - if ($response['lat']) { - $latitude = $response['lat']; - $longitude = $response['lng']; - $facility->location_latitude = $latitude; - $facility->location_longitude = $longitude; - } else { - Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); - Session::flash('status', 'error'); - return redirect()->back()->withInput(); - } - } + // if ($response['lat']) { + // $latitude = $response['lat']; + // $longitude = $response['lng']; + // $facility->location_latitude = $latitude; + // $facility->location_longitude = $longitude; + // } else { + // Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); + // Session::flash('status', 'error'); + // return redirect()->back()->withInput(); + // } + // } // $facility->location_phones = ''; // $phone_recordid_list = []; @@ -1010,6 +1075,12 @@ public function store(Request $request) $facility->location_alternate_name = $request->location_alternate_name; $facility->location_transportation = $request->location_transportation; $facility->location_description = $request->location_description; + $facility->location_type = $request->location_type; + $facility->location_url = $request->location_url; + $facility->external_identifier = $request->external_identifier; + $facility->external_identifier_type = $request->external_identifier_type; + $facility->accessesibility_url = $request->accessesibility_url; + $facility->location_languages = $request->location_languages ? implode(', ', $request->location_languages) : ''; // $facility->location_details = $request->location_details; // accessesibility @@ -1106,53 +1177,103 @@ public function store(Request $request) $facility_address_zip_code = $request->facility_zip_code; $facility_address_info = $facility_street_address . ', ' . $facility_address_city . ', ' . $facility_address_state . ', ' . $facility_address_zip_code; - $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address_recordid_list = []; + // $address_id = ''; + // if ($address) { + // $address_id = $address["address_recordid"]; + // $facility->location_address = $address_id; + // } else { + // $address = new Address; + // $new_recordid = Address::max('address_recordid') + 1; + // $address->address_recordid = $new_recordid; + // $address->address_1 = $facility_street_address; + // $address->address_city = $facility_address_city; + // $address->address_state_province = $facility_address_state; + // $address->address_postal_code = $facility_address_zip_code; + // $facility->location_address = $new_recordid; + // $address_id = $new_recordid; + // $address->save(); + // } + // array_push($address_recordid_list, $address_id); + + $address_1 = $request->address_1 && isset($request->address_1[0]) ? json_decode($request->address_1[0]) : []; + $address_2 = $request->address_2 && isset($request->address_2[0]) ? json_decode($request->address_2[0]) : []; + $address_attention = $request->address_attention && isset($request->address_attention[0]) ? json_decode($request->address_attention[0]) : []; + $address_city = $request->address_city && isset($request->address_city[0]) ? json_decode($request->address_city[0]) : []; + $regions = $request->address_regions && isset($request->address_regions[0]) ? json_decode($request->address_regions[0]) : []; + $address_state = $request->address_state && isset($request->address_state[0]) ? json_decode($request->address_state[0]) : []; + $zip_codes = $request->zip_codes && isset($request->zip_codes[0]) ? json_decode($request->zip_codes[0]) : []; + $address_country = $request->address_country && isset($request->address_country[0]) ? json_decode($request->address_country[0]) : []; + $address_type = $request->address_type && isset($request->address_type[0]) ? json_decode($request->address_type[0]) : []; + $mainAddress = $request->mainAddress ?? 0; + $address_recordid_list = []; - $address_id = ''; - if ($address) { - $address_id = $address["address_recordid"]; - $facility->location_address = $address_id; - } else { - $address = new Address; - $new_recordid = Address::max('address_recordid') + 1; - $address->address_recordid = $new_recordid; - $address->address_1 = $facility_street_address; - $address->address_city = $facility_address_city; - $address->address_state_province = $facility_address_state; - $address->address_postal_code = $facility_address_zip_code; - $facility->location_address = $new_recordid; - $address_id = $new_recordid; - $address->save(); + foreach ($address_1 as $key => $value) { + $address = Address::where('address_1', '=', $value)->first(); + $address_id = ''; + if ($address) { + $address_id = $address["address_recordid"]; + $facility->location_address = $address_id; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_region = $address_region[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->is_main = $mainAddress == $key ? true : false; + $address->save(); + } else { + $address = new Address; + $new_recordid = Address::max('address_recordid') + 1; + $address->address_recordid = $new_recordid; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->address_region = $address_region[$key] ?? null; + $address->is_main = $mainAddress == $key ? true : false; + $facility->location_address = $new_recordid; + $address_id = $new_recordid; + $address->save(); + } + array_push($address_recordid_list, $address_id); } - array_push($address_recordid_list, $address_id); $address_recordid_list = array_values(array_filter($address_recordid_list)); $facility->address()->sync($address_recordid_list); - $client = new \GuzzleHttp\Client(); - $geocoder = new Geocoder($client); - $map = Map::find(1); - $geocode_api_key = $map && $map->api_key ? $map->api_key : null; - $geocoder->setApiKey($geocode_api_key); + // $client = new \GuzzleHttp\Client(); + // $geocoder = new Geocoder($client); + // $map = Map::find(1); + // $geocode_api_key = $map && $map->api_key ? $map->api_key : null; + // $geocoder->setApiKey($geocode_api_key); - if ($facility->location_address) { - $address_recordid = $facility->location_address; - $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); - $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; + // if ($facility->location_address) { + // $address_recordid = $facility->location_address; + // $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); + // $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; - $response = $geocoder->getCoordinatesForAddress($full_address_info); + // $response = $geocoder->getCoordinatesForAddress($full_address_info); - if ($response['lat']) { - $latitude = $response['lat']; - $longitude = $response['lng']; - $facility->location_latitude = $latitude; - $facility->location_longitude = $longitude; - } else { - Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); - Session::flash('status', 'error'); - return redirect()->back()->withInput(); - } - } + // if ($response['lat']) { + // $latitude = $response['lat']; + // $longitude = $response['lng']; + // $facility->location_latitude = $latitude; + // $facility->location_longitude = $longitude; + // } else { + // Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); + // Session::flash('status', 'error'); + // return redirect()->back()->withInput(); + // } + // } @@ -1304,7 +1425,9 @@ public function show($id) $facilityAudits = $this->commonController->locationSection($facility); - return view('frontEnd.locations.show', compact('facility', 'map', 'locations', 'facility_organizations', 'comment_list', 'existing_tags', 'locationDetails', 'facilityAudits', 'inactiveOrganizationIds')); + $locationAddresses = $facility->address; + + return view('frontEnd.locations.show', compact('facility', 'map', 'locations', 'facility_organizations', 'comment_list', 'existing_tags', 'locationDetails', 'facilityAudits', 'inactiveOrganizationIds', 'locationAddresses')); } else { Session::flash('message', 'This record has been deleted.'); Session::flash('status', 'warning'); @@ -1322,6 +1445,7 @@ public function edit($id) { $map = Map::find(1); $facility = Location::where('location_recordid', '=', $id)->first(); + if ($facility) { // if ($facility->accessibilities && isset($facility->accessibilities[0])) { @@ -1335,7 +1459,7 @@ public function edit($id) $facility_organizations = Organization::whereIn('organization_recordid', $facility_organization_recordid_list)->orderBy('organization_name')->get(); if ((Auth::user() && Auth::user()->roles) && (Auth::user() && Auth::user()->roles && Auth::user()->roles->name == 'System Admin') || (Auth::user()->roles->name == 'Section Admin') || (Auth::user() && Auth::user()->user_organization && count($facility_organizations) > 0 && str_contains(Auth::user()->user_organization, $facility_organizations[0]->organization_recordid))) { - // $organization_names = Organization::pluck("organization_name", "organization_recordid"); + if (Auth::user() && Auth::user()->user_organization && (Auth::user()->roles->name == 'Organization Admin' || Auth::user()->roles->name == 'Section Admin')) { $organization_recordid = Auth::user()->organizations ? Auth::user()->organizations->pluck('organization_recordid')->toArray() : []; if (Auth::user()->organization_tags) { @@ -1349,12 +1473,6 @@ public function edit($id) } else { $organization_names = Organization::orderBy('organization_name')->pluck("organization_name", "organization_recordid"); } - // $organization_name_list = []; - // foreach ($organization_names as $key => $value) { - // $org_names = explode(", ", trim($value->organization_name)); - // $organization_name_list = array_merge($organization_name_list, $org_names); - // } - // $organization_name_list = array_unique($organization_name_list); $organization_id = $facility->location_organization; $organization_name_info = Organization::where('organization_recordid', '=', $organization_id)->select('organization_name')->first(); @@ -1370,7 +1488,6 @@ public function edit($id) } $service_info_list = Service::whereIn('service_recordid', $service_recordid_list)->orderBy('service_name')->pluck('service_name', 'service_recordid')->toArray(); - // $service_info_list = Service::orderBy('service_name')->pluck('service_name', 'service_recordid')->toArray(); $facility_service_list = explode(',', $facility->location_services); @@ -1449,8 +1566,48 @@ public function edit($id) $regions = Region::pluck('region', 'id'); $accessibilities = Accessibility::pluck('accessibility', 'id'); + $languages = Language::pluck('language', 'id'); + + $location_languages_list = explode(', ', $facility->location_languages); + + $locationAddresses = $facility->address; + + + $location_address_1_list = []; + $location_address_2_list = []; + $location_address_attention_list = []; + $location_address_city_list = []; + $location_address_regions_list = []; + $location_address_state_list = []; + $location_zip_codes_list = []; + $location_address_country_list = []; + $location_address_type_list = []; + + foreach ($locationAddresses as $key => $value) { + $location_address_1_list[] = $value->address_1; + $location_address_2_list[] = $value->address_2; + $location_address_attention_list[] = $value->address_attention; + $location_address_city_list[] = $value->address_city; + $location_address_regions_list[] = $value->address_regions; + $location_address_state_list[] = $value->address_state_province; + $location_zip_codes_list[] = $value->address_postal_code; + $location_address_country_list[] = $value->address_country; + $location_address_type_list[] = $value->address_type ? explode(',', $value->address_type) : []; + } + + $location_address_1_list = json_encode($location_address_1_list); + $location_address_2_list = json_encode($location_address_2_list); + $location_address_attention_list = json_encode($location_address_attention_list); + $location_address_city_list = json_encode($location_address_city_list); + $location_address_regions_list = json_encode($location_address_regions_list); + $location_address_state_list = json_encode($location_address_state_list); + $location_zip_codes_list = json_encode($location_zip_codes_list); + $location_address_country_list = json_encode($location_address_country_list); + $location_address_type_list = json_encode($location_address_type_list); - return view('frontEnd.locations.edit', compact('facility', 'map', 'facility_organization_name', 'service_info_list', 'facility_service_list', 'organization_names', 'facility_organization_list', 'facility_phone_number', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'location_address_city', 'location_street_address', 'location_zip_code', 'location_state', 'phone_languages', 'phone_type', 'detail_types', 'locationDetails', 'phone_language_data', 'facilityAudits', 'phone_language_name', 'all_phones', 'regions', 'accessibilities')); + $addressTypes = AddressType::pluck('type', 'id'); + + return view('frontEnd.locations.edit', compact('facility', 'map', 'facility_organization_name', 'service_info_list', 'facility_service_list', 'organization_names', 'facility_organization_list', 'facility_phone_number', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'location_address_city', 'location_street_address', 'location_zip_code', 'location_state', 'phone_languages', 'phone_type', 'detail_types', 'locationDetails', 'phone_language_data', 'facilityAudits', 'phone_language_name', 'all_phones', 'regions', 'accessibilities', 'languages', 'location_languages_list', 'location_address_1_list', 'location_address_2_list', 'location_address_attention_list', 'location_address_city_list', 'location_address_regions_list', 'location_address_state_list', 'location_zip_codes_list', 'location_address_country_list', 'location_address_type_list', 'locationAddresses', 'addressTypes')); } else { Session::flash('message', 'Warning! Not enough permissions. Please contact Us for more'); Session::flash('status', 'warning'); @@ -1483,6 +1640,12 @@ public function update(Request $request, $id) $facility->location_description = $request->location_description; $facility->location_alternate_name = $request->location_alternate_name; $facility->location_transportation = $request->location_transportation; + $facility->location_type = $request->location_type; + $facility->location_url = $request->location_url; + $facility->external_identifier = $request->external_identifier; + $facility->external_identifier_type = $request->external_identifier_type; + $facility->accessesibility_url = $request->accessesibility_url; + $facility->location_languages = $request->location_languages ? implode(', ', $request->location_languages) : ''; // $facility->location_details = $request->location_details; // accessesibility @@ -1584,39 +1747,89 @@ public function update(Request $request, $id) } $facility->schedules()->sync($facility_schedules); - $facility_address_city = $request->facility_address_city; - $facility_street_address = $request->facility_street_address; - $facility_address_state = ''; - if ($request->facility_address_state) { - $facility_address_state = $request->facility_address_state; - } - $facility_address_zip_code = $request->facility_zip_code; - $facility_address_info = $facility_street_address . ', ' . $facility_address_city . ', ' . $facility_address_state . ', ' . $facility_address_zip_code; + // $facility_address_city = $request->facility_address_city; + // $facility_street_address = $request->facility_street_address; + // $facility_address_state = ''; + // if ($request->facility_address_state) { + // $facility_address_state = $request->facility_address_state; + // } + // $facility_address_zip_code = $request->facility_zip_code; + // $facility_address_info = $facility_street_address . ', ' . $facility_address_city . ', ' . $facility_address_state . ', ' . $facility_address_zip_code; - $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address = Address::where('address_1', '=', $facility_street_address)->first(); $address_recordid_list = []; - $address_id = ''; - if ($address) { - $address_id = $address["address_recordid"]; - $facility->location_address = $address_id; - $address->address_1 = $facility_street_address; - $address->address_city = $facility_address_city; - $address->address_state_province = $facility_address_state; - $address->address_postal_code = $facility_address_zip_code; - $address->save(); - } else { - $address = new Address; - $new_recordid = Address::max('address_recordid') + 1; - $address->address_recordid = $new_recordid; - $address->address_1 = $facility_street_address; - $address->address_city = $facility_address_city; - $address->address_state_province = $facility_address_state; - $address->address_postal_code = $facility_address_zip_code; - $facility->location_address = $new_recordid; - $address_id = $new_recordid; - $address->save(); + // $address_id = ''; + // if ($address) { + // $address_id = $address["address_recordid"]; + // $facility->location_address = $address_id; + // $address->address_1 = $facility_street_address; + // $address->address_city = $facility_address_city; + // $address->address_state_province = $facility_address_state; + // $address->address_postal_code = $facility_address_zip_code; + // $address->save(); + // } else { + // $address = new Address; + // $new_recordid = Address::max('address_recordid') + 1; + // $address->address_recordid = $new_recordid; + // $address->address_1 = $facility_street_address; + // $address->address_city = $facility_address_city; + // $address->address_state_province = $facility_address_state; + // $address->address_postal_code = $facility_address_zip_code; + // $facility->location_address = $new_recordid; + // $address_id = $new_recordid; + // $address->save(); + // } + // array_push($address_recordid_list, $address_id); + + $address_1 = $request->address_1 && isset($request->address_1[0]) ? json_decode($request->address_1[0]) : []; + $address_2 = $request->address_2 && isset($request->address_2[0]) ? json_decode($request->address_2[0]) : []; + $address_attention = $request->address_attention && isset($request->address_attention[0]) ? json_decode($request->address_attention[0]) : []; + $address_city = $request->address_city && isset($request->address_city[0]) ? json_decode($request->address_city[0]) : []; + $regions = $request->address_regions && isset($request->address_regions[0]) ? json_decode($request->address_regions[0]) : []; + $address_state = $request->address_state && isset($request->address_state[0]) ? json_decode($request->address_state[0]) : []; + $zip_codes = $request->zip_codes && isset($request->zip_codes[0]) ? json_decode($request->zip_codes[0]) : []; + $address_country = $request->address_country && isset($request->address_country[0]) ? json_decode($request->address_country[0]) : []; + $address_type = $request->address_type && isset($request->address_type[0]) ? json_decode($request->address_type[0]) : []; + $mainAddress = $request->mainAddress ?? 0; + + $address_recordid_list = []; + foreach ($address_1 as $key => $value) { + $address = Address::where('address_1', '=', $value)->first(); + $address_id = ''; + if ($address) { + $address_id = $address["address_recordid"]; + $facility->location_address = $address_id; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_region = $address_region[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->is_main = $mainAddress == $key ? true : false; + $address->save(); + } else { + $address = new Address; + $new_recordid = Address::max('address_recordid') + 1; + $address->address_recordid = $new_recordid; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->address_region = $address_region[$key] ?? null; + $address->is_main = $mainAddress == $key ? true : false; + $facility->location_address = $new_recordid; + $address_id = $new_recordid; + $address->save(); + } + array_push($address_recordid_list, $address_id); } - array_push($address_recordid_list, $address_id); $address_recordid_list = array_values(array_filter($address_recordid_list)); $facility->address()->sync($address_recordid_list); @@ -1795,8 +2008,10 @@ public function create_in_service($id) $phone_language_data = json_encode([]); $accessibilities = Accessibility::pluck('accessibility', 'id'); + $languages = Language::pluck('language', 'id'); + $addressTypes = AddressType::pluck('type', 'id'); - return view('frontEnd.locations.facility-create-in-service', compact('service_recordid', 'map', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'organization_recordid', 'organizations', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities')); + return view('frontEnd.locations.facility-create-in-service', compact('service_recordid', 'map', 'service_info_list', 'schedule_info_list', 'address_info_list', 'detail_info_list', 'address_states_list', 'address_city_list', 'organization_recordid', 'organizations', 'phone_languages', 'phone_type', 'detail_types', 'all_phones', 'phone_language_data', 'regions', 'accessibilities', 'languages', 'addressTypes')); } public function add_new_facility_in_service(Request $request) { @@ -1826,6 +2041,13 @@ public function add_new_facility_in_service(Request $request) $facility->location_transportation = $request->location_transportation; $facility->location_description = $request->location_description; + $facility->location_type = $request->location_type; + $facility->location_url = $request->location_url; + $facility->external_identifier = $request->external_identifier; + $facility->external_identifier_type = $request->external_identifier_type; + $facility->accessesibility_url = $request->accessesibility_url; + $facility->location_languages = $request->location_languages ? implode(', ', $request->location_languages) : ''; + $organization_recordid = $request->facility_organization; $facility_organization = Organization::where('organization_recordid', '=', $organization_recordid)->first(); $facility_organization_id = $facility_organization["organization_recordid"]; @@ -1864,8 +2086,8 @@ public function add_new_facility_in_service(Request $request) // } if ($request->accessibility_recordid) { $facility->accessibility_recordid = $request->accessibility_recordid; - $facility->accessibility_details = $request->accessibility_details; } + $facility->accessibility_details = $request->accessibility_details; $regions = is_array($request->regions) ? array_values(array_filter($request->regions)) : []; if ($regions) { $facility->regions()->sync($regions); @@ -1925,53 +2147,104 @@ public function add_new_facility_in_service(Request $request) $facility_address_zip_code = $request->facility_zip_code; $facility_address_info = $facility_street_address . ', ' . $facility_address_city . ', ' . $facility_address_state . ', ' . $facility_address_zip_code; - $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address = Address::where('address_1', '=', $facility_street_address)->first(); + // $address_recordid_list = []; + // $address_id = ''; + // if ($address) { + // $address_id = $address["address_recordid"]; + // $facility->location_address = $address_id; + // } else { + // $address = new Address; + // $new_recordid = Address::max('address_recordid') + 1; + // $address->address_recordid = $new_recordid; + // $address->address_1 = $facility_street_address; + // $address->address_city = $facility_address_city; + // $address->address_state_province = $facility_address_state; + // $address->address_postal_code = $facility_address_zip_code; + // $facility->location_address = $new_recordid; + // $address_id = $new_recordid; + // $address->save(); + // } + // array_push($address_recordid_list, $address_id); + + $address_1 = $request->address_1 && isset($request->address_1[0]) ? json_decode($request->address_1[0]) : []; + $address_2 = $request->address_2 && isset($request->address_2[0]) ? json_decode($request->address_2[0]) : []; + $address_attention = $request->address_attention && isset($request->address_attention[0]) ? json_decode($request->address_attention[0]) : []; + $address_city = $request->address_city && isset($request->address_city[0]) ? json_decode($request->address_city[0]) : []; + $regions = $request->address_regions && isset($request->address_regions[0]) ? json_decode($request->address_regions[0]) : []; + $address_state = $request->address_state && isset($request->address_state[0]) ? json_decode($request->address_state[0]) : []; + $zip_codes = $request->zip_codes && isset($request->zip_codes[0]) ? json_decode($request->zip_codes[0]) : []; + $address_country = $request->address_country && isset($request->address_country[0]) ? json_decode($request->address_country[0]) : []; + $address_type = $request->address_type && isset($request->address_type[0]) ? json_decode($request->address_type[0]) : []; + $mainAddress = $request->mainAddress ?? 0; + $address_recordid_list = []; - $address_id = ''; - if ($address) { - $address_id = $address["address_recordid"]; - $facility->location_address = $address_id; - } else { - $address = new Address; - $new_recordid = Address::max('address_recordid') + 1; - $address->address_recordid = $new_recordid; - $address->address_1 = $facility_street_address; - $address->address_city = $facility_address_city; - $address->address_state_province = $facility_address_state; - $address->address_postal_code = $facility_address_zip_code; - $facility->location_address = $new_recordid; - $address_id = $new_recordid; - $address->save(); + foreach ($address_1 as $key => $value) { + $address = Address::where('address_1', '=', $value)->first(); + $address_id = ''; + if ($address) { + $address_id = $address["address_recordid"]; + $facility->location_address = $address_id; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_region = $address_region[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->is_main = $mainAddress == $key ? true : false; + $address->save(); + } else { + $address = new Address; + $new_recordid = Address::max('address_recordid') + 1; + $address->address_recordid = $new_recordid; + $address->address_1 = $address_1[$key] ?? null; + $address->address_2 = $address_2[$key] ?? null; + $address->address_city = $address_city[$key] ?? null; + $address->address_state_province = $address_state[$key] ?? null; + $address->address_postal_code = $zip_codes[$key] ?? null; + $address->address_attention = $address_attention[$key] ?? null; + $address->address_country = $address_country[$key] ?? null; + $address->address_type = $address_type && isset($address_type[$key]) && is_array($address_type[$key]) ? implode(',', $address_type[$key]) : null; + $address->address_region = $address_region[$key] ?? null; + $address->is_main = $mainAddress == $key ? true : false; + $facility->location_address = $new_recordid; + $address_id = $new_recordid; + $address->save(); + } + array_push($address_recordid_list, $address_id); } - array_push($address_recordid_list, $address_id); $address_recordid_list = array_values(array_filter($address_recordid_list)); $facility->address()->sync($address_recordid_list); - $client = new \GuzzleHttp\Client(); - $geocoder = new Geocoder($client); - $map = Map::find(1); - $geocode_api_key = $map && $map->api_key ? $map->api_key : null; - $geocoder->setApiKey($geocode_api_key); + // $client = new \GuzzleHttp\Client(); + // $geocoder = new Geocoder($client); + // $map = Map::find(1); + // $geocode_api_key = $map && $map->api_key ? $map->api_key : null; + // $geocoder->setApiKey($geocode_api_key); - if ($facility->location_address) { - $address_recordid = $facility->location_address; - $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); - $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; + // if ($facility->location_address) { + // $address_recordid = $facility->location_address; + // $address_info = Address::where('address_recordid', '=', $address_recordid)->select('address_1', 'address_city', 'address_state_province', 'address_postal_code')->first(); + // $full_address_info = $address_info->address_1 . ', ' . $address_info->address_city . ', ' . $address_info->address_state_province . ', ' . $address_info->address_postal_code; - $response = $geocoder->getCoordinatesForAddress($full_address_info); + // $response = $geocoder->getCoordinatesForAddress($full_address_info); + + // if ($response['lat']) { + // $latitude = $response['lat']; + // $longitude = $response['lng']; + // $facility->location_latitude = $latitude; + // $facility->location_longitude = $longitude; + // } else { + // Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); + // Session::flash('status', 'error'); + // return redirect()->back()->withInput(); + // } + // } - if ($response['lat']) { - $latitude = $response['lat']; - $longitude = $response['lng']; - $facility->location_latitude = $latitude; - $facility->location_longitude = $longitude; - } else { - Session::flash('message', 'Address info is not valid. We can not get longitude and latitude for this address'); - Session::flash('status', 'error'); - return redirect()->back()->withInput(); - } - } $facility->location_phones = ''; $phone_recordid_list = []; if ($request->facility_phones) { diff --git a/app/Http/Controllers/frontEnd/OrganizationController.php b/app/Http/Controllers/frontEnd/OrganizationController.php index cb0fdb42..bafea47b 100644 --- a/app/Http/Controllers/frontEnd/OrganizationController.php +++ b/app/Http/Controllers/frontEnd/OrganizationController.php @@ -44,6 +44,7 @@ use App\Model\ServiceTag; use App\Model\SessionInteraction; use App\Model\State; +use App\Services\OrganizationService; use App\Services\Stringtoint; use App\User; use Carbon\Carbon; @@ -59,33 +60,30 @@ class OrganizationController extends Controller { - public $commonController; + public $commonController, $organizationService; - public function __construct(CommonController $commonController) + public function __construct(CommonController $commonController, OrganizationService $organizationService) { $this->commonController = $commonController; + $this->organizationService = $organizationService; } - public function airtable($api_key, $base_url) + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Organization::truncate(); OrganizationDetail::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -240,26 +238,22 @@ public function airtable($api_key, $base_url) $airtable->save(); } - public function airtable_v2($api_key, $base_url, $organization_tag) + public function airtable_v2($access_token, $base_url, $organization_tag) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); // Organization::truncate(); // OrganizationDetail::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -448,6 +442,11 @@ public function airtable_v2($api_key, $base_url, $organization_tag) } } + public function airtable_v3($access_token, $base_url) + { + $this->organizationService->import_airtable_v3($access_token, $base_url); + } + public function csv(Request $request) { try { @@ -1116,6 +1115,7 @@ public function store(Request $request) $organization->twitter_url = $request->twitter_url; $organization->instagram_url = $request->instagram_url; $organization->parent_organization = $request->parent_organization; + $organization->funding = $request->funding; $organization->organization_year_incorporated = $request->organization_year_incorporated; @@ -1764,7 +1764,8 @@ public function show($id) $organization_locations_recordid_list = explode(',', $organization->organization_locations); // $location_info_list = Location::whereIn('location_recordid', $organization_locations_recordid_list)->orderBy('location_recordid')->paginate(10); - $location_info_list = array_map('intval', explode(',', $organization->organization_locations)); + // $location_info_list = array_map('intval', explode(',', $organization->organization_locations)); + $location_info_list = $organization->location->pluck('location_recordid')->toArray(); // $locationIds = $organization->location()->pluck('location_recordid')->toArray(); // if (count($locationIds) > 0) { // $location_info_list = array_merge($location_info_list, $locationIds); @@ -2019,6 +2020,9 @@ public function edit($id) $location_details = []; $location_accessibility = []; $location_accessibility_details = []; + $external_identifier = []; + $external_identifier_type = []; + $accessesibility_url = []; $location_regions = []; foreach ($organization_locations_data as $key => $locationData) { $location_alternate_name[] = $locationData->location_alternate_name; @@ -2027,6 +2031,9 @@ public function edit($id) $location_schedules[] = $locationData->schedules ? $locationData->schedules->pluck('schedule_recordid')->toArray() : []; $location_description[] = $locationData->location_description; $location_details[] = $locationData->location_details; + $external_identifier[] = $locationData->external_identifier; + $external_identifier_type[] = $locationData->external_identifier_type; + $accessesibility_url[] = $locationData->accessesibility_url; if ($locationData->accessibility_recordid) { $location_accessibility[] = $locationData->accessibility_recordid; $location_accessibility_details[] = $locationData->accessibility_details; @@ -2042,6 +2049,9 @@ public function edit($id) $location_accessibility = json_encode($location_accessibility); $location_accessibility_details = json_encode($location_accessibility_details); $location_regions = json_encode($location_regions); + $external_identifier = json_encode($external_identifier); + $external_identifier_type = json_encode($external_identifier_type); + $accessesibility_url = json_encode($accessesibility_url); $contact_service = []; $contact_department = []; @@ -2239,7 +2249,7 @@ public function edit($id) $accessibilities = Accessibility::pluck('accessibility', 'id'); - return view('frontEnd.organizations.edit', compact('organization', 'map', 'organization_service_list', 'phone_info_list', 'location_info_list', 'rating_info_list', 'all_contacts', 'organizationContacts', 'organization_locations_data', 'all_locations', 'phone_languages', 'all_services', 'taxonomy_info_list', 'schedule_info_list', 'detail_info_list', 'address_info_list', 'service_info_list', 'address_states_list', 'address_city_list', 'phone_type', 'service_alternate_name', 'service_program', 'service_status', 'service_taxonomies', 'service_application_process', 'service_wait_time', 'service_fees', 'service_accreditations', 'service_licenses', 'service_schedules', 'service_details', 'service_address', 'service_metadata', 'service_airs_taxonomy_x', 'location_alternate_name', 'location_transporation', 'location_service', 'location_schedules', 'location_description', 'location_details', 'contact_service', 'contact_department', 'contact_phone_numbers', 'contact_phone_extensions', 'contact_phone_types', 'contact_phone_languages', 'contact_phone_descriptions', 'location_phone_numbers', 'location_phone_extensions', 'location_phone_types', 'location_phone_languages', 'location_phone_descriptions', 'opens_location_monday_datas', 'closes_location_monday_datas', 'schedule_closed_monday_datas', 'opens_location_tuesday_datas', 'closes_location_tuesday_datas', 'schedule_closed_tuesday_datas', 'opens_location_wednesday_datas', 'closes_location_wednesday_datas', 'schedule_closed_wednesday_datas', 'opens_location_thursday_datas', 'closes_location_thursday_datas', 'schedule_closed_thursday_datas', 'opens_location_friday_datas', 'closes_location_friday_datas', 'schedule_closed_friday_datas', 'opens_location_saturday_datas', 'closes_location_saturday_datas', 'schedule_closed_saturday_datas', 'opens_location_sunday_datas', 'closes_location_sunday_datas', 'schedule_closed_sunday_datas', 'location_holiday_start_dates', 'location_holiday_end_dates', 'location_holiday_open_ats', 'location_holiday_close_ats', 'location_holiday_closeds', 'phone_language_data', 'organizationAudits', 'organizationStatus', 'contactServices', 'contactOrganization', 'phone_language_name', 'all_phones', 'location_accessibility', 'location_accessibility_details', 'location_regions', 'regions', 'method_list', 'disposition_list', 'parent_organizations', 'all_programs', 'accessibilities')); + return view('frontEnd.organizations.edit', compact('organization', 'map', 'organization_service_list', 'phone_info_list', 'location_info_list', 'rating_info_list', 'all_contacts', 'organizationContacts', 'organization_locations_data', 'all_locations', 'phone_languages', 'all_services', 'taxonomy_info_list', 'schedule_info_list', 'detail_info_list', 'address_info_list', 'service_info_list', 'address_states_list', 'address_city_list', 'phone_type', 'service_alternate_name', 'service_program', 'service_status', 'service_taxonomies', 'service_application_process', 'service_wait_time', 'service_fees', 'service_accreditations', 'service_licenses', 'service_schedules', 'service_details', 'service_address', 'service_metadata', 'service_airs_taxonomy_x', 'location_alternate_name', 'location_transporation', 'location_service', 'location_schedules', 'location_description', 'location_details', 'contact_service', 'contact_department', 'contact_phone_numbers', 'contact_phone_extensions', 'contact_phone_types', 'contact_phone_languages', 'contact_phone_descriptions', 'location_phone_numbers', 'location_phone_extensions', 'location_phone_types', 'location_phone_languages', 'location_phone_descriptions', 'opens_location_monday_datas', 'closes_location_monday_datas', 'schedule_closed_monday_datas', 'opens_location_tuesday_datas', 'closes_location_tuesday_datas', 'schedule_closed_tuesday_datas', 'opens_location_wednesday_datas', 'closes_location_wednesday_datas', 'schedule_closed_wednesday_datas', 'opens_location_thursday_datas', 'closes_location_thursday_datas', 'schedule_closed_thursday_datas', 'opens_location_friday_datas', 'closes_location_friday_datas', 'schedule_closed_friday_datas', 'opens_location_saturday_datas', 'closes_location_saturday_datas', 'schedule_closed_saturday_datas', 'opens_location_sunday_datas', 'closes_location_sunday_datas', 'schedule_closed_sunday_datas', 'location_holiday_start_dates', 'location_holiday_end_dates', 'location_holiday_open_ats', 'location_holiday_close_ats', 'location_holiday_closeds', 'phone_language_data', 'organizationAudits', 'organizationStatus', 'contactServices', 'contactOrganization', 'phone_language_name', 'all_phones', 'location_accessibility', 'location_accessibility_details', 'location_regions', 'regions', 'method_list', 'disposition_list', 'parent_organizations', 'all_programs', 'accessibilities', 'external_identifier', 'external_identifier_type', 'accessesibility_url')); } else { Session::flash('message', 'Warning! Not enough permissions. Please contact Us for more'); Session::flash('status', 'warning'); @@ -2288,6 +2298,7 @@ public function update(Request $request, $id) $organization->twitter_url = $request->twitter_url; $organization->instagram_url = $request->instagram_url; $organization->parent_organization = $request->parent_organization; + $organization->funding = $request->funding; $organization->organization_year_incorporated = $request->organization_year_incorporated; @@ -2496,6 +2507,10 @@ public function update(Request $request, $id) $location_accessibility = $request->location_accessibility && count($request->location_accessibility) > 0 ? json_decode($request->location_accessibility[0], true) : []; $location_accessibility_details = $request->location_accessibility_details && count($request->location_accessibility_details) > 0 ? json_decode($request->location_accessibility_details[0], true) : []; + $external_identifier = $request->external_identifier && count($request->external_identifier) > 0 ? json_decode($request->external_identifier[0]) : []; + $external_identifier_type = $request->external_identifier_type && count($request->external_identifier_type) > 0 ? json_decode($request->external_identifier_type[0]) : []; + $accessesibility_url = $request->accessesibility_url && count($request->accessesibility_url) > 0 ? json_decode($request->accessesibility_url[0]) : []; + $location_regions = $request->location_regions && count($request->location_regions) > 0 ? json_decode($request->location_regions[0], true) : []; for ($i = 0; $i < count($request->location_name); $i++) { @@ -2525,10 +2540,13 @@ public function update(Request $request, $id) $location->location_organization = $id; $organization->organization_locations = $organization->organization_locations . ',' . $newLocationId; - $location->location_alternate_name = $location_alternate_name[$i]; - $location->location_transportation = $location_transporation[$i]; - $location->location_description = $location_description[$i]; - $location->location_details = $location_details[$i]; + $location->location_alternate_name = $location_alternate_name[$i] ?? null; + $location->location_transportation = $location_transporation[$i] ?? null; + $location->location_description = $location_description[$i] ?? null; + $location->location_details = $location_details[$i] ?? null; + $location->external_identifier = isset($external_identifier[$i]) ? $external_identifier[$i] : null; + $location->external_identifier_type = isset($external_identifier_type[$i]) ? $external_identifier_type[$i] : null; + $location->accessesibility_url = isset($accessesibility_url[$i]) ? $accessesibility_url[$i] : null; // accessesibility if (!empty($location_accessibility[$i]) && !empty($location_accessibility_details[$i])) { @@ -2659,6 +2677,9 @@ public function update(Request $request, $id) $location->location_transportation = $location_transporation[$i]; $location->location_description = $location_description[$i]; $location->location_details = $location_details[$i]; + $location->external_identifier = isset($external_identifier[$i]) ? $external_identifier[$i] : null; + $location->external_identifier_type = isset($external_identifier_type[$i]) ? $external_identifier_type[$i] : null; + $location->accessesibility_url = isset($accessesibility_url[$i]) ? $accessesibility_url[$i] : null; // accessesibility diff --git a/app/Http/Controllers/frontEnd/PhoneController.php b/app/Http/Controllers/frontEnd/PhoneController.php index baf49912..6907d23a 100644 --- a/app/Http/Controllers/frontEnd/PhoneController.php +++ b/app/Http/Controllers/frontEnd/PhoneController.php @@ -16,32 +16,37 @@ use App\Model\Phone; use App\Model\ServicePhone; use App\Model\Source_data; +use App\Services\PhoneService; use App\Services\Stringtoint; use Carbon\Carbon; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; use Maatwebsite\Excel\Facades\Excel; class PhoneController extends Controller { + public $phoneService; - public function airtable($api_key, $base_url) + public function __construct(PhoneService $phoneService) + { + $this->phoneService = $phoneService; + } + + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Phone::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -125,14 +130,14 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -141,12 +146,8 @@ public function airtable_v2($api_key, $base_url) // ContactPhone::truncate(); // ServicePhone::truncate(); // LocationPhone::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -293,13 +294,18 @@ public function airtable_v2($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } catch (\Throwable $th) { - \Log::error('Error in Phone: ' . $th->getMessage()); + Log::error('Error in Phone: ' . $th->getMessage()); return response()->json([ 'message' => $th->getMessage(), 'success' => false ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->phoneService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * diff --git a/app/Http/Controllers/frontEnd/ScheduleController.php b/app/Http/Controllers/frontEnd/ScheduleController.php index 1e45cd55..90b1ba28 100644 --- a/app/Http/Controllers/frontEnd/ScheduleController.php +++ b/app/Http/Controllers/frontEnd/ScheduleController.php @@ -13,6 +13,7 @@ use App\Model\Schedule; use App\Model\ServiceSchedule; use App\Model\Source_data; +use App\Services\ScheduleService; use App\Services\Stringtoint; use Carbon\Carbon; use Illuminate\Http\Request; @@ -22,25 +23,28 @@ class ScheduleController extends Controller { + public $scheduleService; - public function airtable($api_key, $base_url) + public function __construct(ScheduleService $scheduleService) + { + $this->scheduleService = $scheduleService; + } + + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Schedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -114,24 +118,21 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); // Schedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -232,6 +233,11 @@ public function airtable_v2($api_key, $base_url) ], 500); } } + + public function airtable_v3($access_token, $base_url) + { + $this->scheduleService->import_airtable_v3($access_token, $base_url); + } /** * Display a listing of the resource. * diff --git a/app/Http/Controllers/frontEnd/ServiceController.php b/app/Http/Controllers/frontEnd/ServiceController.php index 43c83b9c..28c2ba08 100644 --- a/app/Http/Controllers/frontEnd/ServiceController.php +++ b/app/Http/Controllers/frontEnd/ServiceController.php @@ -63,6 +63,7 @@ use App\Model\SessionInteraction; use App\Model\State; use App\Model\TaxonomyEmail; +use App\Services\ServiceDataService; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; @@ -77,11 +78,12 @@ class ServiceController extends Controller { - public $commonController; + public $commonController, $serviceDataService; - public function __construct(CommonController $commonControllerData) + public function __construct(CommonController $commonControllerData, ServiceDataService $serviceDataService) { $this->commonController = $commonControllerData; + $this->serviceDataService = $serviceDataService; } /** @@ -522,6 +524,8 @@ public function store(Request $request) $service->service_airs_taxonomy_x = $request->service_airs_taxonomy_x; $service->service_code = $request->service_code; $service->access_requirement = $request->access_requirement; + $service->alert = $request->alert; + $service->funding = $request->funding; $this->saveRequiredDocument($request, $service_recordid); @@ -1722,6 +1726,9 @@ public function edit($id) $location_details = []; $location_accessibility = []; $location_accessibility_details = []; + $external_identifier = []; + $external_identifier_type = []; + $accessesibility_url = []; $location_regions = []; foreach ($service_locations_data as $key => $locationData) { $location_alternate_name[] = $locationData->location_alternate_name; @@ -1730,6 +1737,9 @@ public function edit($id) $location_schedules[] = $locationData->schedules ? $locationData->schedules->pluck('schedule_recordid')->toArray() : []; $location_description[] = $locationData->location_description; $location_details[] = $locationData->location_details; + $external_identifier[] = $locationData->external_identifier; + $external_identifier_type[] = $locationData->external_identifier_type; + $accessesibility_url[] = $locationData->accessesibility_url; if ($locationData->accessibility_recordid) { $location_accessibility[$key] = $locationData->accessibility_recordid; $location_accessibility_details[$key] = $locationData->accessibility_details; @@ -1745,6 +1755,9 @@ public function edit($id) $location_accessibility = json_encode($location_accessibility); $location_accessibility_details = json_encode($location_accessibility_details); $location_regions = json_encode($location_regions); + $external_identifier = json_encode($external_identifier); + $external_identifier_type = json_encode($external_identifier_type); + $accessesibility_url = json_encode($accessesibility_url); $contact_service = []; $contact_department = []; @@ -1927,7 +1940,7 @@ public function edit($id) $service_eligibility_types = Taxonomy::orderBy('taxonomy_name')->whereNull('taxonomy_parent_name')->where('taxonomy', $serviceEligibilityId ? $serviceEligibilityId->taxonomy_type_recordid : '')->pluck('taxonomy_name', 'taxonomy_recordid'); - $service_category_term_data = $service->taxonomy()->where('taxonomy', $serviceCategoryId->taxonomy_type_recordid)->get(); + $service_category_term_data = $serviceCategoryId ? $service->taxonomy()->where('taxonomy', $serviceCategoryId->taxonomy_type_recordid)->get() : []; // $service_category_term_data = $service->taxonomy()->where('taxonomy', $serviceCategoryId->taxonomy_type_recordid)->get(); // ->whereNotNull('taxonomy_parent_name') @@ -1985,7 +1998,7 @@ public function edit($id) // } // $t++; // } - $service_eligibility_term_data = $service->taxonomy()->where('taxonomy', $serviceEligibilityId->taxonomy_type_recordid)->get(); + $service_eligibility_term_data = $serviceEligibilityId ? $service->taxonomy()->where('taxonomy', $serviceEligibilityId->taxonomy_type_recordid)->get() : []; $service_eligibility_type_data = []; $removableIds = []; $selected_eligibility_ids = []; @@ -2076,7 +2089,7 @@ public function edit($id) $accessibilities = Accessibility::pluck('accessibility', 'id'); - return view('frontEnd.services.edit', compact('service', 'map', 'service_address_street', 'service_address_city', 'service_address_state', 'service_address_postal_code', 'service_organization_list', 'service_location_list', 'service_phone1', 'service_phone2', 'service_contacts_list', 'service_taxonomy_list', 'service_details_list', 'location_info_list', 'contact_info_list', 'taxonomy_info_list', 'detail_info_list', 'ServiceSchedule', 'ServiceDetails', 'monday', 'tuesday', 'wednesday', 'friday', 'saturday', 'thursday', 'sunday', 'holiday_schedules', 'all_contacts', 'service_locations_data', 'all_locations', 'phone_languages', 'phone_type', 'location_alternate_name', 'location_transporation', 'location_service', 'location_schedules', 'location_description', 'location_details', 'contact_service', 'contact_department', 'service_info_list', 'address_states_list', 'address_city_list', 'schedule_info_list', 'contact_phone_numbers', 'contact_phone_extensions', 'contact_phone_types', 'contact_phone_languages', 'contact_phone_descriptions', 'location_phone_numbers', 'location_phone_extensions', 'location_phone_types', 'location_phone_languages', 'location_phone_descriptions', 'opens_location_monday_datas', 'closes_location_monday_datas', 'schedule_closed_monday_datas', 'opens_location_tuesday_datas', 'closes_location_tuesday_datas', 'schedule_closed_tuesday_datas', 'opens_location_wednesday_datas', 'closes_location_wednesday_datas', 'schedule_closed_wednesday_datas', 'opens_location_thursday_datas', 'closes_location_thursday_datas', 'schedule_closed_thursday_datas', 'opens_location_friday_datas', 'closes_location_friday_datas', 'schedule_closed_friday_datas', 'opens_location_saturday_datas', 'closes_location_saturday_datas', 'schedule_closed_saturday_datas', 'opens_location_sunday_datas', 'closes_location_sunday_datas', 'schedule_closed_sunday_datas', 'location_holiday_start_dates', 'location_holiday_end_dates', 'location_holiday_open_ats', 'location_holiday_close_ats', 'location_holiday_closeds', 'service_status_list', 'address_info_list', 'addressIds', 'serviceDetailsData', 'detail_types', 'phone_language_data', 'service_category_term_data', 'service_category_type_data', 'service_category_types', 'service_eligibility_types', 'service_eligibility_term_data', 'service_eligibility_type_data', 'program', 'all_programs', 'program_names', 'program_descriptions', 'serviceAudits', 'contactOrganization', 'all_phones', 'phone_language_name', 'conditions', 'goals', 'activities', 'service_codes', 'help_text', 'layout', 'service_area', 'fee_options', 'areas', 'fees', 'location_accessibility', 'location_accessibility_details', 'location_regions', 'regions', 'codes', 'selected_ids', 'procedure_grouping', 'selected_category_ids', 'selected_eligibility_ids', 'selected_details_value', 'selected_details_types', 'disposition_list', 'method_list', 'serviceStatus', 'languages', 'interpretation_services', 'requiredDocumentTypes', 'accessibilities')); + return view('frontEnd.services.edit', compact('service', 'map', 'service_address_street', 'service_address_city', 'service_address_state', 'service_address_postal_code', 'service_organization_list', 'service_location_list', 'service_phone1', 'service_phone2', 'service_contacts_list', 'service_taxonomy_list', 'service_details_list', 'location_info_list', 'contact_info_list', 'taxonomy_info_list', 'detail_info_list', 'ServiceSchedule', 'ServiceDetails', 'monday', 'tuesday', 'wednesday', 'friday', 'saturday', 'thursday', 'sunday', 'holiday_schedules', 'all_contacts', 'service_locations_data', 'all_locations', 'phone_languages', 'phone_type', 'location_alternate_name', 'location_transporation', 'location_service', 'location_schedules', 'location_description', 'location_details', 'contact_service', 'contact_department', 'service_info_list', 'address_states_list', 'address_city_list', 'schedule_info_list', 'contact_phone_numbers', 'contact_phone_extensions', 'contact_phone_types', 'contact_phone_languages', 'contact_phone_descriptions', 'location_phone_numbers', 'location_phone_extensions', 'location_phone_types', 'location_phone_languages', 'location_phone_descriptions', 'opens_location_monday_datas', 'closes_location_monday_datas', 'schedule_closed_monday_datas', 'opens_location_tuesday_datas', 'closes_location_tuesday_datas', 'schedule_closed_tuesday_datas', 'opens_location_wednesday_datas', 'closes_location_wednesday_datas', 'schedule_closed_wednesday_datas', 'opens_location_thursday_datas', 'closes_location_thursday_datas', 'schedule_closed_thursday_datas', 'opens_location_friday_datas', 'closes_location_friday_datas', 'schedule_closed_friday_datas', 'opens_location_saturday_datas', 'closes_location_saturday_datas', 'schedule_closed_saturday_datas', 'opens_location_sunday_datas', 'closes_location_sunday_datas', 'schedule_closed_sunday_datas', 'location_holiday_start_dates', 'location_holiday_end_dates', 'location_holiday_open_ats', 'location_holiday_close_ats', 'location_holiday_closeds', 'service_status_list', 'address_info_list', 'addressIds', 'serviceDetailsData', 'detail_types', 'phone_language_data', 'service_category_term_data', 'service_category_type_data', 'service_category_types', 'service_eligibility_types', 'service_eligibility_term_data', 'service_eligibility_type_data', 'program', 'all_programs', 'program_names', 'program_descriptions', 'serviceAudits', 'contactOrganization', 'all_phones', 'phone_language_name', 'conditions', 'goals', 'activities', 'service_codes', 'help_text', 'layout', 'service_area', 'fee_options', 'areas', 'fees', 'location_accessibility', 'location_accessibility_details', 'location_regions', 'regions', 'codes', 'selected_ids', 'procedure_grouping', 'selected_category_ids', 'selected_eligibility_ids', 'selected_details_value', 'selected_details_types', 'disposition_list', 'method_list', 'serviceStatus', 'languages', 'interpretation_services', 'requiredDocumentTypes', 'accessibilities', 'external_identifier', 'external_identifier_type', 'accessesibility_url')); } else { Session::flash('message', 'Warning! Not enough permissions. Please contact Us for more'); Session::flash('status', 'warning'); @@ -2129,6 +2142,8 @@ public function update(Request $request, $id) $service->minimum_age = $request->minimum_age; $service->maximum_age = $request->maximum_age; $service->service_alert = $request->service_alert; + $service->alert = $request->alert; + $service->funding = $request->funding; $service->service_language = $request->service_language ? implode(',', $request->service_language) : ''; $service->service_interpretation = $request->service_interpretation; $this->saveRequiredDocument($request, $id); @@ -2373,6 +2388,10 @@ public function update(Request $request, $id) $location_schedules = $request->location_schedules && count($request->location_schedules) > 0 ? json_decode($request->location_schedules[0]) : []; $location_description = $request->location_description && count($request->location_description) > 0 ? json_decode($request->location_description[0]) : []; $location_details = $request->location_details && count($request->location_details) > 0 ? json_decode($request->location_details[0]) : []; + + $external_identifier = $request->external_identifier && count($request->external_identifier) > 0 ? json_decode($request->external_identifier[0]) : []; + $external_identifier_type = $request->external_identifier_type && count($request->external_identifier_type) > 0 ? json_decode($request->external_identifier_type[0]) : []; + $accessesibility_url = $request->accessesibility_url && count($request->accessesibility_url) > 0 ? json_decode($request->accessesibility_url[0]) : []; // accessibility $location_accessibility = $request->location_accessibility && count($request->location_accessibility) > 0 ? json_decode($request->location_accessibility[0], true) : []; @@ -2434,6 +2453,9 @@ public function update(Request $request, $id) $location->location_transportation = isset($location_transporation[$i]) ? $location_transporation[$i] : null; $location->location_description = isset($location_description[$i]) ? $location_description[$i] : null; $location->location_details = isset($location_details[$i]) ? $location_details[$i] : null; + $location->external_identifier = isset($external_identifier[$i]) ? $external_identifier[$i] : null; + $location->external_identifier_type = isset($external_identifier_type[$i]) ? $external_identifier_type[$i] : null; + $location->accessesibility_url = isset($accessesibility_url[$i]) ? $accessesibility_url[$i] : null; // accessesibility @@ -2614,6 +2636,9 @@ public function update(Request $request, $id) $location->location_transportation = isset($location_transporation[$i]) ? $location_transporation[$i] : null; $location->location_description = isset($location_description[$i]) ? $location_description[$i] : null; $location->location_details = isset($location_details[$i]) ? $location_details[$i] : null; + $location->external_identifier = isset($external_identifier[$i]) ? $external_identifier[$i] : null; + $location->external_identifier_type = isset($external_identifier_type[$i]) ? $external_identifier_type[$i] : null; + $location->accessesibility_url = isset($accessesibility_url[$i]) ? $accessesibility_url[$i] : null; // accessesibility @@ -3207,14 +3232,14 @@ public function test_airtable($api_key, $base_url) return $response_text; } - public function airtable($api_key, $base_url) + public function airtable($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); @@ -3228,12 +3253,8 @@ public function airtable($api_key, $base_url) ServiceTaxonomy::truncate(); ServiceSchedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); $request = $airtable->getContent('services'); @@ -3444,16 +3465,9 @@ public function airtable($api_key, $base_url) } } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { - // $airtable_key_info = Airtablekeyinfo::find(1); - // if (!$airtable_key_info) { - // $airtable_key_info = new Airtablekeyinfo; - // } - // $airtable_key_info->api_key = $api_key; - // $airtable_key_info->base_url = $base_url; - // $airtable_key_info->save(); // Service::truncate(); // ServiceLocation::truncate(); @@ -3465,12 +3479,8 @@ public function airtable_v2($api_key, $base_url) // ServiceTaxonomy::truncate(); // ServiceSchedule::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); $request = $airtable->getContent('services'); @@ -3676,6 +3686,11 @@ public function airtable_v2($api_key, $base_url) } } + public function airtable_v3($access_token, $base_url) + { + $this->serviceDataService->service_airtable_v3($access_token, $base_url); + } + public function csv(Request $request) { try { diff --git a/app/Http/Controllers/frontEnd/TaxonomyController.php b/app/Http/Controllers/frontEnd/TaxonomyController.php index 562d35dd..e100ba45 100644 --- a/app/Http/Controllers/frontEnd/TaxonomyController.php +++ b/app/Http/Controllers/frontEnd/TaxonomyController.php @@ -22,6 +22,7 @@ use App\Model\TaxonomyTerm; use App\Model\TaxonomyType; use App\Services\Stringtoint; +use App\Services\TaxonomyService; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -34,25 +35,28 @@ class TaxonomyController extends Controller { + public $taxonomyService; - public function airtable($api_key, $base_url) + public function __construct(TaxonomyService $taxonomyService) + { + $this->taxonomyService = $taxonomyService; + } + + public function airtable($access_token, $base_url) { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); Taxonomy::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -107,24 +111,21 @@ public function airtable($api_key, $base_url) $airtable->syncdate = $date; $airtable->save(); } - public function airtable_v2($api_key, $base_url) + public function airtable_v2($access_token, $base_url) { try { $airtable_key_info = Airtablekeyinfo::find(1); if (!$airtable_key_info) { $airtable_key_info = new Airtablekeyinfo; } - $airtable_key_info->api_key = $api_key; + $airtable_key_info->access_token = $access_token; $airtable_key_info->base_url = $base_url; $airtable_key_info->save(); // Taxonomy::truncate(); - // $airtable = new Airtable(array( - // 'api_key' => env('AIRTABLE_API_KEY'), - // 'base' => env('AIRTABLE_BASE_URL'), - // )); + $airtable = new Airtable(array( - 'api_key' => $api_key, + 'access_token' => $access_token, 'base' => $base_url, )); @@ -256,6 +257,11 @@ public function airtable_v2($api_key, $base_url) } } + public function airtable_v3($access_token, $base_url) + { + $this->taxonomyService->import_airtable_v3($access_token, $base_url); + } + public function csv(Request $request) { try { @@ -382,13 +388,16 @@ public function index() $value->taxonomy_parent_name = $parent_name; return true; }); + + $statuses = Taxonomy::pluck('status', 'status'); + $tags = Taxonomy::pluck('taxonomy_tag', 'taxonomy_tag'); $languages = Language::orderBy('order')->pluck('language', 'language'); $source_data = Source_data::find(1); $layout = Layout::find(1); $alt_taxonomies = Alt_taxonomy::all(); $taxonomy_parent_name = Taxonomy::whereNull('taxonomy_parent_name')->pluck('taxonomy_name', 'taxonomy_recordid'); - return view('backEnd.tables.tb_taxonomy', compact('taxonomies', 'source_data', 'alt_taxonomies', 'taxonomy_parent_name', 'layout', 'languages', 'taxonomieTypes', 'taxonomieParents', 'taxonomyAllParents', 'taxonomieTypesExternal')); + return view('backEnd.tables.tb_taxonomy', compact('taxonomies', 'source_data', 'alt_taxonomies', 'taxonomy_parent_name', 'layout', 'languages', 'taxonomieTypes', 'taxonomieParents', 'taxonomyAllParents', 'taxonomieTypesExternal', 'statuses', 'tags')); } /** @@ -457,7 +466,10 @@ public function store(Request $request) } $taxonomy->badge_color = $badge_color; $taxonomy->taxonomy_x_notes = $request->taxonomy_x_notes; - $taxonomy->status = 'Unpublished'; + $taxonomy->status = $request->status; + $taxonomy->code = $request->code; + $taxonomy->term_uri = $request->term_uri; + $taxonomy->taxonomy_tag = $request->taxonomy_tag; $taxonomy->created_by = Auth::id(); $taxonomy->additional_taxonomy_type()->sync($request->x_taxonomies); $taxonomy->taxonomy_type()->sync($request->taxonomy); @@ -495,7 +507,7 @@ public function store(Request $request) */ public function show($id) { - $taxonomy = Taxonomy::with('user')->find($id); + $taxonomy = Taxonomy::with(['user', 'updatedUser'])->find($id); $taxonomyTypeId = $taxonomy->taxonomy; // $row->taxonomy_type && count($row->taxonomy_type) > 0 ? $row->taxonomy_type[0]->name : '' @@ -563,6 +575,10 @@ public function show($id) $taxonomy->badge_color = '#' . $taxonomy->badge_color; } $taxonomy->parentData = $parentData; + // $taxonomy->created_at = date('Y-m-d H:i:s', strtotime($taxonomy->created_at)); + // $taxonomy->updated_at = date('Y-m-d H:i:s', strtotime($taxonomy->updated_at)); + + $taxonomy->updated_by = $taxonomy->updatedUser ? $taxonomy->updatedUser->first_name . ' ' . $taxonomy->updatedUser->last_name : ''; return response()->json($taxonomy); } @@ -660,6 +676,11 @@ public function taxonommyUpdate(Request $request) $taxonomy->taxonomy_name = $request->taxonomy_name; $taxonomy->taxonomy_vocabulary = $request->taxonomy_vocabulary; $taxonomy->x_taxonomies = $request->x_taxonomies; + $taxonomy->code = $request->code; + $taxonomy->status = $request->status; + $taxonomy->term_uri = $request->term_uri; + $taxonomy->taxonomy_tag = $request->taxonomy_tag; + $taxonomy->updated_by = auth()->id(); if ($request->taxonomy) { $taxonomy->taxonomy = $request->taxonomy; @@ -894,6 +915,19 @@ public function getAllTaxonomy(Request $request, $id = null) $query->where('taxonomy', $taxonomyType->taxonomy_type_recordid); } } + if (isset($extraData['language_select']) && $extraData['language_select']) { + $query->where('language', $extraData['language_select']); + } + if (isset($extraData['tags_filter']) && $extraData['tags_filter']) { + $query->where('taxonomy_tag', $extraData['tags_filter']); + } + if (isset($extraData['status_select']) && $extraData['status_select']) { + $query->where('status', $extraData['status_select']); + } + if (isset($extraData['taxonomy_with_services']) && $extraData['taxonomy_with_services'] && $extraData['taxonomy_with_services'] == true) { + $taxonomyRecordids = ServiceTaxonomy::pluck('taxonomy_recordid')->unique()->values(); + $query->whereIn('taxonomy_recordid', $taxonomyRecordids); + } if (isset($extraData['parent_filter']) && $extraData['parent_filter']) { $parentData = Taxonomy::whereIn('taxonomy_name', $extraData['parent_filter'])->pluck('taxonomy_recordid')->toArray(); if (in_array('all', $extraData['parent_filter']) && in_array('none', $extraData['parent_filter'])) { diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index d859e037..e5649316 100755 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -16,7 +16,6 @@ class Kernel extends HttpKernel protected $middleware = [ // \App\Http\Middleware\TrustHosts::class, \App\Http\Middleware\TrustProxies::class, - \Fruitcake\Cors\HandleCors::class, \App\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php index 14befceb..c98606c8 100644 --- a/app/Http/Middleware/TrustProxies.php +++ b/app/Http/Middleware/TrustProxies.php @@ -2,7 +2,7 @@ namespace App\Http\Middleware; -use Fideloper\Proxy\TrustProxies as Middleware; +use Illuminate\Http\Middleware\TrustProxies as Middleware; use Illuminate\Http\Request; class TrustProxies extends Middleware @@ -19,5 +19,10 @@ class TrustProxies extends Middleware * * @var int */ - protected $headers = Request::HEADER_X_FORWARDED_ALL; + protected $headers = + Request::HEADER_X_FORWARDED_FOR | + Request::HEADER_X_FORWARDED_HOST | + Request::HEADER_X_FORWARDED_PORT | + Request::HEADER_X_FORWARDED_PROTO | + Request::HEADER_X_FORWARDED_AWS_ELB; } diff --git a/app/Model/Accessibility.php b/app/Model/Accessibility.php index 8b623dc0..addb2f65 100644 --- a/app/Model/Accessibility.php +++ b/app/Model/Accessibility.php @@ -7,7 +7,7 @@ class Accessibility extends Model { protected $fillable = [ - 'accessibility_recordid', 'accessibility_location', 'accessibility', 'accessibility_details' + 'accessibility_recordid', 'accessibility_location', 'accessibility', 'accessibility_details', 'accessibility_url' ]; public function location() diff --git a/app/Model/Address.php b/app/Model/Address.php index 66892936..5680b6ca 100644 --- a/app/Model/Address.php +++ b/app/Model/Address.php @@ -9,9 +9,36 @@ class Address extends Model protected $primaryKey = 'address_recordid'; protected $fillable = [ - 'address_recordid', 'address_1', 'address_2', 'address_city', 'address_state_province', 'address_postal_code', 'address_region', 'address_country', 'address_attention', 'address_type', 'address_locations', 'address_services', 'address_organization', 'flag' + 'address_recordid', 'address_1', 'address_2', 'address_city', 'address_state_province', 'address_postal_code', 'address_region', 'address_country', 'address_attention', 'address_type', 'address_locations', 'address_services', 'address_organization', 'flag', 'is_main' ]; + public function getFullAddressAttribute() + { + $address = ''; + $address .= $this->address_1; + $address .= ' ' . $this->address_2; + $address .= ' ' . $this->address_city; + $address .= ' ' . $this->address_state_province; + $address .= ', ' . $this->address_postal_code; + + return $address; + } + + public function getAddressTypeDataAttribute() + { + $typeString = []; + if ($this->address_type) { + $addressTypeIds = explode(',', $this->address_type); + + $addressTypes = AddressType::whereIn('id', $addressTypeIds)->get(); + foreach ($addressTypes as $key => $value) { + $typeString[] = $value->type; + } + } + + return implode(', ', $typeString); + } + public function locations() { return $this->belongsToMany('App\Model\Location', 'location_addresses', 'address_recordid', 'location_recordid'); diff --git a/app/Model/AddressType.php b/app/Model/AddressType.php new file mode 100644 index 00000000..903c052f --- /dev/null +++ b/app/Model/AddressType.php @@ -0,0 +1,15 @@ +belongsTo('App\Model\Organization', 'contact_organizations', 'organization_recordid'); - // return $this->belongsToMany('App\Model\Organization', 'organizations_contacts', 'contact_recordid', 'organization_recordid'); + // return $this->belongsToMany('App\Model\Organization', 'organization_contacts', 'contact_recordid', 'organization_recordid'); + } + + public function organizations() + { + return $this->belongsToMany('App\Model\Organization', 'organization_contacts', 'contact_recordid', 'organization_recordid'); } public function service() diff --git a/app/Model/CostOption.php b/app/Model/CostOption.php new file mode 100644 index 00000000..8843d403 --- /dev/null +++ b/app/Model/CostOption.php @@ -0,0 +1,21 @@ +primaryKey = 'cost_recordid'; + return $this->belongsToMany('App\Model\Service', 'service_costs', 'cost_recordid', 'service_recordid'); + } +} diff --git a/app/Model/Funding.php b/app/Model/Funding.php new file mode 100644 index 00000000..e32c9fa5 --- /dev/null +++ b/app/Model/Funding.php @@ -0,0 +1,25 @@ +primaryKey = 'funding_recordid'; + return $this->belongsToMany('App\Model\Service', 'service_fundings', 'funding_recordid', 'service_recordid'); + } + + public function organizationsData() + { + $this->primaryKey = 'funding_recordid'; + return $this->belongsToMany('App\Model\Organization', 'organization_fundings', 'funding_recordid', 'organization_recordid'); + } +} diff --git a/app/Model/Identifier.php b/app/Model/Identifier.php new file mode 100644 index 00000000..4f9beeba --- /dev/null +++ b/app/Model/Identifier.php @@ -0,0 +1,18 @@ +primaryKey = 'organization_recordid'; + return $this->belongsToMany('App\Model\Organization', 'organization_identifiers', 'identifier_recordid', 'organization_recordid'); + } +} diff --git a/app/Model/Language.php b/app/Model/Language.php index b497acad..34ccbb1c 100644 --- a/app/Model/Language.php +++ b/app/Model/Language.php @@ -20,4 +20,9 @@ public function location() { return $this->belongsTo('App\Model\Location', 'language_location', 'location_recordid'); } + + public function locations() + { + return $this->belongsToMany('App\Model\Location', 'location_languages', 'language_recordid', 'location_recordid'); + } } diff --git a/app/Model/Location.php b/app/Model/Location.php index c130368e..497c2928 100644 --- a/app/Model/Location.php +++ b/app/Model/Location.php @@ -19,7 +19,7 @@ class Location extends Model implements ContractsAuditable ]; protected $fillable = [ - 'location_recordid', 'location_name', 'location_organization', 'location_alternate_name', 'location_transportation', 'location_latitude', 'location_longitude', 'location_description', 'location_services', 'location_phones', 'location_details', 'location_schedule', 'location_address', 'flag', 'updated_by', 'created_by', 'accessibility_recordid', 'accessibility_details' + 'location_recordid', 'location_name', 'location_organization', 'location_alternate_name', 'location_transportation', 'location_latitude', 'location_longitude', 'location_description', 'location_services', 'location_phones', 'location_details', 'location_schedule', 'location_address', 'flag', 'updated_by', 'created_by', 'accessibility_recordid', 'accessibility_details', 'location_type', 'location_url', 'external_identifier', 'external_identifier_type', 'location_languages', 'accessesibility_url' ]; public function organization() @@ -45,12 +45,14 @@ public function detail() public function languages() { - return $this->hasMany('App\Model\Language', 'language_location', 'location_recordid'); + // return $this->hasMany('App\Model\Language', 'language_location', 'location_recordid'); + return $this->belongsToMany('App\Model\Language', 'location_languages', 'location_recordid', 'language_recordid'); } public function accessibilities() { - return $this->hasMany('App\Model\Accessibility', 'accessibility_location', 'location_recordid'); + // return $this->hasMany('App\Model\Accessibility', 'accessibility_location', 'location_recordid'); + return $this->belongsToMany('App\Model\Accessibility', 'location_accessibilities', 'location_recordid', 'accessibility_recordid'); } /** @@ -90,4 +92,31 @@ public function regions() { return $this->belongsToMany('App\Model\Region', 'location_regions', 'location_recordid', 'region_id'); } + + public function getAddresses() + { + $addressArray = []; + // if ($this->address()->where('is_main', '1')->exists()) { + // $address = $this->address()->where('is_main', '1')->first(); + // } else { + // $address = $this->address()->first(); + // } + foreach ($this->address()->get() as $address) { + $addressData = ''; + if ($address) { + $addressData .= $address->address_1 . ' '; + $addressData .= $address->address_2 . ' '; + $addressData .= $address->address_city . ' '; + $addressData .= $address->address_state_province . ' '; + $addressData .= $address->address_postal_code . ' '; + + if ($address->address_type_data) { + $addressData .= ' - ' . $address->address_type_data; + } + $addressArray[] = $addressData; + } + } + + return $addressArray; + } } diff --git a/app/Model/LocationLanguage.php b/app/Model/LocationLanguage.php new file mode 100644 index 00000000..707286d7 --- /dev/null +++ b/app/Model/LocationLanguage.php @@ -0,0 +1,12 @@ +belongsToMany('App\Model\Service', 'service_organizations', 'organization_recordid', 'service_recordid'); } + public function fundings() + { + $this->primaryKey = 'organization_recordid'; + return $this->belongsToMany('App\Model\Funding', 'organization_fundings', 'organization_recordid', 'funding_recordid'); + } + + public function identifiers() + { + $this->primaryKey = 'organization_recordid'; + return $this->belongsToMany('App\Model\Identifier', 'organization_identifiers', 'organization_recordid', 'identifier_recordid'); + } + public function phones() { return $this->belongsToMany('App\Model\Phone', 'organization_phones', 'organization_recordid', 'phone_recordid'); @@ -61,7 +73,11 @@ public function location() public function contact() { return $this->hasmany('App\Model\Contact', 'contact_organizations', 'organization_recordid'); - // return $this->belongsToMany('App\Model\Contact', 'organizations_contacts', 'organization_recordid', 'contact_recordid'); + } + + public function contacts() + { + return $this->belongsToMany('App\Model\Contact', 'organization_contacts', 'organization_recordid', 'contact_recordid'); } public function details() diff --git a/app/Model/OrganizationFunding.php b/app/Model/OrganizationFunding.php new file mode 100644 index 00000000..c2ae688e --- /dev/null +++ b/app/Model/OrganizationFunding.php @@ -0,0 +1,12 @@ +belongsTo('App\Model\Organization', 'service_organization', 'organization_recordid'); } + public function fundings() + { + $this->primaryKey = 'service_recordid'; + return $this->belongsToMany('App\Model\Funding', 'service_fundings', 'service_recordid', 'funding_recordid'); + } + + public function costOptions() + { + $this->primaryKey = 'service_recordid'; + return $this->belongsToMany('App\Model\CostOption', 'service_costs', 'service_recordid', 'cost_recordid'); + } + public function getOrganizations() { $this->primaryKey = 'service_recordid'; @@ -253,4 +265,35 @@ public function getServicePhonesDataAttribute() } return $otherData; } + + public function getAddresses() + { + $addressArray = []; + if ($this->locations->count() > 0) { + foreach ($this->locations as $key => $locationData) { + foreach ($locationData->address()->get() as $address) { + $addressData = ''; + // if ($locationData->address()->where('is_main', '1')->exists()) { + // $address = $locationData->address()->where('is_main', '1')->first(); + // } else { + // $address = $locationData->address()->first(); + // } + if ($address) { + $addressData .= $address->address_1 . ' '; + $addressData .= $address->address_2 . ' '; + $addressData .= $address->address_city . ' '; + $addressData .= $address->address_state_province . ' '; + $addressData .= $address->address_postal_code . ' '; + + if ($address->address_type_data) { + $addressData .= ' - ' . $address->address_type_data; + } + $addressArray[] = $addressData; + } + } + } + } + + return $addressArray; + } } diff --git a/app/Model/ServiceCost.php b/app/Model/ServiceCost.php new file mode 100644 index 00000000..ac32a200 --- /dev/null +++ b/app/Model/ServiceCost.php @@ -0,0 +1,12 @@ +belongsTo(User::class, 'created_by', 'id'); } + public function updatedUser(): BelongsTo + { + return $this->belongsTo(User::class, 'updated_by', 'id'); + } + /** * Get the service that owns the Taxonomy * @@ -115,4 +120,3 @@ public static function getTaxonomyRecordids(): array return []; } } - diff --git a/app/Model/TaxonomyType.php b/app/Model/TaxonomyType.php index 31a8a7e2..cb11864c 100644 --- a/app/Model/TaxonomyType.php +++ b/app/Model/TaxonomyType.php @@ -7,7 +7,7 @@ class TaxonomyType extends Model { protected $fillable = [ - 'name', 'type', 'reference_url', 'notes', 'taxonomy_type_recordid', 'order' + 'name', 'type', 'reference_url', 'notes', 'taxonomy_type_recordid', 'order', 'version' ]; protected $primaryKey = 'taxonomy_type_recordid'; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 526f0748..ab3ee1b5 100755 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; @@ -25,5 +26,7 @@ public function register() public function boot() { Schema::defaultStringLength(191); + + Paginator::useBootstrap(); } } diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index a34a493a..06eb8382 100755 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -23,6 +23,17 @@ class EventServiceProvider extends ServiceProvider ], ]; + /** + * Register any events for your application. + * + * @return void + */ + public function register() + { + parent::register(); + + // + } /** * Register any events for your application. * diff --git a/app/Services/AddressService.php b/app/Services/AddressService.php new file mode 100644 index 00000000..de338781 --- /dev/null +++ b/app/Services/AddressService.php @@ -0,0 +1,94 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // Address::truncate(); + + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('addresses'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_address = Address::where('address_recordid', $recordId)->where('address_1', isset($record['fields']['address_1']) ? $record['fields']['address_1'] : null)->first(); + if ($old_address == null) { + + $address = new Address(); + $strtointclass = new Stringtoint(); + + $address->address_recordid = $strtointclass->string_to_int($record['id']); + + $address->address_1 = isset($record['fields']['address_1']) ? $record['fields']['address_1'] : null; + $address->address_2 = isset($record['fields']['address_2']) ? $record['fields']['address_2'] : null; + $address->address_city = isset($record['fields']['city']) ? $record['fields']['city'] : null; + if (isset($record['fields']['city']) && $record['fields']['city']) + City::firstOrCreate(['city' => $record['fields']['city']]); + $address->address_state_province = isset($record['fields']['state_province']) ? $record['fields']['state_province'] : null; + if (isset($record['fields']['state_province']) && $record['fields']['state_province']) + State::firstOrCreate(['state' => $record['fields']['state_province']]); + $address->address_postal_code = isset($record['fields']['postal_code']) ? $record['fields']['postal_code'] : null; + $address->address_region = isset($record['fields']['region']) ? $record['fields']['region'] : null; + $address->address_country = isset($record['fields']['country']) ? $record['fields']['country'] : null; + $address->address_attention = isset($record['fields']['attention']) ? $record['fields']['attention'] : null; + // $address->address_type = isset($record['fields']['x-type']) ? (is_array(is_array($record['fields']['x-type'])) ? implode(',', $record['fields']['x-type']) : $record['fields']['x-type']) : null; + + if (isset($record['fields']['location'])) { + $i = 0; + $addressRecordIds = []; + foreach ($record['fields']['location'] as $value) { + $addressRecordIds[] = $strtointclass->string_to_int($value); + } + $address->address_locations = implode(', ', $addressRecordIds); + } + + $address->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Physical_Address')->first(); + $airtable->records = Address::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Address:' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/ContactService.php b/app/Services/ContactService.php new file mode 100644 index 00000000..7851b17b --- /dev/null +++ b/app/Services/ContactService.php @@ -0,0 +1,115 @@ + $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('contacts'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_contact = Contact::where('contact_recordid', $recordId)->where('contact_name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if (empty($old_contact)) { + $contact = new Contact(); + $strtointclass = new Stringtoint(); + + $contact->contact_recordid = $strtointclass->string_to_int($record['id']); + + $contact->contact_name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + + + // $contact->contact_organizations = isset($record['fields']['organizations']) ? implode(",", $record['fields']['organizations']) : null; + + // $contact->contact_organizations = $strtointclass->string_to_int($contact->contact_organizations); + + // $contact->contact_services = isset($record['fields']['services']) ? implode(",", $record['fields']['services']) : null; + + // $contact->contact_services = $strtointclass->string_to_int($contact->contact_services); + + $contact->contact_title = isset($record['fields']['title']) ? $record['fields']['title'] : null; + $contact->contact_department = isset($record['fields']['department']) ? $record['fields']['department'] : null; + $contact->contact_email = isset($record['fields']['email']) ? $record['fields']['email'] : null; + // $contact->contact_phones = isset($record['fields']['phones']) ? implode(",", $record['fields']['phones']) : null; + + // $contact->contact_phones = $strtointclass->string_to_int($contact->contact_phones); + + if (isset($record['fields']['organizations'])) { + $organizationRecordIds = []; + foreach ($record['fields']['organizations'] as $value) { + $organizationRecordIds[] = $strtointclass->string_to_int($value); + } + $contact->contact_organizations = implode(', ', $organizationRecordIds); + $contact->organizations()->sync($organizationRecordIds); + } + + if (isset($record['fields']['locations'])) { + $locationRecordIds = []; + foreach ($record['fields']['locations'] as $value) { + $locationRecordIds[] = $strtointclass->string_to_int($value); + } + $contact->locations = implode(', ', $locationRecordIds); + } + + if (isset($record['fields']['service_at_locations'])) { + $serviceAtLocationIds = []; + foreach ($record['fields']['service_at_locations'] as $value) { + $serviceAtLocationIds[] = $strtointclass->string_to_int($value); + } + $contact->service_at_locations = implode(', ', $serviceAtLocationIds); + } + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + $contact->contact_services = implode(', ', $serviceRecordIds); + } + + if (isset($record['fields']['phones'])) { + $phoneRecordIds = []; + foreach ($record['fields']['phones'] as $value) { + $phoneRecordIds[] = $strtointclass->string_to_int($value); + } + $contact->contact_phones = implode(', ', $phoneRecordIds); + } + + $contact->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Contacts')->first(); + $airtable->records = Contact::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Contact Import V3: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/CostOptionService.php b/app/Services/CostOptionService.php new file mode 100644 index 00000000..8571e57c --- /dev/null +++ b/app/Services/CostOptionService.php @@ -0,0 +1,85 @@ + $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('cost_option'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $oldCostOption = CostOption::where('cost_recordid', $recordId)->first(); + if (empty($oldCostOption)) { + $costOption = new CostOption(); + $strtointclass = new Stringtoint(); + + $costOption->cost_recordid = $strtointclass->string_to_int($record['id']); + + $costOption->valid_from = isset($record['fields']['valid_from']) ? date('Y-m-d', strtotime($record['fields']['valid_from'])) : null; + $costOption->valid_to = isset($record['fields']['valid_to']) ? date('Y-m-d', strtotime($record['fields']['valid_to'])) : null; + $costOption->option = isset($record['fields']['option']) ? $record['fields']['option'] : null; + $costOption->currency = isset($record['fields']['currency']) ? $record['fields']['currency'] : null; + $costOption->amount = isset($record['fields']['amount']) ? $record['fields']['amount'] : null; + $costOption->amount_description = isset($record['fields']['amount_description']) ? $record['fields']['amount_description'] : null; + + if (isset($record['fields']['attributes'])) { + $attributesRecordIds = []; + foreach ($record['fields']['attributes'] as $value) { + $attributesRecordIds[] = $strtointclass->string_to_int($value); + } + $costOption->attributes = implode(',', $attributesRecordIds); + } + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + $costOption->services()->sync($serviceRecordIds); + } + + $costOption->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + + Airtable_v2::firstOrCreate( + [ + 'name' => 'Cost_Options', + ], + [ + 'records' => CostOption::count(), + 'syncdate' => $date + ] + ); + } catch (\Throwable $th) { + Log::error('Error in Cost options Import V3: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/FundingService.php b/app/Services/FundingService.php new file mode 100644 index 00000000..4f1f4f3b --- /dev/null +++ b/app/Services/FundingService.php @@ -0,0 +1,80 @@ + $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('funding'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_funding = Funding::where('funding_recordid', $recordId)->first(); + if (empty($old_funding)) { + $funding = new Funding(); + $strtointclass = new Stringtoint(); + + $funding->funding_recordid = $strtointclass->string_to_int($record['id']); + + $funding->source = isset($record['fields']['source']) ? $record['fields']['source'] : null; + + if (isset($record['fields']['organizations'])) { + $organizationRecordIds = []; + foreach ($record['fields']['organizations'] as $value) { + $organizationRecordIds[] = $strtointclass->string_to_int($value); + } + $funding->organizationsData()->sync($organizationRecordIds); + } + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + $funding->services()->sync($serviceRecordIds); + } + + $funding->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + + Airtable_v2::firstOrCreate( + [ + 'name' => 'Fundings', + ], + [ + 'records' => Funding::count(), + 'syncdate' => $date + ] + ); + } catch (\Throwable $th) { + Log::error('Error in Funding Import V3: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/IdentifierService.php b/app/Services/IdentifierService.php new file mode 100644 index 00000000..3147fdb8 --- /dev/null +++ b/app/Services/IdentifierService.php @@ -0,0 +1,74 @@ + $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('organization_identifier'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $oldIdentifier = Identifier::where('identifier_recordid', $recordId)->first(); + if (empty($oldIdentifier)) { + $Identifier = new Identifier(); + $strtointclass = new Stringtoint(); + + $Identifier->identifier_recordid = $strtointclass->string_to_int($record['id']); + + $Identifier->identifier = isset($record['fields']['identifier']) ? $record['fields']['identifier'] : null; + $Identifier->identifier_scheme = isset($record['fields']['identifier_scheme']) ? $record['fields']['identifier_scheme'] : null; + $Identifier->identifier_type = isset($record['fields']['identifier_type']) ? $record['fields']['identifier_type'] : null; + + if (isset($record['fields']['organizations'])) { + $organizationRecordIds = []; + foreach ($record['fields']['organizations'] as $value) { + $organizationRecordIds[] = $strtointclass->string_to_int($value); + } + $Identifier->organizations()->sync($organizationRecordIds); + } + + $Identifier->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + + Airtable_v2::firstOrCreate( + [ + 'name' => 'Identifiers', + ], + [ + 'records' => Identifier::count(), + 'syncdate' => $date + ] + ); + } catch (\Throwable $th) { + Log::error('Error in Identifiers Import V3: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/LocationService.php b/app/Services/LocationService.php new file mode 100644 index 00000000..e9a662d1 --- /dev/null +++ b/app/Services/LocationService.php @@ -0,0 +1,141 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('locations'); + + do { + + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, TRUE); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_location = Location::where('location_recordid', $recordId)->where('location_name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if (empty($old_location)) { + $location = new Location(); + $strtointclass = new Stringtoint(); + $location->location_recordid = $strtointclass->string_to_int($record['id']); + $location->location_name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + $location->location_url = isset($record['fields']['url']) ? $record['fields']['url'] : null; + $location->external_identifier = isset($record['fields']['external_identifier']) ? $record['fields']['external_identifier'] : null; + $location->external_identifier_type = isset($record['fields']['external_identifier_type']) ? $record['fields']['external_identifier_type'] : null; + + if (isset($record['fields']['organization'])) { + $organizationRecordIds = []; + foreach ($record['fields']['organization'] as $key => $value) { + $organizationRecordIds[] = $strtointclass->string_to_int($value); + } + $location->location_organization = implode(', ', $organizationRecordIds); + } + + $location->location_alternate_name = isset($record['fields']['alternate_name']) ? $record['fields']['alternate_name'] : null; + $location->location_transportation = isset($record['fields']['transportation']) ? $record['fields']['transportation'] : null; + $location->location_latitude = isset($record['fields']['latitude']) ? $record['fields']['latitude'] : null; + $location->location_longitude = isset($record['fields']['longitude']) ? $record['fields']['longitude'] : null; + $location->location_description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + $location->location_services = implode(', ', $serviceRecordIds); + } + + if (isset($record['fields']['phones'])) { + $phoneRecordIds = []; + foreach ($record['fields']['phones'] as $value) { + $phoneRecordIds[] = $strtointclass->string_to_int($value); + } + $location->phones()->sync($phoneRecordIds); + } + + if (isset($record['fields']['schedules'])) { + $scheduleRecordIds = []; + foreach ($record['fields']['schedules'] as $value) { + $scheduleRecordIds[] = $strtointclass->string_to_int($value); + } + $location->schedules()->sync($scheduleRecordIds); + } + + + if (isset($record['fields']['addresses'])) { + $addressRecordIds = []; + foreach ($record['fields']['addresses'] as $value) { + $addressRecordIds[] = $strtointclass->string_to_int($value); + } + $location->address()->sync($addressRecordIds); + } + + if (isset($record['fields']['languages'])) { + $languageRecordIds = []; + foreach ($record['fields']['languages'] as $value) { + $languageRecordIds[] = $strtointclass->string_to_int($value); + } + $location->languages()->sync($languageRecordIds); + } + + if (isset($record['fields']['accessibility'])) { + $accessebilityRecordIds = []; + foreach ($record['fields']['accessibility'] as $value) { + $accessebilityRecordIds[] = $strtointclass->string_to_int($value); + } + $location->accessibilities()->sync($accessebilityRecordIds); + } + + if (isset($record['fields']['location_type'])) { + $locationTypes = []; + foreach ($record['fields']['location_type'] as $value) { + $locationTypes[] = $strtointclass->string_to_int($value); + } + $location->location_type = implode(', ', $locationTypes); + } + + $location->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Locations')->first(); + $airtable->records = Location::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + dd($th); + Log::error('Error in location: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/OrganizationService.php b/app/Services/OrganizationService.php new file mode 100644 index 00000000..ee318cd5 --- /dev/null +++ b/app/Services/OrganizationService.php @@ -0,0 +1,229 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('organizations'); + + do { + + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, TRUE); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_organization = Organization::where('organization_recordid', $recordId)->where('organization_name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if (empty($old_organization)) { + $organization = new Organization(); + $strtointclass = new Stringtoint(); + $organization->organization_recordid = $strtointclass->string_to_int($record['id']); + $organization->organization_name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + if (isset($record['fields']['logo'])) { + $organization->organization_logo_x = $record['fields']['logo']; + } + + $organization->organization_alternate_name = isset($record['fields']['alternate_name']) ? $record['fields']['alternate_name'] : null; + $organization->organization_description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + + $organization->organization_description = mb_convert_encoding($organization->organization_description, "HTML-ENTITIES", "UTF-8"); + + $organization->organization_email = isset($record['fields']['email']) ? $record['fields']['email'] : null; + $organization->organization_url = isset($record['fields']['website']) ? $record['fields']['website'] : null; + $organization->organization_status_x = isset($record['fields']['x-status']) ? $record['fields']['x-status'] : null; + + $organization->organization_legal_status = isset($record['fields']['legal_status']) ? $record['fields']['legal_status'] : null; + + $organization->organization_year_incorporated = isset($record['fields']['year_incorporated']) ? $record['fields']['year_incorporated'] : null; + $tag = isset($record['fields']['x-tags']) ? $record['fields']['x-tags'] : null; + $organization_tag = OrganizationTag::where('tag', 'LIKE', '%' . $tag . '%')->first(); + if ($organization_tag) { + $orgTag = $organization_tag->id; + } else { + $organization_tag = OrganizationTag::create([ + 'tag' => $tag + ]); + $orgTag = $organization_tag->id; + } + $organization->organization_tag = $orgTag; + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + $organization->organization_services = implode(', ', $serviceRecordIds); + $organization->getServices()->sync($serviceRecordIds); + } + + if (isset($record['fields']['phones'])) { + $i = 0; + foreach ($record['fields']['phones'] as $value) { + + $organizationphone = $strtointclass->string_to_int($value); + + if ($i != 0) + $organization->organization_phones = $organization->organization_phones . ',' . $organizationphone; + else + $organization->organization_phones = $organizationphone; + $i++; + } + } + + + // if (isset($record['fields']['locations'])) { + // $i = 0; + // foreach ($record['fields']['locations'] as $value) { + + // $organizationlocation = $strtointclass->string_to_int($value); + + // if ($i != 0) + // $organization->organization_locations = $organization->organization_locations . ',' . $organizationlocation; + // else + // $organization->organization_locations = $organizationlocation; + // $i++; + // } + // } + // $organization->organization_contact = isset($record['fields']['contacts']) ? implode(",", $record['fields']['contacts']) : null; + // $organization->organization_contact = $strtointclass->string_to_int($organization->organization_contact); + + if (isset($record['fields']['x-details'])) { + $i = 0; + foreach ($record['fields']['x-details'] as $value) { + $organization_detail = new OrganizationDetail(); + $organization_detail->organization_recordid = $organization->organization_recordid; + $organization_detail->detail_recordid = $strtointclass->string_to_int($value); + $organization_detail->save(); + $organizationdetail = $strtointclass->string_to_int($value); + + if ($i != 0) + $organization->organization_details = $organization->organization_details . ',' . $organizationdetail; + else + $organization->organization_details = $organizationdetail; + $i++; + } + } + + if (isset($record['fields']['fAIRS Taxonomy-x'])) { + $i = 0; + foreach ($record['fields']['AIRS Taxonomy-x'] as $value) { + + if ($i != 0) + $organization->organization_airs_taxonomy_x = $organization->organization_airs_taxonomy_x . ',' . $value; + else + $organization->organization_airs_taxonomy_x = $value; + $i++; + } + } + + $fundingRecordid = []; + + if (isset($record['fields']['funding'])) { + foreach ($record['fields']['funding'] as $value) { + $fundingRecordid[] = $strtointclass->string_to_int($value); + } + $organization->funding = implode(',', $fundingRecordid); + $organization->fundings()->sync($fundingRecordid); + } + + $identifierRecordid = []; + + if (isset($record['fields']['organization_identifier'])) { + foreach ($record['fields']['organization_identifier'] as $value) { + $identifierRecordid[] = $strtointclass->string_to_int($value); + } + $organization->identifiers()->sync($identifierRecordid); + } + + $phonesRecordid = []; + + if (isset($record['fields']['phones'])) { + foreach ($record['fields']['phones'] as $value) { + $phonesRecordid[] = $strtointclass->string_to_int($value); + } + $organization->phones()->sync($phonesRecordid); + } + + $programsRecordid = []; + + if (isset($record['fields']['programs'])) { + foreach ($record['fields']['programs'] as $value) { + $programsRecordid[] = $strtointclass->string_to_int($value); + } + $organization->program()->sync($programsRecordid); + } + + $locationsRecordid = []; + + if (isset($record['fields']['locations'])) { + foreach ($record['fields']['locations'] as $value) { + $locationsRecordid[] = $strtointclass->string_to_int($value); + } + // $organization->locations()->sync($locationsRecordid); + $organization->organization_locations = implode(', ', $locationsRecordid); + } + + $contactRecordid = []; + + if (isset($record['fields']['contacts'])) { + foreach ($record['fields']['contacts'] as $value) { + $contactRecordid[] = $strtointclass->string_to_int($value); + } + $organization->organization_contact = implode(',', $contactRecordid); + $organization->contacts()->sync($contactRecordid); + } + + if (isset($record['fields']['parent_organization'])) { + foreach ($record['fields']['parent_organization'] as $value) { + $organization->parent_organization = $strtointclass->string_to_int($value); + } + } + + $organization->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Organizations')->first(); + $airtable->records = Organization::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Organization sync : ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/PhoneService.php b/app/Services/PhoneService.php new file mode 100644 index 00000000..f9f835b8 --- /dev/null +++ b/app/Services/PhoneService.php @@ -0,0 +1,151 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // Phone::truncate(); + // OrganizationPhone::truncate(); + // ContactPhone::truncate(); + // ServicePhone::truncate(); + // LocationPhone::truncate(); + // $airtable = new Airtable(array( + // 'access_token' => env('AIRTABLE_access_token'), + // 'base' => env('AIRTABLE_BASE_URL'), + // )); + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('phones'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_phone = Phone::where('phone_recordid', $recordId)->where('phone_number', isset($record['fields']['number']) ? $record['fields']['number'] : null)->first(); + if ($old_phone == null) { + $phone = new Phone(); + $strtointclass = new Stringtoint(); + $phone->phone_recordid = $record['id']; + $phone->phone_recordid = $strtointclass->string_to_int($record['id']); + $phone->phone_number = isset($record['fields']['number']) ? $record['fields']['number'] : null; + + $locationRecordid = []; + if (isset($record['fields']['locations'])) { + foreach ($record['fields']['locations'] as $value) { + $locationRecordid[] = $strtointclass->string_to_int($value); + } + $phone->phone_locations = implode(',', $locationRecordid); + } + $serviceRecordid = []; + if (isset($record['fields']['services'])) { + foreach ($record['fields']['services'] as $value) { + $serviceRecordid[] = $strtointclass->string_to_int($value); + } + $phone->phone_services = implode(',', $serviceRecordid); + } + + $organizationRecordid = []; + if (isset($record['fields']['organizations'])) { + foreach ($record['fields']['organizations'] as $value) { + $organizationRecordid[] = $strtointclass->string_to_int($value); + } + $phone->phone_organizations = implode(',', $organizationRecordid); + } + $contactRecordid = []; + if (isset($record['fields']['contacts'])) { + foreach ($record['fields']['contacts'] as $value) { + $contactRecordid[] = $strtointclass->string_to_int($value); + } + $phone->phone_contacts = implode(',', $contactRecordid); + } + if (isset($record['fields']['language'])) { + $languages = $record['fields']['language']; + $phone_language = []; + foreach ($languages as $key => $value) { + $lang = Language::where('language', $value)->first(); + if ($lang) { + $phone_language[] = $lang->language_recordid; + } else { + $lang = new Language(); + $lang->language = $value; + $language_recordid = Language::max('language_recordid') + 1; + $lang->language_recordid = $language_recordid; + $lang->save(); + $phone_language[] = $language_recordid; + } + } + $phone->phone_language = implode(',', $phone_language); + } + $phone->phone_extension = isset($record['fields']['extension']) ? $record['fields']['extension'] : null; + $phone->phone_type = isset($record['fields']['type']) ? $record['fields']['type'] : null; + $phone->phone_description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + $phone->phone_schedule = isset($record['fields']['schedule']) ? implode(",", $record['fields']['schedule']) : null; + // for save organization + $organizationId_list = $organizationRecordid; + $current_organizations = $phone->organization()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_organizations, $organizationId_list)); + $phone->organization()->sync($res); + + // for save service + $servicesId_list = $serviceRecordid; + $current_services = $phone->services()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_services, $servicesId_list)); + $phone->services()->sync($res); + + // for save location + $locationsId_list = $locationRecordid; + $current_locations = $phone->locations()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_locations, $locationsId_list)); + $phone->locations()->sync($res); + + // for save contact + $contactsId_list = $contactRecordid; + $current_contacts = $phone->contact()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_contacts, $contactsId_list)); + $phone->contact()->sync($res); + + $phone->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Phones')->first(); + $airtable->records = Phone::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Phone: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/ProgramService.php b/app/Services/ProgramService.php new file mode 100644 index 00000000..a19b0981 --- /dev/null +++ b/app/Services/ProgramService.php @@ -0,0 +1,96 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // Program::truncate(); + // ServiceProgram::truncate(); + // OrganizationProgram::truncate(); + + // $airtable = new Airtable(array( + // 'access_token' => env('AIRTABLE_access_token'), + // 'base' => env('AIRTABLE_BASE_URL'), + // )); + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('programs'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_program = Program::where('program_recordid', $recordId)->where('name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if ($old_program == null) { + $program = new Program(); + $strtointclass = new Stringtoint(); + + $program->program_recordid = $strtointclass->string_to_int($record['id']); + + $program->alternate_name = isset($record['fields']['alternate_name']) ? $record['fields']['alternate_name'] : null; + $program->name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + $program->description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + + if (isset($record['fields']['organizations'])) { + $orgIds = []; + foreach ($record['fields']['organizations'] as $value) { + $orgIds[] = $strtointclass->string_to_int($value); + } + $program->organizations = implode(',', $orgIds); + + $program->organization()->sync($orgIds); + } + + if (isset($record['fields']['services'])) { + $serviceIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceIds[] = $strtointclass->string_to_int($value); + } + $program->services = implode(',', $serviceIds); + $program->service()->sync($serviceIds); + } + + $program->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Programs')->first(); + $airtable->records = Program::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Program:' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/ScheduleService.php b/app/Services/ScheduleService.php index 0b649aa0..32e0bec7 100644 --- a/app/Services/ScheduleService.php +++ b/app/Services/ScheduleService.php @@ -1,10 +1,121 @@ access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // Schedule::truncate(); + // $airtable = new Airtable(array( + // 'access_token' => env('AIRTABLE_access_token'), + // 'base' => env('AIRTABLE_BASE_URL'), + // )); + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('schedules'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_schedule = Schedule::where('schedule_recordid', $recordId)->where('name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if ($old_schedule == null) { + $schedule = new Schedule(); + $strtointclass = new Stringtoint(); + + $schedule->schedule_recordid = $strtointclass->string_to_int($record['id']); + $schedule->name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + + if (isset($record['fields']['services'])) { + $serviceRecordIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceRecordIds[] = $strtointclass->string_to_int($value); + } + // for save service + $servicesId_list = $serviceRecordIds; + $current_services = $schedule->get_services()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_services, $servicesId_list)); + $schedule->get_services()->sync($res); + $schedule->services = implode(',', $res); + } + + if (isset($record['fields']['locations'])) { + $locationRecordIds = []; + foreach ($record['fields']['locations'] as $value) { + $locationRecordIds[] = $strtointclass->string_to_int($value); + } + // for save location + $locationsId_list = $locationRecordIds; + $current_locations = $schedule->get_locations()->allRelatedIds()->toArray(); + $res = array_unique(array_merge($current_locations, $locationsId_list)); + $schedule->get_locations()->sync($res); + $schedule->locations = implode(',', $res); + } + + $schedule->description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + $schedule->phones = isset($record['fields']['x-phones']) ? implode(",", $record['fields']['x-phones']) : null; + + $schedule->byday = isset($record['fields']['byday']) ? (is_array($record['fields']['byday']) ? implode(',', $record['fields']['byday']) : $record['fields']['byday']) : null; + $schedule->opens_at = isset($record['fields']['opens_at']) ? $record['fields']['opens_at'] : null; + $schedule->closes_at = isset($record['fields']['closes_at']) ? $record['fields']['closes_at'] : null; + $schedule->dtstart = isset($record['fields']['dtstart']) ? $record['fields']['dtstart'] : null; + $schedule->until = isset($record['fields']['until']) ? $record['fields']['until'] : null; + $schedule->special = isset($record['fields']['x-special']) ? $record['fields']['x-special'] : null; + $schedule->closed = isset($record['fields']['x-closed']) ? $record['fields']['x-closed'] : null; + $schedule->service_at_location = isset($record['fields']['service_at_location']) ? $record['fields']['service_at_location'] : null; + $schedule->freq = isset($record['fields']['freq']) ? $record['fields']['freq'] : null; + $schedule->valid_from = isset($record['fields']['valid_from']) ? $record['fields']['valid_from'] : null; + $schedule->valid_to = isset($record['fields']['valid_to']) ? $record['fields']['valid_to'] : null; + $schedule->wkst = isset($record['fields']['wkst']) ? $record['fields']['wkst'] : null; + $schedule->interval = isset($record['fields']['interval']) ? $record['fields']['interval'] : null; + $schedule->count = isset($record['fields']['count']) ? $record['fields']['count'] : null; + $schedule->byweekno = isset($record['fields']['byweekno']) ? $record['fields']['byweekno'] : null; + $schedule->bymonthday = isset($record['fields']['bymonthday']) ? $record['fields']['bymonthday'] : null; + $schedule->byyearday = isset($record['fields']['byyearday']) ? $record['fields']['byyearday'] : null; + $schedule->timezone = isset($record['fields']['timezone']) ? $record['fields']['timezone'] : null; + $schedule->notes = isset($record['fields']['notes']) ? $record['fields']['notes'] : null; + $schedule->attending_type = isset($record['fields']['attending_type']) ? $record['fields']['attending_type'] : null; + $schedule->schedule_link = isset($record['fields']['schedule_link']) ? $record['fields']['schedule_link'] : null; + $schedule->save(); + } + } + } while ($request = $response->next()); + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Schedule')->first(); + $airtable->records = Schedule::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Schedule: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } } } diff --git a/app/Services/ServiceDataService.php b/app/Services/ServiceDataService.php new file mode 100644 index 00000000..5f6fd8c7 --- /dev/null +++ b/app/Services/ServiceDataService.php @@ -0,0 +1,292 @@ + $access_token, + 'base' => $base_url, + )); + $request = $airtable->getContent('services'); + $size = ''; + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_service = Service::where('service_recordid', $recordId)->where('service_name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if ($old_service == null) { + + $service = new Service(); + $service->service_recordid = $strtointclass->string_to_int($record['id']); + + $service->service_name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + $service->minimum_age = isset($record['fields']['minimum_age']) ? $record['fields']['minimum_age'] : null; + $service->eligibility_description = isset($record['fields']['eligibility_description']) ? $record['fields']['eligibility_description'] : null; + $service->service_alert = isset($record['fields']['alert']) ? $record['fields']['alert'] : null; + $service->assured_email = isset($record['fields']['assured_email']) ? $record['fields']['assured_email'] : null; + $service->assured_date = isset($record['fields']['assured_date']) ? date('Y-m-d', strtotime($record['fields']['assured_date'])) : null; + + if (isset($record['fields']['organizations'])) { + foreach ($record['fields']['organizations'] as $key => $value) { + if ($key == 0) { + $service_organization = new ServiceOrganization(); + $service_organization->service_recordid = $service->service_recordid; + $service_organization->organization_recordid = $strtointclass->string_to_int($value); + $service_organization->save(); + $serviceorganization = $strtointclass->string_to_int($value); + + $service->service_organization = $serviceorganization; + } + } + } + + $service->service_alternate_name = isset($record['fields']['alternative_name']) ? $record['fields']['alternative_name'] : null; + $service->service_description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + + if (isset($record['fields']['x-locations'])) { + $i = 0; + foreach ($record['fields']['x-locations'] as $value) { + $service_location = new ServiceLocation(); + $service_location->service_recordid = $service->service_recordid; + $service_location->location_recordid = $strtointclass->string_to_int($value); + $service_location->save(); + $servicelocation = $strtointclass->string_to_int($value); + + if ($i != 0) { + $service->service_locations = $service->service_locations . ',' . $servicelocation; + } else { + $service->service_locations = $servicelocation; + } + + $i++; + } + } + + $service->service_url = isset($record['fields']['url']) ? $record['fields']['url'] : null; + $service->service_email = isset($record['fields']['email']) ? $record['fields']['email'] : null; + + + $service->service_status = isset($record['fields']['status']) ? $record['fields']['status'] : null; + + // if (isset($record['fields']['taxonomy'])) { + // $i = 0; + // foreach ($record['fields']['taxonomy'] as $value) { + // $service_taxonomy = new ServiceTaxonomy(); + // $service_taxonomy->service_recordid = $service->service_recordid; + // $service_taxonomy->taxonomy_recordid = $strtointclass->string_to_int($value); + // $service_taxonomy->save(); + // $servicetaxonomy = $strtointclass->string_to_int($value); + + // if ($i != 0) { + // $service->service_taxonomy = $service->service_taxonomy . ',' . $servicetaxonomy; + // } else { + // $service->service_taxonomy = $servicetaxonomy; + // } + + // $i++; + // } + // } + + $service->service_application_process = isset($record['fields']['application_process']) ? $record['fields']['application_process'] : null; + // $service->service_wait_time = isset($record['fields']['wait_time']) ? $record['fields']['wait_time'] : null; + $service->service_fees = isset($record['fields']['fees_description']) ? $record['fields']['fees_description'] : null; + $service->service_accreditations = isset($record['fields']['accreditations']) ? $record['fields']['accreditations'] : null; + $service->service_licenses = isset($record['fields']['licenses']) ? $record['fields']['licenses'] : null; + + if (isset($record['fields']['phones'])) { + $i = 0; + foreach ($record['fields']['phones'] as $value) { + $service_phone = new ServicePhone(); + $service_phone->service_recordid = $service->service_recordid; + $service_phone->phone_recordid = $strtointclass->string_to_int($value); + $service_phone->save(); + $servicephone = $strtointclass->string_to_int($value); + + if ($i != 0) { + $service->service_phones = $service->service_phones . ',' . $servicephone; + } else { + $service->service_phones = $servicephone; + } + + $i++; + } + } + + if (isset($record['fields']['schedules'])) { + $i = 0; + foreach ($record['fields']['schedules'] as $value) { + $service_schedule = new ServiceSchedule(); + $service_schedule->service_recordid = $service->service_recordid; + $service_schedule->schedule_recordid = $strtointclass->string_to_int($value); + $service_schedule->save(); + $serviceschedule = $strtointclass->string_to_int($value); + + if ($i != 0) { + $service->service_schedule = $service->service_schedule . ',' . $serviceschedule; + } else { + $service->service_schedule = $serviceschedule; + } + + $i++; + } + } + + if (isset($record['fields']['contacts'])) { + $i = 0; + foreach ($record['fields']['contacts'] as $value) { + $service_contact = new ServiceContact(); + $service_contact->service_recordid = $service->service_recordid; + $service_contact->contact_recordid = $strtointclass->string_to_int($value); + $service_contact->save(); + $servicecontact = $strtointclass->string_to_int($value); + + if ($i != 0) { + $service->service_contacts = $service->service_contacts . ',' . $servicecontact; + } else { + $service->service_contacts = $servicecontact; + } + + $i++; + } + } + + // if (isset($record['fields']['x-details'])) { + // $i = 0; + // foreach ($record['fields']['x-details'] as $value) { + // $service_detail = new ServiceDetail(); + // $service_detail->service_recordid = $service->service_recordid; + // $service_detail->detail_recordid = $strtointclass->string_to_int($value); + // $service_detail->save(); + // $servicedetail = $strtointclass->string_to_int($value); + + // if ($i != 0) { + // $service->service_details = $service->service_details . ',' . $servicedetail; + // } else { + // $service->service_details = $servicedetail; + // } + + // $i++; + // } + // } + + if (isset($record['fields']['x-address'])) { + $i = 0; + foreach ($record['fields']['x-address'] as $value) { + $service_addresses = new ServiceAddress(); + $service_addresses->service_recordid = $service->service_recordid; + $service_addresses->address_recordid = $strtointclass->string_to_int($value); + $service_addresses->save(); + $serviceaddress = $strtointclass->string_to_int($value); + + if ($i != 0) { + $service->service_address = $service->service_address . ',' . $serviceaddress; + } else { + $service->service_address = $serviceaddress; + } + + $i++; + } + } + + $programsIds = []; + if (isset($record['fields']['programs'])) { + foreach ($record['fields']['programs'] as $value) { + $programsIds[] = $strtointclass->string_to_int($value); + } + } + $service->program()->sync($programsIds); + + $attributeIds = []; + if (isset($record['fields']['attribute'])) { + foreach ($record['fields']['attribute'] as $value) { + $attributeIds[] = $strtointclass->string_to_int($value); + } + $service->attribute = implode(', ', $programsIds); + } + + $serviceInterpretationArray = []; + if (isset($record['fields']['interpretation_services'])) { + $i = 0; + foreach ($record['fields']['interpretation_services'] as $value) { + $serviceInterpretation = InterpretationService::firstOrCreate( + [ + 'name' => $value + ], + [ + 'created_by' => Auth::id() + ] + ); + $serviceInterpretationArray[] = $serviceInterpretation->id; + } + $service->service_interpretation = implode(',', $serviceInterpretationArray); + } + + $fundingRecordid = []; + + if (isset($record['fields']['funding'])) { + foreach ($record['fields']['funding'] as $value) { + $fundingRecordid[] = $strtointclass->string_to_int($value); + } + $service->funding = implode(',', $fundingRecordid); + $service->fundings()->sync($fundingRecordid); + } + + $costOptionRecordid = []; + + if (isset($record['fields']['cost_option'])) { + foreach ($record['fields']['cost_option'] as $value) { + $costOptionRecordid[] = $strtointclass->string_to_int($value); + } + $service->costOptions()->sync($costOptionRecordid); + } + + // $service->service_metadata = isset($record['fields']['metadata']) ? $record['fields']['metadata'] : null; + + // $service->service_airs_taxonomy_x = isset($record['fields']['AIRS Taxonomy-x']) ? implode(",", $record['fields']['AIRS Taxonomy-x']) : null; + $service->created_at = Carbon::now(); + $service->updated_at = Carbon::now(); + + $service->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Services')->first(); + $airtable->records = Service::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Service: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/TaxonomyService.php b/app/Services/TaxonomyService.php new file mode 100644 index 00000000..b1ced25f --- /dev/null +++ b/app/Services/TaxonomyService.php @@ -0,0 +1,152 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // Taxonomy::truncate(); + // $airtable = new Airtable(array( + // 'access_token' => env('AIRTABLE_access_token'), + // 'base' => env('AIRTABLE_BASE_URL'), + // )); + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + + $request = $airtable->getContent('taxonomy_terms'); + + do { + $response = $request->getResponse(); + $airtable_response = json_decode($response, true); + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_taxonomy = Taxonomy::where('taxonomy_recordid', $recordId)->where('taxonomy_name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + + if ($old_taxonomy == null) { + $taxonomy = new Taxonomy(); + $strtointclass = new Stringtoint(); + + $taxonomy->taxonomy_recordid = $strtointclass->string_to_int($record['id']); + $taxonomy->taxonomy_id = $record['id']; + // $taxonomy->taxonomy_recordid = $record[ 'id' ]; + $taxonomy->taxonomy_name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + $taxonomy->term_uri = isset($record['fields']['term_uri']) ? $record['fields']['term_uri'] : null; + $taxonomy->code = isset($record['fields']['code']) ? $record['fields']['code'] : null; + + $parent_names = isset($record['fields']['parent']) ? $record['fields']['parent'] : []; + $parent_name_ids = []; + foreach ($parent_names as $key => $parent_name) { + $parent_name_ids[] = $strtointclass->string_to_int($parent_name); + } + $taxonomy->taxonomy_parent_name = implode(',', $parent_name_ids); + + // $taxonomy->taxonomy_vocabulary = isset($record['fields']['vocabulary']) ? $record['fields']['vocabulary'] : null; + // $taxonomyName = isset($record['fields']['taxonomy']) ? $record['fields']['taxonomy'] : '[]'; + // $taxonomy_type = TaxonomyType::firstOrCreate( + // ['name' => $taxonomyName], + // [ + // 'name' => $taxonomyName, + // 'taxonomy_type_recordid' => TaxonomyType::max('taxonomy_type_recordid') + 1 + // ] + // ); + // $taxonomyIds = isset($record['fields']['taxonomy']) ? $record['fields']['taxonomy'] : []; + + // $taxonomy_ids = null; + // foreach ($taxonomyIds as $key => $taxonomyid) { + // if ($key == 0) { + // $taxonomy_ids = $strtointclass->string_to_int($taxonomyid); + // } else { + + // $taxonomy_ids = $taxonomy_ids . ',' . $strtointclass->string_to_int($taxonomyid); + // } + // } + + if (isset($record['fields']['x-icon_dark']) && is_array($record['fields']['x-icon_dark'])) { + $icon_dark = $record['fields']['x-icon_dark']; + foreach ($icon_dark as $key => $value) { + $path = $value['url']; + $filename = $value['filename']; + Image::make($path)->save(public_path('/uploads/images/' . $filename)); + $taxonomy->category_logo = '/uploads/images/' . $filename; + } + } + if (isset($record['fields']['x-icon_light']) && is_array($record['fields']['x-icon_light'])) { + $icon_light = $record['fields']['x-icon_light']; + foreach ($icon_light as $key => $value) { + $path = $value['url']; + $filename = $value['filename']; + Image::make($path)->save(public_path('/uploads/images/' . $filename)); + $taxonomy->category_logo_white = '/uploads/images/' . $filename; + } + } + // if ($taxonomy_type) { + + // $taxonomy->taxonomy = $taxonomy_type->taxonomy_type_recordid; + // } + // $taxonomy->taxonomy = $taxonomy_ids; + + $taxonomies = isset($record['fields']['taxonomy']) ? $record['fields']['taxonomy'] : []; + $taxonomyIds = []; + foreach ($taxonomies as $key => $xtaxonomy) { + $taxonomyIds[] = $strtointclass->string_to_int($xtaxonomy); + } + $taxonomy->taxonomy = implode(',', $taxonomyIds); + $taxonomy->taxonomy_type()->sync($taxonomyIds); + + $taxonomy->taxonomy_x_description = isset($record['fields']['description']) ? $record['fields']['description'] : null; + $taxonomy->taxonomy_x_notes = isset($record['fields']['x-notes']) ? $record['fields']['x-notes'] : null; + + $color = substr(str_shuffle('AABBCCDDEEFF00112233445566778899AABBCCDDEEFF00112233445566778899AABBCCDDEEFF00112233445566778899'), 0, 6); + $taxonomy->badge_color = $color; + + + if (isset($record['fields']['services'])) { + $serviceIds = []; + foreach ($record['fields']['services'] as $value) { + $serviceIds[] = $strtointclass->string_to_int($value); + } + $taxonomy->taxonomy_services = implode(',', $serviceIds); + $taxonomy->service()->sync($serviceIds); + } + + $taxonomy->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'Taxonomy_Term')->first(); + $airtable->records = Taxonomy::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in Taxonomy: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/app/Services/TaxonomyTypeService.php b/app/Services/TaxonomyTypeService.php new file mode 100644 index 00000000..056627b6 --- /dev/null +++ b/app/Services/TaxonomyTypeService.php @@ -0,0 +1,83 @@ +access_token = $access_token; + $airtable_key_info->base_url = $base_url; + $airtable_key_info->save(); + + // TaxonomyType::truncate(); + // TaxonomyTerm::truncate(); + // AdditionalTaxonomy::truncate(); + // $airtable = new Airtable(array( + // 'access_token' => env('AIRTABLE_access_token'), + // 'base' => env('AIRTABLE_BASE_URL'), + // )); + $airtable = new Airtable(array( + 'access_token' => $access_token, + 'base' => $base_url, + )); + $request = $airtable->getContent('taxonomy'); + + do { + + $response = $request->getResponse(); + + $airtable_response = json_decode($response, true); + + + foreach ($airtable_response['records'] as $record) { + $strtointclass = new Stringtoint(); + $recordId = $strtointclass->string_to_int($record['id']); + $old_taxonomy_type = TaxonomyType::where('taxonomy_type_recordid', $recordId)->where('name', isset($record['fields']['name']) ? $record['fields']['name'] : null)->first(); + if ($old_taxonomy_type == null) { + $taxonomy = new TaxonomyType(); + $strtointclass = new Stringtoint(); + + $taxonomy->taxonomy_type_recordid = $strtointclass->string_to_int($record['id']); + $taxonomy->name = isset($record['fields']['name']) ? $record['fields']['name'] : null; + $taxonomy->version = isset($record['fields']['version']) ? $record['fields']['version'] : null; + $taxonomy->reference_url = isset($record['fields']['uri']) ? $record['fields']['uri'] : null; + $taxonomy->notes = isset($record['fields']['description']) ? $record['fields']['description'] : null; + + $taxonomy_terms = isset($record['fields']['taxonomy_terms']) ? $record['fields']['taxonomy_terms'] : []; + $taxonomy_terms_ids = []; + foreach ($taxonomy_terms as $key => $taxonomy_term_id) { + $taxonomy_terms_ids[] = $strtointclass->string_to_int($taxonomy_term_id); + } + $taxonomy->taxonomy_term()->sync($taxonomy_terms_ids); + + $taxonomy->save(); + } + } + } while ($request = $response->next()); + + $date = date("Y/m/d H:i:s"); + $airtable = Airtable_v2::where('name', '=', 'x_Taxonomy')->first(); + $airtable->records = TaxonomyType::count(); + $airtable->syncdate = $date; + $airtable->save(); + } catch (\Throwable $th) { + Log::error('Error in x-taxonomies: ' . $th->getMessage()); + return response()->json([ + 'message' => $th->getMessage(), + 'success' => false + ], 500); + } + } +} diff --git a/composer.json b/composer.json index 7f5847af..8347814b 100755 --- a/composer.json +++ b/composer.json @@ -8,40 +8,45 @@ ], "license": "MIT", "require": { - "php": "^7.2.5", - "arcanedev/log-viewer": "^7.0", - "barryvdh/laravel-dompdf": "^0.8.6", + "php": "^8.0", + "ext-json": "*", + "arcanedev/log-viewer": "^9.0", + "barryvdh/laravel-dompdf": "^2.0.1", "doctrine/dbal": "2.13.9", - "dompdf/dompdf": "^0.8.5", - "fideloper/proxy": "^4.2", - "fruitcake/laravel-cors": "^1.0", - "guzzlehttp/guzzle": "^6.3", - "illuminate/filesystem": "^7.17", + "dompdf/dompdf": "^2.0.4", + "guzzlehttp/guzzle": "^7.8", + "illuminate/filesystem": "^9.0.0", "intervention/image": "^2.5", "itsjavi/bootstrap-colorpicker": "^3.2", "ixudra/curl": "^6.19", - "jcf/geocode": "^1.4", - "laravel/framework": "^7.0", + "laravel/framework": "^9.0", + "laravel/legacy-factories": "^1.3", "laravel/tinker": "^2.0", - "laravel/ui": "^2.0", + "laravel/ui": "^3.0", "laravelcollective/html": "^6.1", + "league/flysystem-aws-s3-v3": "3.0", + "league/flysystem-ftp": "3.0", + "league/flysystem-sftp-v3": "3.0", + "maatwebsite/excel": "^3.1", "owen-it/laravel-auditing": "^12.0", "sendgrid/sendgrid": "^7.6", "spatie/geocoder": "^3.8", - "stevebauman/location": "^5.1", + "stevebauman/location": "^7.0.0", + "symfony/http-client": "^6.4", + "symfony/mailgun-mailer": "^6.4", + "symfony/postmark-mailer": "^6.4", "usmanhalalit/laracsv": "^2.0", "venturecraft/revisionable": "^1.37", - "yajra/laravel-datatables-buttons": "^4.9", - "yajra/laravel-datatables-oracle": "^9.10", - "zanysoft/laravel-zip": "^1.0", - "ext-json": "*" + "yajra/laravel-datatables-buttons": "^9.0", + "yajra/laravel-datatables-oracle": "^10.0", + "zanysoft/laravel-zip": "^1.0" }, "require-dev": { - "facade/ignition": "^2.0", + "spatie/laravel-ignition": "^1.0", "fzaninotto/faker": "^1.9.1", "mockery/mockery": "^1.3.1", - "nunomaduro/collision": "^4.1", - "phpunit/phpunit": "^8.5" + "nunomaduro/collision": "^6.1", + "phpunit/phpunit": "^9.0" }, "config": { "optimize-autoloader": true, @@ -55,11 +60,11 @@ }, "autoload": { "psr-4": { - "App\\": "app/" + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" }, "classmap": [ - "database/seeds", - "database/factories" ], "files": [ "app/Functions/Airtable.php", diff --git a/composer.lock b/composer.lock index 8b89cdb6..9a577fe3 100755 --- a/composer.lock +++ b/composer.lock @@ -4,34 +4,39 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "73c13c008b46f7cf62a7fe6539f8aab2", + "content-hash": "4526a55acdacdfbe5b9fb75d54ff2f80", "packages": [ { "name": "arcanedev/log-viewer", - "version": "7.1.0", + "version": "9.0.0", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/LogViewer.git", - "reference": "46643ff4865e6aa9bfe97d10c962a2661480191d" + "reference": "ba0c14ef65c93fae6745ff0607a14d83d39e3faa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/46643ff4865e6aa9bfe97d10c962a2661480191d", - "reference": "46643ff4865e6aa9bfe97d10c962a2661480191d", + "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/ba0c14ef65c93fae6745ff0607a14d83d39e3faa", + "reference": "ba0c14ef65c93fae6745ff0607a14d83d39e3faa", "shasum": "" }, "require": { - "arcanedev/support": "^7.0", + "arcanedev/support": "^9.0", "ext-json": "*", - "php": "^7.2.5", - "psr/log": "^1.0" + "php": "^8.0", + "psr/log": "^1.0|^2.0|^3.0" }, "require-dev": { - "orchestra/testbench": "^5.0", - "phpunit/phpunit": "^8.5" + "laravel/framework": "^9.0", + "mockery/mockery": "^1.4.4", + "orchestra/testbench-core": "^7.0", + "phpunit/phpunit": "^9.5.10" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "10.x-dev" + }, "laravel": { "providers": [ "Arcanedev\\LogViewer\\LogViewerServiceProvider", @@ -72,37 +77,38 @@ ], "support": { "issues": "https://github.com/ARCANEDEV/LogViewer/issues", - "source": "https://github.com/ARCANEDEV/LogViewer/tree/master" + "source": "https://github.com/ARCANEDEV/LogViewer/tree/9.0.0" }, - "time": "2020-07-06T08:31:38+00:00" + "time": "2022-02-10T21:20:19+00:00" }, { "name": "arcanedev/support", - "version": "7.1.2", + "version": "9.0.1", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/Support.git", - "reference": "7e4199d30f04c611ba5d895e663f111c217ff5a3" + "reference": "abb003810c3fd8ddc8b37dec64378f21fe2289bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/7e4199d30f04c611ba5d895e663f111c217ff5a3", - "reference": "7e4199d30f04c611ba5d895e663f111c217ff5a3", + "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/abb003810c3fd8ddc8b37dec64378f21fe2289bb", + "reference": "abb003810c3fd8ddc8b37dec64378f21fe2289bb", "shasum": "" }, "require": { - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5" + "illuminate/contracts": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2" }, "require-dev": { - "orchestra/testbench": "^5.0", - "phpunit/phpunit": "^8.0|^9.0" + "laravel/framework": "^9.0", + "orchestra/testbench-core": "^7.0", + "phpunit/phpunit": "^9.5.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-develop": "10.x-dev" } }, "autoload": { @@ -134,96 +140,196 @@ ], "support": { "issues": "https://github.com/ARCANEDEV/Support/issues", - "source": "https://github.com/ARCANEDEV/Support/tree/7.1.2" + "source": "https://github.com/ARCANEDEV/Support/tree/9.0.1" + }, + "time": "2023-10-06T13:54:53+00:00" + }, + { + "name": "aws/aws-crt-php", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/awslabs/aws-crt-php.git", + "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/eb0c6e4e142224a10b08f49ebf87f32611d162b2", + "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality." + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "AWS SDK Common Runtime Team", + "email": "aws-sdk-common-runtime@amazon.com" + } + ], + "description": "AWS Common Runtime for PHP", + "homepage": "https://github.com/awslabs/aws-crt-php", + "keywords": [ + "amazon", + "aws", + "crt", + "sdk" + ], + "support": { + "issues": "https://github.com/awslabs/aws-crt-php/issues", + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.4" }, - "time": "2020-03-12T09:28:19+00:00" + "time": "2023-11-08T00:42:13+00:00" }, { - "name": "asm89/stack-cors", - "version": "1.3.0", + "name": "aws/aws-sdk-php", + "version": "3.298.8", "source": { "type": "git", - "url": "https://github.com/asm89/stack-cors.git", - "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "9d123669b14ccd0f87f7f7de77ace7e5d8fe9d13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", - "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/9d123669b14ccd0f87f7f7de77ace7e5d8fe9d13", + "reference": "9d123669b14ccd0f87f7f7de77ace7e5d8fe9d13", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", - "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" + "aws/aws-crt-php": "^1.2.3", + "ext-json": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", + "guzzlehttp/promises": "^1.4.0 || ^2.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "mtdowling/jmespath.php": "^2.6", + "php": ">=7.2.5", + "psr/http-message": "^1.0 || ^2.0" }, "require-dev": { - "phpunit/phpunit": "^5.0 || ^4.8.10", - "squizlabs/php_codesniffer": "^2.3" + "andrewsville/php-token-reflection": "^1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "behat/behat": "~3.0", + "composer/composer": "^1.10.22", + "dms/phpunit-arraysubset-asserts": "^0.4.0", + "doctrine/cache": "~1.4", + "ext-dom": "*", + "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", + "nette/neon": "^2.3", + "paragonie/random_compat": ">= 2", + "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "sebastian/comparator": "^1.2.3 || ^4.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "ext-curl": "To send requests using cURL", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "3.0-dev" } }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "Asm89\\Stack\\": "src/Asm89/Stack/" + "Aws\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache-2.0" ], "authors": [ { - "name": "Alexander", - "email": "iam.asm89@gmail.com" + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" } ], - "description": "Cross-origin resource sharing library and stack middleware", - "homepage": "https://github.com/asm89/stack-cors", + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", "keywords": [ - "cors", - "stack" + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" ], "support": { - "issues": "https://github.com/asm89/stack-cors/issues", - "source": "https://github.com/asm89/stack-cors/tree/1.3.0" + "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "issues": "https://github.com/aws/aws-sdk-php/issues", + "source": "https://github.com/aws/aws-sdk-php/tree/3.298.8" }, - "time": "2019-12-24T22:41:47+00:00" + "time": "2024-02-12T19:07:29+00:00" }, { "name": "barryvdh/laravel-dompdf", - "version": "v0.8.7", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-dompdf.git", - "reference": "30310e0a675462bf2aa9d448c8dcbf57fbcc517d" + "reference": "9843d2be423670fb434f4c978b3c0f4dd92c87a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/30310e0a675462bf2aa9d448c8dcbf57fbcc517d", - "reference": "30310e0a675462bf2aa9d448c8dcbf57fbcc517d", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/9843d2be423670fb434f4c978b3c0f4dd92c87a6", + "reference": "9843d2be423670fb434f4c978b3c0f4dd92c87a6", "shasum": "" }, "require": { - "dompdf/dompdf": "^0.8", - "illuminate/support": "^5.5|^6|^7|^8", - "php": ">=7" + "dompdf/dompdf": "^2.0.1", + "illuminate/support": "^6|^7|^8|^9|^10", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "nunomaduro/larastan": "^1|^2", + "orchestra/testbench": "^4|^5|^6|^7|^8", + "phpro/grumphp": "^1", + "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.8-dev" + "dev-master": "2.0-dev" }, "laravel": { "providers": [ "Barryvdh\\DomPDF\\ServiceProvider" ], "aliases": { - "PDF": "Barryvdh\\DomPDF\\Facade" + "Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf", + "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf" } } }, @@ -250,38 +356,41 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-dompdf/issues", - "source": "https://github.com/barryvdh/laravel-dompdf/tree/master" + "source": "https://github.com/barryvdh/laravel-dompdf/tree/v2.0.1" }, "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, { "url": "https://github.com/barryvdh", "type": "github" } ], - "time": "2020-09-07T11:50:18+00:00" + "time": "2023-01-12T15:12:49+00:00" }, { "name": "brick/math", - "version": "0.9.3", + "version": "0.11.0", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" + "php": "^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.9.2" + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" }, "type": "library", "autoload": { @@ -306,19 +415,84 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.3" + "source": "https://github.com/brick/math/tree/0.11.0" }, "funding": [ { "url": "https://github.com/BenMorel", "type": "github" + } + ], + "time": "2023-01-15T23:15:59+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/3c430083d0b41ceed84ecccf9dac613241d7305d", + "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d", + "shasum": "" + }, + "require": { + "php": "^7.1.8 || ^8.0" + }, + "conflict": { + "doctrine/dbal": ">=3.7.0" + }, + "require-dev": { + "doctrine/dbal": ">=2.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" }, { - "url": "https://tidelift.com/funding/github/packagist/brick/math", + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", "type": "tidelift" } ], - "time": "2021-08-15T20:50:18+00:00" + "time": "2023-10-01T12:35:29+00:00" }, { "name": "components/jquery", @@ -371,16 +545,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.3.7", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + "reference": "b66d11b7479109ab547f9405b97205640b17d385" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385", + "reference": "b66d11b7479109ab547f9405b97205640b17d385", "shasum": "" }, "require": { @@ -392,7 +566,7 @@ "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { @@ -427,7 +601,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + "source": "https://github.com/composer/ca-bundle/tree/1.4.0" }, "funding": [ { @@ -443,7 +617,7 @@ "type": "tidelift" } ], - "time": "2023-08-30T09:31:38+00:00" + "time": "2023-12-18T12:05:55+00:00" }, { "name": "composer/semver", @@ -526,6 +700,81 @@ ], "time": "2023-08-31T09:50:34+00:00" }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, { "name": "doctrine/cache", "version": "2.2.0", @@ -730,16 +979,16 @@ }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -771,9 +1020,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/event-manager", @@ -869,16 +1118,16 @@ }, { "name": "doctrine/inflector", - "version": "2.0.8", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/2930cd5ef353871c821d5c43ed030d39ac8cfe65", + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65", "shasum": "" }, "require": { @@ -940,7 +1189,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.8" + "source": "https://github.com/doctrine/inflector/tree/2.0.9" }, "funding": [ { @@ -956,35 +1205,36 @@ "type": "tidelift" } ], - "time": "2023-06-16T13:40:37+00:00" + "time": "2024-01-15T18:05:13+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.3", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1016,7 +1266,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -1032,32 +1282,35 @@ "type": "tidelift" } ], - "time": "2022-02-28T11:07:21+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "dompdf/dompdf", - "version": "v0.8.6", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "db91d81866c69a42dad1d2926f61515a1e3f42c5" + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/db91d81866c69a42dad1d2926f61515a1e3f42c5", - "reference": "db91d81866c69a42dad1d2926f61515a1e3f42c5", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f", + "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "phenx/php-font-lib": "^0.5.2", - "phenx/php-svg-lib": "^0.3.3", - "php": "^7.1" + "masterminds/html5": "^2.0", + "phenx/php-font-lib": ">=0.5.4 <1.0.0", + "phenx/php-svg-lib": ">=0.3.3 <1.0.0", + "php": "^7.1 || ^8.0" }, "require-dev": { + "ext-json": "*", + "ext-zip": "*", "mockery/mockery": "^1.3", - "phpunit/phpunit": "^7.5", + "phpunit/phpunit": "^7.5 || ^8 || ^9", "squizlabs/php_codesniffer": "^3.5" }, "suggest": { @@ -1067,11 +1320,6 @@ "ext-zlib": "Needed for pdf stream compression" }, "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.7-dev" - } - }, "autoload": { "psr-4": { "Dompdf\\": "src/" @@ -1086,52 +1334,46 @@ ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - }, - { - "name": "Brian Sweeney", - "email": "eclecticgeek@gmail.com" - }, - { - "name": "Gabriel Bull", - "email": "me@gabrielbull.com" + "name": "The Dompdf Community", + "homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md" } ], "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/master" + "source": "https://github.com/dompdf/dompdf/tree/v2.0.4" }, - "time": "2020-08-30T22:54:22+00:00" + "time": "2023-12-12T20:19:39+00:00" }, { "name": "dragonmantank/cron-expression", - "version": "v2.3.1", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2" + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -1142,11 +1384,6 @@ "MIT" ], "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, { "name": "Chris Tankersley", "email": "chris@ctankersley.com", @@ -1160,7 +1397,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" }, "funding": [ { @@ -1168,31 +1405,30 @@ "type": "github" } ], - "time": "2020-10-13T00:52:37+00:00" + "time": "2023-08-10T19:36:49+00:00" }, { "name": "egulias/email-validator", - "version": "2.1.25", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" }, "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -1200,7 +1436,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -1228,7 +1464,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" }, "funding": [ { @@ -1236,24 +1472,24 @@ "type": "github" } ], - "time": "2020-12-29T14:50:06+00:00" + "time": "2023-10-06T06:47:41+00:00" }, { "name": "ezyang/htmlpurifier", - "version": "v4.16.0", + "version": "v4.17.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -1295,106 +1531,37 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" - }, - "time": "2022-09-18T07:06:19+00:00" - }, - { - "name": "fideloper/proxy", - "version": "4.4.2", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", - "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0|^8.0|^9.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^8.5.8|^9.3.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ], - "support": { - "issues": "https://github.com/fideloper/TrustedProxy/issues", - "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.2" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" }, - "time": "2022-02-09T13:33:34+00:00" + "time": "2023-11-17T15:01:25+00:00" }, { - "name": "fruitcake/laravel-cors", - "version": "v1.0.6", + "name": "fruitcake/php-cors", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6", - "reference": "1d127dbec313e2e227d65e0c483765d8d7559bf6", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", "shasum": "" }, "require": { - "asm89/stack-cors": "^1.3", - "illuminate/contracts": "^5.5|^6.0|^7.0|^8.0", - "illuminate/support": "^5.5|^6.0|^7.0|^8.0", - "php": ">=7", - "symfony/http-foundation": "^3.3|^4.0|^5.0", - "symfony/http-kernel": "^3.3|^4.0|^5.0" + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { - "laravel/framework": "^5.5|^6.0|^7.0|^8.0", - "orchestra/testbench": "^3.5|^4.0|^5.0|^6.0", - "phpro/grumphp": "^0.16|^0.17", - "phpunit/phpunit": "^6.0|^7.0|^8.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" - }, - "laravel": { - "providers": [ - "Fruitcake\\Cors\\CorsServiceProvider" - ] + "dev-master": "1.2-dev" } }, "autoload": { @@ -1412,53 +1579,57 @@ "homepage": "https://fruitcake.nl" }, { - "name": "Barry vd. Heuvel", + "name": "Barryvdh", "email": "barryvdh@gmail.com" } ], - "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", "keywords": [ - "api", "cors", - "crossdomain", - "laravel" + "laravel", + "symfony" ], "support": { - "issues": "https://github.com/fruitcake/laravel-cors/issues", - "source": "https://github.com/fruitcake/laravel-cors/tree/1.0" + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, { "url": "https://github.com/barryvdh", "type": "github" } ], - "abandoned": true, - "time": "2020-04-28T08:47:37+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "geoip2/geoip2", - "version": "v2.8.0", + "version": "v2.13.0", "source": { "type": "git", - "url": "https://github.com/maxmind/GeoIP2-php.git", - "reference": "63b0d87d47ee8c9431bff70244401db5ced82bd9" + "url": "git@github.com:maxmind/GeoIP2-php.git", + "reference": "6a41d8fbd6b90052bc34dff3b4252d0f88067b23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/63b0d87d47ee8c9431bff70244401db5ced82bd9", - "reference": "63b0d87d47ee8c9431bff70244401db5ced82bd9", + "url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/6a41d8fbd6b90052bc34dff3b4252d0f88067b23", + "reference": "6a41d8fbd6b90052bc34dff3b4252d0f88067b23", "shasum": "" }, "require": { - "maxmind-db/reader": "~1.0", - "maxmind/web-service-common": "~0.4", - "php": ">=5.4" + "ext-json": "*", + "maxmind-db/reader": "~1.8", + "maxmind/web-service-common": "~0.8", + "php": ">=7.2" }, "require-dev": { - "apigen/apigen": "*", - "friendsofphp/php-cs-fixer": "2.*", - "phpunit/phpunit": "4.*", + "friendsofphp/php-cs-fixer": "3.*", + "phpstan/phpstan": "*", + "phpunit/phpunit": "^8.0 || ^9.0", "squizlabs/php_codesniffer": "3.*" }, "type": "library", @@ -1475,7 +1646,7 @@ { "name": "Gregory J. Oschwald", "email": "goschwald@maxmind.com", - "homepage": "http://www.maxmind.com/" + "homepage": "https://www.maxmind.com/" } ], "description": "MaxMind GeoIP2 PHP API", @@ -1487,45 +1658,113 @@ "geolocation", "maxmind" ], - "support": { - "issues": "https://github.com/maxmind/GeoIP2-php/issues", - "source": "https://github.com/maxmind/GeoIP2-php/tree/v2.8.0" - }, - "time": "2018-01-18T21:30:24+00:00" + "time": "2022-08-05T20:32:58+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "6.5.8", + "name": "graham-campbell/result-type", + "version": "v1.1.2", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", - "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", "shasum": "" }, "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.9", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17" + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" }, "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "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.5-dev" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { @@ -1578,19 +1817,20 @@ } ], "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5.8" + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" }, "funding": [ { @@ -1606,33 +1846,37 @@ "type": "tidelift" } ], - "time": "2022-06-20T22:16:07+00:00" + "time": "2023-12-03T20:35:24+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.3", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", "shasum": "" }, "require": { - "php": ">=5.5" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Promise\\": "src/" } @@ -1669,7 +1913,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.3" + "source": "https://github.com/guzzle/promises/tree/2.0.2" }, "funding": [ { @@ -1685,42 +1929,48 @@ "type": "tidelift" } ], - "time": "2023-05-21T12:31:43+00:00" + "time": "2023-12-03T20:19:20+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.9.1", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", - "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Psr7\\": "src/" } @@ -1759,6 +2009,11 @@ "name": "Tobias Schultze", "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -1774,7 +2029,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.9.1" + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { @@ -1790,7 +2045,93 @@ "type": "tidelift" } ], - "time": "2023-04-17T16:00:37+00:00" + "time": "2023-12-03T20:05:35+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2023-12-03T19:50:20+00:00" }, { "name": "intervention/image", @@ -1986,123 +2327,74 @@ }, "time": "2022-07-31T09:58:52+00:00" }, - { - "name": "jcf/geocode", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/jotafurtado/geocode.git", - "reference": "d598f618ea485333e972a04c0ccd263f0884c933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jotafurtado/geocode/zipball/d598f618ea485333e972a04c0ccd263f0884c933", - "reference": "d598f618ea485333e972a04c0ccd263f0884c933", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.4.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Jcf\\Geocode\\GeocodeServiceProvider" - ], - "aliases": { - "Geocode": "Jcf\\Geocode\\Facades\\Geocode" - } - } - }, - "autoload": { - "psr-0": { - "Jcf\\Geocode": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "João Carlos", - "email": "jotacfurtado@gmail.com" - } - ], - "description": "Google Geocoding API for Laravel", - "keywords": [ - "address", - "api", - "geocode", - "geocoding", - "google", - "laravel", - "latitude", - "longitude" - ], - "support": { - "issues": "https://github.com/jotafurtado/geocode/issues", - "source": "https://github.com/jotafurtado/geocode/tree/master" - }, - "time": "2018-01-15T03:43:45+00:00" - }, { "name": "laravel/framework", - "version": "v7.30.6", + "version": "v9.52.16", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + "reference": "082345d76fc6a55b649572efe10b11b03e279d24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee", - "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee", + "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24", + "reference": "082345d76fc6a55b649572efe10b11b03e279d24", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^2.3.1", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", + "brick/math": "^0.9.3|^0.10.2|^0.11", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/commonmark": "^1.3", - "league/flysystem": "^1.1", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/serializable-closure": "^1.2.2", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", - "opis/closure": "^3.6", - "php": "^7.2.5|^8.0", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7|^4.0", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.0", - "symfony/error-handler": "^5.0", - "symfony/finder": "^5.0", - "symfony/http-foundation": "^5.0", - "symfony/http-kernel": "^5.0", - "symfony/mime": "^5.0", - "symfony/polyfill-php73": "^1.17", - "symfony/process": "^5.0", - "symfony/routing": "^5.0", - "symfony/var-dumper": "^5.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^4.0", - "voku/portable-ascii": "^1.4.8" + "nesbot/carbon": "^2.62.1", + "nunomaduro/termwind": "^1.13", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^6.0.9", + "symfony/error-handler": "^6.0", + "symfony/finder": "^6.0", + "symfony/http-foundation": "^6.0", + "symfony/http-kernel": "^6.0", + "symfony/mailer": "^6.0", + "symfony/mime": "^6.0", + "symfony/process": "^6.0", + "symfony/routing": "^6.0", + "symfony/uid": "^6.0", + "symfony/var-dumper": "^6.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.0" + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { "illuminate/auth": "self.version", "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -2115,6 +2407,7 @@ "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", + "illuminate/macroable": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", @@ -2130,61 +2423,84 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.155", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.8", - "guzzlehttp/guzzle": "^6.3.1|^7.0.1", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "~1.3.3|^1.4.2", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "^5.8", + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "doctrine/dbal": "^2.13.3|^3.1.4", + "ext-gmp": "*", + "fakerphp/faker": "^1.21", + "guzzlehttp/guzzle": "^7.5", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.5.1", + "orchestra/testbench-core": "^7.24", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.4|^9.3.3", - "predis/predis": "^1.1.1", - "symfony/cache": "^5.0" + "phpstan/phpdoc-parser": "^1.15", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^9.5.8", + "predis/predis": "^1.1.9|^2.0.2", + "symfony/cache": "^6.0", + "symfony/http-client": "^6.0" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (~1.3.3|^1.4.2).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.5.1).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.2).", "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).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", - "symfony/filesystem": "Required to create relative storage directory symbolic links (^5.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { - "Illuminate\\": "src/Illuminate/" + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -2207,52 +2523,44 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-07T14:56:47+00:00" + "time": "2023-10-03T13:02:30+00:00" }, { - "name": "laravel/tinker", - "version": "v2.8.2", + "name": "laravel/legacy-factories", + "version": "v1.4.0", "source": { "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3" + "url": "https://github.com/laravel/legacy-factories.git", + "reference": "6cb79f668fc36b8b396ada1da3ba45867889c30f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/b936d415b252b499e8c3b1f795cd4fc20f57e1f3", - "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3", + "url": "https://api.github.com/repos/laravel/legacy-factories/zipball/6cb79f668fc36b8b396ada1da3ba45867889c30f", + "reference": "6cb79f668fc36b8b396ada1da3ba45867889c30f", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0", - "php": "^7.2.5|^8.0", - "psy/psysh": "^0.10.4|^0.11.1", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0" - }, - "require-dev": { - "mockery/mockery": "~1.3.3|^1.4.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0)." + "illuminate/macroable": "^8.0|^9.0|^10.0|^11.0", + "php": "^7.3|^8.0", + "symfony/finder": "^3.4|^4.0|^5.0|^6.0|^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.x-dev" }, "laravel": { "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" + "Illuminate\\Database\\Eloquent\\LegacyFactoryServiceProvider" ] } }, "autoload": { + "files": [ + "helpers.php" + ], "psr-4": { - "Laravel\\Tinker\\": "src/" + "Illuminate\\Database\\Eloquent\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2265,51 +2573,46 @@ "email": "taylor@laravel.com" } ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], + "description": "The legacy version of the Laravel Eloquent factories.", + "homepage": "http://laravel.com", "support": { - "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.8.2" + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" }, - "time": "2023-08-15T14:27:00+00:00" + "time": "2024-01-15T13:55:14+00:00" }, { - "name": "laravel/ui", - "version": "v2.5.0", + "name": "laravel/serializable-closure", + "version": "v1.3.3", "source": { "type": "git", - "url": "https://github.com/laravel/ui.git", - "reference": "d01a705763c243b07be795e9d1bb47f89260f73d" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/d01a705763c243b07be795e9d1bb47f89260f73d", - "reference": "d01a705763c243b07be795e9d1bb47f89260f73d", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", "shasum": "" }, "require": { - "illuminate/console": "^7.0", - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5|^8.0" + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "Laravel\\Ui\\UiServiceProvider" - ] + "branch-alias": { + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Laravel\\Ui\\": "src/", - "Illuminate\\Foundation\\Auth\\": "auth-backend/" + "Laravel\\SerializableClosure\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2320,26 +2623,158 @@ { "name": "Taylor Otwell", "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" } ], - "description": "Laravel UI utilities and presets.", + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", "keywords": [ + "closure", "laravel", - "ui" + "serializable" ], "support": { - "issues": "https://github.com/laravel/ui/issues", - "source": "https://github.com/laravel/ui/tree/v2.5.0" + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" }, - "time": "2020-11-03T19:45:19+00:00" + "time": "2023-11-08T14:08:06+00:00" }, { - "name": "laravelcollective/html", - "version": "v6.4.1", + "name": "laravel/tinker", + "version": "v2.9.0", "source": { "type": "git", - "url": "https://github.com/LaravelCollective/html.git", - "reference": "64ddfdcaeeb8d332bd98bef442bef81e39c3910b" + "url": "https://github.com/laravel/tinker.git", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.9.0" + }, + "time": "2024-01-04T16:10:04+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.4.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42|^9.0", + "illuminate/filesystem": "^8.42|^9.0", + "illuminate/support": "^8.82|^9.0", + "illuminate/validation": "^8.42|^9.0", + "php": "^7.3|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.23|^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.4.6" + }, + "time": "2022-05-20T13:38:08+00:00" + }, + { + "name": "laravelcollective/html", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "64ddfdcaeeb8d332bd98bef442bef81e39c3910b" }, "dist": { "type": "zip", @@ -2408,42 +2843,54 @@ }, { "name": "league/commonmark", - "version": "1.6.7", + "version": "2.4.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.3", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, - "bin": [ - "bin/commonmark" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" @@ -2461,7 +2908,7 @@ "role": "Lead Developer" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", "homepage": "https://commonmark.thephpleague.com", "keywords": [ "commonmark", @@ -2475,6 +2922,7 @@ ], "support": { "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", "issues": "https://github.com/thephpleague/commonmark/issues", "rss": "https://github.com/thephpleague/commonmark/releases.atom", "source": "https://github.com/thephpleague/commonmark" @@ -2497,38 +2945,125 @@ "type": "tidelift" } ], - "time": "2022-01-13T17:18:13+00:00" + "time": "2024-02-02T11:59:32+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "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": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" }, { "name": "league/csv", - "version": "9.8.0", + "version": "9.14.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "9d2e0265c5d90f5dd601bc65ff717e05cec19b47" + "reference": "34bf0df7340b60824b9449b5c526fcc3325070d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/9d2e0265c5d90f5dd601bc65ff717e05cec19b47", - "reference": "9d2e0265c5d90f5dd601bc65ff717e05cec19b47", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/34bf0df7340b60824b9449b5c526fcc3325070d5", + "reference": "34bf0df7340b60824b9449b5c526fcc3325070d5", "shasum": "" }, "require": { + "ext-filter": "*", "ext-json": "*", "ext-mbstring": "*", - "php": "^7.4 || ^8.0" + "php": "^8.1.2" }, "require-dev": { - "ext-curl": "*", + "doctrine/collections": "^2.1.4", "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^v3.4.0", - "phpstan/phpstan": "^1.3.0", - "phpstan/phpstan-phpunit": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.1.0", - "phpunit/phpunit": "^9.5.11" + "ext-xdebug": "*", + "friendsofphp/php-cs-fixer": "^v3.22.0", + "phpbench/phpbench": "^1.2.15", + "phpstan/phpstan": "^1.10.50", + "phpstan/phpstan-deprecation-rules": "^1.1.4", + "phpstan/phpstan-phpunit": "^1.3.15", + "phpstan/phpstan-strict-rules": "^1.5.2", + "phpunit/phpunit": "^10.5.3", + "symfony/var-dumper": "^6.4.0" }, "suggest": { - "ext-dom": "Required to use the XMLConverter and or the HTMLConverter classes", + "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" }, "type": "library", @@ -2581,58 +3116,56 @@ "type": "github" } ], - "time": "2022-01-04T00:13:07+00:00" + "time": "2023-12-29T07:34:53+00:00" }, { "name": "league/flysystem", - "version": "1.1.10", + "version": "3.24.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + "reference": "b25a361508c407563b34fac6f64a8a17a8819675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b25a361508c407563b34fac6f64a8a17a8819675", + "reference": "b25a361508c407563b34fac6f64a8a17a8819675", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "conflict": { - "league/flysystem-sftp": "<1.0.6" + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" }, "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.34", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2642,68 +3175,67 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + "source": "https://github.com/thephpleague/flysystem/tree/3.24.0" }, "funding": [ { - "url": "https://offset.earth/frankdejonge", - "type": "other" + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" } ], - "time": "2022-10-04T09:16:37+00:00" + "time": "2024-02-04T12:10:17+00:00" }, { - "name": "league/mime-type-detection", - "version": "1.13.0", + "name": "league/flysystem-aws-s3-v3", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96" + "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", + "reference": "f8ba6a92a5c1fdcbdd89dede009a1e6e1b93ba8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/f8ba6a92a5c1fdcbdd89dede009a1e6e1b93ba8c", + "reference": "f8ba6a92a5c1fdcbdd89dede009a1e6e1b93ba8c", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "php": "^7.4 || ^8.0" + "aws/aws-sdk-php": "^3.132.4", + "league/flysystem": "^2.0.0 || ^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + "conflict": { + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1" }, "type": "library", "autoload": { "psr-4": { - "League\\MimeTypeDetection\\": "src" + "League\\Flysystem\\AwsS3V3\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2716,63 +3248,46 @@ "email": "info@frankdejonge.nl" } ], - "description": "Mime-type detection for Flysystem", + "description": "AWS S3 filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "aws", + "file", + "files", + "filesystem", + "s3", + "storage" + ], "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0" + "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.0" }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2023-08-05T12:09:49+00:00" + "time": "2022-01-13T21:11:49+00:00" }, { - "name": "maatwebsite/excel", - "version": "3.1.48", + "name": "league/flysystem-ftp", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "6d0fe2a1d195960c7af7bf0de760582da02a34b9" + "url": "https://github.com/thephpleague/flysystem-ftp.git", + "reference": "2a3833d05e3abcaab926751311431065f50a493b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/6d0fe2a1d195960c7af7bf0de760582da02a34b9", - "reference": "6d0fe2a1d195960c7af7bf0de760582da02a34b9", + "url": "https://api.github.com/repos/thephpleague/flysystem-ftp/zipball/2a3833d05e3abcaab926751311431065f50a493b", + "reference": "2a3833d05e3abcaab926751311431065f50a493b", "shasum": "" }, "require": { - "composer/semver": "^3.3", - "ext-json": "*", - "illuminate/support": "5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", - "php": "^7.0|^8.0", - "phpoffice/phpspreadsheet": "^1.18", - "psr/simple-cache": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "orchestra/testbench": "^6.0|^7.0|^8.0", - "predis/predis": "^1.1" + "ext-ftp": "*", + "league/flysystem": "^2.0.0 || ^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "Maatwebsite\\Excel\\ExcelServiceProvider" - ], - "aliases": { - "Excel": "Maatwebsite\\Excel\\Facades\\Excel" - } - } - }, "autoload": { "psr-4": { - "Maatwebsite\\Excel\\": "src/" + "League\\Flysystem\\Ftp\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2781,15 +3296,276 @@ ], "authors": [ { - "name": "Patrick Brouwers", - "email": "patrick@spartner.nl" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "description": "Supercharged Excel exports and imports in Laravel", + "description": "FTP filesystem adapter for Flysystem.", "keywords": [ - "PHPExcel", - "batch", - "csv", + "Flysystem", + "file", + "files", + "filesystem", + "ftp", + "ftpd" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-ftp/tree/3.0.0" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2022-01-12T20:39:47+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.23.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/b884d2bf9b53bb4804a56d2df4902bb51e253f00", + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-01-26T18:25:23+00:00" + }, + { + "name": "league/flysystem-sftp-v3", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-sftp-v3.git", + "reference": "7c2c48394e9ae1aa72a2608b5199859db9163876" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-sftp-v3/zipball/7c2c48394e9ae1aa72a2608b5199859db9163876", + "reference": "7c2c48394e9ae1aa72a2608b5199859db9163876", + "shasum": "" + }, + "require": { + "league/flysystem": "^2.0.0 || ^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2", + "phpseclib/phpseclib": "^3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\PhpseclibV3\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "In-memory filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "sftp" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-sftp-v3/issues", + "source": "https://github.com/thephpleague/flysystem-sftp-v3/tree/3.0.0" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2022-01-13T21:23:39+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.15.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-01-28T23:22:08+00:00" + }, + { + "name": "maatwebsite/excel", + "version": "3.1.53", + "source": { + "type": "git", + "url": "https://github.com/SpartnerNL/Laravel-Excel.git", + "reference": "f5175b19389f51bf489a1558eb0efc0a59ec4b67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/f5175b19389f51bf489a1558eb0efc0a59ec4b67", + "reference": "f5175b19389f51bf489a1558eb0efc0a59ec4b67", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "ext-json": "*", + "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0", + "php": "^7.0||^8.0", + "phpoffice/phpspreadsheet": "^1.18", + "psr/simple-cache": "^1.0||^2.0||^3.0" + }, + "require-dev": { + "laravel/scout": "^7.0||^8.0||^9.0||^10.0", + "orchestra/testbench": "^6.0||^7.0||^8.0", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ], + "aliases": { + "Excel": "Maatwebsite\\Excel\\Facades\\Excel" + } + } + }, + "autoload": { + "psr-4": { + "Maatwebsite\\Excel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Patrick Brouwers", + "email": "patrick@spartner.nl" + } + ], + "description": "Supercharged Excel exports and imports in Laravel", + "keywords": [ + "PHPExcel", + "batch", + "csv", "excel", "export", "import", @@ -2799,7 +3575,7 @@ ], "support": { "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.48" + "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.53" }, "funding": [ { @@ -2811,36 +3587,39 @@ "type": "github" } ], - "time": "2023-02-22T21:01:38+00:00" + "time": "2024-02-05T08:53:46+00:00" }, { "name": "maennchen/zipstream-php", - "version": "2.2.6", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f" + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f", - "reference": "30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", + "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", "shasum": "" }, "require": { - "myclabs/php-enum": "^1.5", - "php": "^7.4 || ^8.0", - "psr/http-message": "^1.0", - "symfony/polyfill-mbstring": "^1.0" + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.1" }, "require-dev": { "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.9", - "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^8.5.8 || ^9.4.2", - "vimeo/psalm": "^4.1" + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^10.0", + "vimeo/psalm": "^5.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" }, "type": "library", "autoload": { @@ -2877,7 +3656,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.2.6" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" }, "funding": [ { @@ -2889,7 +3668,7 @@ "type": "open_collective" } ], - "time": "2022-11-25T18:57:19+00:00" + "time": "2023-06-21T14:59:35+00:00" }, { "name": "markbaker/complex", @@ -2999,72 +3778,135 @@ "time": "2022-12-02T22:17:43+00:00" }, { - "name": "maxmind-db/reader", - "version": "v1.11.0", + "name": "masterminds/html5", + "version": "2.8.1", "source": { "type": "git", - "url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git", - "reference": "b1f3c0699525336d09cc5161a2861268d9f2ae5b" + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/b1f3c0699525336d09cc5161a2861268d9f2ae5b", - "reference": "b1f3c0699525336d09cc5161a2861268d9f2ae5b", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", + "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", "shasum": "" }, "require": { - "php": ">=7.2" - }, - "conflict": { - "ext-maxminddb": "<1.10.1,>=2.0.0" + "ext-dom": "*", + "php": ">=5.3.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "3.*", - "php-coveralls/php-coveralls": "^2.1", - "phpstan/phpstan": "*", - "phpunit/phpcov": ">=6.0.0", - "phpunit/phpunit": ">=8.0.0,<10.0.0", - "squizlabs/php_codesniffer": "3.*" - }, - "suggest": { - "ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", - "ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", - "ext-maxminddb": "A C-based database decoder that provides significantly faster lookups" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, "autoload": { "psr-4": { - "MaxMind\\Db\\": "src/MaxMind/Db" + "Masterminds\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Gregory J. Oschwald", - "email": "goschwald@maxmind.com", - "homepage": "https://www.maxmind.com/" + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" } ], - "description": "MaxMind DB Reader API", - "homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php", + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", "keywords": [ - "database", - "geoip", - "geoip2", - "geolocation", - "maxmind" + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" ], "support": { - "issues": "https://github.com/maxmind/MaxMind-DB-Reader-php/issues", - "source": "https://github.com/maxmind/MaxMind-DB-Reader-php/tree/v1.11.0" + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" }, - "time": "2021-10-18T15:23:10+00:00" + "time": "2023-05-10T11:58:31+00:00" }, { - "name": "maxmind/web-service-common", + "name": "maxmind-db/reader", + "version": "v1.11.1", + "source": { + "type": "git", + "url": "git@github.com:maxmind/MaxMind-DB-Reader-php.git", + "reference": "1e66f73ffcf25e17c7a910a1317e9720a95497c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/1e66f73ffcf25e17c7a910a1317e9720a95497c7", + "reference": "1e66f73ffcf25e17c7a910a1317e9720a95497c7", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "conflict": { + "ext-maxminddb": "<1.11.1,>=2.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "3.*", + "php-coveralls/php-coveralls": "^2.1", + "phpstan/phpstan": "*", + "phpunit/phpcov": ">=6.0.0", + "phpunit/phpunit": ">=8.0.0,<10.0.0", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", + "ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", + "ext-maxminddb": "A C-based database decoder that provides significantly faster lookups" + }, + "type": "library", + "autoload": { + "psr-4": { + "MaxMind\\Db\\": "src/MaxMind/Db" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Gregory J. Oschwald", + "email": "goschwald@maxmind.com", + "homepage": "https://www.maxmind.com/" + } + ], + "description": "MaxMind DB Reader API", + "homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php", + "keywords": [ + "database", + "geoip", + "geoip2", + "geolocation", + "maxmind" + ], + "time": "2023-12-02T00:09:23+00:00" + }, + { + "name": "maxmind/web-service-common", "version": "v0.9.0", "source": { "type": "git", @@ -3116,16 +3958,16 @@ }, { "name": "monolog/monolog", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", "shasum": "" }, "require": { @@ -3202,7 +4044,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.1" + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" }, "funding": [ { @@ -3214,39 +4056,46 @@ "type": "tidelift" } ], - "time": "2023-02-06T13:44:46+00:00" + "time": "2023-10-27T15:25:26+00:00" }, { - "name": "myclabs/php-enum", - "version": "1.8.4", + "name": "mtdowling/jmespath.php", + "version": "2.7.0", "source": { "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" + "url": "https://github.com/jmespath/jmespath.php.git", + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.3 || ^8.0" + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-mbstring": "^1.17" }, "require-dev": { - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" + "composer/xdebug-handler": "^3.0.3", + "phpunit/phpunit": "^8.5.33" }, + "bin": [ + "bin/jp.php" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, "autoload": { + "files": [ + "src/JmesPath.php" + ], "psr-4": { - "MyCLabs\\Enum\\": "src/" - }, - "classmap": [ - "stubs/Stringable.php" - ] + "JmesPath\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3254,46 +4103,43 @@ ], "authors": [ { - "name": "PHP Enum contributors", - "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", + "description": "Declaratively specify how to extract elements from a JSON document", "keywords": [ - "enum" + "json", + "jsonpath" ], "support": { - "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" + "issues": "https://github.com/jmespath/jmespath.php/issues", + "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" }, - "funding": [ - { - "url": "https://github.com/mnapoli", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", - "type": "tidelift" - } - ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2023-08-25T10:54:48+00:00" }, { "name": "nesbot/carbon", - "version": "2.70.0", + "version": "2.72.3", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d" + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d3298b38ea8612e5f77d38d1a99438e42f70341d", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", "shasum": "" }, "require": { + "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", @@ -3305,8 +4151,8 @@ "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4", - "doctrine/orm": "^2.7", + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "ondrejmirtes/better-reflection": "*", @@ -3383,29 +4229,179 @@ "type": "tidelift" } ], - "time": "2023-09-07T16:43:50+00:00" + "time": "2024-01-25T10:35:09+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.0" + }, + "time": "2023-12-11T11:54:22+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.4" + }, + "time": "2024-01-17T16:50:36+00:00" }, { "name": "nikic/php-parser", - "version": "v4.17.1", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -3413,7 +4409,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3437,43 +4433,55 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" }, - "time": "2023-08-13T19:53:39+00:00" + "time": "2024-01-07T17:17:35+00:00" }, { - "name": "opis/closure", - "version": "3.6.3", + "name": "nunomaduro/termwind", + "version": "v1.15.1", "source": { "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0 || ^8.0" + "ext-mbstring": "*", + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" }, "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.6.x-dev" + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] } }, "autoload": { "files": [ - "functions.php" + "src/Functions.php" ], "psr-4": { - "Opis\\Closure\\": "src/" + "Termwind\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3482,29 +4490,38 @@ ], "authors": [ { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" } ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", + "description": "Its like Tailwind CSS, but for the console.", "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" + "cli", + "console", + "css", + "package", + "php", + "style" ], "support": { - "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.3" + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" }, - "time": "2022-01-27T09:35:39+00:00" + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2023-02-08T01:06:31+00:00" }, { "name": "owen-it/laravel-auditing", @@ -3591,125 +4608,243 @@ "time": "2022-02-22T13:39:06+00:00" }, { - "name": "phenx/php-font-lib", - "version": "0.5.4", + "name": "paragonie/constant_time_encoding", + "version": "v2.6.3", "source": { "type": "git", - "url": "https://github.com/dompdf/php-font-lib.git", - "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4" + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "58c3f47f650c94ec05a151692652a868995d2938" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4", - "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", + "reference": "58c3f47f650c94ec05a151692652a868995d2938", "shasum": "" }, "require": { - "ext-mbstring": "*" + "php": "^7|^8" }, "require-dev": { - "symfony/phpunit-bridge": "^3 || ^4 || ^5" + "phpunit/phpunit": "^6|^7|^8|^9", + "vimeo/psalm": "^1|^2|^3|^4" }, "type": "library", "autoload": { "psr-4": { - "FontLib\\": "src/FontLib" + "ParagonIE\\ConstantTime\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0" + "MIT" ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" } ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], "support": { - "issues": "https://github.com/dompdf/php-font-lib/issues", - "source": "https://github.com/dompdf/php-font-lib/tree/0.5.4" + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2021-12-17T19:44:54+00:00" + "time": "2022-06-14T06:56:20+00:00" }, { - "name": "phenx/php-svg-lib", - "version": "0.3.4", + "name": "paragonie/random_compat", + "version": "v9.99.100", "source": { "type": "git", - "url": "https://github.com/PhenX/php-svg-lib.git", - "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2" + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/f627771eb854aa7f45f80add0f23c6c4d67ea0f2", - "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", - "sabberworm/php-css-parser": "^8.3" + "php": ">= 7" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" }, - "type": "library", - "autoload": { - "psr-4": { - "Svg\\": "src/Svg" - } + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, + "type": "library", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0" + "MIT" ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" } ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], "support": { - "issues": "https://github.com/PhenX/php-svg-lib/issues", - "source": "https://github.com/PhenX/php-svg-lib/tree/0.3.4" + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" }, - "time": "2021-10-18T02:13:32+00:00" + "time": "2020-10-15T08:29:30+00:00" }, { - "name": "phpoffice/phpspreadsheet", - "version": "1.29.0", + "name": "phenx/php-font-lib", + "version": "0.5.6", "source": { "type": "git", - "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" + "url": "https://github.com/dompdf/php-font-lib.git", + "reference": "a1681e9793040740a405ac5b189275059e2a9863" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863", + "reference": "a1681e9793040740a405ac5b189275059e2a9863", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-fileinfo": "*", - "ext-gd": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "ext-zip": "*", - "ext-zlib": "*", - "ezyang/htmlpurifier": "^4.15", - "maennchen/zipstream-php": "^2.1 || ^3.0", - "markbaker/complex": "^3.0", + "ext-mbstring": "*" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "FontLib\\": "src/FontLib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/PhenX/php-font-lib", + "support": { + "issues": "https://github.com/dompdf/php-font-lib/issues", + "source": "https://github.com/dompdf/php-font-lib/tree/0.5.6" + }, + "time": "2024-01-29T14:45:26+00:00" + }, + { + "name": "phenx/php-svg-lib", + "version": "0.5.2", + "source": { + "type": "git", + "url": "https://github.com/dompdf/php-svg-lib.git", + "reference": "732faa9fb4309221e2bd9b2fda5de44f947133aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/732faa9fb4309221e2bd9b2fda5de44f947133aa", + "reference": "732faa9fb4309221e2bd9b2fda5de44f947133aa", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabberworm/php-css-parser": "^8.4" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Svg\\": "src/Svg" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/PhenX/php-svg-lib", + "support": { + "issues": "https://github.com/dompdf/php-svg-lib/issues", + "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.2" + }, + "time": "2024-02-07T12:49:40+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.29.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "ezyang/htmlpurifier": "^4.15", + "maennchen/zipstream-php": "^2.1 || ^3.0", + "markbaker/complex": "^3.0", "markbaker/matrix": "^3.0", "php": "^7.4 || ^8.0", "psr/http-client": "^1.0", @@ -3786,16 +4921,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.1", + "version": "1.9.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e" + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", "shasum": "" }, "require": { @@ -3803,7 +4938,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "type": "library", "extra": { @@ -3845,7 +4980,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.1" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" }, "funding": [ { @@ -3857,7 +4992,117 @@ "type": "tidelift" } ], - "time": "2023-02-25T19:38:58+00:00" + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.35", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4b1827beabce71953ca479485c0ae9c51287f2fe", + "reference": "4b1827beabce71953ca479485c0ae9c51287f2fe", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "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": { + "phpseclib3\\": "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" + ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.35" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2023-12-29T01:59:53+00:00" }, { "name": "psr/clock", @@ -3909,22 +5154,27 @@ }, { "name": "psr/container", - "version": "1.1.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -3951,9 +5201,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", @@ -4007,16 +5257,16 @@ }, { "name": "psr/http-client", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { @@ -4053,9 +5303,9 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/1.0.2" + "source": "https://github.com/php-fig/http-client" }, - "time": "2023-04-10T20:12:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", @@ -4114,16 +5364,16 @@ }, { "name": "psr/http-message", - "version": "1.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { @@ -4132,7 +5382,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -4147,7 +5397,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -4161,36 +5411,36 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:50:52+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/log", - "version": "1.1.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4211,31 +5461,31 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4250,7 +5500,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -4262,31 +5512,31 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { "name": "psy/psysh", - "version": "v0.11.21", + "version": "v0.12.0", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540" + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/bcb22101107f3bf770523b65630c9d547f60c540", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/750bf031a48fd07c673dbe3f11f72362ea306d0d", + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d", "shasum": "" }, "require": { "ext-json": "*", "ext-tokenizer": "*", - "nikic/php-parser": "^4.0 || ^3.1", - "php": "^8.0 || ^7.0.8", - "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" }, "conflict": { "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" @@ -4297,8 +5547,7 @@ "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, "bin": [ "bin/psysh" @@ -4306,7 +5555,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.11.x-dev" + "dev-main": "0.12.x-dev" }, "bamarni-bin": { "bin-links": false, @@ -4342,9 +5591,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.21" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.0" }, - "time": "2023-09-17T21:15:54+00:00" + "time": "2023-12-20T15:28:09+00:00" }, { "name": "ralouphie/getallheaders", @@ -4392,21 +5641,20 @@ }, { "name": "ramsey/collection", - "version": "1.3.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", - "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", - "symfony/polyfill-php81": "^1.23" + "php": "^8.1" }, "require-dev": { "captainhook/plugin-composer": "^5.3", @@ -4466,7 +5714,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.3.0" + "source": "https://github.com/ramsey/collection/tree/2.0.0" }, "funding": [ { @@ -4478,29 +5726,27 @@ "type": "tidelift" } ], - "time": "2022-12-27T19:12:24+00:00" + "time": "2022-12-31T21:50:55+00:00" }, { "name": "ramsey/uuid", - "version": "4.2.3", + "version": "4.7.5", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", "shasum": "" }, "require": { - "brick/math": "^0.8 || ^0.9", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", "ext-json": "*", - "php": "^7.2 || ^8.0", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php80": "^1.14" + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" }, "replace": { "rhumsaa/uuid": "self.version" @@ -4512,24 +5758,23 @@ "doctrine/annotations": "^1.8", "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", "paragonie/random-lib": "^2", "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", "php-parallel-lint/php-parallel-lint": "^1.1", "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", "phpunit/phpunit": "^8.5 || ^9", - "slevomat/coding-standard": "^7.0", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", "squizlabs/php_codesniffer": "^3.5", "vimeo/psalm": "^4.9" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", @@ -4537,9 +5782,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "4.x-dev" - }, "captainhook": { "force-install": true } @@ -4564,7 +5806,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.3" + "source": "https://github.com/ramsey/uuid/tree/4.7.5" }, "funding": [ { @@ -4576,20 +5818,20 @@ "type": "tidelift" } ], - "time": "2021-09-25T23:10:38+00:00" + "time": "2023-11-08T05:53:05+00:00" }, { "name": "sabberworm/php-css-parser", - "version": "8.4.0", + "version": "8.5.0", "source": { "type": "git", - "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", - "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30" + "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git", + "reference": "4e9a54c2a368fcd73ecc6b45f98c7714b54a7db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30", - "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30", + "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/4e9a54c2a368fcd73ecc6b45f98c7714b54a7db0", + "reference": "4e9a54c2a368fcd73ecc6b45f98c7714b54a7db0", "shasum": "" }, "require": { @@ -4597,13 +5839,18 @@ "php": ">=5.6.20" }, "require-dev": { - "codacy/coverage": "^1.4", - "phpunit/phpunit": "^4.8.36" + "codacy/coverage": "^1.4.3", + "phpunit/phpunit": "^5.7.27" }, "suggest": { "ext-mbstring": "for parsing UTF-8 CSS" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.0.x-dev" + } + }, "autoload": { "psr-4": { "Sabberworm\\CSS\\": "src/" @@ -4626,10 +5873,10 @@ "stylesheet" ], "support": { - "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues", - "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0" + "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues", + "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/8.5.0" }, - "time": "2021-12-11T13:40:54+00:00" + "time": "2024-02-01T00:40:08+00:00" }, { "name": "sendgrid/php-http-client", @@ -4762,16 +6009,16 @@ }, { "name": "spatie/geocoder", - "version": "3.14.2", + "version": "3.15.0", "source": { "type": "git", "url": "https://github.com/spatie/geocoder.git", - "reference": "61d95b67f27556c5b61cdb9473238e11e0824a85" + "reference": "63cece658d80f64ab8fca5d0a61f3f121fb3dc49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/geocoder/zipball/61d95b67f27556c5b61cdb9473238e11e0824a85", - "reference": "61d95b67f27556c5b61cdb9473238e11e0824a85", + "url": "https://api.github.com/repos/spatie/geocoder/zipball/63cece658d80f64ab8fca5d0a61f3f121fb3dc49", + "reference": "63cece658d80f64ab8fca5d0a61f3f121fb3dc49", "shasum": "" }, "require": { @@ -4819,7 +6066,7 @@ "map" ], "support": { - "source": "https://github.com/spatie/geocoder/tree/3.14.2" + "source": "https://github.com/spatie/geocoder/tree/3.15.0" }, "funding": [ { @@ -4827,7 +6074,7 @@ "type": "custom" } ], - "time": "2023-02-01T08:46:29+00:00" + "time": "2023-10-17T15:48:58+00:00" }, { "name": "starkbank/ecdsa", @@ -4874,28 +6121,29 @@ }, { "name": "stevebauman/location", - "version": "v5.2.0", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/stevebauman/location.git", - "reference": "7be60fd319fe5e62a13b6d427a16f6b1ff2daf0b" + "reference": "b9cadaf84322d19c08deac82ffded86c7a07dfb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stevebauman/location/zipball/7be60fd319fe5e62a13b6d427a16f6b1ff2daf0b", - "reference": "7be60fd319fe5e62a13b6d427a16f6b1ff2daf0b", + "url": "https://api.github.com/repos/stevebauman/location/zipball/b9cadaf84322d19c08deac82ffded86c7a07dfb0", + "reference": "b9cadaf84322d19c08deac82ffded86c7a07dfb0", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", - "geoip2/geoip2": "2.8.*", - "illuminate/support": "~5.0|~6.0|~7.0|~8.0", - "php": ">=5.6.0" + "geoip2/geoip2": "^2.0", + "illuminate/support": "^8.0|^9.0|^10.0", + "php": ">=8.1" }, "require-dev": { - "mockery/mockery": "~0.9|^1.0", - "orchestra/testbench": "~3.2|~4.0|^6.0" + "mockery/mockery": "^1.0", + "orchestra/testbench": "^6.0|^7.0|^8.0", + "pestphp/pest": "^1.21" }, "type": "library", "extra": { @@ -4923,7 +6171,7 @@ "email": "steven_bauman@outlook.com" } ], - "description": "Retrieve a users location by their IP Address", + "description": "Retrieve a user's location by their IP Address", "keywords": [ "IP", "geo", @@ -4935,134 +6183,53 @@ ], "support": { "issues": "https://github.com/stevebauman/location/issues", - "source": "https://github.com/stevebauman/location/tree/v5.2.0" - }, - "time": "2020-09-14T14:30:26+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.4" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + "source": "https://github.com/stevebauman/location/tree/v7.1.4" }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "abandoned": "symfony/mailer", - "time": "2021-10-18T15:26:12+00:00" + "time": "2024-01-29T04:42:48+00:00" }, { "name": "symfony/console", - "version": "v5.4.28", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827" + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827", + "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5096,7 +6263,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.28" + "source": "https://github.com/symfony/console/tree/v6.4.3" }, "funding": [ { @@ -5112,25 +6279,24 @@ "type": "tidelift" } ], - "time": "2023-08-07T06:12:30+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.26", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a" + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a", - "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ee0f7ed5cf298cc019431bb3b3977ebc52b86229", + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -5162,7 +6328,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.26" + "source": "https://github.com/symfony/css-selector/tree/v6.4.3" }, "funding": [ { @@ -5178,29 +6344,29 @@ "type": "tidelift" } ], - "time": "2023-07-07T06:10:25+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5229,7 +6395,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -5245,31 +6411,35 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.26", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9" + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/b26719213a39c9ba57520cbc5e52bfcc5e8d92f9", - "reference": "b26719213a39c9ba57520cbc5e52bfcc5e8d92f9", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/6dc3c76a278b77f01d864a6005d640822c6f26a6", + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -5300,7 +6470,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.26" + "source": "https://github.com/symfony/error-handler/tree/v6.4.3" }, "funding": [ { @@ -5316,48 +6486,43 @@ "type": "tidelift" } ], - "time": "2023-07-16T16:48:57+00:00" + "time": "2024-01-29T15:40:36+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.26", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac" + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5385,7 +6550,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.3" }, "funding": [ { @@ -5401,33 +6566,30 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:34:20+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", - "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/event-dispatcher": "^1" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5464,7 +6626,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" }, "funding": [ { @@ -5480,26 +6642,27 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/finder", - "version": "v5.4.27", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d" + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d", - "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -5527,7 +6690,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.27" + "source": "https://github.com/symfony/finder/tree/v6.4.0" }, "funding": [ { @@ -5543,44 +6706,58 @@ "type": "tidelift" } ], - "time": "2023-07-31T08:02:31+00:00" + "time": "2023-10-31T17:30:12+00:00" }, { - "name": "symfony/http-foundation", - "version": "v5.4.28", + "name": "symfony/http-client", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2" + "url": "https://github.com/symfony/http-client.git", + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/365992c83a836dfe635f1e903ccca43ee03d3dd2", - "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a9034bc119fab8238f76cf49c770f3135f3ead86", + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "^3", + "symfony/service-contracts": "^2.5|^3" }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.3" }, - "suggest": { - "symfony/mime": "To use the file extension guesser" + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Component\\HttpClient\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -5592,18 +6769,21 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Defines an object-oriented layer for the HTTP specification", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", + "keywords": [ + "http" + ], "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.28" + "source": "https://github.com/symfony/http-client/tree/v6.4.3" }, "funding": [ { @@ -5619,83 +6799,41 @@ "type": "tidelift" } ], - "time": "2023-08-21T07:23:18+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { - "name": "symfony/http-kernel", - "version": "v5.4.28", + "name": "symfony/http-client-contracts", + "version": "v3.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "127a2322ca1828157901092518b8ea8e4e1109d4" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "1ee70e699b41909c209a0c930f11034b93578654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/127a2322ca1828157901092518b8ea8e4e1109d4", - "reference": "127a2322ca1828157901092518b8ea8e4e1109d4", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1ee70e699b41909c209a0c930f11034b93578654", + "reference": "1ee70e699b41909c209a0c930f11034b93578654", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.4.21|^6.2.7", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2|^3", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" + "php": ">=8.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "Symfony\\Contracts\\HttpClient\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5704,18 +6842,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a structured process for converting a Request into a Response", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.28" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.4.0" }, "funding": [ { @@ -5731,48 +6877,45 @@ "type": "tidelift" } ], - "time": "2023-08-26T13:47:51+00:00" + "time": "2023-07-30T20:28:31+00:00" }, { - "name": "symfony/mime", - "version": "v5.4.26", + "name": "symfony/http-foundation", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2", - "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5677bdf7cade4619cb17fc9e1e7b31ec392244a9", + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" }, "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4", - "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2" + "symfony/cache": "<6.3" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.1|^6.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2" + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Mime\\": "" + "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -5792,14 +6935,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Allows manipulating MIME messages", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.26" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.3" }, "funding": [ { @@ -5815,48 +6954,85 @@ "type": "tidelift" } ], - "time": "2023-07-27T06:29:31+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "name": "symfony/http-kernel", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9c6ec4e543044f7568a53a76ab1484ecd30637a2", + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" }, "provide": { - "ext-ctype": "*" + "psr/log-implementation": "1.0|2.0|3.0" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5864,24 +7040,18 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.3" }, "funding": [ { @@ -5897,48 +7067,52 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-31T07:21:29+00:00" }, { - "name": "symfony/polyfill-iconv", - "version": "v1.28.0", + "name": "symfony/mailer", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" + "url": "https://github.com/symfony/mailer.git", + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", + "url": "https://api.github.com/repos/symfony/mailer/zipball/74412c62f88a85a41b61f0b71ab0afcaad6f03ee", + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee", "shasum": "" }, "require": { - "php": ">=7.1" + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" }, - "provide": { - "ext-iconv": "*" + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" }, - "suggest": { - "ext-iconv": "For best performance" + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - } + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5946,25 +7120,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Iconv extension", + "description": "Helps sending emails", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" + "source": "https://github.com/symfony/mailer/tree/v6.4.3" }, "funding": [ { @@ -5980,45 +7147,41 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "name": "symfony/mailgun-mailer", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "url": "https://github.com/symfony/mailgun-mailer.git", + "reference": "96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04", + "reference": "96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "symfony/mailer": "^5.4.21|^6.2.7|^7.0" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "symfony/http-foundation": "<6.2" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "symfony/http-client": "^6.3|^7.0", + "symfony/webhook": "^6.3|^7.0" }, + "type": "symfony-mailer-bridge", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } + "Symfony\\Component\\Mailer\\Bridge\\Mailgun\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6026,26 +7189,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", + "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.4.3" }, "funding": [ { @@ -6061,47 +7216,52 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "name": "symfony/mime", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "url": "https://github.com/symfony/mime.git", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/mime/zipball/5017e0a9398c77090b7694be46f20eb796262a34", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6109,30 +7269,22 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" + "mime", + "mime-type" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/mime/tree/v6.4.3" }, "funding": [ { @@ -6148,33 +7300,33 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-01-30T08:32:12+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "name": "symfony/polyfill-ctype", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { - "ext-intl": "For best performance" + "ext-ctype": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6185,11 +7337,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6197,26 +7346,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "intl", - "normalizer", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -6232,36 +7379,30 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { "php": ">=7.1" }, - "provide": { - "ext-mbstring": "*" - }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6272,7 +7413,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -6289,17 +7430,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "grapheme", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -6315,30 +7457,32 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.28.0", + "name": "symfony/polyfill-intl-idn", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6349,7 +7493,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" + "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -6358,24 +7502,30 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "idn", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" }, "funding": [ { @@ -6391,30 +7541,30 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.28.0", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { "php": ">=7.1" }, + "suggest": { + "ext-intl": "For best performance" + }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6425,7 +7575,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "classmap": [ "Resources/stubs" @@ -6445,16 +7595,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "intl", + "normalizer", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -6470,30 +7622,33 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6504,21 +7659,14 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -6528,16 +7676,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -6553,20 +7702,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.28.0", + "name": "symfony/polyfill-php72", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "shasum": "" }, "require": { @@ -6574,9 +7723,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6587,11 +7733,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6607,7 +7750,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -6616,7 +7759,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, "funding": [ { @@ -6632,33 +7775,41 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/process", - "version": "v5.4.28", + "name": "symfony/polyfill-php80", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=7.1" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6667,18 +7818,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/process/tree/v5.4.28" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -6694,55 +7855,42 @@ "type": "tidelift" } ], - "time": "2023-08-07T10:36:04+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/routing", - "version": "v5.4.26", + "name": "symfony/polyfill-php83", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "853fc7df96befc468692de0a48831b38f04d2cb2" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/853fc7df96befc468692de0a48831b38f04d2cb2", - "reference": "853fc7df96befc468692de0a48831b38f04d2cb2", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6751,24 +7899,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.26" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" }, "funding": [ { @@ -6784,46 +7932,44 @@ "type": "tidelift" } ], - "time": "2023-07-24T13:28:37+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/service-contracts", - "version": "v2.5.2", + "name": "symfony/polyfill-uuid", + "version": "v1.29.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=7.1" }, - "conflict": { - "ext-psr": "<1.1|>=2" + "provide": { + "ext-uuid": "*" }, "suggest": { - "symfony/service-implementation": "" + "ext-uuid": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Service\\": "" + "Symfony\\Polyfill\\Uuid\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -6832,26 +7978,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Symfony polyfill for uuid functions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "polyfill", + "portable", + "uuid" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" }, "funding": [ { @@ -6867,46 +8011,38 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:29+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/string", - "version": "v5.4.26", + "name": "symfony/postmark-mailer", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "1181fe9270e373537475e826873b5867b863883c" + "url": "https://github.com/symfony/postmark-mailer.git", + "reference": "59afae48341cf02fcab049eee368cbb9dc0b4481" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c", - "reference": "1181fe9270e373537475e826873b5867b863883c", + "url": "https://api.github.com/repos/symfony/postmark-mailer/zipball/59afae48341cf02fcab049eee368cbb9dc0b4481", + "reference": "59afae48341cf02fcab049eee368cbb9dc0b4481", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "symfony/mailer": "^5.4.21|^6.2.7|^7.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/http-foundation": "<6.2" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/http-client": "^6.3|^7.0", + "symfony/webhook": "^6.3|^7.0" }, - "type": "library", + "type": "symfony-mailer-bridge", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\String\\": "" + "Symfony\\Component\\Mailer\\Bridge\\Postmark\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6918,26 +8054,79 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Symfony Postmark Mailer Bridge", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "support": { + "source": "https://github.com/symfony/postmark-mailer/tree/v6.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:51:35+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/string/tree/v5.4.26" + "source": "https://github.com/symfony/process/tree/v6.4.3" }, "funding": [ { @@ -6953,65 +8142,45 @@ "type": "tidelift" } ], - "time": "2023-06-28T12:46:07+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { - "name": "symfony/translation", - "version": "v5.4.24", + "name": "symfony/routing", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "de237e59c5833422342be67402d487fbf50334ff" + "url": "https://github.com/symfony/routing.git", + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/de237e59c5833422342be67402d487fbf50334ff", - "reference": "de237e59c5833422342be67402d487fbf50334ff", + "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.3" + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { + "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7031,10 +8200,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to internationalize your application", + "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.24" + "source": "https://github.com/symfony/routing/tree/v6.4.3" }, "funding": [ { @@ -7050,32 +8225,33 @@ "type": "tidelift" } ], - "time": "2023-05-19T12:34:17+00:00" + "time": "2024-01-30T13:55:02+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v2.5.2", + "name": "symfony/service-contracts", + "version": "v3.4.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", - "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=8.1", + "psr/container": "^1.1|^2.0" }, - "suggest": { - "symfony/translation-implementation": "" + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -7084,8 +8260,11 @@ }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7101,7 +8280,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ "abstractions", @@ -7112,7 +8291,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" }, "funding": [ { @@ -7128,53 +8307,46 @@ "type": "tidelift" } ], - "time": "2022-06-27T16:58:25+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { - "name": "symfony/var-dumper", - "version": "v5.4.28", + "name": "symfony/string", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73" + "url": "https://github.com/symfony/string.git", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", - "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73", + "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<4.4" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { "files": [ - "Resources/functions/dump.php" + "Resources/functions.php" ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Component\\String\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7194,14 +8366,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", "keywords": [ - "debug", - "dump" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.28" + "source": "https://github.com/symfony/string/tree/v6.4.3" }, "funding": [ { @@ -7217,118 +8393,450 @@ "type": "tidelift" } ], - "time": "2023-08-24T13:38:36+00:00" + "time": "2024-01-25T09:26:29+00:00" }, { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.6", + "name": "symfony/translation", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c" + "url": "https://github.com/symfony/translation.git", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c", + "url": "https://api.github.com/repos/symfony/translation/zipball/637c51191b6b184184bbf98937702bcf554f7d04", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "nikic/php-parser": "^4.18|^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6" + "source": "https://github.com/symfony/translation/tree/v6.4.3" }, - "time": "2023-01-03T09:29:04+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T13:11:52+00:00" }, { - "name": "twbs/bootstrap", - "version": "v5.3.2", + "name": "symfony/translation-contracts", + "version": "v3.4.1", "source": { "type": "git", - "url": "https://github.com/twbs/bootstrap.git", - "reference": "344e912d04b5b6a04482113eff20ab416ff01048" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "06450585bf65e978026bda220cdebca3f867fde7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twbs/bootstrap/zipball/344e912d04b5b6a04482113eff20ab416ff01048", - "reference": "344e912d04b5b6a04482113eff20ab416ff01048", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", "shasum": "" }, - "replace": { - "twitter/bootstrap": "self.version" + "require": { + "php": ">=8.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Mark Otto", - "email": "markdotto@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Jacob Thornton", - "email": "jacobthornton@gmail.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", - "homepage": "https://getbootstrap.com/", + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", "keywords": [ - "JS", - "css", - "framework", - "front-end", - "mobile-first", - "responsive", - "sass", - "web" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/twbs/bootstrap/issues", - "source": "https://github.com/twbs/bootstrap/tree/v5.3.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" }, - "time": "2023-09-14T14:19:27+00:00" - }, - { - "name": "usmanhalalit/laracsv", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/usmanhalalit/laracsv.git", - "reference": "98016abe4c55e7ed3c97a3e0b930cbac58374f57" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/uid", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v6.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:51:35+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "0435a08f69125535336177c29d56af3abc1f69da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", + "reference": "0435a08f69125535336177c29d56af3abc1f69da", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v6.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:53:30+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "twbs/bootstrap", + "version": "v5.3.2", + "source": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git", + "reference": "344e912d04b5b6a04482113eff20ab416ff01048" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twbs/bootstrap/zipball/344e912d04b5b6a04482113eff20ab416ff01048", + "reference": "344e912d04b5b6a04482113eff20ab416ff01048", + "shasum": "" + }, + "replace": { + "twitter/bootstrap": "self.version" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Otto", + "email": "markdotto@gmail.com" + }, + { + "name": "Jacob Thornton", + "email": "jacobthornton@gmail.com" + } + ], + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "homepage": "https://getbootstrap.com/", + "keywords": [ + "JS", + "css", + "framework", + "front-end", + "mobile-first", + "responsive", + "sass", + "web" + ], + "support": { + "issues": "https://github.com/twbs/bootstrap/issues", + "source": "https://github.com/twbs/bootstrap/tree/v5.3.2" + }, + "time": "2023-09-14T14:19:27+00:00" + }, + { + "name": "usmanhalalit/laracsv", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/usmanhalalit/laracsv.git", + "reference": "98016abe4c55e7ed3c97a3e0b930cbac58374f57" }, "dist": { "type": "zip", @@ -7448,32 +8956,34 @@ }, { "name": "vlucas/phpdotenv", - "version": "v4.3.0", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "67a491df68208bef8c37092db11fa3885008efcf" + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf", - "reference": "67a491df68208bef8c37092db11fa3885008efcf", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.17" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.30" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { @@ -7482,7 +8992,7 @@ "forward-command": true }, "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "5.6-dev" } }, "autoload": { @@ -7514,7 +9024,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v4.3.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" }, "funding": [ { @@ -7526,20 +9036,20 @@ "type": "tidelift" } ], - "time": "2022-10-16T00:51:09+00:00" + "time": "2023-11-12T22:43:29+00:00" }, { "name": "voku/portable-ascii", - "version": "1.6.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { @@ -7576,7 +9086,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.6.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { @@ -7600,41 +9110,103 @@ "type": "tidelift" } ], - "time": "2022-01-24T18:55:24+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { - "name": "yajra/laravel-datatables-buttons", - "version": "v4.13.3", + "name": "webmozart/assert", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/yajra/laravel-datatables-buttons.git", - "reference": "5c8fb97c26c14408c8933f68d86c6e4823d05740" + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yajra/laravel-datatables-buttons/zipball/5c8fb97c26c14408c8933f68d86c6e4823d05740", - "reference": "5c8fb97c26c14408c8933f68d86c6e4823d05740", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "illuminate/console": "*", - "maatwebsite/excel": "^3.0", - "php": ">=7.0", - "yajra/laravel-datatables-html": "3.*|4.*", - "yajra/laravel-datatables-oracle": "8.*|9.*" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~7.0" + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "yajra/laravel-datatables-buttons", + "version": "v9.1.4", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables-buttons.git", + "reference": "afc40285b09b0960180b17b96c5429b4be772143" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables-buttons/zipball/afc40285b09b0960180b17b96c5429b4be772143", + "reference": "afc40285b09b0960180b17b96c5429b4be772143", + "shasum": "" + }, + "require": { + "illuminate/console": "*", + "php": "^8.0.2", + "yajra/laravel-datatables-html": "9.*", + "yajra/laravel-datatables-oracle": "10.*" + }, + "require-dev": { + "barryvdh/laravel-snappy": "^1.0", + "maatwebsite/excel": "^3.1.40", + "nunomaduro/larastan": "2.1.*", + "orchestra/testbench": "^7.3", + "rap2hpoutre/fast-excel": "^3.2" }, "suggest": { "barryvdh/laravel-snappy": "Allows exporting of dataTable to PDF using the print view.", - "dompdf/dompdf": "Allows exporting of dataTable to PDF using the DomPDF." + "dompdf/dompdf": "Allows exporting of dataTable to PDF using the DomPDF.", + "maatwebsite/excel": "Exporting of dataTables (excel, csv and PDF) using maatwebsite package.", + "rap2hpoutre/fast-excel": "Faster exporting of dataTables using fast-excel package." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "9.0-dev" }, "laravel": { "providers": [ @@ -7666,48 +9238,52 @@ ], "support": { "issues": "https://github.com/yajra/laravel-datatables-buttons/issues", - "source": "https://github.com/yajra/laravel-datatables-buttons/tree/v4.13.3" + "source": "https://github.com/yajra/laravel-datatables-buttons/tree/v9.1.4" }, "funding": [ { "url": "https://www.paypal.me/yajra", "type": "custom" }, + { + "url": "https://github.com/yajra", + "type": "github" + }, { "url": "https://www.patreon.com/yajra", "type": "patreon" } ], - "time": "2021-10-04T03:04:33+00:00" + "time": "2023-02-20T06:11:01+00:00" }, { "name": "yajra/laravel-datatables-html", - "version": "v4.41.1", + "version": "v9.4.0", "source": { "type": "git", "url": "https://github.com/yajra/laravel-datatables-html.git", - "reference": "55895b55539cd776a8cd22dce874d1b6a7b9de8c" + "reference": "cec3e77746ff68f6f51e22250061b59d4ec1311c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yajra/laravel-datatables-html/zipball/55895b55539cd776a8cd22dce874d1b6a7b9de8c", - "reference": "55895b55539cd776a8cd22dce874d1b6a7b9de8c", + "url": "https://api.github.com/repos/yajra/laravel-datatables-html/zipball/cec3e77746ff68f6f51e22250061b59d4ec1311c", + "reference": "cec3e77746ff68f6f51e22250061b59d4ec1311c", "shasum": "" }, "require": { "ext-json": "*", - "laravelcollective/html": "^5.4|^6", - "php": "^7.1.3|^8", - "yajra/laravel-datatables-oracle": "~9.0" + "laravelcollective/html": "^6.3.0", + "php": "^8.0.2", + "yajra/laravel-datatables-oracle": "^10.0" }, "require-dev": { - "mockery/mockery": "^1.3.1", - "phpunit/phpunit": "^9.3" + "nunomaduro/larastan": "^2.1", + "orchestra/testbench": "^7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "9.0-dev" }, "laravel": { "providers": [ @@ -7740,55 +9316,65 @@ ], "support": { "issues": "https://github.com/yajra/laravel-datatables-html/issues", - "source": "https://github.com/yajra/laravel-datatables-html/tree/v4.41.1" + "source": "https://github.com/yajra/laravel-datatables-html/tree/v9.4.0" }, "funding": [ { "url": "https://www.paypal.me/yajra", "type": "custom" }, + { + "url": "https://github.com/yajra", + "type": "github" + }, { "url": "https://www.patreon.com/yajra", "type": "patreon" } ], - "time": "2022-03-05T03:34:07+00:00" + "time": "2023-02-20T07:44:43+00:00" }, { "name": "yajra/laravel-datatables-oracle", - "version": "v9.21.2", + "version": "v10.11.3", "source": { "type": "git", "url": "https://github.com/yajra/laravel-datatables.git", - "reference": "a7fd01f06282923e9c63fa27fe6b391e21dc321a" + "reference": "d110a78db8dc76a61bdbb8364502c771ff71d5ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/a7fd01f06282923e9c63fa27fe6b391e21dc321a", - "reference": "a7fd01f06282923e9c63fa27fe6b391e21dc321a", + "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/d110a78db8dc76a61bdbb8364502c771ff71d5ff", + "reference": "d110a78db8dc76a61bdbb8364502c771ff71d5ff", "shasum": "" }, "require": { - "illuminate/database": "5.8.*|^6|^7|^8|^9", - "illuminate/filesystem": "5.8.*|^6|^7|^8|^9", - "illuminate/http": "5.8.*|^6|^7|^8|^9", - "illuminate/support": "5.8.*|^6|^7|^8|^9", - "illuminate/view": "5.8.*|^6|^7|^8|^9", - "php": "^7.1.3|^8" + "illuminate/database": "^9|^10", + "illuminate/filesystem": "^9|^10", + "illuminate/http": "^9|^10", + "illuminate/support": "^9|^10", + "illuminate/view": "^9|^10", + "php": "^8.0.2" }, "require-dev": { - "orchestra/testbench": "^3.8|^4.0|^5.0|^6.0|^7.0" + "algolia/algoliasearch-client-php": "^3.4", + "larastan/larastan": "^2.4", + "laravel/scout": "^10.5", + "meilisearch/meilisearch-php": "^1.4", + "orchestra/testbench": "^8", + "yajra/laravel-datatables-html": "^9.3.4|^10" }, "suggest": { "yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTables.", "yajra/laravel-datatables-editor": "Plugin to use DataTables Editor (requires a license).", + "yajra/laravel-datatables-export": "Plugin for server-side exporting using livewire and queue worker.", "yajra/laravel-datatables-fractal": "Plugin for server-side response using Fractal.", "yajra/laravel-datatables-html": "Plugin for server-side HTML builder of dataTables." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.0-dev" + "dev-master": "10.x-dev" }, "laravel": { "providers": [ @@ -7817,7 +9403,7 @@ "email": "aqangeles@gmail.com" } ], - "description": "jQuery DataTables API for Laravel 5|6|7|8|9", + "description": "jQuery DataTables API for Laravel 4|5|6|7|8|9|10", "keywords": [ "datatables", "jquery", @@ -7825,43 +9411,36 @@ ], "support": { "issues": "https://github.com/yajra/laravel-datatables/issues", - "source": "https://github.com/yajra/laravel-datatables/tree/v9.21.2" + "source": "https://github.com/yajra/laravel-datatables/tree/v10.11.3" }, "funding": [ { - "url": "https://www.paypal.me/yajra", - "type": "custom" - }, - { - "url": "https://www.patreon.com/yajra", - "type": "patreon" + "url": "https://github.com/sponsors/yajra", + "type": "github" } ], - "time": "2022-07-12T04:48:03+00:00" + "time": "2023-12-27T07:07:01+00:00" }, { "name": "zanysoft/laravel-zip", - "version": "1.0.5", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/zanysoft/laravel-zip.git", - "reference": "e90d989b21df9788670b21c501ce0be041962498" + "reference": "466663746c92154c48a2d490efc6724f9f6e9652" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zanysoft/laravel-zip/zipball/e90d989b21df9788670b21c501ce0be041962498", - "reference": "e90d989b21df9788670b21c501ce0be041962498", + "url": "https://api.github.com/repos/zanysoft/laravel-zip/zipball/466663746c92154c48a2d490efc6724f9f6e9652", + "reference": "466663746c92154c48a2d490efc6724f9f6e9652", "shasum": "" }, "require": { - "ext-zip": "*", - "illuminate/support": "^6.0|^7.0|^8.0", - "php": ">=7.1" + "php": ">=5.6.0" }, "require-dev": { - "orchestra/testbench": "^6.24", - "phpunit/phpunit": "^9.5", - "scrutinizer/ocular": "^1.9" + "phpunit/phpunit": "^4.0|^5.0", + "scrutinizer/ocular": "^1.0" }, "type": "library", "extra": { @@ -7886,20 +9465,13 @@ "authors": [ { "name": "Zany Soft", - "email": "info@zanysoft.net", - "homepage": "http://www.zanysoft.net" + "email": "info@zanysoft.co", + "homepage": "http://www.zanysoft.co" } ], - "description": "laravel-zip is the world's leading zip utility for file compression and backup.", - "homepage": "http://www.zanysoft.net", + "description": "ZipArchive toolbox", + "homepage": "http://www.zanysoft.co", "keywords": [ - "backup", - "extract", - "laravel", - "laravel 6", - "laravel 7", - "laravel 8", - "laravel-zip", "merge", "multiple", "unzip", @@ -7908,38 +9480,38 @@ ], "support": { "issues": "https://github.com/zanysoft/laravel-zip/issues", - "source": "https://github.com/zanysoft/laravel-zip/tree/1.0.5" + "source": "https://github.com/zanysoft/laravel-zip/tree/1.0.3" }, - "time": "2022-08-22T16:42:12+00:00" + "time": "2017-10-10T03:22:41+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.5.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { @@ -7966,7 +9538,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { @@ -7982,216 +9554,20 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:15:36+00:00" - }, - { - "name": "facade/flare-client-php", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "213fa2c69e120bca4c51ba3e82ed1834ef3f41b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/213fa2c69e120bca4c51ba3e82ed1834ef3f41b8", - "reference": "213fa2c69e120bca4c51ba3e82ed1834ef3f41b8", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\FlareClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" - ], - "support": { - "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.10.0" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-08-09T11:23:57+00:00" - }, - { - "name": "facade/ignition", - "version": "2.17.7", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "b4f5955825bb4b74cba0f94001761c46335c33e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/b4f5955825bb4b74cba0f94001761c46335c33e9", - "reference": "b4f5955825bb4b74cba0f94001761c46335c33e9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.9.1", - "facade/ignition-contracts": "^1.0.2", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5|^8.0", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "livewire/livewire": "^2.4", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" - }, - "suggest": { - "laravel/telescope": "^3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\Ignition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/facade/ignition/issues", - "source": "https://github.com/facade/ignition" - }, - "time": "2023-01-26T12:34:59+00:00" - }, - { - "name": "facade/ignition-contracts", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition-contracts.git", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v2.15.8", - "phpunit/phpunit": "^9.3.11", - "vimeo/psalm": "^3.17.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Facade\\IgnitionContracts\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://flareapp.io", - "role": "Developer" - } - ], - "description": "Solution contracts for Ignition", - "homepage": "https://github.com/facade/ignition-contracts", - "keywords": [ - "contracts", - "flare", - "ignition" - ], - "support": { - "issues": "https://github.com/facade/ignition-contracts/issues", - "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" - }, - "time": "2020-10-16T08:27:54+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { "name": "filp/whoops", - "version": "2.15.3", + "version": "2.15.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187" + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", "shasum": "" }, "require": { @@ -8241,7 +9617,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.3" + "source": "https://github.com/filp/whoops/tree/2.15.4" }, "funding": [ { @@ -8249,30 +9625,31 @@ "type": "github" } ], - "time": "2023-07-13T12:00:00+00:00" + "time": "2023-11-03T12:00:00+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.9.2", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" + "reference": "5ffe7db6c80f441f150fc88008d64e64af66634b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/5ffe7db6c80f441f150fc88008d64e64af66634b", + "reference": "5ffe7db6c80f441f150fc88008d64e64af66634b", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.3.3 || ^7.0 || ^8.0" }, "require-dev": { "ext-intl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7", "squizlabs/php_codesniffer": "^2.9.2" }, + "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -8301,10 +9678,10 @@ ], "support": { "issues": "https://github.com/fzaninotto/Faker/issues", - "source": "https://github.com/fzaninotto/Faker/tree/v1.9.2" + "source": "https://github.com/fzaninotto/Faker/tree/master" }, "abandoned": true, - "time": "2020-12-11T09:56:16+00:00" + "time": "2020-12-11T09:59:14+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -8359,16 +9736,16 @@ }, { "name": "mockery/mockery", - "version": "1.6.6", + "version": "1.6.7", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e" + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e", + "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", "shasum": "" }, "require": { @@ -8381,9 +9758,7 @@ }, "require-dev": { "phpunit/phpunit": "^8.5 || ^9.6.10", - "psalm/plugin-phpunit": "^0.18.4", - "symplify/easy-coding-standard": "^11.5.0", - "vimeo/psalm": "^4.30" + "symplify/easy-coding-standard": "^12.0.8" }, "type": "library", "autoload": { @@ -8440,7 +9815,7 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-08-09T00:03:52+00:00" + "time": "2023-12-10T02:24:34+00:00" }, { "name": "myclabs/deep-copy", @@ -8503,38 +9878,38 @@ }, { "name": "nunomaduro/collision", - "version": "v4.3.0", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e" + "reference": "f05978827b9343cba381ca05b8c7deee346b6015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c125dc2463f3e144ddc7e05e63077109508c94e", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015", + "reference": "f05978827b9343cba381ca05b8c7deee346b6015", "shasum": "" }, "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.4", - "php": "^7.2.5 || ^8.0", - "symfony/console": "^5.0" + "filp/whoops": "^2.14.5", + "php": "^8.0.0", + "symfony/console": "^6.0.2" }, "require-dev": { - "facade/ignition": "^2.0", - "fideloper/proxy": "^4.2", - "friendsofphp/php-cs-fixer": "^2.16", - "fruitcake/laravel-cors": "^1.0", - "laravel/framework": "^7.0", - "laravel/tinker": "^2.0", - "nunomaduro/larastan": "^0.6", - "orchestra/testbench": "^5.0", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.5.1 || ^9.0" + "brianium/paratest": "^6.4.1", + "laravel/framework": "^9.26.1", + "laravel/pint": "^1.1.1", + "nunomaduro/larastan": "^1.0.3", + "nunomaduro/mock-final-classes": "^1.1.0", + "orchestra/testbench": "^7.7", + "phpunit/phpunit": "^9.5.23", + "spatie/ignition": "^1.4.1" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "6.x-dev" + }, "laravel": { "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" @@ -8575,7 +9950,7 @@ }, "funding": [ { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "url": "https://www.paypal.com/paypalme/enunomaduro", "type": "custom" }, { @@ -8587,7 +9962,7 @@ "type": "patreon" } ], - "time": "2020-10-29T15:12:23+00:00" + "time": "2023-01-03T12:54:54+00:00" }, { "name": "phar-io/manifest", @@ -8702,40 +10077,562 @@ }, { "name": "phpunit/php-code-coverage", - "version": "7.0.15", + "version": "9.2.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "819f92bba8b001d4363065928088de22f25a3a48" + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48", - "reference": "819f92bba8b001d4363065928088de22f25a3a48", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": ">=7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.3 || ^4.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:47:57+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.16", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f", + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.28", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-01-19T07:03:14+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" }, - "require-dev": { - "phpunit/phpunit": "^8.2.2" + "require": { + "php": ">=7.3" }, - "suggest": { - "ext-xdebug": "^2.7.2" + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -8750,20 +10647,14 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15" + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { @@ -8771,32 +10662,34 @@ "type": "github" } ], - "time": "2021-07-26T12:20:09+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "2.0.5", + "name": "sebastian/comparator", + "version": "4.0.8", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -8811,19 +10704,31 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "filesystem", - "iterator" + "comparator", + "compare", + "equality" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.5" + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" }, "funding": [ { @@ -8831,26 +10736,35 @@ "type": "github" } ], - "time": "2021-12-02T12:42:26+00:00" + "time": "2022-09-14T12:41:17+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "sebastian/complexity", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "php": ">=5.3.3" + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -8867,41 +10781,45 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:19:30+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.3", + "name": "sebastian/diff", + "version": "4.0.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -8916,18 +10834,24 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "timer" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" }, "funding": [ { @@ -8935,33 +10859,35 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" + "time": "2023-05-07T05:35:17+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "4.0.4", + "name": "sebastian/environment", + "version": "5.1.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.3 || ^8.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -8979,14 +10905,16 @@ "email": "sebastian@phpunit.de" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "tokenizer" + "Xdebug", + "environment", + "hhvm" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" }, "funding": [ { @@ -8994,61 +10922,34 @@ "type": "github" } ], - "abandoned": true, - "time": "2020-08-04T08:28:15+00:00" + "time": "2023-02-03T06:03:51+00:00" }, { - "name": "phpunit/phpunit", - "version": "8.5.34", + "name": "sebastian/exporter", + "version": "4.0.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "622d0186707f39a4ae71df3bcf42d759bb868854" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/622d0186707f39a4ae71df3bcf42d759bb868854", - "reference": "622d0186707f39a4ae71df3bcf42d759bb868854", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.0", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.2", - "phpunit/php-code-coverage": "^7.0.12", - "phpunit/php-file-iterator": "^2.0.4", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.5", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.3", - "sebastian/exporter": "^3.1.5", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage", - "phpunit/php-invoker": "To allow enforcing time limits" + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -9063,62 +10964,73 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ - "phpunit", - "testing", - "xunit" + "export", + "exporter" ], "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.34" + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" }, "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, { "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" } ], - "time": "2023-09-19T05:20:51+00:00" + "time": "2022-09-14T06:03:37+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "name": "sebastian/global-state", + "version": "5.0.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -9136,11 +11048,14 @@ "email": "sebastian@phpunit.de" } ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { @@ -9148,34 +11063,33 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2023-08-02T09:26:13+00:00" }, { - "name": "sebastian/comparator", - "version": "3.0.5", + "name": "sebastian/lines-of-code", + "version": "1.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dc7ceb4a24aede938c7af2a9ed1de09609ca770", - "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "php": ">=7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -9190,31 +11104,15 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.5" + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -9222,33 +11120,34 @@ "type": "github" } ], - "time": "2022-09-14T12:31:48+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.4", + "name": "sebastian/object-enumerator", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "6296a0c086dd0117c1b78b059374d7fcbe7545ae" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/6296a0c086dd0117c1b78b059374d7fcbe7545ae", - "reference": "6296a0c086dd0117c1b78b059374d7fcbe7545ae", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -9264,23 +11163,13 @@ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.4" + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { @@ -9288,35 +11177,32 @@ "type": "github" } ], - "time": "2023-05-07T05:30:20+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { - "name": "sebastian/environment", - "version": "4.2.4", + "name": "sebastian/object-reflector", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -9334,16 +11220,11 @@ "email": "sebastian@phpunit.de" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { @@ -9351,34 +11232,32 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { - "name": "sebastian/exporter", - "version": "3.1.5", + "name": "sebastian/recursion-context", + "version": "4.0.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/73a9676f2833b9a7c36968f9d882589cd75511e6", - "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -9399,28 +11278,16 @@ "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, { "name": "Adam Harvey", "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5" + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" }, "funding": [ { @@ -9428,33 +11295,27 @@ "type": "github" } ], - "time": "2022-09-14T06:00:17+00:00" + "time": "2023-02-03T06:07:39+00:00" }, { - "name": "sebastian/global-state", + "name": "sebastian/resource-operations", "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "66783ce213de415b451b904bfef9dda0cf9aeae0" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/66783ce213de415b451b904bfef9dda0cf9aeae0", - "reference": "66783ce213de415b451b904bfef9dda0cf9aeae0", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3" }, "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^8.0" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { @@ -9477,14 +11338,11 @@ "email": "sebastian@phpunit.de" } ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.3" + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { @@ -9492,34 +11350,32 @@ "type": "github" } ], - "time": "2023-08-02T09:23:32+00:00" + "time": "2020-09-28T06:45:17+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.4", + "name": "sebastian/type", + "version": "3.2.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -9534,14 +11390,15 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" }, "funding": [ { @@ -9549,32 +11406,29 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2023-02-03T06:13:03+00:00" }, { - "name": "sebastian/object-reflector", - "version": "1.1.2", + "name": "sebastian/version", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -9589,14 +11443,15 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, "funding": [ { @@ -9604,238 +11459,324 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2020-09-28T06:39:44+00:00" }, { - "name": "sebastian/recursion-context", - "version": "3.0.1", + "name": "spatie/backtrace", + "version": "1.5.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "url": "https://github.com/spatie/backtrace.git", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", "shasum": "" }, "require": { - "php": ">=7.0" + "php": "^7.3|^8.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Spatie\\Backtrace\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/spatie/backtrace/tree/1.5.3" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/sponsors/spatie", "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2023-06-28T12:59:17+00:00" }, { - "name": "sebastian/resource-operations", - "version": "2.0.2", + "name": "spatie/flare-client-php", + "version": "1.4.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c", "shasum": "" }, "require": { - "php": ">=7.1" + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "php": "^8.0", + "spatie/backtrace": "^1.5.2", + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "1.3.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.4.4" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/spatie", "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2024-01-31T14:18:45+00:00" }, { - "name": "sebastian/type", - "version": "1.1.4", + "name": "spatie/ignition", + "version": "1.12.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + "url": "https://github.com/spatie/ignition.git", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "url": "https://api.github.com/repos/spatie/ignition/zipball/5b6f801c605a593106b623e45ca41496a6e7d56d", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d", "shasum": "" }, "require": { - "php": ">=7.2" + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "illuminate/cache": "^9.52|^10.0|^11.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-main": "1.5.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Spatie\\Ignition\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/spatie", "type": "github" } ], - "time": "2020-11-30T07:25:11+00:00" + "time": "2024-01-03T15:49:39+00:00" }, { - "name": "sebastian/version", - "version": "2.0.1", + "name": "spatie/laravel-ignition", + "version": "1.6.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc", + "reference": "1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc", "shasum": "" }, "require": { - "php": ">=5.6" + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^8.77|^9.27", + "monolog/monolog": "^2.3", + "php": "^8.0", + "spatie/flare-client-php": "^1.0.1", + "spatie/ignition": "^1.4.1", + "symfony/console": "^5.0|^6.0", + "symfony/var-dumper": "^5.0|^6.0" + }, + "require-dev": { + "filp/whoops": "^2.14", + "livewire/livewire": "^2.8|dev-develop", + "mockery/mockery": "^1.4", + "nunomaduro/larastan": "^1.0", + "orchestra/testbench": "^6.23|^7.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/laravel-ray": "^1.27" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } } }, "autoload": { - "classmap": [ - "src/" - ] + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" }, - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2023-01-03T19:28:04+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "shasum": "" }, "require": { @@ -9864,7 +11805,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.2" }, "funding": [ { @@ -9872,7 +11813,7 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2023-11-20T00:12:19+00:00" } ], "aliases": [], @@ -9881,7 +11822,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.2.5", + "php": "^8.0", "ext-json": "*" }, "platform-dev": [], diff --git a/config/database.php b/config/database.php index b42d9b30..c89a4b87 100755 --- a/config/database.php +++ b/config/database.php @@ -56,7 +56,7 @@ 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, - 'strict' => true, + 'strict' => false, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), @@ -74,7 +74,7 @@ 'charset' => 'utf8', 'prefix' => '', 'prefix_indexes' => true, - 'schema' => 'public', + 'search_path' => 'public', 'sslmode' => 'prefer', ], @@ -123,7 +123,7 @@ 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), - 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'), ], 'default' => [ diff --git a/config/filesystems.php b/config/filesystems.php index 5f8088e8..11aa9710 100755 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -13,7 +13,7 @@ | */ - 'default' => env('FILESYSTEM_DRIVER', 'local'), + 'default' => env('FILESYSTEM_DISK', 'local'), /* |-------------------------------------------------------------------------- @@ -53,6 +53,7 @@ 'root' => storage_path('app/public'), 'url' => env('APP_URL') . '/storage', 'visibility' => 'public', + 'throw' => true, ], 'csv' => [ 'driver' => 'local', diff --git a/config/queue.php b/config/queue.php index 00b76d65..12222966 100755 --- a/config/queue.php +++ b/config/queue.php @@ -81,7 +81,7 @@ */ 'failed' => [ - 'driver' => env('QUEUE_FAILED_DRIVER', 'database'), + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), 'database' => env('DB_CONNECTION', 'mysql'), 'table' => 'failed_jobs', ], diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 741edead..24f412f9 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -1,5 +1,7 @@ longText('alert')->nullable(); + $table->longText('funding')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('services', function (Blueprint $table) { + $table->dropColumn('alert'); + $table->dropColumn('funding'); + }); + } +} diff --git a/database/migrations/2024_01_11_170418_add_funding_to_organizations_table.php b/database/migrations/2024_01_11_170418_add_funding_to_organizations_table.php new file mode 100644 index 00000000..45a21ef6 --- /dev/null +++ b/database/migrations/2024_01_11_170418_add_funding_to_organizations_table.php @@ -0,0 +1,32 @@ +longText('funding')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('organizations', function (Blueprint $table) { + $table->dropColumn('funding'); + }); + } +} diff --git a/database/migrations/2024_01_16_160830_add_new_fields_to_locations_table.php b/database/migrations/2024_01_16_160830_add_new_fields_to_locations_table.php new file mode 100644 index 00000000..de998e9a --- /dev/null +++ b/database/migrations/2024_01_16_160830_add_new_fields_to_locations_table.php @@ -0,0 +1,42 @@ +string('location_type')->nullable(); + $table->string('location_url')->nullable(); + $table->string('external_identifier')->nullable(); + $table->string('external_identifier_type')->nullable(); + $table->string('location_languages')->nullable(); + $table->string('accessesibility_url')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('locations', function (Blueprint $table) { + $table->dropColumn('location_type'); + $table->dropColumn('location_url'); + $table->dropColumn('external_identifier'); + $table->dropColumn('external_identifier_type'); + $table->dropColumn('location_languages'); + $table->dropColumn('accessesibility_url'); + }); + } +} diff --git a/database/migrations/2024_01_16_163336_add_accessibilities_url_to_accessibilities_table.php b/database/migrations/2024_01_16_163336_add_accessibilities_url_to_accessibilities_table.php new file mode 100644 index 00000000..20a488d4 --- /dev/null +++ b/database/migrations/2024_01_16_163336_add_accessibilities_url_to_accessibilities_table.php @@ -0,0 +1,32 @@ +text('accessibility_url')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('accessibilities', function (Blueprint $table) { + $table->dropColumn('accessibility_url'); + }); + } +} diff --git a/database/migrations/2024_01_17_173922_add_main_address_to_addresses_table.php b/database/migrations/2024_01_17_173922_add_main_address_to_addresses_table.php new file mode 100644 index 00000000..3d2b0217 --- /dev/null +++ b/database/migrations/2024_01_17_173922_add_main_address_to_addresses_table.php @@ -0,0 +1,32 @@ +boolean('is_main')->nullable()->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('addresses', function (Blueprint $table) { + $table->dropColumn('is_main'); + }); + } +} diff --git a/database/migrations/2024_01_19_043025_create_address_types_table.php b/database/migrations/2024_01_19_043025_create_address_types_table.php new file mode 100644 index 00000000..1df3f2cd --- /dev/null +++ b/database/migrations/2024_01_19_043025_create_address_types_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('type')->nullable(); + $table->integer('created_by')->nullable(); + $table->softDeletes(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('address_types'); + } +} diff --git a/database/migrations/2024_01_31_170227_add_version_to_taxonomy_types.php b/database/migrations/2024_01_31_170227_add_version_to_taxonomy_types.php new file mode 100644 index 00000000..303460a5 --- /dev/null +++ b/database/migrations/2024_01_31_170227_add_version_to_taxonomy_types.php @@ -0,0 +1,32 @@ +string('version')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('taxonomy_types', function (Blueprint $table) { + $table->dropColumn('version'); + }); + } +} diff --git a/database/migrations/2024_01_31_174244_add_tag_to_taxonomies_table.php b/database/migrations/2024_01_31_174244_add_tag_to_taxonomies_table.php new file mode 100644 index 00000000..6f6d7a89 --- /dev/null +++ b/database/migrations/2024_01_31_174244_add_tag_to_taxonomies_table.php @@ -0,0 +1,38 @@ +string('code')->nullable(); + $table->string('term_uri')->nullable(); + $table->text('taxonomy_tag')->nullable(); + $table->integer('updated_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('taxonomies', function (Blueprint $table) { + $table->dropColumn('code'); + $table->dropColumn('term_uri'); + $table->dropColumn('taxonomy_tag'); + $table->dropColumn('updated_by'); + }); + } +} diff --git a/database/migrations/2024_02_06_172110_create_cost_options_table.php b/database/migrations/2024_02_06_172110_create_cost_options_table.php new file mode 100644 index 00000000..26b0bc52 --- /dev/null +++ b/database/migrations/2024_02_06_172110_create_cost_options_table.php @@ -0,0 +1,42 @@ +id(); + $table->bigInteger('cost_recordid')->nullable(); + $table->text('services')->nullable(); + $table->date('valid_from')->nullable(); + $table->date('valid_to')->nullable(); + $table->text('option')->nullable(); + $table->string('currency')->nullable(); + $table->double('amount')->nullable(); + $table->longText('amount_description')->nullable(); + $table->longText('attributes')->nullable(); + $table->integer('created_by')->nullable(); + $table->softDeletes(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('cost_options'); + } +} diff --git a/database/migrations/2024_02_06_173357_create_service_costs_table.php b/database/migrations/2024_02_06_173357_create_service_costs_table.php new file mode 100644 index 00000000..80cedd65 --- /dev/null +++ b/database/migrations/2024_02_06_173357_create_service_costs_table.php @@ -0,0 +1,33 @@ +id(); + $table->bigInteger('service_recordid')->nullable(); + $table->bigInteger('cost_recordid')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('service_costs'); + } +} diff --git a/database/migrations/2024_02_07_033024_create_fundings_table.php b/database/migrations/2024_02_07_033024_create_fundings_table.php new file mode 100644 index 00000000..3360828a --- /dev/null +++ b/database/migrations/2024_02_07_033024_create_fundings_table.php @@ -0,0 +1,36 @@ +id(); + $table->bigInteger('funding_recordid')->nullable(); + $table->string('source')->nullable(); + $table->longText('organizations')->nullable(); + $table->longText('services')->nullable(); + $table->longText('attributes')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('fundings'); + } +} diff --git a/database/migrations/2024_02_07_033514_create_service_fundings_table.php b/database/migrations/2024_02_07_033514_create_service_fundings_table.php new file mode 100644 index 00000000..fa304ed2 --- /dev/null +++ b/database/migrations/2024_02_07_033514_create_service_fundings_table.php @@ -0,0 +1,33 @@ +id(); + $table->bigInteger('funding_recordid')->nullable(); + $table->bigInteger('service_recordid')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('service_fundings'); + } +} diff --git a/database/migrations/2024_02_07_034219_add_attribute_to_services_table.php b/database/migrations/2024_02_07_034219_add_attribute_to_services_table.php new file mode 100644 index 00000000..438d9c86 --- /dev/null +++ b/database/migrations/2024_02_07_034219_add_attribute_to_services_table.php @@ -0,0 +1,36 @@ +longText('attribute')->nullable(); + $table->date('assured_date')->nullable(); + $table->string('assured_email')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('services', function (Blueprint $table) { + $table->dropColumn('attribute'); + $table->dropColumn('assured_date'); + $table->dropColumn('assured_email'); + }); + } +} diff --git a/database/migrations/2024_02_07_095904_add_location_to_contacts_table.php b/database/migrations/2024_02_07_095904_add_location_to_contacts_table.php new file mode 100644 index 00000000..e2510970 --- /dev/null +++ b/database/migrations/2024_02_07_095904_add_location_to_contacts_table.php @@ -0,0 +1,34 @@ +text('locations')->nullable(); + $table->text('service_at_locations')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('contacts', function (Blueprint $table) { + $table->dropColumn('locations'); + $table->dropColumn('service_at_locations'); + }); + } +} diff --git a/database/migrations/2024_02_07_111959_create_location_languages_table.php b/database/migrations/2024_02_07_111959_create_location_languages_table.php new file mode 100644 index 00000000..6df29f52 --- /dev/null +++ b/database/migrations/2024_02_07_111959_create_location_languages_table.php @@ -0,0 +1,33 @@ +id(); + $table->bigInteger('language_recordid')->nullable(); + $table->bigInteger('location_recordid')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('location_languages'); + } +} diff --git a/database/migrations/2024_02_08_035152_create_organization_fundings_table.php b/database/migrations/2024_02_08_035152_create_organization_fundings_table.php new file mode 100644 index 00000000..b5876872 --- /dev/null +++ b/database/migrations/2024_02_08_035152_create_organization_fundings_table.php @@ -0,0 +1,33 @@ +id(); + $table->bigInteger('organization_recordid')->nullable(); + $table->bigInteger('funding_recordid')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('organization_fundings'); + } +} diff --git a/database/migrations/2024_02_08_105250_create_identifiers_table.php b/database/migrations/2024_02_08_105250_create_identifiers_table.php new file mode 100644 index 00000000..afa259a5 --- /dev/null +++ b/database/migrations/2024_02_08_105250_create_identifiers_table.php @@ -0,0 +1,37 @@ +id(); + $table->bigInteger('identifier_recordid')->nullable(); + $table->string('identifier')->nullable(); + $table->string('identifier_scheme')->nullable(); + $table->string('identifier_type')->nullable(); + $table->string('organizations')->nullable(); + $table->integer('created_by')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('identifiers'); + } +} diff --git a/database/migrations/2024_02_09_105436_create_organization_identifiers_table.php b/database/migrations/2024_02_09_105436_create_organization_identifiers_table.php new file mode 100644 index 00000000..faadf1b3 --- /dev/null +++ b/database/migrations/2024_02_09_105436_create_organization_identifiers_table.php @@ -0,0 +1,33 @@ +id(); + $table->bigInteger('organization_recordid')->nullable(); + $table->bigInteger('identifier_recordid')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('organization_identifiers'); + } +} diff --git a/database/migrations/2024_02_12_101436_add_notes_to_schedules_table.php b/database/migrations/2024_02_12_101436_add_notes_to_schedules_table.php new file mode 100644 index 00000000..7fb4acb1 --- /dev/null +++ b/database/migrations/2024_02_12_101436_add_notes_to_schedules_table.php @@ -0,0 +1,36 @@ +longText('notes')->nullable(); + $table->string('attending_type')->nullable(); + $table->text('schedule_link')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('schedules', function (Blueprint $table) { + $table->dropColumn('notes'); + $table->dropColumn('attending_type'); + $table->dropColumn('schedule_link'); + }); + } +} diff --git a/database/migrations/2024_02_13_041917_add_access_token_to_airtablekeyinfos_table.php b/database/migrations/2024_02_13_041917_add_access_token_to_airtablekeyinfos_table.php new file mode 100644 index 00000000..ada2b68c --- /dev/null +++ b/database/migrations/2024_02_13_041917_add_access_token_to_airtablekeyinfos_table.php @@ -0,0 +1,32 @@ +longText('access_token')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('airtablekeyinfos', function (Blueprint $table) { + $table->dropColumn('access_token'); + }); + } +} diff --git a/database/migrations/2024_02_13_115317_add_uuid_to_failed_jobs_table.php b/database/migrations/2024_02_13_115317_add_uuid_to_failed_jobs_table.php new file mode 100644 index 00000000..7975ad46 --- /dev/null +++ b/database/migrations/2024_02_13_115317_add_uuid_to_failed_jobs_table.php @@ -0,0 +1,32 @@ +string('uuid')->after('id')->nullable()->unique(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('failed_jobs', function (Blueprint $table) { + $table->dropColumn('uuid'); + }); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 00000000..027acfe5 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,18 @@ +call(UserSeeder::class); + } +} diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php new file mode 100644 index 00000000..dd283872 --- /dev/null +++ b/database/seeders/UserSeeder.php @@ -0,0 +1,30 @@ +insert([ + [ + 'email' => 'admin@admin.com', + 'password' => Hash::make('admin'), + 'permissions' => '["password.request","password.email","password.reset","password.confirm","contacts.index","contacts.store","contacts.show","contacts.update","contacts.destroy","groups.index","groups.store","groups.show","groups.update","groups.destroy","campaigns.index","campaigns.store","campaigns.show","campaigns.update","campaigns.destroy","messages.index","messages.store","messages.show","messages.update","messages.destroy","home.dashboard","user.index","user.store","user.show","user.update","user.destroy","user.permissions","user.save","user.activate","user.deactivate","role.index","role.store","role.show","role.update","role.destroy","role.permissions","role.save","tb_services.index","tb_services.store","tb_services.show","tb_services.update","tb_services.destroy","tb_locations.index","tb_locations.store","tb_locations.show","tb_locations.update","tb_locations.destroy","contacts.create","contacts.store","contacts.edit","contacts.update","groups.create","groups.store","groups.edit","groups.update","campaigns.create","campaigns.store","campaigns.edit","campaigns.update","messages.create","messages.store","messages.edit","messages.update","pages.index","pages.create","pages.store","pages.show","pages.edit","pages.update","pages.destroy","user.create","user.store","user.edit","user.update","role.create","role.store","role.edit","role.update","tb_services.create","tb_services.store","tb_services.edit","tb_services.update","tb_locations.create","tb_locations.store","tb_locations.edit","tb_locations.update","tb_organizations.index","tb_organizations.create","tb_organizations.store","tb_organizations.show","tb_organizations.edit","tb_organizations.update","tb_organizations.destroy","tb_contact.index","tb_contact.create","tb_contact.store","tb_contact.show","tb_contact.edit","tb_contact.update","tb_contact.destroy","tb_phones.index","tb_phones.create","tb_phones.store","tb_phones.show","tb_phones.edit","tb_phones.update","tb_phones.destroy","tb_address.index","tb_address.create","tb_address.store","tb_address.show","tb_address.edit","tb_address.update","tb_address.destroy","tb_schedule.index","tb_schedule.create","tb_schedule.store","tb_schedule.show","tb_schedule.edit","tb_schedule.update","tb_schedule.destroy","tb_service_area.index","tb_service_area.create","tb_service_area.store","tb_service_area.show","tb_service_area.edit","tb_service_area.update","tb_service_area.destroy","tb_taxonomy.index","tb_taxonomy.create","tb_taxonomy.store","tb_taxonomy.show","tb_taxonomy.edit","tb_taxonomy.update","tb_taxonomy.destroy","tb_details.index","tb_details.create","tb_details.store","tb_details.show","tb_details.edit","tb_details.update","tb_details.destroy","tb_languages.index","tb_languages.create","tb_languages.store","tb_languages.show","tb_languages.edit","tb_languages.update","tb_languages.destroy","tb_accessibility.index","tb_accessibility.create","tb_accessibility.store","tb_accessibility.show","tb_accessibility.edit","tb_accessibility.update","tb_accessibility.destroy","layout_edit.index","layout_edit.create","layout_edit.store","layout_edit.show","layout_edit.edit","layout_edit.update","layout_edit.destroy","home_edit.index","home_edit.create","home_edit.store","home_edit.show","home_edit.edit","home_edit.update","home_edit.destroy","about_edit.index","about_edit.create","about_edit.store","about_edit.show","about_edit.edit","about_edit.update","about_edit.destroy","login_register_edit.index","login_register_edit.create","login_register_edit.store","login_register_edit.show","login_register_edit.edit","login_register_edit.update","login_register_edit.destroy","map.index","map.create","map.store","map.show","map.edit","map.update","map.destroy","data.index","data.create","data.store","data.show","data.edit","data.update","data.destroy","analytics.index","analytics.create","analytics.store","analytics.show","analytics.edit","analytics.update","analytics.destroy","religions.index","religions.create","religions.store","religions.show","religions.edit","religions.update","religions.destroy","organizationTypes.index","organizationTypes.create","organizationTypes.store","organizationTypes.show","organizationTypes.edit","organizationTypes.update","organizationTypes.destroy","ContactTypes.index","ContactTypes.create","ContactTypes.store","ContactTypes.show","ContactTypes.edit","ContactTypes.update","ContactTypes.destroy","FacilityTypes.index","FacilityTypes.create","FacilityTypes.store","FacilityTypes.show","FacilityTypes.edit","FacilityTypes.update","FacilityTypes.destroy","languages.index","languages.create","languages.store","languages.show","languages.edit","languages.update","languages.destroy","ignition.healthCheck","ignition.executeSolution","ignition.shareReport","ignition.scripts","ignition.styles","dataSync.export","dataSync.import","dataSync.ImportContactExcel","log-viewer::logs.list","log-viewer::logs.delete","log-viewer::logs.show","log-viewer::logs.download","log-viewer::logs.filter","log-viewer::logs.search"]', + 'first_name' => 'admin', + 'last_name' => '', + 'role_id' => 1, + 'status' => 1, + + ], + + ]); + } +} diff --git a/public/index.php b/public/index.php index 4584cbcd..5fb4a3ed 100755 --- a/public/index.php +++ b/public/index.php @@ -9,6 +9,10 @@ define('LARAVEL_START', microtime(true)); +if (file_exists($maintenance = __DIR__ . '/../storage/framework/maintenance.php')) { + require $maintenance; +} + /* |-------------------------------------------------------------------------- | Register The Auto Loader @@ -21,7 +25,7 @@ | */ -require __DIR__.'/../vendor/autoload.php'; +require __DIR__ . '/../vendor/autoload.php'; /* |-------------------------------------------------------------------------- @@ -35,7 +39,7 @@ | */ -$app = require_once __DIR__.'/../bootstrap/app.php'; +$app = require_once __DIR__ . '/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- diff --git a/public/js/taxonomy_ajaxscript.js b/public/js/taxonomy_ajaxscript.js index f2849300..83ea492e 100755 --- a/public/js/taxonomy_ajaxscript.js +++ b/public/js/taxonomy_ajaxscript.js @@ -41,20 +41,26 @@ $(document).ready(function () { } // #c961d6 $('#id').val(data.taxonomy_recordid); + $('#taxonomy_recordid').val(data.taxonomy_recordid); + $('#code').val(data.code); + $('#term_uri').val(data.term_uri); $('#taxonomy_name').val(data.taxonomy_name); $('#taxonomy').val(data.taxonomy); $('#x_taxonomies').val(data.x_taxonomies); $('#taxonomy_x_description').val(data.taxonomy_x_description); $('#taxonomy_grandparent_name').val(data.taxonomy_parent_name); $('#language').val(data.language); + $('#status').val(data.status); + $('#taxonomy_tag').val(data.taxonomy_tag); $('#order').val(data.order); $('#taxonomy_parent_name').val(data.taxonomy_parent_name); $('#taxonomy_x_notes').val(data.taxonomy_x_notes); $('#exclude_vocabulary').val(data.exclude_vocabulary); $('#badge_color').val(data.badge_color); $('#created_at').val(data.created_at); + $('#updated_at').val(data.updated_at); $('#created_by').val(data.user ? data.user.first_name : ''); - $('#status').val(data.status); + $('#updated_by').val(data.updated_by); $('#white_logo_image').attr('src', data.category_logo_white) $('#category_logo_image').attr('src', data.category_logo) $("#taxonomy").selectpicker('refresh'); diff --git a/readme.md b/readme.md index 65614688..9025cddb 100755 --- a/readme.md +++ b/readme.md @@ -25,7 +25,7 @@ Features include: The Laravel framework has a few system requirements. You will need to make sure your server meets the following requirements: -* PHP 7.4 +* PHP >= 8.1 * BCMath PHP Extension * Ctype PHP Extension * JSON PHP Extension diff --git a/resources/views/backEnd/address_types/create.blade.php b/resources/views/backEnd/address_types/create.blade.php new file mode 100644 index 00000000..c65afc18 --- /dev/null +++ b/resources/views/backEnd/address_types/create.blade.php @@ -0,0 +1,36 @@ +@extends('backLayout.app') +@section('title') +create address type +@stop + +@section('content') + +
+
+
+
+

Create new address type

+
+
+
+ {!! Form::open(['route' => 'address_types.store', 'class' => 'form-horizontal','enctype' => 'multipart/form-data']) !!} +
+ {!! Form::label('type', 'Type', ['class' => 'col-sm-3 control-label']) !!} +
+ {!! Form::text('type', null, ['class' => 'form-control']) !!} + {!! $errors->first('type', '

:message

') !!} +
+
+
+
+ {!! Form::submit('Submit', ['class' => 'btn btn-success']) !!} + Back +
+
+ {!! Form::close() !!} +
+
+
+
+ +@endsection diff --git a/resources/views/backEnd/address_types/edit.blade.php b/resources/views/backEnd/address_types/edit.blade.php new file mode 100644 index 00000000..be04c638 --- /dev/null +++ b/resources/views/backEnd/address_types/edit.blade.php @@ -0,0 +1,35 @@ +@extends('backLayout.app') +@section('title') +Edit Address Type : {{$addressType->type}} +@stop + +@section('content') +
+
+
+
+

Edit Address Type

+
+
+
+ {!! Form::model($addressType,['route' => array('address_types.update',$addressType->id), 'class' => 'form-horizontal','method' => 'PUT','enctype' => 'multipart/form-data']) !!} +
+ {!! Form::label('type', 'Type', ['class' => 'col-sm-3 control-label']) !!} +
+ {!! Form::text('type', null, ['class' => 'form-control']) !!} + {!! $errors->first('type', '

:message

') !!} +
+
+
+
+ {!! Form::submit('Submit', ['class' => 'btn btn-success']) !!} + Back +
+
+ {!! Form::close() !!} +
+
+
+
+ +@endsection diff --git a/resources/views/backEnd/address_types/index.blade.php b/resources/views/backEnd/address_types/index.blade.php new file mode 100644 index 00000000..5fde4785 --- /dev/null +++ b/resources/views/backEnd/address_types/index.blade.php @@ -0,0 +1,194 @@ +@extends('backLayout.app') +@section('title') +Address Types +@stop + +@section('content') + +
+
+
+
+

Address Types

+ +
+
+
+ @if (session()->has('error')) +
+ × + {{ session()->get('error') }} +
+ @endif + @if (session()->has('success')) +
+ × + {{ session()->get('success') }} +
+ @endif + + + + {{-- + + + + + + + + @foreach($addressTypes as $type) + + + + + + + @endforeach + +
Select All --}} + IDTypeCreated AtActions
{{$type->id}}{{$type->type}}{{$type->created_at}} + + + + {!! Form::open(['method'=>'DELETE', 'route' => ['address_types.destroy', $type->id], + 'style' => + 'display:inline']) !!} + + {!! Form::close() !!} +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/backEnd/import/create.blade.php b/resources/views/backEnd/import/create.blade.php index c650ac30..eae757af 100644 --- a/resources/views/backEnd/import/create.blade.php +++ b/resources/views/backEnd/import/create.blade.php @@ -31,16 +31,23 @@
{!! Form::label('import_type', 'Format', ['class' => 'col-sm-3 control-label']) !!}
- {!! Form::select('import_type',['airtable' => 'HSDS v.2.0 Airtable' , 'zipfile' => 'HSDS v.2.0 Zip File','zipfile_api' => 'HSDS v.2.0 Zip API' ], 'airtable', ['class' => 'form-control select','id' => 'import_type']) !!} + {!! Form::select('import_type',['airtable_v3' => 'HSDS v.3.0 Airtable' ,'airtable' => 'HSDS v.2.0 Airtable' , 'zipfile' => 'HSDS v.2.0 Zip File','zipfile_api' => 'HSDS v.2.0 Zip API' ], 'airtable', ['class' => 'form-control select','id' => 'import_type']) !!} {!! $errors->first('import_type', '

:message

') !!}
-
+ {{--
{!! Form::label('airtable_api_key', 'Airtable API Key', ['class' => 'col-sm-3 control-label']) !!}
{!! Form::text('airtable_api_key', null, ['class' => 'form-control']) !!} {!! $errors->first('airtable_api_key', '

:message

') !!}
+
--}} +
+ {!! Form::label('airtable_access_token', 'Airtable Access Token', ['class' => 'col-sm-3 control-label']) !!} +
+ {!! Form::text('airtable_access_token', null, ['class' => 'form-control']) !!} + {!! $errors->first('airtable_access_token', '

:message

') !!} +
{!! Form::label('airtable_base_id', 'Airtable Base ID', ['class' => 'col-sm-3 control-label']) !!} diff --git a/resources/views/backEnd/import/edit.blade.php b/resources/views/backEnd/import/edit.blade.php index 0525556e..b1f11dca 100644 --- a/resources/views/backEnd/import/edit.blade.php +++ b/resources/views/backEnd/import/edit.blade.php @@ -31,11 +31,11 @@
{!! Form::label('import_type', 'Format', ['class' => 'col-sm-3 control-label']) !!}
- {!! Form::select('import_type',['airtable' => 'HSDS v.2.0 Airtable' , 'zipfile' => 'HSDS v.2.0 Zip File','zipfile_api' => 'HSDS v.2.0 Zip API' ], null, ['class' => 'form-control select','id' => 'import_type']) !!} + {!! Form::select('import_type',['airtable_v3' => 'HSDS v.3.0 Airtable' ,'airtable' => 'HSDS v.2.0 Airtable' , 'zipfile' => 'HSDS v.2.0 Zip File','zipfile_api' => 'HSDS v.2.0 Zip API' ], null, ['class' => 'form-control select','id' => 'import_type']) !!} {!! $errors->first('import_type', '

:message

') !!}
-
+ {{--
{!! Form::label('airtable_api_key', 'Airtable API Key', ['class' => 'col-sm-3 control-label']) !!}
{!! Form::text('airtable_api_key1', $dataSource->airtableKeyInfo ? ('***********'.substr($dataSource->airtableKeyInfo->api_key, -4)) : '' , ['class' => 'form-control','id' => 'airtable_api_key1']) !!} @@ -46,6 +46,18 @@
+
--}} +
+ {!! Form::label('airtable_access_token', 'Airtable Access Token', ['class' => 'col-sm-3 control-label']) !!} +
+ {!! Form::text('airtable_access_token1', $dataSource->airtableKeyInfo ? ('***********'.substr($dataSource->airtableKeyInfo->access_token, -4)) : '' , ['class' => 'form-control','id' => 'airtable_access_token1']) !!} + {!! Form::text('airtable_access_token', $dataSource->airtableKeyInfo ? $dataSource->airtableKeyInfo->access_token : '' , ['class' => 'form-control','id' => 'airtable_access_token','style' => 'display:none;']) !!} + + {!! $errors->first('airtable_access_token', '

:message

') !!} +
+
+ +
{!! Form::label('airtable_base_id', 'Airtable Base ID', ['class' => 'col-sm-3 control-label']) !!} @@ -126,7 +138,7 @@
+
+
+

+ Addresses +
+ + + +
+

+
+
+
+
+ + + + + + + + + @foreach ($locationAddresses as $key => $value) + + + + + + + @endforeach + +
Full AddressAddress TypePrimary  
+ {{ $value->full_address }} + {{ $value->address_type_data }} +
+ is_main == 1 || count($locationAddresses) === 1 ) ? 'checked' : '' }} > + +
+
+ + + +
+
+
+
+
+
+
+

@@ -372,135 +440,213 @@ class="plus_delteicon btn-button removePhoneData">

-
-
-

- Phones -
- - - + + +
+
+
+
+
+

+ Phones +
+ + + +
+

+
+
+
+
+ + + + + + + + + + + + @if (count($facility->phones) > 0) + @foreach ($facility->phones as $key => $value) + + + + + + + + + + @endforeach + @endif + +
NumberExtensionType +
+
+

Select “Main” if this is the organization's primary phone + number (or + leave blank) +

+
+
+
Language(s)Description +
+
+

A description providing extra information about the phone + service (e.g. + any special arrangements for accessing, or details of + availability at + particular times). +

+
+
+
Main 
+ + {{ $value->phone_number }} + + + {{ $value->phone_extension }} + + {{-- {!! Form::select('phone_type[]',$phone_type,$value->phone_type ? + explode(',',$value->phone_type) : [],['class' => 'form-control + selectpicker','data-live-search' => 'true','id' => 'phone_type','data-size' => + 5,'placeholder' => 'select phone type'])!!} --}} + + {{ $value->type ? $value->type->type : '' }} + + {{-- {!! Form::select('phone_language[]',$phone_languages,$value->phone_language ? + explode(',',$value->phone_language) : [],['class' => 'form-control selectpicker + phone_language','data-size' => 5,'data-live-search' => 'true', 'id' => + 'phone_language_'.$key,'multiple' => true]) !!} --}} + + {{ isset($phone_language_name[$key]) ? $phone_language_name[$key] : '' }} + + + {{ $value->phone_description }} + +
+ main_priority == 1 ? 'checked' : '' }}> + +
+
+ + + + + + +
+
+
+
+ + + +
+
-

-
-
-
-
- - - - - - - - - - - - @if (count($facility->phones) > 0) - @foreach ($facility->phones as $key => $value) - - - - - - - - - - @endforeach - @endif - -
NumberExtensionType -
-
-

Select “Main” if this is the organization's primary phone - number (or - leave blank) -

-
-
-
Language(s)Description -
-
-

A description providing extra information about the phone - service (e.g. - any special arrangements for accessing, or details of - availability at - particular times). -

+
+
+
+
+ {{-- contact table --}} +

+ Contacts + {{-- + + --}} +

+
+
+
+
+ + + + + + + + {{-- --}} + + + + + + + + + {{-- --}} + + +
NameTitleEmailVisibilityPhone 
amit solankicontact_titleamit.d9ithub@gmail.comcontact_visibility22111 22222 + + + + + + +
-
Main 
- - {{ $value->phone_number }} - - - {{ $value->phone_extension }} - - {{-- {!! Form::select('phone_type[]',$phone_type,$value->phone_type ? - explode(',',$value->phone_type) : [],['class' => 'form-control - selectpicker','data-live-search' => 'true','id' => 'phone_type','data-size' => - 5,'placeholder' => 'select phone type'])!!} --}} - - {{ $value->type ? $value->type->type : '' }} - - {{-- {!! Form::select('phone_language[]',$phone_languages,$value->phone_language ? - explode(',',$value->phone_language) : [],['class' => 'form-control selectpicker - phone_language','data-size' => 5,'data-live-search' => 'true', 'id' => - 'phone_language_'.$key,'multiple' => true]) !!} --}} - - {{ isset($phone_language_name[$key]) ? $phone_language_name[$key] : '' }} - - - {{ $value->phone_description }} - -
- main_priority == 1 ? 'checked' : '' }}> - -
-
- - - - - - -
+
+
+ {{-- end here --}} +
- - -
@@ -517,6 +663,15 @@ class="btn btn-primary btn-lg btn_padding waves-effect waves-classic waves-effec id="save-facility-btn"> Save + + + + + + + + + {!! Form::close() !!} {{-- --}} @@ -662,6 +817,113 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save {{-- End here --}} + {{-- Address modal --}} + + {{-- Edit Address here --}} + @endsection diff --git a/resources/views/frontEnd/locations/facility-create-in-organization.blade.php b/resources/views/frontEnd/locations/facility-create-in-organization.blade.php index a471c262..8ee46356 100644 --- a/resources/views/frontEnd/locations/facility-create-in-organization.blade.php +++ b/resources/views/frontEnd/locations/facility-create-in-organization.blade.php @@ -54,14 +54,57 @@
+
+ +
+
+

An alternative name for the location

+
+
+ {!! Form::text('location_alternate_name', null, ['class' => 'form-control', 'id' => 'location_alternate_name']) !!} +
+
+
+
+
+ + {!! Form::text('location_type', null, ['class' => 'form-control', 'id' => 'location_type']) !!} +
+
+
+
+ + {!! Form::text('location_url', null, ['class' => 'form-control', 'id' => 'location_url']) !!} +
+
+
+ + {!! Form::select('location_languages[]', $languages, null, [ + 'class' => 'form-control selectpicker', + 'id' => 'location_languages', + 'multiple' => 'true', + 'data-live-search' => 'true', + 'data-size' => '5', + ]) !!} +
+
+ +
+
+ + {!! Form::textarea('location_transportation', null, ['class' => 'form-control']) !!} +
+
+ + {{--
-
+ --}} {{--
--}}
+
+ + {!! Form::text('external_identifier', null, ['class' => 'form-control', 'id' => 'external_identifier']) !!} +
+
+ +
+
+ + {!! Form::text('external_identifier_type', null, ['class' => 'form-control', 'id' => 'external_identifier_type']) !!} +
+
+ +
+
+ + {!! Form::textarea('location_description', null, ['class' => 'form-control']) !!} +
+
+ +
+
+ + {!! Form::text('accessesibility_url', null, ['class' => 'form-control', 'id' => 'accessesibility_url']) !!} +
+
+ + {{--
{!! Form::select('regions', $regions, null, [ @@ -115,7 +186,7 @@ 'multiple' => true, ]) !!}
-
+
--}}
@@ -150,6 +221,40 @@
+ + {{-- Address start here --}} +
+
+

+ Addresses +
+ + + +
+

+
+
+
+
+ + + + + + + + + +
Full AddressAddress TypePrimary  
+
+
+
+
+
+
+ {{-- Address end --}} +

@@ -280,6 +385,17 @@ class="btn btn-raised btn-lg btn_darkblack waves-effect waves-classic waves-effe class="btn btn-primary btn-lg btn_padding waves-effect waves-classic waves-effect waves-classic green_btn" id="save-facility-btn"> Save

+ + + + + + + + + + + {!! Form::close() !!} {{-- --}}
@@ -327,6 +443,112 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save {{-- End here --}} + {{-- Address modal --}} + + {{-- Edit Address here --}} @@ -458,5 +680,175 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save "" + ""); }); + + // address section + let address_1 = $('#address_1').val() ? JSON.parse($('#address_1').val()) : []; + let address_2 = $('#address_2').val() ? JSON.parse($('#address_2').val()) : []; + let address_attention = $('#address_attention').val() ? JSON.parse($('#address_attention').val()) : []; + let address_city = $('#address_city').val() ? JSON.parse($('#address_city').val()) : []; + let regions = $('#address_regions').val() ? JSON.parse($('#address_regions').val()) : []; + let address_state = $('#address_state').val() ? JSON.parse($('#address_state').val()) : []; + let zip_codes = $('#zip_codes').val() ? JSON.parse($('#zip_codes').val()) : []; + let address_country = $('#address_country').val() ? JSON.parse($('#address_country').val()) : []; + let address_type = $('#address_type').val() ? JSON.parse($('#address_type').val()) : []; + let index = address_1.length > 0 ? address_1.length : 0 ; + let selectedIndex = '' + let editAddressData = false + let addressTypes = ; + + $('.open_address_modal').click(function() { + $('#address_1_p').val(''); + $('#address_2_p').val(''); + $('#address_attention_p').val(''); + $('#address_city_p').val(''); + $('#region_p').val(''); + $('#address_state_p').val(''); + $('#zip_code_p').val(''); + $('#address_country_p').val(''); + $('#address_type_p').val(''); + $('#address_state_p').selectpicker('refresh') + $('#address_city_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + $('#address_modal').modal('show') + }) + + $('.closeAddressModal').click(function() { + editAddressData = false + + $('#address_1_p').val(''); + $('#address_2_p').val(''); + $('#address_attention_p').val(''); + $('#address_city_p').val(''); + $('#region_p').val(''); + $('#address_state_p').val(''); + $('#zip_code_p').val(''); + $('#address_country_p').val(''); + $('#address_type_p').val(''); + $('#address_modal').modal('hide') + $('#address_city_p').selectpicker('refresh') + $('#address_state_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + }) + + $(document).on('click','.edit_address_modal', function() { + selectedIndex = $(this).data('id') + editAddressData = true + // let address_type_array = address_type[selectedIndex] ? address_type[selectedIndex].split(',') : [] + + $('#address_1_p').val(address_1[selectedIndex]); + $('#address_2_p').val(address_2[selectedIndex]); + $('#address_attention_p').val(address_attention[selectedIndex]); + $('#address_city_p').val(address_city[selectedIndex]); + $('#region_p').val(regions[selectedIndex]); + $('#address_state_p').val(address_state[selectedIndex]); + $('#zip_code_p').val(zip_codes[selectedIndex]); + $('#address_country_p').val(address_country[selectedIndex]); + $('#address_type_p').val(address_type[selectedIndex]); + $('#address_city_p').selectpicker('refresh') + $('#address_state_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + $('#address_modal').modal('show') + }) + + $('#addressModalSubmit').click(function() { + let address_1_p = $('#address_1_p').val(); + let address_2_p = $('#address_2_p').val(); + let address_attention_p = $('#address_attention_p').val(); + let address_city_p = $('#address_city_p').val(); + let region_p = $('#region_p').val(); + let address_state_p = $('#address_state_p').val(); + let zip_code_p = $('#zip_code_p').val(); + let address_country_p = $('#address_country_p').val(); + let address_type_p = $('#address_type_p').val(); + let address_type_text = ''; + + let address_type_ids = address_type_p ? address_type_p : [] + address_type_ids.forEach(function(v,i){ + if(v in addressTypes){ + if(i == 0){ + address_type_text = addressTypes[v] + }else{ + address_type_text = address_type_text +' ,'+ addressTypes[v] + } + } + }) + // phone_type_text = phone_types[phone_type_p] ? phone_types[phone_type_p] : '' + + if(editAddressData) { + $('#addressTr_' + selectedIndex).empty() + $('#addressTr_' + selectedIndex).append(''+ address_1_p + ' '+ address_2_p + ' '+ address_city_p +', '+ address_state_p + ' '+ zip_code_p +''+ address_type_text +'
'); + + address_1[selectedIndex] = address_1_p; + address_2[selectedIndex] = address_2_p; + address_attention[selectedIndex] = address_attention_p; + address_city[selectedIndex] = address_city_p; + regions[selectedIndex] = region_p; + address_state[selectedIndex] = address_state_p; + zip_codes[selectedIndex] = zip_code_p; + address_country[selectedIndex] = address_country_p; + address_type[selectedIndex] = address_type_p; + + }else{ + $('#addressTable').append(''+ address_1_p + ' '+ address_2_p + ' '+ address_city_p +', '+ address_state_p + ' '+ zip_code_p +''+ address_type_text +'
'); + + index++; + + address_1.push(address_1_p); + address_2.push(address_2_p); + address_attention.push(address_attention_p); + address_city.push(address_city_p); + regions.push(region_p); + address_state.push(address_state_p); + zip_codes.push(zip_code_p); + address_country.push(address_country_p); + address_type.push(address_type_p); + } + + $('#address_1').val(JSON.stringify(address_1)) + $('#address_2').val(JSON.stringify(address_2)) + $('#address_attention').val(JSON.stringify(address_attention)) + $('#address_city').val(JSON.stringify(address_city)) + $('#address_regions').val(JSON.stringify(regions)) + $('#address_state').val(JSON.stringify(address_state)) + $('#zip_codes').val(JSON.stringify(zip_codes)) + $('#address_country').val(JSON.stringify(address_country)) + $('#address_type').val(JSON.stringify(address_type)) + + selectedIndex = ''; + editAddressData = false; + $('#address_modal').modal('hide'); + }) + + $(document).on('click','.removeAddressData', function(){ + // let tr = $(this).closest('tr'); + + let removeIndex = $(this).data('id'); + address_1.splice(removeIndex, 1); + address_2.splice(removeIndex, 1); + address_attention.splice(removeIndex, 1); + address_city.splice(removeIndex, 1); + regions.splice(removeIndex, 1); + address_state.splice(removeIndex, 1); + zip_codes.splice(removeIndex, 1); + address_country.splice(removeIndex, 1); + address_type.splice(removeIndex, 1); + + $('#address_1').val(JSON.stringify(address_1)) + $('#address_2').val(JSON.stringify(address_2)) + $('#address_attention').val(JSON.stringify(address_attention)) + $('#address_city').val(JSON.stringify(address_city)) + $('#address_regions').val(JSON.stringify(regions)) + $('#address_state').val(JSON.stringify(address_state)) + $('#zip_codes').val(JSON.stringify(zip_codes)) + $('#address_country').val(JSON.stringify(address_country)) + $('#address_type').val(JSON.stringify(address_type)) + + + $(this).closest('tr').remove() + + }) @endsection diff --git a/resources/views/frontEnd/locations/facility-create-in-service.blade.php b/resources/views/frontEnd/locations/facility-create-in-service.blade.php index d0eaaee4..72f99b74 100644 --- a/resources/views/frontEnd/locations/facility-create-in-service.blade.php +++ b/resources/views/frontEnd/locations/facility-create-in-service.blade.php @@ -62,6 +62,56 @@
+
+ +
+
+

An alternative name for the location

+
+
+ {!! Form::text('location_alternate_name', null, ['class' => 'form-control', 'id' => 'location_alternate_name']) !!} +
+
+
+
+ + +
+
+
+
+ + {!! Form::text('location_type', null, ['class' => 'form-control', 'id' => 'location_type']) !!} +
+
+
+
+ + {!! Form::text('location_url', null, ['class' => 'form-control', 'id' => 'location_url']) !!} +
+
+ +
+
+ + {!! Form::select('location_languages[]', $languages, null, [ + 'class' => 'form-control selectpicker', + 'id' => 'location_languages', + 'multiple' => 'true', + 'data-live-search' => 'true', + 'data-size' => '5', + ]) !!} +
+
+ +
+
+ + {!! Form::textarea('location_transportation', null, ['class' => 'form-control']) !!} +
+
+ + {{--
-
+ --}} {{--
--}} +
+
+ + {!! Form::text('external_identifier', null, ['class' => 'form-control', 'id' => 'external_identifier']) !!} +
+
+ +
+
+ + {!! Form::text('external_identifier_type', null, ['class' => 'form-control', 'id' => 'external_identifier_type']) !!} +
+
+ +
+
+ + {!! Form::textarea('location_description', null, ['class' => 'form-control']) !!} +
+
+ +
+
+ + {!! Form::text('accessesibility_url', null, ['class' => 'form-control', 'id' => 'accessesibility_url']) !!} +
+
+
@@ -168,6 +246,39 @@
+ {{-- Address start here --}} +
+
+

+ Addresses +
+ + + +
+

+
+
+
+
+ + + + + + + + + +
Full AddressAddress TypePrimary  
+
+
+
+
+
+
+ {{-- Address end --}} +

@@ -298,6 +409,16 @@ class="btn btn-raised btn-lg btn_darkblack waves-effect waves-classic waves-effe class="btn btn-primary btn-lg btn_padding waves-effect waves-classic waves-effect waves-classic green_btn" id="save-facility-btn"> Save

+ + + + + + + + + + {!! Form::close() !!} {{-- --}}
@@ -345,6 +466,113 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save {{-- End here --}} + + {{-- Address modal --}} + + {{-- Edit Address here --}} @@ -477,5 +705,175 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save "" + ""); }); + + // address section + let address_1 = $('#address_1').val() ? JSON.parse($('#address_1').val()) : []; + let address_2 = $('#address_2').val() ? JSON.parse($('#address_2').val()) : []; + let address_attention = $('#address_attention').val() ? JSON.parse($('#address_attention').val()) : []; + let address_city = $('#address_city').val() ? JSON.parse($('#address_city').val()) : []; + let regions = $('#address_regions').val() ? JSON.parse($('#address_regions').val()) : []; + let address_state = $('#address_state').val() ? JSON.parse($('#address_state').val()) : []; + let zip_codes = $('#zip_codes').val() ? JSON.parse($('#zip_codes').val()) : []; + let address_country = $('#address_country').val() ? JSON.parse($('#address_country').val()) : []; + let address_type = $('#address_type').val() ? JSON.parse($('#address_type').val()) : []; + let index = address_1.length > 0 ? address_1.length : 0 ; + let selectedIndex = '' + let editAddressData = false + let addressTypes = ; + + $('.open_address_modal').click(function() { + $('#address_1_p').val(''); + $('#address_2_p').val(''); + $('#address_attention_p').val(''); + $('#address_city_p').val(''); + $('#region_p').val(''); + $('#address_state_p').val(''); + $('#zip_code_p').val(''); + $('#address_country_p').val(''); + $('#address_type_p').val(''); + $('#address_state_p').selectpicker('refresh') + $('#address_city_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + $('#address_modal').modal('show') + }) + + $('.closeAddressModal').click(function() { + editAddressData = false + + $('#address_1_p').val(''); + $('#address_2_p').val(''); + $('#address_attention_p').val(''); + $('#address_city_p').val(''); + $('#region_p').val(''); + $('#address_state_p').val(''); + $('#zip_code_p').val(''); + $('#address_country_p').val(''); + $('#address_type_p').val(''); + $('#address_modal').modal('hide') + $('#address_city_p').selectpicker('refresh') + $('#address_state_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + }) + + $(document).on('click','.edit_address_modal', function() { + selectedIndex = $(this).data('id') + editAddressData = true + // let address_type_array = address_type[selectedIndex] ? address_type[selectedIndex].split(',') : [] + + $('#address_1_p').val(address_1[selectedIndex]); + $('#address_2_p').val(address_2[selectedIndex]); + $('#address_attention_p').val(address_attention[selectedIndex]); + $('#address_city_p').val(address_city[selectedIndex]); + $('#region_p').val(regions[selectedIndex]); + $('#address_state_p').val(address_state[selectedIndex]); + $('#zip_code_p').val(zip_codes[selectedIndex]); + $('#address_country_p').val(address_country[selectedIndex]); + $('#address_type_p').val(address_type[selectedIndex]); + $('#address_city_p').selectpicker('refresh') + $('#address_state_p').selectpicker('refresh') + $('#address_type_p').selectpicker('refresh') + $('#region_p').selectpicker('refresh') + $('#address_modal').modal('show') + }) + + $('#addressModalSubmit').click(function() { + let address_1_p = $('#address_1_p').val(); + let address_2_p = $('#address_2_p').val(); + let address_attention_p = $('#address_attention_p').val(); + let address_city_p = $('#address_city_p').val(); + let region_p = $('#region_p').val(); + let address_state_p = $('#address_state_p').val(); + let zip_code_p = $('#zip_code_p').val(); + let address_country_p = $('#address_country_p').val(); + let address_type_p = $('#address_type_p').val(); + let address_type_text = ''; + + let address_type_ids = address_type_p ? address_type_p : [] + address_type_ids.forEach(function(v,i){ + if(v in addressTypes){ + if(i == 0){ + address_type_text = addressTypes[v] + }else{ + address_type_text = address_type_text +' ,'+ addressTypes[v] + } + } + }) + // phone_type_text = phone_types[phone_type_p] ? phone_types[phone_type_p] : '' + + if(editAddressData) { + $('#addressTr_' + selectedIndex).empty() + $('#addressTr_' + selectedIndex).append(''+ address_1_p + ' '+ address_2_p + ' '+ address_city_p +', '+ address_state_p + ' '+ zip_code_p +''+ address_type_text +'
'); + + address_1[selectedIndex] = address_1_p; + address_2[selectedIndex] = address_2_p; + address_attention[selectedIndex] = address_attention_p; + address_city[selectedIndex] = address_city_p; + regions[selectedIndex] = region_p; + address_state[selectedIndex] = address_state_p; + zip_codes[selectedIndex] = zip_code_p; + address_country[selectedIndex] = address_country_p; + address_type[selectedIndex] = address_type_p; + + }else{ + $('#addressTable').append(''+ address_1_p + ' '+ address_2_p + ' '+ address_city_p +', '+ address_state_p + ' '+ zip_code_p +''+ address_type_text +'
'); + + index++; + + address_1.push(address_1_p); + address_2.push(address_2_p); + address_attention.push(address_attention_p); + address_city.push(address_city_p); + regions.push(region_p); + address_state.push(address_state_p); + zip_codes.push(zip_code_p); + address_country.push(address_country_p); + address_type.push(address_type_p); + } + + $('#address_1').val(JSON.stringify(address_1)) + $('#address_2').val(JSON.stringify(address_2)) + $('#address_attention').val(JSON.stringify(address_attention)) + $('#address_city').val(JSON.stringify(address_city)) + $('#address_regions').val(JSON.stringify(regions)) + $('#address_state').val(JSON.stringify(address_state)) + $('#zip_codes').val(JSON.stringify(zip_codes)) + $('#address_country').val(JSON.stringify(address_country)) + $('#address_type').val(JSON.stringify(address_type)) + + selectedIndex = ''; + editAddressData = false; + $('#address_modal').modal('hide'); + }) + + $(document).on('click','.removeAddressData', function(){ + // let tr = $(this).closest('tr'); + + let removeIndex = $(this).data('id'); + address_1.splice(removeIndex, 1); + address_2.splice(removeIndex, 1); + address_attention.splice(removeIndex, 1); + address_city.splice(removeIndex, 1); + regions.splice(removeIndex, 1); + address_state.splice(removeIndex, 1); + zip_codes.splice(removeIndex, 1); + address_country.splice(removeIndex, 1); + address_type.splice(removeIndex, 1); + + $('#address_1').val(JSON.stringify(address_1)) + $('#address_2').val(JSON.stringify(address_2)) + $('#address_attention').val(JSON.stringify(address_attention)) + $('#address_city').val(JSON.stringify(address_city)) + $('#address_regions').val(JSON.stringify(regions)) + $('#address_state').val(JSON.stringify(address_state)) + $('#zip_codes').val(JSON.stringify(zip_codes)) + $('#address_country').val(JSON.stringify(address_country)) + $('#address_type').val(JSON.stringify(address_type)) + + + $(this).closest('tr').remove() + + }) @endsection diff --git a/resources/views/frontEnd/locations/show.blade.php b/resources/views/frontEnd/locations/show.blade.php index 61172882..20c5cca3 100644 --- a/resources/views/frontEnd/locations/show.blade.php +++ b/resources/views/frontEnd/locations/show.blade.php @@ -36,7 +36,7 @@ @endforeach @endif - @if(isset($facility->address) && count($facility->address) > 0) + {{-- @if(isset($facility->address) && count($facility->address) > 0)
Address: @if(isset($facility->address)) @@ -50,7 +50,35 @@ @endforeach @endif
- @endif + @endif --}} +
+
+
+
+ + + + + + + + @foreach ($locationAddresses as $key => $value) + + + + + + @endforeach + +
Full AddressAddress TypePrimary
+ {{ $value->full_address }} + {{ $value->address_type_data }} + {{ $value->is_main == 1 ? 'Primary' : '' }} +
+
+
+
+
@if(isset($facility->regions) && count($facility->regions) > 0)
Region: @@ -101,29 +129,29 @@ @php $show_details = []; @endphp - @foreach($locationDetails as $detail) - @php - for($i = 0; $i < count($show_details); $i ++){ if($show_details[$i]['detail_type']==$detail-> - detail_type) - break; - } - if($i == count($show_details)){ - $show_details[$i] = array('detail_type'=> $detail->detail_type, 'detail_value'=> - $detail->detail_value); - } - else{ - $show_details[$i]['detail_value'] = $show_details[$i]['detail_value'].', - '.$detail->detail_value; - } - @endphp + @foreach($locationDetails as $detail) + @php + for($i = 0; $i < count($show_details); $i ++){ + if($show_details[$i]['detail_type']==$detail->detail_type) + break; + } + if($i == count($show_details)){ + $show_details[$i] = array('detail_type'=> $detail->detail_type, 'detail_value'=> + $detail->detail_value); + }else{ + $show_details[$i]['detail_value'] = $show_details[$i]['detail_value'].', + '.$detail->detail_value; + } + @endphp @endforeach @foreach($show_details as $detail) -
- {{ $detail['detail_type'] }}: {!! - $detail['detail_value'] !!} -
+
+ {{ $detail['detail_type'] }}: {!! + $detail['detail_value'] !!} +
@endforeach - @endif + @endif +
diff --git a/resources/views/frontEnd/organizations/create.blade.php b/resources/views/frontEnd/organizations/create.blade.php index 35ceb781..56e27bc4 100644 --- a/resources/views/frontEnd/organizations/create.blade.php +++ b/resources/views/frontEnd/organizations/create.blade.php @@ -187,6 +187,12 @@ +
+
+ + {!! Form::textarea('funding', null, [ 'id' => 'funding', 'rows' => 4, 'cols' => 54, 'style' => 'resize:none', ]) !!} +
+
{{-- @if (Auth::user() && Auth::user()->roles->name == 'System Admin')
diff --git a/resources/views/frontEnd/organizations/edit.blade.php b/resources/views/frontEnd/organizations/edit.blade.php index 8d9aa71d..2e773ea7 100644 --- a/resources/views/frontEnd/organizations/edit.blade.php +++ b/resources/views/frontEnd/organizations/edit.blade.php @@ -183,6 +183,12 @@ {!! Form::text('organization_alternate_name', null, ['class' => 'form-control','id' => 'organization_alternate_name',]) !!}
+
+
+ + {!! Form::textarea('funding', null, [ 'id' => 'funding', 'rows' => 4, 'cols' => 54, 'style' => 'resize:none', ]) !!} +
+
{{-- @if (Auth::user() && Auth::user()->roles->name == 'System Admin')
@@ -698,6 +704,10 @@ class="removeContactData plus_delteicon btn-button"> + + + + {{-- --}} @@ -1110,25 +1120,21 @@ class="btn btn-primary btn-lg btn_padding green_btn">Save