create new display class, fixed and added same new feature

This commit is contained in:
2026-01-02 16:02:52 +07:00
parent 2aba10a694
commit 7c7d4d8f59
12 changed files with 119 additions and 34 deletions
+13 -9
View File
@@ -6,9 +6,9 @@
Desc. : v3 - Class cache aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : March 16th, 2008.
Last Modified : August 3rd, 2023.
Last Modified : January 1st, 2026.
(c) 2008 - 2023, 3FONIA Software; WWW.3FONIA.COM.
(c) 2008 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@@ -26,7 +26,7 @@ final class Cache {
private $__jsdir = "";
private $__jsapp = "";
private $__realpath = "";
private $__ini = array();
private $__ini = [];
protected $__db = null;
public function __construct($db = null){
@@ -41,14 +41,17 @@ final class Cache {
$this->__jsapp = $rootdir . 'apps/js/';
$this->__realpath = $rootdir;
if (!file_exists($this->__cachedir . "cache.ini")) {
$this->__ini = array('css'=>array('login_stamp'=>"0",'login_file'=>"",'index_stamp'=>"0",'index_file'=>""), 'js'=>array('login_stamp'=>"0",'login_file'=>"",'index_stamp'=>"0",'index_file'=>""));
$this->__ini = [
'css' => ['login_stamp'=>"0",'login_file'=>"",'index_stamp'=>"0",'index_file'=>"",'display_stamp'=>"0",'display_file'=>""],
'js' => ['login_stamp'=>"0",'login_file'=>"",'index_stamp'=>"0",'index_file'=>"",'display_stamp'=>"0",'display_file'=>""]
];
$this->save_ini();
}
$this->__ini = parse_ini_file($this->__cachedir . "cache.ini", true);
}
private function gen_file($type="css", $mode="index") {
$afile = array();
$afile = [];
if ($type == "css") {
$_afile = array_unique($GLOBALS['A_CSS']);
foreach ($_afile as $__key => $val) {
@@ -123,8 +126,8 @@ final class Cache {
return $lastmod;
}
private function create_cache($type="css", $mode="index", $afile=array(), $lastmod=0) {
$contents = '';
private function create_cache($type="css", $mode="index", $afile=[], $lastmod=0) {
$contents = ''; $smini = null;
$bpublic = ($_SERVER['SERVER_ADDR'] == "127.0.0.1") ? false : true;
if ($bpublic == true) {
if ($type=="css") {
@@ -163,8 +166,9 @@ final class Cache {
file_put_contents($this->__cachedir . "cache.ini", $content);
}
public function Main($type="css") {
$mode = (($_SESSION['__WEB_USER']['UserID'] ?? 0) > 0) ? "index" : "login";
public function Main($type="css", $mode="") {
if ($mode == "") $mode = "login";
if (($_SESSION['__WEB_USER']['UserID'] ?? 0) > 0) $mode = "index";
$afile = $this->gen_file($type, $mode);
$lastmod = $this->check_file($afile);
if ($lastmod <> intval($this->__ini[$type][$mode.'_stamp']) || !file_exists($this->__cachedir . $this->__ini[$type][$mode.'_file'])) {