public static function page()
 {
     if (apply_filters('podlove_dashboard_page', false) !== false) {
         return;
     }
     \Podlove\load_template('settings/dashboard/dashboard');
 }
Ejemplo n.º 2
0
 public function embed_player()
 {
     if (!filter_input(INPUT_GET, 'podloveEmbed')) {
         return;
     }
     if (!is_single()) {
         return;
     }
     if (!($episode = Episode::find_or_create_by_post_id(get_the_ID()))) {
         return;
     }
     $css_path = plugins_url('css', __FILE__);
     $js_path = plugins_url('js', __FILE__);
     $player_config = (new PlayerConfig($episode))->get();
     \Podlove\load_template('lib/modules/podlove_web_player/player_v3/views/embed_player', compact('episode', 'css_path', 'js_path', 'player_config'));
     exit;
 }
 public static function content()
 {
     global $wpdb;
     $sql = "\n\t\tSELECT\n\t\t\tp.post_status,\n\t\t\tmf.episode_id,\n\t\t\tmf.episode_asset_id,\n\t\t\tmf.size,\n\t\t\tmf.id media_file_id\n\t\tFROM\n\t\t\t`" . Model\MediaFile::table_name() . "` mf\n\t\t\tJOIN `" . Model\Episode::table_name() . "` e ON e.id = mf.`episode_id`\n\t\t\tJOIN `" . $wpdb->posts . "` p ON e.`post_id` = p.`ID`\n\t\tWHERE\n\t\t\tp.`post_type` = 'podcast'\n\t\t\tAND p.post_status in ('private', 'draft', 'publish', 'pending', 'future')\n\t\t";
     $rows = $wpdb->get_results($sql, ARRAY_A);
     $media_files = [];
     foreach ($rows as $row) {
         if (!isset($media_files[$row['episode_id']])) {
             $media_files[$row['episode_id']] = ['post_status' => $row["post_status"]];
         }
         $media_files[$row['episode_id']][$row['episode_asset_id']] = ['size' => $row['size'], 'media_file_id' => $row['media_file_id']];
     }
     $podcast = Model\Podcast::get();
     $episodes = $podcast->episodes();
     $assets = Model\EpisodeAsset::all();
     $header = [__('Episode', 'podlove')];
     foreach ($assets as $asset) {
         $header[] = $asset->title;
     }
     $header[] = __('Status', 'podlove');
     \Podlove\load_template('settings/dashboard/file_validation', ['episodes' => $episodes, 'assets' => $assets, 'media_files' => $media_files, 'header' => $header]);
 }
Ejemplo n.º 4
0
 public static function content()
 {
     \Podlove\load_template('settings/dashboard/about');
 }
 public static function content()
 {
     $episode_edit_url = site_url('/wp-admin/edit.php?post_type=podcast');
     $statistics = self::prepare_statistics();
     \Podlove\load_template('settings/dashboard/statistics', ['episode_edit_url' => $episode_edit_url, 'statistics' => $statistics]);
 }
Ejemplo n.º 6
0
 public static function insert_script()
 {
     \Podlove\load_template('lib/modules/flattr/views/flattr_script');
 }
Ejemplo n.º 7
0
 public static function content()
 {
     $feeds = ['podlove' => ['link' => 'http://podlove.org/', 'url' => 'http://podlove.org/feed/', 'title' => 'Podlove News', 'items' => 5, 'show_summary' => 1, 'show_author' => 0, 'show_date' => 1]];
     \Podlove\load_template('settings/dashboard/news', ['feeds' => $feeds]);
 }
 public static function contributors_form_table($current_contributions = array(), $form_base_name = 'episode_contributor')
 {
     $contributors_roles = \Podlove\Modules\Contributors\Model\ContributorRole::selectOptions();
     $contributors_groups = \Podlove\Modules\Contributors\Model\ContributorGroup::selectOptions();
     $cjson = array();
     // only valid contributions
     $current_contributions = array_filter($current_contributions, function ($c) {
         return $c->contributor_id > 0;
     });
     $has_roles = count($contributors_roles) > 0;
     $has_groups = count($contributors_groups) > 0;
     $can_be_commented = $form_base_name == 'podlove_contributor_defaults[contributor]' ? 0 : 1;
     foreach (\Podlove\Modules\Contributors\Model\Contributor::all() as $contributor) {
         $show_contributions = \Podlove\Modules\Contributors\Model\ShowContribution::all("WHERE `contributor_id` = " . $contributor->id);
         if (empty($show_contributions)) {
             $cjson[$contributor->id] = array('id' => $contributor->id, 'slug' => $contributor->slug, 'role' => '', 'group' => '', 'realname' => $contributor->realname, 'avatar' => $contributor->avatar()->setWidth(45)->image());
         } else {
             foreach ($show_contributions as $show_contribution) {
                 $role_data = \Podlove\Modules\Contributors\Model\ContributorRole::find_one_by_id($show_contribution->role_id);
                 $role_data == "" ? $role = '' : ($role = $role_data->id);
                 $group_data = \Podlove\Modules\Contributors\Model\ContributorGroup::find_one_by_id($show_contribution->group_id);
                 $group_data == "" ? $group = '' : ($group = $group_data->id);
                 $cjson[$contributor->id] = array('id' => $contributor->id, 'slug' => $contributor->slug, 'role' => $role, 'group' => $group, 'realname' => $contributor->realname, 'avatar' => $contributor->avatar()->setWidth(45)->image());
             }
         }
     }
     // override contributor roles and groups with scoped roles
     foreach ($current_contributions as $contribution_key => $current_contribution) {
         if ($role = $current_contribution->getRole()) {
             $cjson[$current_contribution->contributor_id]['role'] = $role->slug;
         }
         if ($group = $current_contribution->getGroup()) {
             $cjson[$current_contribution->contributor_id]['group'] = $group->slug;
         }
     }
     $contributors = \Podlove\Modules\Contributors\Model\Contributor::all();
     $existing_contributions = array_filter(array_map(function ($c) {
         // Set default role
         $role_data = \Podlove\Modules\Contributors\Model\ContributorRole::find_by_id($c->role_id);
         if (isset($role_data)) {
             $role = $role_data->slug;
         } else {
             if (empty($c->role)) {
                 $role = '';
             } else {
                 $role = $c->role->slug;
             }
         }
         // Set default group
         $group_data = \Podlove\Modules\Contributors\Model\ContributorGroup::find_by_id($c->group_id);
         if (isset($group_data)) {
             $group = $group_data->slug;
         } else {
             if (empty($c->group)) {
                 $group = '';
             } else {
                 $group = $c->group->slug;
             }
         }
         if (is_object(\Podlove\Modules\Contributors\Model\Contributor::find_by_id($c->contributor_id))) {
             return array('id' => $c->contributor_id, 'role' => $role, 'group' => $group, 'comment' => $c->comment);
         }
         return '';
     }, $current_contributions));
     \Podlove\load_template('lib/modules/contributors/views/form_table', compact('has_groups', 'has_roles', 'can_be_commented', 'form_base_name', 'existing_contributions', 'cjson', 'contributors', 'contributors_groups', 'contributors_roles'));
 }