Page 2 of 2

Re: Problema con restore sito su ambiente di Produzione

Posted: Thu Mar 24, 2022 8:11 pm
by leonep
Sto guardando un pò dentro il codice per capire dove perdo i pezzi.
nella pagina appLms/coursepath/coursepath.php ho la variabile $user_coursepath valorizzata correttamente .
poi però la variabile $coursepath_courses è nulla..

infatti ho errore:
Notice: Undefined offset: 33 in /home/xxxxx/public_html/yyyyy/appLms/views/coursepath/coursepath.php on line 42
Warning: Invalid argument supplied for foreach() in /home/xxxx/public_html/yyyy/appLms/views/coursepath/coursepath.php on line 42

dove viene valorizzata questa variabile ?? cosi magari riesco a capire il problema...
grazie 1000


$user_coursepath:
Array
(
[33] => Array
(
[id_path] => 33
[path_code] => RISPE02
[path_name] => Il D.Lgs.81/08 Formazione specifica dei lavoratori GOL 2
[path_descr] => Il D.Lgs.81/08 Formazione specifica dei lavoratori GOL 2
[course_completed] => 1
[coursepath_courses] => 18
[percentage] => 6
)

)


$coursepath_courses:
Array
(
)

Re: Problema con restore sito su ambiente di Produzione

Posted: Thu Mar 24, 2022 9:10 pm
by alfa24
Devi risalire dalla view al controller e eventualmente al model. Mettere debug info qua e là. Insomma, attività di debug sporca. Ripeto ciò che ho già scritto, ti serve un analista.

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 10:26 am
by leonep
Si esatto ,
però prima di scomodare un analista avanzato voglio individuare con precisione il problema.
Anche se non conosco il cms piano piano ci arrivo.
Anche se può sembrare banale il tuo consiglio di vedere nel controller è stato utile , non so
per quale strano motivo ma non ci avevo pensato :roll:

intanto ho trovato la funzione che non valorizza $coursepath_courses
$coursepath_courses = $this->model->getCoursepathCourseDetails(array_keys($user_coursepath));
adesso butto un occhio nella model.

grazie

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 11:37 am
by leonep
eccola:

SELECT c.idCourse, c.name, c.course_type, c.course_edition, cu.status, cpc.prerequisites, cpc.id_path, cpc.sequence FROM %lms_course AS c JOIN %lms_courseuser AS cu ON (c.idCourse = cu.idCourse AND cu.idUser = 42166) JOIN %lms_coursepath_courses AS cpc ON c.idCourse = cpc.id_item WHERE cpc.id_path IN (33) GROUP BY cpc.id_path, c.idCourse ORDER BY cpc.id_path, cpc.sequence LIMIT 0, 25
MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%lms_course AS c JOIN %lms_courseuser AS cu ON (c.idCourse = cu.idCourse AND cu.' at line 1

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 11:45 am
by alfa24
l'errore lo hai ottenuto eseguendo questa query direttamente sul db? prima devi parsarla, sostituendo i prefix, quindi %lms diventa learning

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 12:01 pm
by leonep
ho fatto direttamente echo dentro la model per vedere cosa viene eseguito

$query = "SELECT c.idCourse, c.name, c.course_type, c.course_edition, cu.status, cpc.prerequisites, cpc.id_path, cpc.sequence"
." FROM %lms_course AS c"
." JOIN %lms_courseuser AS cu ON (c.idCourse = cu.idCourse AND cu.idUser = ".(!$id_user ? Docebo::user()->getIdst() : (int)$id_user).")"
." JOIN %lms_coursepath_courses AS cpc ON c.idCourse = cpc.id_item"
.(is_array($array_coursepath) && !empty($array_coursepath) ? " WHERE cpc.id_path IN (".implode(',',$array_coursepath).")" : " WHERE 0")
." GROUP BY cpc.id_path, c.idCourse"
." ORDER BY cpc.id_path, cpc.sequence";

echo "query che da errore:" . $query;
$result = sql_query($query);

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 12:10 pm
by alfa24
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%lms_course AS c JOIN %lms_courseuser AS cu ON (c.idCourse = cu.idCourse AND cu.' at line 1

mi riferisco a questo

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 12:29 pm
by leonep
no in effetti li non avevo fatto il parsing, poi con il tuo suggerimento ho sostituito i valori e mi sono accorto che era un semplice problema sul group by
quindi ho disattivato "ONLY_FULL_GROUP_BY" su mysql e ora funziona tutto.
ti ringrazio per l'infinita pazienza , mandami in privato il tuo indirizzo vorrei avere il piacere di farti assaggiare il mio olio di oliva o se preferisci un bel montepulciano d' abruzzo.
grazie

Re: Problema con restore sito su ambiente di Produzione

Posted: Fri Mar 25, 2022 12:38 pm
by alfa24
You're welcome.