ACC SHELL
<?php
include('../inc/template-admin.php');
require_once('../inc/module.php');
$tmp=$db->select('*', 'sys_modules');
$modules=array();
for ($i=0; $i<count($tmp); $i++)
{
$modules[$tmp[$i]['sys_name']]=$tmp[$i];
}
// instalace modulu
if (TRUE==$_GET['install'])
{
$class_name=ucfirst(strtolower($_GET['install']));
if (TRUE==@include_once('../modules/'.$_GET['install'].'/'.$_GET['install'].'.php'))
{
$module=new $class_name('../modules/');
}
if ( (FALSE==isset($modules[$module->sysName])) && (TRUE==$module->sysName) )
{
if (TRUE==$module->install())
{
$db->insert('sys_modules', array('name'=>$module->name, 'sys_name'=>$module->sysName, 'is_type'=>$module->is_type));
header('location: ?');
die();
}
else
{
$content.='<p class="red">Chyba při instalaci modulu.</p>';
}
}
}
if (TRUE==$_GET['uninstall'])
{
$class_name=ucfirst(strtolower($_GET['uninstall']));
if (TRUE==@include_once('../modules/'.$_GET['uninstall'].'/'.$_GET['uninstall'].'.php'))
{
$module=new $class_name('../modules/');
}
if ( (TRUE==isset($modules[$module->sysName])) && (TRUE==$module->sysName) )
{
if (TRUE==$module->uninstall())
{
$db->queryN('DELETE FROM sys_modules WHERE sys_name=\''.$module->sysName.'\'');
header('location: ?');
die();
}
else
{
$content.='<p class="red">Chyba při odinstalaci modulu.</p>';
}
}
}
// vypis modulu
$modules_dir=dir('../modules');
$content.='<ul id="modules" class="pages-tree">';
while ($dir=$modules_dir->read())
{
if ('.'!=$dir[0])
{
$class_name=ucfirst(strtolower($dir));
if (TRUE==@include_once('../modules/'.$dir.'/'.$dir.'.php'))
{
$module=new $class_name($modules_dir->path);
if (TRUE==isset($modules[$module->sysName]))
{
$content.='<li class="green">';
}
else
{
$content.='<li class="red">';
}
$content.= '
<span>'.$module->name;
if (TRUE==isset($modules[$module->sysName]))
{
$content.=' – ANO</span><a class="tree-admin-icon admin-icon-active" href="?uninstall='.$module->sysName.'" title="odinstalovat '.$module->name.'"></a>';
}
else
{
$content.=' – NE</span><a class="tree-admin-icon admin-icon-deactive" href="?install='.$module->sysName.'" title="nainstalovat '.$module->name.'"></a>';
}
}
$content.='
</li>
';
}
}
$content.='</ul>';
echo html('Administrace – Moduly', $content, array('../inc/pages-tree.php'), $GLOBALS['on_load']);
?>
ACC SHELL 2018