120 lines
3.7 KiB
PHP
Executable File
120 lines
3.7 KiB
PHP
Executable File
<?php
|
|
|
|
// declare(strict_types=1);
|
|
|
|
namespace App\Controllers;
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
use CodeIgniter\API\ResponseTrait;
|
|
|
|
use App\Models\AddImgModel;
|
|
use App\Models\FEContentModel;
|
|
|
|
class AppContentManagementController extends AdminController
|
|
{
|
|
use ResponseTrait;
|
|
protected $myLogger;
|
|
protected $addImgModel;
|
|
protected $feContentModel;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->myLogger = \Config\Services::mylogger();
|
|
$this->addImgModel = new AddImgModel();
|
|
$this->feContentModel = new FEContentModel();
|
|
}
|
|
public function add_image_index()
|
|
{
|
|
$this->myLogger->logme('error','Addvertisement Image list function called');
|
|
$headerData['tab_name'] = 'Addvertisement Images';
|
|
$headerData['page_name'] = 'Addvertisement Images';
|
|
$data['addImageList'] = $this->addImgModel->findAll();
|
|
|
|
// dd($data);
|
|
|
|
echo view('layout/header', $headerData);
|
|
echo view('add_image_list', $data);
|
|
echo view('layout/footer');
|
|
|
|
// $this->loadLayout('client_onboarding', $data);
|
|
}
|
|
|
|
public function add_advertise_image() {
|
|
try {
|
|
$file = $this->request->getFile('advertise_image');
|
|
//1) original file name for vaildations
|
|
$fileName = $file->getClientName(); //original file name for vaildations
|
|
$existing = $this->addImgModel->where('name', $fileName)->where('is_active', 1)->first();
|
|
if($existing){ return $this->respond(['status' => false, 'message' => 'This file has already been uploaded in active state.'], 400); }
|
|
|
|
//skip 1) and use this
|
|
// $fileName = $file->getRandomName(); // Same Name Multiple time upload means different name
|
|
|
|
if (!$file || !$file->isValid()) {
|
|
return $this->respond(['status' => false, 'message' => 'No file uploaded or invalid file.'], 400);
|
|
}
|
|
|
|
$uploadPath = WRITEPATH . 'uploads/advertiseImage/';
|
|
if (!is_dir($uploadPath)) mkdir($uploadPath, 0755, true);
|
|
|
|
|
|
$file->move($uploadPath, $fileName);
|
|
|
|
$id = $this->request->getPost('add_image_id');
|
|
$data = ['name' => $fileName];
|
|
|
|
if ($id == 0) {
|
|
$this->addImgModel->insert($data);
|
|
} else {
|
|
$this->addImgModel->update($id, $data);
|
|
}
|
|
|
|
return $this->respond(['status' => true, 'message' => 'Image saved successfully.']);
|
|
} catch (\Exception $e) {
|
|
return $this->respond(['status' => false, 'message' => $e->getMessage()], 500);
|
|
}
|
|
}
|
|
|
|
public function showAdvertiseImage($fileName)
|
|
{
|
|
|
|
$filePath = WRITEPATH . 'uploads/advertiseImage/' . $fileName;
|
|
|
|
if (!file_exists($filePath)) {
|
|
return $this->response->setStatusCode(404, 'File not found');
|
|
}
|
|
|
|
$mimeType = mime_content_type($filePath);
|
|
header('Content-Type: ' . $mimeType);
|
|
readfile($filePath);
|
|
exit;
|
|
}
|
|
|
|
|
|
public function getAdvertiseImage($image_id){
|
|
|
|
$image_data = $this->addImgModel->select('name')->where(['id' => $image_id])->first();
|
|
|
|
if($image_data){
|
|
return $image_data['name'];
|
|
}else{
|
|
return ;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Front End Content Area
|
|
public function frontend_content(){
|
|
|
|
$data['test'] = $this->feContentModel->findAll();
|
|
$headerData['tab_name'] = 'Front-End Content';
|
|
$headerData['page_name'] = 'Front-End Content';
|
|
|
|
echo view('layout/header', $headerData);
|
|
echo view('frontend_content_list', $data);
|
|
echo view('layout/footer');
|
|
}
|
|
|
|
} |