1

Bonjour

La gestion de la balise blockquote n'étant pas complète je me suis permis de trifouiller un peu le code :

Ajout ligne 1542 dans la fonction o_DIV :
else if ($other == "blockquote") { $this->style->value['margin']['l'] += 10; }

Ajout ligne 1577 toujours dans la fonction o_DIV :
if ($other == "blockquote") { $w -= 15; }

L'inconvénient, c'est de la grosse bidouille, plus ou moins au pifomètre pour les valeurs. De plus, si ca marche pour un exemple simple :
<blockquote>blabla</blockquote>

Cela marchera mal pour un exemple avec des balises paragraphes à cause de la hauteur (variable $h) :
<blockquote>
  <p>Blabla 1</p>
  <p>Blabla 2</p>
</blockquote>


Voilà en espérant avoir été un poil utile.

2

Bon j'ai un peu étoffé mon code pour faire fonctionner les paragraphes :

Ajout ligne 1542 dans la fonction o_DIV :

else if ($other == "blockquote") {
	$this->style->value['margin']['l'] += 10;
	if (isset($param['moveDown']))	$this->style->value['margin']['b']	+= $param['moveDown'];
}


Modification ligne 1764 de la fonction o_BLOCKQUOTE :

protected function o_BLOCKQUOTE($param) {
	for($temp_pos = $this->parse_pos + 1; $temp_pos<count($this->parsing->code); $temp_pos++)
	{
		$todo = $this->parsing->code[$temp_pos];
		$sub = null;
		$this->CreateSubHTML($sub);
		$sub->parsing->code = $this->parsing->getLevel($temp_pos - 1);

		for($sub->parse_pos = 0;$sub->parse_pos<count($sub->parsing->code);$sub->parse_pos++)
		{
			$todo = $sub->parsing->code[$sub->parse_pos];
			$sub->loadAction($todo);

			if ($todo['name'] == 'p') {
				$param['moveDown'] = 4;
				break;
			}
		}

		$this->destroySubHTML($sub);
		break;
	}

	return $this->o_DIV($param, 'blockquote');
}

3

En fait je crois surtout que je me suis fait chier pour rien, cette simple modification suffit amplement et gère tous les cas (sans modifier la fonction et toujours en bidouillant la ligne 1577) :

else if ($other == "blockquote") {
	$this->style->value['margin']['l'] += 10;
	$this->style->value['margin']['b'] += 3;
}

4

Petit modification de la ligne 1577, sinon il y a des problèmes avec les textes courts :

if ($other == "blockquote" && $w > 175) { $w -= 15; }

5

du coup, tu pourrais faire un résumé final des réels modifications à apporter ? car là on ne sait pas trop ce qu'il faut modifier wink
Ancien pseudo : lolo

6

Heum oui désolé.

Ajout ligne 1542 dans la fonction o_DIV :
else if ($other == "blockquote") { 
	$this->style->value['margin']['l'] += 10; 
	$this->style->value['margin']['b'] += 3; 
}


Ajout ligne 1577 toujours dans la fonction o_DIV :
if ($other == "blockquote" && $w > 175) { $w -= 15; }

En rappelant que ce n'est que du bidouillage.