function achievementinfo2($row) { if ($row) { $achievement = $row; // Сторона $achievement['faction'] = 2 - $achievement['faction']; allachievementsinfo2($achievement); return $achievement; } }
$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;