get('core-update-status') !== true)
{
$coreUpdateCheck = "
$('#e-admin-core-update').html('');
$.get('".e_ADMIN."admin.php?mode=core&type=update', function( data ) {
var res = $.parseJSON(data);
if(res === true)
{
$('#e-admin-core-update').html('');
$('[data-toggle=\"popover\"]').popover('show');
$('.popover').on('click', function()
{
$('[data-toggle=\"popover\"]').popover('hide');
});
}
else
{
// Hide li element.
$('#e-admin-core-update').parent().hide();
}
});
";
}
if( e107::getSession()->get('addons-update-checked') !== true)
{
$addonUpdateCheck = "
$('#e-admin-addons-update').load('".e_ADMIN."admin.php?mode=addons&type=update');
";
}
$code = "
jQuery(function($){
$('#e-adminfeed').load('".e_ADMIN."admin.php?mode=core&type=feed');
$('#e-adminfeed-plugin').load('".e_ADMIN."admin.php?mode=addons&type=plugin');
$('#e-adminfeed-theme').load('".e_ADMIN."admin.php?mode=addons&type=theme');
".$coreUpdateCheck."
".$addonUpdateCheck."
});
";
e107::js('inline',$code,'jquery');
if (isset($_POST['submit-mye107']) || varset($_POST['submit-mymenus']))
{
$this->savePref('core-infopanel-mye107', $_POST['e-mye107']);
$this->savePref('core-infopanel-menus', $_POST['e-mymenus']);
}
$this->iconlist = e107::getNav()->adminLinks();
}
/**
* Save preferences.
*
* @param $key
* @param $value
*/
public function savePref($key, $value)
{
// Get "Apply dashboard preferences to all administrators" setting.
$adminPref = e107::getConfig()->get('adminpref', 0);
// If "Apply dashboard preferences to all administrators" is checked.
// Save as $pref.
if($adminPref == 1)
{
e107::getConfig()
->setPosted($key, $value)
->save();
}
// Save as $user_pref.
else
{
e107::getUser()
->getConfig()
->set($key, $value)
->save();
}
}
/**
* Get preferences.
*
* @return mixed
*/
public function getUserPref()
{
// Get "Apply dashboard preferences to all administrators" setting.
$adminPref = e107::getConfig()->get('adminpref', 0);
// If "Apply dashboard preferences to all administrators" is checked.
// Get $pref.
if($adminPref == 1)
{
$user_pref = e107::getPref();
}
// Get $user_pref.
else
{
$user_pref = e107::getUser()->getPref();
}
return $user_pref;
}
/**
* Allow to get Icon List.
*/
function getIconList()
{
return $this->iconlist;
}
function render()
{
$tp = e107::getParser();
$ns = e107::getRender();
$sql = e107::getDb();
$mes = e107::getMessage();
$pref = e107::getPref();
$frm = e107::getForm();
// XXX Check Bootstrap bug is fixed.
/*
echo '
';
*/
$user_pref = $this->getUserPref();
// ---------------------- Start Panel --------------------------------
// $text = "";
$myE107 = varset($user_pref['core-infopanel-mye107'], array());
if(empty($myE107)) // Set default icons.
{
$user_pref['core-infopanel-mye107'] = e107::getNav()->getDefaultAdminPanelArray();
}
// "
";
*/
$text .= $this->renderLatestComments();
// ---------------------- Who's Online ------------------------
// TODO Could use a new _menu item instead.
// $text2 .= $ns->tablerender('Visitors Online : '.vartrue($nOnline), $panelOnline,'core-infopanel_online',true);
// --------------------- User Selected Menus -------------------
if(varset($user_pref['core-infopanel-menus']))
{
foreach($user_pref['core-infopanel-menus'] as $val)
{
// Custom menu (core).
if(is_numeric($val))
{
$inc = e107::getMenu()->renderMenu($val, null, null, true);
}
// Plugin defined menu.
else
{
$inc = $tp->parseTemplate("{PLUGIN=$val|TRUE}");
}
$text .= $inc;
}
}
// $text .= "
";
$text .= $this->render_infopanel_options();
// $text .= "";
if(vartrue($_GET['mode']) != 'customize')
{
// $ns->tablerender(ADLAN_47." ".ADMINNAME, $emessage->render().$text);
echo $mes->render().'
';
}
else
{
echo $frm->open('infopanel','post', e_SELF);
echo $this->render_infopanel_options(true);
echo $frm->close();
}
}
/*
private function renderChart()
{
// REQUIRES Log Plugin to be installed.
if (e107::isInstalled('log'))
{
return $this->renderStats('log');
}
else
{
return $this->renderStats('demo');
}
}*/
function renderWebsiteStatus()
{
return;
/* $tp = e107::getParser();
$tab = array();
$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());
return e107::getForm()->tabs($tab);*/
}
function getAddonDashboards()
{
$arr = array();
if($plugs = e107::getAddonConfig('e_dashboard',null, 'chart'))
{
foreach($plugs as $plug => $val)
{
$adg = e107::getAddon($plug,'e_dashboard');
if(!empty($adg->chartCaption))
{
$cap = $adg->chartCaption;
}
else
{
$cap = defset('LAN_PLUGIN_'.strtoupper($plug).'_NAME', ucfirst($plug));
}
foreach($val as $k=>$item)
{
if(!empty($item))
{
// $var[] = $item;
$renderMode = 'plug-infopanel-'.$plug."-".intval($k);
if(!isset($item['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);
// $text .= $ns->tablerender($cap, $t, $renderMode, true);
$arr[] = array('caption'=>$cap, 'text'=>$t, 'mode'=>$renderMode);
}
else
{
// $text .= $ns->tablerender($item['caption'], $item['text'], $renderMode, true);
$arr[] = array('caption'=>$item['caption'], 'text'=>$item['text'], 'mode'=>$renderMode);
}
}
}
}
}
return $arr;
}
function renderAddonDashboards()
{
$ns = e107::getRender();
$arr = $this->getAddonDashboards();
$text = '';
foreach($arr as $val)
{
$text .= $ns->tablerender($val['caption'], $val['text'], $val['mode'], true);
}
return $text;
}
function renderLatestComments()
{
$sql = e107::getDb();
$tp = e107::getParser();
//if(!check_class('B')) // XXX problems?
// {
// return;
// }
if(!$rows = $sql->retrieve('comments','*','comment_blocked=2 ORDER BY comment_id DESC LIMIT 25',true) )
{
return null;
}
$sc = e107::getScBatch('comment');
$text = '
';
// $text .= "Note: Not fully functional at the moment.";
$ns = e107::getRender();
return $ns->tablerender(LAN_LATEST_COMMENTS,$text,'core-infopanel_online',true);
}
function render_info_panel($caption, $text)
{
return "".$caption."
".$text."
";
}
function render_infopanel_options($render = false)
{
$frm = e107::getForm();
$mes = e107::getMessage();
$ns = e107::getRender();
if($render == false){ return ""; }
$text2 = $ns->tablerender(LAN_PERSONALIZE_ICONS, $this->render_infopanel_icons(),'personalize',true);
$text2 .= "
";
$text2 .= $ns->tablerender(LAN_PERSONALIZE_MENUS, $this->render_infopanel_menu_options(),'personalize',true);
$text2 .= "
";
$text2 .= "";
$text2 .= $frm->admin_button('submit-mye107', LAN_SAVE, 'create');
$text2 .= "
";
return $mes->render().$text2;
}
function render_infopanel_icons()
{
$frm = e107::getForm();
$user_pref = $this->getUserPref();
$text = "";
$myE107 = varset($user_pref['core-infopanel-mye107'], array());
if(empty($myE107)) // Set default icons.
{
$defArray = array(
0 => 'e-administrator',
1 => 'e-cpage',
2 => 'e-frontpage',
3 => 'e-mailout',
4 => 'e-image',
5 => 'e-menus',
6 => 'e-meta',
7 => 'e-newspost',
8 => 'e-plugin',
9 => 'e-prefs',
10 => 'e-links',
11 => 'e-theme',
12 => 'e-userclass2',
13 => 'e-users',
14 => 'e-wmessage'
);
$user_pref['core-infopanel-mye107'] = $defArray;
}
foreach ($this->iconlist as $key=>$icon)
{
if (getperms($icon['perms']))
{
$checked = (varset($user_pref['core-infopanel-mye107']) && in_array($key, $user_pref['core-infopanel-mye107'])) ? true : false;
$text .= "
".$icon['icon'].' '.$frm->checkbox_label($icon['title'], 'e-mye107[]', $key, $checked)."
";
}
}
if (isset($pluglist) && is_array($pluglist))
{
foreach ($pluglist as $key=>$icon)
{
if (getperms($icon['perms']))
{
$checked = (in_array('p-'.$key, $user_pref['core-infopanel-mye107'])) ? true : false;
$text .= "
".$icon['icon'].$frm->checkbox_label($icon['title'], 'e-mye107[]', $key, $checked)."
";
}
}
}
$text .= "
";
return $text;
}
function render_infopanel_menu_options()
{
if(!getperms('0'))
{
return;
}
$frm = e107::getForm();
$user_pref = $this->getUserPref();
$text = "";
$menu_qry = 'SELECT * FROM #menus WHERE menu_id!= 0 GROUP BY menu_name ORDER BY menu_name';
$settings = varset($user_pref['core-infopanel-menus'],array());
if (e107::getDb()->gen($menu_qry))
{
while ($row = e107::getDb()->fetch())
{
// Custom menu (core).
if(is_numeric($row['menu_path']))
{
$path_to_menu = $row['menu_path'];
}
// Plugin defined menu.
else
{
$path_to_menu = $row['menu_path'].$row['menu_name'];
}
$label = str_replace("_menu","",$row['menu_name']);
$checked = ($settings && in_array($path_to_menu, $settings)) ? true : false;
$text .= "\n
";
$text .= $frm->checkbox_label($label, "e-mymenus[]",$path_to_menu, $checked);
$text .= "
";
}
}
$text .= "
";
return $text;
}
/* private function renderStats($type)
{
$data = $this->getStats($type);
$cht = e107::getChart();
$cht->setType('line');
$cht->setOptions(array(
'annotateDisplay' => true,
'annotateFontSize' => 8
));
$cht->setData($data,'canvas');
$text = $cht->render('canvas');
if($type == 'demo')
{
$text .= "";
}
else
{
$text .= "
♦".ADLAN_168."
♦".ADLAN_169."
";
}
return $text;
}*/
}
?>