コード例 #1
0
 /**
  * AJAX callback for movie update.
  *
  * @since    2.0
  */
 public function update_movie_callback()
 {
     wpmoly_check_ajax_referer('update-movie');
     $movie_id = isset($_POST['movie_id']) && '' != $_POST['movie_id'] ? intval($_POST['movie_id']) : null;
     if (is_null($movie_id)) {
         wp_die(0);
     }
     $response = self::update_movie($movie_id);
     wpmoly_ajax_response($response, array(), wpmoly_create_nonce('update-movie'));
 }
コード例 #2
0
 /**
  * Callback for Queued Movies Import.
  *
  * @since    1.0
  */
 public static function import_queued_movie_callback()
 {
     wpmoly_check_ajax_referer('import-queued-movies');
     $post_id = isset($_POST['post_id']) && '' != $_POST['post_id'] ? $_POST['post_id'] : null;
     $response = self::import_queued_movie($post_id);
     wpmoly_ajax_response($response, array(), wpmoly_create_nonce('import-queued-movies'));
 }
コード例 #3
0
 /**
  * Callback for WPMOLY_Import movie import method.
  * 
  * Checks the AJAX nonce and calls import_movies() to
  * create import drafts of all movies passed through the list.
  *
  * @since    1.0
  */
 public static function import_movies_callback()
 {
     wpmoly_check_ajax_referer('import-movies-list');
     $movies = isset($_POST['movies']) && '' != $_POST['movies'] ? esc_textarea($_POST['movies']) : null;
     $response = self::import_movies($movies);
     wpmoly_ajax_response($response, array(), wpmoly_create_nonce('import-movies-list'));
 }
コード例 #4
0
 /**
  * Alter the Quick Edit link in Movies Lists to update the Movie Details
  * current values.
  * 
  * @since    1.0
  * 
  * @param    array     $actions List of current actions
  * @param    object    $post Current Post object
  * 
  * @return   string    Edited Post Actions
  */
 public static function expand_quick_edit_link($actions, $post)
 {
     global $current_screen;
     if (isset($current_screen) && ($current_screen->id != 'edit-movie' || $current_screen->post_type != 'movie')) {
         return $actions;
     }
     $nonce = wpmoly_create_nonce('set-quickedit-movie-details');
     $details = WPMOLY_Settings::get_supported_movie_details();
     $_details = array_keys($details);
     foreach ($_details as $i => $detail) {
         $data = call_user_func_array('wpmoly_get_movie_meta', array('post_id' => $post->ID, 'meta' => $detail));
         if (is_array($data) && isset($details[$detail]['multi']) && true == $details[$detail]['multi']) {
             $data = '[' . implode(',', array_map(create_function('$d', 'return "\'" . $d . "\'";'), $data)) . ']';
         } else {
             $data = "'{$data}'";
         }
         $_details[$i] = sprintf("{$detail}: %s", $data);
     }
     $_details = '{' . implode(', ', $_details) . '}';
     $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="';
     $actions['inline hide-if-no-js'] .= esc_attr(__('Edit this item inline')) . '" ';
     $actions['inline hide-if-no-js'] .= " onclick=\"wpmoly_edit_movies.quick_edit({$_details}, '{$nonce}')\">";
     $actions['inline hide-if-no-js'] .= __('Quick&nbsp;Edit');
     $actions['inline hide-if-no-js'] .= '</a>';
     return $actions;
 }
コード例 #5
0
/**
 * Provide a plugin-wide, generic method for checking AJAX nonces.
 *
 * @since    1.0
 * 
 * @param    string    $action Action name for nonce
 */
function wpmoly_check_ajax_referer($action, $query_arg = false, $die = false)
{
    if (!$query_arg) {
        $query_arg = 'nonce';
    }
    $error = new WP_Error();
    $check = check_ajax_referer('wpmoly-' . $action, $query_arg, $die);
    if ($check) {
        return true;
    }
    $error->add('invalid_nonce', __('Are you sure you want to do this?'));
    wpmoly_ajax_response($error, null, wpmoly_create_nonce($action));
}