".ach_render_yubopoints($user['id'])."
".ach_render_facebook()."
|
";
#$_REQUEST['mid'] = 1;
$menu = new AchMenu($_REQUEST['cat']);
$c .= ach_render_menu($menu);
$c .= " |
";
/*for($i=0;$i<15;$i++) {
$c .= ach_render_box_done("Bejeweled");
}*/
$open = $menu->getOpenCat();
if($open != 0) {
$cat = new AchCategory($open,null,$_REQUEST['cult'],$_REQUEST['civ']);
}
else {
$cat = new AchSummary($menu,8);
$c .= ach_render_summary_header();
}
$c .= ach_render_category($cat);
if($open == 0) {
$c .= ach_render_summary_footer($cat);
}
$c .= " |
";
return $c;
}
function ach_render_tiebar($cult = "c_neutral", $civ = "c_neutral",&$cat) {
global $_USER;
$html = "
";
if($cat->isTiedCult() && !$cat->isTiedCiv() && $cult == "c_neutral") { // neutral / xx
#While being of neutral allegiance with the higher powers
$html .= get_translation('ach_allegiance_neutral_cult',$_USER->getLang(),array("".get_translation('ach_c_neutral',$_USER->getLang()).""));
}
elseif($cat->isTiedCiv() && !$cat->isTiedCult() && $civ == "c_neutral") { // xx / neutral
#While being of neutral allegiance with the homin civilizations
$html .= get_translation('ach_allegiance_neutral_civ',$_USER->getLang(),array("".get_translation('ach_c_neutral',$_USER->getLang()).""));
}
elseif($cat->isTiedCiv() && $cat->isTiedCult() && $cult == "c_neutral" && $civ == "c_neutral") { // neutral / neutral
#While being of neutral allegiance
$html .= get_translation('ach_allegiance_neutral',$_USER->getLang(),array("".get_translation('ach_c_neutral',$_USER->getLang()).""));
}
else { //other
#While being aligned with the
$html .= get_translation('ach_allegiance_start',$_USER->getLang());
if($cat->isTiedCult() && $cult != "c_neutral") {
#CULT
$html .= "".ach_translate_cc($cult)."";
if($cat->isTiedCiv() && $civ != "c_neutral") {
#and the CIV
$html .= get_translation('ach_allegiance_and',$_USER->getLang())." ".ach_translate_cc($civ)."";
}
}
elseif($cat->isTiedCiv() && $civ != "c_neutral") {
#CIV
$html .= "".ach_translate_cc($civ)."";
}
}
#, accomplish the following achievements:
$html .= get_translation('ach_allegiance_end',$_USER->getLang())."
";
return $html;
}
function ach_render_yubopoints() {
global $DBc,$_USER,$_CONF;
$res = $DBc->sqlQuery("SELECT sum(at_value) as anz FROM ach_task,ach_player_task WHERE at_id=apt_task AND apt_player='".$_USER->getID()."'");
$html = "".$_USER->getName()." ".max(0,$res[0]['anz'])." ";
return $html;
}
function ach_render_facebook() {
return "
|
connected |
|
";
}
function ach_render_twitter() {
}
function ach_render_menu(&$menu,$sub = 0) {
$html = "";
return $html.ach_render_mnode($menu,$sub);
}
function ach_render_mnode(&$menu,$sub) {
global $_CONF;
$html = "";
$iter = $menu->getIterator();
while($iter->hasNext()) {
$curr = $iter->getNext();
if($curr->inDev()) {
continue;
}
$html .= "";
if($curr->hasOpenCat() != 0) {
$html .= "".ach_render_mnode($curr,($sub+4))."
";
}
}
return $html;
}
function ach_render_category(&$cat) {
$html = "";
if($cat->isHeroic() && !$cat->hasDone()) {
return "You haven't earned any Heroic Deeds so far.";
}
if($cat->isTiedCult() || $cat->isTiedCiv()) {
$html .= ach_render_tiebar($cat->getCurrentCult(),$cat->getCurrentCiv(),$cat);
}
$iter = $cat->getDone();
while($iter->hasNext()) {
$curr = $iter->getNext();
if($curr->inDev() || !$curr->parentDone()) {
continue;
}
$html .= ach_render_achievement_done($curr);
}
if($cat->isHeroic()) {
return $html;
}
$iter = $cat->getOpen();
while($iter->hasNext()) {
$curr = $iter->getNext();
if($curr->inDev() || !$curr->parentDone()) {
continue;
}
$html .= ach_render_achievement_open($curr);
}
return $html;
}
function ach_render_achievement_done(&$ach) {
global $_CONF;
$html = '
|
|
|
|
|
'.$ach->getName().' |
';
if(!$ach->isHeroic()) {
$html .= $ach->getValueDone().' ';
}
$html .= ' |
';
$html .= ach_render_task_done($ach);
$html .= ' |
|
|
|
|
|
';
return $html;
}
function ach_render_achievement_open(&$ach) {
global $_CONF;
$html = '
|
|
|
|
|
'.$ach->getName().' |
'.$ach->getValueOpen().'
|
';
$html .= ach_render_task_open($ach);
$html .= ' |
|
|
|
|
|
';
return $html;
}
function ach_render_task_open(&$ach) {
$html = "";
$task_list = $ach->getOpen();
$task = $task_list->getNext();
if($task->inDev()) {
return $html;
}
if($task->getName() != null) {
$html .= "".$task->getDisplayName()."";
}
if($task->objDrawable()) {
$html .= ach_render_obj_list($task->getIterator());
}
return $html;
}
function ach_render_task_done(&$ach) {
global $_CONF;
$html = "";
$task_list = $ach->getDone();
while($task_list->hasNext()) {
$task = $task_list->getNext();
if($task->inDev()) {
continue;
}
$html .= "".$task->getDisplayName()." ( ".date('d.m.Y',$task->getDone())." )
".$task->getValue()."
";
}
return $html;
}
function ach_render_obj_list($obj) {
$html = "";
$i = 0;
$skip = false;
while($obj->hasNext()) {
$elem = $obj->getNext();
if(($i%2) == 0) {
$html .= "";
}
switch($elem->getDisplay()) {
case "meta":
$html .= "".ach_render_obj_meta($elem)." | ";
break;
case "value":
if(($i%2) == 1) {
$html .= "
";
}
$html .= "".ach_render_obj_value($elem)." | ";
$i++;
break;
case "simple":
$html .= "".ach_render_obj_simple($elem)." | ";
break;
case "hidden":
default:
//do nothing
$skip = true;
break;
}
if(($i%2) == 1) {
$html .= "
";
}
if(!$skip) {
$i++;
}
$skip = false;
}
if(($i%2) == 1) {
$html .= "";
}
$html .= "
";
return $html;
}
function ach_render_obj_simple(&$obj) {
global $_CONF;
$html = "";
if($obj->isdone()) {
$html .= " ";
}
else {
$html .= " ";
}
$html .= $obj->getDisplayName()."";
return $html;
}
function ach_render_obj_meta(&$obj) {
global $_CONF;
if($obj->isdone()) {
$col = "#71BE02";
$grey = "";
}
else {
$col = "#999999";
$grey = "grey/";
}
return "
getMetaImage()."' width='20px' /> |
".$obj->getDisplayName()." |
";
}
function ach_render_obj_value(&$obj) {
$html = "";
if($obj->getName() != null) {
if($obj->isdone()) {
$col = "#71BE02";
}
else {
$col = "#999999";
}
$html .= "".$obj->getDisplayName()."
";
}
$html .= ach_render_progressbar($obj->getProgress(),$obj->getValue(),350);
return $html;
}
function ach_render_progressbar($prog,$val,$width) {
$hero = false;
if($val == false) {
$hero = true;
$val = $prog;
}
$val = max(1,$val);
$left = floor($width*(100*($prog/$val))/100);
$html = "
";
if($hero == false) {
if(($prog/$val) > 0.5) {
$html .= " ".nf($prog)." / ".nf($val)." ";
}
$html .= " |
";
if(($prog/$val) <= 0.5) {
$html .= " ".nf($prog)." / ".nf($val)." ";
}
}
else {
$html .= " ".nf($prog)." ";
}
$html .= " |
";
return $html;
}
function ach_render_summary_header() {
global $_USER;
return "".get_translation('ach_summary_header',$_USER->getLang())."
";
}
function ach_render_summary_footer(&$summary) {
global $_USER;
$nodes = $summary->getSummary();
$html = "";
$sum_done = 0;
$sum_total = 0;
$i = 0;
foreach($nodes as $elem) {
if(($i%3) == 0) {
$html .= "";
}
$html .= "".$elem[0]." ";
if($elem[3] == 0) {
$html .= ach_render_progressbar($elem[1],$elem[2],200);
}
else {
$html .= ach_render_progressbar($elem[1],false,200);
}
$html .= " | ";
$sum_done += $elem[1];
$sum_total += $elem[2];
if(($i%3) == 2) {
$html .= "
";
}
$i++;
}
if(($i%3) == 2) {
$html .= "";
}
$html = "
".get_translation('ach_summary_stats',$_USER->getLang())."
".get_translation('ach_summary_stats_total',$_USER->getLang())." ".ach_render_progressbar($sum_done,$sum_total,450)."
|
".$html."
";
return $html;
}
?>