ACC SHELL

Path : /srv/www/vhosts/profias/admin/
File Upload :
Current File : /srv/www/vhosts/profias/admin/modules.php

<?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.=' &ndash; ANO</span><a class="tree-admin-icon admin-icon-active" href="?uninstall='.$module->sysName.'" title="odinstalovat '.$module->name.'"></a>';
        }
        else
        {
          $content.=' &ndash; 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 &ndash; Moduly', $content, array('../inc/pages-tree.php'), $GLOBALS['on_load']);
  
?>

ACC SHELL 2018