BBcode [kalender][/kalender]

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
jeroen_005
Berichten: 12
Lid geworden op: 02 apr 2007, 09:28

BBcode [kalender][/kalender]

Bericht door jeroen_005 » 14 sep 2008, 20:04

Hoi,

Ik probeer een eigen BBcode te creeêren in phpBB 2 die de datum vanuit de kalender moet zetten in het bericht. Om het voor mezelf simpel te houden haal ik deze gegevens nog niet meteen uit de db maar ben ik eerst gestart met een creeêren van een tag die de huidige datum kan invoegen. Enkel dit werkt niet goed.

Momenteel heb ik dit:

Code: Selecteer alles

$text = preg_replace("#\[kalender\](.*?)\[/kalender\]#si", "[kalender] date(\"\\1\") [/kalender]", $text);
$text = str_replace("[kalender:$uid]", $bbcode_tpl['cal_open'] , $text);
$text = str_replace("[/kalender:$uid]", $bbcode_tpl['cal_close'], $text);
Zoals je ziet is het dus de bedoeling dat als je [kalender]Y[/kalender] zou typen er 2008 komt. Maar helaas is dit dus niet het geval. Hij zet enkel de Y. Weet er iemand een oplossing voor mijn probleem?

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Re: BBcode [kalender][/kalender]

Bericht door Ramon Fincken » 15 sep 2008, 05:58

zover ik weet moet je meerdere keren wat aanpassen in de bbcode.php en soms ook in de bbcode.tpl file,

vergelijk het even hiermee:
http://64.233.183.104/search?q=cache:em ... =firefox-a
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

jeroen_005
Berichten: 12
Lid geworden op: 02 apr 2007, 09:28

Re: BBcode [kalender][/kalender]

Bericht door jeroen_005 » 15 sep 2008, 15:18

Ja dat weet ik maar het zijn deze lijnen waarin het probleem zit. Het probleem is echter dat ik in de preg_replace een andere php functie moet aanroepen. In dit geval dus date. Normaal gezien zou dat zonder problemen moeten gaan. Enkel lukt het bij mij niet. Want in dit geval zet hij gwn de functie in het bericht maar werkt het dus niet uit zoals het hoort.

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Re: BBcode [kalender][/kalender]

Bericht door Ramon Fincken » 15 sep 2008, 16:48

ok first things first ... doe bv iets met een kleur of achtergrond, kijk of dat werkt en laat me dan even weten of het werkt?

En dan ook hoe je de kalender precies wil aanroepen?
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

jeroen_005
Berichten: 12
Lid geworden op: 02 apr 2007, 09:28

Re: BBcode [kalender][/kalender]

Bericht door jeroen_005 » 15 sep 2008, 17:03

Okey i know BBcodes zijn eigenlijk enkel en alleen voor opmaak ontworpen. Zelf heb ik er ook al enkele gemaakt maar dit is dus de eerste waarmee er dus ook PHP tussen de tags te pas komt :D

Maar laten we alles stap voor stap overlopen. We maken het bericht aan als volgt:

Code: Selecteer alles

[kalender]d-m-Y[/kalender]
We verwachten het volgende: 15-09-2008

In de database word het bericht correct geplaatst. Het probleem zit dus niet bij het verzenden van het bericht.

Maar nu willen we het bericht effectief gaan bekijken. We zien niet de 15-09-2008 staan maar d-m-Y. Kortom de date() functie werkt niet.

Code: Selecteer alles

$text = preg_replace("#\[kalender\](.*?)\[/kalender\]#si", "[kalender] date(\"\\1\") [/kalender]", $text);
$text = str_replace("[kalender:$uid]", $bbcode_tpl['cal_open'] , $text);
$text = str_replace("[/kalender:$uid]", $bbcode_tpl['cal_close'], $text);
En als dit werkt zou ik dus gewoon date(\"\\1\", $post_data['topic_calendar_time']) maken zodat hij de kalender tijd neemt :) Nu of dat laatste ook effectief werkt weet ik nog niet zeker maar dit kan gemakkelijk worden opgelost natuurlijk :D

Tenslotte heb ik ook eventjes smf gedownload omdat deze software een soortgelijke functie heeft. Maar daar ben ik helaas niet veel wijzer uit geworden :D

Code: Selecteer alles

$parts[$i] = preg_replace('~\[time(=(absolute))*\](.+?)\[/time\]~ie', '\'[time]\' . (is_numeric(\'$3\') || @strtotime(\'$3\') == 0 ? \'$3\' : strtotime(\'$3\') - (\'$2\' == \'absolute\' ? 0 : (($modSettings[\'time_offset\'] + $user_info[\'time_offset\']) * 3600))) . \'[/time]\'', $parts[$i]);
[/code]

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Re: BBcode [kalender][/kalender]

Bericht door Ramon Fincken » 16 sep 2008, 15:05

sorry ik kom er niet uit, wellicht dat deze post je verder helpt:
http://64.233.183.104/search?q=cache:pb ... =firefox-a

Tim K.
28-Apr-2005 03:27
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

jeroen_005
Berichten: 12
Lid geworden op: 02 apr 2007, 09:28

Re: BBcode [kalender][/kalender]

Bericht door jeroen_005 » 16 sep 2008, 18:59

Ik heb het eens geprobeerd op te werken met array's zoals al gebeurd voor de urls maar ook dit geeft niet het gewenste resultaat:

Code: Selecteer alles

$patterns[] =  "#\[kalender\](.*?)\[/kalender\]#is";
$replacements[] = date("" . $bbcode_tpl['cal'] . "");
Misschien moet ik mijn bbcode.php file even doorsturen?

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Re: BBcode [kalender][/kalender]

Bericht door Ramon Fincken » 16 sep 2008, 19:24

nee dat hoeft niet, ik kan hier zelf alles testen,

dit is wat ik had, maar ook dat werkt niet, het idee is een nieuwe functie aan te maken die dan een date teruggeeft.

Code: Selecteer alles

<?php
$text = '[kalender]d-m-Y[/kalender]';

function test ($a)
{
return $a.$a;
}

$text = preg_replace("#\[kalender\](.*?)\[/kalender\]#si", '[kalender] test(\'\\1\') [/kalender]', $text);
echo $text;
?>
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

jeroen_005
Berichten: 12
Lid geworden op: 02 apr 2007, 09:28

Re: BBcode [kalender][/kalender]

Bericht door jeroen_005 » 16 sep 2008, 19:39

Dat is idd wel goed gezien. Nu zie ik wel dat $a geen informatie bevat. Ik vind het maar iets raar :)

Okey, Ik weet niet of we hier iets mee zijn. :) Maar deze omslachtige weg werkt wel als we enkel de [kalender] dingen in onze text hebben staan :D Als er iets voor of achter komt zit het mee in de date functie. Er moet toch een manier zijn om alles wat tussen de [kalender] tags staat uit de text te halen en te vervangen door de datum en dan gewoon weer terug te plaatsen :o :)

Code: Selecteer alles

    <?php
    $text = '[kalender]d-m-Y[/kalender]';

    $kalender = preg_replace("#\[kalender\](.*?)\[/kalender\]#si", "\\1", $text);
	$text = test($kalender);
	
    function test($a)
    {
 	   return date("$a");
    }

    echo $text;
    ?>

Gesloten