Jump to content

Kenzzo

+Helpers
  • Posts

    206
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Kenzzo

  1. Intra in: AdminCP > Look & Feel > Tema Ta > CSS > ipshoutbox.css Modifica ce ai acolo cu asta: Save! Si acum o sa ai alt stil la chat.. sau poti modifica tu singur culorile de acolo .. Bafta!
  2. Yeap, este foarte simplu.. Du-te in: AdminCP > Look & Feel > Tema Ta > CSS > ipb_styless.cssadauga jos detot aceste coduri:.SpecialUser{ color: #fff; /*font-weight: bold;*/ background: #0080c0; padding: 3px 8px; font-size: 11px; /*text-transform: uppercase;*/ -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; text-shadow: rgba(0,0,0,0.2) 0px -1px 0px; display: inline-block;}Save! Apoi te duci la: AdminCP > Members > Member Groups > Manage Member GroupsAlegi grupu` dorit de tine, unde adaugi, la: Group Formatting Prefix --><span class="SpecialUser"><img src="http://forum.softpedia.com//public/style_images/classic/user_login.png"> <i></i>iar la: Group Formatting Suffix , inchizi eticheta cu: </span>Poti customiza grupurile, cum doresti tu in functie de codu` de mai sus... unde ai: <img scr="bla bla bla.png"> poti schimba denumirea bla bla bla cu link, sau imaginea dorita... De asemenea poti schimba acest backgound: background: #0080c0;cu culoarea dorita, in functie de grup , schimbi background-ul cu altceva.. sper ca ai inteles Poti sa pui ce denumire doresti tu in clasa CSS , eu am ales sa pun "SpecialUser" , poti schimba cu ce doresti tu.. Succes!
  3. Trebuie sa descarci arhiva cu folder-ul social_media si sa-l bagi in folderul de imagini al temei tale ( tema care o folosesti pe forum )
  4. Uite: http://pctroubleshooting.ro/topic/24002-cum-adaug-bara-rotunjita-si-tabel-la-profil-topic-view-ipb/ ... si pentru butoane cauta cu inspect element
  5. Depinde de telefon.. spre exemplu` cum am eu Iphone 4 stiti foarte bine toti, ca bateria nu este punctul forte al telefonului, dar fata de versiunile noi aparute de Iphone, eu unu sunt multumit de el.. spre exemplu` ma tine si 2 zile bateria.. si sincer sa fiu este de 16GB si am instalat pe el cam toate aplicatiile necesare telefonului.. Ca bateria sa ma tina mai mult.. las luminozitatea pe minim, bluetooth dezactivat, inchid aplicatiile ca spre exemplu` executarea si neinchiderea aplicatiilor are o contributie destul de majora la scaderea procentajului bateriei! .. In rest telefonul il folosesc lejer .. cam cel mai mult wi-fi consuma bateria atat la tablete si la telefoane, dar nu numai wi-fi, intervin mai multi "actionari" in scaderea bateriei, care au fost enumerati mai sus, de ceilalti utilizatori ai forumului
  6. Vezi in: ipb_styless.css Al temei tale ai linia: .ipsUserPhoto_large Vezi sa nu fi uitat vreun cod deschis sau seteaza asa: .ipsUserPhoto_large { max-width: 90px; max-height: 90px; } Save! si zi-mi daca se vede altfel
  7. Pentru Semnatura du-te in: AdminCP > Look & Feel > Tema Ta > Global Templates > signature_separator Vezi daca este acolo .. presupun ca este imagine.. Iar pentru meniu du-te in: globalTemplate al temei tale si ai linia: <!-- ::: APPLICATION TABS ::: --> Modifici de acolo dupa bunul plac, sau subiecte similare, vezi: http://pctroubleshooting.ro/topic/24213-modificare-meniu-ipb-si-aduagare-text-in-header/ http://www.invisionpower.ro/topic/182-modificare-meniu/ http://pctroubleshooting.ro/topic/23347-adaugare-meniu-redzmaxcom-si-modificare-culoare-pinned-in-ipb/ http://www.invisionpower.ro/topic/511-meniu-ecila-schimbare-culoare-border-user-bar/ dar vezi si tutuorialul lui Courage: http://pctroubleshooting.ro/topic/18678-tutorial-skinning-ipb-31-32-33-34/ .. Bafta!
  8. Du-te in: AdminCP > Members > Member Groups > Manage Member Groups pentru Administrator ai la: Group Formatting Prefix ai urmatoru` cod: <span style="color: #FF0000"> si la: Group Formatting Suffix inchizi cu: </span> Pentru Super-Moderator ai: Preffix: <span style="color: #FF9900"> , Sufffix: </span> ; Pentru Moderator: Preffix: <span style="color: #09c917"> Suffix: </span> ; Pentru EX Staff: Preffix: <span style="color:#c65341; background-image: url(&quot;./textspan/background.gif&quot;)"> , suffix: </span> ; Pentru Premium ai: Preffix: <span style="color:#fae157; background-image: url(&quot;./textspan/background.gif&quot;)"> , Suffix: </span> ; Pentru Uploader ai: Preffix: <span style="color: #2f9d8c"> , Suffix: </span> ; Pentru IT Helper ai: Preffix: <span style="color:#35ac72"> , Suffix: </span> ; Pentru Overwatch ai: Preffix: <span style="color:#00aaff"> , Suffix: </span> ; Pentru Gfx Designer ai: Preffix: <span style="color: #E60066"> , Suffix: </span> ; Pentru Manager Server ai: Preffix: <span style="color:#3399ff"> , Suffix: </span> ; Pentru Manager CS:Go ai: Preffix: <span style="color:#ff631b"> , Suffix: </span> ; Pentru Afliat ai: Preffix: <span style="color:#80C8FE"> , Suffix: </span> ; Pentru Girls ai: Preffix: <span style="color:#E474CD"> , Suffix: </span> ; Pentru Members ai: Preffix: <span style="color:grey"> , Suffix: </span> ;
  9. Stergi linia: <if test="memberbox:|:$this->memberData['member_id']"> Adica sa fie decat: Save! Iar apoi va aparea si la guest .. Bafta!
  10. Problema fiind?! probabil ca vrei din rotund sa-l readuci standard cum e pe orice tema, banuiesc..
  11. in: BoardIndexTemplate al temei tale, ai linia: <foreach loop="side_blocks:$side_blocks as $block">Restu` codurilor de mai sus, le adaugi deasupra ei! ca sa fie prima cum ai zis si tu! daca adaugi sub: <foreach loop="side_blocks:$side_blocks as $block">normal ca nu apare prima! ..
  12. Uite aici: http://pctroubleshooting.ro/topic/24737-tutorial-adaugare-profil-in-sidebar-ipb/#comment-133129 .. succes!
  13. Ai activat Sidebar-ul ? .. care tema?!
  14. Daca ai acces ACP, cauta-ti numele in casuta de search de sus dreapta ( ACP ) .. dupa ce ti-ai gasit numele , ai acolo: Log In, Ban Member, Action .. ei bine verifica la --> Ban Member ( sa nu ai acolo o adresa IP bifata care iti blocheaza accesu` pe forum ) , am patit si eu asta! daca nu poti singur da-i unui cont facut de tine acces ACP , si procedezi cum am zis eu mai sus.. mie mi-a mers!
  15. Pentru Recent Topics ai nevoie de acest hook : http://webflake.sx/files/file/127-recent-topics/ si la a 2 parte nu am inteles
  16. Probabil a dat edit post si a colorat numele.. sau nu stiu .. poti activa din: AdminCP > ShoutBox > Settings > Global Configuration > Feature Settings > Allow the @ link? si lasi bifat pe Yes!
  17. As dori si eu sa stiu cum pot sa le afisez! am urmat pasii, in schimb nu apar
  18. Poti dezactiva decat click dreapta, insa cum a zis si gaby merge accesat din meniu browser-ului.. nu poti sa dezactivezi acest inspect
  19. Ai verificat si asta?.. http://pctroubleshooting.ro/topic/23316-cum-modific-aspectul-statisticilor-in-ipb/
  20. Posteaza boardindextemplate aici intre tag-urile: spoiler
  21. Nu are nicio treaba cu ce a zis HardKenzo, intra in: AdminCP > Look & Feel > Tema Ta > CSS CTRL + F ( pentru cautare ) , si cauta liniile acestea: #board_stats ul { si: #board_stats .value {modifici de acolo background si tot ce doresti, poti verifica si asta: http://pctroubleshooting.ro/topic/23316-cum-modific-aspectul-statisticilor-in-ipb/ , succes!
  22. Intra in: FTP -> admin -> skin_cp -> cp_skin_global.php [/code] si schimba tot fisieru: [code]cp_skin.global.php [/code]cu acesta: [spoiler] <?php /** * <pre> * Invision Power Services * IP.Board v3.4.6 * Admin CP global skin templates * Last Updated: $Date: 2013-05-20 18:47:20 -0400 (Mon, 20 May 2013) $ * </pre> * * @author $Author: bfarber $ * @copyright (c) 2001 - 2009 Invision Power Services, Inc. * @license http://www.invisionpower.com/company/standards.php#license * @package IP.Board * @link http://www.invisionpower.com * @version $Rev: 12262 $ * @since 3.0.0 * */ class cp_skin_global extends output { /** * Prevent our main destructor being called by this class * * @access public * @return @e void */ public function __destruct() { } /** * Redirector page * * @param string $url URL to send to * @param string $text Text to display * @return @e string */ public function temporaryRedirect( $url, $text, $time=2 ) { $time = floatval( $time ) * 1000; $IPBHTML = ""; //--starthtml--// $url = str_replace( '&amp;', '&', $url ); $IPBHTML .= <<<EOF <div class='information-box'>{$text}</div> <script type='text/javascript'> jQ(document).ready(function() { setTimeout( "window.location = '{$url}';", {$time} ); }); </script> EOF; //--endhtml--// 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}> &nbsp; <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']}&amp;{$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:> //=========================================================================== function editor($formField='post', $content='', $options=array(), $autoSaveData=array() ) { $IPBHTML = ""; //--starthtml--// $options['type'] = ( $options['type'] ) ? $options['type'] : "''"; $options['minimize'] = intval( $options['minimize'] ); $options['smilies'] = IPSText::jsonEncodeForTemplate( is_array($options['smilies']) ? $options['smilies'] : array() ); $options['noSmilies'] = intval( $options['noSmilies'] ); $bbcode = IPSLib::fetchBbcodeAsJson(); $defaultSkin = $this->registry->output->_fetchSkinByDefault(); if ( ! $this->_editorJsLoaded ) { $this->_editorJsLoaded = true; if ( defined("CK_LOAD_SOURCE") AND CK_LOAD_SOURCE ) { $IPBHTML .= <<<EOF <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['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['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['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['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"); </style> 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']}'>&nbsp;</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: '{$options['autoSaveKey']}', ips_AutoSaveData: {$jsonEncoded} } ); </script> EOF; //--endhtml--// return $IPBHTML; } /** * Editor template for ACP * * @access public * @param string From field name * @param string Initial content for the editor * @param string Path to the images * @param integer Whether RTE is enabled (1) or not (0) * @param string Editor id * @param string Emoticon data * @return string HTML */ public function ips_editor($form_field="",$initial_content="",$images_path="",$rte_mode=0,$editor_id='ed-0',$smilies='') { $IPBHTML = ""; //--starthtml--// $this->settings['extraJsModules'] .= ",editor"; $bbcodes = IPSLib::fetchBbcodeAsJson(); $show_sidebar = IPSCookie::get('emoticon_sidebar'); $show_sidebar_class = $show_sidebar && $this->settings['_remove_emoticons'] == 0 ? 'with_sidebar' : ''; $show_sidebar_style = $show_sidebar && $this->settings['_remove_emoticons'] == 0 ? '' : "style='display:none'"; $show_sidebar_link = $show_sidebar && $this->settings['_remove_emoticons'] == 0 ? 'true' : 'false'; $IPBHTML .= <<<EOF <!--top--> <input type='hidden' name='{$editor_id}_wysiwyg_used' id='{$editor_id}_wysiwyg_used' value='0' /> <input type='hidden' name='editor_ids[]' value='{$editor_id}' /> <div class='ips_editor {$show_sidebar_class}' id='editor_{$editor_id}'> EOF; if( $this->settings['_remove_emoticons'] == 0 ) { $IPBHTML .= <<<EOF <div class='sidebar row1 altrow' id='{$editor_id}_sidebar' {$show_sidebar_style}> <h4><img src='{$this->settings['img_url']}/close_popup.png' alt='{$this->lang->words['icon']}' id='{$editor_id}_close_sidebar' /><span>{$this->lang->words['emoticons_template_title']}</span></h4> <div id='{$editor_id}_emoticon_holder' class='emoticon_holder'></div> <div class='show_all_emoticons' id='{$editor_id}_showall_bar'> <input type='button' value='{$this->lang->words['show_all_emotes']}' id='{$editor_id}_showall_emoticons' class='input_submit emoticons' /> </div> </div> EOF; } $IPBHTML .= <<<EOF <div id='{$editor_id}_controls' class='controls'> <ul id='{$editor_id}_toolbar_1' class='toolbar' style='display: none'> <li class='left'> <span id='{$editor_id}_cmd_removeformat' class='rte_control rte_button' title='{$this->lang->words['js_tt_noformat']}'><img src='{$this->settings['img_url']}/rte_icons/remove_formatting.png' alt='{$this->lang->words['js_tt_noformat']}' /></span> </li> <li class='left'> <span id='{$editor_id}_cmd_togglesource' class='rte_control rte_button' title='{$this->lang->words['js_tt_htmlsource']}'><img src='{$this->settings['img_url']}/rte_icons/toggle_source.png' alt='{$this->lang->words['js_tt_htmlsource']}' /></span> </li> <li class='left'> <span id='{$editor_id}_cmd_otherstyles' class='rte_control rte_menu rte_special' title='{$this->lang->words['box_other_desc']}' style='display: none'>{$this->lang->words['box_other']}</span> </li> <li class='left'> <span id='{$editor_id}_cmd_fontname' class='rte_control rte_menu rte_font' title='{$this->lang->words['box_font_desc']}'>{$this->lang->words['box_font']}</span> </li> <li class='left'> <span id='{$editor_id}_cmd_fontsize' class='rte_control rte_menu rte_fontsize' title='{$this->lang->words['box_size_desc']}'>{$this->lang->words['box_size']}</span> </li> <li class='left'> <span id='{$editor_id}_cmd_forecolor' class='rte_control rte_palette' title='{$this->lang->words['js_tt_font_col']}'><img src='{$this->settings['img_url']}/rte_icons/font_color.png' alt='{$this->lang->words['js_tt_font_col']}' /></span> </li> <!--<li class='left'> <span id='{$editor_id}_cmd_backcolor' class='rte_control rte_palette' title='{$this->lang->words['js_tt_back_col']}'><img src='{$this->settings['img_url']}/rte_icons/background_color.png' alt='{$this->lang->words['js_tt_back_col']}' /></span> </li>--> <li class='right'> <span id='{$editor_id}_cmd_spellcheck' class='rte_control rte_button' title='{$this->lang->words['js_tt_spellcheck']}'><img src='{$this->settings['img_url']}/rte_icons/spellcheck.png' alt='{$this->lang->words['js_tt_spellcheck']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_r_small' class='rte_control rte_button' title='{$this->lang->words['js_tt_resizesmall']}'><img src='{$this->settings['img_url']}/rte_icons/resize_small.png' alt='{$this->lang->words['js_tt_resizesmall']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_r_big' class='rte_control rte_button' title='{$this->lang->words['js_tt_resizebig']}'><img src='{$this->settings['img_url']}/rte_icons/resize_big.png' alt='{$this->lang->words['js_tt_resizebig']}' /></span> </li> <li class='right sep'> <span id='{$editor_id}_cmd_help' class='rte_control rte_button' title='{$this->lang->words['js_tt_help']}'><a href='{$this->settings['board_url']}/index.php?app=forums&amp;module=extras&amp;section=legends&amp;do=bbcode' title='{$this->lang->words['js_tt_help']}'><img src='{$this->settings['img_url']}/rte_icons/help.png' alt='{$this->lang->words['js_tt_help']}' /></a></span> </li> <li class='right sep'> <span id='{$editor_id}_cmd_undo' class='rte_control rte_button' title='{$this->lang->words['js_tt_undo']}'><img src='{$this->settings['img_url']}/rte_icons/undo.png' alt='{$this->lang->words['js_tt_undo']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_redo' class='rte_control rte_button' title='{$this->lang->words['js_tt_redo']}'><img src='{$this->settings['img_url']}/rte_icons/redo.png' alt='{$this->lang->words['js_tt_redo']}' /></span> </li> </ul> <ul id='{$editor_id}_toolbar_2' class='toolbar' style='display: none'> <li> <span id='{$editor_id}_cmd_bold' class='rte_control rte_button' title='{$this->lang->words['js_tt_bold']}'><img src='{$this->settings['img_url']}/rte_icons/bold.png' alt='{$this->lang->words['js_tt_bold']}' /></span> </li> <li> <span id='{$editor_id}_cmd_italic' class='rte_control rte_button' title='{$this->lang->words['js_tt_italic']}'><img src='{$this->settings['img_url']}/rte_icons/italic.png' alt='{$this->lang->words['js_tt_italic']}' /></span> </li> <li> <span id='{$editor_id}_cmd_underline' class='rte_control rte_button' title='{$this->lang->words['js_tt_underline']}'><img src='{$this->settings['img_url']}/rte_icons/underline.png' alt='{$this->lang->words['js_tt_underline']}' /></span> </li> <li class='sep'> <span id='{$editor_id}_cmd_strikethrough' class='rte_control rte_button' title='{$this->lang->words['js_tt_strike']}'><img src='{$this->settings['img_url']}/rte_icons/strike.png' alt='{$this->lang->words['js_tt_strike']}' /></span> </li> <li> <span id='{$editor_id}_cmd_subscript' class='rte_control rte_button' title='{$this->lang->words['js_tt_sub']}'><img src='{$this->settings['img_url']}/rte_icons/subscript.png' alt='{$this->lang->words['js_tt_sub']}' /></span> </li> <li class='sep'> <span id='{$editor_id}_cmd_superscript' class='rte_control rte_button' title='{$this->lang->words['js_tt_sup']}'><img src='{$this->settings['img_url']}/rte_icons/superscript.png' alt='{$this->lang->words['js_tt_sup']}' /></span> </li> <li> <span id='{$editor_id}_cmd_insertunorderedlist' class='rte_control rte_button' title='{$this->lang->words['js_tt_list']}'><img src='{$this->settings['img_url']}/rte_icons/unordered_list.png' alt='{$this->lang->words['js_tt_list']}' /></span> </li> <li class='sep'> <span id='{$editor_id}_cmd_insertorderedlist' class='rte_control rte_button' title='{$this->lang->words['js_tt_list']}'><img src='{$this->settings['img_url']}/rte_icons/ordered_list.png' alt='{$this->lang->words['js_tt_list']}' /></span> </li> EOF; if( $this->settings['_remove_emoticons'] == 0 ) { $IPBHTML .= <<<EOF <li> <span id='{$editor_id}_cmd_emoticons' class='rte_control rte_button' title='{$this->lang->words['js_tt_emoticons']}'><img src='{$this->settings['img_url']}/rte_icons/emoticons.png' alt='{$this->lang->words['js_tt_emoticons']}' /></span> </li> EOF; } $IPBHTML .= <<<EOF <li> <span id='{$editor_id}_cmd_link' class='rte_control rte_palette' title='{$this->lang->words['js_tt_link']}'><img src='{$this->settings['img_url']}/rte_icons/link.png' alt='{$this->lang->words['js_tt_link']}' /></span> </li> <li> <span id='{$editor_id}_cmd_image' class='rte_control rte_palette' title='{$this->lang->words['js_tt_image']}'><img src='{$this->settings['img_url']}/rte_icons/picture.png' alt='{$this->lang->words['js_tt_image']}' /></span> </li> <li> <span id='{$editor_id}_cmd_email' class='rte_control rte_palette' title='{$this->lang->words['js_tt_email']}'><img src='{$this->settings['img_url']}/rte_icons/email.png' alt='{$this->lang->words['js_tt_email']}' /></span> </li> <li> <span id='{$editor_id}_cmd_ipb_quote' class='rte_control rte_button' title='{$this->lang->words['js_tt_quote']}'><img src='{$this->settings['img_url']}/rte_icons/quote.png' alt='{$this->lang->words['js_tt_quote']}' /></span> </li> <li> <span id='{$editor_id}_cmd_ipb_code' class='rte_control rte_button' title='{$this->lang->words['js_tt_code']}'><img src='{$this->settings['img_url']}/rte_icons/code.png' alt='{$this->lang->words['js_tt_code']}' /></span> </li> <li> <span id='{$editor_id}_cmd_media' class='rte_control rte_palette' title='{$this->lang->words['js_tt_media']}'><img src='{$this->settings['img_url']}/rte_icons/media.png' alt='{$this->lang->words['js_tt_media']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_justifyright' class='rte_control rte_button' title='{$this->lang->words['js_tt_right']}'><img src='{$this->settings['img_url']}/rte_icons/align_right.png' alt='{$this->lang->words['js_tt_right']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_justifycenter' class='rte_control rte_button' title='{$this->lang->words['js_tt_center']}'><img src='{$this->settings['img_url']}/rte_icons/align_center.png' alt='{$this->lang->words['js_tt_center']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_justifyleft' class='rte_control rte_button' title='{$this->lang->words['js_tt_left']}'><img src='{$this->settings['img_url']}/rte_icons/align_left.png' alt='{$this->lang->words['js_tt_left']}' /></span> </li> <li class='right sep'> <span id='{$editor_id}_cmd_indent' class='rte_control rte_button' title='{$this->lang->words['js_tt_indent']}'><img src='{$this->settings['img_url']}/rte_icons/indent.png' alt='{$this->lang->words['js_tt_indent']}' /></span> </li> <li class='right'> <span id='{$editor_id}_cmd_outdent' class='rte_control rte_button' title='{$this->lang->words['js_tt_outdent']}'><img src='{$this->settings['img_url']}/rte_icons/outdent.png' alt='{$this->lang->words['js_tt_outdent']}' /></span> </li> </ul> </div> <div id='{$editor_id}_wrap' class='editor'> <textarea name="{$form_field}" class="input_rte" id="{$editor_id}_textarea" rows="10" cols="60" tabindex="0">{$initial_content}</textarea> </div> </div> <!-- Toolpanes --> <script type="text/javascript"> //<![CDATA[ $('{$editor_id}_toolbar_1').show(); $('{$editor_id}_toolbar_2').show(); // Rikki: Had to remove <form>... </form> because Opera would see </form> and not pass the topic icons / hidden fields properly. Tried "</" + "form>" but when it is parsed, it had the same affect ipb.editor_values.get('templates')['link'] = new Template("<label for='#{id}_url'>{$this->lang->words['js_template_url']}</label><input type='text' class='input_text' id='#{id}_url' value='http://' tabindex='10' /><label for='#{id}_urltext'>{$this->lang->words['js_template_link']}</label><input type='text' class='input_text _select' id='#{id}_urltext' value='{$this->lang->words['js_template_default']}' tabindex='11' /><input type='submit' class='input_submit' value='{$this->lang->words['js_template_insert_link']}' tabindex='12' />"); ipb.editor_values.get('templates')['image'] = new Template("<label for='#{id}_img'>{$this->lang->words['js_template_imageurl']}</label><input type='text' class='input_text' id='#{id}_img' value='http://' tabindex='10' /><input type='submit' class='input_submit' value='{$this->lang->words['js_template_insert_img']}' tabindex='11' />"); ipb.editor_values.get('templates')['email'] = new Template("<label for='#{id}_email'>{$this->lang->words['js_template_email_url']}</label><input type='text' class='input_text' id='#{id}_email' tabindex='10' /><label for='#{id}_emailtext'>{$this->lang->words['js_template_link']}</label><input type='text' class='input_text _select' id='#{id}_emailtext' value='{$this->lang->words['js_template_email_me']}' tabindex='11' /><input type='submit' class='input_submit' value='{$this->lang->words['js_template_insert_email']}' tabindex='12' />"); ipb.editor_values.get('templates')['media'] = new Template("<label for='#{id}_media'>{$this->lang->words['js_template_media_url']}</label><input type='text' class='input_text' id='#{id}_media' value='http://' tabindex='10' /><input type='submit' class='input_submit' value='{$this->lang->words['js_template_insert_media']}' tabindex='11' />"); ipb.editor_values.get('templates')['generic'] = new Template("<div class='rte_title'>#{title}</div><strong>{$this->lang->words['js_template_example']}</strong><pre>#{example}</pre><label for='#{id}_option' class='optional'>#{option_text}</label><input type='text' class='input_text optional' id='#{id}_option' tabindex='10' /><label for='#{id}_text' class='tagcontent'>#{value_text}</label><input type='text' class='input_text _select tagcontent' id='#{id}_text' tabindex='11' /><input type='submit' class='input_submit' value='{$this->lang->words['js_template_add']}' tabindex='12' />"); ipb.editor_values.get('templates')['toolbar'] = new Template("<ul id='#{id}_toolbar_#{toolbarid}' class='toolbar' style='display: none'>#{content}</ul>"); ipb.editor_values.get('templates')['button'] = new Template("<li><span id='#{id}_cmd_custom_#{cmd}' class='rte_control rte_button specialitem' title='#{title}'><img src='{$this->settings['img_url']}/rte_icons/#{img}' alt='{$this->lang->words['icon']}' /></span></li>"); ipb.editor_values.get('templates')['menu_item'] = new Template("<li id='#{id}_cmd_custom_#{cmd}' class='specialitem clickable'>#{title}</li>"); ipb.editor_values.get('templates')['togglesource'] = new Template("<fieldset id='#{id}_ts_controls' class='submit' style='text-align: left'><input type='button' class='input_submit' value='{$this->lang->words['js_template_update']}' id='#{id}_ts_update' />&nbsp;&nbsp;&nbsp; <a href='#' id='#{id}_ts_cancel' class='cancel'>{$this->lang->words['js_template_cancel_source']}</a></fieldset>"); ipb.editor_values.get('templates')['emoticons_showall'] = new Template("<input class='input_submit emoticons' type='button' id='#{id}_all_emoticons' value='{$this->lang->words['show_all_emoticons']}' />"); ipb.editor_values.get('templates')['emoticon_wrapper'] = new Template("<h4><span>{$this->lang->words['emoticons_template_title']}</span></h4><div id='#{id}_emoticon_holder' class='emoticon_holder'></div>"); // Add smilies into the mix ipb.editor_values.set( 'show_emoticon_link', true ); ipb.editor_values.set( 'emoticons', \$H({ $smilies }) ); ipb.editor_values.set( 'bbcodes', \$H( $bbcodes ) ); ipb.vars['emoticon_url'] = "{$this->settings['emoticons_url']}"; Event.observe(window, 'load', function(e){ ipb.editors[ '{$editor_id}' ] = new ipb.editor( '{$editor_id}', USE_RTE ); }); //]]> </script> EOF; //--endhtml--// return $IPBHTML; } /** * Page wrapper for popup windows * * @access public * @param string Document character set * @param array CSS Files * @return string HTML */ public function global_main_popup_wrapper($IPS_DOC_CHAR_SET=IPS_DOC_CHAR_SET, $cssFiles=array() ) { $IPBHTML = ""; //--starthtml--// $_path = IPS_PUBLIC_SCRIPT; $boardurl = ($this->registry->output->isHTTPS) ? $this->settings['board_url_https'] : $this->settings['board_url']; $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"> <head> <meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="Fri, 01 January 1999 01:00:00 GMT" /> <link rel="shortcut icon" href='{$boardurl}/favicon.ico' /> <title><%TITLE%></title> <script type='text/javascript'> jsDebug = 1; USE_RTE = 1; inACP = true; isRTL = false; </script> EOF; /** CSS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_basics = CP_DIRECTORY . '/skin_cp/acp.css,' . CP_DIRECTORY . '/skin_cp/acp_editor.css'; $_others = ''; if ( is_array( $cssFiles['import'] ) AND count( $cssFiles['import'] ) ) { foreach( $cssFiles['import'] as $data ) { $_others .= ',' . preg_replace( "#^(.*)/(" . CP_DIRECTORY . "/.*)$#", "$2", $data['content'] ); } } $IPBHTML .= "\n\t<link rel=\"stylesheet\" type=\"text/css\" media='screen' href=\"{$this->settings['public_dir']}min/index.php?f={$_basics}{$_others}\">\n"; } else {*/ $IPBHTML .= <<<HTML <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp.css" ); @import url( "{$this->settings['skin_acp_url']}/acp_editor.css" ); </style> HTML; if( is_array($cssFiles['import']) AND count($cssFiles['import']) ) { foreach( $cssFiles['import'] as $data ) { $IPBHTML .= <<<EOF <link rel="stylesheet" type="text/css" {$data['attributes']} href="{$data['content']}" /> EOF; } } //} $IPBHTML .= <<<HTML <!--[if IE]> <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp_ie_tweaks.css" ); </style> <![endif]--> HTML; if( IN_DEV ) { $IPBHTML .= <<<HTML <style type='text/css' media='all'> .ipsActionBar > ul > li.inDev { display: inline; } </style> HTML; } if( is_array($cssFiles['inline']) AND count($cssFiles['inline']) ) { $IPBHTML .= <<<EOF <style type='text/css' media="all"> EOF; foreach( $cssFiles['inline'] as $data ) { $IPBHTML .= $data['content']; } $IPBHTML .= <<<EOF </style> EOF; } /** JS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_others = ',' . CP_DIRECTORY . '/js/acp.js,' . CP_DIRECTORY . '/js/acp.' . implode('.js,' . CP_DIRECTORY . '/js/acp.', array( 'menu', 'tabs' ) ) . '.js'; $IPBHTML .= <<<HTML <script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?g=js&amp;ipbv={$this->registry->output->antiCacheHash}'></script> HTML; $IPBHTML .= "\n\t<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?ipbv={$this->registry->output->antiCacheHash}&amp;f=" . PUBLIC_DIRECTORY . "/js/ipb.js" . $_others; if ( $this->settings['extraJsModules'] ) { $_modules = explode( ',', $this->settings['extraJsModules'] ); $_loadModules = ''; $_seenModules = array(); foreach( $_modules as $_jsModule ) { if( !$_jsModule ) { continue; } if( in_array( $_jsModule, $_seenModules ) ) { continue; } $_seenModules[] = $_jsModule; $_loadModules .= "," . PUBLIC_DIRECTORY . "/js/ips." . $_jsModule . ".js"; } $IPBHTML .= $_loadModules . "'></script>\n"; } else { $IPBHTML .= "'></script>\n"; } } else {*/ $IPBHTML .= <<<HTML <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}&amp;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> HTML; //} $mem_info = json_encode( array( 'g_mem_info' => $this->memberData['g_mem_info'] ) ); $IPBHTML .= <<<EOF <script type='text/javascript'> //<![CDATA[ ipb.vars['st'] = "{$this->request['st']}"; ipb.vars['base_url'] = "{$this->settings['_base_url']}"; ipb.vars['front_url'] = "{$this->settings['board_url']}/index.php?"; ipb.vars['app_url'] = "{$this->settings['base_url']}"; ipb.vars['image_url'] = "{$this->settings['skin_app_url']}/images/"; ipb.vars['md5_hash'] = "{$this->member->form_hash}"; ipb.vars['is_touch'] = false; ipb.vars['member_group'] = {$mem_info}; /* ---- cookies ----- */ ipb.vars['cookie_id'] = '{$this->settings['cookie_id']}'; ipb.vars['cookie_domain'] = '{$this->settings['cookie_domain']}'; ipb.vars['cookie_path'] = '{$this->settings['cookie_path']}'; ipb.templates['close_popup'] = "<img src='{$this->settings['img_url']}/close_popup.png' alt='x' />"; ipb.templates['page_jump'] = new Template("<div id='#{id}_wrap' class='ipbmenu_content'><h3 class='bar'>{$this->lang->words['gl_pagejump']}</h3><input type='text' class='input_text' id='#{id}_input' size='8' /> <input type='submit' value='Go' class='input_submit add_folder' id='#{id}_submit' /></div>"); ipb.templates['ajax_loading'] = "<div id='ajax_loading'>{$this->lang->words['gl_loading']}</div>"; //]]> </script> <!--<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>--> <script type='text/javascript'> Loader.boot(); acp = new IPBACP; </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> </head> <body<%BODYEXTRA%> id='ipboard_body' class='popupwindow'> <div id='loading-layer' style='display:none'> <div id='loading-layer-shadow'> <div id='loading-layer-inner' > <img src='{$this->settings['skin_acp_url']}/images/loading_anim.gif' style='vertical-align:middle' /> <span style='font-weight:bold' id='loading-layer-text'>{$this->lang->words['ajax_please_wait']}</span> </div> </div> </div> <div id='main_content'> <div id='content_wrap'> <%CONTENT%> </div> </div> </body> </html> EOF; //--endhtml--// return $IPBHTML; } /** * Primary page wrapper - used for all full pages * * @access public * @param string Document character set * @param array CSS Files * @param string Global submenu HTML (@see global_menu_sub_navigation) * @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='', $mainTabData, $otherTabData, $bookMarks=array() ) { $IPBHTML = ""; //--starthtml--// //$_encoded = base64_encode( $this->settings['query_string_safe'] ); $_url = str_replace( '&amp;' , '&', $this->settings['query_string_safe'] ); $_url = preg_replace( '#&{1,}#', ';', $_url ); $_url = preg_replace( '#={1,}#', ':', $_url ); $_url = ltrim( $_url, ';' ); $_path = IPS_PUBLIC_SCRIPT; $year = date('Y'); /* Open Tab */ $__tabs = ( is_array( $this->member->acp_tab_data ) and count( $this->member->acp_tab_data ) ) ? "'" . implode( "','", array_keys( $this->member->acp_tab_data ) ) . "'" : ''; $_apptitle = ipsRegistry::$applications[ ipsRegistry::$current_application ]['app_title']; $defaultFakeApp = ''; $defaultFakeModule = ''; $curApp = 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; } $fakeApps = $this->registry->output->fetchFakeApps(); foreach( $fakeApps as $fa => $data ) { foreach( $data as $appData ) { if ( ! $defaultFakeApp ) { $defaultFakeApp = $appData['app']; $defaultFakeModule = $appData['module']; } if ( $appData['app'] == ipsRegistry::$current_application && $appData['module'] == ipsRegistry::$current_module ) { $curApp = array(); $curApp[ $fa ] = 'active'; break 2; } } } /* if( !$this->settings['ipb_reg_number'] ) { $this->lang->words['license_missing_info'] = sprintf( $this->lang->words['license_missing_info'], $this->settings['base_url'] . 'app=core&module=tools&section=licensekey' ); $extra_class = 'force_license'; $license_html = <<<HTML <div id='license_notice_force'> <h4>{$this->lang->words['license_missing_header']}</h4> <p>{$this->lang->words['license_missing_info']}</p> </div> HTML; } else { $licenseData = $this->cache->getCache( 'licenseData' ); 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> HTML; } } */ { $licenseData = $this->cache->getCache( 'licenseData' ); 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' ) ) { 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; } } } $boardurl = ($this->registry->output->isHTTPS) ? $this->settings['board_url_https'] : $this->settings['board_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"> <head> <meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="Fri, 01 January 1999 01:00:00 GMT" /> <link rel="shortcut icon" href='{$boardurl}/favicon.ico' /> <title><%TITLE%></title> <script type='text/javascript'> jsDebug = 1; USE_RTE = 1; inACP = true; isRTL = false; </script> HTML; /** CSS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_basics = CP_DIRECTORY . '/skin_cp/acp.css,' . CP_DIRECTORY . '/skin_cp/acp_editor.css'; $_others = ''; if ( is_array( $cssFiles['import'] ) AND count( $cssFiles['import'] ) ) { foreach( $cssFiles['import'] as $data ) { $_others .= ',' . preg_replace( "#^(.*)/(" . CP_DIRECTORY . "/.*)$#", "$2", $data['content'] ); } } $IPBHTML .= "\n\t<link rel=\"stylesheet\" type=\"text/css\" media='screen' href=\"{$this->settings['public_dir']}min/index.php?ipbv={$this->registry->output->antiCacheHash}&amp;f={$_basics}{$_others}\">\n"; } else {*/ $IPBHTML .= <<<HTML <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp.css?ipbv={$this->registry->output->antiCacheHash}" ); @import url( "{$this->settings['skin_acp_url']}/acp_editor.css?ipbv={$this->registry->output->antiCacheHash}" ); </style> HTML; if( is_array($cssFiles['import']) AND count($cssFiles['import']) ) { foreach( $cssFiles['import'] as $data ) { $IPBHTML .= <<<EOF <link rel="stylesheet" type="text/css" {$data['attributes']} href="{$data['content']}?ipbv={$this->registry->output->antiCacheHash}" /> EOF; } } //} $IPBHTML .= <<<HTML <!--[if IE]> <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp_ie_tweaks.css" ); </style> <![endif]--> HTML; if( IN_DEV ) { $IPBHTML .= <<<HTML <style type='text/css' media='all'> .ipsActionBar > ul > li.inDev { display: inline; } </style> HTML; } if( is_array($cssFiles['inline']) AND count($cssFiles['inline']) ) { $IPBHTML .= <<<EOF <style type='text/css' media="all"> EOF; foreach( $cssFiles['inline'] as $data ) { $IPBHTML .= $data['content']; } $IPBHTML .= <<<EOF </style> EOF; } /** JS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_others = ',' . CP_DIRECTORY . '/js/acp.js,' . CP_DIRECTORY . '/js/acp.' . implode('.js,' . CP_DIRECTORY . '/js/acp.', array( 'menu', 'tabs' ) ) . '.js'; if ( $this->settings['remote_load_js'] ) { $IPBHTML .= <<<HTML <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/prototype/1.7/prototype.js'></script> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script> HTML; } else { $IPBHTML .= <<<HTML <script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?g=js&amp;ipbv={$this->registry->output->antiCacheHash}'></script> HTML; } $IPBHTML .= "\n\t<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?ipbv={$this->registry->output->antiCacheHash}&amp;f=" . PUBLIC_DIRECTORY . "/js/ipb.js" . $_others; if ( $this->settings['extraJsModules'] ) { $_modules = explode( ',', $this->settings['extraJsModules'] ); $_loadModules = ''; $_seenModules = array(); foreach( $_modules as $_jsModule ) { if( !$_jsModule ) { continue; } if( in_array( $_jsModule, $_seenModules ) ) { continue; } $_seenModules[] = $_jsModule; $_loadModules .= "," . PUBLIC_DIRECTORY . "/js/ips." . $_jsModule . ".js"; } $IPBHTML .= $_loadModules . "'></script>\n"; } else { $IPBHTML .= "'></script>\n"; } } else {*/ $IPBHTML .= <<<HTML <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}&amp;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> HTML; //} /* SIDEBAR */ if( $this->settings['hide_sidebar'] || IPSCookie::get("acp_sidebar") == 'closed' ) { if( $this->settings['hide_sidebar'] ) { //$sidebar['toggle_class'] = "style='display: none'"; } $sidebar['content_class'] = "close_menu"; $sidebar['menu_style'] = "style='display: none'"; } else { $sidebar['content_class'] = "open_menu"; $sidebar['menu_style'] = ""; } $mem_info = json_encode( array( 'g_mem_info' => $this->memberData['g_mem_info'] ) ); $base_url = str_replace( '&amp;', '&', $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> <script type='text/javascript'> var jQ = jQuery.noConflict(); </script> <script type='text/javascript' src='{$this->settings['js_main_url']}acp.jquery.js?ipbv={$this->registry->output->antiCacheHash}'></script> <script type='text/javascript'> //<![CDATA[ ipb.vars['st'] = "{$this->request['st']}"; 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}"; ipb.vars['is_touch'] = false; ipb.vars['member_group'] = {$mem_info}; ipb.vars['member_id'] = parseInt("{$this->memberData['member_id']}"); /* ---- cookies ----- */ ipb.vars['cookie_id'] = '{$this->settings['cookie_id']}'; ipb.vars['cookie_domain'] = '{$this->settings['cookie_domain']}'; ipb.vars['cookie_path'] = '{$this->settings['cookie_path']}'; ipb.templates['close_popup'] = "<img src='{$this->settings['img_url']}/close_popup.png' alt='x' />"; ipb.templates['page_jump'] = new Template("<div id='#{id}_wrap' class='ipbmenu_content'><h3 class='bar'>{$this->lang->words['gl_pagejump']}</h3><input type='text' class='input_text' id='#{id}_input' size='8' /> <input type='submit' value='Go' class='realbutton' id='#{id}_submit' /></div>"); 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'> Loader.boot(); acp = new IPBACP; </script> </head> <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} <div id='inlineFormWrap' style='display: none;'> <div id='inlineFormInnerWrap'> <div id='inlineFormInnerClose' onclick="Effect.Fade( 'inlineFormWrap', { duration: .5 } );"></div> <div id='inlineFormInnerTitle'></div> <div id='inlineErrorBox'> <img src='{$this->settings['skin_acp_url']}/images/stopLarge.png' /> <strong>{$this->lang->words['gl_error']}</strong> <div id='inlineErrorText'></div> </div> <div id='inlineFormInnerContent'></div> <div id='inlineFormLoading'> {$this->lang->words['gl_pleasewait']}... <br /><br /> <img src='{$this->settings['skin_acp_url']}/images/loading_big.gif' alt='loading' id='search_loading' /> </div> </div> </div> <!-- / Inline Form Box --> <div id='header'> <div id='search' class='right'> <img src='{$this->settings['skin_acp_url']}/images/search_icon_white.png' alt='' /> <input type='text' value='{$this->lang->words['gl_livesearch']}' id='acpSearchKeyword' class='inactive' /><img src='{$this->settings['skin_acp_url']}/images/loading.gif' id='acp_loading' style='display: none' /> </div> <a href='{$this->settings['_base_url']}' title='{$this->lang->words['home']}'> <img src='{$this->settings['skin_acp_url']}/images/logo.png' alt='Logo' /> </a> <div class='logged_in'> {$this->lang->words['gl_loggedinas']} {$this->memberData['members_display_name']} <ul id='user_links' class='ipsList_inline'> <li> <a href='../' target='_blank'>{$this->lang->words['gbl_view_site']}</a> </li> <li> <a href='{$this->settings['_base_url']}app=core&amp;module=mycp&amp;section=dashboard'>{$this->lang->words['gbl_dashboard']}</a> </li> <li> <a href='{$this->settings['_base_url']}&amp;module=login&amp;do=login-out'>{$this->lang->words['gbl_log_out']}</a> </li> </ul> </div> </div> <div id='live_search_results' style='display: none'> <div id='ls_sections'> <ul> HTML; if ( $this->registry->getClass('class_permissions')->checkPermission( 'settings_manage', 'core', 'settings' ) ) { $IPBHTML .= <<<HTML <li id='ls_settings'>{$this->lang->words['livesearch_settings']}<span class='count'></span></li> HTML; } if ( $this->registry->getClass('class_permissions')->checkPermission( 'member_edit', 'members', 'members' ) ) { $IPBHTML .= <<<HTML <li id='ls_members'>{$this->lang->words['livesearch_members']}<span class='count'></span></li> HTML; } if ( $this->registry->getClass('class_permissions')->checkPermission( 'groups_edit', 'members', 'groups' ) ) { $IPBHTML .= <<<HTML <li id='ls_groups'>{$this->lang->words['livesearch_groups']}<span class='count'></span></li> HTML; } if ( $this->registry->getClass('class_permissions')->checkPermission( 'forums_edit', 'forums', 'forums' ) ) { $IPBHTML .= <<<HTML <li id='ls_forums'>{$this->lang->words['livesearch_forums']}<span class='count'></span></li> HTML; } $IPBHTML .= <<<HTML <li id='ls_location'>{$this->lang->words['livesearch_pages']}<span class='count'></span></li> HTML; if( IPSLib::appIsInstalled('nexus') and $this->registry->getClass('class_permissions')->checkForAppAccess('nexus') ) { $IPBHTML .= "<li id='ls_nexus'>{$this->lang->words['livesearch_nexus']}<span class='count'></span></li>"; } $IPBHTML .= <<<HTML <li id='ls_marketplace' title='{$this->lang->words['search_marketplace_more']}'>{$this->lang->words['search_ipsmarketplace']}</li> </ul> </div> <div id='ls_results'> <span id='ls_no_results' style='display: none'>{$this->lang->words['live_search_no_results']}</span> <div id='ls_settings_panel'></div> <div id='ls_members_panel'></div> <div id='ls_groups_panel'></div> <div id='ls_forums_panel'></div> <div id='ls_location_panel'></div> HTML; if( IPSLib::appIsInstalled('nexus') ){ $IPBHTML .= "<div id='ls_nexus_panel'></div>"; } $IPBHTML .= <<<HTML <div id='ls_marketplace_panel'> <div class='pad'> {$this->lang->words['ipsmarketplace_is_best']} <br /><br /> <a href='http://community.invisionpower.com/files/' class='realbutton'>{$this->lang->words['gotomarketplace']}</a> </div> </div> </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="{$this->lang->words['set_up_tabs']}">{$this->lang->words['edit_tabs']}</a> HTML; $IPBHTML .= $this->global_app_menu_html( $gbl_sub_menu, $mainTabData, $otherTabData ); $IPBHTML .= <<<HTML </div> <div id='page_body' class='{$sidebar['content_class']} clearfix'> <a href='#' id='toggle_sidebar' title='Close the sidebar' {$sidebar['toggle_class']}>&larr;</a> <div id='section_navigation' {$sidebar['menu_style']}> <%SIDEBAR_EXTRA%> <%MENU%> </div> <div id='main_content' class='clearfix'> <%NAV%> <%CONTENT%> </div> </div> <div id='footer' class='clear'> <a href='http://www.invisionpower.com'>IP.Board 3</a> &copy; {$year} IPS, Inc. &nbsp;&nbsp;|&nbsp;&nbsp; <a href='http://www.invisionpower.com/clients/' target='_blank' title='{$this->lang->words['gl_getsupport_title']}'>{$this->lang->words['gl_getsupport']}</a> &nbsp;&nbsp;|&nbsp;&nbsp; <a href='http://community.invisionpower.com/index.php?app=ccs' target='_blank' title='{$this->lang->words['gl_resources_title']}'>{$this->lang->words['gl_resources']}</a> HTML; if ( IN_DEV ) { $count = count( $this->DB->obj['cached_queries'] ); $files = count( get_included_files() ); $IPBHTML .= <<<HTML &nbsp;&nbsp;|&nbsp;&nbsp; <a href='#' onclick="$('acpQueries').toggle(); return false;">{$count} Queries and {$files} Included Files</a> HTML; } $acpUrl = str_replace( '&amp;', '&', $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; } /** * Global page primary template - fits in content area * * @access public * @return string HTML */ public function global_frame_wrapper() { $year = date('Y'); $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <%CONTEXT_MENU%> <%MSG%> <%SECTIONCONTENT%> <div id='acpQueries' style='display:none'> <%QUERIES%> </div> EOF; //--endhtml--// return $IPBHTML; } /** * Generate sub navigation menu for global use (all apps) * * @access public * @param array Menu data * @param array Application and module titles data * @return string array */ public function global_menu_sub_navigation( $menu ) { $seen = array(); $fakeApps = $this->registry->output->fetchFakeApps(); foreach( $menu['menu'] as $app => $modules ) { $this_menu = "<ul id='menu_{$app}' style='display: none'>\r\n"; foreach( $modules as $key => $items ) { $this_menu .= "\t<li>\r\n"; if( count( $items['items'] ) == 1 ) { $real_app = $items['items'][0]['app_dir']; if ( !ipsRegistry::getClass('class_permissions')->checkForSectionAccess( $real_app, $items['items'][0]['module'], $items['items'][0]['section'] ) ) { continue; } $_url = ( $items['items'][0]['url'] ) ? "&amp;{$items['items'][0]['url']}" : ""; $_title = $menu['titles'][ $app ][ $key ] ? $menu['titles'][ $app ][ $key ]['title'] : $items['items'][0]['title']; $this_menu .= "\t\t<a href='{$this->settings['_base_url']}app={$real_app}&amp;module={$items['items'][0]['module']}&amp;section={$items['items'][0]['section']}{$_url}'>{$_title}</a>\r\n"; } else { $haveItems = FALSE; $_this_menu = ""; if( $menu['titles'][ $app ][ $key ] ) { $_this_menu .= "\t\t<span>" . $menu['titles'][ $app ][ $key ]['title'] . "</span>\r\n"; } else { $_this_menu .= "\t\t<span>" . $key . "</span>\r\n"; } $_this_menu .= "\t\t<ul>\r\n"; foreach( $items['items'] as $i => $info ) { $real_app = $info['app_dir']; if ( !ipsRegistry::getClass('class_permissions')->checkForSectionAccess( $real_app, $info['module'], $info['section'] ) ) { continue; } if( is_array( $seen[ $app ][ $info['module'] ] ) && in_array( $info['pos'], $seen[ $app ][ $info['module'] ] ) ){ // Decided to show these because we need to retain access to the options for 3rd party apps //continue; // don't show sub-sub items } $haveItems = TRUE; $_this_menu .= "\t\t\t<li>\r\n"; $_this_menu .= "\t\t\t\t<a href='{$this->settings['_base_url']}app={$real_app}&amp;module={$info['module']}&amp;section={$info['section']}&amp;{$info['url']}'>{$info['title']}</a>\r\n"; $_this_menu .= "\t\t\t</li>\r\n"; $seen[ $app ][ $info['module'] ][] = $info['pos']; } $_this_menu .= "\t\t</ul>\r\n"; if ( $haveItems ) { $this_menu .= $_this_menu; } } $this_menu .= "\t</li>\r\n"; } $this_menu .= "</ul>\r\n"; $return[ $app ] = $this_menu; } //print_r( $seen ); //print_r($menu);exit; //print_r($titles);exit; //--endhtml--// return $return; } /** * Generate the application menu HTML * * @access public * @param string Raw menu data * @param array Tab order * @return string HTML */ public function global_app_menu_html( $raw_menu, $mainTabData, $otherTabData ) { $fakeAppAccess = array(); $IPBHTML = ""; //--starthtml--// $menus = $this->global_menu_sub_navigation( $raw_menu ); $defaultFakeApp = array(); $defaultFakeModule = array(); $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; $count = 0; $other_menu = ""; $otherIsActive = false; /* Loop */ foreach( $otherTabData as $tabkey => $data ) { $tag = ''; if ( ! $data['isEnabled'] || ! $data['permCheck'] ) { continue; } 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>&nbsp;&nbsp;"; } $other_menu .= <<<EOF <li id='app_{$data['appDir']}'> <a href='{$data['url']}'> {$tag} {$data['title']} </a> {$menus[ $tabkey ]} </li> EOF; $count++; } //----------------------------------------- // Draw tabs based on order preference //----------------------------------------- foreach( $mainTabData as $tabkey => $data ) { if ( $tabkey == 'other' ) { if ( ! $count ) { continue; } $data['active'] = $otherIsActive; } if ( ! $data['isEnabled'] || ! $data['permCheck'] ) { continue; } $class = ( $data['active'] ) ? 'active' : ''; if( $tabkey == 'other' ) { $IPBHTML .= <<<HTML <li class='{$class}'> <a href='{$this->settings['_base_url']}app=core&amp;module=applications&amp;section=applications&amp;do=applications_overview'>{$this->lang->words['other_applications']}</a> <ul id='menu__other' style='display: none'> {$other_menu} </ul> </li> HTML; } else { $IPBHTML .= <<<HTML <li class='{$class}'> <a href='{$data['url']}'>{$data['title']}</a> {$menus[ $tabkey ]} </li> HTML; } } $IPBHTML .= "</ul>"; //--endhtml--// return $IPBHTML; } /** * Show the information box on the page * * @access public * @param string Box title * @param string Box content * @return string HTML */ public function information_box($title="", $content="") { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='section_title'> <h2>{$title}</h2> </div> <div class='section_info'>{$content}</div> EOF; //--endhtml--// return $IPBHTML; } /** * Show a warning box * * @access public * @param string Title * @param string Content * @return string HTML */ public function warning_box($title="", $content="") { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='warning'> <h4>{$title}</h4> {$content} </div> EOF; //--endhtml--// return $IPBHTML; } /** * Shows the debug query output at the bottom of the page * * @access public * @param string Queries to show * @return string HTML */ public function global_query_output($queries="") { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <br /><br /> <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> </div> </div> EOF; //--endhtml--// return $IPBHTML; } /** * Shows the debug included files output at the bottom of the page * * @param int Number of files * @param string Files to show * @return string HTML */ public function global_if_output($count=0,$files="") { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <br /><br /> <div align='center' style='margin-left:auto;margin-right:0'> <div class='acp-box' style='text-align:left;'> <h3>{$count} {$this->lang->words['gbl_inc_files']}</h3> <div style='padding: 4px;'>{$files}</div> </div> </div> EOF; //--endhtml--// return $IPBHTML; } /** * Shows the debug memory output at the bottom of the page * * @access public * @param string Memory to show * @param string Total memory used * @param string Peak memory used * @return string HTML */ public function global_memory_output($memory="", $total=0, $peak=0 ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <br /><br /> <div align='center' style='margin-left:auto;margin-right:0'> <div class='acp-box' style='text-align:left;'> <h3>{$this->lang->words['gbl_memory']}</h3> <table class='ipsTable'> {$memory} </table> <div class='acp-actionbar' style='text-align: left;'> <strong>{$this->lang->words['ttlmemoryused']} {$total} ({$this->lang->words['peakmemoryused']} {$peak})</strong> </div> </div> </div> EOF; //--endhtml--// return $IPBHTML; } /** * Show the login form * * @access public * @param string Query string to remember * @param string Message to show * @param bool Replace the form (deprecated) * @param array Additional data to add to the form * @return string HTML */ public function log_in_form( $query_string="", $message="", $replace_form=false, $additional_data=array() ) { $IPBHTML = ""; //--starthtml--// $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"> <head> <meta http-equiv="content-type" content="text/html; charset={$IPS_DOC_CHAR_SET}" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="Fri, 01 January 1999 01:00:00 GMT" /> <link rel="shortcut icon" href='favicon.ico' /> <title><%TITLE%></title> <script type='text/javascript'> jsDebug = 1; USE_RTE = 0; isRTL = false; if ( top != self ) { top.location.href = window.location.href; } </script> HTML; /** CSS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_basics = CP_DIRECTORY . '/skin_cp/acp.css,' . CP_DIRECTORY . '/skin_cp/acp_editor.css'; $IPBHTML .= "\n\t<link rel=\"stylesheet\" type=\"text/css\" media='screen' href=\"{$this->settings['public_dir']}min/index.php?ipbv={$this->registry->output->antiCacheHash}&amp;f={$_basics}\">\n"; } else {*/ $IPBHTML .= <<<HTML <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp.css?ipbv={$this->registry->output->antiCacheHash}" ); @import url( "{$this->settings['skin_acp_url']}/acp_editor.css?ipbv={$this->registry->output->antiCacheHash}" ); </style> HTML; //} $IPBHTML .= <<<HTML <!--[if IE]> <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp_ie_tweaks.css?ipbv={$this->registry->output->antiCacheHash}" ); </style> <![endif]--> HTML; if( IN_DEV ) { $IPBHTML .= <<<HTML <style type='text/css' media='all'> .ipsActionBar > ul > li.inDev { display: inline; } </style> HTML; } /** JS ----------------------------------------- */ /*if ( $this->settings['use_minify'] ) { $_others = ',' . CP_DIRECTORY . '/js/acp.js,' . CP_DIRECTORY . '/js/acp.' . implode('.js,' . CP_DIRECTORY . '/js/acp.', array( 'menu', 'tabs' ) ) . '.js'; $IPBHTML .= <<<HTML <script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?g=js&amp;ipbv={$this->registry->output->antiCacheHash}'></script> <script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?ipbv={$this->registry->output->antiCacheHash}&amp;f={$publicDirectory}/js/ipb.js{$_others}'></script> HTML; } else {*/ $IPBHTML .= <<<HTML <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}&amp;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> HTML; //} $IPBHTML .= <<<HTML <script type='text/javascript'> //<![CDATA[ ipb.vars['st'] = "{$this->request['st']}"; ipb.vars['base_url'] = "{$this->settings['_base_url']}"; ipb.vars['front_url'] = "{$this->settings['board_url']}/index.php?"; ipb.vars['app_url'] = "{$this->settings['base_url']}"; ipb.vars['image_url'] = "{$this->settings['skin_app_url']}/images/"; ipb.vars['md5_hash'] = "{$this->member->form_hash}"; /* ---- cookies ----- */ ipb.vars['cookie_id'] = '{$this->settings['cookie_id']}'; ipb.vars['cookie_domain'] = '{$this->settings['cookie_domain']}'; ipb.vars['cookie_path'] = '{$this->settings['cookie_path']}'; ipb.templates['close_popup'] = "<img src='{$this->settings['img_url']}/close_popup.png' alt='x' />"; ipb.templates['page_jump'] = new Template("<div id='#{id}_wrap' class='ipbmenu_content'><h3 class='bar'>{$this->lang->words['gl_pagejump']}</h3><input type='text' class='input_text' id='#{id}_input' size='8' /> <input type='submit' value='Go' class='input_submit add_folder' id='#{id}_submit' /></div>"); ipb.templates['ajax_loading'] = "<div id='ajax_loading'>{$this->lang->words['gl_loading']}</div>"; //]]> </script> <script type='text/javascript'> Loader.boot(); acp = new IPBACP; Event.observe( window, 'load', function(e){ $('username').focus(); }); </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> </head> <body id='ipboard_body' class='login_screen'> <div id='loading-layer' style='display:none'> <div id='loading-layer-shadow'> <div id='loading-layer-inner' > <img src='{$this->settings['skin_acp_url']}/images/loading_anim.gif' style='vertical-align:middle' /> <span style='font-weight:bold' id='loading-layer-text'>{$this->lang->words['ajax_please_wait']}</span> </div> </div> </div> HTML; $extraClass = ( $message ) ? 'with_message' : ''; if( $replace_form ) { $IPBHTML .= $additional_data[0]; } else { $url = "{$this->settings['_base_url']}app=core&amp;module=login&amp;do=login-complete"; if ( $this->settings['logins_over_https'] ) { $url = str_replace( 'http://', 'https://', $url ); } $IPBHTML .= <<<HTML <form action='{$url}' method='post'> <input type='hidden' name='qstring' id='qstring' value='{$query_string}' /> <div id='login' class='{$extraClass}'> <img src='{$this->settings['skin_acp_url']}/images/login_logo.png' id='login_logo' /> HTML; if ( $message ) { $IPBHTML .= <<<HTML <div id='login_error'>{$message}</div> HTML; } $IPBHTML .= <<<HTML <div id='login_controls'> <label for='username'>{$this->lang->words['gl_signinname']}</label> <input type='text' size='20' id='username' name='username' value='' class='textinput'> <label for='password'>{$this->lang->words['gl_password']}</label> <input type='password' size='20' id='password' name='password' value='' class='textinput'> HTML; if( count($additional_data) > 0 ) { foreach( $additional_data as $form_html ) { $IPBHTML .= $form_html; } } $IPBHTML .= <<<HTML </div> <div id='login_submit'> <input type='submit' class='button' value="{$this->lang->words['gl_signin']}" /> </div> </div> </form> HTML; $IPBHTML .= <<<HTML </div> </div> </form> <script type='text/javascript'> $('username').focus(); </script> </body> </html> HTML; } //--endhtml--// return $IPBHTML; } /** * Redirect hit for auto-redirecting pages (e.g. "recache all caches") * * @access public * @param string URL to send to * @param string Text to show * @param integer Number of seconds to wait * @return string HTML */ public function global_redirect_hit($url, $text="", $time=1) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript'> jsDebug = 0; USE_RTE = 0; </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}&amp;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"> //<![CDATA[ ipb.vars['st'] = "{$this->request['st']}"; ipb.vars['base_url'] = "{$this->settings['_base_url']}"; ipb.vars['front_url'] = "{$this->settings['board_url']}/index.php?"; ipb.vars['app_url'] = "{$this->settings['base_url']}"; ipb.vars['image_url'] = "{$this->settings['skin_app_url']}/images/"; ipb.vars['md5_hash'] = "{$this->member->form_hash}"; /* ---- cookies ----- */ ipb.vars['cookie_id'] = '{$this->settings['cookie_id']}'; ipb.vars['cookie_domain'] = '{$this->settings['cookie_domain']}'; ipb.vars['cookie_path'] = '{$this->settings['cookie_path']}'; Loader.boot(); acp = new IPBACP; //]]> </script> <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp.css?ipbv={$this->registry->output->antiCacheHash}" ); </style> <meta http-equiv='refresh' content='{$time}; url={$url}' /> <div class='information-box'> <h4>{$this->lang->words['gbl_page_redirecting']}</h4> {$this->lang->words['page_will_refresh']} <a href='$url'>{$this->lang->words['refresh_dont_wait']}</a> </div> <br /> <div class='redirector'> <div class='info'>{$text}</div> </div> EOF; //--endhtml--// return $IPBHTML; } /** * Initialize global redirection javascript for AJAX redirecting * * @access public * @param string URL to redirect to * @param string Text to show * @param string Additional text to add * @return string HTML */ public function global_ajax_redirect_init($url='', $text='', $addtotext='') { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='redirector'> <div class='info' id='refreshbox'>{$this->lang->words['gbl_initializing']}</div> </div> <script type='text/javascript'> //<![CDATA[ acp.ajaxRefresh( '$url', '$text', $addtotext ); //]]> </script> EOF; //--endhtml--// return $IPBHTML; } /** * Global redirection completed page * * @access public * @param string Text to show * @return string HTML */ public function global_redirect_done($text='This function has now finished executing') { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <style type='text/css' media='all'> @import url( "{$this->settings['skin_acp_url']}/acp.css?ipbv={$this->registry->output->antiCacheHash}" ); </style> <div class='redirector complete'> <div class='info'>{$text}</div> </div> EOF; //--endhtml--// return $IPBHTML; } /** * General redirect page with message * * @access public * @param string URL to send to * @param integer Number of seconds to wait before redirecting * @param string Text to display * @return string HTML */ public function global_redirect_halt($url) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='warning'> <h4>{$this->lang->words['redirect_halt_title']}</h4> <p><strong>{$this->registry->output->global_error}</strong></p> <br /> <ul> <li style='font-weight:bold'><a href='$url'>{$this->lang->words['redirect_halt_continue']}</a></a> <li><a href='{$this->settings['this_url']}'>{$this->lang->words['redirect_repeat_step']}</a> </ul> </div> EOF; $this->registry->output->global_error = ''; //--endhtml--// return $IPBHTML; } /** * Generate sub navigation menu for sidebar * * @access public * @param array Menu data * @return string HTML */ public function menu_sub_navigation( $menu ) { $main_html = array(); $IPBHTML = ""; //--starthtml--// if( is_array($menu[ ipsRegistry::$current_application ]) AND count($menu[ ipsRegistry::$current_application ]) ) { foreach( $menu[ ipsRegistry::$current_application ] as $id => $data ) { $links = ""; $_id = preg_replace( '/^\d+?_(.*)$/', "\\1", $id ); if ( $_id != ipsRegistry::$current_module ) { continue; } foreach( $data['items'] as $_id => $_data ) { $_url = ( $_data['url'] ) ? "&amp;{$_data['url']}" : ""; $links .= <<<EOF <div class='menulinkwrapBlock'> <a href="{$this->settings['base_url']}module={$_data['module']}&amp;section={$_data['section']}{$_url}">{$_data['title']}</a> </div> EOF; } if ( $links ) { $main_html[] = <<<EOF <!-- MENU FOR {$data['title']}--> <div class='menuouterwrap'> <div class='menucatwrapBlock'>{$data['title']}</div> {$links} </div> <!-- / MENU FOR {$data['title']}--> EOF; } } } if ( is_array( $main_html ) AND count( $main_html ) ) { $IPBHTML .= <<<EOF <div id='subMenuWrap'> EOF; $IPBHTML .= implode( "<br />", $main_html ); $IPBHTML .= <<<EOF </div> EOF; } //--endhtml--// return $IPBHTML; } /** * Menu category wrapper for sidebar "categories" * * @access public * @param array Links to show * @param string Module (cleaned) * @param array Menu items to show * @return string HTML */ public function menu_cat_wrap( $links=array(), $clean_module="", $menu=array() ) { $IPBHTML = ""; $seen = 0; $titles = 0; //--starthtml--// foreach( $links as $app => $module ) { $IPBHTML .= "<ul>\n"; $_CHILD = ''; $_MENU = ''; foreach( $module as $data ) { $class = ''; if ( $app == ipsRegistry::$current_application AND $clean_module == $data['module'] ) { $class = 'active'; } if( isset( $menu[ $app ] ) && is_array( $menu[ $app ] ) ) { foreach( $menu[ $app ] as $id => $__data ) { //print_r($__data);exit; preg_match( '/^(\d+?)_(.*)$/', $id, $result ); if ( $result[2] != $data['module'] ) { continue; } /* Heres where we check whether this is a single item */ if( intval($result[1]) === 0 ) { $_single_item = true; $_count = 0; foreach( $menu[ $app ] as $__k => $__v ) { if ( preg_match( '/(\d+?)_' . $result[2] . "/", $__k ) ) { $_count++; } } if( $_count > 1 ) { $_single_item = false; } if( $_single_item ) { $_url = ( $__data['items'][0]['url'] ) ? "&amp;{$__data['items'][0]['url']}" : ""; $_MENU .= <<<EOF <!-- UHM MENU FOR {$data['title']}--> <li class='{$class}'> <a href='{$this->settings['_base_url']}app={$app}&amp;module={$__data['items'][0]['module']}&amp;section={$__data['items'][0]['section']}{$_url}'>{$__data['title']}</a> </li> EOF; continue(2); } } /* /end */ if ( count( $__data['items'] ) > 1 ) { $_CHILD .= <<<EOF <li> <a href='{$this->settings['_base_url']}app={$app}&amp;module={$__data['items'][0]['module']}&amp;section={$__data['items'][0]['section']}&amp;{$__data['items'][0]['url']}'>{$__data['items'][0]['title']}</a> <ul> EOF; $_seen = 0; $seen_in_this_group = 0; foreach( $__data['items'] as $_id => $_data ) { $_seen++; if( $seen_in_this_group == 0 ) { $seen_in_this_group++; continue; } $_class = ''; $_url = ( $_data['url'] ) ? "&amp;{$_data['url']}" : ""; if ( $_seen == count( $__data['items'] ) ) { $_class = 'last'; } $_CHILD .= <<<EOF <li class='{$_class}'><a href="{$this->settings['_base_url']}app={$app}&amp;module={$_data['module']}&amp;section={$_data['section']}{$_url}">{$_data['title']}</a></li> EOF; } $_CHILD .= <<<EOF </ul> </li> EOF; ####### / MORE THAN 1 CHILD ITEM ####### } else { $_url = ( $__data['items'][0]['url'] ) ? "&amp;{$__data['items'][0]['url']}" : ""; $_CHILD .= <<<EOF <li> <a href="{$this->settings['_base_url']}app={$app}&amp;module={$__data['items'][0]['module']}&amp;section={$__data['items'][0]['section']}{$_url}">{$__data['items'][0]['title']}</a> </li> EOF; } } if( $_CHILD ) { $_MENU .= <<<EOF <!-- MENU FOR {$data['title']}--> <li class='{$class} has_sub'> {$data['title']} <ul> {$_CHILD} </ul> </li> EOF; } $_CHILD = ''; } } $IPBHTML .= <<<EOF {$_MENU} </ul> EOF; } //--endhtml--// return $IPBHTML; } /** * Navigation HTML wrapper * * @access public * @param string Menu content * @return string HTML */ public function wrap_nav($content="") { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <ol id='breadcrumb'> {$content} </ol> EOF; //--endhtml--// return $IPBHTML; } /** * Global informational message to display * * @access public * @return string HTML */ public function global_message() { $IPBHTML = ""; //--starthtml--// if( !$this->registry->getClass('output')->persistent_message ) { $IPBHTML .= <<<EOF <script type='text/javascript'> document.observe("dom:loaded", function(){ ipb.global.showInlineNotification( "{$this->registry->getClass('output')->global_message}", { showClose: false } ); }); </script> EOF; } else { $IPBHTML .= <<<EOF <div class='information-box'> EOF; $IPBHTML .= $this->registry->getClass('output')->global_message; $IPBHTML .= <<<EOF </div> <br /> EOF; } //--endhtml--// return $IPBHTML; } /** * Global error message to display * * @access public * @return string HTML */ public function global_error_message() { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='warning'> <h4>{$this->lang->words['ipb_message']}</h4> {$this->registry->output->global_error} </div> <br /> EOF; //--endhtml--// return $IPBHTML; } /** * Pagination wrapper * * @access public * @param array Work data * @param array Pagination data * @return string HTML */ public function paginationTemplate( $work, $data ) { $IPBHTML = ""; //--starthtml--// if( $work['pages'] > 1 ) { $IPBHTML .= <<<EOF <ul class='pagination'> EOF; if( !$data['noDropdown'] ) { $IPBHTML .= <<<EOF <li class='pagejump pj{$data['uniqid']}'> <img src='{$this->settings['skin_acp_url']}/images/dropdown.png' alt='+' /> <script type='text/javascript'> ipb.global.registerPageJump( '{$data['uniqid']}', { url: "{$data['baseUrl']}", stKey: '{$data['startValueKey']}', perPage: {$data['itemsPerPage']}, totalPages: {$work['pages']} } ); </script> </li> EOF; } if( 1 < ($work['current_page'] - $data['dotsSkip']) ) { $IPBHTML .= <<<EOF <li class='first'><a href='{$data['baseUrl']}&amp;{$data['startValueKey']}=0' title='{$this->lang->words['tpl_gotofirst']}' rel='start'>{$this->lang->words['_laquo']} {$this->lang->words['tpl_isfirst']}</a></li> EOF; } if( $work['current_page'] > 1 ) { $stkey = intval( $data['currentStartValue'] - $data['itemsPerPage'] ); $IPBHTML .= <<<EOF <li class='prev'><a href="{$data['baseUrl']}&amp;{$data['startValueKey']}={$stkey}" title="{$this->lang->words['tpl_prev']}" rel='prev'>{$this->lang->words['pg_prev']}</a></li> EOF; } if( count($work['_pageNumbers']) AND is_array($work['_pageNumbers']) ) { foreach( $work['_pageNumbers'] as $_real => $_page ) { if( $_real == $data['currentStartValue'] ) { $IPBHTML .= <<<EOF <li class='active'>{$_page}</li> EOF; } else { $IPBHTML .= <<<EOF <li><a href="{$data['baseUrl']}&amp;{$data['startValueKey']}={$_real}" title="{$_page}">{$_page}</a></li> EOF; } } } if( $work['current_page'] < $work['pages'] ) { $stkey = intval( $data['currentStartValue'] + $data['itemsPerPage'] ); $IPBHTML .= <<<EOF <li class='next'><a href="{$data['baseUrl']}&amp;{$data['startValueKey']}={$stkey}" title="{$this->lang->words['tpl_next']}" rel='next'>{$this->lang->words['pg_next']}</a></li> EOF; } if( !empty( $work['_showEndDots'] ) ) { $stkey = intval( ( $work['pages'] - 1 ) * $data['itemsPerPage'] ); $IPBHTML .= <<<EOF <li class='last'><a href="{$data['baseUrl']}&amp;{$data['startValueKey']}={$stkey}" title="{$this->lang->words['tpl_gotolast']}" rel='last'>{$this->lang->words['tpl_islast']} {$this->lang->words['_raquo']}</a></li> EOF; } $_tplpages = sprintf( $this->lang->words['tpl_pages_acp'], $work['current_page'], $work['pages'] ); $IPBHTML .= <<<EOF <li class='total'>({$_tplpages})</li> </ul> EOF; } else { $IPBHTML .= <<<EOF <span class='pagination no_pages'>{$this->lang->words['page_1_of_1']}</span> EOF; } //--endhtml--// return $IPBHTML; } /** * System error page * * @access public * @param string Error message to show * @param integer Error code * @param string Error title * @param string Document character set * @return string HTML */ public function system_error( $msg, $code=0, $title='', $IPS_DOC_CHAR_SET=IPS_DOC_CHAR_SET ) { $title = !empty( $title ) ? $title : $this->lang->words['gbl_system_error']; if( $code ) { $finalMessage = "[#{$code}] " . ( is_array( $msg ) ? implode( "<br />", $msg ) : $msg ); } else { $finalMessage = is_array( $msg ) ? implode( "<br />", $msg ) : $msg; } $HTML .= <<<EOF <div class='warning'> <h4>{$title}</h4> <p><strong>{$finalMessage}</strong></p> <br /> <ul> <li><a href='javascript:history.go(-1)'>{$this->lang->words['gbl_go_back']}</a> <li><a href='{$this->settings['_base_url']}'>{$this->lang->words['gbl_go_to_dashboard']}</a> <li><a href='{$this->settings['base_url']}'>{$this->lang->words['gbl_go_to_module_home']}</a> </ul> </div> EOF; return $HTML; } /** * HTML for quick help popup boxes * * @access public * @param string Title * @param string Help contents * @return string HTML */ public function quickHelp( $title, $body ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='acp-box'> <h3>{$title}</h3> <div style='padding: 4px; line-height: 1.5'>{$body}</div> </div> EOF; //--endhtml--// return $IPBHTML; } }[/Spoiler] Salveaza! iar apoi in ACP va aparea undeva sus un mesaj pe gri la care da-i close! succes! ..
  23. sau in loc de: border: 1px solid #141414; poti folosii: border-top: 1px solid #141414;Scuzati x2 post, nu am buton de edit!
  24. Schimba din: ipb_styless.css cu liinile care ti le las eu mai jos: .statistics { margin: 20px 0 0 0; padding: 8px; line-height: 1.3; overflow: hidden; border: 1px solid #393939; } .statistics_head { border-top: 1px solid #393939; border-bottom: 1px solid #393939; text-shadow: rgba(0,0,0,0.4) 0px -1px 0px; font-size: 12px; font-weight: normal; font-family: Calibri; text-transform: uppercase; background: #1d1d1d; padding: 11px; margin: -8px -8px 8px -8px; } .statistics_head, .statistics_head a{ color: #848484; } .statistics .statistics_head:first-of-type{ border-top: #393939; } .statistics .statistics_head:not(:first-of-type){ margin-top: 0; } #stat_links{ font-weight: normal; } #stat_links a{ margin: 0 5px; }
  25. Cel mai usor este sa schimbi: boardIndexTemplate , cu acesta: Save! si daca ai hook-ul Forum Icons instalat pe forum, modifici din AdminCP cu iconitele dorite si o sa functioneze fara nicio problema!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.