127 lines
3.2 KiB
PHP
127 lines
3.2 KiB
PHP
<?php
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\Controller;
|
|
use CodeIgniter\HTTP\CLIRequest;
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
use Config\Database;
|
|
|
|
/**
|
|
* Class BaseController
|
|
*
|
|
* BaseController provides a convenient place for loading components
|
|
* and performing functions that are needed by all your controllers.
|
|
* Extend this class in any new controllers:
|
|
* class Home extends BaseController
|
|
*
|
|
* For security be sure to declare any new methods as protected or private.
|
|
*/
|
|
abstract class BaseController extends Controller
|
|
{
|
|
/**
|
|
* Instance of the main Request object.
|
|
*
|
|
* @var CLIRequest|IncomingRequest
|
|
*/
|
|
protected $request;
|
|
|
|
/**
|
|
* An array of helpers to be loaded automatically upon
|
|
* class instantiation. These helpers will be available
|
|
* to all other controllers that extend BaseController.
|
|
*
|
|
* @var list<string>
|
|
*/
|
|
protected $helpers = [];
|
|
|
|
/**
|
|
* Be sure to declare properties for any property fetch you initialized.
|
|
* The creation of dynamic property is deprecated in PHP 8.2.
|
|
*/
|
|
protected $session;
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
// Do Not Edit This Line
|
|
parent::initController($request, $response, $logger);
|
|
|
|
// Preload any models, libraries, etc, here.
|
|
|
|
// E.g.: $this->session = \Config\Services::session();
|
|
// Load the form helper
|
|
|
|
// 세션 인스턴스 초기화
|
|
$this->session = session();
|
|
}
|
|
|
|
protected function view($view,$data=[],$option=[])
|
|
{
|
|
$html = view('layouts/_head_').view($view,$data,$option).view('layouts/_footer_');
|
|
return $html;
|
|
}
|
|
|
|
protected function checkLogin()
|
|
{
|
|
if (!$this->session->get('logged_in') || empty($this->session->get('logged_in'))) {
|
|
redirect()->to('/login')->send();
|
|
exit();
|
|
}
|
|
|
|
}
|
|
|
|
protected function checkLogout()
|
|
{
|
|
if ($this->session->get('logged_in')) {
|
|
redirect()->to('/')->send();
|
|
exit();
|
|
}
|
|
}
|
|
|
|
|
|
protected function checkLogin_ajax()
|
|
{
|
|
if ($this->session->get('logged_in')) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
|
|
protected function showQueries()
|
|
{
|
|
if (ENVIRONMENT !== 'development') {
|
|
return;
|
|
}
|
|
|
|
$queries = $this->session->get('queries') ?? [];
|
|
|
|
if (count($queries) === 0) {
|
|
return;
|
|
}
|
|
|
|
echo '<div style="background-color: #f8f9fa; border: 1px solid #ddd; padding: 10px; margin: 10px 0;">';
|
|
echo '<h3>Executed Queries</h3>';
|
|
echo '<ul>';
|
|
foreach ($queries as $query) {
|
|
echo '<li>' . htmlspecialchars($query) . '</li>';
|
|
}
|
|
echo '</ul>';
|
|
echo '</div>';
|
|
|
|
// 쿼리 로그 초기화
|
|
$this->session->remove('queries');
|
|
}
|
|
|
|
protected function jsConsoleLog($message)
|
|
{
|
|
// JavaScript 코드를 생성
|
|
echo "<script>console.log(" . json_encode($message) . ");</script>";
|
|
}
|
|
}
|