cap->create_posts ) ) wp_die( __( 'Cheatin’ uh?' ) ); /** * Press It form handler. * * @package WordPress * @subpackage Press_This * @since 2.6.0 * * @return int Post ID */ function press_it() { $post = get_default_post_to_edit(); $post = get_object_vars($post); $post_ID = $post['ID'] = (int) $_POST['post_id']; if ( !current_user_can('edit_post', $post_ID) ) wp_die(__('You are not allowed to edit this post.')); $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : ''; $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : ''; $post['post_title'] = isset($_POST['title']) ? $_POST['title'] : ''; $content = isset($_POST['content']) ? $_POST['content'] : ''; $upload = false; if ( !empty($_POST['photo_src']) && current_user_can('upload_files') ) { foreach( (array) $_POST['photo_src'] as $key => $image) { // see if files exist in content - we don't want to upload non-used selected files. if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) { $desc = isset($_POST['photo_description'][$key]) ? $_POST['photo_description'][$key] : ''; $upload = media_sideload_image($image, $post_ID, $desc); // Replace the POSTED content with correct uploaded ones. Regex contains fix for Magic Quotes if ( !is_wp_error($upload) ) $content = preg_replace('/]*)src=\\\?(\"|\')'.preg_quote(htmlspecialchars($image), '/').'\\\?(\2)([^>\/]*)\/*>/is', $upload, $content); } } } // set the post_content and status $post['post_content'] = $content; if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) ) $post['post_status'] = 'publish'; elseif ( isset( $_POST['review'] ) ) $post['post_status'] = 'pending'; else $post['post_status'] = 'draft'; // error handling for media_sideload if ( is_wp_error($upload) ) { wp_delete_post($post_ID); wp_die( esc_html( $upload->get_error_message() ) ); } else { // Post formats if ( isset( $_POST['post_format'] ) ) { if ( current_theme_supports( 'post-formats', $_POST['post_format'] ) ) set_post_format( $post_ID, $_POST['post_format'] ); elseif ( '0' == $_POST['post_format'] ) set_post_format( $post_ID, false ); } $post_ID = wp_update_post($post); } return $post_ID; } // For submitted posts. if ( isset($_REQUEST['action']) && 'post' == $_REQUEST['action'] ) { check_admin_referer('press-this'); $posted = $post_ID = press_it(); } else { $post = get_default_post_to_edit('post', true); $post_ID = $post->ID; } // Set Variables $title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( wp_unslash( $_GET['t'] ) , ENT_QUOTES) ) ) : ''; $selection = ''; if ( !empty($_GET['s']) ) { $selection = str_replace(''', "'", wp_unslash($_GET['s'])); $selection = trim( htmlspecialchars( html_entity_decode($selection, ENT_QUOTES) ) ); } if ( ! empty($selection) ) { $selection = preg_replace('/(\r?\n|\r)/', '

', $selection); $selection = '

' . str_replace('

', '', $selection) . '

'; } $url = isset($_GET['u']) ? esc_url($_GET['u']) : ''; $image = isset($_GET['i']) ? $_GET['i'] : ''; if ( !empty($_REQUEST['ajax']) ) { switch ($_REQUEST['ajax']) { case 'video': ?>

<?php echo esc_attr(__('Click to insert.')); ?>

]*)src=(\"|\')([^<>\'\"]+)(\2)([^>]*)\/*>/i'; $content = str_replace(array("\n","\t","\r"), '', $content); preg_match_all($pattern, $content, $matches); if ( empty($matches[0]) ) return ''; $sources = array(); foreach ($matches[3] as $src) { // if no http in url if (strpos($src, 'http') === false) // if it doesn't have a relative uri if ( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === 0) $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src); else $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src); $sources[] = esc_url($src); } return "'" . implode("','", $sources) . "'"; } $url = wp_kses(urldecode($url), null); echo 'new Array('.get_images_from_uri($url).')'; break; case 'photo_js': ?> // gather images and load some default JS var last = null var img, img_tag, aspect, w, h, skip, i, strtoappend = ""; if(photostorage == false) { var my_src = eval( jQuery.ajax({ type: "GET", url: "", cache : false, async : false, data: "ajax=photo_images&u=", dataType : "script" }).responseText ); if(my_src.length == 0) { var my_src = eval( jQuery.ajax({ type: "GET", url: "", cache : false, async : false, data: "ajax=photo_images&u=", dataType : "script" }).responseText ); if(my_src.length == 0) { strtoappend = ''; } } } for (i = 0; i < my_src.length; i++) { img = new Image(); img.src = my_src[i]; img_attr = 'id="img' + i + '"'; skip = false; maybeappend = ''; if (img.width && img.height) { if (img.width >= 30 && img.height >= 30) { aspect = img.width / img.height; scale = (aspect > 1) ? (71 / img.width) : (71 / img.height); w = img.width; h = img.height; if (scale < 1) { w = parseInt(img.width * scale); h = parseInt(img.height * scale); } img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"'; strtoappend += maybeappend; } } else { strtoappend += maybeappend; } } function pick(img, desc) { if (img) { if('object' == typeof jQuery('.photolist input') && jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length; if(length == 0) length = 1; jQuery('.photolist').append(''); jQuery('.photolist').append(''); insert_editor( "\n\n" + encodeURI('

' + desc + '

')); } return false; } function image_selector(el) { var desc, src, parent = jQuery(el).closest('#photo-add-url-div'); if ( parent.length ) { desc = parent.find('input.tb_this_photo_description').val() || ''; src = parent.find('input.tb_this_photo').val() || '' } else { desc = jQuery('#tb_this_photo_description').val() || ''; src = jQuery('#tb_this_photo').val() || '' } tb_remove(); pick(src, desc); jQuery('#extra-fields').hide(); jQuery('#extra-fields').html(''); return false; } jQuery('#extra-fields').html('

()

'); jQuery('#img_container').html(strtoappend); <?php _e('Press This') ?>

'save' ) ); if ( current_user_can('publish_posts') ) { submit_button( __( 'Publish' ), 'primary', 'publish', false ); } else { echo '

'; submit_button( __( 'Submit for Review' ), 'primary', 'review', false ); } ?>


    'category', 'popular_cats' => $popular_ids ) ) ?>
cap->assign_terms) ) : ?>

cap->edit_terms) ) : ?>

labels->add_new_item ); ?>

'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $tax->labels->parent_item . ' —' ) ); ?>


| |

true, 'textarea_rows' => '15' ); $content = ''; if ( $selection ) $content .= $selection; if ( $url ) { $content .= '

'; if ( $selection ) $content .= __('via '); $content .= sprintf( "%s.

", esc_url( $url ), esc_html( $title ) ); } remove_action( 'media_buttons', 'media_buttons' ); add_action( 'media_buttons', 'press_this_media_buttons' ); function press_this_media_buttons() { _e( 'Add:' ); if ( current_user_can('upload_files') ) { ?> <?php esc_attr_e('Insert an Image'); ?> <?php esc_attr_e('Embed a Video'); ?>