Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
tbfguestbe.tbf.ro
/
app
/
Managers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
WordExportManager.php
| Size :
27.39
KB
Copy
<?php namespace App\Managers; use App\Models\Instance; use PhpOffice\PhpWord\PhpWord; use PhpOffice\PhpWord\Writer\Word2007; class WordExportManager { /** * Export procedures to a Word document. * * @param Instance $instance * @return void */ public function exportProcedures(Instance $instance) { $procedureWord = new PhpWord(); $positions = $instance->positions()->whereHas('procedures')->get(); $this->addProcedureContentToWordDocument($procedureWord, $instance, $positions); $fileName = __('general.procedures.export_filename') . '.docx'; $this->downloadWordDocument($procedureWord, $fileName); } /** * Add content to the Procedure Word document. * * @param PhpWord $procedureWord The PhpWord instance to add content to. * @param Instance $instance * @param mixed $positions * @return void */ private function addProcedureContentToWordDocument($procedureWord, $instance, $positions) { $procedureWord->addTitleStyle(null, ['size' => 46, 'bold' => true]); $procedureWord->addTitleStyle(1, ['size' => 20, 'bold' => true, 'color' => '#595959']); $procedureWord->addTitleStyle(2, ['name' => 'Calibri', 'size' => 26, 'bold' => true], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $procedureWord->addTitleStyle(3, ['name' => 'Calibri', 'size' => 11], ['indent' => 1]); $fontStyleTOC = ['size' => 11]; $instanceSection = $procedureWord->addSection(array('marginLeft' => 1000, 'marginRight' => 1000, 'marginTop' => 1000, 'marginBottom' => 1000)); $instanceSection->addTitle(__('general.procedures.export.title_section'), 0); $instanceSection->addText('', null); $instanceSection->addTitle($instance->name, 1); $instanceSection->addText('', null); $instanceSection->addImage(public_path('procedure_img.png'), ['width' => 500, 'height' => 500, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $instanceSection->addPageBreak(); $instanceSection->addText('CUPRINS', ['name' => 'Calibri', 'size' => 18, 'bold' => true, 'color' => '#595959'], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $toc = $instanceSection->addTOC($fontStyleTOC, [], 2, 3); foreach ($positions as $key => $position) { $instanceSection->addText(' ', array('name' => 'Calibri', 'size' => 40), ['pageBreakBefore' => true]); for ($i = 0; $i < 20; $i++) { $instanceSection->addText(' '); } $instanceSection->addTitle(__('general.procedures.export.position') . ' ' . $position->name, 2); $procedures = $position->procedures; foreach ($procedures as $key => $procedure) { $instanceSection->addText(__('general.procedures.export.procedure'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770'], ['pageBreakBefore' => true]); $instanceSection->addText('', null); $instanceSection->addTitle($procedure->title, 3); $instanceSection->addText('', null); $instanceSection->addText(__('general.procedures.export.position'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $instanceSection->addText('', null); $instanceSection->addText($position->name, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $instanceSection->addText('', null); $instanceSection->addText(__('general.procedures.export.trigger'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $instanceSection->addText('', null); $instanceSection->addText($procedure->procedure_trigger, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $instanceSection->addText('', null); $instanceSection->addText(__('general.procedures.export.procedure_steps'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $instanceSection->addText('', null); foreach ($procedure->steps as $key => $step) { $textRun = $instanceSection->addTextRun(['lineHeight' => 1.5, 'indent' => 1]); $textRun->addText(($key + 1) . '. ', array('name' => 'Calibri', 'size' => 11, 'bold' => true)); $textRun->addText($step->description, array('name' => 'Calibri', 'size' => 11)); } } } $footer = $instanceSection->addFooter(); $footer->addPreserveText('{PAGE}', [], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]); } /** * Export procedures manuals to a Word document. * * @param Instance $instance * * @return void */ public function exportProcedureManuals(Instance $instance) { $word = new PhpWord(); $positions = $instance->positions()->whereHas('procedures')->get(); $this->addProceduresManualsContentToWordDocument($word, $instance, $positions); $fileName = __('general.procedures.export_manual_filename') . '.docx'; $this->downloadWordDocument($word, $fileName); } /** * Add content to the Word document. * * @param PhpWord $word The PhpWord instance to add content to. * @param Instance $instance * @param mixed $positions * @return void */ private function addProceduresManualsContentToWordDocument($word, $instance, $positions) { $word->addTitleStyle(null, ['size' => 42, 'bold' => true]); $word->addTitleStyle(1, ['size' => 20, 'bold' => true, 'color' => '#595959']); $word->addTitleStyle(2, ['name' => 'Calibri', 'size' => 26, 'bold' => true], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $word->addTitleStyle(3, ['name' => 'Calibri', 'size' => 11], ['indent' => 1]); $fontStyleTOC = ['size' => 11]; $section = $word->addSection(array('marginLeft' => 1000, 'marginRight' => 1000, 'marginTop' => 1000, 'marginBottom' => 1000)); $section->addTitle(__('general.procedures.export.title_manual_section'), 0); $section->addText('', null); $section->addTitle($instance->name, 1); $section->addText('', null); $section->addImage(public_path('procedure_manual.png'), ['width' => 500, 'height' => 500, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $section->addPageBreak(); $section->addText('CUPRINS', ['name' => 'Calibri', 'size' => 18, 'bold' => true, 'color' => '#595959'], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $toc = $section->addTOC($fontStyleTOC, [], 2, 3); foreach ($positions as $key => $position) { $section->addText(' ', array('name' => 'Calibri', 'size' => 40), ['pageBreakBefore' => true]); for ($i = 0; $i < 20; $i++) { $section->addText(' '); } $section->addTitle(__('general.procedures.export.position') . ' ' . $position->name, 2); $procedures = $position->procedures()->whereHas('manual')->get(); foreach ($procedures as $key => $procedure) { $section->addText(__('general.procedures.export.procedure'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770'], ['pageBreakBefore' => true]); $section->addText('', null); $section->addTitle($procedure->title, 3); $section->addText('', null); $section->addText(__('general.procedures.export.position'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($position->name, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.procedures.export.procedure_manual_theoretic'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $textlines = explode("\n", $procedure->manual->theoretic); for ($i = 0; $i < sizeof($textlines); $i++) { $section->addText($textlines[$i], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); } $section->addText('', null); $section->addPageBreak(); $section->addText(__('general.procedures.export.procedure'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770'], ['pageBreakBefore' => true]); $section->addText('', null); $section->addTitle($procedure->title, 3); $section->addText('', null); $section->addText(__('general.procedures.export.position'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($position->name, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.procedures.export.procedure_manual_role_play'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $textlines = explode("\n", $procedure->manual->role_play); for ($i = 0; $i < sizeof($textlines); $i++) { $section->addText($textlines[$i], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); } $section->addText('', null); $section->addPageBreak(); $section->addText(__('general.procedures.export.procedure'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770'], ['pageBreakBefore' => true]); $section->addText('', null); $section->addTitle($procedure->title, 3); $section->addText('', null); $section->addText(__('general.procedures.export.position'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($position->name, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.procedures.export.procedure_manual_practically'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $textlines = explode("\n", $procedure->manual->practically); for ($i = 0; $i < sizeof($textlines); $i++) { $section->addText($textlines[$i], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); } $section->addText('', null); } } $footer = $section->addFooter(); $footer->addPreserveText('{PAGE}', [], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]); } /** * Export sale process to a Word document. * * @param Instance $instance * @return void */ public function exportSaleProcess(Instance $instance) { $word = new PhpWord(); $data = []; $phones = $instance->saleProcessPhones()->select('id', 'code', 'script', 'responsible', 'recipient', 'created_at')->get(); foreach ($phones as $item) { $data[$item->code] = $item->toArray(); $data[$item->code]['type'] = 'phone'; $data[$item->code]['info'] = __('general.sales_processes.additional_infos.' . $item->code . '_info'); $data[$item->code]['created_at'] = $item->created_at->format('Y-m-d H:i:s'); } $emails = $instance->saleProcessEmails()->select('id', 'code', 'message', 'subject', 'sender', 'send_date', 'created_at')->get(); foreach ($emails as $item) { $data[$item->code] = $item->toArray(); $data[$item->code]['type'] = 'email'; $data[$item->code]['info'] = __('general.sales_processes.additional_infos.' . $item->code . '_info'); $data[$item->code]['created_at'] = $item->created_at->format('Y-m-d H:i:s'); } $texts = $instance->saleProcessTexts()->select('id', 'code', 'message', 'sender', 'send_date', 'created_at')->get(); foreach ($texts as $item) { $data[$item->code] = $item->toArray(); $data[$item->code]['type'] = 'sms'; $data[$item->code]['info'] = __('general.sales_processes.additional_infos.' . $item->code . '_info'); $data[$item->code]['created_at'] = $item->created_at->format('Y-m-d H:i:s'); } $ads = $instance->saleProcessAds()->select('id', 'code', 'headline', 'description', 'image_description', 'created_at')->get(); foreach ($ads as $item) { $data[$item->code] = $item->toArray(); $data[$item->code]['type'] = 'ad'; $data[$item->code]['created_at'] = $item->created_at->format('Y-m-d H:i:s'); } $this->addSaleProcessContentToWordDocument($word, $instance, $data); $fileName = __('general.sales_processes.export_filename') . '.docx'; $this->downloadWordDocument($word, $fileName); } /** * Add content to the Sale process Word document. * * @param PhpWord $procedureWord The PhpWord instance to add content to. * @param Instance $instance * @param array $data * * @return void */ private function addSaleProcessContentToWordDocument($word, $instance, $data) { $word->addTitleStyle(null, ['size' => 46, 'bold' => true],['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $word->addTitleStyle(1, ['size' => 20, 'bold' => true, 'color' => '#595959'], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $word->addTitleStyle(2, ['name' => 'Calibri', 'size' => 20, 'bold' => true], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $fontStyleTOC = ['size' => 11]; $section = $word->addSection(array('marginLeft' => 1000, 'marginRight' => 1000, 'marginTop' => 500, 'marginBottom' => 500)); // First PAGE $section->addTitle(__('general.sales_processes.export.title_section'), 0); $section->addText('', null); $section->addTitle($instance->name, 1); $section->addText('', null); $section->addImage(public_path('sale_process.png'), ['width' => 500, 'height' => 500, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $section->addPageBreak(); // Second PAGE $section->addImage(public_path('sale_process_funnel.png'), ['width' => 350, 'height' => 800, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $section->addText('CUPRINS', ['name' => 'Calibri', 'size' => 18, 'bold' => true, 'color' => '#595959'], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $section->addText(' '); $section->addText(' '); $section->addText(' '); $section->addText(' '); // Third PAGE $toc = $section->addTOC($fontStyleTOC, [], 2); $section->addPageBreak(); $dataOrdered = __('general.sales_processes.export.titles'); foreach ($dataOrdered as $key => $item) { if (isset($data[$key])) { $section->addTitle($item, 2); $section->addText('', null); $section->addText('', null); if ($data[$key]['type'] == 'phone') { $section->addText($data[$key]['info'], array('name' => 'Calibri', 'size' => 11)); $section->addText('', null); $section->addText(__('general.sales_processes.export.responsible'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['responsible'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.recipient'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['recipient'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.script'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $textlines = explode("\n", $data[$key]['script']); for ($i = 0; $i < sizeof($textlines); $i++) { $section->addText($textlines[$i], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); } $section->addText('', null); } if ($data[$key]['type'] == 'email') { $section->addText($data[$key]['info'], array('name' => 'Calibri', 'size' => 11)); $section->addText('', null); $section->addText(__('general.sales_processes.export.subject'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['subject'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.message'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $textlines = explode("\n", $data[$key]['message']); for ($i = 0; $i < sizeof($textlines); $i++) { $section->addText($textlines[$i], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); } $section->addText('', null); } if ($data[$key]['type'] == 'ad') { $section->addText(__('general.sales_processes.export.headline'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['headline'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.description'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['description'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.image_description'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['image_description'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); } if ($data[$key]['type'] == 'sms') { $section->addText($data[$key]['info'], array('name' => 'Calibri', 'size' => 11)); $section->addText('', null); $section->addText(__('general.sales_processes.export.sender'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['sender'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.send_date'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['send_date'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.sales_processes.export.message'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770']); $section->addText('', null); $section->addText($data[$key]['message'], array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); } $section->addPageBreak(); } } $footer = $section->addFooter(); $footer->addPreserveText('{PAGE}', [], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]); } /** * Export Responsibilities to a Word document. * * @param Instance $instance * @return void */ public function exportResponsibilities(Instance $instance) { $word = new PhpWord(); $positions = $instance->positions()->whereHas('responsibilities')->get(); $this->addResponsibilitiesContentToWordDocument($word, $instance, $positions); $fileName = __('general.responsibilities.export_filename') . '.docx'; $this->downloadWordDocument($word, $fileName); } /* * Add content to the Word document. * * @param PhpWord $word The PhpWord instance to add content to. * @param Instance $instance * @param mixed $positions * @return void */ private function addResponsibilitiesContentToWordDocument($word, $instance, $positions) { $word->addTitleStyle(null, ['size' => 46, 'bold' => true]); $word->addTitleStyle(1, ['size' => 20, 'bold' => true, 'color' => '#595959']); $word->addTitleStyle(2, ['name' => 'Calibri', 'size' => 26, 'bold' => true], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $word->addTitleStyle(3, ['name' => 'Calibri', 'size' => 11], ['indent' => 1]); $fontStyleTOC = ['size' => 11]; $section = $word->addSection(array('marginLeft' => 1000, 'marginRight' => 1000, 'marginTop' => 1000, 'marginBottom' => 1000)); $section->addTitle(__('general.responsibilities.columns.title_section'), 0); $section->addText('', null); $section->addTitle($instance->name, 1); $section->addText('', null); $section->addImage(public_path('resposibility_img.png'), ['width' => 500, 'height' => 500, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $section->addPageBreak(); $section->addText('CUPRINS', ['name' => 'Calibri', 'size' => 18, 'bold' => true, 'color' => '#595959'], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]); $toc = $section->addTOC($fontStyleTOC, [], 2, 3); foreach ($positions as $key => $position) { $section->addText(' ', array('name' => 'Calibri', 'size' => 40), ['pageBreakBefore' => true]); for ($i = 0; $i < 20; $i++) { $section->addText(' '); } $section->addTitle(__('general.responsibilities.columns.position') . ' ' . $position->name, 2); $responsibilities = $position->responsibilities; foreach ($responsibilities as $key => $responsibility) { $section->addText(__('general.responsibilities.columns.title'), ['name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770'], ['pageBreakBefore' => true]); $section->addText('', null); $section->addTitle($responsibility->name, 3); $section->addText('', null); $section->addText(__('general.responsibilities.columns.position_name'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($position->name, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.responsibilities.columns.frequency'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($responsibility->frequency, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.responsibilities.columns.kpi'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($responsibility->kpi, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.responsibilities.columns.verification'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($responsibility->verification, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.responsibilities.columns.mistakes'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($responsibility->mistakes_limit, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); $section->addText(__('general.responsibilities.columns.description'), array('name' => 'Calibri', 'size' => 16, 'bold' => true, 'color' => '#1C4770')); $section->addText('', null); $section->addText($responsibility->description, array('name' => 'Calibri', 'size' => 11), ['indent' => 1]); $section->addText('', null); } } $footer = $section->addFooter(); $footer->addPreserveText('{PAGE}', [], ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]); } /** * Download the Word document. * * @param PhpWord $procedureWord The PhpWord instance to download. * @param string $fileName The file name to export * * @return void */ private function downloadWordDocument($procedureWord, $fileName) { header("Access-Control-Allow-Origin: *"); // Permite orice origini header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); // Metode HTTP permise header("Access-Control-Allow-Headers: *"); // Setează capete permise // Setează antetele pentru a forța descărcarea fișierului header("Content-Description: File Transfer"); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document'); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Expires: 0'); \PhpOffice\PhpWord\Settings::setCompatibility(false); \PhpOffice\PhpWord\Settings::setOutputEscapingEnabled(true); $objectWriter = \PhpOffice\PhpWord\IOFactory::createWriter($procedureWord, 'Word2007'); // Salvează documentul Word în fluxul de ieșire ob_start(); $objectWriter->save('php://output'); $content = ob_get_clean(); // Returnează conținutul pentru a fi descărcat echo $content; exit; } }
Back