keeping scores and displaying them
This commit is contained in:
@@ -29,11 +29,6 @@ error_reporting(0);
|
||||
# e.g. increasing the number of possibilities (at least 1 out of 5 pages instead of at least 1 out of 3)
|
||||
# consider doing a trip rather than random jumps
|
||||
# i.e. if pick randomly from the linked pages or from the group or from the the whole wiki of the previous page
|
||||
# markup to display results
|
||||
# MentalExercises (:ExercisesResults:)
|
||||
# default to urrently logged-in user
|
||||
# sparklines for visuals
|
||||
# also implies to record score per session with date
|
||||
|
||||
|
||||
$RecipeInfo['Exercises']['Version'] = '2015-16-08';
|
||||
@@ -282,10 +277,19 @@ SDV($HandleActions['ExercisesCheck'], 'ExercisesCheck');
|
||||
SDV($HandleAuth['ExercisesCheck'],'read');
|
||||
|
||||
function ExercisesCheck($pagename, $auth){
|
||||
global $ScriptUrl, $FarmD, $Author;
|
||||
|
||||
$activityfile = $FarmD."/wiki.d/.exercisesscores";
|
||||
|
||||
$type = $_GET["type"];
|
||||
$sourcepage = $_GET["source"];
|
||||
$answer = $_GET["answer"];
|
||||
$counter = (int) $_GET["counter"];
|
||||
$counter = 0;
|
||||
if ( isset($_GET["counter"]) )
|
||||
$counter = (int) $_GET["counter"];
|
||||
|
||||
$score_lower_threshold = 3;
|
||||
// this could also be a value relative to the top score if there is one
|
||||
|
||||
list($group,$page) = explode(".",$pagename);
|
||||
if ($group == "AllPages"){
|
||||
@@ -373,6 +377,38 @@ function ExercisesCheck($pagename, $auth){
|
||||
$result .= "\n\n%center%[-Generated by [[http://fabien.benetou.fr/MemoryRecalls/ImprovingPIM#PIMBasedExercises|PIM Based Exercises]].-]%%";
|
||||
$renderedresult = MarkupToHTML($pagename, $result);
|
||||
print $renderedresult;
|
||||
if ( ( isset($Author) ) && ( $counter > $score_lower_threshold ) ) {
|
||||
$score = "$counter,$Author,$type,".time()."\n";
|
||||
$write_result = file_put_contents($activityfile,$score, FILE_APPEND | LOCK_EX);
|
||||
if ($write_result < 1)
|
||||
print "There seems to be an error updating the score file, please check that $activityfile has write permission for httpd.";
|
||||
}
|
||||
}
|
||||
|
||||
Markup("exercisesresults", "directives", "/\(:exercisesresults:\)/", ExercisesResults());
|
||||
# markup to display results
|
||||
# default to all participant, not just the currently logged in user
|
||||
# hall of fame could be useful in collaborative learning wikis
|
||||
# consider first sparklines for visuals
|
||||
function ExercisesResults(){
|
||||
global $ScriptUrl, $FarmD, $Author;
|
||||
$activityfile = $FarmD."/wiki.d/.exercisesscores";
|
||||
if (file_exists($activityfile)) {
|
||||
$raw_scores = file_get_contents($activityfile);
|
||||
$allscores = explode("\n",$raw_scores);
|
||||
foreach ($allscores as $score ) {
|
||||
list($counter,$author,$type,$time) = explode(",",$score);
|
||||
if ($Author == $author) $author = "<b>$author</b>";
|
||||
// $Author somehow never gets initialized
|
||||
if ($counter != "")
|
||||
$past_scores .= "<li> $counter done by $author doing $type at $time</li>\n";
|
||||
}
|
||||
} else {
|
||||
$past_scores = "Currently no scores have been recorded. Consider starting an exercise first";
|
||||
// print "Go above the minimum threshold of good answers while being logged in.";
|
||||
// removed for now since the threshold is at 1
|
||||
}
|
||||
return $past_scores;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user