Renommee / Reputation System (beta)

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Tissot
Mitglied
Beiträge: 5
Registriert: 22.07.2006 19:54

Beitrag von Tissot »

FRAGE:

Gibt es eine Möglichkeit anstelle des Links in der Renommee-Anzeige unterhalb des Avatars zusätzlich einen Button als Link hinzuzufügen?
Siegfried_Thorson
Mitglied
Beiträge: 1
Registriert: 28.08.2006 21:27

Beitrag von Siegfried_Thorson »

Erstmal schönen Dank für die Entwicklung dieses Mods.

Nun habe ich allerdings ein Problem, was anscheinend viele haben, die es installiert haben, nämlich es öffnet sich kein Popup, wenn man auf den grünen Punkt klickt, sondern das Thema öffnet sich neu.

habe schon den gesamten Thread durchsucht und auch schon einige Dinge gamcht wie die renommee.php geändert, aber ich werde dieses Problem nicht los.

Deswegen nocheinmal die Frage: Wie löst man es?

Eventuell bin ich blind und dumm, dies bitte ich zu entschuldigen, aber trotzdem möchte ich gerne Hilfe.


MfG
Siegfried.
Thomas W.
Mitglied
Beiträge: 118
Registriert: 01.01.2006 22:32
Kontaktdaten:

Beitrag von Thomas W. »

mir ist dein Phänomen bei einem funktionierendem Renommeemod passiert, nachdem ich das Update von 2.0.19 auf 2.0.20 installiert habe.

bei einer gewissenhaften Wiederholung der Modifikationen (also alles nochmal von vorn) war dann alles OK... WO der Flüchtigkeitsfehler war kann ich dir leider nicht sagen - nur daß es nicht am Mod liegt :-)
Benutzeravatar
bgx
Mitglied
Beiträge: 228
Registriert: 30.11.2005 22:32
Kontaktdaten:

Beitrag von bgx »

Sehr schöner Mod!

Hab ihn gleich eingebaut, nur ist euch schon mal aufgefallen das dann gleich bis zu ca. 100 Queries mehr laufen?

Ich hab da mal nen Cache für geschrieben, denn ein Großteil der Queries ist total unnötig!

Bei interresse gebe ich ihn gern weiter.
Thomas W.
Mitglied
Beiträge: 118
Registriert: 01.01.2006 22:32
Kontaktdaten:

Beitrag von Thomas W. »

klar :-) will sehen

hast du (bgx) dir schon meine "kranken" Erweiterungen angesehen
hackepeter13
Valued Contributor
Beiträge: 3557
Registriert: 21.04.2004 12:22
Wohnort: Berlin
Kontaktdaten:

Hilfe - Smilie Creator macht Problem

Beitrag von hackepeter13 »

Hi, ich wollte mir soeben den Mod einbauen (ohja Nachts ^^), aber ich hab da ein Problem und so wie es aussieht durch den Smilie Creator.

Wenn ich das Profil eines Members anzeigen lassen will (profile.php?mode=viewprofile&u=x), kommt folgende Fehlermeldung:
Fatal error: Cannot redeclare phpbb_schild() (previously declared in /www/htdocs/w00631f9/includes/bbcode.php:34) in /www/htdocs/w00631f9/includes/bbcode.php on line 34
In der bbcode.php ab Zeile 34 steht folgendes:

Code: Alles auswählen

function phpbb_schild($smilie, $parameter, $text)
{
	$text = trim(urlencode($text));
	$fontcolor = '000000';
	$shadowcolor = "";
	$shieldshadow = '1';

	$parameter = trim($parameter);
	if ( !empty($parameter) )
	{
		$parameter = explode(' ', $parameter);
		$parameter2 = array();

		if ( !empty($parameter) )
		{
			reset($parameter);
			while ( list( , $line) = each($parameter) )
			{
				if ( ( $pos = strpos(' ' . $line, '=') ) )
				{
					$name = substr($line, 0, $pos - 1);
					$value = substr($line, $pos);
					$parameter2[$name] = $value;
				}
			}

			if ( !empty($parameter2['fontcolor']) )
			{
				$fontcolor = $parameter2['fontcolor'];
			}

			if ( !empty($parameter2['shadowcolor']) )
			{
				$shadowcolor = $parameter2['shadowcolor'];
			}

			if ( $parameter2['shieldshadow'] == '0' )
			{
				$shieldshadow = '0';
			}
			else
			{
				if ( !empty($parameter2['shieldshadow']) )
				{
					$shieldshadow = $shieldshadow;
				}
			}
		}
	}
	return "text2schild.php?smilie=$smilie&fontcolor=$fontcolor&shadowcolor=$shadowcolor&shieldshadow=$shieldshadow&text=$text";
}
Es liegt wirklich nur an diesem Installationspunkt vom Renommee Mod 0.2.2:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[ FIND ]------------------------------------------------
#
$search = '<a href="' . $temp_url . '">' . sprintf($lang['Search_user_posts'], $profiledata['username']) . '</a>';
#
#-----[ AFTER, ADD ]------------------------------------------
#
//
// Start -> Renommee - Mod 
//
               
include_once('includes/bbcode.php');


// Auslesen der Konfigurationsdaten

$sql = "SELECT * FROM " . RENOMMEE_KONFIG;

if ( !$result = $db->sql_query($sql) )
{
     message_die(CRITICAL_ERROR, "Could not query information", "", __LINE__, __FILE__, $sql);
}
else
{
     while( $row = $db->sql_fetchrow($result) )
     {
          $config_name = $row['name'];
          $config_value = $row['wert'];
     
	     $renommee_konfig[$config_name] = $config_value;
     }
}


// Auslesen der Renommee -  Daten

$sql = "SELECT * FROM " . RENOMMEE . " WHERE ziel_id = '$profiledata[user_id]' ORDER BY datum DESC LIMIT 0, " . $renommee_konfig[beitrags_anzahl];

if ( !$result = $db->sql_query($sql) )
{
     message_die(CRITICAL_ERROR, "Could not query information", "", __LINE__, __FILE__, $sql);
}
else
{
     while( $row = $db->sql_fetchrow($result) )
     {
          $renommee_rowset[] = $row;
          $total_bewertungen++;
	}
}  

// Bestimmen der Rechte für Renommee - Ansicht und Aufbereitung der Daten

if ( (isset($userdata['session_logged_in']) AND $userdata['user_id'] == $profiledata['user_id']) OR ($userdata['user_level'] >= 1) )
{
     $template->assign_block_vars('renommee_anzeige', array(
     
               "GESAMT_RENOMMEE" => $profiledata['renommee_gesamt']
               
               )
          ); 


     for ( $i = 0; $i < $total_bewertungen; $i++ )
     {

          $sql = "SELECT u.username, u.user_id, t.topic_title
                  FROM " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t
                  WHERE u.user_id = '" . $renommee_rowset[$i]['quell_id'] . "' AND p.post_id = '" . $renommee_rowset[$i]['post_id'] . "' AND t.topic_id = p.topic_id";
    
          if ( !$result = $db->sql_query($sql) )
          {
               message_die(CRITICAL_ERROR, "Could not query information", "", __LINE__, __FILE__, $sql);
          }
          else
          {
               while ( $row = $db->sql_fetchrow($result) )
               {
               $bewerter_daten = $row;
               }
          }


          // Löschen von Bewertungen dürfen nur Moderatoren und Admins. Erstere aber nicht die eigenen.
     
          if ( ($userdata['user_level'] == 2 AND $userdata['user_id'] != $profiledata['user_id']) OR $userdata['user_level'] == 1 )
          {
               $loeschen = '<a href="#" alt="' . $lang['renommee_delete'] . '" title="' . $lang['renommee_delete'] . '" onclick="return renommee_del(' . $renommee_rowset[$i]['id'] . ')" target="' . $lang['renommee_delete'] . '" class="nav"><img src="images/icon_delete.gif" alt="' . $lang['renommee_delete'] . '" title="' . $lang['renommee_delete'] . '" border=0></a>';
          }
          else
          {
               $loeschen = '&nbsp;';
          }  
      
          $p = $renommee_rowset[$i]['post_id'];
     
     
          if ( $bewerter_daten['topic_title'] != "" )
          {
               $link = '<a href="' . append_sid("viewtopic." . $phpEx . "?p=" . $p . "#" . $p) . '">' . $bewerter_daten['topic_title'] . '</a>';
          }
          else
          {
               $link = '<span class="negative"><b>' . $lang['renommee_posting_deleted'] . '</b></span>';
          }
     
     
          $datum = date("d.m.Y, H:i", $renommee_rowset[$i]['datum']);
          $autor = '<a href="profile.php?mode=viewprofile&u=' . $bewerter_daten['user_id'] . '">' . $bewerter_daten['username'] . '</a>';

          if ( $renommee_rowset[$i]['renommee_wert'] == 0 )
          {
               $bild = '<img src="images/renommee_grau.gif" alt="' . $lang['renommee_neutral_reputation'] . '" title="' . $lang['renommee_neutral_reputation'] . '">';
          }
          elseif ($renommee_rowset[$i]['renommee_wert'] > 0)
          {  
               $bild = '<img src="images/renommee_gruen.gif" alt="' . $lang['renommee_positive_reputation'] . '" title="' . $lang['renommee_positive_reputation'] . '">';
          }
          else
          {  
               $bild = '<img src="images/renommee_rot.gif" alt="' . $lang['renommee_negative_reputation'] . '" title="' . $lang['renommee_negative_reputation'] . '">';
          }


          $kommentar = $renommee_rowset[$i]['kommentar'];
          
          if ( $board_config['allow_smilies'] )
          {
               $kommentar = smilies_pass($renommee_rowset[$i]['kommentar']);
          }
          
          
          $template->assign_block_vars('renommee_anzeige.renommeerow', array(

               'AUTOR' => $autor,
               'KOMMENTAR' => $kommentar,
               'DATUM' => $datum,
               'LINK' => $link,
               'BILD' => $bild,
               'LOESCHEN' => $loeschen
	
               )
          );   
   
     }

     // Standardbewertung etwas in die Liste geschummelt
     
     if ( $total_bewertungen < $renommee_konfig['beitrags_anzahl'] )
     {
          
          $template->assign_block_vars('renommee_anzeige.renommeerow', array(

               'AUTOR' => $lang['renommee_system'],
               'KOMMENTAR' => $lang['renommee_standard_points'],
               'DATUM' => '',
               'LINK' => '<a href="#">' . $board_config['sitename'] . '</a>',
               'BILD' => '<img src="images/renommee_gruen.gif" alt="' . $lang['renommee_positive_reputation'] . '" title="' . $lang['renommee_positive_reputation'] . '">',
               'LOESCHEN' => ''
	
               )
          );

     }

}
		
//
// End -> Renommee - Mod
//
Alles andere geht ohne Probleme.

Hat jemand eine Idee, was man da machen kann, ich selber hab keine Lösung gefunden.
Benutzeravatar
darkon
Mitglied
Beiträge: 1133
Registriert: 08.08.2003 15:07
Wohnort: Wölfersheim

Beitrag von darkon »

bgx hat geschrieben: Ich hab da mal nen Cache für geschrieben, denn ein Großteil der Queries ist total unnötig!

Bei interresse gebe ich ihn gern weiter.
Mach das doch bitte.
Benutzeravatar
darkon
Mitglied
Beiträge: 1133
Registriert: 08.08.2003 15:07
Wohnort: Wölfersheim

Re: Hilfe - Smilie Creator macht Problem

Beitrag von darkon »

hackepeter13 hat geschrieben:Hi, ich wollte mir soeben den Mod einbauen (ohja Nachts ^^), aber ich hab da ein Problem und so wie es aussieht durch den Smilie Creator.

Wenn ich das Profil eines Members anzeigen lassen will (profile.php?mode=viewprofile&u=x), kommt folgende Fehlermeldung:
Fatal error: Cannot redeclare phpbb_schild() (previously declared in /www/htdocs/w00631f9/includes/bbcode.php:34) in /www/htdocs/w00631f9/includes/bbcode.php on line 34

Diese function ist eindeutig von einem anderen Mod, vermutlich dem Smiliecreator.

Guck mal nach ob du diese Function noch einmal in der bbcode.php hast, der Fehlermeldung nach wird sie doppelt bestimmt.
hackepeter13
Valued Contributor
Beiträge: 3557
Registriert: 21.04.2004 12:22
Wohnort: Berlin
Kontaktdaten:

Beitrag von hackepeter13 »

Hi darkon
Den Smilie Creator hab ich ja auch schon im Verdacht, hatte auch schon in der bbcode.php nach einer zweiten Stelle mit "phpbb_schild" gesucht, aber nix gefunden.

Das komische ist, das der Renommee mit diesen Teil "phpbb_schild" überhaubt nicht verwendet.

Ich in der Nacht noch etwas rumprobiert und bin zu folgendem Ergebniss gekommen:

Ich hatte mich gefragt, warum der Renommee Mod in der user_viewportal.php das hier braucht:

Code: Alles auswählen

// 
// Start -> Renommee - Mod 
// 
                
include_once('includes/bbcode.php'); 


// Auslesen der Konfigurationsdaten 

...
Sicherlich nur für das hier:

Code: Alles auswählen

$kommentar = $renommee_rowset[$i]['kommentar']; 
          
          if ( $board_config['allow_smilies'] ) 
          { 
               $kommentar = smilies_pass($renommee_rowset[$i]['kommentar']); 
          }
Sprich für Smilies, die in Renommee-Kommentare angezeigt werden sollen.
Da ich aber auf Smilies im Kommentar gerne verzichten kann, hab ich also folgendes getan:

Das hier:

Code: Alles auswählen

include_once('includes/bbcode.php');
hab ich aus dem Renommee Block entfernt.
Damit funktionierten schonmal wieder die Profilanzeige, aber nur solange es keine Bewertungen für diesen User, also sprich im Profil gibt.
Da es aber zu einer neuen Fehlermeldung kam, sobald eine User eine Bewertung drin stehen hatt, hab noch folgendes in der user_viewprofile.php im Renommee-Block geändert:

Code: Alles auswählen

if ( $board_config['allow_smilies'] ) 
          { 
               $kommentar = smilies_pass($renommee_rowset[$i]['kommentar']); 
          }
geändert in:

Code: Alles auswählen

if ( $board_config['allow_smilies'] ) 
          { 
               $kommentar = $renommee_rowset[$i]['kommentar']; 
          }
So funktioniert das alles jetzt wunderbar, auch wenn ich jetzt wahrscheinlich keine Smilies mehr in den Kommentaren angezeigt werden, aber wie gesagt, darauf kann ich auch gut und gerne verzichten :wink:
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag von Lohgock-Trainer »

Ist es möglich nicht mehr die Renommee Bilder anzuzeigen sondern ein +, neutral oder- anzeigen zu lassen?

Außerdem habe ich jetzt vor {postrow.POSTER_RENOMMEE} Karma hingeschrieben. Das sieht jetzt so aus:

Code: Alles auswählen

Karma: {postrow.POSTER_RENOMMEE}
Jetzt möchte ich aber gern den Link zum Bewerten nicht auf dem Renommee-Bild haben sondern auf dem Karma.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“