* @see LanceurV1 * @version 0.5 * @access public */ function LanceurV2($popup="false",$essai="false",$score="false", $dated="false", $datef="false", $prevscore="false") { // variables globales et récupération des params GET global $guserid, $connexion, $chapitre, $module, $groupe; global $ClsTracking, $db, $TBL; // si le traitement est déjà fait : on sort if (isset($_GET['PopLanceur'])) { return; } // headers et footer HTML $HtmlHeader = "\n\n"; $HtmlHeader .= "Activité\n"; $HtmlHeader .= "\n"; $HtmlFooter .= "\n"; // définition des valeurs par défaut $defautPopup = "800*600"; // taille de la popup par defaut $defautEssai = "3"; // Nb d'essais max $defautScore = "60"; // %age max $defautPrevScore = "80"; // %age min du dernier score de l'activité précédente pour lancer l'activité $popup = ($popup=="defaut") ? $defautPopup : $popup; $essai = ($essai=="defaut") ? $defautEssai : $essai; $score = ($score=="defaut") ? $defautScore : $score; $prevscore = ($prevscore=="defaut") ? $defautPrevScore : $prevscore; // cible à ouvrir $targetURL = $PHP_SELF."?connexion=$connexion&chapitre=$chapitre&module=$module&PopLanceur=1&groupe=$groupe"; // script popup ------------------------------------------------------------------ $script = ""; $paramsPopup = "top=0, left=0, scrollbars=yes, status=yes, resizable=yes, menubar=no"; if ($popup!="false") { // on veut que l'activité s'ouvre en popup $script = "\n"; } // contenu ------------------------------------------------------------------ $contenu = ""; // on teste le nb d'essai if ($essai!="false") { // on a defini un nb d'essais $nbEssai = $ClsTracking->NbTrackingByChapter($guserid,$module,$chapitre,$groupe); //nb d'essai du stagiaire if ($nbEssai >= $essai) { $contenu .= "
\n"; $contenu .= "Vous avez dépassé le nombre d'essais maximum auquel vous aviez droit ($essai) \n"; $contenu .= "
\n"; $launch = false; } } // on teste le pourcentage if ($score!="false") { // on a defini un nb d'essais $Pourcentage = $ClsTracking->Moyenne($guserid,$module,$chapitre,$groupe); //Moyenne du stagiaire à cette activité if ($Pourcentage>$score) { $contenu .= "
\n"; $contenu .= "Votre score moyen ($Pourcentage%) a atteint ou dépassé la moyenne maximum fixée ($score%)\n"; $contenu .= "
\n"; $launch = false; } } // on teste la date de début if ($dated!="false") { $tab = explode("/", $dated); $timed = mktime (0,0,0,$tab[1],$tab[0],$tab[2]); if (time() <= $timed ) { $contenu .= "
\n"; $contenu .= "Cette activité sera disponible à partir du $dated !\n"; $contenu .= "
\n"; $launch = false; } } // on teste la date de fin if ($datef!="false") { $tab = explode("/", $datef); $timef = mktime (0,0,0,$tab[1],$tab[0],$tab[2]) + (24*60*60); if (time() >= $timef ) { $contenu .= "
\n"; $contenu .= "Cette activité n'est plus disponible depuis le $datef !\n"; $contenu .= "
\n"; $launch = false; } } // on la note du chapitre précédent if ($prevscore!="false") { if ($chapitre > 1) { // uniquement si le chapitre qui précède est une activité $chap = $chapitre -1; $sql = "SELECT MAX(score) from ".$TBL['tracking']." where module_id=".$module." and chapitre_id=".$chap." and user_id=".$guserid." ORDER BY date DESC;"; $query = mysql_query($sql); $req = mysql_fetch_array($query); if (isset($req[0]) && ($req[0] < $prevscore) ) { $contenu .= "
\n"; $contenu .= "Vous devez atteindre un score minimum de ".$prevscore."% à l'activité précédente (".$req["0"]."% actuellement) avant de pouvoir faire cette activité !\n"; $contenu .= "
\n"; $launch=false; } if (!isset($req[0])) { $contenu .= "
\n"; $contenu .= "Vous devez faire l'activité précédente et obtenir un score minimum de ".$prevscore."% avant de pouvoir faire celle-ci !\n"; $contenu .= "
\n"; $launch=false; } } } if ( $launch===false ) { // si on a atteint une limitation $html = $HtmlHeader; $html .= "\n"; $html .= $contenu; $html .= $HtmlFooter; echo $html; exit; } if ( $script!="" ) { // on ouvre en popup $html = $HtmlHeader; $html .= $script; $html .= "\n"; $html .= "\n"; $html .= "
Ouverture de l'activité...
\n"; $html .= $HtmlFooter; echo $html; exit; } return; } /** * Genere une page de "transition" permettant diverses actions au lancement d'une activité * * v0.4 05/03/2004 * Fonction à utiliser avec la V1 * * @param string $popup Lancer l'activité dans une popup * @param string $essai Limiter le lancement de l'activité en fonction du nb d'essais déjà effectué * @param integer $score Limiter le lancement de l'activité en fonction d'un score moyen déjà obtenu * @param string $dated Limiter le lancement en fonction d'une date de début * @param integer $datef Limiter le lancement en fonction d'une date de fin * @param integer $prevscore Limiter le lancement en fonction d'un score minimum à l'activité précédente * @link http://ganesha.keonox.com/addons/lanceur * @author Pierre-Yves GOSSET * @see LanceurV2 * @version 0.4 * @access public */ function LanceurV1($popup="false",$essai="false",$score="false", $dated="false", $datef="false", $prevscore="false") { // variables globales et récupération des params GET global $guserid, $connexion, $chapitre, $module; global $ClsTracking, $db, $TBL; // si le traitement est déjà fait : on sort if (isset($_GET['PopLanceur'])) { return; } // headers et footer HTML $HtmlHeader = "\n\n"; $HtmlHeader .= "Activité\n"; $HtmlHeader .= "\n"; $HtmlFooter .= "\n"; // définition des valeurs par défaut $defautPopup = "800*600"; // taille de la popup par defaut $defautEssai = "3"; // Nb d'essais max $defautScore = "60"; // %age max $defautPrevScore = "80"; // %age min du dernier score de l'activité précédente pour lancer l'activité $popup = ($popup=="defaut") ? $defautPopup : $popup; $essai = ($essai=="defaut") ? $defautEssai : $essai; $score = ($score=="defaut") ? $defautScore : $score; $prevscore = ($prevscore=="defaut") ? $defautPrevScore : $prevscore; // cible à ouvrir $targetURL = $PHP_SELF."?connexion=$connexion&chapitre=$chapitre&module=$module&PopLanceur=1"; // script popup ------------------------------------------------------------------ $script = ""; $paramsPopup = "top=0, left=0, scrollbars=yes, status=yes, resizable=yes, menubar=no"; if ($popup!="false") { // on veut que l'activité s'ouvre en popup $script = "\n"; } // contenu ------------------------------------------------------------------ $contenu = ""; // on teste le nb d'essai if ($essai!="false") { // on a defini un nb d'essais $nbEssai = $ClsTracking->NbTrackingByChapter($guserid,$module,$chapitre); //nb d'essai du stagiaire if ($nbEssai >= $essai) { $contenu .= "
\n"; $contenu .= "Vous avez dépassé le nombre d'essais maximum auquel vous aviez droit ($essai) \n"; $contenu .= "
\n"; $launch = false; } } // on teste le pourcentage if ($score!="false") { // on a defini un nb d'essais $Pourcentage = $ClsTracking->Moyenne($guserid,$module,$chapitre); //Moyenne du stagiaire à cette activité if ($Pourcentage>$score) { $contenu .= "
\n"; $contenu .= "Votre score moyen ($Pourcentage%) a atteint ou dépassé la moyenne maximum fixée ($score%)\n"; $contenu .= "
\n"; $launch = false; } } // on teste la date de début if ($dated!="false") { $tab = explode("/", $dated); $timed = mktime (0,0,0,$tab[1],$tab[0],$tab[2]); if (time() <= $timed ) { $contenu .= "
\n"; $contenu .= "Cette activité sera disponible à partir du $dated !\n"; $contenu .= "
\n"; $launch = false; } } // on teste la date de fin if ($datef!="false") { $tab = explode("/", $datef); $timef = mktime (0,0,0,$tab[1],$tab[0],$tab[2]) + (24*60*60); if (time() >= $timef ) { $contenu .= "
\n"; $contenu .= "Cette activité n'est plus disponible depuis le $datef !\n"; $contenu .= "
\n"; $launch = false; } } // on la note du chapitre précédent if ($prevscore!="false") { if ($chapitre > 1) { // uniquement si le chapitre qui précède est une activité $chap = $chapitre -1; $sql = "SELECT MAX(note) from ".$TBL['tracking']." where module_id=".$module." and chapitre_id=".$chap." and user_id=".$guserid." ORDER BY date DESC;"; $query = mysql_query($sql); $req = mysql_fetch_array($query); if (isset($req['note']) && ($req['note'] < $prevscore) ) { $contenu .= "
\n"; $contenu .= "Vous devez atteindre un score minimum de ".$prevscore."% à l'activité précédente (".$req["note"]."% actuellement) avant de pouvoir faire cette activité !\n"; $contenu .= "
\n"; $launch=false; } if (!isset($req['note'])) { $contenu .= "
\n"; $contenu .= "Vous devez faire l'activité précédente et obtenir un score minimum de ".$prevscore."% avant de pouvoir faire celle-ci !\n"; $contenu .= "
\n"; $launch=false; } } } if ( $launch===false ) { // si on a atteint une limitation $html = $HtmlHeader; $html .= "\n"; $html .= $contenu; $html .= $HtmlFooter; echo $html; exit; } if ( $script!="" ) { // on ouvre en popup $html = $HtmlHeader; $html .= $script; $html .= "\n"; $html .= "\n"; $html .= "
Ouverture de l'activité...
\n"; $html .= $HtmlFooter; echo $html; exit; } return; } ?>