Fase 0 del instalador de plugins (docs/plugins/fase0-instalador-diseno.md del repo de Forge). Un plugin puede llevar install.php, uninstall.php, enable.php, disable.php y status.php; los ejecuta runPluginLifecycle() dentro de la web por action_ws=pluginLifecycle, sea Forge o el CMS legacy quien instale. showInstall() reutiliza el mismo nucleo (installPluginArtifacts) en vez de duplicar install.sql/schemaPresets. Checkpoints nuevos, sin efecto hasta que un plugin los declare: - boot_plugins: en init.php, con la BD ya conectada. - post_variables: tras cada require de lib/variables.php (slug.php, sesion.php, lib/recursos.php), una vez por peticion. Un plugin llega DESPUES del bloque de cache de variables.php y puede pisarlo. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HPL66q9F33YZxbLPUT7KW8
39 lines
1.4 KiB
PHP
Executable File
39 lines
1.4 KiB
PHP
Executable File
<?
|
|
if (session_status() == PHP_SESSION_NONE) { session_start(); }
|
|
|
|
require_once(dirname(__FILE__)."/lib/Module.php");
|
|
require_once(dirname(__FILE__)."/lib/Resource.class.php");
|
|
require_once(dirname(__FILE__)."/lib/variables.php");
|
|
// Checkpoint `post_variables` (2026-09-12): variables.php ya ha corrido. Un plugin
|
|
// puede pisar aqui lo que decida la web (p.ej. la cache) antes de resolver la
|
|
// pagina. Una sola vez por peticion aunque se cargue desde varios sitios.
|
|
if (function_exists("addPlugins") && !defined("POST_VARIABLES_DISPARADO")) {
|
|
define("POST_VARIABLES_DISPARADO", true);
|
|
$postVariablesVar = array();
|
|
addPlugins("post_variables", $postVariablesVar);
|
|
}
|
|
require_once(dirname(__FILE__)."/lib/minifier.php");
|
|
|
|
if (file_exists(dirname(__FILE__)."/hooks/autorequire-files")){
|
|
$files = scandir(dirname(__FILE__)."/hooks/autorequire-files");
|
|
$files = array_diff($files, [".",".."]);
|
|
foreach($files as $file){
|
|
if (!strpos($file,".php")) continue;
|
|
require_once(dirname(__FILE__)."/hooks/autorequire-files/".$file);
|
|
}
|
|
}
|
|
|
|
if (file_exists(__DIR__.'/cms/lib/plugins/payments/autoload.php')) {
|
|
require_once __DIR__.'/cms/lib/plugins/payments/autoload.php';
|
|
}
|
|
if (file_exists(__DIR__.'/lib/IPNGenerica.php')) {
|
|
require_once __DIR__.'/lib/IPNGenerica.php';
|
|
}
|
|
|
|
if (!isset($_SESSION["user"])) {$_SESSION["user"]=null;}
|
|
|
|
if (isset($_GET["cerrarsesion"])){
|
|
unset($_SESSION["user"]);
|
|
session_destroy();
|
|
}
|
|
?>
|