#imageText# :
', 'variables' => array('#image#', '#imageText#', '#new#', '#questionId#'), 'defaultValues' => array('', ADD_IMAGE_TEXT, 'new', '#questionId#') ); } function getInputHtml($sType, $oData=false) { $asHtml = call_user_func('get'.$sType.'Pattern'); $sInput = str_replace ( $asHtml['variables'], (!$oData)?$asHtml['defaultValues']:$oData, $asHtml['html'] ); return (!$oData)?printJsString($sInput):$sInput; } function printJsString($sText) { return str_replace(array("\'", "'", "!", chr(10), chr(13), chr(9)),array("'", "\'", "'", '', '', ''), $sText); } function checkQcm($iQcmId) { $asQcm = getQcm($iQcmId); $asErrors = array(); //no qcm name if($asQcm[QCM_TABLE] == DEFAULT_QCM_NAME) { $asErrors[] = getWarning('Le QCM n\'a aucun nom'); } if(isset($asQcm[QUESTION_TABLE]) && count($asQcm[QUESTION_TABLE])>0) { $iQuestionNum = 0; foreach($asQcm[QUESTION_TABLE] as $iQuestionId => $asAnswers) { $iQuestionNum++; $iNbAnswers = 0; $iNbRightAnswers = 0; //empty question if($asAnswers[QUESTION_TABLE]=='' || $asAnswers[QUESTION_TABLE]==DEFAULT_QUESTION_INPUT) { $asErrors[] = 'Question '.$iQuestionNum.' : vide'; } if(isset($asAnswers[ANSWER_TABLE]) && count($asAnswers[ANSWER_TABLE])>0) { foreach($asAnswers[ANSWER_TABLE] as $iAnswerId => $asAnswer) { $iNbRightAnswers += $asAnswer[RIGHT_ANSWER]; //No answer and a valid answer checked if($asAnswer[ANSWER_TABLE]=='' && $asAnswer[RIGHT_ANSWER]>0) { $asErrors[] = 'Question '.$iQuestionNum.', réponse '.$iNbAnswers.' : Aucune réponse n\'a été écrite, mais une bonne réponse a été cochée'; } } } else { //No answer for a defined question $asErrors[] = 'Question '.$iQuestionNum.' : Aucune réponse possible n\'a été ajoutée'; } //No right answer if($iNbRightAnswers==0) { $asErrors[] = 'Question '.$iQuestionNum.' : Aucune bonne réponse n\'a été cochée'; } } } else { //No question $asErrors[] = 'Aucune question n\'a été écrite'; } $bResult = true; if(count($asErrors)>0) { array_unshift($asErrors, 'QCM incomplet', 'les éléments suivants comportent une erreur :'); addMessage(getError($asErrors)); $bResult = false; } return $bResult; } //SQL Questions builders function parseQuestion($sKey) { $asTables = array(QUESTION_TABLE, ANSWER_TABLE, RIGHT_ANSWER); if(strpos($sKey, QUESTION_TABLE) === false) { return false; } else { $aiParsedKey = array(); $iCurrentIndex = -1; for($i=0;$i