Pagina 1 van 2

chart song mod

Geplaatst: 07 dec 2003, 13:42
door LazyTiger
ik heb de chart song mod. gedownload en geinstalleerd.
en hij doet het eigenlijk vrij aardig.
ik heb hem lichtjes aangepast (bug verwijderd en wat overzichtelijk gemaakt.), maar nu is er 1 probleem.

de mod. geeft een top 50 van liedjes weer (toegevoegd door gebruikers) en je kunt daar dan op stemmen.
http://www.muziekforumonline.phpbbhost. ... n=all_list

allemaal mooi en aardig.
het is een top 50, de beste 50 liedjes worden weergegeven.
maar nu wil ik dat:
of de liedjes na de 50ste plaats staan (dus die zijn dan verborgen) automatisch worden verwijderd.
of dat in de admin wordt weergeven op welke plaats de liedjes staan, zodat ik automatisch de liedjes van 51 en hoger kan verwijderen.

http://www.phpbbhacks.com/viewhack.php?id=1203

iemand die weet hoe ik dit kan maken?
ik dacht eigenlijk aan de code te zien dat hij ze automatisch eigenlijk zou moeten verwijderen, maar dat zal wel een vergissing zijn.

Geplaatst: 07 dec 2003, 14:59
door SPyKoN
Mm... dan zul je het wel sterk moeten gaan CHMODDen. Misschien dat je het eens op het forum van phpbbhacks kunt vragen of mail de maker van de mod.

Geplaatst: 07 dec 2003, 15:01
door LazyTiger
heb de maker al gemaild. no response...
ik zal dan wel eens zoeken op phpbbhacks, maar die mod. is volgens mij nog niet al te oud...

Geplaatst: 09 dec 2003, 08:59
door MuziekVriek
Heee P.T.

Ik heb -zoals je waarschijnlijk al gezien hebt- de mod ook geinstalleerd.
En vanzelfsprekend ook er wat aan gewijzigd :)
Ik heb hem nu zo gemaakt dat als je als eerste gebruiker van de week de lijst opent, dat ie dan automatisch de vorige week afsluit. Hoef je dit niet meer als admin te doen :lol:
In dat stukkie kun je dan natuurlijk ook programmeren dat ie alles boven plek 50 moet weggooien (mits jouw orkestleden dat natuurlijk mogen)

We kunnen er samen wel eens naar kijken ... ?

Geplaatst: 09 dec 2003, 14:08
door LazyTiger
klinkt goed, maar ik heb wel geen verstand van php eigenlijk.
ik weet een beetje hoe een forum in elkaar zit (geleerd door al die mods) maar dat is ook het enigste... :?

Geplaatst: 11 dec 2003, 22:28
door LazyTiger
ik heb misschien al een andere oplossing bedacht, maar uitvoeren is dan weer een probleem voor mij.

ik wil namelijk dat de 1ste 50 liedjes zichtbaar voor iedereen zijn.
al de liedjes die na de 50 komen, alleen zichtbaar voor beheerders.
maar hoe doe ik dit?

en ik bedoel dan niet in de admin, maar in de charts.php of zo..

Geplaatst: 17 dec 2003, 16:13
door LazyTiger
nou, ik heb de oplossing bij toeval ontdekt (installeerde een andere mod waar ongeveer hetzelfde gebeurde).

oplossing:

open: charts.php

zoek:

Code: Selecteer alles

$v_num = ($mode == "list")?10:50; 
//50 kan anders zijn, afhankelijk van wat je hebt ingesteld, standaard is het 30

plaats, voor:

Code: Selecteer alles

if ( $userdata['user_level'] == ADMIN )
		{ $v_num = ($mode == "list")?10:60;
		}
		else
vervang 60 evt voor een ander getal, gewoon dat het ruim is vanaf het getal hierboven (50)

Geplaatst: 30 dec 2003, 15:21
door LazyTiger
kan iemand me toevallig zeggen hoe ik in "charts" table "chart_hot" en "chart_not" kan leeggooien?

Geplaatst: 30 dec 2003, 15:28
door Podium4
in je phpmyadmin? en kan natuurlijk ook gewoon verwijderen in Admin panel

Geplaatst: 30 dec 2003, 15:35
door LazyTiger
ja okee, in mijn phpmyadmin, dat weet ik...
maar ik bedoelde meer door een code. dus wanneer ik op een knop klik, dat hij dan die dingen leeggooid.

Geplaatst: 30 dec 2003, 15:53
door Podium4
Wat wil je precies dan? je kunt in je admin panel d8 ik gewoon alle nummers verwijderen...

Geplaatst: 30 dec 2003, 16:00
door LazyTiger
inderdaad, maar dan verwijder je het hele nummer.
ik wil gewoon dat hot en not weer op 0 komen staan.
kijk even hier:
http://www.muziekforumonline.phpbbhost. ... n=all_list
elke week moet ik op een knop drukken om de week te beeindigen (in de admin panel), zodat men opnieuw op een lied kan stemmen.
maar, nu wil ik, dat wanneer ik op die knop druk, ook hot en not worden leeggegooid. dit gebeurt namelijk niet.
dus dat alle liedjes gewoon 0 hot, en 0 not hebben.

Geplaatst: 30 dec 2003, 16:48
door Duvelske
ik weet niet hoe die mot in elkaar steekt, maar als je zoiets moet doen moet je de template aanpassen en er die functie inzetten in het php bestand.

Geplaatst: 30 dec 2003, 16:54
door LazyTiger
maar wat is die phpfunctie?
moet het soms iets als dit zijn of zo?

Code: Selecteer alles

$sql = "DELETE FROM ".CHARTS_TABLE."
				WHERE chart_id = $chart_id";

			if(!$result = $db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, $lang['Chart_SQL_Del'], $lang['Error'], __LINE__, __FILE__, $sql);
			}
maar dan ipv chart_id, chart_not en chart_hot ?

Geplaatst: 30 dec 2003, 17:23
door Duvelske
P.T. schreef: maar dan ipv chart_id, chart_not en chart_hot ?
Dat weet ik niet, maar het zou kunnen ja

Geplaatst: 30 dec 2003, 21:31
door LazyTiger
iemand die het wel weet?
eigenlijk dus gewoon een soort van resetten...

Geplaatst: 31 dec 2003, 14:24
door Duvelske
Deze code moet je hebben om hem te resetten.

Code: Selecteer alles

	else if( $mode == "reset" )
        {
        	$sql = 'SELECT * FROM '.CHARTS_TABLE.' ORDER BY (chart_hot-chart_not) DESC, chart_artist';
		if(!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, $lang['Chart_Sql_Base_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
		}
		$rowset = $db->sql_fetchrowset($result);
		$db->sql_freeresult($result);
		$chart_count = count($rowset);
		for($i = 0; $i<$chart_count; $i++)
		{
			if($i+1 < $rowset[$i]['chart_best_pos'] || $rowset[$i]['chart_best_pos']==0)
			      $add = ', chart_best_pos = ' . ($i+1);
			else
			      $add = '';
			$sql = 'UPDATE '.CHARTS_TABLE.'
			        SET chart_last_pos = '. ($i+1) . $add . '
			        WHERE chart_id = ' . $rowset[$i]['chart_id'];
			if(!$result = $db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, $lang['Chart_Sql_Base_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
			}
		}
		$sql = 'UPDATE '.CONFIG_TABLE.'
			SET config_value = config_value+1
			WHERE config_name = "charts_week_num"';
		if(!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR,$lang['Chart_Sql_Base_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
		}
		$sql = 'DELETE FROM '.CHARTS_VOTERS_TABLE;
		if(!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, $lang['Chart_Sql_Base_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
		}
		$redirect_page = append_sid("admin_charts.$phpEx");
		$message .= $lang['Chart_DBase_Ok']."<br><br>";
		$message .= sprintf($lang['Chart_Click_Return'], '<a href="' . $redirect_page . '">', '</a>');
		message_die(GENERAL_MESSAGE,$message);
        }
}
Maar volgens mij kan je beter een andere functie inbouwen. Van dat hij na een maand het gehele stuk na nr 50 wist ;)

Geplaatst: 31 dec 2003, 14:26
door Duvelske
Hey,

Je zei toch dat als het week nr verandert dat hij dan ook gewist wordt?

Geplaatst: 31 dec 2003, 14:55
door LazyTiger
dat is de bedoeling, als je van week wisselt, moet alles weer op 0 nul staan.

in je vorige bericht zie ik trouwens het volgende staan:
Maar volgens mij kan je beter een andere functie inbouwen. Van dat hij na een maand het gehele stuk na nr 50 wist
ik weet niet of dat met die code te maken heeft wat daarboven staat, maar dat is in ieder geval (nog) niet mijn bedoeling.

Geplaatst: 31 dec 2003, 15:14
door Duvelske
Dus als je nou simpel een knopje maakt bij de charts. DIe alleen admins kunnen zien. Zodat je de boel ken resetten en dat hij dan die code gebruikt ;)