Version 3.4.5
This commit is contained in:
1 parent
fb6b5baabc
commit
e4478369d8
1360 files changed
+228921
-179445
No files matched your search
@@ -27,6 +27,8 @@ img { vertical-align: middle }
|
||||
/* Basic styles */
|
||||
/*-----------------------------------------------*/
|
||||
|
||||
#bookManagePop_popup ul > li { margin-top: 8px; }
|
||||
|
||||
#ajax_loading {
|
||||
background-color: #6f8f52;
|
||||
padding: 5px;
|
||||
@@ -227,7 +229,9 @@ a {
|
||||
padding-right: 17px;
|
||||
background: transparent url( images/app_tab_right.png ) no-repeat top right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#edit_tabs {
|
||||
line-height: 40px; /* 52px height - 12px padding on parent */
|
||||
color: #6390bf;
|
||||
@@ -1209,6 +1213,7 @@ tr.ipsControlRow {
|
||||
background: #849cb7;
|
||||
overflow: hidden !important;
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ipsTabBar ul {
|
||||
@@ -1781,6 +1786,18 @@ tr.ipsControlRow {
|
||||
.ipsExpandable .item_wrap .item {
|
||||
border-bottom: 1px solid #ecf1f5;
|
||||
}
|
||||
|
||||
.parentCat .toggle {
|
||||
background: url( images/folder_open.png ) no-repeat;
|
||||
background-position: 0px 5px;
|
||||
text-indent: -3000em;
|
||||
width: 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.parentCat.collapsed .toggle {
|
||||
background-image: url( images/folder_closed.png );
|
||||
}
|
||||
|
||||
/****************************************************/
|
||||
/* MESSAGES */
|
||||
@@ -2719,6 +2736,18 @@ ins, .diffgreen {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#diffPopUp_inner > pre {
|
||||
overflow: scroll;
|
||||
}
|
||||
.ips_merge_wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ips_merge_new > p, .ips_merge_custom > p {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.ips_merge_new {
|
||||
background-color: #f3dddd;
|
||||
color: black;
|
||||
@@ -2948,7 +2977,7 @@ ins, .diffgreen {
|
||||
display: inline-block;
|
||||
}
|
||||
#ips_switchEditor {
|
||||
clear: top;
|
||||
clear: both;
|
||||
text-align: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
@@ -3396,7 +3425,6 @@ ipsBox { background: #ebf0f3; }
|
||||
|
||||
.ipsReset { margin: 0px !important; padding: 0px !important; }
|
||||
|
||||
.
|
||||
.desc, .desc.blend_links a, p.posted_info {
|
||||
font-size: 12px;
|
||||
color: #777777;
|
||||
@@ -3410,7 +3438,7 @@ ipsBox { background: #ebf0f3; }
|
||||
border-width: 1px 1px 0 1px;
|
||||
border-style: solid;
|
||||
border-color: #316897;
|
||||
/*padding: 8px 10px 9px;*/
|
||||
padding: 8px 10px 9px;
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
text-shadow: 0 1px 2px rgba(0,0,0,0.3);
|
||||
@@ -3418,3 +3446,167 @@ ipsBox { background: #ebf0f3; }
|
||||
box-shadow: inset 0px 1px 0 #528cbc;
|
||||
-moz-box-shadow: inset 0px 1px 0 #528cbc;
|
||||
}
|
||||
|
||||
.swfupload {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#attachments { }
|
||||
|
||||
#attachments li {
|
||||
background-color: #e4ebf2;
|
||||
border: 1px solid #d5dde5;
|
||||
padding: 6px 20px 6px 42px;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#attachments li p.info {
|
||||
color: #69727b;
|
||||
font-size: 0.8em;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#attachments li .links, #attachments li.error .links, #attachments.traditional .progress_bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#attachments li.complete .links {
|
||||
font-size: 0.9em;
|
||||
margin-right: 15px;
|
||||
right: 0px;
|
||||
top: 12px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#attachments li .progress_bar {
|
||||
margin-right: 15px;
|
||||
width: 200px;
|
||||
right: 0px;
|
||||
top: 15px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#attachments li.complete, #attachments li.in_progress, #attachments li.error {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 12px 12px;
|
||||
}
|
||||
|
||||
#attachments li.in_progress {
|
||||
background-image: url({$this->settings['public_dir']}style_images/master/loading.gif);
|
||||
}
|
||||
|
||||
#attachments li.error {
|
||||
background-image: url({$this->settings['public_dir']}style_images/master/exclamation.png);
|
||||
background-color: #e8caca;
|
||||
border: 1px solid #ddafaf;
|
||||
}
|
||||
|
||||
#attachments li.error .info {
|
||||
color: #8f2d2d;
|
||||
}
|
||||
|
||||
#attachments li.complete {
|
||||
background-image: url({$this->settings['public_dir']}style_images/master/accept.png);
|
||||
}
|
||||
|
||||
#attachments li .thumb_img {
|
||||
left: 6px;
|
||||
top: 6px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/*div.post_form fieldset.attachments span.desc {
|
||||
margin: 0 0 0 15px;
|
||||
display: inline;
|
||||
clear: none;
|
||||
}*/
|
||||
|
||||
.attach_controls {
|
||||
background: url( {$this->settings['public_dir']}style_images/master/icon_attach.png ) no-repeat 3px;
|
||||
padding-left: 35px;
|
||||
min-height: 82px;
|
||||
}
|
||||
|
||||
.attach_controls .ipsType_subtitle { margin-bottom: 5px; }
|
||||
.attach_controls iframe { display: block; margin-bottom: 5px; }
|
||||
|
||||
.attach_button { font-weight: bold; }
|
||||
#help_msg { margin-top: 8px; }
|
||||
|
||||
#attach_wrap {
|
||||
background: #eef3f8;
|
||||
padding: 6px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
#attach_wrap h4 {
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#attach_wrap li {
|
||||
margin: 5px 6px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#attach_wrap .desc.info {
|
||||
margin-left: 24px;
|
||||
}
|
||||
|
||||
/** TAB PREFS STYLES **/
|
||||
#tabBar, #otherMenu { list-style-type: none; margin: 0; padding: 0; }
|
||||
#tabBar li, #otherMenu li { margin: 3px 3px 3px 0; padding: 1px; float: left; width: 100px; height: 90px; font-size: 1em; text-align: center; }
|
||||
#tabPrefSave { height: 30px; }
|
||||
|
||||
#tabPrefSave input[type=button] {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#otherMenu,
|
||||
#tabBar {
|
||||
background: rgb( 42, 77, 124 );
|
||||
height: 52px;
|
||||
padding: 12px 15px 3px;
|
||||
width: 800px;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
#otherMenu > li,
|
||||
#tabBar > li {
|
||||
background: rgb( 42, 77, 124 );
|
||||
cursor: move;
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
font-weight: 300;
|
||||
width: 70px;
|
||||
height: 17px;
|
||||
color: #fff;
|
||||
margin-right: 15px;
|
||||
padding: 10px;
|
||||
text-shadow: 0px 1px 1px rgba(0,0,0,0.6);
|
||||
border:1px dotted #ddd;
|
||||
}
|
||||
|
||||
#tabBar > li.ui-state-disabled {
|
||||
cursor: text;
|
||||
background: transparent;
|
||||
color: #ddd;
|
||||
background-color: rgb( 68, 119, 185 );
|
||||
}
|
||||
|
||||
#otherMenu {
|
||||
background: #f7eff5;
|
||||
color: #811052;
|
||||
}
|
||||
|
||||
#otherMenu > li {
|
||||
background: #ce1b7b url( images/app_menu_highlight.png ) repeat-x bottom;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.3.4
|
||||
* IP.Board v3.4.5
|
||||
* Admin CP global skin templates
|
||||
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
|
||||
* Last Updated: $Date: 2013-05-20 18:47:20 -0400 (Mon, 20 May 2013) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
@@ -13,7 +13,7 @@
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10914 $
|
||||
* @version $Rev: 12262 $
|
||||
* @since 3.0.0
|
||||
*
|
||||
*/
|
||||
@@ -61,6 +61,60 @@ EOF;
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* manageBookmarks
|
||||
*
|
||||
* @param array Bookmarks
|
||||
* @return @e string
|
||||
*/
|
||||
public function manageBookmarks( $bookmarks )
|
||||
{
|
||||
|
||||
$IPBHTML = "";
|
||||
//--starthtml--//
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<h3>{$this->lang->words['bookmarks_title']}</h3>
|
||||
<div class='ipsPad fixed_inner'>
|
||||
<div class='right desctext'>{$this->lang->words['bookmarks_make_home']}</div>
|
||||
<br />
|
||||
<ul id='sortable'>
|
||||
EOF;
|
||||
|
||||
foreach( $bookmarks as $id => $data )
|
||||
{
|
||||
$url = IPSText::truncate( $data['bookmark_url'], 42 );
|
||||
$sel = ( $data['bookmark_home'] ) ? ' checked="checked" ' : '';
|
||||
$pos = intval( $data['bookmark_pos'] );
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<li data-rowid='{$id}' id='bookmark_{$id}'>
|
||||
<span class="draghandle"></span>
|
||||
<div class='right'>
|
||||
<input type='checkbox' data-cboxid='{$id}' name='bookmarkHome[{$id}]' value='{$id}' {$sel}>
|
||||
<img src="{$this->settings['skin_acp_url']}/images/aff_cross.png" data-deleteid="{$id}" class='clickable' />
|
||||
</div>
|
||||
<input type='text' class='input_text' size='60' data-inputname="{$id}" name='bookmarkName[{$id}]' value='{$data['bookmark_title']}' />
|
||||
<span class='desctext'><a href="{$this->settings['_base_url']}&{$data['bookmark_url']}" target="_blank">{$url}</a></span>
|
||||
</li>
|
||||
EOF;
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
</ul>
|
||||
<div class='ipsPad'><input type='button' id='saveBookmarksManage' class='realbutton right' value='{$this->lang->words['bookmarks_save']}' /></div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$("#sortable").sortable();
|
||||
}(jQuery));
|
||||
</script>
|
||||
EOF;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
// <ips:ips_editor:desc::trigger:>
|
||||
//===========================================================================
|
||||
@@ -83,32 +137,39 @@ if ( ! $this->_editorJsLoaded )
|
||||
if ( defined("CK_LOAD_SOURCE") AND CK_LOAD_SOURCE )
|
||||
{
|
||||
$IPBHTML .= <<<EOF
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/ckeditor/ckeditor_source.js"></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/ckeditor/ckeditor_source.js"></script>
|
||||
EOF;
|
||||
}
|
||||
else
|
||||
{
|
||||
$IPBHTML .= <<<EOF
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/ckeditor/ckeditor.js"></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/ckeditor/ckeditor.js"></script>
|
||||
EOF;
|
||||
}
|
||||
|
||||
$CmdVAsPlainText = ( $this->memberData['bw_paste_plain'] ) ? 'true' : 'false';
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<script type="text/javascript" src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/ips.textEditor.js"></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/ips.textEditor.js"></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/ips.textEditor.bbcode.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* Dynamic items */
|
||||
CKEDITOR.config.IPS_BBCODE = {$bbcode};
|
||||
CKEDITOR.config.IPS_BBCODE_IMG_URL = "{$this->settings['public_dir']}style_extra/bbcode_icons";
|
||||
CKEDITOR.config.IPS_BBCODE_IMG_URL = "{$this->settings['js_base_url']}style_extra/bbcode_icons";
|
||||
CKEDITOR.config.IPS_BBCODE_BUTTONS = [];
|
||||
|
||||
/* Has to go before config load */
|
||||
var IPS_smiley_path = "{$this->settings['emoticons_url']}/";
|
||||
var IPS_smiles = {$options['smilies']};
|
||||
var IPS_remove_plugins = [];
|
||||
var IPS_extra_plugins = [];
|
||||
|
||||
/* Load our configuration */
|
||||
CKEDITOR.config.customConfig = '{$this->settings['public_dir']}js/3rd_party/ckeditor/ips_config.js';
|
||||
CKEDITOR.config.customConfig = '{$this->settings['js_base_url']}js/3rd_party/ckeditor/ips_config.js';
|
||||
|
||||
/* Override with prefs */
|
||||
CKEDITOR.config.CmdVAsPlainText = {$CmdVAsPlainText};
|
||||
</script>
|
||||
<style type="text/css">
|
||||
@import url("{$this->settings['css_base_url']}style_css/css_{$defaultSkin}/ipb_ckeditor.css");
|
||||
@@ -117,19 +178,25 @@ EOF;
|
||||
}
|
||||
|
||||
$options['noSmilies'] = intval($options['noSmilies']);
|
||||
$options['isRte'] = intval($options['isRte']);
|
||||
$options['isHtml'] = intval($options['isHtml']);
|
||||
$options['autoSaveKey'] = $options['autoSaveKey'] ? $options['autoSaveKey'] : '';
|
||||
$jsonEncoded = IPSText::jsonEncodeForTemplate( $autoSaveData );
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<input type='hidden' name='noSmilies' id='noSmilies_{$options['editorName']}' value='{$options['noSmilies']}' />
|
||||
<textarea id="{$options['editorName']}" name="{$formField}" class='ips_EditorTextArea'>{$content}</textarea>
|
||||
<a id="ips_switchEditor" style="display:none" href="javascript:void()">Switch to Rich Text Editor</a>
|
||||
<span id='editor_html_message_{$options['editorName']}'> </span>
|
||||
<script type="text/javascript">
|
||||
ipb.textEditor.initialize('{$options['editorName']}', { type: '{$options['type']}',
|
||||
minimize: {$options['minimize']},
|
||||
bypassCKEditor: {$options['bypassCKEditor']},
|
||||
isRte: {$options['isRte']},
|
||||
isHtml: {$options['isHtml']},
|
||||
noSmilies: {$options['noSmilies']},
|
||||
ips_AutoSaveKey: '',
|
||||
ips_AutoSaveData: {} } );
|
||||
ips_AutoSaveKey: '{$options['autoSaveKey']}',
|
||||
ips_AutoSaveData: {$jsonEncoded} } );
|
||||
</script>
|
||||
EOF;
|
||||
//--endhtml--//
|
||||
@@ -365,7 +432,7 @@ $boardurl = ($this->registry->output->isHTTPS) ? $this->settings['board_url_http
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<html xml:lang="ru" lang="ru" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
@@ -498,9 +565,9 @@ HTML;
|
||||
else
|
||||
{*/
|
||||
$IPBHTML .= <<<HTML
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['public_dir']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_base_url']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_base_url']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.menu.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_main_url']}acp.tabs.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
@@ -568,7 +635,7 @@ return $IPBHTML;
|
||||
* @param array Order of tabs
|
||||
* @return string HTML
|
||||
*/
|
||||
public function global_main_wrapper($IPS_DOC_CHAR_SET=IPS_DOC_CHAR_SET, $cssFiles=array(), $gbl_sub_menu='', $tabOrder=array() ) {
|
||||
public function global_main_wrapper($IPS_DOC_CHAR_SET=IPS_DOC_CHAR_SET, $cssFiles=array(), $gbl_sub_menu='', $mainTabData, $otherTabData, $bookMarks=array() ) {
|
||||
|
||||
$IPBHTML = "";
|
||||
//--starthtml--//
|
||||
@@ -648,14 +715,21 @@ else
|
||||
|
||||
if( ( !$licenseData OR !$licenseData['key']['_expires'] OR $licenseData['key']['_expires'] < IPS_UNIX_TIME_NOW and $licenseData['key']['_expires'] != -1 ) AND !IPSCookie::get( 'ignore-license-notice' ) )
|
||||
{
|
||||
$extra_class = 'expired_license';
|
||||
$license_html = <<<HTML
|
||||
<div id='license_notice_expired'>
|
||||
<div class='right'><a id='license-close' href='#'>Close</a></div>
|
||||
<h4>{$this->lang->words['license_expired_header']}</h4>
|
||||
<p>{$this->lang->words['license_expired_info']}</p>
|
||||
</div>
|
||||
if ( $licenseData['_cached_date'] < $licenseData['key']['_expires'] )
|
||||
{
|
||||
$this->cache->rebuildCache( 'licenseData' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$extra_class = 'expired_license';
|
||||
$license_html = <<<HTML
|
||||
<div id='license_notice_expired'>
|
||||
<div class='right'><a id='license-close' href='#'>Close</a></div>
|
||||
<h4>{$this->lang->words['license_expired_header']}</h4>
|
||||
<p>{$this->lang->words['license_expired_info']}</p>
|
||||
</div>
|
||||
HTML;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -663,7 +737,7 @@ $boardurl = ($this->registry->output->isHTTPS) ? $this->settings['board_url_http
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<html xml:lang="ru" lang="ru" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
@@ -807,9 +881,9 @@ HTML;
|
||||
else
|
||||
{*/
|
||||
$IPBHTML .= <<<HTML
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['public_dir']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_base_url']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_base_url']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.menu.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_main_url']}acp.tabs.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
@@ -833,8 +907,10 @@ else
|
||||
}
|
||||
|
||||
$mem_info = json_encode( array( 'g_mem_info' => $this->memberData['g_mem_info'] ) );
|
||||
$base_url = str_replace( '&', '&', $this->settings['_base_url'] );
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<script type='text/javascript' src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/acp.lang.js?ipbv={$this->registry->output->antiCacheHash}" charset="{$IPS_DOC_CHAR_SET}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}3rd_party/jquery.min.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}3rd_party/jquery-ui.min.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
@@ -845,9 +921,10 @@ $IPBHTML .= <<<HTML
|
||||
<script type='text/javascript'>
|
||||
//<![CDATA[
|
||||
ipb.vars['st'] = "{$this->request['st']}";
|
||||
ipb.vars['base_url'] = "{$this->settings['_base_url']}";
|
||||
ipb.vars['base_url'] = "{$base_url}";
|
||||
ipb.vars['front_url'] = "{$this->settings['board_url']}/index.php?";
|
||||
ipb.vars['app_url'] = "{$this->settings['base_url']}";
|
||||
ipb.vars['upload_url'] = "{$this->settings['upload_url']}";
|
||||
ipb.vars['image_url'] = "{$this->settings['skin_app_url']}images/";
|
||||
ipb.vars['image_acp_url'] = "{$this->settings['skin_acp_url']}/images/";
|
||||
ipb.vars['md5_hash'] = "{$this->member->form_hash}";
|
||||
@@ -864,6 +941,7 @@ $IPBHTML .= <<<HTML
|
||||
ipb.templates['ajax_loading'] = "<div id='ajax_loading'>{$this->lang->words['gl_loading']}</div>";
|
||||
ipb.templates['global_notify'] = new Template("<div class='popupWrapper'><div class='popupInner'><div class='ipsPad'>#{message} #{close}</div></div></div>");
|
||||
ipb.templates['global_notify_close'] = "<span id='ipsGlobalNotification_close' class='realbutton'>{$this->lang->words['gbl_ok']}</span>";
|
||||
ipb.templates['acp_bookmark_add'] = new Template("<h3>{$this->lang->words['bookmarks_add_title']}</h3><div class='ipsPad' id='bmcontent'>{$this->lang->words['bookmarks_add_field_title']} <input type='text' class='input_text' style='width:99%' name='bookmarkTitle' value='#{title}' /><br /><input type='checkbox' name='homePage' value='1' /> <span class='desctext'>{$this->lang->words['bookmarks_add_field_home']}</span><br /><br /><div style='text-align:center'><input type='button' class='realbutton' value='{$this->lang->words['bookmarks_save']}' /></div></div>" );
|
||||
//]]>
|
||||
</script>
|
||||
<script type='text/javascript'>
|
||||
@@ -871,7 +949,7 @@ $IPBHTML .= <<<HTML
|
||||
acp = new IPBACP;
|
||||
</script>
|
||||
</head>
|
||||
<body id='ipboard_body' class='{$extra_class} clearfix'>
|
||||
<body id='ipboard_body' data-bookmarkurl="{$bookMarks['url']}" data-bookmarkable="{$bookMarks['can']}" data-bookmarked="{$bookMarks['has']}" class='{$extra_class} clearfix'>
|
||||
<!-- Inline Form Box -->
|
||||
<div id='modal' style='display: none'></div>
|
||||
{$license_html}
|
||||
@@ -979,10 +1057,14 @@ $IPBHTML .= <<<HTML
|
||||
</div>
|
||||
<img src='{$this->settings['skin_acp_url']}/images/live_search_stem.png' id='ls_stem' />
|
||||
</div>
|
||||
<!-- pre load -->
|
||||
<img src='{$this->settings['skin_acp_url']}/images/icons/bookmark_white_20.png' style='display:none' />
|
||||
<img src='{$this->settings['skin_acp_url']}/images/icons/bookmark_grey_20.png' style='display:none' />
|
||||
<div id='app_bar'>
|
||||
<!--<a class='right' id='edit_tabs' href='#' title="Set up the app bar just the way you want">Edit Tabs</a>-->
|
||||
<a class='right' id='edit_tabs' href='#' title="{$this->lang->words['set_up_tabs']}">{$this->lang->words['edit_tabs']}</a>
|
||||
|
||||
HTML;
|
||||
$IPBHTML .= $this->global_app_menu_html( $gbl_sub_menu, $tabOrder );
|
||||
$IPBHTML .= $this->global_app_menu_html( $gbl_sub_menu, $mainTabData, $otherTabData );
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
</div>
|
||||
@@ -1013,13 +1095,26 @@ $IPBHTML .= <<<HTML
|
||||
HTML;
|
||||
}
|
||||
|
||||
$acpUrl = str_replace( '&', '&', $this->settings['_base_url'] );
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
</div>
|
||||
|
||||
<script type='text/javascript'>
|
||||
jQuery.extend(true, ips,
|
||||
{
|
||||
member: { member_id: parseInt( $this->memberData['member_id'] ) },
|
||||
acpUrl: '{$acpUrl}',
|
||||
rootUrl: '{$this->settings['board_url']}',
|
||||
publicUrl: '{$this->settings['board_url']}/index.php?}',
|
||||
publicImageUrl: "{$this->settings['skin_app_url']}images/",
|
||||
acpImageUrl: "{$this->settings['skin_acp_url']}/images/",
|
||||
formToken: '{$this->member->form_hash}',
|
||||
bookmarksJSON: {$bookMarks['jsn']}
|
||||
} );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
@@ -1153,7 +1248,7 @@ return $return;
|
||||
* @param array Tab order
|
||||
* @return string HTML
|
||||
*/
|
||||
public function global_app_menu_html( $raw_menu, $tabOrder ) {
|
||||
public function global_app_menu_html( $raw_menu, $mainTabData, $otherTabData ) {
|
||||
|
||||
$fakeAppAccess = array();
|
||||
|
||||
@@ -1162,84 +1257,48 @@ $IPBHTML = "";
|
||||
|
||||
$menus = $this->global_menu_sub_navigation( $raw_menu );
|
||||
|
||||
$curApp = array();
|
||||
$defaultFakeApp = array();
|
||||
$defaultFakeModule = array();
|
||||
|
||||
switch( ipsRegistry::$current_application )
|
||||
{
|
||||
case 'forums':
|
||||
$curApp['forums'] = 'active';
|
||||
break;
|
||||
case 'core':
|
||||
$curApp['core'] = 'active';
|
||||
break;
|
||||
case 'members':
|
||||
$curApp['members'] = 'active';
|
||||
break;
|
||||
default:
|
||||
$curApp['other'] = 'active';
|
||||
break;
|
||||
}
|
||||
|
||||
//print_r( $menus );
|
||||
$fakeApps = $this->registry->output->fetchFakeApps();
|
||||
|
||||
foreach( $fakeApps as $fa => $data )
|
||||
{
|
||||
$fakeAppAccess[ $fa ] = FALSE;
|
||||
foreach( $data as $appData )
|
||||
{
|
||||
if ( !$fakeAppAccess[ $fa ] and ipsRegistry::getClass('class_permissions')->checkForModuleAccess( $appData['app'], $appData['module'] ) )
|
||||
{
|
||||
$fakeAppAccess[ $fa ] = TRUE;
|
||||
}
|
||||
|
||||
if ( ! $defaultFakeApp[ $fa ] )
|
||||
{
|
||||
$defaultFakeApp[ $fa ] = $appData['app'];
|
||||
$defaultFakeModule[ $fa ] = $appData['module'];
|
||||
}
|
||||
|
||||
if ( $appData['app'] == ipsRegistry::$current_application && $appData['module'] == ipsRegistry::$current_module )
|
||||
{
|
||||
$curApp = array();
|
||||
$curApp[ $fa ] = 'active';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<ul id='app_menu' class='app_menu'>
|
||||
<li>
|
||||
<a href='#' id='bookmarks_button'><img src='{$this->settings['skin_acp_url']}/images/icons/bookmark_white_20.png' /></a>
|
||||
<ul id='bookmarks_items' class='right' style='display:none'></ul>
|
||||
</li>
|
||||
HTML;
|
||||
|
||||
$applications = ipsRegistry::$applications;
|
||||
$count = 0;
|
||||
$this->registry->getClass('class_permissions')->return = 1;
|
||||
$other_menu = "";
|
||||
$count = 0;
|
||||
$other_menu = "";
|
||||
$otherIsActive = false;
|
||||
|
||||
/* Loop */
|
||||
foreach( $applications as $app_dir => $app_data )
|
||||
foreach( $otherTabData as $tabkey => $data )
|
||||
{
|
||||
$tag = '';
|
||||
|
||||
if ( in_array( $app_data['app_directory'], array( 'core', 'forums', 'members' ) ) || $this->registry->getClass('class_permissions')->checkForAppAccess( $app_data['app_directory'] ) !== TRUE || ! $applications[ $app_dir ]['app_enabled'] )
|
||||
if ( ! $data['isEnabled'] || ! $data['permCheck'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if( $app_data['app_location'] == 'ips' )
|
||||
|
||||
if ( $data['active'] )
|
||||
{
|
||||
$otherIsActive = true;
|
||||
}
|
||||
|
||||
if ( ipsRegistry::$applications[ $data['appDir'] ]['app_location'] == 'ips' || ipsRegistry::$applications[ $data['appDir'] ]['app_location'] == 'root' )
|
||||
{
|
||||
$tag = "<span class='ipsBadge badge_purple'>{$this->lang->words['gl_ipsapp']}</span> ";
|
||||
}
|
||||
|
||||
$other_menu .= <<<EOF
|
||||
<li id='app_{$app_dir}'>
|
||||
<a href='{$this->settings['_base_url']}app={$app_data['app_directory']}'>
|
||||
<li id='app_{$data['appDir']}'>
|
||||
<a href='{$data['url']}'>
|
||||
{$tag}
|
||||
{$app_data['app_title']}
|
||||
{$data['title']}
|
||||
</a>
|
||||
{$menus[ $app_dir ]}
|
||||
{$menus[ $tabkey ]}
|
||||
</li>
|
||||
EOF;
|
||||
$count++;
|
||||
@@ -1249,62 +1308,29 @@ EOF;
|
||||
// Draw tabs based on order preference
|
||||
//-----------------------------------------
|
||||
|
||||
foreach( $tabOrder as $tabkey )
|
||||
foreach( $mainTabData as $tabkey => $data )
|
||||
{
|
||||
if( $tabkey == 'other' AND !$count )
|
||||
if ( $tabkey == 'other' )
|
||||
{
|
||||
continue;
|
||||
if ( ! $count )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$data['active'] = $otherIsActive;
|
||||
}
|
||||
|
||||
$permCheck = TRUE;
|
||||
switch( $tabkey )
|
||||
{
|
||||
case 'core':
|
||||
$title = $this->lang->words['gl_system'];
|
||||
$link = "{$this->settings['_base_url']}app=core";
|
||||
$permCheck = ipsRegistry::getClass('class_permissions')->checkForAppAccess( 'core' );
|
||||
break;
|
||||
|
||||
case 'forums':
|
||||
$title = $this->lang->words['gl_forums'];
|
||||
$link = "{$this->settings['_base_url']}app=forums";
|
||||
$permCheck = ipsRegistry::getClass('class_permissions')->checkForAppAccess( 'forums' );
|
||||
break;
|
||||
|
||||
case 'members':
|
||||
$title = $this->lang->words['gl_members'];
|
||||
$link = "{$this->settings['_base_url']}app=members";
|
||||
$permCheck = ipsRegistry::getClass('class_permissions')->checkForAppAccess( 'members' );
|
||||
break;
|
||||
|
||||
case 'lookfeel':
|
||||
$title = $this->lang->words['gl_lookandfeel'];
|
||||
$link = "{$this->settings['_base_url']}app={$defaultFakeApp['lookfeel']}&module={$defaultFakeModule['lookfeel']}";
|
||||
$permCheck = $fakeAppAccess['lookfeel'];
|
||||
break;
|
||||
|
||||
case 'support':
|
||||
$title = $this->lang->words['gl_support'];
|
||||
$link = "{$this->settings['_base_url']}app=core&module=diagnostics";
|
||||
$permCheck = $fakeAppAccess['support'];
|
||||
break;
|
||||
|
||||
case 'reports':
|
||||
$title = $this->lang->words['gl_reportsmenu'];
|
||||
$link = "{$this->settings['_base_url']}app={$defaultFakeApp['reports']}&module={$defaultFakeModule['reports']}";
|
||||
$permCheck = $fakeAppAccess['reports'];
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !$permCheck )
|
||||
if ( ! $data['isEnabled'] || ! $data['permCheck'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
$class = ( $data['active'] ) ? 'active' : '';
|
||||
|
||||
if( $tabkey == 'other' )
|
||||
{
|
||||
$IPBHTML .= <<<HTML
|
||||
<li class='{$curApp['other']}'>
|
||||
<li class='{$class}'>
|
||||
<a href='{$this->settings['_base_url']}app=core&module=applications&section=applications&do=applications_overview'>{$this->lang->words['other_applications']}</a>
|
||||
<ul id='menu__other' style='display: none'>
|
||||
{$other_menu}
|
||||
@@ -1315,8 +1341,8 @@ HTML;
|
||||
else
|
||||
{
|
||||
$IPBHTML .= <<<HTML
|
||||
<li class='{$curApp[$tabkey]}'>
|
||||
<a href='{$link}'>{$title}</a>
|
||||
<li class='{$class}'>
|
||||
<a href='{$data['url']}'>{$data['title']}</a>
|
||||
{$menus[ $tabkey ]}
|
||||
</li>
|
||||
HTML;
|
||||
@@ -1391,7 +1417,7 @@ $IPBHTML = "";
|
||||
|
||||
$IPBHTML .= <<<EOF
|
||||
<br /><br />
|
||||
<div align='center' style='margin-left:auto;margin-right:0'>
|
||||
<div align='center' class='clear' style='margin-left:auto;margin-right:0'>
|
||||
<div class='acp-box' style='text-align:left;'>
|
||||
<h3>{$this->lang->words['gbl_queries']}</h3>
|
||||
<div style='overflow:auto'>{$queries}</div>
|
||||
@@ -1480,9 +1506,16 @@ $IPBHTML = "";
|
||||
$IPS_DOC_CHAR_SET = IPS_DOC_CHAR_SET;
|
||||
$publicDirectory = PUBLIC_DIRECTORY;
|
||||
|
||||
if ( $this->settings['logins_over_https'] )
|
||||
{
|
||||
$this->settings['skin_acp_url'] = str_replace( 'http://', 'https://', $this->settings['skin_acp_url'] );
|
||||
$this->settings['public_dir'] = str_replace( 'http://', 'https://', $this->settings['public_dir'] );
|
||||
$this->settings['js_main_url'] = str_replace( 'http://', 'https://', $this->settings['js_main_url'] );
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<html xml:lang="ru" lang="ru" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
@@ -1554,9 +1587,9 @@ HTML;
|
||||
else
|
||||
{*/
|
||||
$IPBHTML .= <<<HTML
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['public_dir']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_base_url']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_base_url']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.menu.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_main_url']}acp.tabs.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
@@ -1691,9 +1724,9 @@ $IPBHTML .= <<<EOF
|
||||
jsDebug = 0;
|
||||
USE_RTE = 0;
|
||||
</script>
|
||||
<script type="text/javascript" src="{$this->settings['public_dir']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['public_dir']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/prototype.js?ipbv={$this->registry->output->antiCacheHash}"></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_base_url']}js/3rd_party/scriptaculous/scriptaculous-cache.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_base_url']}js/ipb.js?ipbv={$this->registry->output->antiCacheHash}&load={$this->settings['extraJsModules']}'></script>
|
||||
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript" src='{$this->settings['js_main_url']}acp.tabs.js?ipbv={$this->registry->output->antiCacheHash}'></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 393 B |
Binary file not shown.
|
After Width: | Height: | Size: 302 B |
Binary file not shown.
|
After Width: | Height: | Size: 853 B |
Reference in new issue
Block a user