/** * How many times this Achievement has been unlocked? * * @since 2.0 * @param int $achievement_id Achievement ID * @return int */ function dpa_get_achievement_unlocked_count($achievement_id = 0) { if (!$achievement_id) { $achievement_id = dpa_get_achievement_id(); } $achievement_meta = dpa_get_achievements_meta(); if (isset($achievement_meta[$achievement_id]) && $achievement_meta[$achievement_id]['no_of_unlocks']) { return apply_filters('dpa_get_achievement_unlocked_count', (int) $achievement_meta[$achievement_id]['no_of_unlocks']); } else { return apply_filters('dpa_get_achievement_unlocked_count', 0); } }
/** * When someone unlocks an Achievement, create/update the relevant metas. * * @param int $achievement_id * @param int $user_id * @since 2.0 */ function dpa_achievement_unlocked_update_meta($achievement_id, $user_id) { $meta = dpa_get_achievements_meta(); $meta[$achievement_id]['no_of_unlocks'] += apply_filters('dpa_achievement_unlocked_update_meta', 1); update_site_option('achievements_meta', $meta); nxt_cache_delete('dpa_achievements_meta', 'dpa'); dpa_delete_highscore_cache(); }