Installation
neue Dateien
im_ad_bndedit.php
im_ad_event.php
im_ad_freig.php
im_ad_history.php
im_ad_resedit.php
im_ainfo.php
im_bnd_resliste.php
im_iinfo.php
im_karte2.css
im_karte2.php
im_member.php
im_res.php
im_spio.php
im_stat.php
im_suche.php
im_uinfo.php
im_unbewohnt.php
im_updater.php
im_war.php
im_wkl.php
im_wks.php
admin/admin_im.php
images/im_res0.gif
images/im_res1.gif
images/im_res2.gif
images/im_res3.gif
images/im_res4.gif
images/im_waterback.jpg
includes/im.php
includes/im_global_menu.php
install/im_extension.sql
install/im_extension_install.html
install/lizenz.txt
templates/subSilver/im_ad_bndedit.tpl
templates/subSilver/im_ad_event.tpl
templates/subSilver/im_ad_freig.tpl
templates/subSilver/im_ad_history.tpl
templates/subSilver/im_ad_resedit.tpl
templates/subSilver/im_ainfo.tpl
templates/subSilver/im_bnd_resliste.tpl
templates/subSilver/im_iinfo.tpl
templates/subSilver/im_irc.tpl
templates/subSilver/im_karte2.tpl
templates/subSilver/im_member.tpl
templates/subSilver/im_res.tpl
templates/subSilver/im_spio.tpl
templates/subSilver/im_stat.tpl
templates/subSilver/im_suche.tpl
templates/subSilver/im_uinfo.tpl
templates/subSilver/im_unbewohnt.tpl
templates/subSilver/im_war.tpl
templates/subSilver/im_wkl.tpl
templates/subSilver/im_wks.tpl
templates/subSilver/admin/im.tpl
templates/subSilver/images/im_icon_mini_admin.gif
templates/subSilver/images/im_icon_mini_irc.gif
templates/subSilver/images/im_icon_mini_karte.gif
templates/subSilver/images/im_icon_mini_land.gif
templates/subSilver/images/im_icon_mini_leer.gif
templates/subSilver/images/im_icon_mini_member.gif
templates/subSilver/images/im_icon_mini_res.gif
templates/subSilver/images/im_icon_mini_see.gif
templates/subSilver/images/im_icon_mini_spio.gif
templates/subSilver/images/im_icon_mini_stat.gif
templates/subSilver/images/im_icon_mini_suche.gif
templates/subSilver/images/im_icon_mini_unbewohnt.gif
templates/subSilver/images/im_icon_mini_war.gif
templates/subSilver/images/im_icon_mini_ziele.gif
templates/subSilver/images/IM_Rank_01.gif
templates/subSilver/images/IM_Rank_02.gif
templates/subSilver/images/IM_Rank_03.gif
templates/subSilver/images/IM_Rank_04.gif
templates/subSilver/images/IM_Rank_05.gif
veränderte phpBB-Dateien
common.php
admin/admin_users.php
includes/page_header.php
templates/subSilver/overall_header.tpl
templates/subSilver/admin/user_edit_body.tpl
includes/usercp_register.php
templates/subSilver/overall_footer.tpl
templates/subSilver/index_body.tpl
viewtopic.php
templates/subSilver/viewtopic_body.tpl
includes/bbcode.php
Dateien entpacken / kopieren
Original - phpBB Archiv entpacken oder die zu verändernden Dateien downloaden. Dateien aus dem Archiv für
diese Erweiterung in das gleiche Verzeichnis entpacken/kopieren. Die
Verzeichnisstruktur muss erhalten bleiben.
Dateien bearbeiten
install/im_extension.sql
Datei ist in der Extension enthalten. Datenbankänderungen.
Suchen /
Ersetzen (alle):
Suche nach: prefix
Ersetze mit:
phpbb
(Das bei der Installation angegebene Datenbank-Prefix
für phpbb)
Bei Verwendung des Patches / der bereits geänderten Dateien beim Abschnitt "SQL" fortfahren
common.php
Bibliothek
Suche:
include($phpbb_root_path .
'includes/db.'.$phpEx);
Einfügen danach:
include($phpbb_root_path . 'includes/im.'.$phpEx);
admin/admin_users.php
Ingame Name Admin
Suche:
$yim = ( !empty($HTTP_POST_VARS['yim']) )
? trim(strip_tags( $HTTP_POST_VARS['yim'] ) ) : '';
Einfügen
danach:
# IMEXT
$user_ign = (
!empty($HTTP_POST_VARS['user_ign']) ) ?
trim(strip_tags( $HTTP_POST_VARS['user_ign'] ) ) : '';
Suche:SET " .
$username_sql . $passwd_sql . "user_email = '" . str_replace("\'",
"''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "',
user_website = '" . str_replace("\'", "''", $website) . "', user_occ =
'" . str_replace("\'", "''", $occupation) . "', user_from = '" .
str_replace("\'", "''", $location) . "', user_interests = '" .
str_replace("\'", "''", $interests) . "', user_sig = '" .
str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail,
user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" .
str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'",
"''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid =
'$signature_bbcode_uid', user_allowsmile = $allowsmilies,
user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar,
user_allowbbcode = $allowbbcode, user_allow_viewonline =
$allowviewonline, user_notify = $notifyreply, user_allow_pm =
$user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm,
user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style =
$user_style, user_timezone = $user_timezone, user_dateformat = '" .
str_replace("\'", "''", $user_dateformat) . "', user_active =
$user_status, user_rank = $user_rank" . $avatar_sql . "
Anfügen: , user_ign
= '" . $user_ign ."'
Suche: $user_allowpm = $this_userdata['user_allow_pm'];
Einfügen danach:
# IMEXT
$user_ign = $this_userdata["user_ign"];
Suche: 'RANK_SELECT_BOX' => $rank_select_box,
Einfügen danach:
# IMEXT
'USER_IGN' => $user_ign,
includes/page_header.php
Menü, IM Variablen
Suche: $l_timezone =
(count($l_timezone) > 1 && $l_timezone[count($l_timezone)-1]
!= 0) ? $lang[sprintf('%.1f', $board_config['board_timezone'])] :
$lang[number_format($board_config['board_timezone'])];
Einfügen danach:
# IMEXT
include_once("im_global_menu.php");
Suche: 'T_SPAN_CLASS3' => $theme['span_class3'],
Einfügen danach:
'IM_TOOL_MENU' => $im_tool_menu,
'IM_EXTRA_STYLE' => $im_extra_style,
'IM_LASTUPDATE' => $im_lastupdate,
templates/subSilver/overall_header.tpl
Menü, JavaScript
Suche: .helpline { background-color: {T_TR_COLOR2}; border-style: none; }
Einfügen danach:
th a, th a:link, th a:visited, th a:hover {
color: {T_FONTCOLOR3}; font-size: {T_FONTSIZE2}px; font-weight : bold;
}
tr.action0 td { background-color: #C0C0C0 }
tr.action1 td { background-color: #FFC0C0 }
tr.action2 td { background-color: #FFFFC0 }
tr.action3 td { background-color: #ADB4F3 }
tr.action4 td { background-color: #C0C0FF }
table.idag, table.idiag tr td { border-color:#808080; border-width:1px; border-style:solid; }
{IM_EXTRA_STYLE}
Suche: <!-- END switch_enable_pm_popup -->
Einfügen danach:
<script language="Javascript" type="text/javascript">
function countdown(elemid,zielDatum) {
var Jetzt = new Date();
// var tmp1 = (new Date(zielDatum)).getTime();
var ms = zielDatum*1000-Jetzt.getTime();
if (ms<0) ms = -ms;
var Rest = Math.floor(ms/1000);
var cnttxt = "";
if(Rest>=86400) {
var Tage = Math.floor(Rest/86400);
Rest = Rest-Tage*86400;
if(Tage>1 || Tage==0) {
cnttxt = cnttxt +"<b>" + Tage + "</b> Tage ";
} else if(Tage==1) {
cnttxt = cnttxt + "<b>" + Tage + "</b> Tag ";
}
}
if(Rest>=3600)
{
var Stunden = Math.floor(Rest/3600);
Rest = Rest-Stunden*3600;
if(Stunden>1 || Stunden==0)
{
cnttxt += "<b>" + Stunden + "</b> Stunden ";
}
else if(Stunden==1)
{
cnttxt += "<b>" + Stunden + "</b> Stunde ";
}
}
if(Rest>=60)
{
var Minuten = Math.floor(Rest/60);
Rest = Rest-Minuten*60;
if(Minuten>1 || Minuten==0)
{
cnttxt += "<b>" + Minuten + "</b> Minuten ";
}
else if(Minuten==1)
{
cnttxt += "<b>" + Minuten + "</b> Minute ";
}
}
if(Rest>1 || Rest==0)
{
cnttxt += "<b>" + Rest + "</b> Sekunden ";
}
else if(Rest==1)
{
cnttxt += "<b>" + Rest + "</b> Sekunde ";
}
txt = cnttxt;
document.getElementById(elemid).innerHTML = txt;
window.setTimeout("countdown('"+elemid+"', "+zielDatum+")", 1000);
}
</script>
Suche:
<tr>
<td
height="25" align="center" valign="top" nowrap="nowrap"><span
class="mainmenu"> <a href="{U_PROFILE}"
class="mainmenu"><img
src="templates/subSilver/images/icon_mini_profile.gif" width="12"
height="13" border="0" alt="{L_PROFILE}" hspace="3"
/>{L_PROFILE}</a> <a
href="{U_PRIVATEMSGS}" class="mainmenu"><img
src="templates/subSilver/images/icon_mini_message.gif" width="12"
height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3"
/>{PRIVATE_MESSAGE_INFO}</a> <a
href="{U_LOGIN_LOGOUT}" class="mainmenu"><img
src="templates/subSilver/images/icon_mini_login.gif" width="12"
height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3"
/>{L_LOGIN_LOGOUT}</a> </span></td>
</tr>
Einfügen danach:
<tr>
<td>
<span class="mainmenu">
{IM_TOOL_MENU}
</span>
</td>
</tr>
templates/subSilver/admin/user_edit_body.tpl
Admin: Ingame Name
Suche:
<tr>
<td class="row1"><span class="gen">{L_CONFIRM_PASSWORD}: * </span><br />
<span class="gensmall">{L_PASSWORD_CONFIRM_IF_CHANGED}</span></td>
<td class="row2">
<input
class="post" type="password" name="password_confirm" size="35"
maxlength="32" value="" />
</td>
</tr>
Einfügen danach:
<tr>
<td class="row1"><span class="gen">Ingame-Name: * </span></td>
<td class="row2">
<input class="post" name="user_ign" size="35" maxlength="32" value="{USER_IGN}" />
</td>
</tr>
includes/usercp_register.php
Ingame Name
Suche:
$sql = "INSERT INTO " . USERS_TABLE .
" (user_id, username, user_regdate, user_password,
user_email, user_icq, user_website, user_occ, user_from,
user_interests, user_sig, user_sig_bbcode_uid, user_avatar,
user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm,
user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode,
user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm,
user_timezone, user_dateformat, user_lang, user_style, user_level,
user_allow_pm, user_active, user_actkey)
Ersetzen mit:
$sql = "INSERT INTO " . USERS_TABLE .
" (user_id, username, user_regdate, user_password,
user_email, user_icq, user_website, user_occ, user_from,
user_interests, user_sig, user_sig_bbcode_uid, user_avatar,
user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm,
user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode,
user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm,
user_timezone, user_dateformat, user_lang, user_style, user_level,
user_allow_pm, user_active, user_actkey,user_ign)
Suche:
$sql .= "0, '" .
str_replace("\'", "''", $user_actkey) . "')";
}
else
{
$sql .= "1, '')";
}
Ersetzen mit:
$sql .= "0, '" .
str_replace("\'", "''", $user_actkey) . "'";
}
else
{
$sql .= "1, ''";
}
$sql .= ",'" . str_replace("\'", "''", $username) . "')";
templates/subSilver/overall_footer.tpl
Info
Suche:
Powered by <a href="http://www.phpbb.com/"
target="_phpbb" class="copyright">phpBB</a> © 2001,
2005 phpBB Group<br />{TRANSLATION_INFO}</span></div>
Ersetzen mit:
Powered by <a href="http://www.phpbb.com/"
target="_phpbb" class="copyright">phpBB</a> © 2001,
2005 phpBB Group<br />{TRANSLATION_INFO}<br />
Insel Monarchie Erweiterung © <a
href="http://im.alexander-fleischer.de" class="copyright">Alexander
Fleischer</></span></div>
templates/subSilver/index_body.tpl
Update-Info
Suche: {CURRENT_TIME}
Direkt dahinter einfügen: {IM_LASTUPDATE}
viewtopic.php
IM Info / User / Post
Suche: $poster_from = (
$postrow[$i]['user_from'] && $postrow[$i]['user_id'] !=
ANONYMOUS ) ? $lang['Location'] . ': ' . $postrow[$i]['user_from'] : '';
Einfügen danach: $im_poster_info = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? im_getUserInfo($poster) : '';
Suche: 'POSTER_FROM' => $poster_from,
Einfügen danach: 'IM_POSTER_INFO' => $im_poster_info,
templates/subSilver/viewtopic_body.tpl
IM Info / User / Post
Suche: {postrow.POSTER_FROM}
Direkt danach in der Zeile einfügen: {postrow.IM_POSTER_INFO}
includes/bbcode.php
BBCode: [coundown]
Suche:
/**
* Does second-pass bbencoding. This should be used before displaying the message in
Einfügen davor:
function countdown_callback($m) {
$a = mktime($m[4], $m[5],0,$m[2],$m[1],$m[3]);
$rnd = round(rand()*10000);
if ($a>time()) {
$zv = $a - time();
return
"<script
language=\"JavaScript\">window.setTimeout(\"countdown('countdown$rnd',$a)\",
1000);</script>Countdown zum $m[1].$m[2].$m[3], $m[4]:$m[5] : von
jetzt sind es <span
id=\"countdown$rnd\"><b>".(floor($zv/3600/24))."</b>
Tage, <b>".(floor(($zv%(24*3600))/3600))."</b> Stunden,
<b>".(floor(($zv%3600)/60))."</b> Minuten und
<b>".($zv % 60)."</b> Sekunden.</span>";
} else {
$zv = time() - $a;
return
"<script
language=\"JavaScript\">window.setTimeout(\"countdown('countup$rnd',$a)\",
1000);</script>Seit dem $m[1].$m[2].$m[3], $m[4]:$m[5] sind
<span
id=\"countup$rnd\"><b>".(floor($zv/3600/24))."</b> Tage,
<b>".(floor(($zv%(24*3600))/3600))."</b> Stunden,
<b>".(floor(($zv%3600)/60))."</b> Minuten und
<b>".($zv % 60)."</b> Sekunden</span> vergangen.";
}
}
Suche: $text = bbencode_second_pass_code($text, $uid, $bbcode_tpl);
Einfügen danach:
// IMEXT: Countdown
if (strstr($text, '[countdown]')) {
$text =
preg_replace_callback("#\\[countdown\\]([0-9]+)\.([0-9]+)\.([0-9]+)
([0-9]+):([0-9]+)\\[/countdown\\]#", 'countdown_callback', $text);
}
SQL
install/im_extension.sql mit phpMyAdmin / mysql ausführen
UPLOAD / COPY
Alle Dateien (mit Ausnahme der im install-Verzeichnis) hochladen, die
Verzeichnisstruktur dabei beibehalten.
Test / Setup
- phpBB Administration aufrufen
- Benutzergruppen für Toolzugriff (IM User) und Admin-Zugriff (IM Admin) anlegen (Namen können anders gewählt werden)
- Unter Adminstrationsbereich / Games/Insel Monarchie Pfade und Benutzergruppen eintragen (noch keine für Mitgliederprüfung wählen!)
- Updater im Browser aufrufen, prüfen, ob das Update geht
- Updater umbennenen
- Updater, beispielsweise per conjob, regelmäßig aufrufen lassen
- Im Admin/Bündnisse Menü eigene Wings eintragen
- Warten.... mind. 6h, auf das nächste Update, dieses laufen lassen
- Jetzt sollte die Reservierungsanzeige, Trend, etc. stimmen
- Jetzt ggfs. Mitgliederprüfung im Admin-Bereich einschalten