1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-04 21:57:51 +02:00

Merge pull request #24 from e107inc/master

.
This commit is contained in:
rica-carv
2016-11-16 17:42:30 +00:00
committed by GitHub
37 changed files with 1901 additions and 399 deletions

View File

@@ -15,6 +15,22 @@
*/ */
require_once('../class2.php'); require_once('../class2.php');
if(varset($_GET['mode']) == 'customize')
{
$adminPref = e107::getConfig()->get('adminpref', 0);
// If not Main Admin and "Apply dashboard preferences to all administrators"
// is checked in admin theme settings.
if(!getperms("1") && $adminPref == 1)
{
e107::redirect('admin');
exit;
}
}
include_once(e107::coreTemplatePath('admin_icons')); // Needs to be loaded before infopanel AND in boot.php include_once(e107::coreTemplatePath('admin_icons')); // Needs to be loaded before infopanel AND in boot.php
if(vartrue($_GET['iframe']) == 1) if(vartrue($_GET['iframe']) == 1)
@@ -31,15 +47,19 @@ if (varset($pref['adminstyle'])=='cascade' || varset($pref['adminstyle'])=='begi
$pref['adminstyle'] = 'infopanel'; $pref['adminstyle'] = 'infopanel';
} }
if(strpos($pref['adminstyle'], 'infopanel') === 0) if(in_array($pref['adminstyle'], array('infopanel', 'flexpanel')))
{ {
require_once(e_ADMIN.'includes/'.$pref['adminstyle'].'.php'); require_once(e_ADMIN . 'includes/' . $pref['adminstyle'] . '.php');
$_class = 'adminstyle_'.$pref['adminstyle'];
$_class = 'adminstyle_' . $pref['adminstyle'];
if(class_exists($_class, false)) if(class_exists($_class, false))
{ {
$adp = new $_class; $adp = new $_class;
} }
else $adp = new adminstyle_infopanel; else
{
$adp = new adminstyle_infopanel;
}
} }

View File

@@ -179,7 +179,7 @@ else // XHTML
* *
*/ */
echo "<meta name=\"viewport\" content=\"width=device-width; initial-scale=0.8; maximum-scale=1\" />\n"; // Works better for iOS but still has some issues. echo "<meta name=\"viewport\" content=\"width=device-width, initial-scale=0.8, maximum-scale=1\" />\n"; // Works better for iOS but still has some issues.
// echo (defined("VIEWPORT")) ? "<meta name=\"viewport\" content=\"".VIEWPORT."\" />\n" : ""; // echo (defined("VIEWPORT")) ? "<meta name=\"viewport\" content=\"".VIEWPORT."\" />\n" : "";
echo "<title>".(defined("e_PAGETITLE") ? e_PAGETITLE." - " : (defined("PAGE_NAME") ? PAGE_NAME." - " : "")).LAN_HEADER_04." :: ".SITENAME."</title>\n"; echo "<title>".(defined("e_PAGETITLE") ? e_PAGETITLE." - " : (defined("PAGE_NAME") ? PAGE_NAME." - " : "")).LAN_HEADER_04." :: ".SITENAME."</title>\n";

View File

@@ -0,0 +1,592 @@
<?php
/**
* @file
* Flexpanel dashboard style.
*/
if(!defined('e107_INIT'))
{
exit;
}
// Get "Apply dashboard preferences to all administrators" setting.
$adminPref = e107::getConfig()->get('adminpref', 0);
$flepanelEnabled = true;
// If not Main Admin and "Apply dashboard preferences to all administrators" is checked.
if(!getperms('1') && $adminPref == 1)
{
$flepanelEnabled = false;
}
define('FLEXPANEL_ENABLED', $flepanelEnabled);
// Save rearranged menus to user.
if(e_AJAX_REQUEST)
{
if(FLEXPANEL_ENABLED && varset($_POST['core-flexpanel-order'], false))
{
// If "Apply dashboard preferences to all administrators" is checked.
if($adminPref == 1)
{
e107::getConfig()
->setPosted('core-flexpanel-order', $_POST['core-flexpanel-order'])
->save();
}
else
{
e107::getUser()
->getConfig()
->set('core-flexpanel-order', $_POST['core-flexpanel-order'])
->save();
}
exit;
}
}
// Flexpanel uses infopanel's methods to avoid code duplication.
e107_require_once(e_ADMIN . 'includes/infopanel.php');
/**
* Class adminstyle_flexpanel.
*/
class adminstyle_flexpanel extends adminstyle_infopanel
{
private $iconlist = array();
/**
* Constructor.
*/
public function __construct()
{
parent::__construct();
$this->iconlist = $this->getIconList();
if(FLEXPANEL_ENABLED)
{
e107::css('inline', '.draggable-panels .panel-heading { cursor: move; }');
e107::js('core', 'core/admin.flexpanel.js', 'jquery', 4);
if(varset($_GET['mode']) == 'customize')
{
e107::css('inline', '.layout-container { display: table; margin-left: auto; margin-right: auto; }');
e107::css('inline', '.layout-container label.radio { float: left; padding: 0; width: 120px; margin: 7px; cursor: pointer; text-align: center; }');
e107::css('inline', '.layout-container label.radio img { margin-left: auto; margin-right: auto; display: block; }');
e107::css('inline', '.layout-container label.radio input { width: 100%; margin-left: auto; margin-right: auto; display: block; }');
e107::css('inline', '.layout-container label.radio p { width: 100%; text-align: center; display: block; margin: 20px 0 0 0; }');
}
// Save posted Layout type.
if(varset($_POST['e-flexpanel-layout']))
{
$user_pref = $this->getUserPref();
// If Layout has been changed, we clear previous arrangement in order to use defaults.
if($user_pref['core-flexpanel-layout'] != $_POST['e-flexpanel-layout'])
{
$this->savePref('core-flexpanel-order', array());
}
$this->savePref('core-flexpanel-layout', $_POST['e-flexpanel-layout']);
}
}
}
/**
* Render contents.
*/
public function render()
{
$admin_sc = e107::getScBatch('admin');
$tp = e107::getParser();
$ns = e107::getRender();
$mes = e107::getMessage();
$pref = e107::getPref();
$frm = e107::getForm();
$user_pref = $this->getUserPref();
if(varset($_GET['mode']) == 'customize')
{
echo $frm->open('infopanel', 'post', e_SELF);
echo $ns->tablerender(LAN_DASHBOARD_LAYOUT, $this->renderLayoutPicker(), 'personalize', true);
echo '<div class="clear">&nbsp;</div>';
echo $this->render_infopanel_options(true);
echo $frm->close();
return;
}
// Default menu areas.
$panels = array(
'menu-area-01' => array(), // Sidebar.
'menu-area-02' => array(),
'menu-area-03' => array(),
'menu-area-04' => array(),
'menu-area-05' => array(),
'menu-area-06' => array(),
'menu-area-07' => array(), // Content left.
'menu-area-08' => array(), // Content right.
'menu-area-09' => array(),
'menu-area-10' => array(),
'menu-area-11' => array(),
'menu-area-12' => array(),
'menu-area-13' => array(),
);
// "Help" box.
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$ns->setUniqueId('core-infopanel_help');
$info = $this->getMenuPosition('core-infopanel_help');
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_HELP}', true, $admin_sc);
// "Latest" box.
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$info = $this->getMenuPosition('e-latest-list');
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_LATEST=infopanel}', true, $admin_sc);
// "Status" box.
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$info = $this->getMenuPosition('e-status-list');
$panels[$info['area']][$info['weight']] .= $tp->parseTemplate('{ADMIN_STATUS=infopanel}', true, $admin_sc);
// --------------------- Personalized Panel -----------------------
if(empty(varset($user_pref['core-infopanel-mye107'], array()))) // 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;
}
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$mainPanel = "<div id='core-infopanel_mye107'>";
$mainPanel .= "<div class='left'>";
foreach($this->iconlist as $key => $val)
{
if(!vartrue($user_pref['core-infopanel-mye107']) || in_array($key, $user_pref['core-infopanel-mye107']))
{
$mainPanel .= e107::getNav()->renderAdminButton($val['link'], $val['title'], $val['caption'], $val['perms'], $val['icon_32'], "div");
}
}
$mainPanel .= "</div></div>";
// Rendering the saved configuration.
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$caption = $tp->lanVars(LAN_CONTROL_PANEL, ucwords(USERNAME));
$ns->setUniqueId('core-infopanel_mye107');
$coreInfoPanelMyE107 = $ns->tablerender($caption, $mainPanel, "core-infopanel_mye107", true);
$info = $this->getMenuPosition('core-infopanel_mye107');
$panels[$info['area']][$info['weight']] .= $coreInfoPanelMyE107;
// --------------------- e107 News --------------------------------
$newsTabs = array();
$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['themeFeed'] = array('caption' => LAN_THEMES, 'text' => "<div id='e-adminfeed-theme'></div>");
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$ns->setUniqueId('core-infopanel_news');
$coreInfoPanelNews = $ns->tablerender(LAN_LATEST_e107_NEWS, e107::getForm()->tabs($newsTabs, array('active' => 'coreFeed')), "core-infopanel_news", true);
$info = $this->getMenuPosition('core-infopanel_news');
$panels[$info['area']][$info['weight']] .= $coreInfoPanelNews;
// --------------------- Website Status ---------------------------
$tp->parseTemplate("{SETSTYLE=flexpanel}");
$ns->setUniqueId('core-infopanel_website_status');
$coreInfoPanelWebsiteStatus = $ns->tablerender(LAN_WEBSITE_STATUS, $this->renderWebsiteStatus(), "core-infopanel_website_status", true);
$info = $this->getMenuPosition('core-infopanel_website_status');
$panels[$info['area']][$info['weight']] .= $coreInfoPanelWebsiteStatus;
// --------------------- Latest Comments --------------------------
// $panels['Area01'] .= $this->renderLatestComments(); // TODO
// --------------------- User Selected Menus ----------------------
if(varset($user_pref['core-infopanel-menus']))
{
$tp->parseTemplate("{SETSTYLE=flexpanel}");
foreach($user_pref['core-infopanel-menus'] as $val)
{
// Custom menu.
if(is_numeric($val))
{
$menu = e107::getDb()->retrieve('page', 'menu_name', 'page_id = ' . (int) $val);
$id = 'cmenu-' . $menu;
$inc = e107::getMenu()->renderMenu($val, null, null, true);
}
else
{
$id = $frm->name2id($val);
$inc = $tp->parseTemplate("{PLUGIN=$val|TRUE}");
}
$info = $this->getMenuPosition($id);
$panels[$info['area']][$info['weight']] .= $inc;
}
}
// Sorting panels.
foreach($panels as $key => $value)
{
ksort($panels[$key]);
}
$layout = varset($user_pref['core-flexpanel-layout'], 'default');
$layout_file = e_ADMIN . 'includes/layouts/flexpanel_' . $layout . '.php';
if(is_readable($layout_file))
{
include_once($layout_file);
$template = varset($FLEXPANEL_LAYOUT);
$template = str_replace('{MESSAGES}', $mes->render(), $template);
foreach($panels as $key => $value)
{
$token = '{' . strtoupper(str_replace('-', '_', $key)) . '}';
$template = str_replace($token, implode("\n", $value), $template);
}
echo $template;
}
}
/**
* Get selected area and position for a menu item.
*
* @param $id
* Menu ID.
* @return array
* Contains menu area and weight.
*/
function getMenuPosition($id)
{
$user_pref = $this->getUserPref();
if(varset($user_pref['core-flexpanel-order'][$id]))
{
return $user_pref['core-flexpanel-order'][$id];
}
$default = array(
'area' => 'menu-area-01',
'weight' => 1000,
);
switch(varset($user_pref['core-flexpanel-layout'], 'default'))
{
case 'two_col_bricks':
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 0;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 1;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 2;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-02';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 1;
}
break;
case 'two_col_stacked':
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 1;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 0;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-05';
$default['weight'] = 0;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-02';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-12';
$default['weight'] = 1;
}
break;
case 'three_col_bricks':
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-02';
$default['weight'] = 0;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 0;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 0;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-09';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-13';
$default['weight'] = 0;
}
break;
case 'three_col_stacked':
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 0;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 0;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-05';
$default['weight'] = 0;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-02';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-12';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-13';
$default['weight'] = 0;
}
break;
case 'one_col':
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 0;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-02';
$default['weight'] = 0;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-03';
$default['weight'] = 0;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-04';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-05';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-06';
$default['weight'] = 0;
}
break;
case 'wider_sidebar':
case 'default':
default:
if($id == 'core-infopanel_help')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 0;
}
if($id == 'e-latest-list')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 1;
}
if($id == 'e-status-list')
{
$default['area'] = 'menu-area-01';
$default['weight'] = 2;
}
if($id == 'core-infopanel_mye107')
{
$default['area'] = 'menu-area-07';
$default['weight'] = 0;
}
if($id == 'core-infopanel_news')
{
$default['area'] = 'menu-area-08';
$default['weight'] = 0;
}
if($id == 'core-infopanel_website_status')
{
$default['area'] = 'menu-area-08';
$default['weight'] = 1;
}
break;
}
return $default;
}
/**
* Render layout-picker widget.
*
* @return string
*/
function renderLayoutPicker()
{
$tp = e107::getParser();
$fr = e107::getForm();
$fl = e107::getFile();
$user_pref = $this->getUserPref();
$default = varset($user_pref['core-flexpanel-layout'], 'default');
$html = '<div class="layout-container">';
$layouts = array(
'default',
'wider_sidebar',
'two_col_bricks',
'two_col_stacked',
'three_col_bricks',
'three_col_stacked',
'one_col',
);
$files = $fl->get_files(e_ADMIN . 'includes/layouts/', "flexpanel_(.*).php", "standard", 1);
foreach($files as $num => $val)
{
$filename = basename($val['fname']);
$layout = str_replace('flexpanel_', '', $filename);
$layout = str_replace('.php', '', $layout);
if(!in_array($layout, $layouts))
{
$layouts[] = $layout;
}
}
foreach($layouts as $layout)
{
$html .= '<label class="radio">';
$html .= $tp->toImage('{e_ADMIN}includes/layouts/flexpanel_' . $layout . '.png', array(
'legacy' => '{e_ADMIN}includes/layouts/',
'w' => 75,
));
$checked = ($default == $layout);
$html .= $fr->radio('e-flexpanel-layout', $layout, $checked);
$name = str_replace('_', ' ', $layout);
$html .= '<p>' . ucwords($name) . '</p>';
$html .= '</label>';
}
$html .= '<div class="clear"></div>';
$html .= '</div>';
return $html;
}
}

View File

@@ -31,45 +31,86 @@ class adminstyle_infopanel
function __construct() function __construct()
{ {
// e107::js('core','zrssfeed/jquery.zrssfeed.min.js'); // http://www.zazar.net/developers/jquery/zrssfeed/
$code = " $code = "
jQuery(function($){ jQuery(function($){
$('#e-adminfeed').load('".e_ADMIN."admin.php?mode=core&type=feed'); $('#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-plugin').load('".e_ADMIN."admin.php?mode=addons&type=plugin');
$('#e-adminfeed-theme').load('".e_ADMIN."admin.php?mode=addons&type=theme'); $('#e-adminfeed-theme').load('".e_ADMIN."admin.php?mode=addons&type=theme');
}); });
"; ";
global $user_pref; // quick fix.
$pref = e107::getPref();
e107::js('inline',$code,'jquery'); e107::js('inline',$code,'jquery');
if (isset($_POST['submit-mye107']) || varset($_POST['submit-mymenus'])) if (isset($_POST['submit-mye107']) || varset($_POST['submit-mymenus']))
{ {
$this->savePref('core-infopanel-mye107', $_POST['e-mye107']);
$user_pref['core-infopanel-mye107'] = $_POST['e-mye107']; $this->savePref('core-infopanel-menus', $_POST['e-mymenus']);
$user_pref['core-infopanel-menus'] = $_POST['e-mymenus'];
save_prefs('user');
} }
// $array_functions_assoc = e107::getNav()->adminLinks('assoc');
// $this->iconlist = array_merge($array_functions_assoc, e107::getNav()->pluginLinks(E_16_PLUGMANAGER, "array"));
$this->iconlist = e107::getNav()->adminLinks(); $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() function render()
{ {
@@ -121,32 +162,31 @@ class adminstyle_infopanel
*/ */
//TODO LANs throughout. //TODO LANs throughout.
global $style, $user_pref; $user_pref = $this->getUserPref();
// ---------------------- Start Panel -------------------------------- // ---------------------- Start Panel --------------------------------
// $text = "<div >"; // $text = "<div >";
if (getperms('0') && !vartrue($user_pref['core-infopanel-mye107'])) // Set default icons. if(empty(varset($user_pref['core-infopanel-mye107'], array()))) // Set default icons.
{ {
$defArray = array ( $defArray = array(
0 => 'e-administrator', 0 => 'e-administrator',
1 => 'e-cpage', 1 => 'e-cpage',
2 => 'e-frontpage', 2 => 'e-frontpage',
3 => 'e-mailout', 3 => 'e-mailout',
4 => 'e-image', 4 => 'e-image',
5 => 'e-menus', 5 => 'e-menus',
6 => 'e-meta', 6 => 'e-meta',
7 => 'e-newspost', 7 => 'e-newspost',
8 => 'e-plugin', 8 => 'e-plugin',
9 => 'e-prefs', 9 => 'e-prefs',
10 => 'e-links', 10 => 'e-links',
11 => 'e-theme', 11 => 'e-theme',
12 => 'e-userclass2', 12 => 'e-userclass2',
13 => 'e-users', 13 => 'e-users',
14 => 'e-wmessage' 14 => 'e-wmessage'
); );
$user_pref['core-infopanel-mye107'] = vartrue($pref['core-infopanel-default'],$defArray); $user_pref['core-infopanel-mye107'] = $defArray;
} }
@@ -305,7 +345,7 @@ class adminstyle_infopanel
} }
else else
{ {
echo $frm->open('infopanel','post',e_SELF); echo $frm->open('infopanel','post', e_SELF);
echo $this->render_infopanel_options(true); echo $this->render_infopanel_options(true);
echo $frm->close(); echo $frm->close();
} }
@@ -585,36 +625,19 @@ class adminstyle_infopanel
function render_infopanel_options($render = false) //TODO LAN function render_infopanel_options($render = false) //TODO LAN
{ {
// $frm = e107::getSingleton('e_form');
$frm = e107::getForm(); $frm = e107::getForm();
$mes = e107::getMessage(); $mes = e107::getMessage();
$ns = e107::getRender(); $ns = e107::getRender();
$start = "<div>
To customize this page, please <a title = 'Customize Admin' href='".e_SELF."?mode=customize&amp;iframe=1' class='e-modal-iframe'>click here</a>.
</div>
";
if($render == false){ return ""; } if($render == false){ return ""; }
$text2 = "<div id='customize_icons' class='forumheader3' style='border:0px;margin:0px'> $text2 = $ns->tablerender(LAN_PERSONALIZE_ICONS, $this->render_infopanel_icons(),'personalize',true);
<form method='post' id='e-modal-form' action='".e_SELF."'>";
$text2 .= $ns->tablerender(LAN_PERSONALIZE_ICONS, $this->render_infopanel_icons(),'personalize',true);
$text2 .= "<div class='clear'>&nbsp;</div>"; $text2 .= "<div class='clear'>&nbsp;</div>";
$text2 .= $ns->tablerender(LAN_PERSONALIZE_MENUS, $this->render_infopanel_menu_options(),'personalize',true); $text2 .= $ns->tablerender(LAN_PERSONALIZE_MENUS, $this->render_infopanel_menu_options(),'personalize',true);
// $text2 .= render_infopanel_icons();
//$text2 .= "<div class='clear'>&nbsp;</div>";
// $text2 .= "<h3>Menus</h3>";
// $text2 .= render_infopanel_menu_options();
$text2 .= "<div class='clear'>&nbsp;</div>"; $text2 .= "<div class='clear'>&nbsp;</div>";
$text2 .= "<div id='button' class='buttons-bar center'>"; $text2 .= "<div id='button' class='buttons-bar center'>";
$text2 .= $frm->admin_button('submit-mye107', LAN_SAVE, 'create'); $text2 .= $frm->admin_button('submit-mye107', LAN_SAVE, 'create');
$text2 .= "</div></form>"; $text2 .= "</div>";
// $text2 .= "</div>";
// $end = "</div>";
return $mes->render().$text2; return $mes->render().$text2;
} }
@@ -624,11 +647,32 @@ class adminstyle_infopanel
{ {
$frm = e107::getForm(); $frm = e107::getForm();
global $user_pref; $user_pref = $this->getUserPref();
$text = "<div style='padding-left:20px'>"; $text = "<div style='padding-left:20px'>";
if(empty(varset($user_pref['core-infopanel-mye107'], array()))) // 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) foreach ($this->iconlist as $key=>$icon)
@@ -642,7 +686,7 @@ class adminstyle_infopanel
} }
} }
if (is_array($pluglist)) if (isset($pluglist) && is_array($pluglist))
{ {
foreach ($pluglist as $key=>$icon) foreach ($pluglist as $key=>$icon)
{ {
@@ -669,7 +713,7 @@ class adminstyle_infopanel
} }
$frm = e107::getForm(); $frm = e107::getForm();
global $user_pref; $user_pref = $this->getUserPref();
$text = "<div style='padding-left:20px'>"; $text = "<div style='padding-left:20px'>";

View File

@@ -0,0 +1,115 @@
<?php
/**
* @file
* Default layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-3 col-lg-2 admin-left-panel">
<div class="draggable-panels" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
<div class="col-md-9 col-lg-10 admin-right-panel">
<div class="sidebar-toggle">
<a href="#" title="Toggle Sidebar" data-toggle-sidebar="true">&nbsp;</a>
</div>
<div>
<div class="row">
<div class="col-sm-12">
{MESSAGES}
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-12">
{MENU_AREA_12}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,112 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-12">
{MENU_AREA_12}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,100 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-12">
{MENU_AREA_12}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,90 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-01">
{MENU_AREA_01}
</div>
<div class="draggable-panels bg-blue" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels bg-blue" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-12">
{MENU_AREA_12}
</div>
<div class="draggable-panels bg-blue" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,104 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-12">
{MENU_AREA_12}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,97 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-12">
<div class="draggable-panels bg-blue" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels bg-blue" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels bg-blue" id="menu-area-12">
{MENU_AREA_12}
</div>
<div class="draggable-panels bg-blue" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,115 @@
<?php
/**
* @file
* Layout for "flexpanel" admin dashboard style.
*/
$FLEXPANEL_LAYOUT = '
<div class="row">
<div class="col-md-3 col-lg-3 admin-left-panel">
<div class="draggable-panels" id="menu-area-01">
{MENU_AREA_01}
</div>
</div>
<div class="col-md-9 col-lg-9 admin-right-panel">
<div class="sidebar-toggle">
<a href="#" title="Toggle Sidebar" data-toggle-sidebar="true">&nbsp;</a>
</div>
<div>
<div class="row">
<div class="col-sm-12">
{MESSAGES}
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-02">
{MENU_AREA_02}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-03">
{MENU_AREA_03}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-04">
{MENU_AREA_04}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-05">
{MENU_AREA_05}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-06">
{MENU_AREA_06}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="draggable-panels" id="menu-area-07">
{MENU_AREA_07}
</div>
</div>
<div class="col-sm-6">
<div class="draggable-panels" id="menu-area-08">
{MENU_AREA_08}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-09">
{MENU_AREA_09}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-10">
{MENU_AREA_10}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-11">
{MENU_AREA_11}
</div>
</div>
<div class="col-sm-4">
<div class="draggable-panels" id="menu-area-12">
{MENU_AREA_12}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="draggable-panels" id="menu-area-13">
{MENU_AREA_13}
</div>
</div>
</div>
</div>
</div>
</div>
';

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -23,7 +23,7 @@ class bb_img extends e_bb_base
if(vartrue($parms['class'])) $safe['class'] = eHelper::secureClassAttr($parms['class']); if(vartrue($parms['class'])) $safe['class'] = eHelper::secureClassAttr($parms['class']);
if(vartrue($parms['id'])) $safe['id'] = eHelper::secureIdAttr($parms['id']); if(vartrue($parms['id'])) $safe['id'] = eHelper::secureIdAttr($parms['id']);
if(vartrue($parms['style'])) $safe['style'] = eHelper::secureStyleAttr($parms['style']); if(vartrue($parms['style'])) $safe['style'] = eHelper::secureStyleAttr($parms['style']);
if(vartrue($parms['alt'])) $safe['alt'] = e107::getParser()->filter($parms['style'],'str'); if(vartrue($parms['alt'])) $safe['alt'] = e107::getParser()->filter($parms['alt'],'str');
if($safe) if($safe)
{ {

View File

@@ -405,18 +405,17 @@ class admin_shortcodes
if(isset($params['nomenu'])) { return $select; } if(isset($params['nomenu'])) { return $select; }
if($select) { $text .= "<div class='center'>{$select}</div>"; } if($select) { $text .= "<div class='center'>{$select}</div>"; }
return $ns->tablerender(UTHEME_MENU_L2, $text, '', true); return $ns->tablerender(UTHEME_MENU_L2, $text, 'core-menu-lang', true);
} }
function sc_admin_latest($parm) function sc_admin_latest($parm)
{ {
if($parm == 'infopanel' && e_PAGE != 'admin.php') if(($parm == 'infopanel' || $parm == 'flexpanel') && e_PAGE != 'admin.php')
{ {
return; return;
} }
if (ADMIN) { if (ADMIN) {
if (!function_exists('admin_latest')) //XXX Is this still necessary? if (!function_exists('admin_latest')) //XXX Is this still necessary?
{ {
@@ -509,7 +508,6 @@ class admin_shortcodes
// $text .= "</div>"; // $text .= "</div>";
$ns->setUniqueId('e-latest-list'); $ns->setUniqueId('e-latest-list');
return ($parm != 'norender') ? $ns -> tablerender(ADLAN_LAT_1, $text, '', TRUE) : $text; return ($parm != 'norender') ? $ns -> tablerender(ADLAN_LAT_1, $text, '', TRUE) : $text;
} }
} }
@@ -1096,7 +1094,7 @@ class admin_shortcodes
function sc_admin_status($parm) function sc_admin_status($parm)
{ {
if($parm == 'infopanel' && e_PAGE != 'admin.php') if(($parm == 'infopanel' || $parm == 'flexpanel') && e_PAGE != 'admin.php')
{ {
return; return;
} }
@@ -1683,14 +1681,20 @@ Inverse 10 <span class="badge badge-inverse">10</span>
$tmp[1]['image_large_src'] = ''; $tmp[1]['image_large_src'] = '';
$tmp[2]['text'] = LAN_PERSONALIZE; // If not Main Admin and "Apply dashboard preferences to all administrators"
$tmp[2]['description'] = "Customize administration panels"; // is checked in admin theme settings.
$tmp[2]['link'] = e_ADMIN.'admin.php?mode=customize'; $adminPref = e107::getConfig()->get('adminpref', 0);
$tmp[2]['image'] = "<i class='S16 e-admins-16'></i>"; //E_16_ADMIN; // "<img src='".E_16_NAV_ADMIN."' alt='".ADLAN_151."' class='icon S16' />"; if(getperms("1") || $adminPref == 0)
$tmp[2]['image_large'] = ''; {
$tmp[2]['image_src'] = ''; $tmp[2]['text'] = LAN_PERSONALIZE;
$tmp[2]['image_large_src'] = ''; $tmp[2]['description'] = "Customize administration panels";
// $tmp[2]['perm'] = ''; $tmp[2]['link'] = e_ADMIN . 'admin.php?mode=customize';
$tmp[2]['image'] = "<i class='S16 e-admins-16'></i>"; //E_16_ADMIN; // "<img src='".E_16_NAV_ADMIN."' alt='".ADLAN_151."' class='icon S16' />";
$tmp[2]['image_large'] = '';
$tmp[2]['image_src'] = '';
$tmp[2]['image_large_src'] = '';
// $tmp[2]['perm'] = '';
}
$tmp[3]['text'] = LAN_LOGOUT; $tmp[3]['text'] = LAN_LOGOUT;

View File

@@ -6079,7 +6079,7 @@ class e_admin_form_ui extends e_form
".$this->text('searchquery', $current_query[0], 50, $input_options)." ".$this->text('searchquery', $current_query[0], 50, $input_options)."
<i class='fa fa-search searchquery form-control-feedback form-control-feedback-left'></i> <i class='fa fa-search searchquery form-control-feedback form-control-feedback-left'></i>
<span> <span>
".$this->select_open('filter_options', array('class' => 'form-control e-tip tbox select filter', 'id' => false, 'title'=>RL_LAN_088))." ".$this->select_open('filter_options', array('class' => 'form-control e-tip tbox select filter', 'id' => false, 'title'=>LAN_FILTER))."
".$this->option(LAN_FILTER_LABEL_DISPLAYALL, '')." ".$this->option(LAN_FILTER_LABEL_DISPLAYALL, '')."
".$this->option(LAN_FILTER_LABEL_CLEAR, '___reset___')." ".$this->option(LAN_FILTER_LABEL_CLEAR, '___reset___')."
".$this->renderBatchFilter('filter', $current_query[1])." ".$this->renderBatchFilter('filter', $current_query[1])."
@@ -6513,11 +6513,11 @@ class e_admin_form_ui extends e_form
//TODO today, yesterday, this-month, last-month . //TODO today, yesterday, this-month, last-month .
$dateFilters = array ( $dateFilters = array (
'hour' => RL_LAN_127, 'hour' => LAN_UI_FILTER_PAST_HOUR,
"day" => RL_LAN_128, "day" => LAN_UI_FILTER_PAST_24_HOURS,
"week" => RL_LAN_129, "week" => LAN_UI_FILTER_PAST_WEEK,
"month" => RL_LAN_130, "month" => LAN_UI_FILTER_PAST_MONTH,
"year" => RL_LAN_131 "year" => LAN_UI_FILTER_PAST_YEAR
); );
foreach($dateFilters as $k => $name) foreach($dateFilters as $k => $name)

View File

@@ -792,6 +792,7 @@ class e_parse extends e_parser
if (e107::wysiwyg() !== true) if (e107::wysiwyg() !== true)
{ {
// fix for utf-8 issue with html_entity_decode(); ??? // fix for utf-8 issue with html_entity_decode(); ???
$text = urldecode($text);
// $text = str_replace("&nbsp;", " ", $text); // $text = str_replace("&nbsp;", " ", $text);
} }
return $text; return $text;

View File

@@ -544,6 +544,10 @@ class e_menu
//} //}
$mpath = trim($mpath, '/').'/'; // faster... $mpath = trim($mpath, '/').'/'; // faster...
$id = e107::getForm()->name2id($mpath . $mname);
$ns->setUniqueId($id);
$e107_debug ? include(e_PLUGIN.$mpath.$mname.'.php') : @include(e_PLUGIN.$mpath.$mname.'.php'); $e107_debug ? include(e_PLUGIN.$mpath.$mname.'.php') : @include(e_PLUGIN.$mpath.$mname.'.php');
} }
e107::getDB()->db_Mark_Time("(After ".$mname.")"); e107::getDB()->db_Mark_Time("(After ".$mname.")");

View File

@@ -380,7 +380,7 @@ class news {
'table' => 'news', 'table' => 'news',
'pid' => 'news_id', 'pid' => 'news_id',
'vars' => 'news_item', 'vars' => 'news_item',
'perms' => '0', 'perms' => 'H|H4',
'shortcodes' => array( 'shortcodes' => array(
'news_title' => array('field'=>'news_title', 'type'=>'text', 'container'=>'span'), 'news_title' => array('field'=>'news_title', 'type'=>'text', 'container'=>'span'),
'news_description' => array('field'=>'news_meta_description','type'=>'text', 'container'=>'span'), 'news_description' => array('field'=>'news_meta_description','type'=>'text', 'container'=>'span'),

View File

@@ -1372,50 +1372,59 @@ class e_parse_shortcode
*/ */
private function makeWrapper($ret, $code, $fullShortcodeKey, $sc_mode) private function makeWrapper($ret, $code, $fullShortcodeKey, $sc_mode)
{ {
$pre = $post = '';
if(isset($this->wrappers[$code]) && !empty($this->wrappers[$code])) // eg: $NEWS_WRAPPER['view']['item']['NEWSIMAGE'] if(isset($this->wrappers[$code]) && !empty($this->wrappers[$code])) // eg: $NEWS_WRAPPER['view']['item']['NEWSIMAGE']
{ {
list($pre, $post) = explode("{---}", $this->wrappers[$code], 2); list($pre, $post) = explode("{---}", $this->wrappers[$code], 2);
return $pre.$ret.$post;
} }
elseif(!empty($fullShortcodeKey) && !empty($this->wrappers[$fullShortcodeKey]) ) // eg: $NEWS_WRAPPER['view']['item']['NEWSIMAGE: item=1']
if(!empty($fullShortcodeKey) && !empty($this->wrappers[$fullShortcodeKey]) ) // eg: $NEWS_WRAPPER['view']['item']['NEWSIMAGE: item=1']
{ {
list($pre, $post) = explode("{---}", $this->wrappers[$fullShortcodeKey], 2); list($pre, $post) = explode("{---}", $this->wrappers[$fullShortcodeKey], 2);
return $pre.$ret.$post;
} }
else
//if $sc_mode exists, we need it to parse $sc_style
if ($sc_mode)
{ {
$code = $code.'|'.$sc_mode; //if $sc_mode exists, we need it to parse $sc_style
} if($sc_mode)
if (is_array($this->sc_style) && array_key_exists($code, $this->sc_style))
{
$pre = $post = '';
// old way - pre/post keys
if(is_array($this->sc_style[$code]))
{ {
if (isset($this->sc_style[$code]['pre'])) $code = $code.'|'.$sc_mode;
{ }
$pre = $this->sc_style[$code]['pre'];
} if (is_array($this->sc_style) && array_key_exists($code, $this->sc_style))
if (isset($this->sc_style[$code]['post'])) {
{
$post = $this->sc_style[$code]['post']; // old way - pre/post keys
} if(is_array($this->sc_style[$code]))
} {
else // new way - same format as wrapper if (isset($this->sc_style[$code]['pre']))
{ {
list($pre, $post) = explode("{---}", $this->sc_style[$code], 2); $pre = $this->sc_style[$code]['pre'];
}
if (isset($this->sc_style[$code]['post']))
{
$post = $this->sc_style[$code]['post'];
}
}
else // new way - same format as wrapper
{
list($pre, $post) = explode("{---}", $this->sc_style[$code], 2);
}
} }
$ret = $pre.$ret.$post;
} }
if(strpos($pre, '{') !== false) // shortcode found in wrapper
{
$pre = $this->parseCodes($pre, true);
}
return $ret; if(strpos($post, '{') !== false) // shortcode found in wrapper
{
$post = $this->parseCodes($post, true);
}
return $pre.$ret.$post;
} }

View File

@@ -706,7 +706,7 @@ class themeHandler
$text = $this->renderTheme(1, $theme); $text = $this->renderTheme(1, $theme);
} }
} }
echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?".$mode."'>\n"; echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?mode=".$mode."'>\n";
$ns->tablerender(TPVLAN_26.SEP.TPVLAN_33, $mes->render().$text); $ns->tablerender(TPVLAN_26.SEP.TPVLAN_33, $mes->render().$text);
echo "</form>"; echo "</form>";
} }
@@ -722,7 +722,7 @@ class themeHandler
$text = $this->renderTheme(2, $theme); $text = $this->renderTheme(2, $theme);
} }
} }
echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?".$mode."'>\n"; echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?mode=".$mode."'>\n";
$ns->tablerender(TPVLAN_26.SEP.TPVLAN_34, $mes->render().$text); $ns->tablerender(TPVLAN_26.SEP.TPVLAN_34, $mes->render().$text);
echo "</form>"; echo "</form>";
} }
@@ -744,7 +744,7 @@ class themeHandler
// print_a($theme); // print_a($theme);
} }
$text .= "<div class='clear'>&nbsp;</div>"; $text .= "<div class='clear'>&nbsp;</div>";
echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?".$mode."'>\n"; echo "<form enctype='multipart/form-data' method='post' action='".e_SELF."?mode=".$mode."'>\n";
$ns->tablerender(TPVLAN_26.SEP.TPVLAN_39, $mes->render().$text); $ns->tablerender(TPVLAN_26.SEP.TPVLAN_39, $mes->render().$text);
$text .= "</form>"; $text .= "</form>";
@@ -1210,10 +1210,10 @@ class themeHandler
<col class='col-control' /> <col class='col-control' />
<col class='col-control' /> <col class='col-control' />
</colgroup> </colgroup>
<tr> <tr>
<td><b>".TPVLAN_11."</b></td> <td><b>".TPVLAN_11."</b></td>
<td>".$theme['version']."</td> <td>".$theme['version']."</td>
<td class='well center middle' rowspan='9' style='text-align:center; vertical-align:middle;width:25%'>".$thumbnail."</td> <td class='well center middle' rowspan='9' style='text-align:center; vertical-align:middle;width:25%'>".$thumbnail."</td>
</tr>"; </tr>";
$text .= "<tr><td style='vertical-align:top; width:25%'><b>".LAN_AUTHOR."</b>:</td><td style='vertical-align:top'>".$author."</td></tr>"; $text .= "<tr><td style='vertical-align:top; width:25%'><b>".LAN_AUTHOR."</b>:</td><td style='vertical-align:top'>".$author."</td></tr>";
@@ -1225,8 +1225,7 @@ class themeHandler
$text .= "<tr><td style='vertical-align:top; width:25%'><b>".LAN_FOLDER."</b>:</td><td style='vertical-align:top'>".$theme['path']."</td></tr>"; $text .= "<tr><td style='vertical-align:top; width:25%'><b>".LAN_FOLDER."</b>:</td><td style='vertical-align:top'>".$theme['path']."</td></tr>";
// $text .= "<tr><td style='vertical-align:top; width:25%'><b>Price</b>:</td><td style='vertical-align:top'>".$price."</td></tr>"; // $text .= "<tr><td style='vertical-align:top; width:25%'><b>Price</b>:</td><td style='vertical-align:top'>".$price."</td></tr>";
$text .= "<tr><td style='vertical-align:top; width:25%'><b>".TPVLAN_49."</b>:</td> $text .= "<tr><td style='vertical-align:top; width:25%'><b>".TPVLAN_49."</b>:</td><td style='vertical-align:top'>";
<td style='vertical-align:top' colspan='2'>";
$text .= ($theme['xhtmlcompliant']) ? "W3C XHTML ".$theme['xhtmlcompliant'] : TPVLAN_71; $text .= ($theme['xhtmlcompliant']) ? "W3C XHTML ".$theme['xhtmlcompliant'] : TPVLAN_71;
$text .= ($theme['csscompliant']) ? " &amp; CSS ".$theme['csscompliant'] : ""; $text .= ($theme['csscompliant']) ? " &amp; CSS ".$theme['csscompliant'] : "";
$text .= "</td></tr>"; $text .= "</td></tr>";
@@ -1246,7 +1245,7 @@ class themeHandler
$text .= " $text .= "
<tr> <tr>
<td style='vertical-align:top; width:24%;'><b>".TPVLAN_53."</b></td> <td style='vertical-align:top; width:24%;'><b>".TPVLAN_53."</b></td>
<td colspan='2' style='vertical-align:top width:auto;'>"; <td style='vertical-align:top width:auto;'>";
if(varset($theme['plugins'])) if(varset($theme['plugins']))
{ {
@@ -1410,13 +1409,24 @@ class themeHandler
$text .= " $text .= "
<tr> <tr>
<td><b>".TPVLAN_41.":</b></td> <td><b>".TPVLAN_41.":</b></td>
<td colspan='2'>".$astext."</td> <td>".$astext."</td>
</tr>
\n";
$text .= "
<tr>
<td><b>" . TPVLAN_89 . "</b></td>
<td colspan='2'>
<label class='checkbox'>
" . $frm->checkbox('adminpref', 1, (varset($pref['adminpref'], 0) == 1)) . "
</label>
</td>
</tr> </tr>
\n"; \n";
} }
$text .= $itext; $text .= varset($itext, '');
$theme['css'] = $this->filterStylesheets($mode, $theme); $theme['css'] = $this->filterStylesheets($mode, $theme);
@@ -1443,16 +1453,12 @@ class themeHandler
switch($mode) switch($mode)
{ {
case 2: // admin mode. case 2: // admin mode.
$for = $frm->name2id("admincss-".$css['name']); $for = $frm->name2id("admincss-".$css['name']);
$text2 = " $text2 = "<td class='center'>";
<td class='center'>". $text2 .= $frm->radio('admincss', $css['name'], vartrue($pref['admincss'])== $css['name']);
$frm->radio('admincss', $css['name'], vartrue($pref['admincss'])== $css['name'])." $text2 .= "</td>";
</td> $text2 .= "<td><label for='".$for."'>".$css['info']."</label></td>";
<td><label for='".$for."'>".$css['info']."</label></td>";
$text2 .= "<td>".($css['info'] ? $css['info'] : ($css['name'] == "admin_style.css" ? TPVLAN_23 : TPVLAN_24))."</td>\n"; $text2 .= "<td>".($css['info'] ? $css['info'] : ($css['name'] == "admin_style.css" ? TPVLAN_23 : TPVLAN_24))."</td>\n";
break; break;
case 1: // front 'sitetheme' mode. case 1: // front 'sitetheme' mode.
@@ -1981,9 +1987,14 @@ class themeHandler
//TODO adminlog //TODO adminlog
e107::getConfig()->setPosted('admincss', $_POST['admincss'])->setPosted('adminstyle', $_POST['adminstyle']); e107::getConfig()
->setPosted('admincss', $_POST['admincss'])
->setPosted('adminstyle', $_POST['adminstyle'])
->setPosted('adminpref', varset($_POST['adminpref'], 0));
return (e107::getConfig()->dataHasChangedFor('admincss') || e107::getConfig()->dataHasChangedFor('adminstyle')); return (e107::getConfig()->dataHasChangedFor('admincss')
|| e107::getConfig()->dataHasChangedFor('adminstyle')
|| e107::getConfig()->dataHasChangedFor('adminpref'));
} }
function SetCustomPages($array) function SetCustomPages($array)

View File

@@ -5,7 +5,6 @@
* Admin Language File * Admin Language File
* *
*/ */
define("ADLAN_0", "News"); define("ADLAN_0", "News");
define("ADLAN_1", "Manage news items"); define("ADLAN_1", "Manage news items");
define("ADLAN_2", "Create news item"); define("ADLAN_2", "Create news item");
@@ -401,7 +400,6 @@ define("LAN_FILTER_LABEL_DISPLAYALL", "Display All");
define("LAN_FILTER_LABEL_CLEAR", "Clear Filter"); define("LAN_FILTER_LABEL_CLEAR", "Clear Filter");
define("LAN_FILTER_LABEL_TYPED", "(typed)"); define("LAN_FILTER_LABEL_TYPED", "(typed)");
//FIXME Remove html
define("LAN_UI_NOPID_ERROR", "There is no [b]Primary ID[/b] set"); define("LAN_UI_NOPID_ERROR", "There is no [b]Primary ID[/b] set");
define("LAN_UI_BATCHDEL_ERROR", "Batch delete not allowed!"); define("LAN_UI_BATCHDEL_ERROR", "Batch delete not allowed!");
define("LAN_UI_404_BODY_ERROR", "Requested page was not found!"); define("LAN_UI_404_BODY_ERROR", "Requested page was not found!");
@@ -425,6 +423,11 @@ define("LAN_UI_BATCH_CREATELINK", "Create Link");
define("LAN_UI_USING_DATABASE_TABLE", "Using [x] database table"); define("LAN_UI_USING_DATABASE_TABLE", "Using [x] database table");
define("LAN_UI_TOTAL_RECORDS", "Total Records: [x]"); define("LAN_UI_TOTAL_RECORDS", "Total Records: [x]");
define("LAN_UI_FILTER_PAST_HOUR", "Past Hour");
define("LAN_UI_FILTER_PAST_24_HOURS", "Past 24 hours");
define("LAN_UI_FILTER_PAST_WEEK", "Past Week");
define("LAN_UI_FILTER_PAST_MONTH", "Past Month");
define("LAN_UI_FILTER_PAST_YEAR", "Past Year");
define("LAN_USER_MANAGEALL", "Manage all User, Userclass and Extended User-Field settings"); define("LAN_USER_MANAGEALL", "Manage all User, Userclass and Extended User-Field settings");
define("LAN_USER_LIST", "User List"); define("LAN_USER_LIST", "User List");
@@ -455,3 +458,16 @@ define("LAN_PERSONALIZE", "Personalize");
define("LAN_SELECT_COLUMNS_TO_DISPLAY", "Select columns to display"); define("LAN_SELECT_COLUMNS_TO_DISPLAY", "Select columns to display");
define("LAN_DISPLAY_COLUMNS", "Display Columns"); define("LAN_DISPLAY_COLUMNS", "Display Columns");
define("LAN_SETTINGS_NOT_SAVED_NO_CHANGES_MADE", "Settings not saved as no changes were made."); define("LAN_SETTINGS_NOT_SAVED_NO_CHANGES_MADE", "Settings not saved as no changes were made.");
define("LAN_DASHBOARD_LAYOUT", "Dashboard Layout");
define("LAN_AFTER_SUBMIT", "After submit:");
define("LAN_UNAVAILABLE", "Unavailable");
define("LAN_READY_UP_FOLDER_FIELDS", "Ready to use upload form fields, optional - file list view");
define("LAN_NO_LABEL_PROVIDED", "No Label Provided");
define("LAN_NOT_FOUND", "Not Found!");
define("LAN_QUICK_VIEW", "Quick View");
define("LAN_GO_TO_USER_PROFILE", "Go to user profile");
define("LAN_MULTI_LANGUAGE_FIELD", "Multi-language field");
define("LAN_GO_TO_LIST", "go to list");
define("LAN_CREATE_ANOTHER", "create another");
define("LAN_EDIT_CURRENT", "edit current");
define("LAN_MAINTENANCE", "Maintenance");

View File

@@ -85,7 +85,7 @@ define("RL_LAN_084", "Temporary accounts");
define("RL_LAN_085", "[x] record(s) successfully deleted!"); define("RL_LAN_085", "[x] record(s) successfully deleted!");
define("RL_LAN_086", "[x] records not found and not deleted!"); define("RL_LAN_086", "[x] records not found and not deleted!");
define("RL_LAN_087", "Details"); define("RL_LAN_087", "Details");
define("RL_LAN_088", "Filter the results below");
// Intentional gap // Intentional gap
define("RL_LAN_090", "Download ID"); define("RL_LAN_090", "Download ID");
define("RL_LAN_091", "Detailed timings"); define("RL_LAN_091", "Detailed timings");
@@ -126,11 +126,7 @@ define("RL_LAN_123", "User audit trail class");
define("RL_LAN_124", "User audit trail actions"); define("RL_LAN_124", "User audit trail actions");
define("RL_LAN_125", "System Logs Maintenance"); define("RL_LAN_125", "System Logs Maintenance");
define("RL_LAN_126", "Total [x] entries matching search condition"); define("RL_LAN_126", "Total [x] entries matching search condition");
define("RL_LAN_127", "Past Hour");
define("RL_LAN_128", "Past 24 hours");
define("RL_LAN_129", "Past Week");
define("RL_LAN_130", "Past Month");
define("RL_LAN_131", "Past Year");
define("RL_LAN_132", "Informative"); define("RL_LAN_132", "Informative");
define("RL_LAN_133", "Notice"); define("RL_LAN_133", "Notice");
define("RL_LAN_134", "Warning"); define("RL_LAN_134", "Warning");

View File

@@ -122,4 +122,4 @@ define("TPVLAN_86","Could not change site theme.");
define("TPVLAN_87","Rendering Theme Config"); define("TPVLAN_87","Rendering Theme Config");
define("TPVLAN_88","Converter"); define("TPVLAN_88","Converter");
?> define("TPVLAN_89", "Apply dashboard preferences to all administrators");

View File

@@ -303,18 +303,24 @@ str_replace("[x]", ($total_topics+$total_replies), LAN_FORUM_0031)." ($total_top
".(!defined("e_TRACKING_DISABLED") ? "" : "<br />".$users." ".($users == 1 ? LAN_FORUM_0059 : LAN_FORUM_0060)." (".$member_users." ".($member_users == 1 ? LAN_FORUM_0061 : LAN_FORUM_0062).", ".$guest_users." ".($guest_users == 1 ? LAN_FORUM_0063 : LAN_FORUM_0064).")<br />".LAN_FORUM_0066." ".$total_members."<br />".LAN_FORUM_0065." <a href='".e_HTTP."user.php ?id.".$nuser_id."'>".$nuser_name."</a>.\n"); // FIXME cannot find other references to e_TRACKING_DISABLED, use pref? ".(!defined("e_TRACKING_DISABLED") ? "" : "<br />".$users." ".($users == 1 ? LAN_FORUM_0059 : LAN_FORUM_0060)." (".$member_users." ".($member_users == 1 ? LAN_FORUM_0061 : LAN_FORUM_0062).", ".$guest_users." ".($guest_users == 1 ? LAN_FORUM_0063 : LAN_FORUM_0064).")<br />".LAN_FORUM_0066." ".$total_members."<br />".LAN_FORUM_0065." <a href='".e_HTTP."user.php ?id.".$nuser_id."'>".$nuser_name."</a>.\n"); // FIXME cannot find other references to e_TRACKING_DISABLED, use pref?
--*/ --*/
// FIX - core template always override theme template
// Include core template
include(e_PLUGIN.'forum/templates/forum_template.php');
// Override with theme template
if (file_exists(THEME.'forum_template.php'))
$FORUM_TEMPLATE = e107::getTemplate('forum','forum'); // required to use v2.x wrapper shortcode wrappers.
if(empty($FORUM_TEMPLATE)) //v1.x fallback.
{ {
include_once(THEME.'forum_template.php'); include(e_PLUGIN.'forum/templates/forum_template.php');
}
elseif(file_exists(THEME.'templates/forum/forum_template.php')) // Override with theme template
{ if (file_exists(THEME.'forum_template.php'))
require_once(THEME.'templates/forum/forum_template.php'); {
include_once(THEME.'forum_template.php');
}
elseif(file_exists(THEME.'templates/forum/forum_template.php'))
{
require_once(THEME.'templates/forum/forum_template.php');
}
} }
if(is_array($FORUM_TEMPLATE) && deftrue('BOOTSTRAP',false)) // new v2.x format. if(is_array($FORUM_TEMPLATE) && deftrue('BOOTSTRAP',false)) // new v2.x format.
@@ -366,7 +372,9 @@ foreach ($forumList['parents'] as $parent)
//---- $sc->parentname = $parent['forum_name']; //---- $sc->parentname = $parent['forum_name'];
//-- $forum_string .= $tp->simpleParse($FORUM_MAIN_PARENT, $pVars); //-- $forum_string .= $tp->simpleParse($FORUM_MAIN_PARENT, $pVars);
// $sc->fparent = $parent; // $sc->fparent = $parent;
$sc->setVars($parent);
$sc->setVars($parent);
$sc->wrapper('forum/main/parent');
$forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT, false, $sc); $forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT, false, $sc);
if (!count($forumList['forums'][$parent['forum_id']])) if (!count($forumList['forums'][$parent['forum_id']]))
{ {
@@ -527,7 +535,9 @@ function parse_forum($f, $restricted_string = '')
--*/ --*/
//-- return $tp->simpleParse($FORUM_MAIN_FORUM, $fVars); //-- return $tp->simpleParse($FORUM_MAIN_FORUM, $fVars);
return $tp->parseTemplate($FORUM_MAIN_FORUM, false, $sc); $sc->wrapper('forum/main/forum');
return $tp->parseTemplate($FORUM_MAIN_FORUM, true, $sc);
} }
@@ -638,8 +648,11 @@ $breadarray = array(
//-- $fVars->FORUM_BREADCRUMB = $frm->breadcrumb($breadarray); //-- $fVars->FORUM_BREADCRUMB = $frm->breadcrumb($breadarray);
//-- $forum_main_start = $tp->simpleParse($FORUM_MAIN_START, $fVars); //-- $forum_main_start = $tp->simpleParse($FORUM_MAIN_START, $fVars);
$sc->wrapper('forum/main/start');
$forum_main_start = $tp->parseTemplate($FORUM_MAIN_START, false, $sc); $forum_main_start = $tp->parseTemplate($FORUM_MAIN_START, false, $sc);
//-- $forum_main_end = $tp->simpleParse($FORUM_MAIN_END, $fVars); //-- $forum_main_end = $tp->simpleParse($FORUM_MAIN_END, $fVars);
$sc->wrapper('forum/main/end');
$forum_main_end = $tp->parseTemplate($FORUM_MAIN_END, false, $sc); $forum_main_end = $tp->parseTemplate($FORUM_MAIN_END, false, $sc);
if ($forum->prefs->get('enclose')) if ($forum->prefs->get('enclose'))
@@ -795,7 +808,8 @@ function forum_track()
$data['UNTRACK'] = "<a id='".$buttonId."' href='#' title=\"".$trackDiz."\" data-token='".e_TOKEN."' data-forum-insert='".$buttonId."' data-forum-post='".$row['thread_forum_id']."' data-forum-thread='".$row['thread_id']."' data-forum-action='track' name='track' class='btn btn-primary' >".IMAGE_track."</a>"; $data['UNTRACK'] = "<a id='".$buttonId."' href='#' title=\"".$trackDiz."\" data-token='".e_TOKEN."' data-forum-insert='".$buttonId."' data-forum-post='".$row['thread_forum_id']."' data-forum-thread='".$row['thread_id']."' data-forum-action='track' name='track' class='btn btn-primary' >".IMAGE_track."</a>";
$forum_trackstring .= $tp->simpleParse($FORUM_TRACK_MAIN, $data); $data['_WRAPPER_'] = 'forum/track/item';
$forum_trackstring .= $tp->parseTemplate($FORUM_TRACK_MAIN, true, $data);
} }
} }
// print_a($FORUM_TRACK_START); // print_a($FORUM_TRACK_START);
@@ -811,9 +825,12 @@ function forum_track()
$data['FORUM_BREADCRUMB'] = e107::getForm()->breadcrumb($breadarray); $data['FORUM_BREADCRUMB'] = e107::getForm()->breadcrumb($breadarray);
} }
$data['_WRAPPER_'] = 'forum/track/start';
$forum_track_start = $tp->parseTemplate($FORUM_TRACK_START, true, $data);
$data['_WRAPPER_'] = 'forum/track/end';
$forum_track_end = $tp->parseTemplate($FORUM_TRACK_END, true, $data);
$forum_track_start = $tp->simpleParse($FORUM_TRACK_START, $data);
$forum_track_end = $tp->simpleParse($FORUM_TRACK_END, $data);
// if ($forum->prefs->get('enclose')) // if ($forum->prefs->get('enclose'))
{ {

View File

@@ -225,7 +225,11 @@ if(!empty($viewable))
//else //else
//{ //{
//-- Possible candidate for wrapper???? //-- Possible candidate for wrapper????
return empty($viewable)?'':"<div class='panel panel-default' style='margin-top:10px'><div class='panel-heading'>".LAN_FORUM_8012."</div><div class='panel-body'>".$viewable."</div></div></div>"; /* WORKING WRAPPER
$SC_WRAPPER['VIEWABLE_BY'] = "<div class='panel panel-default' style='margin-top:10px'><div class='panel-heading'>".LAN_FORUM_8012."</div><div class='panel-body'>{---}</div></div></div>";
*/
return empty($viewable)?'':$viewable;
} }
function sc_search() function sc_search()

View File

@@ -343,6 +343,8 @@ $FORUM_VIEWFORUM_TEMPLATE['sub-footer'] = "";
$FORUM_VIEWFORUM_TEMPLATE['divider-important'] = "<tr><th colspan='2'>".LAN_FORUM_1006."</th><th class='text-center'>".LAN_FORUM_0003."</th><th class='hidden-xs text-center'>".LAN_FORUM_1005."</th><th class='hidden-xs'>".LAN_FORUM_0004."</th></tr>"; $FORUM_VIEWFORUM_TEMPLATE['divider-important'] = "<tr><th colspan='2'>".LAN_FORUM_1006."</th><th class='text-center'>".LAN_FORUM_0003."</th><th class='hidden-xs text-center'>".LAN_FORUM_1005."</th><th class='hidden-xs'>".LAN_FORUM_0004."</th></tr>";
$FORUM_VIEWFORUM_TEMPLATE['divider-normal'] = "<tr><th colspan='2'>".LAN_FORUM_1007."</th><th class='text-center' >".LAN_FORUM_0003."</th><th class='hidden-xs text-center'>".LAN_FORUM_1005."</th><th class='hidden-xs'>".LAN_FORUM_0004."</th></tr>"; $FORUM_VIEWFORUM_TEMPLATE['divider-normal'] = "<tr><th colspan='2'>".LAN_FORUM_1007."</th><th class='text-center' >".LAN_FORUM_0003."</th><th class='hidden-xs text-center'>".LAN_FORUM_1005."</th><th class='hidden-xs'>".LAN_FORUM_0004."</th></tr>";
$SC_WRAPPER['VIEWABLE_BY'] = "<div class='panel panel-default' style='margin-top:10px'><div class='panel-heading'>".LAN_FORUM_8012."</div><div class='panel-body'>{---}</div></div></div>";
$FORUM_VIEWFORUM_TEMPLATE['footer'] = "</table> $FORUM_VIEWFORUM_TEMPLATE['footer'] = "</table>
<div class='row row-fluid'> <div class='row row-fluid'>

View File

@@ -1176,10 +1176,10 @@ li.rssRow > div {
.core-mainpanel-link-icon img { margin-bottom: 5px } .core-mainpanel-link-icon img { margin-bottom: 5px }
.sidebar-toggle { width: 14px; height:300px; display: block; position: absolute; margin-left: -25px; margin-top:130px } .sidebar-toggle { width: 14px; height:300px; display: block; position: absolute; margin-left: -25px; margin-top:130px; z-index: 1; }
.sidebar-toggle a {color:#C6C6C6; height:300px; display:block; width:100%; border-right:7px double #77ACD9; opacity: 0; transition:.5s; z-index:5000; outline:0 } .sidebar-toggle a {color:#C6C6C6; height:300px; display:block; width:100%; border-right:7px double #77ACD9; opacity: 0; transition:.5s; z-index:5000; outline:0 }
.sidebar-toggle a:hover { opacity: .8; outline:0 } .sidebar-toggle a:hover { opacity: .8; outline:0 }
#left-panel.toggled { display: none } .admin-left-panel.toggled { display: none }
/* ######## selectize.js ######## */ /* ######## selectize.js ######## */
@@ -1278,9 +1278,8 @@ li.after-submit:hover { background-color: #337AB7; color:white }
.plugin-manager .fa-refresh { padding-top: 4px } .plugin-manager .fa-refresh { padding-top: 4px }
#left-panel .panel-title span { display: inline-block; vertical-align: middle; color:white;text-shadow:0 1px 1px #000} .admin-left-panel .panel-title span { display: inline-block; vertical-align: middle; color:white;text-shadow:0 1px 1px #000}
#left-panel .panel-title .S24, #left-panel .panel-title img { margin-right:6px; width:24px; height:24px; vertical-align:middle} .admin-left-panel .panel-title .S24, .admin-left-panel .panel-title img { margin-right:6px; width:24px; height:24px; vertical-align:middle}
/* /*

View File

@@ -208,86 +208,82 @@ $ADMIN_MODAL = '<div id="uiModal" class="modal hide fade" tabindex="-1" role="d
</div>';*/ </div>';*/
$ADMIN_MODAL = '<div id="uiModal" class="modal fade"> // TODO - LANs
<div id="admin-ui-modal" class="modal-dialog modal-lg"> $ADMIN_MODAL = '
<div class="modal-content"> <div id="uiModal" class="modal fade">
<div class="modal-header"> <div id="admin-ui-modal" class="modal-dialog modal-lg">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <div class="modal-content">
<h4 class="modal-title modal-caption">&nbsp;</h4> <div class="modal-header">
</div> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<div class="modal-body"> <span aria-hidden="true">&times;</span>
<p>Loading...</p> </button>
</div> <h4 class="modal-title modal-caption">&nbsp;</h4>
<div class="modal-footer"> </div>
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> <div class="modal-body">
<p>Loading...</p>
</div> </div>
</div><!-- /.modal-content --> <div class="modal-footer">
</div><!-- /.modal-dialog --> <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
</div><!-- /.modal -->'; </div>
</div>
</div>
</div>
// <li>{ADMIN_COREUPDATE=icon}</li> ';
$ADMIN_HEADER = $ADMIN_MODAL. '
// TODO - LANs
$ADMIN_HEADER = $ADMIN_MODAL . '
<div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container" > <div class="container">
<div class="navbar-header"> <div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="brand navbar-brand" href="'.e_ADMIN_ABS.'admin.php" title="Return to Front Panel"><img class="admin-logo" src="'.e_THEME_ABS.'bootstrap3/images/e107_adminlogo.png" alt="e107" /></a> <a class="brand navbar-brand" href="'.e_ADMIN_ABS.'admin.php" title="Return to Front Panel">
</div> <img class="admin-logo" src="'.e_THEME_ABS.'bootstrap3/images/e107_adminlogo.png" alt="e107"/>
<div class="navbar-collapse collapse"> </a>
</div>
{ADMIN_NAVIGATION=no-main} <div class="navbar-collapse collapse">
{ADMIN_NAVIGATION=no-main}
<div> <div>
{ADMIN_NAVIGATION=logout} {ADMIN_NAVIGATION=logout}
{ADMIN_NAVIGATION=language} {ADMIN_NAVIGATION=language}
{ADMIN_NAVIGATION=home} {ADMIN_NAVIGATION=home}
{ADMIN_PM} {ADMIN_PM}
{ADMIN_DEBUG} {ADMIN_DEBUG}
</div> </div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
';
$adminstyle = e107::getConfig()->get('adminstyle', 'infopanel');
if(defset('e_PAGE') == 'admin.php' && $adminstyle == 'flexpanel' && varset($_GET['mode']) != 'customize')
{
</div><!--/.navbar-collapse --> $ADMIN_HEADER .= '
</div> <div class="col-sm-12">
</div>'; <div class="admin-main-content">
';
}
else
{
// TODO - LANs
$ADMIN_HEADER .= '
<div class="col-md-3 col-lg-2 admin-left-panel">
$ADMIN_HEADER .= '<div class="container-fluid"> {SETSTYLE=admin_menu}
<div class="row">
<div class="col-md-3 col-lg-2" id="left-panel">
{SETSTYLE=admin_menu}
{ADMIN_MENU} {ADMIN_MENU}
{ADMIN_PWORD} {ADMIN_PWORD}
{ADMIN_MENUMANAGER} {ADMIN_MENUMANAGER}
<div class="e-scroll-fixed"> <div class="e-scroll-fixed">
{SETSTYLE=site_info}
{ADMINUI_HELP}
{SETSTYLE=site_info} {ADMIN_HELP}
{ADMINUI_HELP}
{ADMIN_HELP}
</div> </div>
{ADMIN_SITEINFO=creditsonly} {ADMIN_SITEINFO=creditsonly}
@@ -300,29 +296,27 @@ $ADMIN_HEADER .= '<div class="container-fluid">
{ADMIN_MSG=request} {ADMIN_MSG=request}
{ADMIN_PLUGINS} {ADMIN_PLUGINS}
{SETSTYLE=default} {SETSTYLE=default}
</div>
<div class="col-md-9 col-lg-10 admin-right-panel">
<div class="sidebar-toggle">
<a href="#" title="Toggle Sidebar" data-toggle-sidebar="true">&nbsp;</a>
</div>
<div class="admin-main-content">
';
}
</div> // TODO - LANs
<div class="col-md-9 col-lg-10" id="right-panel" >
<div class="sidebar-toggle"><a href="#" title="Toggle Sidebar" data-toggle-sidebar="true">&nbsp;</a></div>
<div>
';
$ADMIN_FOOTER = ' $ADMIN_FOOTER = '
</div><!--/row--> </div>
</div><!--/span--> </div>
</div><!--/row--> </div><!--/.row-->
</div><!--/.fluid-container-->
</div><!--/.fluid-container-->
<footer class="center mute">
Copyright &copy; 2008-2015 e107 Inc (e107.org)<br />
</footer>';
<footer class="center mute">
Copyright &copy; 2008-2015 e107 Inc (e107.org)<br />
</footer>
';
//{FS_ADMIN_ALT_NAV} //{FS_ADMIN_ALT_NAV}

View File

@@ -104,10 +104,12 @@ class bootstrap3_admintheme
// echo "Style: ".$style; // echo "Style: ".$style;
echo "\n\n<!-- UniqueID: ".$data['uniqueId']." -->\n\n"; echo "\n\n<!-- UniqueID: ".$data['uniqueId']." -->\n\n";
$class = ''; $class = '';
if(is_string($mode) && $mode == 'admin_help') $class = ' '.str_replace('_', '-', $mode); if(is_string($mode) && $mode == 'admin_help')
{
$class = ' ' . str_replace('_', '-', $mode);
}
if($mode == 'e_help') if($mode == 'e_help')
{ {
@@ -116,70 +118,30 @@ class bootstrap3_admintheme
if($mode == 'core-infopanel_latest' || $mode == 'core-infopanel_status') if($mode == 'core-infopanel_latest' || $mode == 'core-infopanel_status')
{ {
//return; echo '<!-- Start Mode: ' . $mode . ' -->
echo ' <div class="well" style="padding:10px;min-height:220px;">
<!-- Start Mode: '.$mode.' --> <div class="nav-header">' . $caption . '</div>
<div class="well" style="padding:10px;min-height:220px;" >
<div class="nav-header">'.$caption.'</div>
<!-- Content Start --> <!-- Content Start -->
'.$text.' ' . $text . '
<!-- Content End --> <!-- Content End -->
</div> </div>
<!-- End Mode: ' . $mode . ' -->
<!-- End Mode: '.$mode.' -->
'; ';
return; return;
} }
if($mode == 'personalize') if($mode == 'personalize')
{ {
/*echo '
<!-- Mode: '.$mode.' -->
<div class="well" style="padding:10px">
<div class="nav-header">'.$caption.'</div>
<!-- Content Start -->
'.$text.'
<!-- Content End -->
</div>
<!-- End Mode: '.$mode.' -->
';*/
$style = 'admin_menu'; $style = 'admin_menu';
// return;
} }
/*
if($style == 'core-infopanel')
{
echo '
<!-- Start Style: '.$style.' -->
<li class="span12 col-md-12">
<div class="well" >
<div class="nav-header">'.$caption.'</div>
<!-- Content Start -->
'.$text.'
<!-- Content End -->
</div>
</li>
<!-- End Style: '.$style.' -->
';
return;
}
*/
if(deftrue('e_IFRAME')) if(deftrue('e_IFRAME'))
{ {
echo '<!-- Start Style: '.$style.' Mode: '.$mode.' and iFrame active --> echo '<!-- Start Style: ' . $style . ' Mode: ' . $mode . ' and iFrame active -->
<div class="block"> <div class="block">
<div class="block-text"> <div class="block-text">
'.$text.' ' . $text . '
</div> </div>
</div> </div>
'; ';
@@ -192,80 +154,60 @@ class bootstrap3_admintheme
$style = 'no_caption'; $style = 'no_caption';
} }
$panelType = array('core-infopanel'=>'panel-default','admin_menu'=>'panel-primary', 'site_info'=>'panel-default'); $panelType = array(
'core-infopanel' => 'panel-default',
'admin_menu' => 'panel-primary',
'site_info' => 'panel-default',
'flexpanel' => 'panel-default',
);
switch(varset($style, 'admin_content')) switch(varset($style, 'admin_content'))
{ {
case 'core-infopanel' : case 'flexpanel':
case 'admin_menu' : echo '<div class="panel ' . $panelType[$style] . '" id="' . $data['uniqueId'] . '">
case 'site_info' :
echo '<div class="panel '.$panelType[$style].'">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">'.$caption.'</h3> <h3 class="panel-title">' . $caption . '</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
'.$text.' ' . $text . '
</div> </div>
</div>'; </div>';
break;
/* case 'core-infopanel':
echo ' case 'admin_menu':
<div class="well sidebar-nav" > case 'site_info':
<div class="nav-header">'.$caption.'</div> echo '<div class="panel ' . $panelType[$style] . '">
'.$text.' <div class="panel-heading">
</div> <h3 class="panel-title">' . $caption . '</h3>
'; </div>
**/ <div class="panel-body">
break; ' . $text . '
</div>
</div>';
break;
/*case 'site_info' : case 'no_caption':
echo ' echo '<!-- Start Style: ' . $style . ' Mode: ' . $mode . ' -->
<div class="panel panel-primary" >
<div class="panel-heading">'.$caption.'</div>
<p style="padding:10px">
'.$text.'
</p>
</div>
';
break;*/
/*
case 'admin_content':
echo '
<div class="block"> <div class="block">
<h2 class="caption">'.$caption.'</h2>
<div class="block-text"> <div class="block-text">
'.$text.' ' . $text . '
</div> </div>
</div> </div>
'; ';
break; break;
*/
case 'no_caption' :
echo '<!-- Start Style: '.$style.' Mode: '.$mode.' -->
<div class="block">
<div class="block-text">
'.$text.'
</div>
</div>
';
break;
default: default:
echo '<!-- Start Style: '.$style.' Mode: '.$mode.' --> echo '<!-- Start Style: ' . $style . ' Mode: ' . $mode . ' -->
<div class="block"> <div class="block">
<h4 class="caption">'.$caption.'</h4> <h4 class="caption">' . $caption . '</h4>
<div class="block-text"> <div class="block-text">
'.$text.' ' . $text . '
</div> </div>
</div> </div>
'; ';
break; break;
} }
} }
} }

View File

@@ -0,0 +1,100 @@
var e107 = e107 || {'settings': {}, 'behaviors': {}};
(function ($)
{
'use strict';
e107.callbacks = e107.callbacks || {};
e107.settings.flexPanel = {
selector: '.draggable-panels',
items: '> .panel'
};
/**
* Behavior to initialize draggable panels on the dashboard.
*
* @type {{attach: e107.behaviors.flexPanelDraggablePanels.attach}}
*/
e107.behaviors.flexPanelDraggablePanels = {
attach: function (context, settings)
{
var selector = e107.settings.flexPanel.selector;
var onceKey = 'admin-dashboard-draggable-panels';
$(context).find(selector).once(onceKey).each(function ()
{
var $panel = $(this);
$panel.sortable({
connectWith: selector,
items: e107.settings.flexPanel.items,
handle: '.panel-heading',
accept: e107.settings.flexPanel.selector,
cursor: 'move',
placeholder: 'draggable-placeholder',
forcePlaceholderSize: true,
helper: 'clone',
forceHelperSize: true,
opacity: 0.4,
tolerance: 'pointer',
start: function (event, ui)
{
var $placeholders = $('.draggable-placeholder');
var $draggablePanels = $(e107.settings.flexPanel.selector);
$placeholders.css('margin', '15px');
$placeholders.css('background-color', '#337ab7');
$draggablePanels.css('min-height', '20px');
$draggablePanels.css('border', '1px dashed #CCCCCC');
$draggablePanels.css('margin-bottom', '30px');
$panel.sortable("refreshPositions");
},
stop: function (event, ui)
{
var $draggablePanels = $(e107.settings.flexPanel.selector);
$draggablePanels.css('min-height', '0');
$draggablePanels.css('border', 'none');
$draggablePanels.css('margin-bottom', '0');
e107.callbacks.flexPanelSavePanelOrder();
}
});
});
}
};
e107.callbacks.flexPanelSavePanelOrder = function ()
{
var selector = e107.settings.flexPanel.selector;
var NewOrder = {};
$(selector).each(function ()
{
var $this = $(this);
var area = $this.attr('id');
var weight = 0;
if(area)
{
$('#' + area + ' ' + e107.settings.flexPanel.items).each(function ()
{
var $item = $(this);
var panelID = $item.attr('id');
NewOrder[panelID] = {
area: area,
weight: weight
};
weight++;
});
}
});
$.post(window.location.href, {'core-flexpanel-order': NewOrder});
};
})(jQuery);

View File

@@ -155,8 +155,22 @@ $(document).ready(function()
{ {
e.preventDefault(); e.preventDefault();
$("#left-panel").toggle(1000); var $leftPanel = $(".admin-left-panel");
$("#right-panel").toggleClass("col-md-10 col-md-12"); //XXX Control animation direction? var $rightPanel = $(".admin-right-panel");
if ($rightPanel.hasClass('col-md-12'))
{
$rightPanel.toggleClass("col-md-9 col-md-12");
$rightPanel.toggleClass("col-lg-10 col-lg-12");
$leftPanel.toggle(1000);
}
else
{
$leftPanel.toggle(1000, function() {
$rightPanel.toggleClass("col-md-9 col-md-12");
$rightPanel.toggleClass("col-lg-10 col-lg-12");
});
}
}); });