FonfonBlog, CMS Blog - version 1.0 Alpha

Eléphant du PHP | 398 Messages

30 nov. 2010, 21:52

 		if(preg_match('#\[sql\](.+)\[\/sql\]#sU',$texte)){
			$rendererSql =& new Text_Highlighter_Renderer_Html(array("numbers" => HL_NUMBERS_LI, "tabsize" => 4));
			$hlSql =& Text_Highlighter::factory("SQL");
			$hlSql->setRenderer($rendererSql);

			$texte = preg_replace_callback('`\[sql](.+)\[/sql\]`iUs', array($hlSql, 'highlight'), $texte);
		}
ce code ne fonctionne pas avec preg_replace_callback :( . ça n'affiche même rien...je n'ai absolument aucune solution...
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Eléphant du PHP | 398 Messages

30 nov. 2010, 23:24

Je sais d'ou vient l'erreur

Je suis parti sur une autre façon de faire pour tester :
$renderer = new Text_Highlighter_Renderer_Html(array("numbers" => HL_NUMBERS_LI, "tabsize" => 4));
//print_r($rendererSql);
$hlSql =& Text_Highlighter::factory("SQL");
//echo 'type : ' . gettype($oHlSql);
//print_r($oHlSql);
$hlSql->setRenderer($renderer);

$texteSql = preg_replace('`\[sql](.+)\[/sql\]`iUs', '<span>$1</span>', $texte);
$texte = $hlSql->highlight($texteSql);
et c est la ligne $hlSql =& Text_Highlighter::factory("SQL"); qui merde. Avec ces messages d'erreurs :

Strict Standards: Assigning the return value of new by reference is deprecated in /homez.379/fonfonla/www/blog/app/libraries/Text_Highlighter/Highlighter.php on line 210
Strict Standards: Assigning the return value of new by reference is deprecated in /homez.379/fonfonla/www/blog/app/libraries/Text_Highlighter/Highlighter.php on line 364
et
Strict Standards: Non-static method Text_Highlighter::factory() should not be called statically in /homez.379/fonfonla/www/blog/app/inc/appControl.php on line 213

J'ai déjà vu ces erreurs, je vais retourner quelques pages en arrière !!
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

devlop78
Invité n'ayant pas de compte PHPfrance

01 déc. 2010, 02:26

J'ai trouvé tout seul http://blog.fonfonland.fr/app/classes/
et je sais qu'il existe un http://blog.fonfonland.fr/app/inc/

un petit htaccess deny from all serait un + :p

devlop78
Invité n'ayant pas de compte PHPfrance

01 déc. 2010, 02:27

Si tu veux je lancerai Samurai Web Testing :p
Je te le conseillerais bien mais je n'ai pas trop réussi à le faire fonctionner, et pas de doc dispo, ou alors il faut chercher des heures ...

ViPHP
ViPHP | 5462 Messages

01 déc. 2010, 03:57

les =& faut oublier c'était en php4 qu'on faisait ca :wink:

Eléphant du PHP | 398 Messages

01 déc. 2010, 09:53

les =& faut oublier c'était en php4 qu'on faisait ca :wink:
Je m'appuie sur la doc fournie sur le site de PEAR : http://pear.php.net/manual/en/package.t ... ter.oc.php
Donc si j'enlève le & sur cette ligne en question, faut-il que je l'enlève aussi de la methode factory dans la classe highlight (ligne 199)?
Elle est declaré comme ça : function &factory($lang, $options = array()){...
J'ai trouvé tout seul http://blog.fonfonland.fr/app/classes/
et je sais qu'il existe un http://blog.fonfonland.fr/app/inc/

un petit htaccess deny from all serait un + :p
J'ai uniquement protégé des dossiers contenant des .sql et les .ini dans le htacess :

Code : Tout sélectionner

<Files ~ "\.(sql|ini)$"> deny from all </Files>
Enn ce qui concerne les dossiers contenant les scripts PHP, je me tatte...je n'en voit pas trop l'utilité :) . Pour connaitre l'arborescence des dossiers, il suffit de télécharger le CMS ^^.
Par contre, qu'est ce que "Samurai Web Testing" ?
[/code]
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 5462 Messages

01 déc. 2010, 11:22

non change pas le code, faudrait plutôt trouver une lib PHP 5 :wink:

Eléphant du PHP | 398 Messages

01 déc. 2010, 11:39

non change pas le code, faudrait plutôt trouver une lib PHP 5 :wink:
Elle est déclarée comme compatible PHP 4 & 5 pourtant.
Mais ce qui n'est pas logique, c'est que dans mon module d'administration, je l'utilise aussi et ça fonctionne très bien...
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 5462 Messages

01 déc. 2010, 11:47

non change pas le code, faudrait plutôt trouver une lib PHP 5 :wink:
Elle est déclarée comme compatible PHP 4 & 5 pourtant.
Mais ce qui n'est pas logique, c'est que dans mon module d'administration, je l'utilise aussi et ça fonctionne très bien...
PHP 5 est compatible avec PHP 4, par contre y'a des choses qui maintenant sont dépréciés.
T'as peu être un changement du mode d'erreur a un moment ?

Eléphant du PHP | 398 Messages

01 déc. 2010, 12:05

non change pas le code, faudrait plutôt trouver une lib PHP 5 :wink:
Elle est déclarée comme compatible PHP 4 & 5 pourtant.
Mais ce qui n'est pas logique, c'est que dans mon module d'administration, je l'utilise aussi et ça fonctionne très bien...
PHP 5 est compatible avec PHP 4, par contre y'a des choses qui maintenant sont dépréciés.
T'as peu être un changement du mode d'erreur a un moment ?
Je suis toujours en error_reporting(E_ALL | E_STRICT);
C est une fois que je suis passé en error_reporting(E_ALL & ~E_NOTICE); que j ai vu les messages d'erreurs et principalement le :

Code : Tout sélectionner

Strict Standards: Non-static method Text_Highlighter::factory() should not be called statically in /homez.379/fonfonla/www/blog/app/inc/appControl.php on line 213
Ma méthode d'envoie de mail fonctionne sur le même principe et pourtant elle fonctionne...je n'y comprends rien >_< (ex : $mailContact =& MAIL::factory($type,$params);)
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 5462 Messages

01 déc. 2010, 12:14

c'est le désavantage des vielles lib, si tu veux utilise c'est package va falloir encore plus baissé ton niveau d'erreur

Eléphant du PHP | 398 Messages

02 déc. 2010, 12:25

j'ai mis ça de côté en attendant une éventuelle solution :| ...
Par contre, je continue l'accessibilité, j'ai modifié la plupart de mes formulaires hors-administration afin qu'il soient opérationnels même avec le Javascript désactivé. Il me reste à le faire sur la gestion des infos d'un utilisateur puis pour la modification d'un avatar.
Et une fois ça, je le ferai dans la section administration.

J'ai une question de débutant :D (j'ai un peu hionte de poser cette question :oops: ).
Qu'est ce qui est le plus rapide, un formulaire ecrit comme ça :
$art = '<form method="post" action="' . $url . '">';
$art .= '<input type="text" name="var" value="' . $var . '" />';
$art .= '<input type="text" name="var2" value="' . $var1 . '" />';
$art .= '<input type="text" name="var3" value="' . $var2 . '" />';
$art .= '</form>';
echo $art;
ou comme ça :
<form method="post" action="<?php echo $url; ?>">
<input type="text" name="var" value="<?php echo $var; ?>" />
<input type="text" name="var2" value="<?php echo $var2; ?>" />
<input type="text" name="var3" value="<?php echo $var3; ?>" />
</form>
8-|
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

ViPHP
ViPHP | 3607 Messages

02 déc. 2010, 12:29

Hum...
J'ai envie de dire "osef" des performances pour un petit truc comme ça...
Par contre la deuxième syntaxe est beaucoup plus lisible à mes yeux...

Eléphant du PHP | 398 Messages

02 déc. 2010, 12:36

Hum...
J'ai envie de dire "osef" des performances pour un petit truc comme ça...
Par contre la deuxième syntaxe est beaucoup plus lisible à mes yeux...
Vu que je mets les sources à disposition, mieux vaut que ce soit plus clair et plus lisible.
Donc je vais passer sur cette syntaxe. Thx
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe

Eléphant du PHP | 398 Messages

06 déc. 2010, 23:03

J'ai débuggé le problème des Highlight youhouuuuuuuuuuuuuuuuuuuu \0/

Le soucis venait des classes text_highlight spécifique à chaque langage, ou j'avais laissé les require_once() par défaut !!
Résultat, dans ma fonction bb_codeParse(), ça se présente comme ceci :
		$renderer = new Text_Highlighter_Renderer_Html(array("numbers" => HL_NUMBERS_LI, "tabsize" => 4));

		if (preg_match("/\[php\](.*?)\[\/php\]/is", $texte, $matches)) {
			$hiPhp =& Text_Highlighter::factory("PHP");
			$hiPhp->setRenderer($renderer);
			$highlightedPhp = $hiPhp->highlight(html_entity_decode($matches[1],ENT_QUOTES, 'utf-8')); 
			$texte = preg_replace("`\[php\](.+)\[/php\]`iUs", $highlightedPhp, $texte);
		} 

		if (preg_match("/\[css](.*?)\[\/css\]/is", $texte, $matches)) {
			$hiCss =& Text_Highlighter::factory("CSS");
			$hiCss->setRenderer($renderer);
			$highlightedCss = $hiCss->highlight(html_entity_decode($matches[1],ENT_QUOTES, 'utf-8')); 
			$texte = preg_replace("`\[css\](.+)\[/css\]`iUs", $highlightedCss, $texte);
		} 	

//etc...
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe