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">&nbsp;<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>&nbsp; &nbsp;<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>&nbsp; &nbsp;<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>&nbsp;</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> &copy; 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> &copy; 2001, 2005 phpBB Group<br />{TRANSLATION_INFO}<br />
Insel Monarchie Erweiterung &copy; <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