Eerste smilie in een quote wordt niet getoond.

Hulp nodig bij je installatie of kom je ergens niet uit? Probeer phpBB3! Problemen lossen we samen met je op.
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Forumregels
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Gesloten
Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Eerste smilie in een quote wordt niet getoond.

Bericht door marian0810 » 03 feb 2009, 11:54

  • Adres van je forum: http://www.atkinsforum.info/forum
    Event. modificaties op je forum: Veel, maar niks relevants
    Wanneer ontstond het probleem? Was er altijd al, is volgens mij een bug in phpBB
    phpBB versie: 3.0.4

    Heb je onlangs iets veranderd aan je forum? nvt
    Wat is het probleem?
:D :?
^^ Dit gebeurt dus iedere keer wanneer een bericht begint met een smilie en daarna wordt gequote. Ik begrijp wel waarom, door het quoten staat er geen spatie meer voor. Maar als het zelfs in phpBB2 wel kon moet er toch een oplossing voor te vinden zijn? Ik blijf hier steeds weer klachten over krijgen van leden, en terecht :( Hebben jullie er geen last van dan?
Als niemand een directe oplossing weet, dan misschien via een omweg? Het zou bijvoorbeeld al helpen als ik kon vinden hoe ik elke quote (met of zonder smilie) standaard met een spatie kan laten beginnen...

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Ger » 03 feb 2009, 12:13

Dat komt dan doordat een smilie altijd door whitespace voorafgegaan moet worden en ook opgevolgd moet worden (is nodig om onderscheid te maken tussen de code van de smilie en de rest). Als je klikt op een smilie uit de lijst wordt dit automatisch gedaan, maar als je het typt wordt dat nogal eens vergeten. Niet erg in een gewoon bericht (want dan staat er niets voor en is het dus ook goed), maar wel als je dat vervolgens quote (want dan staat er een blokhaak van de quote-bbcode voor).

Vergelijk dit maar eens:

Code: Selecteer alles

[quote] :D :D [/quote]
:D :D

Code: Selecteer alles

[quote]:D :D [/quote]
:D :D

Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door marian0810 » 03 feb 2009, 12:27

Ja dat zei ik, ik weet wel hoe het komt :) Maar ik heb dringend een oplossing nodig!!
Niemand die weet hoe ik standaard elke quote met een spatie kan laten beginnen?

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Ger » 05 feb 2009, 09:37

Zou mogelijk moeten zijn... Je zou eens kunnen kijken in /includes/message_parser.php

ZOEK

Code: Selecteer alles

	/**
	* Parse BBCode
	*/
	function parse_bbcode()
	{
PLAATS DAARACHTER

Code: Selecteer alles

$this->message = preg_replace('#\[quote(.*?)\]#si', '[quote$1] ' , $this->message);
Geen garantie op succes, want ik heb het niet getest. Dit zal overigens alleen werken bij nieuwe berichten (of als je oude berichten edit, dan worden zo opnieuw geparsed).

Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door marian0810 » 05 feb 2009, 12:15

Ger ik kan je wel zoenen!! :D
Ik heb je oplossing niet eens nodig gehad, toen ik in dat bestand zat viel mijn oog op dit stukje:

Code: Selecteer alles

	/**
	* Prepare some bbcodes for better parsing
	*/
	function prepare_bbcodes()
	{
		// Ok, seems like users instead want the no-parsing of urls, smilies, etc. after and before and within quote tags being tagged as "not a bug".
		// Fine by me ;) Will ease our live... but do not come back and cry at us, we won't hear you.

		/* Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
		if (strpos($this->message, '[quote') !== false && strpos($this->message, '[/quote]') !== false)
		{
			$this->message = str_replace("\r\n", "\n", $this->message);

			// We strip newlines and spaces after and before quotes in quotes (trimming) and then add exactly one newline
			$this->message = preg_replace('#\[quote(=".*?")?\]\s*(.*?)\s*\[/quote\]#siu', '[quote\1]' . "\n" . '\2' ."\n[/quote]", $this->message);
		}
		*/
:shock: WTF???
Ok, seems like users instead want the no-parsing of urls, smilies, etc. after and before and within quote tags being tagged as "not a bug".
Blijkbaar heeft een of andere %@$#$ gedacht dat gebruikers het zo beter vonden?? Nou niet dus!! :evil:
Dus gewoon comments weggehaald en nu werkt het als een zonnetje :D

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Ger » 05 feb 2009, 13:45

Ah, ok. Dat zal inderdaad ook werken ja. Inderdaad een beetje vreemde redenering, want dit werkt dus standaard ook niet:
:?
Magic url wordt dus niet geparsed door gebrek aan whitespace, net zoals een smilie/url er direct achter. Dit (entertjes) werkt dan weer wel:
:?

Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door marian0810 » 05 feb 2009, 15:49

En dat heb ik nu dus ook meteen goed werkend :D

Mid
Berichten: 961
Lid geworden op: 03 mei 2008, 23:22

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Mid » 05 feb 2009, 19:36

Goed werk, Marian en Ger, want het werkt bij mij ook perfect ! :mrgreen:

Gebruikersavatar
Tazmanian
Berichten: 293
Lid geworden op: 16 aug 2007, 15:19
Locatie: Hamme - Belgie
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Tazmanian » 05 feb 2009, 20:11

Thanks, heb dit meteen ook toegepast want ik stoorde mij hier ook aan.

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Kaza » 06 feb 2009, 12:13

Welk stukje zou precies moeten worden verwijderd. Had net een poging gedaan maar toen was edit niet meer mogelijk.
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Ger » 06 feb 2009, 12:34

Je moet het stuk "uncommenten", dus je maakt van dit:

Code: Selecteer alles

   /**
   * Prepare some bbcodes for better parsing
   */
   function prepare_bbcodes()
   {
      // Ok, seems like users instead want the no-parsing of urls, smilies, etc. after and before and within quote tags being tagged as "not a bug".
      // Fine by me ;) Will ease our live... but do not come back and cry at us, we won't hear you.

      /* Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
      if (strpos($this->message, '[quote') !== false && strpos($this->message, '[/quote]') !== false)
      {
         $this->message = str_replace("\r\n", "\n", $this->message);

         // We strip newlines and spaces after and before quotes in quotes (trimming) and then add exactly one newline
         $this->message = preg_replace('#\[quote(=".*?")?\]\s*(.*?)\s*\[/quote\]#siu', '[quote\1]' . "\n" . '\2' ."\n[/quote]", $this->message);
      }
      */
dit:

Code: Selecteer alles

   /**
   * Prepare some bbcodes for better parsing
   */
   function prepare_bbcodes()
   {
      // Ok, seems like users instead want the no-parsing of urls, smilies, etc. after and before and within quote tags being tagged as "not a bug".
      // Fine by me ;) Will ease our live... but do not come back and cry at us, we won't hear you.

      // Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
      if (strpos($this->message, '[quote') !== false && strpos($this->message, '[/quote]') !== false)
      {
         $this->message = str_replace("\r\n", "\n", $this->message);

         // We strip newlines and spaces after and before quotes in quotes (trimming) and then add exactly one newline
         $this->message = preg_replace('#\[quote(=".*?")?\]\s*(.*?)\s*\[/quote\]#siu', '[quote\1]' . "\n" . '\2' ."\n[/quote]", $this->message);
      }
    

Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door marian0810 » 06 feb 2009, 12:38

Je bent me net voor :mrgreen:

Ofwel: in dit regeltje /* Add newline at the end and..etc. vervang je de /*door // en onderaan verwijder je de*/

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Re: Eerste smilie in een quote wordt niet getoond.

Bericht door Kaza » 06 feb 2009, 12:47

Duidelijk, en werkt prima! Bedankt voor de hulp
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gesloten