Pagina 1 van 3

Calendar Mod

Geplaatst: 03 mar 2004, 17:24
door LazyTiger
ik gebruik de calendar mod als concertagenda.

nu wil ik een paar scheidingen maken via de titel.
ik wil eigenlijk dat de titel rood gekleurt kan worden zodat je kunt zien dat het concert is uitverkocht.
maar hoe doe ik dit?

ik zat zelf te denken om een checkbox in de posting_body van de calendar toe te voegen. als de checkbox is aangevinkt is het concert uitverkocht.

als "uitverkocht" dus true is, zal hij de topic titel rood moeten kleuren.
anders (else) moet hij gewoon doorgaan en de normale code uivoeren.
maar hoe en waar doe ik dit?

verder heb ik nog een vraag, maar ik wil eerst zelf een idee bedenken en zal dan kijken of ik daar hulp bij nodig heb..

hopelijk kan iemand mij met bovenstaand helpen!

http://www.phpbbhacks.com/viewhack.php?id=152
http://www.muziekforumonline.phpbbhost. ... lendar.php

Geplaatst: 03 mar 2004, 18:02
door LazyTiger
wat ik al heb gedaan:

cal_posting_body_lit.tpl
TOEGEVOEGD schreef: <tr>
<td width="19%" class="row1"><span class="gen"><b>Uitverkocht</b></span></td>
<td class="row2">
<input name=uitverkocht type=checkbox value="1" class="post">Ja</td>
</tr>
calendar.php
TOEGEVOEGD schreef: global $thisscript, $phpbb_root_path, $phpEx, $db, $template, $action, $phpbbheaders,
$board_config, $cal_config, $id, $day, $month, $year, $time, $uitverkocht, $userdata, $modify, $lang, $description, $subject, $caluser,
$endday, $endmonth, $endyear, $bbcode_uid, $homeurl;
TOEGEVOEGD schreef: $sql = "INSERT INTO ".CAL_TABLE." (username, stamp, subject, description, user_id, valid, eventspan, bbcode_uid, uitverkocht) VALUES ('".addslashes($userdata[username])."', '$year-$month-$day $time', '$subject', '$description', '".$userdata['user_id']."', '$valid', '$endyear-$endmonth-$endday','$uitverkocht', '$bbcode_uid')";
meer heb ik niet gedaan omdat ik niet weet hoe ik verder moet.

zou iemand mij:
- kunnen zeggen of ik iets fout heb gedaan
- de querie kunnen geven die ik moet uitvoeren. (in CAL_TABLE dus een kolom "uitverkocht" toe te voegen)
- hoe ik nu titels rood kan krijgen door middel van bovenstaande..

Geplaatst: 03 mar 2004, 22:28
door mosymuis
P.T. schreef:zou iemand mij:
- kunnen zeggen of ik iets fout heb gedaan
Ja, bij het veranderen van het kalender item gebeurt er niets.

Open
calendar.php

Zoek

Code: Selecteer alles

$sql = "UPDATE ".CAL_TABLE." SET stamp=
Zoek in die regel

Code: Selecteer alles

, bbcode_uid='$bbcode_uid'
Voeg toe

Code: Selecteer alles

, uitverkocht='$uitverkocht'
En daarnaast was je aanpassing in de global $thisscript... regel niet nodig, hier haalt hij nog geen kalender items op.

P.T. schreef:zou iemand mij:
- de querie kunnen geven die ik moet uitvoeren. (in CAL_TABLE dus een kolom "uitverkocht" toe te voegen)

Code: Selecteer alles

ALTER TABLE phpbb_calendar ADD uitverkocht tinyint(1) default '0' NOT NULL;
P.T. schreef:- hoe ik nu titels rood kan krijgen door middel van bovenstaande..
Op 1 van mijn forums gebruik ik de calender hack ook, maar heb me er nooit zo in verdiept omdat ik hij eigelijk niet eens gebruikt wordt. Ik denk echter dat we het over cal_view_month_lite.tpl en $event_list in calendar.php hebben. Hier vindt je het volgende rond regel #1303:

Code: Selecteer alles

			$event_list .= "<span class=gensmall><acronym title='".stripslashes($results['username']).": $full_subject'>
				$pt <a href='$url' id='cal_id".$results['id']."' onMouseOver=\"swc('cal_id".$results['id']."',1)\" onMouseOut=\"swc('cal_id".$results['id']."',0)\">
				$subject</a></acronym><br></span>\n";
en hier zou je dan de volgende regel vóór moeten plaatsen:

Code: Selecteer alles

$uitverkocht = ( $results['uitverkocht'] ) ? ' style="color:#9C0000;"' : '';
en in de anchor (<a>) tag in $event_list .= de var $uitverkocht moeten zetten.

Geplaatst: 03 mar 2004, 22:39
door LazyTiger
hm... titel wordt niet rood..
in de database wordt uitverkocht ook niet "1"...

Geplaatst: 03 mar 2004, 22:50
door LazyTiger
ik heb nu class=post weggehaald (dit stond namelijk nog bij het tpl bestand)

maar nu krijg ik dit als titel: uitverkocht te.., style="color:#9C0000;

uitverkocht test (titel), en dan de style...

wat is er fout?

Geplaatst: 03 mar 2004, 22:56
door mosymuis
P.T. schreef:in de database wordt uitverkocht ook niet "1"...
Da's heel vreemd. Plaats achter de

Code: Selecteer alles

$sql = "UPDATE ".CAL_TABLE." SET stamp=
regel eens dit:

Code: Selecteer alles

echo "\$sql= $sql<br />\n";
Het levert je vermoedelijk wel een error op maar het helpt je met debuggen. Plaats de resultaten eens hier, met en zonder aangevinkt "uitverkocht" hokje.

//edit
P.T. schreef:ik heb nu class=post weggehaald (dit stond namelijk nog bij het tpl bestand)

maar nu krijg ik dit als titel: uitverkocht te.., style="color:#9C0000;

uitverkocht test (titel), en dan de style...

wat is er fout?
Ik begrijp je niet goed. Copy-paste de bewuste HTML source eens hier?

Geplaatst: 04 mar 2004, 15:05
door LazyTiger
mosymuis schreef:
P.T. schreef:in de database wordt uitverkocht ook niet "1"...
Da's heel vreemd. Plaats achter de

Code: Selecteer alles

$sql = "UPDATE ".CAL_TABLE." SET stamp=
regel eens dit:

Code: Selecteer alles

echo "\$sql= $sql<br />\n";
Het levert je vermoedelijk wel een error op maar het helpt je met debuggen. Plaats de resultaten eens hier, met en zonder aangevinkt "uitverkocht" hokje.
het is eigenlijk al opgelost:
P.T. schreef:ik heb nu class=post weggehaald (dit stond namelijk nog bij het tpl bestand)
//edit
mosymuis schreef:
P.T. schreef:ik heb nu class=post weggehaald (dit stond namelijk nog bij het tpl bestand)

maar nu krijg ik dit als titel: uitverkocht te.., style="color:#9C0000;

uitverkocht test (titel), en dan de style...

wat is er fout?
Ik begrijp je niet goed. Copy-paste de bewuste HTML source eens hier?
als ik iets toevoeg in de kalender, en ik vink uitverkocht aan.
krijg ik dit als resultaat :
T
ITEL, style="color:#9C0000;
in de quote boven deze quote had ik als titel "uitverkocht test", maar aangezien hij op max. 14 tekens staat, kwam er dit te staan: "uitverkocht te..," met daarachter "style="color:#9C0000;"

Geplaatst: 04 mar 2004, 15:12
door mosymuis
P.T. schreef:
mosymuis schreef:Het levert je vermoedelijk wel een error op maar het helpt je met debuggen. Plaats de resultaten eens hier, met en zonder aangevinkt "uitverkocht" hokje.
het is eigenlijk al opgelost:
P.T. schreef:ik heb nu class=post weggehaald (dit stond namelijk nog bij het tpl bestand)
Hoezo? Werkt het nu opeens? En hoe heb je dat gedaan?

P.T. schreef:
mosymuis schreef:Ik begrijp je niet goed. Copy-paste de bewuste HTML source eens hier?
als ik iets toevoeg in de kalender, en ik vink uitverkocht aan.
krijg ik dit als resultaat :
T
ITEL, style="color:#9C0000;
in de quote boven deze quote had ik als titel "uitverkocht test", maar aangezien hij op max. 14 tekens staat, kwam er dit te staan: "uitverkocht te..," met daarachter "style="color:#9C0000;"
Nogmaals; copy-paste de HTML source eens? ;)

Geplaatst: 04 mar 2004, 15:20
door LazyTiger
//edit!

De kleur werkt nu... hij kleurt hem rood.
ik had de code verkeerd gezet :oops:

echter, in de database opslaan doet hij niet.
<tr>
<td width="19%" class="row1"><span class="gen"><b>Uitverkocht</b></span></td>
<td class="row2">
<input name=uitverkocht type=checkbox value="1" class="post">Ja</td>
</tr>

dit klopt volgens mij...

ik zal eens wat je hierboven zei doen..

//edit 2

dit:
$sql = "UPDATE ".CAL_TABLE." SET stamp='$year-$month-$day $time', subject='$subject', description='$description', eventspan='$endyear-$endmonth-$endday', bbcode_uid='$bbcode_uid', uitverkocht='$uitverkocht' WHERE id = '$id'";
echo "\$sql= $sql<br />\n";
}

levert bij het posten dit:
$sql= UPDATE phpbb_calendar SET stamp='2004-3-31 20:15', subject='25 Jaar Hazes', description='25 jaar Hazes
Datum:
29/03/04, 31/03/04

Plaats:
Ahoy Rotterdam

Tijden:
aanvang: 20.15 uur

Organisator:
Melvin Produkties


[color=red:6ce59609bc]uitverkocht![/color:6ce59609bc]

[quote:6ce59609bc]Aanvullende informatie
De concerten welke André Hazes op maandag 8 en woensdag 10 december a.s. in Ahoy\\\' Rotterdam zou geven, zijn om persoonlijke redenen verplaatst naar maandag 29 en woensdag 31 maart 2004.

Kaarten voor maandag 8 december 2003 zijn geldig op maandag 29 maart 2004 en kaarten voor woensdag 10 december 2003 zijn geldig op woensdag 31 maart 2004.

Bezoekers die op de nieuwe data verhinderd zijn het concert bij te wonen, kunnen vanaf woensdag 8 oktober a.s. hun toegangskaarten inwisselen bij het voorverkoopadres.[/quote:6ce59609bc]', eventspan='2004-3-31', bbcode_uid='6ce59609bc', uitverkocht='' WHERE id = '61'

Geplaatst: 04 mar 2004, 19:54
door LazyTiger
ik zal even op een nette manier proberen weer te geven wat ik heb veranderd in calendar.php...
ik ga er vanuit dat daar het probleem zit en misschien ben ik wat vergeten..
$params = array(
'uitverkocht' => 'uitverkocht',
'sid' => 'sid',
'id' => 'id',
'day' => 'day',
if ($modify)
{
ereg_replace("<br />", "", $description);
$sql = "UPDATE ".CAL_TABLE." SET stamp='$year-$month-$day $time', subject='$subject', description='$description', eventspan='$endyear-$endmonth-$endday', bbcode_uid='$bbcode_uid', uitverkocht='$uitverkocht' WHERE id = '$id'";
}
else
{
$sql = "INSERT INTO ".CAL_TABLE." (username, stamp, subject, description, user_id, valid, eventspan, bbcode_uid, uitverkocht) VALUES ('".addslashes($userdata[username])."', '$year-$month-$day $time', '$subject', '$description', '".$userdata['user_id']."', '$valid', '$endyear-$endmonth-$endday', '$bbcode_uid', '$uitverkocht')";
}

$uitverkocht = ( $results['uitverkocht'] ) ? ' style="color:#FF0000;"' : '';
$event_list .= "<span class=gensmall><acronym title='".stripslashes($results['username']).": $full_subject'>
$pt <a href='$url' $uitverkocht id='cal_id".$results['id']."' onMouseOver=\"swc('cal_id".$results['id']."',1)\" onMouseOut=\"swc('cal_id".$results['id']."',0)\">
$subject</a></acronym><br></span>\n";
dit zijn alle wijzingen die ik heb gemaakt...
heb ik iets gemist of verkeerd gedaan?

Geplaatst: 04 mar 2004, 21:32
door LazyTiger
iemand?
kan iemand mij zeggen of er iets verkeerd is of dat ik iets vergeten ben?

//edit...
ik had in het tpl bestand ff een "nee" radiobutton toegevoegd.
als er dan een topic titel rood is en ik klik op wijzingen en ik kies voor uitverkocht "nee". dan veranderd hij hem.
echter, als ik weer doe wijzigen en ik zet uitverkocht dan op "ja", dan doet hij niks...

Geplaatst: 04 mar 2004, 22:48
door mosymuis
P.T. schreef:levert bij het posten dit:
$sql= (...), uitverkocht='' (...)
Hij haalt hem dus niet eens uit het formulier. Helpt het als je de naam nu eens netjes tussen haakjes zou zetten? ;)

Code: Selecteer alles

<input name="uitverkocht"
ipv
P.T. schreef:<input name=uitverkocht
En het is waarschijnlijk zoieso beter om een radio set te gebruiken, omdat er dan altijd een waarde wordt doorgegeven;

Code: Selecteer alles

<input type="radio" name="uitverkocht" value="0" checked="checked" /> nee <input type="radio" name="uitverkocht" value="1" /> ja

Geplaatst: 05 mar 2004, 13:10
door LazyTiger
dat de " bijna niet stonden komt omdat ik de code had gekopieerd uit die pagina.
er wordt weinig tot niet gebruik gemaakt van "

ik dacht dat het niets hielp, maar ik zal het eens uitproberen.

radiobuttons had ik ondertussen algemaakt.

ik wil er eigenlijk geen "nee" functie in.
zo hoeft men dat nooit aan te klikken.
alleen als het is uitverkocht.

ik zal thuis (ik zit nu op school) wel eens proberen met die "

Geplaatst: 05 mar 2004, 13:14
door mosymuis
P.T. schreef:dat de " bijna niet stonden komt omdat ik de code had gekopieerd uit die pagina.
er wordt weinig tot niet gebruik gemaakt van "
Van welke pagina had je dat? En het is zeker niet correct, zeker bij zaken als namen kan je het beter altijd gebruiken.


P.T. schreef:ik wil er eigenlijk geen "nee" functie in.
zo hoeft men dat nooit aan te klikken.
alleen als het is uitverkocht.
Met checkboxes zou het ook moeten werken, radio hokjes waren maar een idee. ;)

Geplaatst: 05 mar 2004, 13:22
door LazyTiger
uit de pagina waar het in staat volgens mij...
ik mis daar ontzettend veel "" (aanhalingstekens, of hoe noem je ze ook alweer)...

ik vroeg me al af of dat wel netjes werkte allemaal zo, zonder ""

maar kijk dat tpl bestand maar eens door..

Geplaatst: 05 mar 2004, 15:03
door LazyTiger
in view_month_blabbla.tpl wordt er weinig gebruik van gemaakt.

gebruik van aanhalingstekens had ik al gedaan:

Code: Selecteer alles

<tr>
                  <td width="19%" class="row1"><span class="gen"><b>Uitverkocht</b></span></td>
                  <td class="row2">
                    <input type="radio" name="uitverkocht" value="1"/><span class="gen">Ja</span></td>
                </tr>
dit werkt dus niet! :cry:

Geplaatst: 05 mar 2004, 19:36
door LazyTiger
een stukje uit board_config_body.tpl:

Code: Selecteer alles

<tr> 
<td class="row1">{L_BOARD_EMAIL_FORM}<br />
<span class="gensmall">{L_BOARD_EMAIL_FORM_EXPLAIN}</span></td>
<td class="row2"> 
<input type="radio" name="board_email_form" value="1" {BOARD_EMAIL_FORM_ENABLE} />
{L_ENABLED}&nbsp;&nbsp; 
<input type="radio" name="board_email_form" value="0" {BOARD_EMAIL_FORM_DISABLE} />
{L_DISABLED}</td>
</tr>

nu mijn code (had hem straks aangepast aan bovenstaand zo ongeveer:

Code: Selecteer alles

<tr> 
                  <td width="19%" class="row1"><span class="gen"><b>Uitverkocht</b></span></td> 
                  <td class="row2"> 
                    <input type="radio" name="uitverkocht" value="1" {UITVERKOCHT}/><span class="gen">Ja</span></td> 
                </tr>

dit is nu dus eigenlijk precies hetzelfde...
maar toch werkt het niet.
zit hier dan werkelijk de fout?
lijkt mij van niet...

Geplaatst: 05 mar 2004, 19:40
door mosymuis
Op de vorige pagina vroeg ik je om

Code: Selecteer alles

echo "\$sql= $sql<br />\n";
toe te voegen na de query, en de pagina liet toen dit zien:

Code: Selecteer alles

uitverkocht=''
wat dus wil zeggen dat hij de waarde niet oppikt en meestuurt. Want je had het "Uitverkocht" hokje toch aangevinkt? Pas als hij die waarde goed in de database stopt kunnen we verder.

Geplaatst: 05 mar 2004, 19:49
door LazyTiger
okee, maar ik zie de fout niet....
maar zit er dan niet een fout in het php bestand?
wordt het vanuit het tpl bestand meteen daarheen verzonden?

ik ffjtes wat uitgetest...

in calendar.php:

Code: Selecteer alles

while( list($var, $param) = @each($params) )
{
	if ( isset($HTTP_POST_VARS[$param]) || isset($HTTP_GET_VARS[$param]) ) {
		$$var = ( isset($HTTP_POST_VARS[$param]) ) ? $HTTP_POST_VARS[$param] : $HTTP_GET_VARS[$param];
	  
	} else {
		unset($$var);
	}
}
daarachter heb ik gezet:

Code: Selecteer alles

echo "$uitverkocht";
als ik nu uitverkocht niet aanvink, komt er niks te staan en doet hij het gewoon normaal.

vink ik uitverkocht wel aan, dan krijg ik dit:

Code: Selecteer alles

[b]1[/b]
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/muziek/public_html/phpBB2/calendar.php:75) in /usr/home/muziek/public_html/phpBB2/includes/sessions.php on line 292

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/muziek/public_html/phpBB2/calendar.php:75) in /usr/home/muziek/public_html/phpBB2/includes/sessions.php on line 293

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/muziek/public_html/phpBB2/calendar.php:75) in /usr/home/muziek/public_html/phpBB2/includes/page_header.php on line 646

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/muziek/public_html/phpBB2/calendar.php:75) in /usr/home/muziek/public_html/phpBB2/includes/page_header.php on line 648

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/muziek/public_html/phpBB2/calendar.php:75) in /usr/home/muziek/public_html/phpBB2/includes/page_header.php on line 649
ik zie daar dus nu wel een 1 staan, dus dat uitverkocht is aangevinkt.
misschien dat dit onderzoek nergens opslaat en gewoon iets anders is, maar ik probeer ook ff wat uit..

Geplaatst: 05 mar 2004, 19:53
door mosymuis
Ja, wanneer het "uitverkocht" veld wordt verzonden neemt PHP deze aan als $uitverkocht, of als $_POST['uitverkocht'] als je het netjes wilt doen. De meest waarschijnlijke verklaring is dan ook dat je ergens een typo hebt gemaakt.

Even ter controle; plaats dit eens ergens in calendar.php?

Code: Selecteer alles

echo "\$uitverkocht= $uitverkocht<br />\n";