You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.6 KiB
74 lines
2.6 KiB
<?php
|
|
if (file_exists(__DIR__."/../../pp-config.php")) {
|
|
if (file_exists(__DIR__.'/../../maintenance.lock')) {
|
|
if (file_exists(__DIR__.'/../../pp-include/pp-maintenance.php')) {
|
|
|
|
}else{
|
|
die('System is under maintenance. Please try again later.');
|
|
}
|
|
exit();
|
|
}else{
|
|
if (file_exists(__DIR__.'/../../pp-include/pp-controller.php')) {
|
|
if (file_exists(__DIR__.'/../../pp-include/pp-view.php')) {
|
|
|
|
}else{
|
|
echo 'System is under maintenance. Please try again later.';
|
|
exit();
|
|
}
|
|
}else{
|
|
echo 'System is under maintenance. Please try again later.';
|
|
exit();
|
|
}
|
|
|
|
if (file_exists(__DIR__.'/../../pp-include/pp-model.php')) {
|
|
include(__DIR__."/../../pp-include/pp-model.php");
|
|
}else{
|
|
echo 'System is under maintenance. Please try again later.';
|
|
exit();
|
|
}
|
|
}
|
|
}else{
|
|
echo 'System is under maintenance. Please try again later.';
|
|
exit();
|
|
}
|
|
|
|
if (!defined('pp_allowed_access')) {
|
|
die('Direct access not allowed');
|
|
}
|
|
|
|
if(isset($global_user_login) && $global_user_login == true){
|
|
$page = $_GET['page'] ?? '';
|
|
if (!$page) {
|
|
exit("Missing plugin page.");
|
|
}
|
|
|
|
list($mainFolder, $pluginFolder) = explode('--', $page);
|
|
if (!preg_match('/^[a-zA-Z0-9-_]+$/', $mainFolder) || !preg_match('/^[a-zA-Z0-9-_]+$/', $pluginFolder)) {
|
|
exit("Invalid plugin path.");
|
|
}
|
|
|
|
$response_plugin = json_decode(getData($db_prefix.'plugins', 'WHERE plugin_slug="'.$pluginFolder.'" AND status="active"'), true);
|
|
if($response_plugin['status'] == true){
|
|
|
|
}else{
|
|
exit("Invalid plugin path.");
|
|
}
|
|
|
|
$pluginPath = __DIR__ . "/../../pp-content/plugins/{$mainFolder}/{$pluginFolder}";
|
|
$classFile = "{$pluginPath}/{$pluginFolder}-class.php";
|
|
|
|
if (!file_exists($classFile)) {
|
|
exit("Plugin main file not found.");
|
|
}
|
|
|
|
require_once $classFile;
|
|
|
|
// Expected admin function: plugin-folder name + _admin_page
|
|
$function = str_replace('-', '_', $pluginFolder) . '_admin_page';
|
|
if (function_exists($function)) {
|
|
call_user_func($function);
|
|
} else {
|
|
echo "Admin page function not found in plugin.";
|
|
}
|
|
}
|
|
?>
|