aboutsummaryrefslogtreecommitdiffstats
path: root/mod/wall_upload.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/wall_upload.php')
-rw-r--r--mod/wall_upload.php88
1 files changed, 85 insertions, 3 deletions
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 @@
<?php
+require_once('Photo.php');
function wall_upload_post(&$a) {
+ if(! local_user()) {
+ notice ( "Permission denied." . EOL );
+ return;
+ }
- $src = $_FILES['userfile']['tmp_name'];
+ $src = $_FILES['userfile']['tmp_name'];
+ $filename = basename($_FILES['userfile']['name']);
+ $filesize = intval($_FILES['userfile']['size']);
+ $imagedata = @file_get_contents($src);
+ $ph = new Photo($imagedata);
-unlink($src);
+ if(! ($image = $ph->getImage())) {
+ notice("Unable to process image." . EOL);
+ @unlink($src);
+ return;
+ }
+ @unlink($src);
- echo "<img src=\"".$a->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 "<img src=\"".$a->get_baseurl(). "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" />";
killme();
} \ No newline at end of file