1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 20:58:30 +01:00
php-e107/e107_admin/admin.php

310 lines
6.8 KiB
PHP
Raw Normal View History

2006-12-02 04:36:16 +00:00
<?php
/*
2009-11-17 10:35:34 +00:00
* e107 website system
*
2009-11-18 01:06:08 +00:00
* Copyright (C) 2008-2009 e107 Inc (e107.org)
2009-11-17 10:35:34 +00:00
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
*
*
* $Source: /cvs_backup/e107_0.8/e107_admin/admin.php,v $
2010-02-10 18:18:01 +00:00
* $Revision$
* $Date$
* $Author$
2009-11-17 10:35:34 +00:00
*/
2006-12-02 04:36:16 +00:00
require_once('../class2.php');
2013-03-20 23:50:30 -07:00
include_once(e107::coreTemplatePath('admin_icons')); // Needs to be loaded before infopanel AND in boot.php
2009-11-17 10:35:34 +00:00
2009-08-28 16:11:02 +00:00
2012-12-06 14:53:58 -08:00
if(vartrue($_GET['iframe']) == 1)
{
define('e_IFRAME', true);
}
2006-12-02 04:36:16 +00:00
$e_sub_cat = 'main';
if (varset($pref['adminstyle'])=='cascade' || varset($pref['adminstyle'])=='beginner') // Deprecated Admin-include.
{
$pref['adminstyle'] = 'infopanel';
}
2013-02-07 15:22:00 +02:00
if(strpos($pref['adminstyle'], 'infopanel') === 0)
{
require_once(e_ADMIN.'includes/'.$pref['adminstyle'].'.php');
2013-02-07 15:22:00 +02:00
$_class = 'adminstyle_'.$pref['adminstyle'];
if(class_exists($_class, false))
{
$adp = new $_class;
}
else $adp = new adminstyle_infopanel;
}
require_once(e_ADMIN.'boot.php');
require_once(e_ADMIN.'auth.php');
require_once(e_HANDLER.'upload_handler.php');
2013-02-25 14:25:00 +01:00
$mes = e107::getMessage();
if (!isset($pref['adminstyle'])) $pref['adminstyle'] = 'infopanel'; // Shouldn't be needed - but just in case
2006-12-02 04:36:16 +00:00
// --- check for htmlarea.
if (is_dir(e_ADMIN.'htmlarea') || is_dir(e_HANDLER.'htmlarea'))
{
/*$text = ADLAN_ERR_2."<br /><br />
2006-12-02 04:36:16 +00:00
<div style='text-align:center'>".$HANDLERS_DIRECTORY."htmlarea/<br />".$ADMIN_DIRECTORY."htmlarea/</div>";
$ns -> tablerender(ADLAN_ERR_1, $text);*/
2012-12-05 21:30:17 -08:00
2013-02-25 14:25:00 +01:00
$mes->addWarning($HANDLERS_DIRECTORY."htmlarea/<br />".$ADMIN_DIRECTORY."htmlarea/");
2006-12-02 04:36:16 +00:00
}
2013-04-22 03:29:10 -07:00
// ------------- Compatibility Check -----------------------------
$installedPlugs = e107::getPref('plug_installed');
$incompat = array(
'banhelper' => 1.7,
'slir_admin' => 1.0
);
$inCompatText = "";
$incompatFolders = array_keys($incompat);
foreach($incompat as $folder => $version)
{
if(vartrue($installedPlugs[$folder]) && $version == $installedPlugs[$folder])
{
$inCompatText .= "<li>".$folder." v".$installedPlugs[$folder]."</li>";
}
}
if($inCompatText)
{
$text = "<ul>".$inCompatText."</ul>";
$mes->addWarning("The following plugins are not compatible with this version of e107 and should be <a href='".e_ADMIN."plugin.php'>uninstalled</a>: ".$text);
}
/* Not used in 0.8
2006-12-02 04:36:16 +00:00
// check for old modules.
if(getperms('0') && isset($pref['modules']) && $pref['modules'] && $sql->db_Field("plugin",5) == "plugin_addons")
{
2006-12-02 04:36:16 +00:00
$mods=explode(",", $pref['modules']);
$thef = "e_module.php";
foreach ($mods as $mod)
{
if (is_readable(e_PLUGIN."{$mod}/module.php"))
{
$mod_found[] = e_PLUGIN."{$mod}/module.php";
}
}
if($mod_found)
{
$text = ADLAN_ERR_5." <b>".$thef."</b>:<br /><br /><ul>";
foreach($mod_found as $val){
$text .= "<li>".str_replace("../","",$val)."</li>\n";
}
$text .="</ul><br />
<form method='post' action='".e_ADMIN."db.php' id='upd'>
<a href='#' onclick=\"document.getElementById('upd').submit()\">".ADLAN_ERR_6."</a>
<input type='hidden' name='plugin_scan' value='1' />
</form>";
$ns -> tablerender(ADLAN_ERR_4,$text);
}
}
2008-10-11 11:55:18 +00:00
*/
2006-12-02 04:36:16 +00:00
// check for file-types;
$allowed_types = get_filetypes(); // Get allowed types according to filetypes.xml or filetypes.php
if (count($allowed_types) == 0)
{
$allowed_types = array('zip' => 1, 'gz' => 1, 'jpg' => 1, 'png' => 1, 'gif' => 1);
2013-02-25 14:25:00 +01:00
$mes->addInfo("Setting default filetypes: ".implode(', ',array_keys($allowed_types)));
2006-12-02 04:36:16 +00:00
}
//echo "Allowed filetypes = ".implode(', ',array_keys($allowed_types)).'<br />';
2006-12-02 04:36:16 +00:00
// avatar check.
2013-04-19 22:50:41 -07:00
$public = array(e_UPLOAD, e_AVATAR_UPLOAD);
2011-11-26 01:38:08 +00:00
$exceptions = array(".","..","/","CVS","avatars","Thumbs.db",".ftpquota",".htaccess","php.ini",".cvsignore",'e107.htaccess');
2009-09-10 21:08:39 +00:00
//TODO use $file-class to grab list and perform this check.
foreach ($public as $dir)
{
if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
2009-09-10 21:08:39 +00:00
if (is_dir($dir."/".$file) == FALSE && !in_array($file,$exceptions))
{
$fext = substr(strrchr($file, "."), 1);
if (!array_key_exists(strtolower($fext),$allowed_types) )
{
if ($file == 'index.html' || $file == "null.txt")
{
if (filesize($dir.'/'.$file))
{
2006-12-02 04:36:16 +00:00
$potential[] = str_replace('../', '', $dir).'/'.$file;
}
}
else
{
2006-12-02 04:36:16 +00:00
$potential[] = str_replace('../', '', $dir).'/'.$file;
}
}
}
}
closedir($dh);
2006-12-02 04:36:16 +00:00
}
}
}
if (isset($potential))
{
//$text = ADLAN_ERR_3."<br /><br />";
2013-02-25 14:25:00 +01:00
$mes->addWarning(ADLAN_ERR_3);
$text = '<ul>';
foreach ($potential as $p_file)
{
$text .= '<li>'.$p_file.'</li>';
2006-12-02 04:36:16 +00:00
}
2013-02-25 14:25:00 +01:00
$mes->addWarning($text);
//$ns -> tablerender(ADLAN_ERR_1, $text);
2006-12-02 04:36:16 +00:00
}
// ---------------------------------------------------------
// auto db update
if ('0' == ADMINPERMS)
{
2006-12-02 04:36:16 +00:00
require_once(e_ADMIN.'update_routines.php');
update_check();
}
// end auto db update
/*
if (e_QUERY == 'purge' && getperms('0'))
{
2006-12-02 04:36:16 +00:00
$admin_log->purge_log_events(false);
}
*/
2006-12-02 04:36:16 +00:00
$td = 1;
// DEPRECATED
function render_links($link, $title, $description, $perms, $icon = FALSE, $mode = FALSE)
{
return e107::getNav()->renderAdminButton($link, $title, $description, $perms, $icon, $mode);
2006-12-02 04:36:16 +00:00
}
2012-12-05 21:30:17 -08:00
function render_clean() // still used by classis, tabbed etc.
{
2006-12-02 04:36:16 +00:00
global $td;
2009-11-08 12:08:35 +00:00
$text = "";
while ($td <= ADLINK_COLS)
{
2006-12-02 04:36:16 +00:00
$text .= "<td class='td' style='width:20%;'></td>";
$td++;
}
$text .= "</tr>";
$td = 1;
return $text;
}
if(is_object($adp))
{
$adp->render();
}
else
{
require_once(e_ADMIN.'includes/'.$pref['adminstyle'].'.php');
}
2006-12-02 04:36:16 +00:00
function admin_info()
{
2006-12-02 04:36:16 +00:00
global $tp;
$width = (getperms('0')) ? "33%" : "50%";
$ADMIN_INFO_TEMPLATE = "
<div style='text-align:center'>
<table style='width: 100%; border-collapse:collapse; border-spacing:0px;'>
<tr>
<td style='width: ".$width."; vertical-align: top'>
{ADMIN_STATUS}
</td>
<td style='width:".$width."; vertical-align: top'>
{ADMIN_LATEST}
</td>";
if(getperms('0'))
{
$ADMIN_INFO_TEMPLATE .= "
<td style='width:".$width."; vertical-align: top'>{ADMIN_LOG}</td>";
}
$ADMIN_INFO_TEMPLATE .= "
</tr></table></div>";
return $tp->parseTemplate($ADMIN_INFO_TEMPLATE);
}
function status_request()
{
2006-12-02 04:36:16 +00:00
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade' || $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
2006-12-02 04:36:16 +00:00
return TRUE;
} else {
return FALSE;
}
}
function latest_request()
{
2006-12-02 04:36:16 +00:00
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade' || $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
2006-12-02 04:36:16 +00:00
return TRUE;
} else {
return FALSE;
}
}
function log_request()
{
2006-12-02 04:36:16 +00:00
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade'|| $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
2006-12-02 04:36:16 +00:00
return TRUE;
} else {
return FALSE;
}
}
// getPlugLinks() - moved to sitelinks_class.php : pluginLinks();
2006-12-02 04:36:16 +00:00
require_once("footer.php");
?>