Marius Cramer
2015-08-06 37b29231e47a0c4458dc1c15d98588f16f07e1e2
interface/web/dashboard/dashboard.php
@@ -27,8 +27,8 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
require_once '../../lib/config.inc.php';
require_once '../../lib/app.inc.php';
//* Check permissions for module
$app->auth->check_module_permissions('dashboard');
@@ -39,7 +39,7 @@
//* load language file
$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'.lng';
include($lng_file);
include $lng_file;
$app->tpl->setVar($wb);
//* set Default - Values
@@ -51,11 +51,11 @@
if($_SESSION['s']['user']['typ'] == 'admin') {
   $name = $_SESSION['s']['user']['username'];
} else {
   $tmp = $app->db->queryOneRecord("SELECT contact_name FROM client WHERE username = '".$app->db->quote($_SESSION['s']['user']['username'])."'");
   $tmp = $app->db->queryOneRecord("SELECT contact_name FROM client WHERE username = ?", $_SESSION['s']['user']['username']);
   $name = $tmp['contact_name'];
}
$welcome = sprintf($wb['welcome_user_txt'], htmlentities($name));
$welcome = sprintf($wb['welcome_user_txt'], htmlentities($name, ENT_QUOTES, 'UTF-8'));
$app->tpl->setVar('welcome_user', $welcome);
@@ -93,6 +93,16 @@
*/
$info = array();
if(isset($_SESSION['show_info_msg'])) {
   $info[] = array('info_msg' => '<p>'.$_SESSION['show_info_msg'].'</p>');
   unset($_SESSION['show_info_msg']);
}
if(isset($_SESSION['show_error_msg'])) {
   $app->tpl->setloop('error', array(array('error_msg' => '<p>'.$_SESSION['show_error_msg'].'</p>')));
   unset($_SESSION['show_error_msg']);
}
/*
 * Check the ISPConfig-Version (only for the admin)
*/
@@ -103,21 +113,28 @@
   }
   $v1 = ISPC_APP_VERSION;
   $v2 = $_SESSION['s']['new_ispconfig_version'];
   $this_version = explode(".",$v1);
   $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_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]);
   */
   $this_fullversion = str_pad($this_version[0], 2, '0', STR_PAD_LEFT).str_pad($this_version[1], 2, '0', STR_PAD_LEFT).@str_pad($this_version[2], 2, '0', STR_PAD_LEFT).@str_pad($this_version[3], 2, '0', STR_PAD_LEFT);
   $new_fullversion = str_pad($new_version[0], 2, '0', STR_PAD_LEFT).str_pad($new_version[1], 2, '0', STR_PAD_LEFT).@str_pad($new_version[2], 2, '0', STR_PAD_LEFT).@str_pad($new_version[3], 2, '0', STR_PAD_LEFT);
   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>' .
      $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>');
   }
@@ -127,12 +144,12 @@
/* 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);
$handle = @opendir(ISPC_WEB_PATH.'/dashboard/dashlets');
while ($file = @readdir($handle)) {
   if ($file != '.' && $file != '..' && !is_dir(ISPC_WEB_PATH.'/dashboard/dashlets/'.$file)) {
      $dashlet_name = substr($file, 0, -4);
      $dashlet_class = 'dashlet_'.$dashlet_name;
      include_once(ISPC_WEB_PATH.'/dashboard/dashlets/'.$file);
      include_once ISPC_WEB_PATH.'/dashboard/dashlets/'.$file;
      $dashlet_list[$dashlet_name] = new $dashlet_class;
   }
}
@@ -140,8 +157,36 @@
/* Which dashlets in which column */
/******************************************************************************/
$leftcol_dashlets = array('modules','invoices');
$rightcol_dashlets = array('limits');
$default_leftcol_dashlets = array('modules', 'invoices', 'quota', 'mailquota', 'databasequota');
$default_rightcol_dashlets = array('customer', 'products', 'shop', 'limits');
$app->uses('getconf');
$dashlets_config = $app->getconf->get_global_config('misc');
//* Client: If the logged in user is not admin and has no sub clients (no reseller)
if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
   $role = 'client';
   //* Reseller: If the logged in user is not admin and has sub clients (is a reseller)
} elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
   $role = 'reseller';
   //* Admin: If the logged in user is admin
} else {
   $role = 'admin';
}
$dashlets_config[$role.'_dashlets_left'] = trim($dashlets_config[$role.'_dashlets_left']);
$dashlets_config[$role.'_dashlets_right'] = trim($dashlets_config[$role.'_dashlets_right']);
if($dashlets_config[$role.'_dashlets_left'] != ''){
   preg_match_all('@\[(.*?)\]@', $dashlets_config[$role.'_dashlets_left'], $matches);
   $leftcol_dashlets = $matches[1];
} else {
   $leftcol_dashlets = $default_leftcol_dashlets;
}
if($dashlets_config[$role.'_dashlets_right'] != ''){
   preg_match_all('@\[(.*?)\]@', $dashlets_config[$role.'_dashlets_right'], $matches);
   $rightcol_dashlets = $matches[1];
} else {
   $rightcol_dashlets = $default_rightcol_dashlets;
}
/******************************************************************************/
@@ -167,4 +212,4 @@
//* Do Output
$app->tpl->pparse();
?>
?>