- 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

@@ -246,6 +246,7 @@ SQL;
$params = [':userId'=>['value'=>$userId, 'data_type'=>PDO::PARAM_INT], 'achievementId'=>['value'=>$achievementId, 'data_type'=>PDO::PARAM_INT]];
dbQuery($db, $query, $params);
sendEmail("cwsvjudo@arcor.de", "kwT", "User ".$userId." got achievement ".$achievementId);
//var_dump($query, $params);
return;
}
@@ -281,41 +282,126 @@ SQL;
return dbQuery($db, $query);
}
function addAchievement($db, $name, $description){
function addAchievement($db, $name, $rootId, $achievementGroupId, $level, $description, $imgUrl){
if($rootId=="")
$rootId=null;
if($imgUrl=="")
$imgUrl=null;
$query = <<<SQL
INSERT INTO `cwsvjudo`.`achievements` (name, description)
VALUES (:name, :description);
INSERT INTO `cwsvjudo`.`achievements` (name, rootId, achievementGroupId, level, description, imgUrl)
VALUES (:name, :rootId, :achievementGroupId, :level, :description, :imgUrl);
SQL;
$params=[
':name' => ['value'=>$name, 'data_type'=>PDO::PARAM_STR],
':rootId' => ['value'=>$rootId, 'data_type'=>PDO::PARAM_INT],
':achievementGroupId' => ['value'=>$achievementGroupId, 'data_type'=>PDO::PARAM_INT],
':level' => ['value'=>$level, 'data_type'=>PDO::PARAM_INT],
':description' => ['value'=>$description, 'data_type'=>PDO::PARAM_STR],
':imgUrl' => ['value'=>$imgUrl, 'data_type'=>PDO::PARAM_STR],
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
return;
}
function updateAchievement($db, $achievementId, $name, $description, $rootId, $level){
function addAchievementGroup($db, $name, $unlockingAchievementId, $imgUrl){
if($unlockingAchievementId=="")
$unlockingAchievementId=null;
if($imgUrl=="")
$imgUrl=null;
$query = <<<SQL
INSERT INTO `cwsvjudo`.`machs_achievementGroups` (name, unlockingAchievementId, imgUrl)
VALUES (:name, :unlockingAchievementId, :imgUrl);
SQL;
$params=[
':name' => ['value'=>$name, 'data_type'=>PDO::PARAM_STR],
':unlockingAchievementId' => ['value'=>$unlockingAchievementId, 'data_type'=>PDO::PARAM_INT],
':imgUrl' => ['value'=>$imgUrl, 'data_type'=>PDO::PARAM_STR],
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
return;
}
function updateAchievement($db, $achievementId, $name, $rootId, $achievementGroupId, $level, $description, $imgUrl){
if($rootId=="")
$rootId=null;
if($imgUrl=="")
$imgUrl=null;
$query = <<<SQL
UPDATE `cwsvjudo`.`achievements`
SET name=:name, description=:description, rootId=:rootId, level=:level
SET name=:name, rootId=:rootId, achievementGroupId=:achievementGroupId, level=:level, description=:description, imgUrl:=imgUrl
WHERE `id`=:achievementId;
SQL;
$params=[
':name' => ['value'=>$name, 'data_type'=>PDO::PARAM_STR],
':description' => ['value'=>$description, 'data_type'=>PDO::PARAM_STR],
':achievementGroupId' => ['value'=>$achievementGroupId, 'data_type'=>PDO::PARAM_INT],
':rootId' => ['value'=>$rootId, 'data_type'=>PDO::PARAM_INT],
':level' => ['value'=>$level, 'data_type'=>PDO::PARAM_INT],
':description' => ['value'=>$description, 'data_type'=>PDO::PARAM_STR],
':imgUrl' => ['value'=>$imgUrl, 'data_type'=>PDO::PARAM_STR],
':achievementId' => ['value'=>$achievementId, 'data_type'=>PDO::PARAM_INT],
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
return;
}
function updateAchievementGroup($db, $achievementGroupId, $name, $unlockingAchievementId, $imgUrl){
if($unlockingAchievementId=="")
$unlockingAchievementId=null;
if($imgUrl=="")
$imgUrl=null;
$query = <<<SQL
UPDATE `cwsvjudo`.`machs_achievementGroups`
SET name=:name, rootId=:rootId, achievementGroupId=:achievementGroupId, level=:level, description=:description, imgUrl:=imgUrl
WHERE `id`=:achievementGroupId;
SQL;
$params=[
':achievementGroupId' => ['value'=>$achievementGroupId, 'data_type'=>PDO::PARAM_INT],
':name' => ['value'=>$name, 'data_type'=>PDO::PARAM_STR],
':unlockingAchievementId' => ['value'=>$unlockingAchievementId, 'data_type'=>PDO::PARAM_INT],
':imgUrl' => ['value'=>$imgUrl, 'data_type'=>PDO::PARAM_STR],
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
return;
}
function setBday($db, $userId, $bday){
$query = <<<SQL
UPDATE `cwsvjudo`.`wkParticipo_Users`
SET gebDatum=:bday
WHERE `id`=:userId;
SQL;
$params=[
':bday' => ['value'=>$bday, 'data_type'=>PDO::PARAM_STR],
':userId' => ['value'=>$userId, 'data_type'=>PDO::PARAM_INT]
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
return;
}
function setRecord($db, $userId, $achievementGroupId, $value){
$u = getUserData($db, $userId);
$query = <<<SQL
INSERT `cwsvjudo`.`machs_records`
SET achievementGroupId=:achievementGroupId, ageClass=:ageClass, userId=:userId, value=:value
SQL;
$params=[
':achievementGroupId' => ['value'=>$achievementGroupId, 'data_type'=>PDO::PARAM_INT],
':ageClass' => ['value'=>record::birthday2ageClass($u['gebDatum']), 'data_type'=>PDO::PARAM_INT],
':userId' => ['value'=>$userId, 'data_type'=>PDO::PARAM_INT],
':value' => ['value'=>$value, 'data_type'=>PDO::PARAM_INT],
];
dbQuery($db, $query, $params, ['dontFetch'=>true]);
//var_dump($userId, $achievementGroupId, $value);
//var_dump($query, $params);
return;
}
function canUserGetAchievementToday($db, $userId){
$achievements = getUsersAchievements($db, $userId);
foreach($achievements as $a){
if( date('Ymd') == date('Ymd', strtotime($a['timestamp'])) )
if( date('Ymd') == date('Ymd', strtotime($a['timestamp'])) ){
return false;
}
}
return true;
}