Bonjour,
Je m'excuse de vous déranger, mais j'ai un problème avec le module catads sur mon site
www.chien-passion.be.
En fait, depuis un moment, toutes les annonces sont arrivées à expiration, et il n'est plus possible d'en ajouter une nouvelle. Tout fonctionne normalement dans le formulaire, et il est même possible de prévisualiser, mais quand on veut la valider, on obtient le message suivant
There was an error. Your ad has not been added
Array
Si je passe en mode debug, j'obtiens 4 erreurs :
Citation :Notice: Only variable references should be returned by reference in file /modules/catads/submit1.php line 70
Notice: Only variable references should be returned by reference in file /modules/catads/class/ads.php line 102
Notice: Undefined variable: photo in file /modules/catads/submit1.php line 199
Notice: Undefined variable: photos_dir in file /modules/catads/submit1.php line 205
Voici le code de la ligne 70 de la page submit1.php (la ligne en question est l'avant dernière, "return...")
function &deleteCode(&$text) {
$patterns = array();
$replacements = array();
$patterns[] = "/[siteurl=(['"]?)([^"'<>]*)\1](.*)[/siteurl]/sU";
$replacements[] = '\3';
$patterns[] = "/[url=(['"]?)(http[s]?://[^"'<>]*)\1](.*)[/url]/sU";
$replacements[] = '\3';
$patterns[] = "/[url=(['"]?)(ftp?://[^"'<>]*)\1](.*)[/url]/sU";
$replacements[] = '\3';
$patterns[] = "/[url=(['"]?)([^"'<>]*)\1](.*)[/url]/sU";
$replacements[] = '\3';
$patterns[] = "/[color=(['"]?)([a-zA-Z0-9]*)\1](.*)[/color]/sU";
$replacements[] = '\3';
$patterns[] = "/[size=(['"]?)([a-z0-9-]*)\1](.*)[/size]/sU";
$replacements[] = '\3';
$patterns[] = "/[font=(['"]?)([^;<>*()"']*)\1](.*)[/font]/sU";
$replacements[] = '\3';
$patterns[] = "/[email]([^;<>*()"']*)[/email]/sU";
$replacements[] = '\1';
$patterns[] = "/[b](.*)[/b]/sU";
$replacements[] = '\1';
$patterns[] = "/[i](.*)[/i]/sU";
$replacements[] = '\1';
$patterns[] = "/[u](.*)[/u]/sU";
$replacements[] = '\1';
$patterns[] = "/[d](.*)[/d]/sU";
$replacements[] = '\1';
return preg_replace($patterns, $replacements, $text);
}
Et la ligne 102 du fichier ads.php (à nouveau c'est "return...")
function &create()
{
return new CatadsAds();
}
Je suppose que cela est consécutif à une mise à jour récente de php qui ne doit plus permettre l'intruction "return" de la même manière (ou avec les mêmes éléments, mais je ne suis pas capable d'en comprendre davantage.
Il faut également préciser que j'ai la version 1.23 de catads, qui est assez ancienne. J'ai tenté de passer à la version 1.4 sur une version test de mon site, mais le problème demeure le même (il faut dire que la dernière mise à jour de catads 1.4 téléchargable sur ce site est datée de août 2005).
Donc voila, je ne sais pas trop où se situe le problème, mais je ne peux plus utiliser le module catads et ne sait trop quoi faire. J'ai également tenté d'installer le module myAds, mais il ne fonctionne pas sur mon site car les formulaires remplis se vident quand ils vont validés, et dès qu'on veut modifier quelque chose ou ajouter une catégorie, nous sommes redirigés vers une page blanche.
Si quelqu'un a la solution à mon problème (soit une partie du code à modifier, soit une mise à jour plus récente de catads trouvée ailleurs, soit un autre module qui fonctionnerait, ou que sais-je d'autre), ou au moins une explication, je serais preneur.
Je vous remercie d'avance de votre attention. Très bonne soirée à vous.
Resnaux