Пример #1
0
function achievementinfo2($row)
{
    if ($row) {
        $achievement = $row;
        // Сторона
        $achievement['faction'] = 2 - $achievement['faction'];
        allachievementsinfo2($achievement);
        return $achievement;
    }
}
Пример #2
0
    $rows = $DB->select('
			SELECT a.id, a.faction, a.name_loc?d AS name, a.description_loc?d AS description, a.category, a.points, s.iconname, z.areatableID
			FROM ?_spellicons s, ?_achievementcriteria c, ?_achievement a
			LEFT JOIN (?_zones z) ON a.map != -1 AND a.map = z.mapID
			WHERE
				a.icon = s.id
				AND a.id = c.refAchievement
				AND c.type IN (?a)
				AND c.value1 = ?d
			GROUP BY a.id
			ORDER BY a.name_loc?d
		', $_SESSION['locale'], $_SESSION['locale'], array(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST), $quest['entry'], $_SESSION['locale']);
    if ($rows) {
        $quest['criteria_of'] = array();
        foreach ($rows as $row) {
            allachievementsinfo2($row['id']);
            $quest['criteria_of'][] = achievementinfo2($row);
        }
    }
    // Награды и благодарности, присылаемые почтой
    if ($quest['RewMailTemplateId']) {
        if (!($quest['mailrewards'] = loot('mail_loot_template', $quest['RewMailTemplateId']))) {
            unset($quest['mailrewards']);
        }
    }
    if ($quest['RewMailDelaySecs']) {
        $quest['maildelay'] = sec_to_time($quest['RewMailDelaySecs']);
    }
    save_cache(QUEST_PAGE, $cache_key, $quest);
}
global $page;