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(); } // "
"; $tp->parseTemplate("{SETSTYLE=core-infopanel}"); // Personalized Panel // Rendering the saved configuration. $mainPanel = "
"; $mainPanel .= "
"; $count = 0; foreach ($this->iconlist as $key=>$val) { if(in_array($key, $user_pref['core-infopanel-mye107'])) { if($tmp = e107::getNav()->renderAdminButton($val['link'], $val['title'], $val['caption'], $val['perms'], $val['icon_32'], "div")) { $mainPanel .= $tmp; $count++; } } if($count == 20) { break; } } // $mainPanel .= "
 
"; $mainPanel .= "
"; // e107::getDebug()->log($this->iconlist); $caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME)); $text3 = $this->renderAddonDashboards(); $text = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107",true); // ------------------------------- e107 News -------------------------------- $newsTabs = array(); $newsTabs['coreFeed'] = array('caption'=>LAN_GENERAL,'text'=>"
"); $newsTabs['pluginFeed'] = array('caption'=>LAN_PLUGIN,'text'=>"
"); $newsTabs['themeFeed'] = array('caption'=>LAN_THEMES,'text'=>"
"); $text2 = $ns->tablerender(LAN_LATEST_e107_NEWS,e107::getForm()->tabs($newsTabs, array('active'=>'coreFeed')),"core-infopanel_news",true); // ---------------------Latest Stuff --------------------------- //require_once (e_CORE."shortcodes/batch/admin_shortcodes.php"); e107::getScBatch('admin'); // $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(LAN_STATUS,$tp->parseTemplate("{ADMIN_STATUS=norender}"),"core-infopanel_latest",true); /* $text .= "
  • ".$tp->parseTemplate("{ADMIN_LATEST=norender}"). $tp->parseTemplate("{ADMIN_STATUS=norender}")."
  • "; */ $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().'
    '.$text3.'
    '.$text.'
    '.$text2.'
    '; } 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 = '
    '.LAN_VIEW_ALL.'
    '; // $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 .= "
    ".ADLAN_170."".ADLAN_171."
    "; } else { $text .= "
    ".ADLAN_168."   ".ADLAN_169."
    "; } return $text; }*/ } ?>