mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 03:40:37 +02:00
Improved infopanel dashboard integration with e_dashboard addon. Charts now supports additional types.
This commit is contained in:
@@ -140,18 +140,18 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
|
|
||||||
|
|
||||||
// "Help" box.
|
// "Help" box.
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$ns->setUniqueId('core-infopanel_help');
|
$ns->setUniqueId('core-infopanel_help');
|
||||||
$info = $this->getMenuPosition('core-infopanel_help');
|
$info = $this->getMenuPosition('core-infopanel_help');
|
||||||
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_HELP}', true, $admin_sc);
|
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_HELP}', true, $admin_sc);
|
||||||
|
|
||||||
// "Latest" box.
|
// "Latest" box.
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$info = $this->getMenuPosition('e-latest-list');
|
$info = $this->getMenuPosition('e-latest-list');
|
||||||
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_LATEST=infopanel}', true, $admin_sc);
|
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_LATEST=infopanel}', true, $admin_sc);
|
||||||
|
|
||||||
// "Status" box.
|
// "Status" box.
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$info = $this->getMenuPosition('e-status-list');
|
$info = $this->getMenuPosition('e-status-list');
|
||||||
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_STATUS=infopanel}', true, $admin_sc);
|
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_STATUS=infopanel}', true, $admin_sc);
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
);
|
);
|
||||||
$user_pref['core-infopanel-mye107'] = $defArray;
|
$user_pref['core-infopanel-mye107'] = $defArray;
|
||||||
}
|
}
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$mainPanel = "<div id='core-infopanel_mye107'>";
|
$mainPanel = "<div id='core-infopanel_mye107'>";
|
||||||
$mainPanel .= "<div class='left'>";
|
$mainPanel .= "<div class='left'>";
|
||||||
foreach($this->iconlist as $key => $val)
|
foreach($this->iconlist as $key => $val)
|
||||||
@@ -191,7 +191,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
}
|
}
|
||||||
$mainPanel .= "</div></div>";
|
$mainPanel .= "</div></div>";
|
||||||
// Rendering the saved configuration.
|
// Rendering the saved configuration.
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME));
|
$caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME));
|
||||||
$ns->setUniqueId('core-infopanel_mye107');
|
$ns->setUniqueId('core-infopanel_mye107');
|
||||||
$coreInfoPanelMyE107 = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107", true);
|
$coreInfoPanelMyE107 = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107", true);
|
||||||
@@ -204,7 +204,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
$newsTabs['coreFeed'] = array('caption' => LAN_GENERAL, 'text' => "<div id='e-adminfeed' style='min-height:300px'></div><div class='right'><a rel='external' href='" . ADMINFEEDMORE . "'>" . LAN_MORE . "</a></div>");
|
$newsTabs['coreFeed'] = array('caption' => LAN_GENERAL, 'text' => "<div id='e-adminfeed' style='min-height:300px'></div><div class='right'><a rel='external' href='" . ADMINFEEDMORE . "'>" . LAN_MORE . "</a></div>");
|
||||||
$newsTabs['pluginFeed'] = array('caption' => LAN_PLUGIN, 'text' => "<div id='e-adminfeed-plugin'></div>");
|
$newsTabs['pluginFeed'] = array('caption' => LAN_PLUGIN, 'text' => "<div id='e-adminfeed-plugin'></div>");
|
||||||
$newsTabs['themeFeed'] = array('caption' => LAN_THEMES, 'text' => "<div id='e-adminfeed-theme'></div>");
|
$newsTabs['themeFeed'] = array('caption' => LAN_THEMES, 'text' => "<div id='e-adminfeed-theme'></div>");
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$ns->setUniqueId('core-infopanel_news');
|
$ns->setUniqueId('core-infopanel_news');
|
||||||
$coreInfoPanelNews = $ns->tablerender(LAN_LATEST_e107_NEWS, e107::getForm()->tabs($newsTabs, array('active' => 'coreFeed')), "core-infopanel_news", true);
|
$coreInfoPanelNews = $ns->tablerender(LAN_LATEST_e107_NEWS, e107::getForm()->tabs($newsTabs, array('active' => 'coreFeed')), "core-infopanel_news", true);
|
||||||
$info = $this->getMenuPosition('core-infopanel_news');
|
$info = $this->getMenuPosition('core-infopanel_news');
|
||||||
@@ -212,7 +212,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
|
|
||||||
|
|
||||||
// --------------------- Website Status ---------------------------
|
// --------------------- Website Status ---------------------------
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$ns->setUniqueId('core-infopanel_website_status');
|
$ns->setUniqueId('core-infopanel_website_status');
|
||||||
$coreInfoPanelWebsiteStatus = $ns->tablerender(LAN_WEBSITE_STATUS, $this->renderWebsiteStatus(), "core-infopanel_website_status", true);
|
$coreInfoPanelWebsiteStatus = $ns->tablerender(LAN_WEBSITE_STATUS, $this->renderWebsiteStatus(), "core-infopanel_website_status", true);
|
||||||
$info = $this->getMenuPosition('core-infopanel_website_status');
|
$info = $this->getMenuPosition('core-infopanel_website_status');
|
||||||
@@ -224,7 +224,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
|
|
||||||
|
|
||||||
// --------------------- Add-on updates ---------------------------
|
// --------------------- Add-on updates ---------------------------
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
$ns->setUniqueId('e-addon-updates');
|
$ns->setUniqueId('e-addon-updates');
|
||||||
$addonUpdates = $tp->parseTemplate("{ADMIN_ADDON_UPDATES}", true, $admin_sc);
|
$addonUpdates = $tp->parseTemplate("{ADMIN_ADDON_UPDATES}", true, $admin_sc);
|
||||||
$info = $this->getMenuPosition('e-addon-updates');
|
$info = $this->getMenuPosition('e-addon-updates');
|
||||||
@@ -234,7 +234,7 @@ class adminstyle_flexpanel extends adminstyle_infopanel
|
|||||||
// --------------------- User Selected Menus ----------------------
|
// --------------------- User Selected Menus ----------------------
|
||||||
if(varset($user_pref['core-infopanel-menus']))
|
if(varset($user_pref['core-infopanel-menus']))
|
||||||
{
|
{
|
||||||
$tp->parseTemplate("{SETSTYLE=flexpanel}");
|
$ns->setStyle('flexpanel');
|
||||||
foreach($user_pref['core-infopanel-menus'] as $val)
|
foreach($user_pref['core-infopanel-menus'] as $val)
|
||||||
{
|
{
|
||||||
// Custom menu.
|
// Custom menu.
|
||||||
|
@@ -192,7 +192,7 @@ class adminstyle_infopanel
|
|||||||
// "<form method='post' action='".e_SELF."?".e_QUERY."'>";
|
// "<form method='post' action='".e_SELF."?".e_QUERY."'>";
|
||||||
|
|
||||||
$tp->parseTemplate("{SETSTYLE=core-infopanel}");
|
$tp->parseTemplate("{SETSTYLE=core-infopanel}");
|
||||||
|
|
||||||
// Personalized Panel
|
// Personalized Panel
|
||||||
// Rendering the saved configuration.
|
// Rendering the saved configuration.
|
||||||
|
|
||||||
@@ -238,6 +238,9 @@ class adminstyle_infopanel
|
|||||||
</div>";
|
</div>";
|
||||||
|
|
||||||
$caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME));
|
$caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME));
|
||||||
|
|
||||||
|
$text3 = $this->renderAddonDashboards();
|
||||||
|
|
||||||
$text = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107",true);
|
$text = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107",true);
|
||||||
|
|
||||||
|
|
||||||
@@ -261,7 +264,9 @@ class adminstyle_infopanel
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
$text2 .= $ns->tablerender(LAN_WEBSITE_STATUS, $this->renderWebsiteStatus(),"",true);
|
$text3 .= $ns->tablerender(LAN_WEBSITE_STATUS, $this->renderWebsiteStatus(),"",true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// $text .= $ns->tablerender(ADLAN_LAT_1,$tp->parseTemplate("{ADMIN_LATEST=norender}"),"core-infopanel_latest",true);
|
// $text .= $ns->tablerender(ADLAN_LAT_1,$tp->parseTemplate("{ADMIN_LATEST=norender}"),"core-infopanel_latest",true);
|
||||||
@@ -326,7 +331,17 @@ class adminstyle_infopanel
|
|||||||
// $ns->tablerender(ADLAN_47." ".ADMINNAME, $emessage->render().$text);
|
// $ns->tablerender(ADLAN_47." ".ADMINNAME, $emessage->render().$text);
|
||||||
echo $mes->render().'
|
echo $mes->render().'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- INFOPANEL -->
|
<!-- INFOPANEL -->
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="span6 col-md-12">
|
||||||
|
'.$text3.'
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span6 col-md-6">
|
<div class="span6 col-md-6">
|
||||||
'.$text.'
|
'.$text.'
|
||||||
@@ -359,10 +374,10 @@ class adminstyle_infopanel
|
|||||||
{
|
{
|
||||||
return $this->renderStats('log');
|
return $this->renderStats('log');
|
||||||
}
|
}
|
||||||
elseif(e107::isInstalled('awstats'))
|
/* elseif(e107::isInstalled('awstats'))
|
||||||
{
|
{
|
||||||
return $this->renderStats('awstats');
|
return $this->renderStats('awstats');
|
||||||
}
|
}*/
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return $this->renderStats('demo');
|
return $this->renderStats('demo');
|
||||||
@@ -374,53 +389,60 @@ class adminstyle_infopanel
|
|||||||
function renderWebsiteStatus()
|
function renderWebsiteStatus()
|
||||||
{
|
{
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
/*
|
|
||||||
// Settings button if needed.
|
|
||||||
<div class="tab-header">
|
|
||||||
<span class="pull-right">
|
|
||||||
<span class="options">
|
|
||||||
<div class="btn-group">
|
|
||||||
<a class="dropdown-toggle" data-toggle="dropdown"><i class="icon-cog"></i></a>
|
|
||||||
<ul class="dropdown-menu black-box-dropdown dropdown-left">
|
|
||||||
<li><a href="#">Action</a></li>
|
|
||||||
<li><a href="#">Another action</a></li>
|
|
||||||
<li><a href="#">Something else here</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="#">Separated link</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
*/
|
|
||||||
|
|
||||||
$tab = array();
|
$tab = array();
|
||||||
$tab['e-stats'] = array('caption'=>$tp->toGlyph('fa-signal').' '.LAN_STATS, 'text'=>$this->renderChart());
|
$tab['e-stats'] = array('caption'=>$tp->toGlyph('fa-signal').' '.LAN_STATS, 'text'=>$this->renderChart());
|
||||||
$tab['e-online'] = array('caption'=>$tp->toGlyph('fa-user').' '.LAN_ONLINE.' ('.$this->renderOnlineUsers('count').')', 'text'=>$this->renderOnlineUsers());
|
$tab['e-online'] = array('caption'=>$tp->toGlyph('fa-user').' '.LAN_ONLINE.' ('.$this->renderOnlineUsers('count').')', 'text'=>$this->renderOnlineUsers());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if($plugs = e107::getAddonConfig('e_dashboard',null, 'chart'))
|
|
||||||
{
|
|
||||||
foreach($plugs as $plug => $val)
|
|
||||||
{
|
|
||||||
foreach($val as $item)
|
|
||||||
{
|
|
||||||
if(!empty($item))
|
|
||||||
{
|
|
||||||
$tab[] = $item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return e107::getForm()->tabs($tab);
|
return e107::getForm()->tabs($tab);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function renderAddonDashboards()
|
||||||
|
{
|
||||||
|
$panel = array();
|
||||||
|
$ns = e107::getRender();
|
||||||
|
|
||||||
|
$text = '';
|
||||||
|
if($plugs = e107::getAddonConfig('e_dashboard',null, 'chart'))
|
||||||
|
{
|
||||||
|
foreach($plugs as $plug => $val)
|
||||||
|
{
|
||||||
|
foreach($val as $k=>$item)
|
||||||
|
{
|
||||||
|
if(!empty($item))
|
||||||
|
{
|
||||||
|
// $var[] = $item;
|
||||||
|
$renderMode = 'plug-infopanel-'.$plug;
|
||||||
|
|
||||||
|
|
||||||
|
if(isset($item[$k]['text']))
|
||||||
|
{
|
||||||
|
foreach ($item as $key => $v) // make sure the ids are unique.
|
||||||
|
{
|
||||||
|
$newkey = eHelper::dasherize($plug.'-'.$k.'-'.$key);
|
||||||
|
$item[$newkey] = $v;
|
||||||
|
unset($item[$key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$t = e107::getForm()->tabs($item);
|
||||||
|
$cap = defset('LAN_PLUGIN_'.strtoupper($plug).'_NAME', ucfirst($plug));
|
||||||
|
$text .= $ns->tablerender($cap, $t, $renderMode, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$text .= $ns->tablerender($item['caption'], $item['text'], $renderMode, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $text;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function renderOnlineUsers($data=false)
|
function renderOnlineUsers($data=false)
|
||||||
@@ -749,7 +771,7 @@ class adminstyle_infopanel
|
|||||||
|
|
||||||
private function getStats($type)
|
private function getStats($type)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
|
||||||
if(file_exists(e_PLUGIN."awstats/awstats.graph.php"))
|
if(file_exists(e_PLUGIN."awstats/awstats.graph.php"))
|
||||||
{
|
{
|
||||||
@@ -764,7 +786,7 @@ class adminstyle_infopanel
|
|||||||
// return;
|
// return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($type == 'demo')
|
*/ if($type == 'demo')
|
||||||
{
|
{
|
||||||
$data = array();
|
$data = array();
|
||||||
|
|
||||||
|
@@ -419,13 +419,17 @@ class e_chart
|
|||||||
{
|
{
|
||||||
|
|
||||||
case 'bar':
|
case 'bar':
|
||||||
//
|
$js .= "var chart = new google.visualization.BarChart(document.getElementById('".$id."')); ";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'column':
|
case 'column':
|
||||||
$js .= "var chart = new google.visualization.ColumnChart(document.getElementById('".$id."')); ";
|
$js .= "var chart = new google.visualization.ColumnChart(document.getElementById('".$id."')); ";
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'geo':
|
||||||
|
$js .= "var chart = new google.visualization.GeoChart(document.getElementById('".$id."')); ";
|
||||||
|
break;
|
||||||
|
|
||||||
case 'polar':
|
case 'polar':
|
||||||
//TODO
|
//TODO
|
||||||
|
@@ -1800,7 +1800,7 @@ class e107
|
|||||||
*/
|
*/
|
||||||
public static function getChart()
|
public static function getChart()
|
||||||
{
|
{
|
||||||
return self::getSingleton('e_chart', true);
|
return self::getObject('e_chart', null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user