exit = true;
}
}
}
/*
* // Moved to admin_shortcodes.php
private function checkPluginUpdate()
{
require_once(e_HANDLER.'e_marketplace.php');
$mp = new e_marketplace(); // autodetect the best method
$versions = $mp->getVersionList('plugin');
$plugins = e107::getPref('plug_installed');
if(empty($plugins))
{
return null;
}
$tp = e107::getParser();
foreach($plugins as $folder=>$version)
{
if(!empty($versions[$folder]['version']) && version_compare( $version, $versions[$folder]['version'], '<'))
{
$link = "".$versions[$folder]['name']."";
$dl = $mp->getDownloadModal('plugin', $versions[$folder]);
$caption = LAN_DOWNLOAD.": ".$versions[$folder]['name']." ".$versions[$folder]['version'];
$lans = array('x'=>$link, 'y'=>LAN_PLUGIN);
$message = $tp->lanVars(LAN_NEWER_VERSION_OF_X, $lans);
$message .= " ".$tp->toGlyph('fa-arrow-circle-o-down')."";
e107::getMessage()->addInfo($message);
}
}
}*/
/*
* Moved to admin_shortcodes.php
private function checkThemeUpdate()
{
require_once(e_HANDLER.'e_marketplace.php');
$mp = new e_marketplace(); // autodetect the best method
$versions = $mp->getVersionList('theme');
$themes = scandir(e_THEME);
if(empty($themes))
{
return null;
}
$tp = e107::getParser();
$list = e107::getTheme()->getThemeList();
foreach($list as $data)
{
$folder = $data['path'];
$version = $data['version'];
if(!empty($versions[$folder]['version']) && version_compare( $version, $versions[$folder]['version'], '<'))
{
$link = "".$versions[$folder]['name']."";
$lans = array('x'=>$link, 'y'=>LAN_THEME);
$dl = $mp->getDownloadModal('theme', $versions[$folder]);
$caption = LAN_DOWNLOAD.": ".$versions[$folder]['name']." ".$versions[$folder]['version'];
$message = $tp->lanVars(LAN_NEWER_VERSION_OF_X, $lans);
$message .= " ".$tp->toGlyph('fa-arrow-circle-o-down')."";
e107::getMessage()->addInfo($message);
e107::getMessage()->addDebug("Local version: ".$version." Remote version: ".$versions[$folder]['version']);
}
}
}*/
/**
*
*/
private function checkNewInstall()
{
$upgradeAlertFlag = e_CACHE.'dismiss.upgrade.alert.txt';
if(!empty($_GET['dismiss']) && $_GET['dismiss'] == 'upgrade')
{
file_put_contents($upgradeAlertFlag,'true');
}
$pref = e107::getPref('install_date');
$v2ReleaseDate = strtotime('August 27, 2015');
$numDays = (abs($pref - time())/60/60/24);
if($numDays < 3) // installed in the past 3 days.
{
echo e107::getMessage()->setTitle('Need Help?',E_MESSAGE_INFO)->addInfo("Connect with our community for free support with any e107 issues you may encounter.
")->render();
}
elseif($pref < $v2ReleaseDate && !file_exists($upgradeAlertFlag)) // installed prior to v2 release.
{
$message = "Connect with our community for free support with any upgrading issues you may encounter.";
$message .= ""; //todo do it with class=e-ajax and data-dismiss='alert'
echo e107::getMessage()->setTitle('Upgrading?',E_MESSAGE_INFO)->addInfo($message)->render();
}
e107::getMessage()->setTitle(null,E_MESSAGE_INFO);
}
private function checkWritable()
{
$mes = e107::getMessage();
if(deftrue('e_MEDIA') && is_dir(e_MEDIA) && !is_writable(e_MEDIA))
{
$mes->addWarning("The folder ".e_MEDIA." is not writable. Please correct before proceeding.");
}
if(deftrue('e_SYSTEM') && is_dir(e_SYSTEM) && !is_writable(e_SYSTEM))
{
$mes->addWarning("The folder ".e_SYSTEM." is not writable. Please correct before proceeding.");
}
$files = e107::getFile()->scandir(e_IMAGE."avatars",'jpg,gif,png,jpeg');
if(is_dir(e_IMAGE."avatars") && !is_writable(e_IMAGE."avatars") && !empty($files))
{
$mes->addWarning("Legacy avatars folder detected. Please make sure ".e_IMAGE."avatars/ is writable. Please correct before proceeding.");
}
}
private function checkHtmlarea()
{
$mes = e107::getMessage();
if (is_dir(e_ADMIN.'htmlarea') || is_dir(e_HANDLER.'htmlarea'))
{
$mes->addWarning(e_HANDLER_ABS."htmlarea/
".e_ADMIN_ABS."htmlarea/");
}
}
private function checkIncompatiblePlugins()
{
$mes = e107::getMessage();
$installedPlugs = e107::getPref('plug_installed');
$inCompatText = "";
$incompatFolders = array_keys($this->incompat);
foreach($this->incompat as $folder => $version)
{
if(vartrue($installedPlugs[$folder]) && $version == $installedPlugs[$folder])
{
$inCompatText .= "".$folder." v".$installedPlugs[$folder]."";
}
}
if($inCompatText)
{
$text = "";
$mes->addWarning("The following plugins are not compatible with this version of e107 and should be uninstalled: ".$text."uninstall");
}
}
private function checkPasswordEncryption()
{
$us = e107::getUserSession();
$mes = e107::getMessage();
if($us->passwordAPIExists() === true && $us->getDefaultHashType() !== PASSWORD_E107_PHP && e107::pref('core','password_CHAP')==0)
{
$message = LAN_PASSWORD_WARNING;
$srch = array('[',']');
$repl = array("","");
$mes->addWarning(str_replace($srch,$repl,$message));
}
}
private function checkDependencies()
{
}
private function checkDeprecated()
{
$found = array();
foreach($this->deprecated as $path)
{
if(file_exists($path))
{
$found[] = $path;
}
}
if(!empty($found))
{
$frm = e107::getForm();
$text = $frm->open('deprecatedFiles', 'post');
$text .= ADLAN_186;
$text .= "";
$text .= $frm->button('delete-deprecated',LAN_DELETE,'delete');
$text .= $frm->close();
e107::getMessage()->addWarning($text);
}
}
private function deleteDeprecated()
{
$mes = e107::getMessage();
foreach($this->deprecated as $file)
{
if(!file_exists($file))
{
continue;
}
if(@unlink($file))
{
$message = e107::getParser()->lanVars(LAN_UI_FILE_DELETED, array('x'=>$file));
$mes->addSuccess($message);
}
else
{
$message = e107::getParser()->lanVars(LAN_UI_FILE_DELETED_FAILED, array('x'=>$file));
$mes->addError($message);
}
}
}
private function checkHtaccess() // upgrade scenario
{
if(!file_exists(e_BASE.".htaccess") && file_exists(e_BASE."e107.htaccess"))
{
if(rename(e_BASE."e107.htaccess", e_BASE.".htaccess")===false)
{
e107::getMessage()->addWarning("Please rename your e107.htaccess file to .htaccess");
}
}
}
private function checkFileTypes()
{
$mes = e107::getMessage();
$this->allowed_types = get_filetypes(); // Get allowed types according to filetypes.xml or filetypes.php
if (count($this->allowed_types) == 0)
{
$this->allowed_types = array('zip' => 1, 'gz' => 1, 'jpg' => 1, 'png' => 1, 'gif' => 1, 'pdf'=>1);
$mes->addDebug("Setting default filetypes: ".implode(', ',array_keys($this->allowed_types)));
}
}
private function checkSuspiciousFiles()
{
$mes = e107::getMessage();
$public = array(e_UPLOAD, e_AVATAR_UPLOAD);
$tp = e107::getParser();
$exceptions = array(".","..","/","CVS","avatars","Thumbs.db",".ftpquota",".htaccess","php.ini",".cvsignore",'e107.htaccess');
//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)
{
if (is_dir($dir."/".$file) == FALSE && !in_array($file,$exceptions))
{
$fext = substr(strrchr($file, "."), 1);
if (!array_key_exists(strtolower($fext),$this->allowed_types) )
{
if ($file == 'index.html' || $file == "null.txt")
{
if (filesize($dir.'/'.$file))
{
$potential[] = str_replace('../', '', $dir).'/'.$file;
}
}
else
{
$potential[] = str_replace('../', '', $dir).'/'.$file;
}
}
}
}
closedir($dh);
}
}
}
if (isset($potential))
{
//$text = ADLAN_ERR_3."
";
$mes->addWarning($tp->toHtml(ADLAN_ERR_3, true));
$text = '';
foreach ($potential as $p_file)
{
$text .= '- '.$p_file.'
';
}
$mes->addWarning($text);
//$ns -> tablerender(ADLAN_ERR_1, $text);
}
}
}
// ---------------------------------------------------------
// end auto db update
/*
if (e_QUERY == 'purge' && getperms('0'))
{
$admin_log->purge_log_events(false);
}
*/
$td = 1;
// DEPRECATED
function render_links($link, $title, $description, $perms, $icon = FALSE, $mode = FALSE)
{
return e107::getNav()->renderAdminButton($link, $title, $description, $perms, $icon, $mode);
}
function render_clean() // still used by classis, tabbed etc.
{
global $td;
$text = "";
while ($td <= ADLINK_COLS)
{
$text .= " | ";
$td++;
}
$text .= "";
$td = 1;
return $text;
}
if(is_object($adp))
{
$adp->render();
}
else
{
require_once(e_ADMIN.'includes/'.$pref['adminstyle'].'.php');
}
function admin_info()
{
global $tp;
$width = (getperms('0')) ? "33%" : "50%";
$ADMIN_INFO_TEMPLATE = "
{ADMIN_STATUS}
|
{ADMIN_LATEST}
| ";
if(getperms('0'))
{
$ADMIN_INFO_TEMPLATE .= "
{ADMIN_LOG} | ";
}
$ADMIN_INFO_TEMPLATE .= "
";
return $tp->parseTemplate($ADMIN_INFO_TEMPLATE);
}
function status_request()
{
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade' || $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
return TRUE;
} else {
return FALSE;
}
}
function latest_request()
{
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade' || $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
return TRUE;
} else {
return FALSE;
}
}
function log_request()
{
global $pref;
if ($pref['adminstyle'] == 'classis' || $pref['adminstyle'] == 'cascade'|| $pref['adminstyle'] == 'beginner' || $pref['adminstyle'] == 'tabbed') {
return TRUE;
} else {
return FALSE;
}
}
// getPlugLinks() - moved to sitelinks_class.php : pluginLinks();
require_once("footer.php");
?>