<?PHP
/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
http://www.neocrome.net
http://www.seditio.org
[BEGIN_SED]
File=admin.tools.inc.php
Version=175
Updated=2012-dec-31
Type=Core.admin
Author=Neocrome
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']);
$adminpath[] = array (sed_url("admin", "m=tools"), $L['adm_manage']);
$adminhelp = $L['adm_help_tools'];
$p = sed_import('p','G','ALP');
if (!empty($p))
{
$path_lang_def = "plugins/$p/lang/$p.en.lang.php";
$path_lang_alt = "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 as $i => $k)
{
if ($k['pl_hook']=='tools' && $k['pl_code']==$p)
{ $extp[$i] = $k; }
}
}
if (count($extp)==0)
{
sed_redirect(sed_url("message", "msg=907", "", true));
exit;
}
$extplugin_info = "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;
}
$adminpath[] = array (sed_url("admin", "m=tools&p=".$p), $info['Name']);
$adminmain .= "<h2>".sed_plugin_icon($p)." ".$info['Name']."</h2>";
if (is_array($extp))
{
foreach($extp as $k => $pl)
{
include('plugins/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');
$adminmain .= $plugin_body;
}
}
$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'];
}
else
{
$adminmain .= "<table class=\"flat\">";
$adminmain .= "<tr><td style=\"width:50%; padding-right:4px;\">";
$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();
$adminmain .= "<table class=\"cells striped\">";
$adminmain .= "<tr>";
$adminmain .= "<td class=\"coltop\">".$L['Modules']."</td>";
$adminmain .= "<td class=\"coltop\" style=\"width:80px;\">".$L['Rights']."</td>";
$adminmain .= "<td class=\"coltop\" style=\"width:128px;\">".$L['Configuration']."</td>";
$adminmain .= "</tr>";
while ($row = sed_sql_fetchassoc($sql))
{
$adminmain .= "<tr>";
$adminmain .= "<td>";
$row['ct_title_loc'] = (empty($L["core_".$row['ct_code']])) ? $row['ct_title'] : $L["core_".$row['ct_code']];
$adminmain .= sed_linkif(sed_url("admin", "m=".$row['ct_code']), "<img src=\"system/img/admin/".$row['ct_code'].".png\" alt=\"\" /> ".$row['ct_title_loc'], sed_auth($row['ct_code'], 'a', 'A') && $row['ct_code']!='admin' && $row['ct_code']!='index' && $row['ct_code']!='message');
$adminmain .= "</td>";
$adminmain .= "<td style=\"text-align:center;\">";
$adminmain .= ($authentries[$row['ct_code']]>0) ? "<a href=\"".sed_url("admin", "m=rightsbyitem&ic=".$row['ct_code']."&io=a")."\"><img src=\"system/img/admin/rights2.png\" alt=\"\" /></a>" : ' ';
$adminmain .= "</td>";
$cfgcode = "disable_".$row['ct_code'];
$adminmain .= "<td style=\"text-align:center;\">";
$adminmain .= ($cfgentries[$row['ct_code']]>0) ? "<a href=\"".sed_url("admin", "m=config&n=edit&o=core&p=".$row['ct_code'])."\"><img src=\"system/img/admin/config.png\" alt=\"\" /></a>" : ' ';
$adminmain .= "</td></tr>";
}
$adminmain .= "<tr>";
$adminmain .= "<td colspan=\"3\">".sed_linkif(sed_url("admin", "m=banlist"), "<img src=\"system/img/admin/banlist.png\" alt=\"\" /> ".$L['Banlist'], sed_auth('users', 'a', 'A'))."</td>";
$adminmain .= "</tr>";
$adminmain .= "<tr>";
$adminmain .= "<td colspan=\"3\">".sed_linkif(sed_url("admin", "m=cache"), "<img src=\"system/img/admin/cache.png\" alt=\"\" /> ".$L['adm_internalcache'], sed_auth('admin', 'a', 'A'))."</td>";
$adminmain .= "</tr>";
$adminmain .= "<tr>";
$adminmain .= "<td colspan=\"3\">".sed_linkif(sed_url("admin", "m=smilies"), "<img src=\"system/img/admin/smilies.png\" alt=\"\" /> ".$L['Smilies'], sed_auth('admin', 'a', 'A'))."</td>";
$adminmain .= "</tr>";
$adminmain .= "<tr>";
$adminmain .= "<td colspan=\"3\"><a href=\"".sed_url("admin", "m=hits")."\"><img src=\"system/img/admin/statistics.png\" alt=\"\" /> ".$L['Hits']."</a></td>";
$adminmain .= "</tr>";
$adminmain .= "<tr>";
$adminmain .= "<td colspan=\"3\">".sed_linkif(sed_url("admin", "m=referers"), "<img src=\"system/img/admin/info.png\" alt=\"\" /> ".$L['Referers'], sed_auth('admin', 'a', 'A'))."</td>";
$adminmain .= "</tr>";
$adminmain .= "</table>";
$adminmain .= "</td><td style=\"width:50%; padding-left:4px;\">";
$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");
$adminmain .= "<table class=\"cells striped\">";
$adminmain .= "<tr><td style=\"text-align:center;\" class=\"coltop\">".$L['Tools']." (".$L['Plugins'].")</td>";
$adminmain .= "<td style=\"text-align:center;\" class=\"coltop\">".$L['Configuration']."</td></tr>";
while (list($i,$x) = each($plugins))
{
$extplugin_info = "plugins/".$x[0]."/".$x[0].".setup.php";
if (file_exists($extplugin_info))
{
$info = sed_infoget($extplugin_info, 'SED_EXTPLUGIN');
}
else
{
include ("system/lang/".$usr['lang']."/message.lang.php");
$info['Name'] = $x[0]." : ".$L['msg907_1'];
}
$plugin_icon = (empty($x[1])) ? 'plugins' : $x[1];
$adminmain .= "<tr><td><a href=\"".sed_url("admin", "m=tools&p=".$x[0])."\">";
$adminmain .= sed_plugin_icon($x[0])." ".$info['Name']."</a></td>";
$adminmain .= "<td style=\"width:96px; text-align:center;\">";
$adminmain .= ($cfgentries[$info['Code']]>0) ? "<a href=\"".sed_url("admin", "m=config&n=edit&o=plug&p=".$info['Code'])."\"><img src=\"system/img/admin/config.png\" alt=\"\" /></a>" : ' ';
$adminmain .= "</td></tr>";
}
$adminmain .= "</table>";
}
else
{
$adminmain = $L['adm_listisempty'];
}
$adminmain .= "</td></tr></table>";
}
?>