From 36b66dccb60a7d65724da542f9d7a2d6722fc6aa Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Thu, 22 Jul 2010 22:41:45 -0700 Subject: [PATCH] ajaxify the wall poster --- images/pen.png | Bin 0 -> 252 bytes images/penhover.png | Bin 0 -> 270 bytes mod/parse_url.php | 32 ++++++++++++++++ mod/wall_upload.php | 88 ++++++++++++++++++++++++++++++++++++++++++-- view/jot-header.tpl | 20 ++++++++-- view/jot.tpl | 6 ++- view/style.css | 11 +++++- view/wall_item.tpl | 3 +- 8 files changed, 148 insertions(+), 12 deletions(-) create mode 100644 images/pen.png create mode 100644 images/penhover.png create mode 100644 mod/parse_url.php diff --git a/images/pen.png b/images/pen.png new file mode 100644 index 0000000000000000000000000000000000000000..46b4049418dca0dc1aafab4384f66e16a9c0c310 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh-%)r2S`T62cKn_c~qpu?a!^VE@KZ&eBzCnOb zh%1oZu=~oH%a3;+zBy&_kQWV&eqi11sejj!k4O-J>NT0yKcZ)78&qol`;+06D!>B>(^b literal 0 HcmV?d00001 diff --git a/images/penhover.png b/images/penhover.png new file mode 100644 index 0000000000000000000000000000000000000000..be48d77b41c0f94fd4aa9c3b8bdfacdb8facc533 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh-%)r2S`T62cKn_c~qpu?a!^VE@KZ&eBzCnOb zh%1oZu=~oH%a3;+zBy&_kmdKI;Vst0J*GY{{R30 literal 0 HcmV?d00001 diff --git a/mod/parse_url.php b/mod/parse_url.php new file mode 100644 index 000000000..33381a0d2 --- /dev/null +++ b/mod/parse_url.php @@ -0,0 +1,32 @@ +%s"; + + if($url) + $s = fetch_url($url); + + if(! $s) { + echo sprintf($template,$url,$url); + killme(); + } + + $dom = HTML5_Parser::parse($s); + + if(! $dom) + return $ret; + + $items = $dom->getElementsByTagName('title'); + + foreach($items as $item) { + $title = $item->textContent; + break; + } + + echo sprintf($template,$url,$title); + killme(); +} \ No newline at end of file diff --git a/mod/wall_upload.php b/mod/wall_upload.php index 769e5dcbc..d74eae302 100644 --- a/mod/wall_upload.php +++ b/mod/wall_upload.php @@ -1,16 +1,98 @@ getImage())) { + notice("Unable to process image." . EOL); + @unlink($src); + return; + } + @unlink($src); - echo "get_baseurl(). "/images/default-profile.jpg\" alt=\"default\" />"; + $width = $ph->getWidth(); + $height = $ph->getHeight(); + + $hash = hash('md5',uniqid(mt_rand(),true)); + + $str_image = $ph->imageString(); + $smallest = 0; + + $r = q("INSERT INTO `photo` ( `uid`, `resource-id`, `created`, `edited`, `filename`, + `height`, `width`, `data`, `scale` ) + VALUES ( %d, '%s', '%s', '%s', '%s', %d, %d, '%s', 0 )", + intval($_SESSION['uid']), + dbesc($hash), + datetime_convert(), + datetime_convert(), + dbesc(basename($filename)), + intval($height), + intval($width), + dbesc($str_image)); + if($r) + notice("Image uploaded successfully." . EOL); + else + notice("Image upload failed." . EOL); + + if($width > 640 || $height > 640) { + $ph->scaleImage(640); + + $r = q("INSERT INTO `photo` ( `uid`, `resource-id`, `created`, `edited`, `filename`, + `height`, `width`, `data`, `scale` ) + VALUES ( %d, '%s', '%s', '%s', '%s', %d, %d, '%s', 1 )", + intval($_SESSION['uid']), + dbesc($hash), + datetime_convert(), + datetime_convert(), + dbesc(basename($filename)), + intval($ph->getHeight()), + intval($ph->getWidth()), + dbesc($ph->imageString()) + ); + if($r === false) + notice("Image size reduction (640) failed." . EOL ); + else + $smallest = 1; + } + + if($width > 320 || $height > 320) { + $ph->scaleImage(320); + + $r = q("INSERT INTO `photo` ( `uid`, `resource-id`, `created`, `edited`, `filename`, + `height`, `width`, `data`, `scale` ) + VALUES ( %d, '%s', '%s', '%s', '%s', %d, %d, '%s', 2 )", + intval($_SESSION['uid']), + dbesc($hash), + datetime_convert(), + datetime_convert(), + dbesc(basename($filename)), + intval($ph->getHeight()), + intval($ph->getWidth()), + dbesc($ph->imageString()) + ); + if($r === false) + notice("Image size reduction (320) failed." . EOL ); + else + $smallest = 2; + } + + $basename = basename($filename); + + echo "get_baseurl(). "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" />"; killme(); } \ No newline at end of file diff --git a/view/jot-header.tpl b/view/jot-header.tpl index 97e30cdae..3f8fe5302 100644 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -27,16 +27,28 @@ tinyMCE.init({ var uploader = new window.AjaxUpload( 'wall-image-upload', { action: 'wall_upload', - name: 'userfile', - onComplete: function(file,response) { - tinyMCE.execCommand('mceInsertRawHTML',false,response); - } + name: 'userfile', + onSubmit: function(file,ext) { $('#profile-rotator').show(); }, + onComplete: function(file,response) { + tinyMCE.execCommand('mceInsertRawHTML',false,response); + $('#profile-rotator').hide(); + } } ); }); + function jotGetLink() { + reply = prompt("Please enter a link URL:"); + $('#profile-rotator').show(); + $.get('parse_url?url=' + reply, function(data) { + tinyMCE.execCommand('mceInsertRawHTML',false,data); + $('#profile-rotator').hide(); + }); + } + +