Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu]Bogue étrange

Posted by dantahoua on 11/18/2010 06:34

Bon encore moi! J'appel à partir de l'admin un controlleur dans le même module mais via ajax pour peupler avec du drag and drop une table... Cela fonctionnait très bien jusqu'à ce que je passe à Jelix 1.2RC2 (pas testé avec RC1). Les choses sont bien écrites dans la table mais le message que me retourne mon controlleur a une erreur suivie de la réponse que je désire... Voici l'erreur:

Notice: Undefined index: deprecated in /Volumes/Dev/www/svn/Jelix/app_ejCryo_gmo/dev/trunk/lib/jelix/core/jErrorHandler.lib.php on line 60
Call Stack
#	Time	Memory	Function	Location
1	0.3675	331612	{main}( )	../admin.php:0
2	0.3900	1362416	jCoordinator->process( ??? )	../admin.php:19
3	0.3968	1702588	page_section_ajaxCtrl->addSection( )	../jCoordinator.class.php:192
4	0.3985	1792536	jErrorHandler( ???, ???, ???, ???, ??? )	../jErrorHandler.lib.php:0
Dropped_5_A_1_20

Dans mon controlleur ajax j'utilise une réponse de type "htmlfragment". Le pire c'est qu'il me retourne bien ce que je veux (l'id et autre stuff de l'élément qui vient d'être inséré dans la bd "Dropped_5_A_1_20") mais avec le message d'erreur en plus ça fait planter mon appli évidemment. Voici le code du controlleur:

function addSection(){
<code>
	$rep = $this->getResponse('htmlfragment');
	//On récupère les param
	$stringid = $this->param('sectionlnkid');
	
	//Traitement du string id pour récupérer les id de page, zone ,section (toujours dans cet ordre)
	$arId = split('_',$stringid);
	$pageId = $arId[1];
	$zone = $arId[2];
	$sectionId = $arId[3];
	
	//Écriture dans la BD
	$lnkFactory = jDao::get('lnk_section_page');
	$record = jDao::createRecord('lnk_section_page');
	$record->fk_page_id = $pageId;
	$record->fk_section_id = $sectionId;
	$record->zone = $zone;
	$lnkFactory->insert($record);
	$lastinsertid = $record->getPk();
	$rep->addContent('Dropped_'.$pageId.'_'.$zone.'_'.$sectionId.'_'.$lastinsertid);
	jZone::clearAll();
        return $rep;
    }
</code>

Si vous avez une idée, merci!

  [Opened] Bogue étrange

Reply #1 Posted by laurentj on 11/18/2010 09:31

Salut,

rajoute

deprecated   = ECHO TRACE

dans ta config, dans la section error_handling. Tu ne vas plus avoir cette erreur. (c'est un oubli, je corrige pour la 1.2 finale).

Par contre tu vas en avoir une autre. Puisqu'en fait il semble qu'il y a utilisation d'un truc qui est "deprecated" par PHP. Je parie sur ton split et si c'est le cas, il faut plutôt utiliser preg_split (ou explode, ça suffit ici). si c'est ça mais que tu tiens à garder ton split (c'est mal), met juste

deprecated   =

Dans tout les cas, dis nous sur quoi il râle exactement (en laissant le echo trace).

  [Opened] Bogue étrange

Reply #2 Posted by dantahoua on 11/18/2010 14:02

Ah ah! Merci Laurent, je me doutais que j'utilisais un truc deprecated quand j'ai vu passé ce mot. En fait mes yeux sont passés au dessus de split, je l'utilise jamais, plutôt explode habituellement. Je pense qu'hier soir gt trop dans le gaz! J'ai mis >deprecated = ECHO TRACE LOGFILE J'utilise beaucoup le Logfile , car sur le Mac avec la console c facile de voir le contenu du error.log en live. Donc voici le log:

2010-11-18 07:57:46	/admin.php/ejweb/page_section_ajax/addSection
<code>
	[8192]	Function split() is deprecated	/Volumes/Dev/www/svn/Jelix/app_ejCryo_gmo/dev/trunk/ejCryo/modules/ejweb/controllers/page_section_ajax.classic.php	49
	trace:
	0	split()	/Volumes/Dev/www/svn/Jelix/app_ejCryo_gmo/dev/trunk/ejCryo/modules/ejweb/controllers/page_section_ajax.classic.php : 49
	1	page_section_ajaxCtrl->addSection()	/Volumes/Dev/www/svn/Jelix/app_ejCryo_gmo/dev/trunk/lib/jelix/core/jCoordinator.class.php : 192
	2	jCoordinator->process()	/Volumes/Dev/www/svn/Jelix/app_ejCryo_gmo/dev/trunk/ejCryo/www/admin.php : 19
</code>

Une fois enlever tout les split, je n'ai plus du tout de notice... Merci!

  [Opened] [Résolu]Bogue étrange

Reply #3 Posted by laurentj on 11/18/2010 19:02

Merci, je suis rassuré donc, le deprecated, c'est pas dans jelix :-)

 
Page
  1. [Résolu]Bogue étrange