コード例 #1
0
 /**
  * Check permission level for an account.
  *
  * @return array List of permission issues.
  */
 protected function check_permissions_level()
 {
     $permission_issues = array();
     $video_id = false;
     // Start enumerating permissions that we'll need to ensure the account is good.
     $cms_api = new BC_CMS_API();
     // Create a video
     $video_creation = $cms_api->video_add(__('Brightcove WordPress plugin test video', 'brightcove'));
     if (!$video_creation || is_wp_error($video_creation)) {
         $permission_issues[] = esc_html__('create videos', 'brightcove');
     } else {
         $video_id = $video_creation['id'];
         // Update a video
         $renamed_title = __('Brightcove WordPress plugin test video renamed', 'brightcove');
         $video_renamed = $cms_api->video_update($video_id, array('name' => $renamed_title));
         if (!$video_renamed || $renamed_title !== $video_renamed['name']) {
             $permission_issues[] = esc_html__('modify videos', 'brightcove');
         }
     }
     $playlist = $cms_api->playlist_add(__('Brightcove WordPress plugin test playlist', 'brightcove'));
     if (!$playlist || !is_array($playlist) || !isset($playlist['id'])) {
         $permission_issues[] = esc_html__('create playlists', 'brightcove');
     } else {
         // For use through other Playlist test API calls.
         $playlist_id = $playlist['id'];
         $update_data = array('video_ids' => array($video_id), 'type' => 'EXPLICIT');
         $updated_playlist = $cms_api->playlist_update($playlist_id, $update_data);
         if (!$updated_playlist || !is_array($updated_playlist) || !isset($updated_playlist['id'])) {
             $permission_issues[] = esc_html__('modify playlists', 'brightcove');
         }
         // Delete a playlist
         if (!$cms_api->playlist_delete($playlist_id)) {
             $permission_issues[] = esc_html__('delete playlists', 'brightcove');
         }
     }
     // Delete a video
     if (!$cms_api->video_delete($video_id)) {
         $permission_issues[] = esc_html__('delete videos', 'brightcove');
     }
     $player_api = new BC_Player_Management_API($this);
     // Fetch all players
     $players = $player_api->player_list();
     if (is_wp_error($players) || !is_array($players['items'])) {
         $permission_issues[] = esc_html__('fetch players', 'brightcove');
     }
     return $permission_issues;
 }
コード例 #2
0
 public static function update_video_meta()
 {
     if (!wp_verify_nonce($_POST['nonce'], '_bc_ajax_search_nonce')) {
         return;
     }
     if (!array_key_exists('update-metadata', $_POST)) {
         return;
     }
     $video_id = BC_Utility::sanitize_id($_POST['video-id']);
     $api = new BC_CMS_API();
     $video = $api->video_get($video_id);
     $updated_data = array();
     foreach ($_POST as $key => $postdata) {
         echo esc_attr($key);
         $updated_data = BC_Utility::sanitize_payload_item($postdata);
     }
     if (array_key_exists('video-related-url', $_POST)) {
         $video_related_url = esc_url_raw($_POST['video-related-url']);
         if (strlen($video_related_url)) {
             $updated_data['link'] = array_merge($video['link'], array('url' => $video_related_url));
         }
     }
     if (array_key_exists('video-related-text', $_POST)) {
         $updated_data['link'] = array_merge($video['link'], array('text' => sanitize_text_field($_POST['video-related-text'])));
     }
     if (array_key_exists('video-tags', $_POST)) {
         $tags = explode(',', $_POST['video-tags']);
         $tags = array_filter($tags, 'trim');
         $tags = array_filter($tags, 'sanitize_text_field');
         $updated_data['tags'] = array_merge($video['tags'], $tags);
     }
     $api->video_update($video_id, $updated_data);
 }