Charts Mod

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
jensr
Beiträge: 5
Registriert: Mo 01.Nov, 2004 23:06

Charts Mod

Beitrag von jensr »

Hi, hab hier den Charts-Mod für das PHPBB installiert und etwas verändert:
http://www.reggae-charts.de

Der MOD kann:

- User können Lieder hinzufügen (registrierte)
- User können Lieder mit "Top" und "Flop" bewerten (registrierte)
- Lieder werden je nach Bewertung sortiert
- Es können alle oder die 10 Besten Lieder angezeigt werden.

Ich möche:

- Registrierte User können Lieder hinzufügen, Voten können alle
- Pro Seite sollen 20 Lieder angezeigt werden ( unter und über den 20 Liedern ein Link zur nächsten Seite, wie in einem Forum)
- In der Liste sollen max. 60 Lieder sein
- Fügt man Lied 61 hinzu wird das Lied welches mindestens 2 Wochen in der Liste war und die schlechteste Bewertung hat dafür rausgeschmissen!

Den MOD selber so zu verändern, dazu wäre ich niemals in der Lage, gibt es in diesem Forum, der dazu bereit wäre mir zu helfen das Script so zu modifizieren, wäre auch bereit 10-15 Euro springen zu lassen!

Gruß
Jens
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Na für Geld machen wir doch (fast) alles ;)

Im Ernst:
Mal ein Link zum Mod, die veränderten Dateien hier anhängen und wir sehen weiter.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
jensr
Beiträge: 5
Registriert: Mo 01.Nov, 2004 23:06

Beitrag von jensr »

Das freut mich aber! :)

Hier der Link zu dem Hack:
http://www.phpbbhacks.com/download/1203

Und hier die modifizierte charts.php und admin_charts.php
download
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Okay, wird umgehend (heute oder morgen nachmittag) geprüft.

EDIT
... wenn denn mal Zeit dagewesen wäre :(
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
arnie
Beiträge: 2
Registriert: Mi 20.Okt, 2004 09:08

Beitrag von arnie »

ich hätte auch grosses interesse an einem neuen charts mod. allerdings ist die oben genannte version ziemlich bescheiden.
das ganze votingsystem ist zu einfach, es wird keine rücksicht darauf genommen, wieviele leute gevotet haben. ein song, welcher 500 positive stimmen und 500 negative stimmen hat, steht schlechter, als ein song mit mit einer postiven und 0 negativen stimmen da.

ausserderm dürfte nicht jeder song sofort in die charts, selbst wenn er noch keinerlei votungs hat.
es müsste vielmehr so sein, dass erst ab einer bestimmten anzahl von stimmen, ein song den sprung in die charts schafft. weiterhin müsste man die aufenthaltszeit in den charts bestimmen können, so dass ein song z.b nach 50 tagen automatisch aus den charts fliegt. sonst kommt keine bewegung in die chart.
auch müsste man kommentare zu den songs schreiben können.

ein sehr gutes chartsystem was all diese funktionen und noch mehr hat, ist auf resistance-charts.de zu sehen. leider ist das aber kein phpbb, sondern ein eigenständiges system.

falls mal jemand ein ähnliches system für phpbb kennt, wäre ich sehr froh über tipps.
vielleicht hat ja auch irgendwann mal ein fähiger programmierer lust, so was ähnliches für phpbb umzusetzen. ich kann das leider nicht, sonst gäbe es das schon.

grüße
jensr
Beiträge: 5
Registriert: Mo 01.Nov, 2004 23:06

Beitrag von jensr »

@Arnie
Hi! Also ich habe eine Veränderung gesehen, bei der es die Option gibt dem Song 5 verschiedene Bewertungen zu geben! (1 sehr gut...5 sehr schlecht)
----

Dein Wunsch ist auch nicht schlecht, aber Kommentare zu dem Song bräuchte ich nicht! Wenn Lieder nach 50 Tagen autom. gekickt werden, bräuchte man nicht dieses System nach dem ich suche (Songs werden, wenn min. 2 Wochen in den Charts durch die neuen ersetzt, wenn sie ganz unten in der Bewertung sind) Dann würde auch das Sinn machen, das Songs mit 500+, 500- Stimmen trotzdem weiter oben stehen als einer mit 0 Stimmen!

Dann könnte man auch eine Top-Ten machen und eine Liste unten drunter, welche die anzeigt, welche nicht in der TopTen sind und, wenn die eine bestimmte anzahl positiver Bewertungen auch in die Top-Ten kommen!

Was hälst du von diesem Vorschlag?
Könnten ja auch zusammenlegen! ;)

@oxpus
Wärst du dazu in der Lage und bereit?
arnie
Beiträge: 2
Registriert: Mi 20.Okt, 2004 09:08

Beitrag von arnie »

ja, deine version wäre auch okay, wobei ich die charts von resistance-charts.de schon technisch sehr gut finde.

dies funktionen wären mir persönlich am liebsten.

ich merke nämlich oft, dass bei dem herkömmliche chartssystem neue songs ohne auch nur eine stimme auf platz eins stehen, weil sie eine ausgeglichene billanz aufweisen.
das ist natürlich nicht in ordnung. ein song müsste sich erst mal durch einige votes für eine top 20 qualifizieren. all diese optionen bieten die von mir genannten charts.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@jensr
Also solch umfangreiche Anpassungen muss ich momentan aus zeitlichen Gründen ablehnen.
Ich habe bereits schon viele Anfragen, die noch erledigt werden wollen, sorry...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
jensr
Beiträge: 5
Registriert: Mo 01.Nov, 2004 23:06

Beitrag von jensr »

Mmmh schade!
Mir würde es auch ausreichen, würdest du das so anpassen wie in meinem 1. Post!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Selbst dazu fehlt mir die Zeit, auch schon bei meiner ersten Antwort dazu.
Ich kann Dich nur auf unbestimmte Zeit vertrösten, bis ich endlich mal den Rest abgearbeitet habe.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
jensr
Beiträge: 5
Registriert: Mo 01.Nov, 2004 23:06

Beitrag von jensr »

Ok, wär nett, könntest du dir das merken und dich nochmal bei melden, wenn du wieder Zeit hast!

Gruß Jens
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Gut, ist gemerkt.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

Du, oxpus? *anstups*

Hab da auch mal en Problemchen zu,
ist aber kein ausgefallenes.

Kinderspiel für dich! Versprecher ^^ ;)

Schaffst du bestimmt mit Links:

Für sämtliche Votings wird ein Fensterchen geöffnet,
wo dann so eine Blabla...Meldung drinsteht.

Beispiel: Deine Stimme wurde gezählt.
Gehts net auch ohne das?

Und dann wäre da noch was:

Jeder kann nur 1x pro Woche für jeweils 1 Song
voten und das ist auch ganz gut so ^^

Aaaber... schöner wärs, wenn die Voting Knöpfe
verschwinden würden, wo schon gevotet ist.

So, also mein Admin hat grad wenig Zeit für,
aber sollte doch zu machen sein, oder?

Sag einfach an, was du brauchst
und ich besorgs dann.

thx
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sag einfach an, was du brauchst
und ich besorgs dann.
Geld, jede Menge Geld und einen 48 Stunden Tag ;)

Nein, im Ernst, ich hab noch viele andere Dinge auf meiner Liste, bevor ich zum Charts Mod käme. Sorry, geht nicht gleich...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

[quote="oxpus - Fr 12.Nov, 2004 17:15";p="16822"]
Geld, jede Menge Geld und einen 48 Stunden Tag ;)[/quote]

Ok gib mir einfach deine Kontodaten mit PIN und ich hebs dann für dich ab
das viele schöne Geld *g* und das mit den 48h ist auch kein Problem.
Legen wir halt einfach deine Sa/So zusammen, hehe

:D ^^ aber Spass beiseite *schieb*

Ich poste dir mal schnell das Problemcode Teilchen:

Code: Alles auswählen

       else if( $mode == "vote" )
        {
                $page_title = $lang['Charts'];
                include($phpbb_root_path . 'includes/page_header.'.$phpEx);

        	if( isset($HTTP_POST_VARS['id']) ||  isset($HTTP_GET_VARS['id']) )
        	{
        		$chart_id = ( isset($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];
        	}
		else
		{
			$chart_id = 0;
		}
		if($chart_id)
		{
                        if( isset($HTTP_POST_VARS['rate']) ||  isset($HTTP_GET_VARS['rate']) )
                        {
                        	$rate = ( isset($HTTP_POST_VARS['rate']) ) ? $HTTP_POST_VARS['rate'] : $HTTP_GET_VARS['rate'];
                        }
                        else
                        {
                        	$rate = 0;
                        }
                        if($rate==1||$rate==2)
                        {
                                if($userdata['session_logged_in'])
                                {
                                        $sql = 'SELECT count(*) as counter FROM '.CHARTS_VOTERS_TABLE.' WHERE vote_chart_id = '.$chart_id.' AND vote_user_id = '.$userdata['user_id'];
                                        if( !$result = $db->sql_query($sql) )
                   	                    message_die(GENERAL_ERROR, $lang['Chart_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                                        $row = $db->sql_fetchrow($result);
                                        $db->sql_freeresult($result);
                                        if(!$row['counter'])
                                        {
                                        	$sql = 'INSERT INTO '.CHARTS_VOTERS_TABLE.'(vote_user_id, vote_chart_id, vote_rate)
                                        	        VALUES('.$userdata['user_id'].','.$chart_id.','.$rate.')';
                                  		if(!$result = $db->sql_query($sql))
                                    		{
                                      			message_die(GENERAL_ERROR, $lang['Chart_Sql_Base_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                                        	}
                                        	if($rate==1)
                                        	        $sql = 'UPDATE '.CHARTS_TABLE.'
                                        	                SET chart_hot=chart_hot+1
                                                                WHERE chart_id = '.$chart_id;
                                        	else
                                        	        $sql = 'UPDATE '.CHARTS_TABLE.'
                                        	                SET chart_not=chart_not+1
                                                                WHERE chart_id = '.$chart_id;
                                  		if(!$result = $db->sql_query($sql))
                                    		{
                                      			message_die(GENERAL_ERROR, $lang['Chart_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                                        	}

                                                $message = $lang['Vote_cast'];
                                                $message .= "<br /><br />" . sprintf($lang['Chart_click_link'], "<a href="" . append_sid("charts.$phpEx?action=all_list") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href="" . append_sid("index.$phpEx") . "">", "</a>");
                                                message_die(GENERAL_MESSAGE, $message);
                                        }
                                        else
                                        {
                                        	$message = $lang['Chart_Rate_Err'];
                                                $message .= "<br /><br />" . sprintf($lang['Chart_click_link'], "<a href="" . append_sid("charts.$phpEx?action=all_list") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href="" . append_sid("index.$phpEx") . "">", "</a>");
                                                message_die(GENERAL_MESSAGE, $message);
                                        }
                                }
                                else
                                {
                                	$message = $lang['Chart_Login_Err'];
                                	$message .= "<br /><br />" . sprintf($lang['Chart_click_link'], "<a href="" . append_sid("charts.$phpEx?action=all_list") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href="" . append_sid("index.$phpEx") . "">", "</a>");
                                	message_die(GENERAL_MESSAGE, $message);
                                }
                        }
                        else
                        {
                        	$message = $lang['Chart_Vote_Err'];
                        	$message .= "<br /><br />" . sprintf($lang['Chart_click_link'], "<a href="" . append_sid("charts.$phpEx?action=all_list") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href="" . append_sid("index.$phpEx") . "">", "</a>");
                        	message_die(GENERAL_MESSAGE, $message);
                        }
		}
                else
                {
                	$message = $lang['Chart_Choose_Err'];
                	$message .= "<br /><br />" . sprintf($lang['Chart_click_link'], "<a href="" . append_sid("charts.$phpEx?action=all_list") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href="" . append_sid("index.$phpEx") . "">", "</a>");
                        message_die(GENERAL_MESSAGE, $message);
                }
        }
Vielleicht siehst du ja schon ne Lösung beim Drüberfliegen *hoff*

Wenn net, geh ich freiwillig

:( ^^ ins Endloswarteschleifchen.

mfg
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Von wo kommt das? Und dann bitte diese und die Datei, von der dieser Code aufgerufen wird. Dann kann ich die Metas (Redirects) umbauen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

Ok hier kommt die komplette charts.php + .tpl
die den Code wegen der Liste abfragt ^^

thx
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Der grosse Rundumschlag:
Hier werden alle Meldungen nach Aktionen abgeschaltet und sofort weitergeleitet.
Hoffentlich ist jetzt kein Fehler drinnen, also vorher die Original-Datei gut sichern.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

Hmja, das hatten wir schon so ähnlich versucht mit:

redirect(append_sid("charts.$phpEx?action=all_list", true));

Führt aber zu ner fiesen Fehlermeldung ^^

Warning: Cannot add header information - headers already sent by (output started at /.../.../../.../00000012/htdocs/forum/includes/template.php(127) : eval()'d code:1) in /.../.../../.../00000012/htdocs/forum/includes/functions.php on line 2259

Inhalt vom Zeile 2259:

header('Location: ' . $url);

:(
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, ist das die Fehlermeldung, die jetzt kommt oder die von Eurem Versuch?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

Eigentlich egal ob mit oder ohne

, true

Fehlermeldung beim redirect Versuch
ist immer gleich ^^

mfg
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann scheint was an der redirect-Funktion nicht zu stimmen...
Welchen Browser setzt Du ein?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

Getestet mit IE6 SP1 und Firefox 0.9.3 deutsch ^^

:( Hab aber net alle messages ersetzt, nur die Positive für

$message = $lang['Vote_cast'];

Denkst du, da ist ein Fehler in der functions?
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ahnung. Versuchs mal mit meiner redirect:

Code: Alles auswählen

function redirect($url)
{
	global $db, $board_config;

	if (!empty($db))
	{
		$db->sql_close();
	}

	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))
	{
		message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
	} 

	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
	$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));
	$url = str_replace('&', '&', $url);

	// Redirect via an HTML form for PITA webservers
	if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
	{
		header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
		echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
		exit;
	}

	// Behave as per HTTP/1.1 spec for others
	header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
	exit;
}
... wenn die nicht sogar schon bei Dir so vorhanden ist.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
easygo
Beiträge: 155
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

War vereinfacht der Code ^^

Änderung hat aber nichts gebracht -> selber Fehler
Geht vielleicht noch was in der template.php?

mfg
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.
Antworten