Press This rework from noel. see #7732

git-svn-id: http://svn.automattic.com/wordpress/trunk@8903 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2008-09-16 06:30:15 +00:00
parent 7d27dfb967
commit 42fdf59b30
5 changed files with 391 additions and 824 deletions

View File

@ -1,7 +1,3 @@
#posting {
position: static !important;
}
.ui-tabs-nav {
margin-left: 0;
border: 0 !important;
}
}

View File

@ -1,98 +0,0 @@
body {
font-family: Tahoma;
}
.ui-tabs-nav {
padding-left:0;
padding-right:8px;
}
.ui-tabs-nav li {
float: right;
}
.button {
font-family: Tahoma;
margin-left:0;
margin-right: 5px;
}
#wphead #viewsite {
margin-left:0;
margin-right: 10px;
}
#viewsite {
right:auto;
left: 8px;
}
#wphead #viewsite a {
font-family: Tahoma;
}
h1 {
right:auto;
left:0;
}
div#posting {
padding-left:0;
padding-right: 16px;
}
#photo_directions span {
right:auto;
left:3px;
}
#img_container a {
float:right;
}
#img_container a, #img_container a:link, #img_container a:visited {
margin:0 0 4px 4px;
}
div#categories {
right:auto;
left:16px;
}
div#categories h2 {
margin: .5em 1em .5em 0;
}
#tagsdiv #newtag {
margin-right:0;
margin-left: 5px;
}
#jaxtag {
padding-left:0;
padding-right: 1em;
}
#tagchecklist {
padding-left:0;
padding-right: 1em;
}
#tagchecklist span {
margin-right: 10px;
margin-left: .5em;
float: right;
}
#tagchecklist span a {
margin: 6px -9px 0pt 0;
float: right;
}
.submitbox {
float: left;
}
.submitbox .submit input {
text-align:right;
}
.video_split #extra_fields {
float:right;
}
.video_split .editor_area {
float: left;
}
.ac_results li {
text-align:right;
}
#TB_ajaxContent #options {
right:auto;
left:25px;
}
#post_status {
margin-left:0;
margin-right: 10px;
}
#footer {
padding: 10px 60px 0 0;
}

View File

@ -6,112 +6,11 @@ body {
}
img { border: 0; }
/* Tabs */
@media projection , screen {
.ui-tabs-hide {
display: none;
}
}
@media print {
.ui-tabs-nav {
display: none;
}
}
.ui-tabs-nav {
list-style: none;
border-bottom: 1px solid #C6D9E9;
padding-left: 8px;
margin-bottom: .5em;
margin-top: -2em;
}
/* Additional IE specific bug fixes... */
* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */
display: inline-block;
}
* :first-child+html .ui-tabs-nav {
/* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */
display: inline-block;
}
.ui-tabs-nav:after {
/* clearing without presentational markup, IE gets extra treatment */
display: block;
clear: both;
content: " ";
}
.ui-tabs-nav li {
float: left;
margin: 0;
height: 2em;
line-height: 2em;
}
.ui-tabs-nav a,.ui-tabs-nav a span {
display: block;
}
.ui-tabs-nav a {
margin: 1px 0 0;
/* position: relative makes opacity fail for disabled tab in IE */
padding-left: 0;
color: #27537a;
font-weight: bold;
line-height: 2em;
text-align: center;
text-decoration: none;
white-space: nowrap; /* required in IE 6 */
outline: 0; /* prevent dotted border in Firefox */
padding: 0 1em;
}
.ui-tabs-nav .ui-tabs-selected a {
position: relative;
top: 1px;
z-index: 2;
margin-top: 0;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
border-style: solid;
border-width: 1px;
background: white;
border-bottom-width: 2px;
margin-top: -2px;
}
.ui-tabs-nav a:hover,.ui-tabs-nav a:focus,.ui-tabs-nav a:active,
.ui-tabs-nav .ui-tabs-selected a:link,.ui-tabs-nav .ui-tabs-selected a:visited {
cursor: pointer;
}
/* Header */
#wphead {
border-top: none;
height: 2em;
padding-top: 8px;
}
#wphead{border-top:none;padding-top:8px; background: #444 !important;}
.button {
font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
padding: 3px 5px;
font-size: 12px;
line-height: 1.5em;
border-width: 1px;
border-style: solid;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
cursor: pointer;
margin-left: 5px;
text-decoration: none;
}
.button{font-family:"Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana,sans-serif;padding:3px 5px;font-size:12px;line-height:1.5em;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;margin-left:5px;text-decoration:none;}
.howto {
font-size: 11px;
@ -119,49 +18,6 @@ img { border: 0; }
display: block;
}
#wphead #viewsite {
position: absolute;
margin-top: 12px;
margin-left: 10px;
}
#viewsite {
position: relative;
right: 8px;
top: 6px;
margin: 0 !important;
}
#wphead #viewsite a {
font: 12px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
padding: 3px 4px;
display: block;
letter-spacing: normal;
border-width: 1px;
border-style: solid;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
text-decoration: none;
}
#previewview {
padding-top: 8px !important;
padding-bottom: 8px !important;
}
h1 {
font-size: .75em;
line-height: 2.666em;
top: .5em;
right: 0;
margin: 0 !important;
padding: 0 !important;
width: 236px;
background: none;
}
input.text {
border: 0pt none;
outline-color: -moz-use-text-color;
@ -175,21 +31,25 @@ input.text {
/* Editor/Main Column */
div#container {
margin: 0;
min-width: 500px;
div#poststuff {
padding-left: 10px;
margin-top: 10px;
}
div#container form {
margin: 0px;
padding: 0px;
.posting {
margin-right: 228px;
}
div#posting {
padding-left: 16px;
position: absolute;
z-index: 1;
width: 66%;
#side-info-column {
float: right;
width: 218px;
position: relative;
margin-right: 10px;
}
#side-info-column .sleeve { padding-left: 10px; }
#poststuff .inside {
font-size:11px;
margin:0 12px 12px;
}
#post_title {
@ -202,320 +62,145 @@ div#posting {
padding: 2px 3px;
border-color: #CCCCCC;
}
.titlewrap input { font-size: 1.2em; }
div#posting h2 {
margin: .5em 0 .25em 0;
font-size: 12px;
padding: 3px;
background: ;
#poststuff h2, #poststuff h3 {
font-size: 14px;
font-weight: bold;
padding: 7px;
margin: 0 0 10px;
background-color: #EAF3FA;
}
#poststuff .stuffbox {
border: 1px solid white;
border-color:#EBEBEB #CCCCCC #CCCCCC #EBEBEB;
padding: 2px;
margin-bottom: 10px;
}
.editor-container {
border-width: 1px;
border-color: #ccc;
border-style: solid;
margin-bottom: 1em;
margin-top: -10px;
}
.postdivrich { position: relative; margin-top: 10px;}
#actions { clear: both; position: absolute; right: 4px; top: 6px; margin: 0;}
#actions li { float: left; list-style: none; }
/* Photo Styles */
.photolist { margin-top: -10px; }
#photo_saving{margin:0 8px 8px;vertical-align:middle;}
#img_container{background-color:#fff;height:101px;width:100%; }
#extra_fields{ margin-top:10px;position:relative;}
#extra_fields .titlewrap{padding:0;overflow:auto;height:100px;}
#img_container{position:relative;}
#img_container a{display:block;width:71px;height:71px;float:left;overflow:hidden;vertical-align:center;}
#img_container img{width:71px;height:71px;border:0px;background-color:#f4f4f4;cursor:pointer;}
#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block; position: relative;}
#img_container a:hover,#img_container a:active{border-color:#000; z-index: 1000; border-width: 2px; margin: -1px;}
#photo_directions {
margin-top: .25em;
display: block;
position: relative;
/* Video */
#embed-code { width: 100%; border: 0; height: 98px;}
/*** Submit Column ***/
#viewsite { padding: 0; margin: 0; }
#viewsite .button { width: 196px; margin: 0 0 10px 0; display: block; }
.wp-hidden-children .wp-hidden-child { display: none; }
#category-adder {
padding: 4px 0;
}
#photo_directions span {
display: block;
position: absolute;
top: 0;
right: 3px;
#category-adder h4 {
margin: 0 0 8px;
}
#photo_saving {
margin: 0 8px 8px;
vertical-align: middle;
#category-add input {
width: 94%;
}
#img_container {
background-color: #fff;
overflow: auto;
height: 100px;
#category-add select {
width: 100%;
}
#img_container a {
display: block;
width: 79px;
height: 79px;
float: left;
#category-add input#category-add-sumbit {
width: auto;
}
#img_container img {
width: 75px;
height: 75px;
border: 0px;
padding: 2px;
background-color: #f4f4f4;
cursor: pointer;
#categorydiv {
padding: 0.5em 0.9em;
}
#img_container a, #img_container a:link, #img_container a:visited {
border: 2px solid #ccc;
margin: 0 4px 4px 0;
}
#img_container a:hover, #img_container a:active {
border: 2px solid #000;
}
/* Submit Column */
div#categories {
font-size: 85%;
position: absolute;
top: 50px;
right: 16px;
width: 27%;
z-index: 2;
}
div#categories h2 {
color: #333;
font-size: 12px;
margin: .5em 0 .5em 1em;
padding: 0;
}
#categories-all {
overflow: auto;
padding: 0 1em 1em 1em;
height: 15em;
}
#categories ul {
/* Categories */
#categorydiv ul, #linkcategorydiv ul {
list-style: none;
padding: 0;
margin: 0;
}
#tagsdiv #newtag {
padding: 3px;
margin-right: 5px;
width: 16em;
#categorydiv ul.categorychecklist ul, #linkcategorydiv ul.categorychecklist ul {
margin-left: 18px;
}
#jaxtag {
clear: both;
padding-left: 1em;
#categorydiv div.ui-tabs-panel, #linkcategorydiv div.ui-tabs-panel {
padding:0.5em 0.9em;
}
ul.categorychecklist li {
margin: 0;
padding: 0;
line-height: 19px;
}
#tagchecklist {
padding-left: 1em;
margin-bottom: 1em;
font-size: 12px;
overflow: auto;
}
#tagchecklist strong {
position: absolute;
font-size: .75em;
}
#tagchecklist span {
margin-right: .5em;
margin-left: 10px;
display: block;
float: left;
font-size: 11px;
line-height: 1.8em;
white-space: nowrap;
cursor: default;
}
#tagchecklist span a {
margin: 6px 0pt 0pt -9px;
cursor: pointer;
width: 10px;
height: 10px;
display: block;
float: left;
text-indent: -9999px;
overflow: hidden;
position: absolute;
/* Tags */
#tagsdiv #newtag{padding:3px;margin-right:5px;width:16em;}
#jaxtag{clear:both;margin:0;}
#tagchecklist{padding-left:1em;margin-bottom:1em;font-size:12px;overflow:auto;}
#tagchecklist strong{position:absolute;font-size:.75em;}
#tagchecklist span{margin-right:.5em;margin-left:10px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}
#tagchecklist span a{margin:6px 0pt 0pt -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}
/* Submit */
.submitbox { margin-top: -10px;}
.submitbox .submit {
font-size:11px;
padding:12px 10px 10px;
text-align:left;
}
.submit {
-moz-border-radius-bottomleft: 3px;
-khtml-border-bottom-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
-moz-border-radius-bottomright: 3px;
-khtml-border-bottom-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
margin: 0;
padding: 10px;
}
.submitbox {
width: 100%;
float: right;
-moz-border-radius-bottomleft:3px;
-moz-border-radius-bottomright:3px;
-moz-border-radius-topleft:0;
-moz-border-radius-topright:0;
border-top:1px solid #CCCCCC;
margin:10px 0 0;
padding:1.5em 0 0;
}
.submitbox .submit a:hover {
border-bottom-width: 1px;
border-bottom-style: solid;
}
.submitbox .submit input {
border: none;
text-align: left;
padding: 6px 4px;
font-size: 12px;
margin: 2px;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
cursor: pointer;
}
.submitbox #previewview {
padding: 15px 10px;
-moz-border-radius-topleft: 3px;
-khtml-border-top-left-radius: 3px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
-moz-border-radius-topright: 3px;
-khtml-border-top-right-radius: 3px;
-webkit-border-top-right-radius: 3px;
border-top-right-radius: 3px;
}
/* Video Styles */
.video_split #extra_fields {
width: 27%;
height: 300px;
float: left;
}
#embed_code {
border: 0;
width: 99%;
height: 200px;
}
.video_split .editor_area {
width: 70%;
float: right;
}
.ac_results {
padding: 0;
margin: 0;
list-style: none;
position: absolute;
z-index: 10000;
display: none;
border-width: 1px;
border-style: solid;
}
.ac_results li {
padding: 2px 5px;
white-space: nowrap;
text-align: left;
}
.ac_over {
cursor: pointer;
}
.ac_match {
text-decoration: underline;
}
.photolist {
display: none;
}
#extra_fields small {
display: block;
margin-top: .5em;
padding-bottom: .25em;
}
#TB_ajaxContent #options {
position: absolute;
top: 20px;
right: 25px;
padding: 5px;
}
#TB_ajaxContent h3 {
margin-bottom: .25em;
}
.updated {
margin: 0;
margin-left: 15px;
margin-right: 15px;
padding: 0;
max-width: 980px;
border-width: 1px;
border-style: solid;
padding: 0 0.6em;
max-width: 950px;
margin-top: 1em;
margin-bottom: 1em;
}
.updated p, .error p {
margin: 0.6em 0;
}
.updated a, .error a {
text-decoration: underline;
}
.updated a {
text-decoration: none;
padding-bottom: 2px;
}
#post_status {
margin-left: 10px;
margin-bottom: 1em;
display: block;
}
.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}
.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}
.ac_over{cursor:pointer;}
.ac_match{text-decoration:underline;}
#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}
#TB_ajaxContent h3{margin-bottom:.25em;}
.updated{margin:0;margin-left:15px;margin-right:15px;padding:0;max-width:980px;border-width:1px;border-style:solid;max-width:950px;margin-top:1em;margin-bottom:1em;width:66%;}
.updated p,.error p{margin:0.6em 0;padding:0 0.6em;}
.updated a,.error a{text-decoration:underline;}
.updated a{text-decoration:none;padding-bottom:2px;}
#post_status{margin-left:10px;margin-bottom:1em;display:block;}
/* Footer */
#footer {
height: 65px;
display: block;
width: 640px;
padding: 10px 0 0 60px;
margin: 0;
position: absolute;
bottom: 0;
font-size: 12px;
}
#footer p {
margin: 0;
padding: 7px 0;
}
#footer p a {
text-decoration: none;
}
#footer p a:hover {
text-decoration: underline;
}
#footer{height:65px;display:block;width:640px;padding:10px 0 0 60px;margin:0;position:absolute;bottom:0;font-size:12px;}
#footer p{margin:0;padding:7px 0;}
#footer p a{text-decoration:none;}
#footer p a:hover{text-decoration:underline;}
/* Utility Classes */
.centered {
text-align: center;
}
.hidden {
display: none;
}
.centered{text-align:center;}
.hidden{display:none;}

View File

@ -62,44 +62,26 @@ function press_it() {
// insert the post with nothing in it, to get an ID
$post_ID = wp_insert_post($quick, true);
$content = '';
switch ( $_REQUEST['post_type'] ) {
case 'text':
case 'quote':
$content .= $_REQUEST['content'];
break;
$content = $_REQUEST['content'];
case 'photo':
$content = $_REQUEST['content'];
if($_REQUEST['photo_src'])
foreach( (array) $_REQUEST['photo_src'] as $key => $image)
// see if files exist in content - we don't want to upload non-used selected files.
if( strpos($_REQUEST['content'], $image) !== false ) {
$upload = media_sideload_image($image, $post_ID, $_REQUEST['photo_description'][$key]);
foreach( (array) $_REQUEST['photo_src'] as $key => $image) {
// see if files exist in content - we don't want to upload non-used selected files.
if( strpos($_REQUEST['content'], $image) !== false ) {
$upload = media_sideload_image($image, $post_ID, $_REQUEST['photo_description'][$key]);
// Replace the POSTED content <img> with correct uploaded ones.
// escape quote for matching
$quoted = preg_quote2($image);
if( !is_wp_error($upload) ) $content = preg_replace('/<img ([^>]*)src=(\"|\')'.$quoted.'(\2)([^>\/]*)\/*>/is', $upload, $content);
}
// Replace the POSTED content <img> with correct uploaded ones.
// escape quote for matching
$quoted = preg_quote2($image);
if( !is_wp_error($upload) ) $content = preg_replace('/<img ([^>]*)src=(\"|\')'.$quoted.'(\2)([^>\/]*)\/*>/is', $upload, $content);
}
break;
case "video":
if($_REQUEST['embed_code'])
$content .= $_REQUEST['embed_code']."\n\n";
$content .= $_REQUEST['content'];
break;
}
// set the post_content
$quick['post_content'] = $content;
// error handling for $post
if ( is_wp_error($post_ID)) {
wp_die($id);
wp_delete_post($post_ID);
wp_delete_post($post_ID);error_log('2');
// error handling for media_sideload
} elseif ( is_wp_error($upload)) {
wp_die($upload);
@ -114,193 +96,202 @@ function press_it() {
// For submitted posts.
if ( 'post' == $_REQUEST['action'] ) {
check_admin_referer('press-this');
$post_ID = press_it();
wp_redirect('press-this.php?posted=' . $post_ID);
die;
$post_ID = press_it();
error_log($post_ID);
$posted = $post_ID;
//wp_redirect('press-this.php?posted=' . press_it());
}
// Ajax Requests
// Set Variables
$title = wp_specialchars(aposfix(stripslashes($_GET['t'])));
$selection = trim( aposfix( stripslashes($_GET['s']) ) );
if ( ! empty($selection) ) {
$selection = preg_replace('/(\r?\n|\r)/', '</p><p>', $selection);
$selection = '<p>'.str_replace('<p></p>', '', $selection).'</p>';
}
$url = clean_url($_GET['u']);
$image = $_GET['i'];
if($_REQUEST['ajax'] == 'thickbox') { ?>
<script type="text/javascript" charset="utf-8">
jQuery('.cancel').click(function() {
tb_remove();
});
if($_REQUEST['ajax']) {
switch ($_REQUEST['ajax']) {
case 'video': ?>
<script type="text/javascript" charset="utf-8">
jQuery('.select').click(function() {
append_editor(jQuery('#embed-code').html());
});
jQuery('.close').click(function() {
jQuery('#extra_fields').hide();
});
</script>
<h2><label for="embed-code"><?php _e('Embed Code') ?></label></h2>
<div class="titlewrap" >
<textarea name="embed-code" id="embed-code" rows="8" cols="40"><?php echo format_to_edit($selection); ?></textarea>
jQuery('.select').click(function() {
image_selector();
});
</script>
<h3 id="title"><label for="post_title"><?php _e('Description') ?></label></h3>
<div class="titlewrap">
<input id="this_photo_description" name="photo_description" class="text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo attribute_escape($title);?>"/>
</div>
</div>
<p id="options"><a href="#" class="select button"><?php _e('Insert Video'); ?></a> <a href="#" class="close button"><?php _e('Cancel'); ?></a></p>
<?php break;
case 'photo_thickbox': ?>
<script type="text/javascript" charset="utf-8">
jQuery('.cancel').click(function() {
tb_remove();
});
<p class="centered"><input type="hidden" name="this_photo" value="<?php echo attribute_escape($image); ?>" id="this_photo" />
<a href="#" class="select"><img src="<?php echo clean_url($image); ?>" alt="<?php echo attribute_escape(__('Click to insert.')); ?>" title="<?php echo attribute_escape(__('Click to insert.')); ?>" /></a></p>
jQuery('.select').click(function() {
image_selector();
});
</script>
<h3 id="title"><label for="post_title"><?php _e('Description') ?></label></h3>
<div class="titlewrap">
<input id="this_photo_description" name="photo_description" class="text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo attribute_escape($title);?>"/>
</div>
<p id="options"><a href="#" class="select button"><?php _e('Insert Image'); ?></a> <a href="#" class="cancel button"><?php _e('Cancel'); ?></a></p>
<?php die;
}
<p class="centered"><input type="hidden" name="this_photo" value="<?php echo attribute_escape($image); ?>" id="this_photo" />
<a href="#" class="select"><img src="<?php echo clean_url($image); ?>" alt="<?php echo attribute_escape(__('Click to insert.')); ?>" title="<?php echo attribute_escape(__('Click to insert.')); ?>" /></a></p>
if($_REQUEST['ajax'] == 'thickbox_url') { ?>
<script type="text/javascript" charset="utf-8">
jQuery('.cancel').click(function() {
tb_remove();
});
<p id="options"><a href="#" class="select button"><?php _e('Insert Image'); ?></a> <a href="#" class="cancel button"><?php _e('Cancel'); ?></a></p>
<?php break;
case 'photo_thickbox_url': ?>
<script type="text/javascript" charset="utf-8">
jQuery('.cancel').click(function() {
tb_remove();
});
jQuery('.select').click(function() {
image_selector();
});
</script>
<h3 id="title"><label for="post_title"><?php _e('URL') ?></label></h3>
<div class="titlewrap">
<input id="this_photo" name="this_photo" class="text" onkeypress="if(event.keyCode==13) image_selector();" />
</div>
jQuery('.select').click(function() {
image_selector();
});
</script>
<h3 id="title"><label for="post_title"><?php _e('URL') ?></label></h3>
<div class="titlewrap">
<input id="this_photo" name="this_photo" class="text" onkeypress="if(event.keyCode==13) image_selector();" />
</div>
<h3 id="title"><label for="post_title"><?php _e('Description') ?></label></h3>
<div class="titlewrap">
<input id="this_photo_description" name="photo_description" class="text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo attribute_escape($title);?>"/>
</div>
<h3 id="title"><label for="post_title"><?php _e('Description') ?></label></h3>
<div class="titlewrap">
<input id="this_photo_description" name="photo_description" class="text" onkeypress="if(event.keyCode==13) image_selector();" value="<?php echo attribute_escape($title);?>"/>
</div>
<p id="options"><a href="#" class="select"><?php _e('Insert Image'); ?></a> | <a href="#" class="cancel"><?php _e('Cancel'); ?></a></p>
<?php die;
}
<p id="options"><a href="#" class="select"><?php _e('Insert Image'); ?></a> | <a href="#" class="cancel"><?php _e('Cancel'); ?></a></p>
<?php break;
case 'photo_images':
function get_images_from_uri($uri) {
if( preg_match('/\.(jpg|jpe|jpeg|png|gif)/', $uri) && !strpos($uri,'blogger.com') )
return "'".$uri."'";
if($_REQUEST['ajax'] == 'video') { ?>
<h2 id="embededcode"><label for="embed_code"><?php _e('Embed Code') ?></label></h2>
<div class="titlewrap" >
<textarea name="embed_code" id="embed_code" rows="8" cols="40"><?php echo format_to_edit($selection); ?></textarea>
</div>
<?php die;
}
$content = wp_remote_fopen($uri);
if ( false === $content ) return '';
if($_REQUEST['ajax'] == 'photo_images') {
function get_images_from_uri($uri) {
if( preg_match('/\.(jpg|jpe|jpeg|png|gif)/', $uri) && !strpos($uri,'blogger.com') )
return "'".$uri."'";
$host = parse_url($uri);
$content = wp_remote_fopen($uri);
if ( false === $content ) return '';
$pattern = '/<img ([^>]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif))[^<>\'\"]*(\2)([^>\/]*)\/*>/is';
preg_match_all($pattern, $content, $matches);
$host = parse_url($uri);
if ( empty($matches[0]) ) return '';
$pattern = '/<img ([^>]*)src=(\"|\')([^<>]+?\.(png|jpeg|jpg|jpe|gif))[^<>\'\"]*(\2)([^>\/]*)\/*>/is';
preg_match_all($pattern, $content, $matches);
$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, '/') === true)
$src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
else
$src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
if ( empty($matches[1]) ) 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, '/') === true)
$src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
else
$src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
$sources[] = clean_url($src);
$sources[] = clean_url($src);
error_log($src);
}
return "'" . implode("','", $sources) . "'";
}
return "'" . implode("','", $sources) . "'";
}
$url = urldecode($url);
$url = str_replace(' ', '%20', $url);
echo 'new Array('.get_images_from_uri($url).')';
$url = urldecode($url);
$url = str_replace(' ', '%20', $url);
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(!my_src) {
var my_src = eval(
jQuery.ajax({
type: "GET",
url: "<?php echo clean_url($_SERVER['PHP_SELF']); ?>",
cache : false,
async : false,
data: "ajax=photo_images&u=<?php echo urlencode($url); ?>",
dataType : "script"
}).responseText
);
}
for (i = 0; i < my_src.length; i++) {
img = new Image();
img.src = my_src[i];
img_attr = 'id="img' + i + '"';
skip = false;
if (img.width && img.height) {
if (img.width * img.height < 2500)
skip = true;
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;"';
}
if (!skip) strtoappend += '<a href="?ajax=photo_thickbox&amp;i=' + img.src + '&amp;u=<?php echo $url; ?>&amp;height=400&amp;width=500" title="" class="thickbox"><img src="' + img.src + '" ' + img_attr + '/></a>';
}
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('<input name="photo_src[' + length + ']" value="' + img +'" type="hidden"/>');
jQuery('.photolist').append('<input name="photo_description[' + length + ']" value="' + desc +'" type="hidden"/>');
append_editor("\n\n" + '<p><img src="' + img +'" alt="' + desc + '" class="aligncenter"/></p>');
}
tinyMCE.activeEditor.resizeToContent();
return false;
}
function image_selector() {
tb_remove();
desc = jQuery('#this_photo_description').val();
src = jQuery('#this_photo').val();
pick(src, desc);
jQuery('#extra_fields').hide();
return false;
}
jQuery(document).ready(function() {
jQuery('#extra_fields').html('<h2>Photo <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><div class="photolist"></div><ul id="actions"><li><a href="#" id="photo_add_url" class="thickbox button"><?php _e("Add from URL") ?> +</a></li></ul><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a></p>');
jQuery('.close').click(function() {
jQuery('#extra_fields').hide();
});
jQuery('#img_container').html(strtoappend);
jQuery('#photo_add_url').attr('href', '?ajax=photo_thickbox_url&height=200&width=500');
tb_init('#extra_fields .thickbox');
});
<?php break;
}
die;
}
if($_REQUEST['ajax'] == 'photo_js') { ?>
// gather images and load some default JS
var last = null
var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
var my_src = eval(
jQuery.ajax({
type: "GET",
url: "<?php echo clean_url($_SERVER['PHP_SELF']); ?>",
cache : false,
async : false,
data: "ajax=photo_images&u=<?php echo urlencode($url); ?>",
dataType : "script"
}).responseText
);
for (i = 0; i < my_src.length; i++) {
img = new Image();
img.src = my_src[i];
img_attr = 'id="img' + i + '"';
skip = false;
if (img.width && img.height) {
if (img.width * img.height < 2500)
skip = true;
aspect = img.width / img.height;
scale = (aspect > 1) ? (75 / img.width) : (75 / 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;"';
}
if (!skip) strtoappend += '<a href="?ajax=thickbox&amp;i=' + img.src + '&amp;u=<?php echo $url; ?>&amp;height=400&amp;width=500" title="" class="thickbox"><img src="' + img.src + '" ' + img_attr + '/></a>';
}
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('<input name="photo_src[' + length + ']" value="' + img +'" type="hidden"/>');
jQuery('.photolist').append('<input name="photo_description[' + length + ']" value="' + desc +'" type="hidden"/>');
append_editor("\n\n" + '<p><img src="' + img +'" alt="' + desc + '" class="aligncenter"/></p>');
}
tinyMCE.activeEditor.resizeToContent();
return false;
}
function image_selector() {
tb_remove();
desc = jQuery('#this_photo_description').val();
src = jQuery('#this_photo').val();
pick(src, desc);
return false;
}
jQuery(document).ready(function() {
jQuery('#extra_fields').html('<div class="photolist"></div><small id="photo_directions"><?php _e("Click images to select:") ?> <span><a href="#" id="photo_add_url" class="thickbox"><?php _e("Add from URL") ?> +</a></span></small><div class="titlewrap"><div id="img_container"></div></div>');
jQuery('#img_container').html(strtoappend);
jQuery('#photo_add_url').attr('href', '?ajax=thickbox_url&height=200&width=500');
tb_init('a.thickbox, area.thickbox, input.thickbox');
});
<?php die;
}
if($_REQUEST['ajax'] == 'photo') { ?>
<?php die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
<title><?php _e('Press This') ?></title>
<script type="text/javascript" src="../wp-includes/js/tinymce/tiny_mce.js?ver=311"></script>
<?php
add_thickbox();
@ -310,8 +301,6 @@ if($_REQUEST['ajax'] == 'photo') { ?>
wp_enqueue_script( 'post' );
wp_enqueue_script('editor_functions');
// wp_teeny_mce();
do_action('admin_print_styles');
do_action('admin_print_scripts');
do_action('admin_head');
@ -336,7 +325,7 @@ if($_REQUEST['ajax'] == 'photo') { ?>
width: "100%",
height: "300",
theme : "advanced",
theme_advanced_buttons1 : "bold,italic,underline,blockquote,separator,strikethrough,bullist,numlist,undo,redo,link,unlink",
theme_advanced_buttons1 : "bold,italic,underline,blockquote,separator,strikethrough,bullist,numlist,justifyleft, justifycenter, justifyright, undo,redo,link,unlink",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
@ -353,7 +342,7 @@ if($_REQUEST['ajax'] == 'photo') { ?>
remove_linebreaks : true,
accessibility_focus : false,
tab_focus : ":next",
plugins : "safari,inlinepopups",
plugins : "safari,inlinepopups, media",
entities : "38,amp,60,lt,62,gt",
force_p_newlines : true,
save_callback : 'switchEditors.saveCallback'
@ -361,9 +350,7 @@ if($_REQUEST['ajax'] == 'photo') { ?>
<?php } ?>
jQuery('#tags-input').hide();
tag_update_quickclicks();
// add the quickadd form
jQuery('#jaxtag').prepend('<span id="ajaxtag"><input type="text" name="newtag" id="newtag" class="form-input-tip" size="16" autocomplete="off" value="'+postL10n.addTag+'" /><input type="submit" class="button" id="tagadd" value="' + postL10n.add + '" tabindex="3" onclick="return false;" /><input type="hidden"/><input type="hidden"/><span class="howto">'+postL10n.separate+'</span></span>');
@ -376,17 +363,10 @@ if($_REQUEST['ajax'] == 'photo') { ?>
if ( this.value == '' )
jQuery(this).val( postL10n.addTag ).addClass( 'form-input-tip' );
});
// auto-save tags on post save/publish
jQuery('#publish').click( tag_save_on_publish );
jQuery('#save-post').click( tag_save_on_publish );
jQuery('#save').click( tag_save_on_publish );
function set_menu(type) {
jQuery('#text_button').removeClass('ui-tabs-selected');
jQuery('#menu li').removeClass('ui-tabs-selected');
jQuery('#' + type + '_button').addClass('ui-tabs-selected');
jQuery("#post_type").val(type);
}
function set_editor(text) {
if ( '' == text || '<p></p>' == text ) text = '<p><br /></p>';
@ -394,36 +374,16 @@ if($_REQUEST['ajax'] == 'photo') { ?>
}
function append_editor(text) {
if ( '' != text && tinyMCE.activeEditor ) tinyMCE.execCommand('mceInsertContent', false, text);
if ( '' != text && tinyMCE.activeEditor ) tinyMCE.execCommand('mceSetContent', false, tinyMCE.activeEditor.getContent({format : 'raw'})
+ '<p>' + tinymce.DOM.decode(text) + '</p>');
tinyMCE.execCommand('mceCleanup');
}
function set_title(title) { jQuery("#content_type").text(title); }
function show(tab_name) {
jQuery('body').removeClass('video_split');
jQuery('#extra_fields').hide();
switch(tab_name) {
case 'text' :
set_menu('text');
set_title('<?php _e('Post') ?>');
<?php if ($selection) { ?>
set_editor('<?php echo $selection; ?><p><a href="<?php echo $url ?>"><?php echo $title; ?></a>.</p>');
<?php } else { ?>
set_editor('<p><a href="<?php echo $url ?>"><?php echo $title; ?></a></p>');
<?php } ?>
return false;
break;
case 'quote' :
set_menu('quote');
set_title('<?php _e('Quote') ?>');
set_editor('<blockquote><?php echo $selection; ?> <p><cite><a href="<?php echo $url; ?>"><?php echo $title; ?> </a> </cite> </p></blockquote>');
return false;
break;
case 'video' :
set_menu('video');
set_title('<?php _e('Caption') ?>');
jQuery('#extra_fields').show();
jQuery('body').addClass('video_split');
jQuery('#extra_fields').load('<?php echo clean_url($_SERVER['PHP_SELF']); ?>', { ajax: 'video', s: '<?php echo attribute_escape($selection); ?>'}, function() {
<?php
$content = '';
@ -442,43 +402,37 @@ if($_REQUEST['ajax'] == 'photo') { ?>
$content = $selection;
}
?>
jQuery('#embed_code').prepend('<?php echo htmlentities($content); ?>');
jQuery('#embed-code').prepend('<?php echo htmlentities($content); ?>');
set_editor('<a href="<?php echo $url ?>"><?php echo $title; ?></a>.');
});
return false;
break;
case 'photo' :
set_menu('photo');
set_title('<?php _e('Post') ?>');
<?php if ($selection) { ?>
set_editor('<?php echo $selection; ?><p><a href="<?php echo $url ?>"><?php echo $title; ?></a></p>');
<?php } else { ?>
set_editor('<p><a href="<?php echo $url ?>"><?php echo $title; ?></a></p>');
<?php } ?>
jQuery('#extra_fields').show();
jQuery('#extra_fields').before('<h2 id="waiting"><img src="images/loading.gif" alt="" /><?php echo js_escape( __( 'Loading...' ) ); ?></h2>');
jQuery.ajax({
type: "GET",
cache : false,
url: "<?php echo clean_url($_SERVER['PHP_SELF']); ?>",
data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
dataType : "script",
success : function() {
jQuery('#waiting').remove();
}
});
if(jQuery('#extra_fields').css('display') == 'none') {
jQuery('#extra_fields').show();
jQuery('#extra_fields').before('<p id="waiting"><img src="images/loading.gif" alt="" /><?php echo js_escape( __( 'Loading...' ) ); ?></p>');
jQuery.ajax({
type: "GET",
cache : false,
url: "<?php echo clean_url($_SERVER['PHP_SELF']); ?>",
data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
dataType : "script",
success : function() {
jQuery('#waiting').remove();
}
});
} else {
jQuery('#extra_fields').hide();
}
return false;
break;
}
}
jQuery(document).ready(function() {
jQuery('#menu li').click(function (){
tab_name = this.id.split('_');
tab_name = tab_name[0];
show(tab_name);
});
jQuery('#photo_button').click(function() { show('photo'); return false; });
jQuery('#video_button').click(function() { show('video'); return false; });
// Set default tabs
<?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
show('video');
@ -487,25 +441,18 @@ if($_REQUEST['ajax'] == 'photo') { ?>
<?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
show('photo');
<?php } ?>
jQuery('#submit').click(function() { jQuery('saving').css('display', 'block'); });
});
</script>
</head>
<body class="press-this">
<div id="wphead">
<h1><span id="viewsite"><a href="<?php echo get_option('home'); ?>/"><?php _e('Visit:') ?> <?php bloginfo('name'); ?></a></span></h1>
</div>
<ul id="menu" class="ui-tabs-nav">
<li id="text_button" class="ui-tabs-selected"><a href="#"><?php _e('Text') ?></a></li>
<li id="photo_button"><a href="#"><?php _e('Photo') ?></a></li>
<li id="quote_button"><a href="#"><?php _e('Quote') ?></a></li>
<li id="video_button"><a href="#"><?php _e('Video') ?></a></li>
</ul>
<?php
if ( isset($_GET['posted']) && intval($_GET['posted']) ) {
$post_ID = intval($_GET['posted']);
if ( isset($posted) && intval($posted) ) {
$post_ID = intval($posted);
?>
<div id="message" class="updated fade"><p><strong><?php _e('Your post has been saved.'); ?></strong> <a onclick="window.opener.location.replace(this.href); window.close();" href="<?php echo get_permalink( $post_ID); ?>"><?php _e('View post'); ?></a> | <a href="<?php echo get_edit_post_link( $post_ID ); ?>" onclick="window.opener.location.replace(this.href); window.close();"><?php _e('Edit post'); ?></a> | <a href="#" onclick="window.close();"><?php _e('Close Window'); ?></a></p></div>
<?php
@ -514,44 +461,81 @@ if ( isset($_GET['posted']) && intval($_GET['posted']) ) {
<form action="press-this.php?action=post" method="post">
<?php wp_nonce_field('press-this') ?>
<input type="hidden" name="post_type" id="post_type" value="text"/>
<div id="posting">
<h2 id="title"><label for="post_title"><?php _e('Title') ?></label></h2>
<div class="titlewrap">
<input name="post_title" id="post_title" class="text" value="<?php echo attribute_escape($title);?>"/>
</div>
<div id="poststuff">
<div id="side-info-column">
<div class="sleeve">
<h1 id="viewsite"><a class="button" href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?> &rsaquo; <?php _e('Press This') ?></a></span></h1>
<div id="categorydiv" class="stuffbox">
<h2><?php _e('Categories') ?></h2>
<div class="inside">
<div id="categories-all" class="ui-tabs-panel">
<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
<?php wp_category_checklist($post->ID, false, false, $popular_ids) ?>
</ul>
</div>
<div id="extra_fields" style="display: none"></div>
<div class="editor_area">
<h2 id="content_type"><label for="content"><?php _e('Post') ?></label></h2>
<div class="editor-container">
<textarea name="content" id="content" style="width:100%;" class="mceEditor" rows="15"><?php if ($selection) { echo wp_richedit_pre($selection); } ?><a href="<?php echo $url ?>"><?php echo $title; ?></a>.</textarea>
<div id="category-adder" class="wp-hidden-children">
<h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
<p id="category-add" class="wp-hidden-child">
<label class="hidden" for="newcat"><?php _e( 'Add New Category' ); ?></label><input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" aria-required="true"/>
<label class="hidden" for="newcat_parent"><?php _e('Parent category'); ?>:</label><?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?>
<input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
<?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?>
<span id="category-ajax-response"></span>
</p>
</div>
</div>
</div>
<div class="stuffbox">
<h2><?php _e('Tags') ?></h2>
<div class="inside">
<div id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></div>
<div id="tagchecklist"></div>
</div>
</div>
<div id="submitdiv" class="stuffbox">
<h2><?php _e('Publish') ?></h2>
<div class="submitbox">
<p class="submit">
<input class="button" type="submit" name="draft" value="<?php _e('Save Draft') ?>" id="save" />
<input class="button" type="submit" name="publish" value="<?php _e('Publish') ?>" id="publish" />
<img src="images/loading-publish.gif" alt="" id="saving" style="display:none;"/>
</p>
</div>
</div>
</div>
</div>
<div id="categories">
<div class="submitbox" id="submitpost">
<div id="previewview"></div>
<div class="inside">
<h2><?php _e('Categories') ?></h2>
<div id="categories-all">
<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
<?php wp_category_checklist() ?>
</ul>
</div>
<h2><?php _e('Tags') ?></h2>
<p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></p>
<div id="tagchecklist"></div>
<div class="posting">
<h2 id="title"><label for="post_title"><?php _e('Title') ?></label></h2>
<div class="titlewrap">
<input name="post_title" id="post_title" class="text" value="<?php echo attribute_escape($title);?>"/>
</div>
<p class="submit">
<input type="submit" name="draft" value="<?php _e('Save') ?>" onclick="document.getElementById('photo_saving').style.display = '';"/>
<input type="submit" name="publish" value="<?php _e('Publish') ?>" onclick="document.getElementById('photo_saving').style.display = '';"/>
<img src="images/loading-publish.gif" alt="" id="photo_saving" style="display:none;"/>
</p>
<div id="extra_fields" style="display: none"></div>
<div class="postdivrich">
<ul id="actions">
<li id="photo_button"><a href="#" class="button"><?php _e( 'Add Photo' ); ?></a></li>
<li id="video_button"><a href="#" class="button"><?php _e( 'Add Video' ); ?></a></li>
</ul>
<h2 id="content_type"><label for="content"><?php _e('Post') ?></label></h2>
<div class="editor-container">
<textarea name="content" id="content" style="width:100%;" class="mceEditor" rows="15"><?php if ($selection) { echo wp_richedit_pre($selection); } ?><a href="<?php echo $url ?>"><?php echo $title; ?></a><?php if($selection) echo '.'; ?></textarea>
</div>
</div>
</div>
</div>
</form>
</body>

View File

@ -315,8 +315,8 @@ function wp_default_styles( &$styles ) {
$styles->add( 'dashboard', '/wp-admin/css/dashboard.css' );
$styles->add( 'install', '/wp-admin/css/install.css', array(), '20080708' );
$styles->add( 'theme-editor', '/wp-admin/css/theme-editor.css' );
$styles->add( 'press-this', '/wp-admin/css/press-this.css', array(), '20080710' );
$styles->add( 'press-this-ie', '/wp-admin/css/press-this-ie.css', array(), '20080710' );
$styles->add( 'press-this', '/wp-admin/css/press-this.css', array(), '20080915' );
$styles->add( 'press-this-ie', '/wp-admin/css/press-this-ie.css', array(), '20080915' );
$styles->add_data( 'press-this-ie', 'conditional', 'gte IE 6' );
$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array(), '20080613' );
$styles->add( 'login', '/wp-admin/css/login.css' );