From 2cb1563f63386b35a69e460051aa9b4a2851d104 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 30 May 2012 07:30:44 -0400 Subject: [PATCH] - Added (clickable) placeholders to client messaging function. - Added check so that the client password isn't inserted into the message (for security reasons). --- interface/web/dashboard/dashboard.php | 100 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 72 insertions(+), 28 deletions(-) diff --git a/interface/web/dashboard/dashboard.php b/interface/web/dashboard/dashboard.php index 53a745c..59a04f1 100644 --- a/interface/web/dashboard/dashboard.php +++ b/interface/web/dashboard/dashboard.php @@ -79,40 +79,84 @@ // //$app->tpl->setloop('warning', $warning); // -///* -// * If there is any information to display, do it... -//*/ -//$info = array(); -// -//$info[] = array('info_msg' => 'IClaus1'); -//$info[] = array('info_msg' => 'IClaus2'); -//$info[] = array('info_msg' => 'IClaus3'); -//$info[] = array('info_msg' => 'IClaus4'); -// -//$app->tpl->setloop('info', $info); + /* - * Show all modules, the user is allowed to use + * If there is any information to display, do it... */ -$modules = explode(',', $_SESSION['s']['user']['modules']); -$mod = array(); -if(is_array($modules)) { - foreach($modules as $mt) { - if(is_file('../' . $mt . '/lib/module.conf.php')) { - if(!preg_match("/^[a-z]{2,20}$/i", $mt)) die('module name contains unallowed chars.'); - include_once('../' . $mt.'/lib/module.conf.php'); - /* We don't want to show the dashboard */ - if ($mt != 'dashboard') { - $mod[] = array( 'modules_title' => $app->lng($module['title']), - 'modules_startpage' => $module['startpage'], - 'modules_name' => $module['name']); - } - } - } +$info = array(); - $app->tpl->setloop('modules', $mod); +/* + * Check the ISPConfig-Version (only for the admin) +*/ +if($_SESSION["s"]["user"]["typ"] == 'admin') { + if(!isset($_SESSION['s']['new_ispconfig_version'])) { + $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt'); + $_SESSION['s']['new_ispconfig_version'] = trim($new_version); + } + $v1 = ISPC_APP_VERSION; + $v2 = $_SESSION['s']['new_ispconfig_version']; + $this_version = explode(".",$v1); + $this_fullversion = (($this_version[0] < 10) ? '0'.$this_version[0] : $this_version[0]) . + ((isset($this_version[1]) && $this_version[1] < 10) ? '0'.$this_version[1] : $this_version[1]) . + ((isset($this_version[2]) && $this_version[2] < 10) ? '0'.$this_version[2] : $this_version[2]) . + ((isset($this_version[3]) && $this_version[3] < 10) ? (($this_version[3] < 1) ? '00' : '0'.$this_version[3]) : @$this_version[3]); + + + $new_version = explode(".",$v2); + $new_fullversion = (($new_version[0] < 10) ? '0'.$new_version[0] : $new_version[0]) . + ((isset($new_version[1]) && $new_version[1] < 10) ? '0'.$new_version[1] : $new_version[1]) . + ((isset($new_version[2]) && $new_version[2] < 10) ? '0'.$new_version[2] : $new_version[2]) . + ((isset($new_version[3]) && $new_version[3] < 10) ? (($new_version[3] < 1) ? '00' : '0'.$new_version[3]) : @$new_version[3]); + if($new_fullversion > $this_fullversion) { + $info[] = array('info_msg' => '<p>There is a new Version of ISPConfig 3 available!</p>' . + '<p>This Version: <b>' . $v1 . '</b></p>' . + '<p>New Version : <b>' . $v2 . '</b></p>' . + '<p><a href="http://www.ispconfig.org/ispconfig-3/download" target="ISPC">See more...</a></p>'); + } } +$app->tpl->setloop('info', $info); + +/* Load the dashlets*/ +$dashlet_list = array(); +$handle = @opendir(ISPC_WEB_PATH.'/dashboard/dashlets'); +while ($file = @readdir ($handle)) { + if ($file != '.' && $file != '..' && !is_dir($file)) { + $dashlet_name = substr($file,0,-4); + $dashlet_class = 'dashlet_'.$dashlet_name; + include_once(ISPC_WEB_PATH.'/dashboard/dashlets/'.$file); + $dashlet_list[$dashlet_name] = new $dashlet_class; + } +} + + +/* Which dashlets in which column */ +/******************************************************************************/ +$leftcol_dashlets = array('modules','invoices'); +$rightcol_dashlets = array('limits'); +/******************************************************************************/ + + +/* Fill the left column */ +$leftcol = array(); +foreach($leftcol_dashlets as $name) { + if(isset($dashlet_list[$name])) { + $leftcol[]['content'] = $dashlet_list[$name]->show(); + } +} +$app->tpl->setloop('leftcol', $leftcol); + +/* Fill the right columnn */ +$rightcol = array(); +foreach($rightcol_dashlets as $name) { + if(isset($dashlet_list[$name])) { + $rightcol[]['content'] = $dashlet_list[$name]->show(); + } +} +$app->tpl->setloop('rightcol', $rightcol); + + //* Do Output $app->tpl->pparse(); -- Gitblit v1.9.1