khanat-opennel-code/code/web/app/app_achievements/class/AchPerk_class.php
SirCotare 139be8d7dd #1470 config options added; some cleanup
--HG--
branch : gsoc2012-achievements
2012-06-21 22:03:36 +02:00

74 lines
No EOL
1.7 KiB
PHP

<?php
class AchPerk extends RenderNodeIterator {
private $id;
private $parent;
private $achievement;
private $value;
private $name;
private $done;
private $dev;
function AchPerk(&$data,&$parent) {
global $DBc,$_USER;
$this->id = $data['ap_id'];
$this->parent = $parent;
$this->achievement = $data['ap_achievement'];
$this->value = $data['ap_value'];
$this->name = $data['apl_name'];
$this->done = $data['app_date'];
$this->dev = $data['ap_dev'];
$res = $DBc->sqlQuery("SELECT * FROM ach_objective LEFT JOIN (ach_objective_lang) ON (aol_lang='".$_USER->getLang()."' AND aol_objective=ao_id) LEFT JOIN (ach_player_objective) ON (apo_objective=ao_id AND apo_player='".$_USER->getID()."') LEFT JOIN (ach_achievement) ON (aa_id=ao_metalink) WHERE ao_perk='".$this->id."'");
$sz = sizeof($res);
for($i=0;$i<$sz;$i++) {
$this->nodes[] = $this->makeChild($res[$i]);
}
}
private function makeChild(&$a) {
return new AchObjective($a);
}
function getID() {
return $this->id;
}
function getParent() {
return $this->parent;
}
function getAchievement() {
return $this->achievement;
}
function getValue() {
return $this->value;
}
function getName() {
return $this->parent->getTemplate(explode(";",$this->name));
}
function objDrawable() {
foreach($this->nodes as $elem) {
if($elem->getDisplay() != "hidden") {
return true;
}
}
return false;
}
function isDone() {
return ($this->done > 0);
}
function getDone() {
return $this->done;
}
function inDev() {
return ($this->dev == 1);
}
}
?>