Seite 2 von 4

Verfasst: 26.02.2005 03:49
von ich-nrw
ok ich werd mich dann mal dran setzen, denn ich glaube das ist genau das, was ich haben wollte!

aber was meinst du damit??
Den (das?) Query musst du über phpMyAdmin ausführen:

Code: Alles auswählen

ALTER TABLE `phpbb_users` ADD `user_rank_normal` TINYINT( 1 ) DEFAULT '0' AFTER `user_rank` ;

Verfasst: 26.02.2005 11:58
von punkface
Steht dir phpMyAdmin zu verfügung? Wenn ja log dich ein, wähle im Linken Frame die Datenbank aus in der die Daten deines Forums gespeichert sind, klicke dann im rechten Frame oben auf SQL, gib in das Textfeld genau das ein was ich gezeigt habe (eventuell musst du den Prefix (phpbb_) anpassen), klick auf den OK-Button, fertig.

Wenn du das nicht verstehst, oder dir das Tool nicht zu verfügung steht, schau mal hier: http://www.phpbbhacks.com/forums/db_generator.php
Da einfach das was ich gezeigt hab in das Textfeld kopieren, Submit drücken, dann unten auf den Button "Download" klicken, die Datei die dann runtergeladen wird in das root Verzeichnis (da wo z.B. die groupcp.php zu finden ist) deines Forums uploaden, Datei im Browser aufrufen, wenn das Datenabankupdate erfolgreich war, die Datei wieder löschen, fertig.

Verfasst: 26.02.2005 12:25
von ich-nrw
oki ist gemacht! ich mach jetzt noch den rest, und dann meld ich mich nochmal!

dank dir! [ externes Bild ]

Verfasst: 26.02.2005 12:41
von ich-nrw
mit einer sache hab ich jetzt "probleme"
punkface hat geschrieben: suche

Code: Alles auswählen

user_rank = $user_rank
direkt danach

Code: Alles auswählen

, user_rank_normal = $user_rank_normal
(Achte darauf das du hier alles kopierst.. das Komma z.B. ist sehr wichtig)
bei mir sieht die komplette stelle so aus:

Code: Alles auswählen

				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 . "
wo muß jetzt das andere hin? genau nach $user_rank"? also nach den "


edit//
das nächste problem ist die stelle
viewtopic_body.tpl

suche

Code: Alles auswählen

{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}{postrow.POSTER_SPECIAL_RANK}<br />{postrow.SPECIAL_RANK_IMAGE}
ersetzte mit

Code: Alles auswählen

{postrow.POSTER_SPECIAL_RANK}{postrow.SPECIAL_RANK_IMAGE}{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}
denn die stelle, die ich suchen soll, gibt es bei mir nicht!
hier ist die txt
http://people.freenet.de/ich-nrw/viewtopic_body2.txt

Verfasst: 26.02.2005 13:39
von punkface
ich-nrw hat geschrieben:
wo muß jetzt das andere hin? genau nach $user_rank"? also nach den "
Nein genau vor das " .. also zwischen $user_rank und "

Um's nochmal zu verdeutlichen: Die Stelle sieht dann so aus: http://www.picupload.net/image/2584a27f ... 1fbcb6.png

ich-nrw hat geschrieben: edit//
das nächste problem ist die stelle
viewtopic_body.tpl

suche

Code: Alles auswählen

{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}{postrow.POSTER_SPECIAL_RANK}<br />{postrow.SPECIAL_RANK_IMAGE}
ersetzte mit

Code: Alles auswählen

{postrow.POSTER_SPECIAL_RANK}{postrow.SPECIAL_RANK_IMAGE}{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}
denn die stelle, die ich suchen soll, gibt es bei mir nicht!
hier ist die txt
http://people.freenet.de/ich-nrw/viewtopic_body2.txt
suche

Code: Alles auswählen

{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}
davor einfügen

Code: Alles auswählen

{postrow.POSTER_SPECIAL_RANK}{postrow.SPECIAL_RANK_IMAGE}

Verfasst: 26.02.2005 13:54
von ich-nrw
ok, ich werds jetzt testen! dank dir erstmal! meld mich dann wenn ich es hochgeladen hab und getestet hab!

Verfasst: 26.02.2005 14:14
von punkface
Alles klar.. ich hätt dann auch noch eine Erweiterung dieser Änderung.

/edit: Update: Bitte nur die hier verlinkte MOD-Anleitung verwenden

Bisher kann man ja nur für jeden User einzeln Einstellen, dass unter dem Spezial auch noch der normale Rang angezeigt werden soll. Wenn jetzt aber Beispielsweise 50 Leute Spezialrang XYZ haben, und diese unterschiedliche Einstellungen haben was das extra Rang anzeigen betrifft, du aber willst das bei allen die diesen Rang XYZ haben auch der normale Rang extra angezeigt werden soll, müsstest du somit bei jedem unter den 50 Leuten bei dem im Profil eingestellt wurde das der normale Rang _nicht_ extra angezeigt werden soll, diese Einstellung ändern. (Ja, ich mag irgendwie lange Erklärungen 8) ) Das ist aber ziemlich aufwendig, und dazu kommt noch, dass du bei einer großen Anzahl an Leuten ja nicht mehr weißt wer welche Einstellung oder welchen Spezial Rang hat.

Die Lösung: Durch diese Änderung kannst du beim Rang editieren auswählen, dass bei allen die Spezialrang XYZ haben, die Einstellungen für extra Rang anzeigen überschrieben werden:

admin_ranks.php

Code: Alles auswählen

+++ suche +++

			$s_hidden_fields .= '<input type="hidden" name="id" value="' . $rank_id . '" />';

+++ danach einfügen +++

      $rank_normal_ow = '<option value="0">' . $lang['Rank_normal_ow_0'] . '</option><option value="1">' . $lang['Rank_normal_ow_1'] . '</option><option value="2">' . $lang['Rank_normal_ow_2'] . '</option>' . "\n";

+++ suche +++

			$rank_info['rank_special'] = 0;

+++ danach einfügen +++

      $rank_normal_ow = '';

+++ suche +++

			"NOT_SPECIAL_RANK" => $rank_is_not_special,

+++ danach einfügen +++

      "RANK_NORMAL_OW" => $rank_normal_ow,

+++ suche +++

			"L_RANK_SPECIAL" => $lang['Rank_special'],

+++ danach einfügen +++

      "L_RANK_NORMAL_OW" => $lang['Rank_normal_ow'],
      "L_RANK_NORMAL_OW_EXPLAIN" => $lang['Rank_normal_ow_explain'],

+++ suche +++

	}
	else if( $mode == "save" )
	{

+++ _davor_ einfügen +++

    if( $rank_normal_ow != '' )
    {
      $template->assign_block_vars('switch_rank_normal_ow', array() ); 
    }

+++ suche +++

		$special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;

+++ danach einfügen +++

    $rank_normal_ow = ( $HTTP_POST_VARS['rank_normal_ow'] != 0 ) ? ( ($special_rank) ? $HTTP_POST_VARS['rank_normal_ow'] : 0 ) : 0;

+++ suche +++

			if (!$special_rank)
			{
				$sql = "UPDATE " . USERS_TABLE . " 
					SET user_rank = 0 
					WHERE user_rank = $rank_id";

				if( !$result = $db->sql_query($sql) ) 
				{
					message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
				}
			}

+++ danach einfügen +++

      if ($rank_normal_ow)
			{
				$set = ( $rank_normal_ow == 1 ) ? 1 : 0 ;
        $sql = "UPDATE " . USERS_TABLE . " 
					SET user_rank_normal = $set 
					WHERE user_rank = $rank_id";

				if( !$result = $db->sql_query($sql) ) 
				{
					message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);
				}
			}

lang_admin.php

Code: Alles auswählen

+++ suche +++

$lang['Rank_normal_explain'] = 'Auswahl ob in Themen unter dem Spezialrang auch der normale Rang (der von der Anzahl der Beiträge abhängig ist) angezeigt werden soll';

+++ danach einfügen +++

$lang['Rank_normal_ow'] = 'Rang Einstellung überschreiben';
$lang['Rank_normal_ow_explain'] = 'Die Einstellung ob bei einem Benutzer unter dem Spezialrang auch der normale Rang angezeigt werden soll, kann hier für alle die diesen Spezialrang haben überschrieben werden';
$lang['Rank_normal_ow_0'] = 'Die Einstellung nicht überschreiben';
$lang['Rank_normal_ow_1'] = 'normalen Rang extra anzeigen';
$lang['Rank_normal_ow_2'] = 'normalen Rang nicht extra anzeigen';

ranks_edit_body.tpl

Code: Alles auswählen

+++ suche +++

	<tr>
		<td class="row1"><span class="gen">{L_RANK_SPECIAL}</span></td>
		<td class="row2"><input type="radio" name="special_rank" value="1" {SPECIAL_RANK} />{L_YES} &nbsp;&nbsp;<input type="radio" name="special_rank" value="0" {NOT_SPECIAL_RANK} /> {L_NO}</td>
	</tr>

+++ danach einfügen

  <!-- BEGIN switch_rank_normal_ow --> 
	<tr>
		<td class="row1"><span class="gen">{L_RANK_NORMAL_OW}</span><br />
		<span class="gensmall">{L_RANK_NORMAL_OW_EXPLAIN}</span></td>
		<td class="row2"><select name="rank_normal_ow">{RANK_NORMAL_OW}</select></td>
	</tr>
  <!-- END switch_rank_normal_ow -->
gruß

Verfasst: 26.02.2005 14:24
von ich-nrw
suuuuuuuuuuupi dass geht!!!!!!!

dankö dankö dankö


das andere probier ich dann auch noch gleich!

Verfasst: 07.04.2005 11:40
von ich-nrw
ich muß den alten thread nochmal hochholen*g
besteht die möglichkeit, das ich auch bei den Mod´s und Admin´s eine zweite grafik (rank) einfügen kann?

Verfasst: 07.04.2005 11:52
von punkface
Den Admins kann man doch ganz einfach einen Spezialrang geben, und dann im Profil einstellen, dass auch der normale Rang angzeigt werden soll :)

Bei Mods könnte man das auch machen, oder willst du, dass bei Moderatoren nur in den Foren ein zweiter Rang angezeigt wird, in dennen sie wirklich Moderatoren sind?