determine seldom Achievements (Issue #57)
This commit is contained in:
parent
4d831ced8f
commit
c47eb1e314
6 changed files with 58 additions and 17 deletions
|
|
@ -94,7 +94,8 @@
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public static $misc = array(
|
public static $misc = array(
|
||||||
'ranking_range' => 2
|
'ranking_range' => 2,
|
||||||
|
'seldom_achievements_range' => 3
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,12 @@
|
||||||
// Get Character
|
// Get Character
|
||||||
$character = SeminaryRoleController::$character;
|
$character = SeminaryRoleController::$character;
|
||||||
|
|
||||||
|
// Get seldom Achievements
|
||||||
|
$seldomAchievements = $this->Achievements->getSeldomAchievements($seminary['id'], \nre\configs\AppConfig::$misc['seldom_achievements_range']);
|
||||||
|
foreach($seldomAchievements as &$achievement) {
|
||||||
|
$achievement['achieved'] = $this->Achievements->hasCharacterAchievedAchievement($achievement['id'], $character['id']);
|
||||||
|
}
|
||||||
|
|
||||||
// Get achieved Achievements
|
// Get achieved Achievements
|
||||||
$achievedAchievements = $this->Achievements->getAchievedAchievementsForCharacter($character['id']);
|
$achievedAchievements = $this->Achievements->getAchievedAchievementsForCharacter($character['id']);
|
||||||
|
|
||||||
|
|
@ -152,6 +158,7 @@
|
||||||
// Pass data to view
|
// Pass data to view
|
||||||
$this->set('seminary', $seminary);
|
$this->set('seminary', $seminary);
|
||||||
$this->set('character', $character);
|
$this->set('character', $character);
|
||||||
|
$this->set('seldomAchievements', $seldomAchievements);
|
||||||
$this->set('achievedAchievements', $achievedAchievements);
|
$this->set('achievedAchievements', $achievedAchievements);
|
||||||
$this->set('unachievedAchievements', $unachievedAchievements);
|
$this->set('unachievedAchievements', $unachievedAchievements);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,8 +1,8 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: The Legend of Z\n"
|
"Project-Id-Version: The Legend of Z\n"
|
||||||
"POT-Creation-Date: 2014-04-17 01:08+0100\n"
|
"POT-Creation-Date: 2014-04-17 01:27+0100\n"
|
||||||
"PO-Revision-Date: 2014-04-17 01:08+0100\n"
|
"PO-Revision-Date: 2014-04-17 01:27+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: de_DE\n"
|
"Language: de_DE\n"
|
||||||
|
|
@ -102,6 +102,15 @@ msgstr "Fehler"
|
||||||
msgid "Achievements"
|
msgid "Achievements"
|
||||||
msgstr "Errungenschaften"
|
msgstr "Errungenschaften"
|
||||||
|
|
||||||
|
#: views/html/achievements/index.tpl:11
|
||||||
|
msgid "Seldom Achievements"
|
||||||
|
msgstr "Die seltensten Errungenschaften"
|
||||||
|
|
||||||
|
#: views/html/achievements/index.tpl:25
|
||||||
|
#, php-format
|
||||||
|
msgid "Achievement has been achieved only %d times"
|
||||||
|
msgstr "wurde erst %d mal gefunden"
|
||||||
|
|
||||||
#: views/html/achievements/index.tpl:53
|
#: views/html/achievements/index.tpl:53
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Own progress: %d %%"
|
msgid "Own progress: %d %%"
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,30 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get seldom Achievements.
|
||||||
|
*
|
||||||
|
* @param int $seminaryId ID of Seminary
|
||||||
|
* @param int $count Number of Achievements to retrieve
|
||||||
|
* @return array List of seldom Achievements
|
||||||
|
*/
|
||||||
|
public function getSeldomAchievements($seminaryId, $count)
|
||||||
|
{
|
||||||
|
return $this->db->query(
|
||||||
|
'SELECT id, title, url, description, progress, hidden, unachieved_achievementsmedia_id, achieved_achievementsmedia_id, count(DISTINCT character_id) AS c '.
|
||||||
|
'FROM achievements_characters '.
|
||||||
|
'LEFT JOIN achievements ON achievements.id = achievements_characters.achievement_id '.
|
||||||
|
'WHERE achievements.seminary_id = ? AND only_once = 0 '.
|
||||||
|
'GROUP BY achievement_id '.
|
||||||
|
'ORDER BY count(DISTINCT character_id) ASC '.
|
||||||
|
'LIMIT ?',
|
||||||
|
'ii',
|
||||||
|
$seminaryId,
|
||||||
|
$count
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all achieved Achievements for a Character.
|
* Get all achieved Achievements for a Character.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -8,23 +8,23 @@
|
||||||
|
|
||||||
<div class="cf">
|
<div class="cf">
|
||||||
<section class="rare">
|
<section class="rare">
|
||||||
<h3>Die seltensten Errungenschaften</h3>
|
<h3><?=_('Seldom Achievements')?></h3>
|
||||||
<ol>
|
<ol>
|
||||||
|
<?php foreach($seldomAchievements as &$achievement) : ?>
|
||||||
<li class="cf">
|
<li class="cf">
|
||||||
<img src="http://legende-von-zyren.de/img/achieve/36b.jpg" />
|
<?php if($achievement['achieved'] !== false) : ?>
|
||||||
<p class="fwb">Des Königs neue Kleider</p>
|
<?php if(!is_null($achievement['achieved_achievementsmedia_id'])) : ?>
|
||||||
<p><small>wurde erst 5 mal gefunden</small></p>
|
<img src="<?=$linker->link(array('media','achievement',$seminary['url'],$achievement['url']))?>" />
|
||||||
</li>
|
<?php endif ?>
|
||||||
<li class="cf">
|
<?php else : ?>
|
||||||
<img src="http://legende-von-zyren.de/img/achieve/1b.jpg" />
|
<?php if(!is_null($achievement['unachieved_achievementsmedia_id'])) : ?>
|
||||||
<p class="fwb">Sein oder Sterben</p>
|
<img src="<?=$linker->link(array('media','achievement',$seminary['url'],$achievement['url']))?>" />
|
||||||
<p><small>wurde erst 7 mal gefunden</small></p>
|
<?php endif ?>
|
||||||
</li>
|
<?php endif ?>
|
||||||
<li class="cf">
|
<p class="fwb"><?=$achievement['title']?></p>
|
||||||
<img src="http://legende-von-zyren.de/img/achieve/35b.jpg" />
|
<p><small><?=sprintf(_('Achievement has been achieved only %d times'), $achievement['c'])?></small></p>
|
||||||
<p class="fwb">Hungersnot? Ohne mich.</p>
|
|
||||||
<p><small>wurde erst 9 mal gefunden</small></p>
|
|
||||||
</li>
|
</li>
|
||||||
|
<?php endforeach ?>
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue