Skip to content

Commit

Permalink
get image media info call now uses wp ajax
Browse files Browse the repository at this point in the history
  • Loading branch information
hunk committed Jun 13, 2016
1 parent 8f1c3f4 commit f51e4cb
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 36 deletions.
67 changes: 41 additions & 26 deletions MF_ImageMedia.php
@@ -1,33 +1,48 @@
<?php
// use wp-load. Normally right here, but if it's not...
if( file_exists('../../../wp-load.php') )
{
require_once('../../../wp-load.php');
$loaded = true;
} // ...then look over here
elseif( file_exists('./mf-config.php') )
{
include_once('./mf-config.php');
require_once(MF_WP_LOAD);
$loaded = true;
}

if( $loaded !== true ){
die('Could not load wp-load.php, edit/add mf-config.php and define MF_WP_LOAD to point to a valid wp-load file.');
}
class MF_ImageMedia {

public function __construct() {
add_action( 'wp_ajax_mf_get_image_media_info', array( $this, 'get_info' ) );
}

function get_info() {
global $mf_domain;

require_once(ABSPATH."/wp-admin/includes/image.php");
require_once(ABSPATH."/wp-includes/media.php");
check_ajax_referer( 'nonce_ajax_get_image_media_info', 'nonce_ajax_get_image_media_info');

// remove text aditional in attachment
$image_id = preg_replace('/del_attachment_/','',$_POST['image_id']);
$info = wp_get_attachment_image_src($image_id,'original');
if( !( is_user_logged_in() && current_user_can('upload_files') ) ) {
echo json_encode(
array(
'success' => false,
'error' => "You don't have permission to upload files, contact to the administrator for more information!",$mf_domain
)
);
wp_die();
}

$field_id = preg_replace('/thumb_/','',$_POST['field_id']);
// remove text aditional in attachment
$image_id = preg_replace('/del_attachment_/','',$_POST['image_id']);
$info = wp_get_attachment_image_src($image_id,'original');

if( count($info)){
$image_thumb = PHPTHUMB.'?&w=150&h=120&src='.$info[0];
$data = array('image' => $image_thumb,'field_id' => $field_id,'image_value' => $image_id);
echo json_encode($data);
$field_id = preg_replace('/thumb_/','',$_POST['field_id']);

if( count($info) ){
$image_thumb = PHPTHUMB.'?&w=150&h=120&src='.$info[0];
$data = array('image' => $image_thumb,'field_id' => $field_id,'image_value' => $image_id);
echo json_encode($data);
} else {
echo json_encode(
array(
'success' => false,
'error' => "The image does not exist",$mf_domain
)
);

}

wp_die();
}
}
?>

$mf_get_image_media = new MF_ImageMedia();
7 changes: 5 additions & 2 deletions Main.php
Expand Up @@ -75,6 +75,7 @@

require_once 'MF_GetFile.php';
require_once 'MF_GetDuplicate.php';
require_once 'MF_ImageMedia.php';

/**
* function for languages
Expand Down Expand Up @@ -392,13 +393,15 @@ function charge_link_after_upload_image($fields){
$wp_version < 3.5 ||
(( isset($_REQUEST['fetch']) && $_REQUEST['fetch'] ) ||
( isset($_REQUEST['tab']) && $_REQUEST['tab'] == 'library' ))
){
) {
$nonce_ajax_get_image_media_info = wp_create_nonce('nonce_ajax_get_image_media_info');
printf("
<script type=\"text/javascript\">
//<![CDATA[
load_link_in_media_upload();
var nonce_ajax_get_image_media_info = \"%s\";
//]]>
</script>");
</script>",$nonce_ajax_get_image_media_info);
}
return $fields;
}
Expand Down
2 changes: 2 additions & 0 deletions RCCWP_OptionsPage.php
Expand Up @@ -10,6 +10,8 @@
MF_URI.'js/custom_fields/media_image.js'
);

wp_enqueue_style('mf_media_image',MF_URI.'css/media_image.css',false,'0.1','all');

include_once('RCCWP_Options.php');

class RCCWP_OptionsPage {
Expand Down
5 changes: 5 additions & 0 deletions css/media_image.css
@@ -0,0 +1,5 @@
a.mf_media_upload {
color: green;
font-weight: bold;
padding-right: 10px;
}
23 changes: 15 additions & 8 deletions js/custom_fields/media_image.js
Expand Up @@ -4,7 +4,7 @@ jQuery(document).ready(function(){
id = jQuery(this).next().attr('id');
check = parent.window.mf_field_id;
if(check){
jQuery(this).before('<a href="#" class="mf_media_upload button" onclick="mf_set_image_field(\''+id+'\'); return false;">Set image in field</a>');
jQuery(this).before('<a href="#" class="mf_media_upload" onclick="mf_set_image_field(\''+id+'\'); return false;">Set image in field</a>');
}
});

Expand Down Expand Up @@ -39,14 +39,21 @@ jQuery(document).ready(function(){

function mf_set_image_field(id){
id_element = parent.window.mf_field_id;
jQuery.post(parent.window.mf_path+"MF_ImageMedia.php", { "image_id": id, 'field_id': id_element },
jQuery.post(ajaxurl, { "action": "mf_get_image_media_info" ,"image_id": id, 'field_id': id_element , 'nonce_ajax_get_image_media_info': nonce_ajax_get_image_media_info},
function(data){
jQuery('#img_thumb_'+data.field_id, top.document).attr('src',data.image);
jQuery('#'+data.field_id, top.document).attr('value',data.image_value);
jQuery('#photo_edit_link_'+data.field_id, top.document).html("&nbsp;<strong><a href='#remove_media' class='remove_media' id='remove-"+data.field_id+"'>Remove Image</a></strong>");
parent.window.mf_field_id = '';
parent.window.tb_remove();
if (data.success == true) {
jQuery('#img_thumb_'+data.field_id, top.document).attr('src',data.image);
jQuery('#'+data.field_id, top.document).attr('value',data.image_value);
jQuery('#photo_edit_link_'+data.field_id, top.document).html("&nbsp;<strong><a href='#remove_media' class='remove_media' id='remove-"+data.field_id+"'>Remove Image</a></strong>");
parent.window.mf_field_id = '';
parent.window.tb_remove();
} else {
alert("Error: " + data.error);
parent.window.mf_field_id = '';
parent.window.tb_remove();
}
}, "json");

}

function load_link_in_media_upload(){
Expand All @@ -57,7 +64,7 @@ function load_link_in_media_upload(){
}else{
check = parent.window.mf_field_id;
if(check == "" || check == undefined ){}else{
jQuery(this).before('<a href="#" class="mf_media_upload button" onclick="mf_set_image_field(\''+id+'\'); return false;">Set image in field</a>');
jQuery(this).before('<a href="#" class="mf_media_upload" onclick="mf_set_image_field(\''+id+'\'); return false;">Set image in field</a>');
}
}
});
Expand Down

0 comments on commit f51e4cb

Please sign in to comment.