Initial commit: plantilla base PHP para webs Acai CMS

This commit is contained in:
Jordan
2026-02-21 21:13:57 +00:00
commit d083259ee9
322 changed files with 62738 additions and 0 deletions

76
lib/Module.php Executable file
View File

@@ -0,0 +1,76 @@
<?
class Module {
public static $css = array();
public static $cssHash = array();
public static $js = array();
public static $jsHash = array();
public static $loaded = array();
public static $path = './'.PLANTILLA.'/modulos/';
public static function load($folder, $params) {
$folderAbs = Module::$path.$folder;
if (!isset(Module::$loaded[$folder])) {
$files = scandir($folderAbs);
// Los dos primeros elementos son ../ y ./
array_splice($files, 0, 2);
foreach ($files as $file):
$ext = pathinfo($folderAbs.'/'.$file, PATHINFO_EXTENSION);
switch ($ext) {
case 'css':
$md5File = md5_file($folderAbs.'/'.$file);
if (!in_array($md5File,Module::$cssHash)) {
Module::$css[] = '/modulos/'.$folder.'/'.$file;
Module::$cssHash[] = $md5File;
}
break;
case 'js':
$md5File = md5_file($folderAbs.'/'.$file);
if (!in_array($md5File,Module::$jsHash)) {
Module::$js[] = '/modulos/'.$folder.'/'.$file;
Module::$jsHash[] = $md5File;
}
break;
default:
break;
}
endforeach;
Module::$loaded[$folder] = true;
}
extract($params);
ob_start();
require($folderAbs.'/index.tpl');
$resultado = ob_get_clean();
return $resultado;
}
/**
* Devuelve una string con todos los link que ha sacado de los módulos
*/
public static function links() {
Module::$css = array_unique(Module::$css);
$links=''; if (defined('USE_MIN_TAILWIND') && USE_MIN_TAILWIND) return '';
foreach (Module::$css as $c):
$links .= '<link rel="stylesheet" href="'.h($c).'">';
endforeach;
return $links;
}
/**
* Devuelve una string con todos los scripts que ha sacado de los módulos
*/
public static function scripts() {
Module::$js = array_unique(Module::$js);
$scripts=''; if (defined('USE_MIN_JS_TAILWIND') && USE_MIN_JS_TAILWIND) return '';
foreach (Module::$js as $s):
$scripts .= '<script src="'.h($s).'"></script>';
endforeach;
return $scripts;
}
}
?>