コード例 #1
0
ファイル: RTMediaTemplate.php プロジェクト: rtCamp/rtMedia
 function save_album_edit()
 {
     global $rtmedia_query;
     $nonce = isset($_REQUEST['rtmedia_media_nonce']) ? wp_unslash($_REQUEST['rtmedia_media_nonce']) : '';
     if (wp_verify_nonce($nonce, 'rtmedia_' . $rtmedia_query->media_query['album_id'])) {
         $media = new RTMediaMedia();
         $model = new RTMediaModel();
         $submit = filter_input(INPUT_POST, 'submit', FILTER_SANITIZE_STRING);
         $_move_selected = filter_input(INPUT_POST, 'move-selected', FILTER_SANITIZE_STRING);
         $_album = filter_input(INPUT_POST, 'album', FILTER_SANITIZE_STRING);
         $filters = array('selected' => array('filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY));
         $_selected_arr = filter_input_array(INPUT_POST, $filters);
         $_selected = $_selected_arr['selected'];
         if (isset($submit)) {
             $data_array = array('media_title', 'description', 'privacy');
             $data = rtmedia_sanitize_object($_POST, $data_array);
             $album = $model->get_media(array('id' => $rtmedia_query->media_query['album_id']), false, false);
             $state = $media->update($album[0]->id, $data, $album[0]->media_id);
             global $rtmedia_points_media_id;
             $rtmedia_points_media_id = $album[0]->id;
             do_action('rtmedia_after_update_album', $album[0]->id, $state);
         } elseif (!empty($_move_selected)) {
             $album_move = $_album;
             $selected_ids = null;
             if (isset($_selected)) {
                 $selected_ids = $_selected;
                 unset($_selected);
             }
             if (!empty($selected_ids) && is_array($selected_ids)) {
                 $album_move_details = $model->get_media(array('id' => $album_move), false, false);
                 foreach ($selected_ids as $media_id) {
                     $media_details = $model->get_media(array('id' => $media_id), false, false);
                     $post_array['ID'] = $media_details[0]->media_id;
                     $post_array['post_parent'] = $album_move_details[0]->media_id;
                     wp_update_post($post_array);
                     $media->update($media_details[0]->id, array('album_id' => $album_move_details[0]->id), $media_details[0]->media_id);
                 }
             }
         }
         //refresh
         $rtmedia_nav = new RTMediaNav();
         if ('group' === $rtmedia_query->media_query['context']) {
             $rtmedia_nav->refresh_counts($rtmedia_query->media_query['context_id'], array('context' => $rtmedia_query->media_query['context'], 'context_id' => $rtmedia_query->media_query['context_id']));
         } else {
             $rtmedia_nav->refresh_counts($rtmedia_query->media_query['media_author'], array('context' => 'profile', 'media_author' => $rtmedia_query->media_query['media_author']));
         }
         wp_safe_redirect(esc_url_raw(get_rtmedia_permalink($rtmedia_query->media_query['album_id']) . 'edit/'));
         die;
     } else {
         esc_html_e('Ooops !!! Invalid access. No nonce was found !!', 'buddypress-media');
     }
 }
コード例 #2
0
 function save_album_edit()
 {
     global $rtmedia_query;
     $nonce = $_REQUEST['rtmedia_media_nonce'];
     if (wp_verify_nonce($nonce, 'rtmedia_' . $rtmedia_query->media_query['album_id'])) {
         $media = new RTMediaMedia();
         $model = new RTMediaModel();
         if (isset($_POST['submit'])) {
             $data_array = array('media_title', 'description', 'privacy');
             $data = rtmedia_sanitize_object($_POST, $data_array);
             $album = $model->get_media(array('id' => $rtmedia_query->media_query['album_id']), false, false);
             $state = $media->update($album[0]->id, $data, $album[0]->media_id);
             global $rtmedia_points_media_id;
             $rtmedia_points_media_id = $album[0]->id;
             do_action('rtmedia_after_update_album', $album[0]->id, $state);
         } elseif (isset($_POST['move-selected'])) {
             $album_move = $_POST['album'];
             $selected_ids = null;
             if (isset($_POST['selected'])) {
                 $selected_ids = $_POST['selected'];
                 unset($_POST['selected']);
             }
             if (!empty($selected_ids) && is_array($selected_ids)) {
                 $album_move_details = $model->get_media(array('id' => $album_move), false, false);
                 foreach ($selected_ids as $media_id) {
                     $media_details = $model->get_media(array('id' => $media_id), false, false);
                     $post_array['ID'] = $media_details[0]->media_id;
                     $post_array['post_parent'] = $album_move_details[0]->media_id;
                     wp_update_post($post_array);
                     $media->update($media_details[0]->id, array('album_id' => $album_move_details[0]->id), $media_details[0]->media_id);
                 }
             }
         }
         //refresh
         $rtMediaNav = new RTMediaNav();
         if ($rtmedia_query->media_query['context'] == "group") {
             $rtMediaNav->refresh_counts($rtmedia_query->media_query['context_id'], array("context" => $rtmedia_query->media_query['context'], 'context_id' => $rtmedia_query->media_query['context_id']));
         } else {
             $rtMediaNav->refresh_counts($rtmedia_query->media_query['media_author'], array("context" => "profile", 'media_author' => $rtmedia_query->media_query['media_author']));
         }
         wp_safe_redirect(esc_url_raw(get_rtmedia_permalink($rtmedia_query->media_query['album_id']) . 'edit/'));
         die;
     } else {
         _e('Ooops !!! Invalid access. No nonce was found !!', 'buddypress-media');
     }
 }
コード例 #3
0
 function save_single_edit()
 {
     global $rtmedia_query;
     $nonce = $_POST['rtmedia_media_nonce'];
     if (wp_verify_nonce($nonce, 'rtmedia_' . $rtmedia_query->action_query->id)) {
         do_action('rtmedia_before_update_media', $rtmedia_query->action_query->id);
         $data_array = array('media_title', 'description', 'privacy');
         //for medias except album and playlist, if album_is is found, then update album_id for the media also
         if (isset($_POST['album_id']) && $_POST['album_id'] != '') {
             $data_array[] = 'album_id';
         }
         $data = rtmedia_sanitize_object($_POST, $data_array);
         $media = new RTMediaMedia();
         $image_path = get_attached_file($rtmedia_query->media[0]->media_id);
         if ($image_path && $rtmedia_query->media[0]->media_type == "photo") {
             $image_meta_data = wp_generate_attachment_metadata($rtmedia_query->media[0]->media_id, $image_path);
             wp_update_attachment_metadata($rtmedia_query->media[0]->media_id, $image_meta_data);
         }
         $state = $media->update($rtmedia_query->action_query->id, $data, $rtmedia_query->media[0]->media_id);
         $rtmedia_query->query(false);
         global $rtmedia_points_media_id;
         $rtmedia_points_media_id = $rtmedia_query->action_query->id;
         do_action('rtmedia_after_edit_media', $rtmedia_query->action_query->id, $state);
         //refresh
         $rtMediaNav = new RTMediaNav();
         if ($rtmedia_query->media[0]->context == "group") {
             $rtMediaNav->refresh_counts($rtmedia_query->media[0]->context_id, array("context" => $rtmedia_query->media[0]->context, 'context_id' => $rtmedia_query->media[0]->context_id));
         } else {
             $rtMediaNav->refresh_counts($rtmedia_query->media[0]->media_author, array("context" => "profile", 'media_author' => $rtmedia_query->media[0]->media_author));
         }
         $state = apply_filters('rtmedia_single_edit_state', $state);
         if ($state !== false) {
             add_action("rtmedia_before_template_load", array(&$this, "media_update_success_messege"));
         } else {
             add_action("rtmedia_before_template_load", array(&$this, "media_update_success_error"));
         }
     } else {
         _e('Ooops !!! Invalid access. No nonce was found !!', 'rtmedia');
     }
 }