- added simple achievement editor

- added records
This commit is contained in:
marko
2020-11-16 09:32:27 +01:00
parent b610a3b8d6
commit a0ef0bf40c
12 changed files with 924 additions and 91 deletions

View File

@@ -1,4 +1,6 @@
<?php
require_once("lib/record.php");
// Eine Fehler/Warnung/Notiz/Erfolgsmeldung als divBox im String zurückgeben
function htmlRetMessage($anRetMessage){
$retHtmlString = "";
@@ -138,22 +140,29 @@ $html = "";
return $html;
}
function htmlAchievementListForUser($db, $achievementGroups, $userId, $usersAchievmentIds){
function htmlAchievementListForUser($db, $achievementGroups, $userId, $usersAchievmentIds, $noForm=false){
//var_dump($db, $achievementGroups, $userId, $usersAchievmentIds);
$ids=[];
foreach($usersAchievmentIds as $a){
$ids[]=$a['achievementId'];
}
record::setDbConnection($db);
$userData = record::getUserData($userId);
$retHtml = "";
if(!canUserGetAchievementToday( $db, $userId) ){
$retHtml .= "<div>Heute wurde schon ein Achievement erreicht!</div>";
}
$retHtml .= "<div class=\"row\">";
foreach($achievementGroups as $g){
// var_dump($userData);
// $records = record::getGroupsRecords($g->getId(), $userData[0]['gebDatum ']);
// var_dump($userData);
$records = record::getGroupsRecords($g->getId(), record::birthday2ageClass($userData[0]['gebDatum']));
$retHtml .= "<div class=\"col s12 m6 l4 xl3\">";
$retHtml .= "<ul class=\"card\">";
// see, if there is a record for this group
$imgUrl = null;
foreach($g as $a){
foreach($g->achievements as $a){
if($a['imgUrl'] != null){
$imgUrl = $a['imgUrl'];
}
@@ -164,13 +173,16 @@ $retHtml = "";
else{
$retHtml .= "<li style=\"color:gray\">".$a['name'].": ".$a['description'];
//if(isUserAdmin($db, $_SESSION['user']['userId'])){
if(canUserGetAchievementToday( $db, $userId) ){
$retHtml .= "<form action=\".\" method=\"POST\">";
$retHtml .= "<input name=\"action\" value=\"giveUserAnAchievement\" type=\"hidden\">";
$retHtml .= "<input name=\"userId\" value=\"".$userId."\" type=\"hidden\">";
$retHtml .= "<input name=\"achievementId\" value=\"".$a['id']."\" type=\"hidden\">";
$retHtml .= "<input style=\"width:100%\" name=\"submit\" type=\"submit\" value=\"Achievement ".$a['name']." geben\">";
$retHtml .= "</form>";
if(!$noForm){
if( canUserGetAchievementToday( $db, $userId) or isUserAdmin($db, $_SESSION['user']['userId']) ){
$retHtml .= "<form action=\".\" method=\"POST\">";
$retHtml .= "<input name=\"action\" value=\"giveUserAnAchievement\" type=\"hidden\">";
$retHtml .= "<input name=\"redirectLocation\" value=\"./#achievementList-".$userId."\" type=\"hidden\">";
$retHtml .= "<input name=\"userId\" value=\"".$userId."\" type=\"hidden\">";
$retHtml .= "<input name=\"achievementId\" value=\"".$a['id']."\" type=\"hidden\">";
$retHtml .= "<input style=\"width:100%\" name=\"submit\" type=\"submit\" value=\"Achievement ".$a['name']." geben\">";
$retHtml .= "</form>";
}
}
if( $imgUrl != null )
$retHtml .= " <div class=\"card-image\" ><img src=\"".$imgUrl."\"/></div>";
@@ -178,6 +190,13 @@ $retHtml = "";
break;
}
}
// show the current record
if( validateDate($userData[0]['gebDatum'])){
$retHtml.=record::arrayRecord2htmlCard($records[0], $userData[0], $g->getId(), "li");
}
else{
$retHtml.="<div>Rekorde können erst angezeigt werden, wenn das <a href=./setUserData.php>Geburtsdatum korrekt gesetzt</a> wurde!</div>";
}
$retHtml .= "</ul>";
$retHtml .= "</div>";
}
@@ -185,42 +204,61 @@ $retHtml = "";
return $retHtml;
}
function getRecords($db, $groupId){
$query = <<<SQL
SELECT * FROM `machs_records`
WHERE `achievementGroupId` = :groupId;
SQL;
$params = [':groupId'=>['value'=>$groupId, 'data_type'=>PDO::PARAM_INT]];
return dbQuery($db, $query, $params);
}
function setUserDataBox($userId){
$html = "";
$html .= "<form action=\".\" method=\"POST\">";
$html .= "<input name=\"action\" type=\"hidden\" value=\"setBday\" />";
$html .= "<input name=\"userId\" type=\"hidden\" value=\"".$userId."\" />";
$html .= "<label for\"bday\">Geburtstag in der Form JJJJ-MM-TT</label>";
$html .= "<input name=\"bday\" type=\"text\" placeholder=\"JJJJ-MM-TT\"/>";
$html .= "<input type=\"submit\" value=\"Geburtsdatum neu setzen\"/>";
$html .= "</form>";
return $html;
}
function htmlAddAchievementBox(){
$html = "";
$html .= "<form action=\".\" method=\"POST\">";
$html .= "<input name=\"action\" type=\"hidden\" value=\"addAchievement\" />";
$html .= "<input name=\"redirectLocation\" type=\"hidden\" value=\"#endOfUpdateAchievementBoxes\" />";
$html .= "<input name=\"redirectLocation\" type=\"hidden\" value=\"achievementBuilder.php\" />";
$html .= "<input name=\"name\" type=\"text\" placeholder=\"name\"/>";
$html .= "<input name=\"rootId\" type=\"text\" placeholder=\"rootId\"/>";
$html .= "<input name=\"achievementGroupId\" type=\"text\" placeholder=\"achievementGroupId\"/>";
$html .= "<input name=\"level\" type=\"text\" placeholder=\"level\"/>";
$html .= "<input style=\"width:100%;display:block;\" name=\"description\" type=\"textarea\" placeholder=\"mdDescription\"/>";
$html .= "<input name=\"imgUrl\" type=\"text\" placeholder=\"imgUrl\"/>";
$html .= "<input type=\"submit\"/>";
$html .= "</form>";
return $html;
}
function htmlUpdateAchievementBox($achievementId, $name, $description, $rootId, $level){
function htmlUpdateAchievementBox($achievementId, $name, $rootId, $achievementGroupId, $level, $description, $imgUrl){
$html = "";
$html .= "<form action=\".\" method=\"POST\">";
$html .= "<input name=\"action\" type=\"hidden\" value=\"updateAchievement\" />";
$html .= "<input name=\"redirectLocation\" type=\"hidden\" value=\"#addAchievementBox\" />";
$html .= "<input name=\"redirectLocation\" type=\"hidden\" value=\"achievementBuilder.php\" />";
$html .= "<div > achievementId: ".$achievementId;
$html .= "<input name=\"achievementId\" type=\"hidden\" value=\"".$achievementId."\"/>";
$html .= "<div />";
$html .= "<div >";
$html .= "<div/>";
$html .= "<label for=\"name\">name</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"name\" type=\"text\" value=\"".$name."\"/>";
$html .= "<div/>";
$html .= "<div>";
$html .= "<label for=\"description\">description</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"description\" type=\"textarea\" value=\"".$description."\"/>";
$html .= "<div/>";
$html .= "<div>";
$html .= "<label for=\"rootId\">rootId</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"rootId\" type=\"text\" value=\"".$rootId."\"/>";
$html .= "<div/>";
$html .= "<div>";
$html .= "<label for=\"achievementGroupId\">achievementGroupId</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"achievementGroupId\" type=\"text\" value=\"".$achievementGroupId."\"/>";
$html .= "<label for=\"level\">level</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"level\" type=\"text\" value=\"".$level."\"/>";
$html .= "<div/>";
$html .= "<label for=\"description\">description</label>";
$html .= "<input style=\"width:100%;display:block;\" name=\"description\" type=\"textarea\" value=\"".$description."\"/>";
$html .= "<input type=\"submit\"/>";
$html .= "</form>";
return $html;