public static function valid_template_ids_by_page($page_id) { $templates = Model_Page_Block_Template::template_ids(); $templates_through = Model_Page_Block_Template::template_ids_with_through(); $valid_templates = Model_Page_Block_Template::template_ids_with_through($page_id); $result = array(); foreach ($templates as $template) { $has_through = in_array($template, $templates_through); $is_valid = in_array($template, $valid_templates); if (!$has_through or $is_valid) { $result[] = $template; } } return $result; }