[COMMENT] /* +-------------------------------------------------------------------------- | Invision Board v1.3 | ======================================== | > Mod_Installer | > Module written by Peter(Pit) | > Peter member at ibforen.de, Pit member at invisionize.com | > email: Peter@ibforen.de | | > Mod_Installer Version Number: 1.2f (2006-01-29) | > 2003 - 2006 by Peter | | > This is the CodeChange.php for Mod MKPortal by Meo, Kim, Peter +-------------------------------------------------------------------------- */ [COMMENT_END] [INTERFACE] 'title' => 'MKPortal SingleBoard', 'sub_title' => 'MKPortal for Invisionboard (Please read the instructions below)', 'category' => 'Major Mod', 'compatible' => 'Invision Power Board 1.3', 'version' => '1.4.2', 'author' => "Coder: Meo, Peter
Designer: Kim
Tester and Translator: Our team at mkportal.it", 'email' => 'luponero@mclink.it, Peter@ibforen.de', 'mod_token' => 'mod_mkportal', [INTERFACE_END] [HISTORY] [b]1.4.2[/b] [list] [*]Code für Skin- und Sprachänderung aus index.php entfernt [/list] [b]1.3 Final [arrow] 1.4[/b] [list] [*]Zahlreiche Bugfixes [*]Update for TinyMCE [*]... [/list] Es müssen sämtliche Dateien ausgetauscht und eine Neuinstallation im IPB ACP durchgeführt werden. Bei einem Upgrade eines bestehenden MKPortals 1.3 muss das Upgradescript upgrade_13_14.php aufgerufen werden. Das Script sollte anschließend gelöscht werden. [HISTORY_END] [SQL] [SQL_END] [CODE] [MOD_TOKEN] mod_mkportal [FNAME] sources/lib/emailer.php [FNAME_END] [MOD_TOKEN] mod_mkportal [FNAME] index.php [STEP] [SEARCH] $DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix']; [INSERT] //-- mod_mkportal begin define('IN_FORUM', TRUE); define("MK_PATH", "../"); require MK_PATH."mkportal/conf_mk.php"; if ($MK_CONFIG['forum_view'] == "1") { unset ($DB); require MK_PATH."mkportal/include/mk_mySQL.php"; $DB = new mk_db_driver( $INFO['sql_database'], $INFO['sql_user'], $INFO['sql_pass'], $INFO['sql_host'], $INFO['sql_tbl_prefix'], $MK_CONFIG['mk_tbl_prefix'], $INFO['debug_level'] ); } //-- mod_mkportal end [MODE] insert_below [STEP] [SEARCH] $skin_universal = $std->load_template('skin_global'); [INSERT] //-- mod_mkportal begin define('IN_MK', TRUE); if ($MK_CONFIG['forum_view'] == "1") { require MK_PATH."mkportal/include/functions.php"; require "$mklib->template_path/tpl_main.php"; } //-- mod_mkportal end [MODE] insert_below [FNAME_END] [MOD_TOKEN] mod_mkportal [FNAME] sources/functions.php [STEP] [SEARCH] } $print = new display(); [INSERT] //-- mod_mkportal begin global $MK_CONFIG, $Skin, $mklib; if (!defined("IN_IPB")) { $this->boink_it($MK_CONFIG['forum_path']."/index.php"); } if (!defined("IN_MK")) { define('IN_MK', TRUE); require MK_PATH."mkportal/include/functions.php"; require "$mklib->template_path/tpl_main.php"; } if ($MK_CONFIG['forum_view'] == "1") { if (!class_exists("mkportal") ) { if (file_exists(ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php")) { require ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php"; } else { die("Could not call required function from file 'sources/mods/mkportal/mod_mkportal_func.php'
Does it exist?"); } } $print->add_output($mkportal->insert_js()); $print->add_output($html); $print->to_print = str_replace( "<% MEMBER BAR %>", "", $print->to_print); $FORUM_OUT = $mkportal->clean_html($print->to_print); $mklib->forum['js'] = $FORUM_OUT['js']; $mklib->forum['css'] = $FORUM_OUT['css']; $mklib->printpage(!$mklib->forumcs, !$mklib->forumcd, $mklib->sitename."->".$ibforums->lang['error_title'], $FORUM_OUT['html']); exit(); } //-- mod_mkportal end [MODE] insert_below [STEP] [SEARCH] $html = $skin_universal->board_offline( $msg ); $print = new display(); [INSERT] //-- mod_mkportal begin global $MK_CONFIG; if ($MK_CONFIG['forum_view'] == "1") { $TAGS = $DB->query("SELECT macro_value, macro_replace FROM ibf_macro WHERE macro_set={$ibforums->skin['macro_id']}"); while ( $row = $DB->fetch_row($TAGS) ) { if ($row['macro_value'] != "") { $print->to_print = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $print->to_print ); } } $print->to_print = str_replace("<#IMG_DIR#>", $ibforums->skin['img_dir'], $print->to_print); if (!class_exists("mkportal") ) { if (file_exists(ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php")) { require ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php"; } else { die("Could not call required function from file 'sources/mods/mkportal/mod_mkportal_func.php'
Does it exist?"); } } $print->add_output($mkportal->insert_js()); $print->add_output($html); $print->to_print = str_replace( "<% MEMBER BAR %>", "", $print->to_print); global $mklib; $FORUM_OUT = $mkportal->clean_html($print->to_print); $mklib->forum['js'] = $FORUM_OUT['js']; $mklib->forum['css'] = $FORUM_OUT['css']; $mklib->printpage(!$mklib->forumcs, !$mklib->forumcd, $mklib->sitename."->".$ibforums->lang['offline_title'], $FORUM_OUT['html']); exit(); } //-- mod_mkportal end [MODE] insert_below [STEP] [SEARCH] $nav = $skin_universal->start_nav(); [INSERT] //-- mod_mkportal begin global $MK_CONFIG; if (!$MK_CONFIG['forum_view']) { $nav .= "".$MK_CONFIG['site_name'].""."<{F_NAV_SEP}>"; } //-- mod_mkportal end [MODE] insert_below [STEP] [SEARCH] $this_header = $skin_universal->BoardHeader(); [INSERT] //-- mod_mkportal begin global $MK_CONFIG; if ($MK_CONFIG['forum_view'] == "1" ) { if (!class_exists("mkportal") ) { if (file_exists(ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php")) { require ROOT_PATH."sources/mods/mkportal/mod_mkportal_func.php"; } else { die("Could not call required function from file 'sources/mods/mkportal/mod_mkportal_func.php'
Does it exist?"); } } $this_header = $mkportal->insert_js(); } else //-- mod_mkportal end [MODE] insert_above [STEP] [SEARCH] if ($ibforums->member['show_popup']) [INSERT] //-- mod_mkportal begin if (empty($output_array['OVERRIDE']) && $MK_CONFIG['forum_view'] != "1") { if ($ibforums->member['show_popup']) { $DB->query("UPDATE ibf_members SET show_popup=0 WHERE id={$ibforums->member['id']}"); if ( $ibforums->input['act'] != 'Msg' ) { $pm_js = $skin_universal->PM_popup(); } } } else { $css = preg_replace("`url\s*\(css.php`i", "url(".$ibforums->vars['board_url']."/css.php", $css); } //-- mod_mkportal end [MODE] insert_above [STEP] [SEARCH] if ( empty($output_array['OVERRIDE']) ) [INSERT] //-- mod_mkportal begin if (empty($output_array['OVERRIDE']) && $MK_CONFIG['forum_view'] == "1") { $ibforums->skin['template'] = str_replace( "<% MEMBER BAR %>", "", $ibforums->skin['template']); } //-- mod_mkportal end [MODE] insert_above [STEP] [SEARCH] print $ibforums->skin['template']; exit; [INSERT] //-- mod_mkportal begin if ($MK_CONFIG['forum_view'] == "1") { if (empty($output_array['OVERRIDE'])) { global $mklib; $FORUM_OUT = $mkportal->clean_html($ibforums->skin['template']); unset($ibforums->skin['template']); $mklib->forum['js'] = $FORUM_OUT['js']; $mklib->forum['css'] = $FORUM_OUT['css']; $nav = str_replace("<{F_NAV_SEP}>", "->", $nav); $nav = preg_replace("`<.*?".">`", "", $nav); $mklib->printpage(!$mklib->forumcs, !$mklib->forumcd, $mklib->sitename."->".$nav, $FORUM_OUT['html']); exit(); } else { $ibforums->skin['template'] = preg_replace("`('|\")style_images/`i", "\\1".ROOT_PATH."style_images/", $ibforums->skin['template']); } } //-- mod_mkportal end [MODE] insert_above [STEP] [SEARCH] return $this->member; } [INSERT] //-- mod_mkportal begin if (! $this->member['id']) { $lang = $std->my_getcookie('language'); if ($lang) { $this->member['language'] = $lang; } $skin = $std->my_getcookie('skin'); if ($skin !== FALSE) { $this->member['skin'] = $skin; } } //-- mod_mkportal end [MODE] insert_above [FNAME_END] [MOD_TOKEN] mod_mkportal [FNAME] sources/Login.php [STEP] [SEARCH] $std->my_setcookie('forum_read', '-1'); [INSERT] //-- mod_mkportal begin $std->my_setcookie('language', 'en'); //-- mod_mkportal end [MODE] insert_below [FNAME_END] [MOD_TOKEN] mod_mkportal [FNAME] sources/Admin/admin_functions.php [STEP] [SEARCH] [INSERT] [MODE] insert_below [FNAME_END] [MOD_TOKEN] mod_mkportal [FNAME] sources/Drivers/mySQL.php [STEP] [SEARCH] 'debug' => 0, [INSERT] //-- mod_mkportal begin 'debug_level' => 0, //-- mod_mkportal end [MODE] insert_below [STEP] [SEARCH] $this->obj['cached_queries'][] = $the_query; [INSERT] //-- mod_mkportal begin if ($this->obj['debug_level'] >= 3) //-- mod_mkportal end [MODE] insert_above [FNAME_END] [CODE_END] [COPY] [b][size=3]Entpacken[/size][/b] Entpacke das ZIP-Archiv. In dem Archiv befindet sich der Ordner ./ uploads mit zwei weiteren Ordnern [b]Invisionboard[/b] und [b]mkportal[/b]. [b][size=3]Kopiere die Invisionboard Dateien[/size][/b] Kopiere alle Dateien und Ordner im Ordner [b]Invisionboard[/b] in das Hauptverzeichnis deines IPB und achte auf die Verzeichnisstruktur. Am besten kpopierst du einfach den gesamten Inhalt des Ordner Invisionboard.Er ist bereits vorstrukturiert. [List] [*]archive_in [arrow] archive_in // Hier befindet sich der neue Multilanguage Skin mkportal_int [*]sources/mods/mkportal [arrow] sources/mods/mkportal [*]lang/en/mod_customize_lang.php [arrow] lang/en/mod_customize_lang.php Die anderen Sprachdateien sollten in die entsprechenden Ordner kopiert werden. Beispiel: Wenn die Sprache Deutsch sich im Ordner lang/2 befindet, solltest du lang/German/mod_customize_lang.php [arrow] lang/2/mod_customize_lang.php [*]Skin/s1/mod_mkportal_skin.php [arrow] Skin/s1/mod_mkportal_skin.php Diese Datei sollte in alle weiteren Skinordner kopiert werden. Du kannst diese Datei anpassen, um MKPortal besser an den aktuellen Skin des Invisionboard anpassen zu können.Vergiss nicht, die Templates in der Datenbank über das ACP anzupassen. [/list] [b][size=5]Kopiere die MKPortal Dateien[/size][/b] [b][size=3]Neue Installation[/size][/b] [list][*]Kopiere den gesamten Ordner mkportal in denselben Ordner, wo auch bereits das Invisionboard ist. Ändere nicht den Ordnernamen mkportal. [*]Kopiere die Datei index.php im Ordner upload in den Ordner oberhalb von mkportal. [/list] [b][size=3]Upgrade[/size][/b] Befolge die gleiche Anweisungen wie oben, kopiere aber nicht die Datei mkportal/conf_mk.php. Überschreibe diese Datei nicht, denn sie enthält die Konfiguration des bisherigen MKPortals. Achtung: Wenn bereits neue Blöcke erzeugt worden sind, so sollte auch lang_update nach lang kopiert werden und nicht der Ordner lang. Nach diesen Schritten liegt folgende Struktur vor: [list][*]./index.php [*]./upgrade_11a_12.php [*]./upgrade_101_11.php [*]./mkportal [*]./[dein ipb] [/list] [b]Beispiel[/b] Nehmen wir an, das Invisionboard befindet sich in /home/htdocs/forum, dann sollte die folgende Struktur vorliegen: [list][*]/home/htdocs/index.php [*]/home/htdocs/forum [*]/home/htdocs/mkportal [/list] [b][size=3]Berechtigungen (chmod)[/size][/b] Nun müssen einige Rechte auf die Verzteichnisse und Dateien gesetzt werden. [list][*]Alle Verzeichnisse, in denen MKPortal neue Dateien oder Unterverzeichnisse erzeugen muss, müssen auf 0777 gesetzt werden. [*]Alle Dateien, in die MKPortal schreiben muss, müssen auf 0777 gesetzt werden [/list] (Manchmal kann man niedrigere Rechte setzen, aber nur dann, wenn man den Benutzer (bzw. Gruppe) kennt, unter dem das Script auf das Dateisystem zugreift) Verwende dein FTP-Programm und setze die Berechtigungen wie folgt: [list=1][*]mkportal itself: 0777 [*]mkportal/conf_mk.php: 0666 [*]mkportal/blog: 0777 [*]mkportal/cache: 0777 [*]mkportal/files: 0777 [*]mkportal/files/downloads: 0777 [*]mkportal/files/gallery: 0777 [*]mkportal/files/reviews: 0777 [*]mkportal/files/uploads: 0777 [*]mkportal/lang/xx: 0777 (alle Unterverzeichnisse in diesem Verzeichnis) [*]mkportal/lang/xx/xx: 0666 (alle Dateien in den Unterverzeichnissen, nicht aber das Verzeichnis admin). [/list] [COPY_END] [CUSTOMIZE] [b][size=3]Neue Installation des MKportal[/size][/b] Starte das Installationsscript im Ordner mkportal [b]http://.../mkportal/mk_install.php[/b] und befolge die Anweisungen. [b][size=3]Anpassung des Invisionboard[/size][/b] [quote][color=red][b]Wichtig[/b][/color] Bevor due die Invisionboard Dateien modifizierst, versichere dich, dass der Mod Customize Date In Your Own language mit dem mod_token [b]mod_customize_date[/b] nicht installiert ist. Sollte dies doch der Fall sein, entferne ihn bitte. Dieser Mod ist bereits in MKportal integriert.[/quote] Einige Dateien müssen modifiziert werden. Folge den obigen Anweisungen oder verwende den ModInstaller (empfohlen). [b][size=3]Anpassung der Sprachübersetzung für die MKPortal Sprachnamen[/size][/b] Dieser Schritt kann direkt im Kontrollcenter des MKPortals erfolgen. Gehe zu Portal CP [arrow] Einstellungen und ordne den Sprachen des MKPortals die entsprechenden Sprachen des Invisionboards zu. [b][size=3]Integration des MKPortal in das Skinsystem des Invisionboards[/size][/b] MKPortal enthält im Ordner templates einen Ordner Forum_Skin mit dem Template "Forum_Skin". [list][*]Gehe in das Kontrollcenter des MKPortal und wähle dieses Skintemplate aus. Nun wird das Portal das Design des Invisionboards übernehmen. [/LIST] [b][size=3]Neuer MKPortal Skin für das Invisionboard 1.3[/size][/b] Wir haben dem Archiv einen neuen Skin mKPortal_int mit Button in mehreren Sprachen hinzugefügt. Wenn du diesen Skin im ACP des Invisionboards importiert hast, wirst du mehrere Unterordner in style_images/mkportal-xxx finden. Diese Ordner sind nach Sprachen benannt: en, de, fr, it etc. und ihr Zweck wird unmittelbar einleuchtend sein. Mit den veränderten Invisionboard Dateien wirst du in der Lage sein, unterschiedliche Sprachbutton je nach Benutzersprache anbieten zu können. Die Auswahl erfolgt dann automatisch. Schau dir den Ordner lang des Invisionboard an und merke dir die Ordnernamen. Sie sind etwa wie en, 2, 3 etc. Schau dir einige Dateien in diesen Ordnern an, damit du weißt, welche Sprache darin gespeichert ist Nun benenne die neuen Ordner in style_images/mkportal_xxx passend zu den Ordnern in lang. Du kannst diese Lösung auch für andere Skins des Invisionboard verwenden, falls du Button in verschiedenen Sprachen zur Verfügung hast. Erstelle einfach neue Ordner in style_images/xx, wo sich der Skin befindet und lege die gleiche Struktutr an, wie oben beschrieben. Kopiere dann die die Originalgrafiken aus style_images/xx in diese Ordner und anschließend kopiere die neuen Button in diese Verzeichnisse hinein. Wenn die Benutzer dann ihre Sprache auswählen, wird Invisionboard diese neuen Ordner verwenden. Wird eine Sprache gewählt, für die kein Unterordner existiert, so wird der Standardordner verwendet. [b][size=3]Upgrade MKportal 0.1 [arrow] MKPortal 1.0.x[/size][/b] Starte das Upgrade Script upgrade.php im Ordner mkportal. Vergiss nicht, diese Datei anschließend zu entfernen. [b][size=3]Upgrade MKportal 1.0.1 [arrow] MKPortal 1.1[/size][/b] [list=1] [*]Starte das Upgrade Script upgrade_101_11.php im Wurzelverzeichnis deiner Site, also dort, wo sich index.php des Portal befindet. Es wird die Datenbank anpassen. Vergiss nicht, diese Datei anschließend zu entfernen. [*]Entferne alle Modifikationen des Invisionboard, die eine frühere MKPortal-Installation vorgenommen hat. [*]Entferne alle Modifikationen des Invisionboard, die eine frühere Installation des Mod "Customize Date In Your Own Language" vorgenommen hat (falls notwendig). Verwende am besten den ModInstaller (empfohlen). [*]Modifiziere dann die Invisionboard Dateien wie oben beschrieben. Folge den Anweisungen sorgfältig oder verwende den ModInstaller (empfohlen). [*]Gehe dann in das Portal Kontrollcenter und setze die Optionen nach deinen Vorgaben. [/list] [b][size=3]Upgrade MKportal 1.1a [arrow] MKPortal 1.2[/size][/b] [list=1] [*]Starte das Upgrade Script upgrade_11a_12.php im Wurzelverzeichnis deiner Site, also dort, wo sich index.php des Portal befindet. Es wird die Datenbank anpassen. Vergiss nicht, diese Datei anschließend zu entfernen. [*]Gehe dann in das Portal Kontrollcenter und setze die Optionen nach deinen Vorgaben. [/list] [b][size=3]Upgrade MKportal 1.2 [arrow] MKPortal 1.3[/size][/b] [list=1] [*]Alle Dateien austauschen wie oben beschrieben. [*]Einen neuen Ordner ./mkportal/files/uploads anlegen und mit den Rechten 0777 ausstatten [*]Für die Invisionboard-Skins gibt es eine neue mod_mkportal_skin.php. Kopiere sie in die Skin-Ordner und passe sie eventuell an. [*]Gehe dann in das Portal Kontrollcenter und setze die Optionen nach deinen Vorgaben. [/list] [CUSTOMIZE_END] [COMMENT_MOD] Feedback ist willkommen und erwünscht. Support und Feedback bei [url=http://www.mkportal.it]mkportal.it[/url] [COMMENT_MOD_END] [HISTORY_OLD] [b]1.2 Final [arrow] 1.3[/b] [list] [*]Zahlreiche Bugfixes [*]Updates for TinyMCE, FCKEditor and PIRC (Chat module) [*]Eine neue Datei css.php im Verzeichnis mkportal zum Laden der css-Styles aus dem Cache-Verzeichnis [/list] Es müssen sämtliche Dateien ausgetauscht und eine Neuinstallation im IPB ACP durchgeführt werden. Außerdem muss das Upgradescript upgrade_12_13.php aufgerufen werden. [b]1.2 Final [arrow] 1.3[/b] [list] [*]Zahlreiche Bugfixes [*]Einige Änderungen in ipb/sources/functions.php wurden entfernt (function get_date()) [*]Alle Änderungen in ipb/sources/Admin/admin_functions.php wurden entfernt (function get_date()) Für die automatische Entfernung des Codes ist im howto bzw. in der CodeChange.php ein leerer Bereich. Keine Sorgen wegen eventueller Fehlermeldungen für diese Datei. Es wird dringend empfohlen, den Mod [url=http://www.ibforen.de/forum/index.php?showtopic=10650]Security and Bug Update For IPB 1.3.1[/url] bzw. [url=http://www.ibforen.de/forum/index.php?showtopic=10349]Security and Bug Update For IPB 1.3[/url] zu installieren. [*]Unbegrenzte Tiefe für Subkategorien in Downloads, Galerie und Besprechungen [*]Suchfunktion auch für Besprechungen und Blogs [*]Boxen zusammenfaltbar [*]Updates for TinyMCE, FCKEditor and PIRC (Chat module) [/list] [b]1.1b Final [arrow] 1.2[/b] [i]General[/i] [list] [*]TinyMCE Editor as the third html editor. It looks a little bit different compared with Multiboard, because I have ordered the buttons similar to Word. The German language files are completed and improved (UTF-8). [*]RSS Reader Block with management in Portal CP [/list] [i]Admin[/i] [list] [*]ad_download: Upload files: Existing files will not get overwritten [*]ad_langs.php: Select editor (html or raw). This is helpful for the help files [*]ad_nav.php: default entries replacable by user defined links (list of default entries remains for selection) [/list] [i]User[/i] [list] [*]Blocks: [list][*]online_home.php: [list][*]User sees only allowed sections [*]Anonymous admins are not shown as anonymous members (Stealth mode for admins. This is a MI-Mod for IPB1.3, too)[/list] [/list] [*]Modules: [list][*][b]blog[/b]: [*]Use of magic words for the templates, language dependent magic words and system magic words [*]Bug in message archive fixed [*][b]chat[/b]: [list][*]removing annoying characters from nickname [*]nickname = member name (for members only)[/list] [*][b]gallery[/b]: [list][*]chmod images to 0666[/list] [*][b]reviews[/b]: [list][*]an url is formatted as a clickable link [*]an email address is formatted as a clickable mailto link [/list][/list] [*]Editor: Copyright line under the editor post box. [list][*]fckeditor: [list][*]replaced with newest version 2.0 RC3 [*]missing xml-file added [*]German language files optimized[/list] [*]TinyMCE: [list][*]Newest stable version 1.43 [*]German language files optimized[/list] [/list] [*]Basic functions in directory mkportal/include [list] [*]link to the shoutbox in last shout was buggy in forum view [*]line feed problem for html editors solved [*]html filter only for html editors [/list] [/list] [b]1.1 Final [arrow] 1.1b[/b] [list] [*]Bugfixes [*]Google search in user language [/list] [HISTORY_OLD_END]