1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-14 17:39:46 +01:00

Multisite navigation support (when multisite plugin installed)

This commit is contained in:
Cameron 2017-10-11 18:57:32 -07:00
parent 166837f053
commit e35259afe9
4 changed files with 61 additions and 2 deletions

View File

@ -2064,7 +2064,12 @@ function session_set($name, $value, $expire='', $path = e_HTTP, $domain = '', $s
if(($domain == '' && !e_SUBDOMAIN) || (defined('MULTILANG_SUBDOMAIN') && MULTILANG_SUBDOMAIN === TRUE)) if(($domain == '' && !e_SUBDOMAIN) || (defined('MULTILANG_SUBDOMAIN') && MULTILANG_SUBDOMAIN === TRUE))
{ {
$domain = (e_DOMAIN != FALSE) ? ".".e_DOMAIN : ""; $domain = (e_DOMAIN != FALSE) ? ".".e_DOMAIN : "";
} }
if(defined('e_MULTISITE_MATCH'))
{
$path = '/';
}
setcookie($name, $value, $expire, $path, $domain, $secure, true); setcookie($name, $value, $expire, $path, $domain, $secure, true);
$_COOKIE[$name] = $value; $_COOKIE[$name] = $value;

View File

@ -803,6 +803,52 @@ class admin_shortcodes
} }
function sc_admin_multisite($parm=null)
{
$file = e_SYSTEM_BASE."multisite.json";
if(!getperms('0') || !file_exists($file))
{
return null;
}
$tp = e107::getParser();
$parsed = file_get_contents($file);
$tmp = e107::unserialize($parsed);
// e107::getDebug()->log($tmp);
$text = '<ul class="nav nav-admin navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" title="Multisite" role="button" data-toggle="dropdown" href="#" >
'.$tp->toGlyph('fa-clone').'
</a>
<ul class="dropdown-menu" role="menu" >';
$srch = array();
foreach($tmp as $k=>$val)
{
$srch[] = '/'.$val['match'].'/';
}
foreach($tmp as $k=>$val)
{
$active = (e_MULTISITE_MATCH === $val['match']) ? ' class="active"' : '';
$url = str_replace($srch,'/'.$val['match'].'/',e_REQUEST_SELF);
$text .= '<li '.$active.'><a href="'.$url.'">'.$val['name'].'</a></li>';
}
$text .= '
</ul>
</li>
</ul>
';
// e107::getDebug()->log(e_MULTISITE_IN_USE);
return $text;
}
function sc_admin_msg($parm) function sc_admin_msg($parm)

View File

@ -478,7 +478,14 @@ class e_session
if (empty($this->_options['path'])) if (empty($this->_options['path']))
{ {
$this->_options['path'] = defined('e_HTTP') ? e_HTTP : '/'; if(defined('e_MULTISITE_MATCH')) // multisite support.
{
$this->_options['path'] = '/';
}
else
{
$this->_options['path'] = defined('e_HTTP') ? e_HTTP : '/';
}
} }
// session name before options - problems reported on php.net // session name before options - problems reported on php.net

View File

@ -203,6 +203,7 @@ $ADMIN_HEADER = $ADMIN_MODAL . '
{ADMIN_NAVIGATION=enav_logout} {ADMIN_NAVIGATION=enav_logout}
{ADMIN_NAVIGATION=enav_language} {ADMIN_NAVIGATION=enav_language}
{ADMIN_NAVIGATION=enav_home} {ADMIN_NAVIGATION=enav_home}
{ADMIN_MULTISITE}
{ADMIN_PM} {ADMIN_PM}
{ADMIN_DEBUG} {ADMIN_DEBUG}
{ADMIN_UPDATE} {ADMIN_UPDATE}