getHashRateTasks($type) as $task){ $meta = self::find($task['task_id']); if ($meta) { array_push($metaList, $meta); } } return $metaList; } public static function getListByType($type){ $mateList = array(); foreach (self::getMetaList() as $mate){ if ($mate['task_type'] == $type){ array_push($mateList,$mate); } } return $mateList; } public static function getAvailableTasks($type,$excludeMetas){ $metas = array(); foreach (self::getListByType($type) as $meta) { if (!array_find($excludeMetas, function($val) use($meta) { return $val['task_id'] == $meta['id']; })) { array_push($metas, $meta); } } return $metas; } public static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('AchievementsPower@AchievementsPower.php'); } return self::$metaList; } protected static $metaList; }