public static function adn_contributor_filter() { if (!is_admin()) { return; } if (!\Podlove\Modules\Base::is_module_settings_page()) { return; } if (!\Podlove\Modules\Base::is_active('app_dot_net')) { return; } $adn = \Podlove\Modules\AppDotNet\App_Dot_Net::instance(); $roles = \Podlove\Modules\Contributors\Model\ContributorRole::all(); $groups = \Podlove\Modules\Contributors\Model\ContributorGroup::all(); $selected_role = $adn->get_module_option('adn_contributor_filter_role'); $selected_group = $adn->get_module_option('adn_contributor_filter_group'); if (count($roles) > 0 || count($groups) > 0) { $adn->register_option('contributor_filter', 'callback', array('label' => __('Contributor Filter', 'podlove'), 'description' => __('<br />Filter <code title="' . __('The contributors of the episode', 'podlove') . '">{episodeContributors}</code> by Group and/or role', 'podlove'), 'callback' => function () use($selected_role, $selected_group, $roles, $groups) { if (count($groups) > 0) { ?> <select class="chosen" id="podlove_module_app_dot_net_adn_contributor_filter_group" name="podlove_module_app_dot_net[adn_contributor_filter_group]"> <option value=""> </option> <?php foreach ($groups as $group) { echo "<option value='" . $group->id . "' " . ($selected_group == $group->id ? "selected" : "") . ">" . $group->title . "</option>"; } ?> </select> Group <?php } if (count($roles) > 0) { ?> <select class="chosen" id="podlove_module_app_dot_net_adn_contributor_filter_role" name="podlove_module_app_dot_net[adn_contributor_filter_role]"> <option value=""> </option> <?php foreach ($roles as $role) { echo "<option value='" . $role->id . "' " . ($selected_role == $role->id ? "selected" : "") . ">" . $role->title . "</option>"; } ?> </select> Role <?php } })); } }