et */ while(ereg("",$chaine)){ $qcm=true; $codeHTML=""; list($texteAvant,$suite)=explode("",$chaine,2); list($qcm,$texteApres)=explode("",$suite,2); /* On isole les questions les rponses et les commentaires */ $ligne=split("\n",$qcm); $nbligne=count($ligne); $premierequestion=$nbQuestion; for($i=0;$i<$nbligne;$i++){ /* Pour chaque ligne on regarde le premier caractre */ switch($ligne[$i][0]){ case 'T' : $titreQCM=substr($ligne[$i],1);break; case 'Q' : $nbQuestion++; $question[$nbQuestion]=substr($ligne[$i],1); break; case 'P' : /* On extrait les prcisions de la proposition */ list($reponse,$precis)=explode("|",$ligne[$i]); /* On extrait le numro de la proposition et son contenu */ ereg("P([0-9]+)(.*)",$reponse,$eregResult1); $numPropos=$eregResult1[1]; /* On extrait les points ventuellement associs * chaque rponse */ if(ereg("[.](-?[0-9]+)(.*)",$eregResult1[2],$eregResult2)){ $points[$nbQuestion][$numPropos]=$eregResult2[1]; $choix[$nbQuestion][$numPropos]= $eregResult2[2]; //$gestionPoint=true; } /* Si une erreur de syntaxe apparait * on passe en mode par dfaut pour la gestion des points */ else{ $gestionPoint=false; $choix[$nbQuestion][$numPropos]= $eregResult1[2]; } $precision[$nbQuestion][$numPropos]= $precis; break; case 'R' : /* On rcupre le numro de la bonne rponse */ ereg("R([0-9]+)(.*)",$ligne[$i],$eregResult); $numProposition=$eregResult[1]; $bonneReponse[$nbQuestion]=$numProposition; break; default : break; } } /* * Affichage du QCM */ // Si on ne corrige pas on affiche le QCM if (!isset($GLOBALS["var_correction"])){ for($i=$premierequestion+1;$i<=count($question);$i++){ $nomVarSelect="var_Q".$i; $codeHTML.="
$question[$i]
"; $codeHTML.="
"; // Si il ya plus de 5 choix, on utilise une liste if(count($choix[$i])>5){ $codeHTML.=""; } // Sinon des radio boutons else{ for($j=1;$j<=count($choix[$i]);$j++){ $codeHTML.=" "; $codeHTML.=$choix[$i][$j]."
"; } } $codeHTML.="

"; }// Fin traitement des questions }//Fin du cas sans correction // Sinon on affiche la correction else{ // Initialisation du code retourner $codeHTML=""; for($i=$premierequestion+1;$i<=count($question);$i++){ $nomVarSelect="var_Q".$i; /* On comptabilise le maximum de points que l'on peut obtenir */ if($gestionPoint){ $pointParQuestion=$points[$i][$bonneReponse[$i]]; $scoreMax+=$pointParQuestion; } else{ $pointParQuestion=1; $scoreMax+=$pointParQuestion; } // La rponse choisie $codeHTML.="
$question[$i]($pointParQuestion pt)
"; // Si c'est juste if($bonneReponse[$i]==$GLOBALS[$nomVarSelect]){ // Les points par dfaut : 1 par bonne rponse if($gestionPoint){ $score+=$points[$i][$GLOBALS[$nomVarSelect]]; } else{ $score++; } $codeHTML.="
$introReponse"; $codeHTML.=$choix[$i][$GLOBALS[$nomVarSelect]]; $codeHTML.="
"; $codeHTML.="
$reponseJuste
"; if (isset($precision[$i][$GLOBALS[$nomVarSelect]])){ $codeHTML.="
"; $codeHTML.=$precision[$i][$GLOBALS[$nomVarSelect]]; $codeHTML.="
"; } } // Si c'est faux else{ if(isset($GLOBALS[$nomVarSelect])){ $score+=$points[$i][$GLOBALS[$nomVarSelect]]; $codeHTML.="
"; $codeHTML.=$choix[$i][$GLOBALS[$nomVarSelect]]; $codeHTML.="
"; $codeHTML.="
$reponseFausse
"; if (isset($precision[$i][$GLOBALS[$nomVarSelect]])){ $codeHTML.="
"; $codeHTML.=$precision[$i][$GLOBALS[$nomVarSelect]]; $codeHTML.="
"; } } else{ $codeHTML.="
$reponseNulle
"; } } $codeHTML.="
"; } } // On ajoute les balises et $codeHTML="".$codeHTML.""; $chaine=$texteAvant.$codeHTML.$texteApres; }//fin du while if($qcm){ if (!isset($GLOBALS["var_correction"])){ $teteFormulaire="
"; $piedFormulaire="
"; $chaine=$teteFormulaire.$chaine.$piedFormulaire; } else{ // On ajoute le score final $chaine.="
Score : $score / $scoreMax
"; $chaine.="
[ Réinitialiser le QCM ]
"; unset($GLOBALS["var_correction"]); } $chaine="
".$titreQCM."
".$chaine."
"; } return $chaine; } ?> Armada 01
Armada 01
Articles sorted by themes
hhhhhhhhhhhhhhhhh
Farsi articles, with translation link
Th. Date Farsi English
2006-11-08 چهار شنبه [فارسى] آیا با وظایف یک ادیتور خوب آشنا شده اید؟ No translation for this article
2006-10-25 چهار شنبه [فارسى] فوتبال ایران No translation for this article
2006-10-25 چهار شنبه [فارسى] نظامی گنجوی No translation for this article
2006-10-25 چهار شنبه [فارسى] شطرنج [English] Chess
2006-10-25 چهار شنبه [فارسى] دریای خزر [English] Caspian Sea
2006-10-23 دو شنبه [فارسى] کوه دماوند [English] Mount Damavand
2006-10-23 دو شنبه [فارسى] عمر خیام No translation for this article
2006-10-23 دو شنبه [فارسى] غلامرضا تختی No translation for this article
Articles sorted by author