Seditio Source code viewer
Root | Root
./Seditio-Developer/Seditio.178/system/core/admin/admin.tools.inc.php
<?PHP

/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
https://seditio.org
[BEGIN_SED]
File=admin.tools.inc.php
Version=179
Updated=2022-jul-15
Type=Core.admin
Author=Seditio Team
Description=Administration panel
[END_SED]
==================== */

if ( !defined('SED_CODE') || !defined('SED_ADMIN') ) { die('Wrong URL.'); }

list(
$usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('admin', 'a');
sed_block($usr['isadmin']);

// ---------- Breadcrumbs
$urlpaths = array();
$urlpaths[sed_url("admin", "m=tools")] =  $L['adm_manage'];

$admintitle = $L['adm_manage'];

$p = sed_import('p','G','ALP');

$t = new XTemplate(sed_skinfile('admin.tools', false, true));

if (!empty(
$p))
    {
   
$path_lang_def    = SED_ROOT . "/plugins/$p/lang/$p.en.lang.php";
   
$path_lang_alt    = SED_ROOT . "/plugins/$p/lang/$p.$lang.lang.php";

    if (@
file_exists($path_lang_alt))
        { require(
$path_lang_alt); }
    elseif (@
file_exists($path_lang_def))
        { require(
$path_lang_def); }

   
$extp = array();

    if (
is_array($sed_plugins))
        {
        foreach(
$sed_plugins['tools'] as $i => $k)
            {
            if (
$k['pl_code'] == $p)
                {
$extp[$i] = $k; }
            }
        }

    if (
count($extp) == 0)
        {
       
sed_redirect(sed_url("message", "msg=907", "", true));
        exit;
        }

   
$extplugin_info = SED_ROOT . "/plugins/".$p."/".$p.".setup.php";

    if (
file_exists($extplugin_info))
        {
       
$info = sed_infoget($extplugin_info, 'SED_EXTPLUGIN');
        }
    else
        {
       
sed_redirect(sed_url("message", "msg=907", "", true));
        exit;
        }
       
   
$adminhelp = $L['Description']." : ".$info['Description']."<br />".$L['Version']." : ".$info['Version']."<br />".$L['Date']." : ".$info['Date']."<br />".$L['Author']." : ".$info['Author']."<br />".$L['Copyright']." : ".$info['Copyright']."<br />".$L['Notes']." : ".$info['Notes'];

   
$urlpaths[sed_url("admin", "m=tools&p=".$p)] = $info['Name'];

   
$t-> assign(array(    
       
"TOOL_TITLE" => $info['Name'],
       
"TOOL_ICON" => sed_plugin_icon($p)
    ));    

    if (
is_array($extp))
        {
        foreach(
$extp as $k => $pl)
            {
            include(
SED_ROOT . '/plugins/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');

           
$t-> assign(array(    
               
"TOOL_BODY" => $plugin_body
           
));
                             
           
$t->parse("ADMIN_TOOL.TOOL_BODY_LIST");
            }
        }

   
$t->parse("ADMIN_TOOL");
   
$adminmain .= $t -> text("ADMIN_TOOL");

    }
else
    {

   
$sql = sed_sql_query("SELECT DISTINCT(config_cat), COUNT(*) FROM $db_config WHERE config_owner!='plug' GROUP BY config_cat");
    while (
$row = sed_sql_fetchassoc($sql))
        {
$cfgentries[$row['config_cat']] = $row['COUNT(*)']; }

   
$sql = sed_sql_query("SELECT DISTINCT(auth_code), COUNT(*) FROM $db_auth WHERE 1 GROUP BY auth_code");
    while (
$row = sed_sql_fetchassoc($sql))
        {
$authentries[$row['auth_code']] = $row['COUNT(*)']; }

   
$sql = sed_sql_query("SELECT * FROM $db_core WHERE ct_code NOT IN ('admin', 'message', 'index', 'forums', 'users', 'plug', 'page', 'trash') ORDER BY ct_title ASC");
   
$lines = array();

    while (
$row = sed_sql_fetchassoc($sql))
        {    
       
$row['ct_title_loc'] = (empty($L["core_".$row['ct_code']])) ? $row['ct_title'] : $L["core_".$row['ct_code']];
           
        if (
$authentries[$row['ct_code']] > 0)
            {
           
$t-> assign(array(    
               
"MODULES_LIST_RIGHTS_URL" => sed_url("admin", "m=rightsbyitem&ic=".$row['ct_code']."&io=a")
            ));
           
$t->parse("ADMIN_TOOLS.MODULES_LIST.MODULES_LIST_RIGHTS");        
            }
               
        if (isset(
$cfgentries[$row['ct_code']]) && $cfgentries[$row['ct_code']] > 0)
            {
           
$t-> assign(array(
               
"MODULES_LIST_CONFIG_URL" => sed_url("admin", "m=config&n=edit&o=core&p=".$row['ct_code'])
            ));                
           
$t->parse("ADMIN_TOOLS.MODULES_LIST.MODULES_LIST_CONFIG");
            }    
           
       
$t-> assign(array(    
           
"MODULES_LIST_URL" => sed_url("admin", "m=".$row['ct_code']),
           
"MODULES_LIST_CODE" => $row['ct_code'],
           
"MODULES_LIST_TITLE" => $row['ct_title_loc']
        ));    
               
       
$t->parse("ADMIN_TOOLS.MODULES_LIST");    
        }

   
$t->assign(array(    
       
"MODULES_LIST_BANLIST_URL" => sed_url("admin", "m=banlist")
    ));
   
   
$t->parse("ADMIN_TOOLS.MODULES_LIST_BANLIST");

   
$t->assign(array(    
       
"MODULES_LIST_CACHE_URL" => sed_url("admin", "m=cache")
    ));
   
   
$t->parse("ADMIN_TOOLS.MODULES_LIST_CACHE");

   
$t->assign(array(    
       
"MODULES_LIST_SMILIES_URL" => sed_url("admin", "m=smilies")
    ));
   
   
$t->parse("ADMIN_TOOLS.MODULES_LIST_SMILIES");

   
$t->assign(array(    
       
"MODULES_LIST_HITS_URL" => sed_url("admin", "m=hits")
    ));
   
   
$t->parse("ADMIN_TOOLS.MODULES_LIST_HITS");

   
$t->assign(array(    
       
"MODULES_LIST_REFERERS_URL" => sed_url("admin", "m=referers")
    ));
   
   
$t->parse("ADMIN_TOOLS.MODULES_LIST_REFERERS");

   
$plugins = array();

    function
cmp ($a, $b, $k = 1)
        {
        if (
$a[$k] == $b[$k]) return 0;
        return (
$a[$k] < $b[$k]) ? -1 : 1;
        }

   
/* === Hook === */
   
$extp = sed_getextplugins('tools');

    if (
is_array($extp))
        {
       
$sql = sed_sql_query("SELECT DISTINCT(config_cat), COUNT(*) FROM $db_config WHERE config_owner='plug' GROUP BY config_cat");
        while (
$row = sed_sql_fetchassoc($sql))
            {
$cfgentries[$row['config_cat']] = $row['COUNT(*)']; }
       
       
        foreach(
$extp as $k => $pl)
            {
$plugins[]= array ($pl['pl_code'], $pl['pl_title']); }

       
usort($plugins, "cmp");

        foreach (
$plugins as $i => $x)
            {
           
$extplugin_info = SED_ROOT . "/plugins/".$x[0]."/".$x[0].".setup.php";

            if (
file_exists($extplugin_info))
                {
               
$info = sed_infoget($extplugin_info, 'SED_EXTPLUGIN');
                }
            else
                {
                include (
SED_ROOT . "/system/lang/".$usr['lang']."/message.lang.php");
               
$info['Name'] = $x[0]." : ".$L['msg907_1'];
                }
           
            if (isset(
$cfgentries[$info['Code']]) && $cfgentries[$info['Code']] > 0)
                {
               
$t-> assign(array(    
                   
"TOOLS_LIST_CONFIG_URL" => sed_url("admin", "m=config&n=edit&o=plug&p=".$info['Code'])
                ));                
               
$t->parse("ADMIN_TOOLS.TOOLS_LIST.TOOLS_LIST_CONFIG");                        
                }
               
           
$t-> assign(array(                
               
"TOOLS_LIST_URL" => sed_url("admin", "m=tools&p=".$x[0]),
               
"TOOLS_LIST_TITLE" => $info['Name'],
               
"TOOLS_LIST_ICON" => sed_plugin_icon($x[0])
            ));

           
$t->parse("ADMIN_TOOLS.TOOLS_LIST");                        
            }
        }
    else
        {
       
$adminmain = $L['adm_listisempty'];
        }
       
   
$t->assign("ADMIN_TOOLS_TITLE", $admintitle);
   
   
$t->parse("ADMIN_TOOLS");
   
   
$adminmain .= $t -> text("ADMIN_TOOLS");        
    }
       
?>
Presented with Sourceer