friendica/mod/wall_upload.php

63 lines
1.3 KiB
PHP
Raw Normal View History

2010-07-23 05:22:03 +02:00
<?php
2010-07-23 07:41:45 +02:00
require_once('Photo.php');
2010-07-23 05:22:03 +02:00
function wall_upload_post(&$a) {
if(! local_user()) {
echo ( t('Permission denied.') . EOL );
killme();
}
2010-07-23 05:22:03 +02:00
2010-08-03 04:06:36 +02:00
if(! x($_FILES,'userfile'))
killme();
2010-07-23 07:41:45 +02:00
$src = $_FILES['userfile']['tmp_name'];
$filename = basename($_FILES['userfile']['name']);
$filesize = intval($_FILES['userfile']['size']);
2010-07-23 05:22:03 +02:00
2010-07-23 07:41:45 +02:00
$imagedata = @file_get_contents($src);
$ph = new Photo($imagedata);
2010-07-23 05:22:03 +02:00
if(! $ph->is_valid()) {
2010-08-05 05:03:38 +02:00
echo ( t('Unable to process image.') . EOL);
2010-07-23 07:41:45 +02:00
@unlink($src);
2010-07-23 08:17:41 +02:00
killme();
2010-07-23 07:41:45 +02:00
}
2010-07-23 05:22:03 +02:00
2010-07-23 07:41:45 +02:00
@unlink($src);
2010-07-23 05:22:03 +02:00
2010-07-23 07:41:45 +02:00
$width = $ph->getWidth();
$height = $ph->getHeight();
$hash = photo_new_resource();
2010-07-23 07:41:45 +02:00
$smallest = 0;
$r = $ph->store(get_uid(), 0, $hash, $filename, t('Wall Photos'), 0 );
2010-08-05 05:03:38 +02:00
2010-07-23 08:17:41 +02:00
if(! $r) {
2010-08-05 05:03:38 +02:00
echo ( t('Image upload failed.') . EOL);
2010-07-23 08:17:41 +02:00
killme();
}
2010-07-23 07:41:45 +02:00
if($width > 640 || $height > 640) {
$ph->scaleImage(640);
$r = $ph->store(get_uid(), 0, $hash, $filename, t('Wall Photos'), 1 );
2010-07-23 08:17:41 +02:00
if($r)
2010-07-23 07:41:45 +02:00
$smallest = 1;
}
if($width > 320 || $height > 320) {
$ph->scaleImage(320);
$r = $ph->store(get_uid(), 0, $hash, $filename, t('Wall Photos'), 2 );
2010-07-23 08:17:41 +02:00
if($r)
2010-07-23 07:41:45 +02:00
$smallest = 2;
}
$basename = basename($filename);
2010-08-03 04:06:36 +02:00
echo "<br /><br /><img src=\"".$a->get_baseurl(). "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" /><br /><br />";
2010-07-23 07:41:45 +02:00
2010-07-23 05:22:03 +02:00
killme();
2010-08-03 04:06:36 +02:00
return; // NOTREACHED
2010-07-23 05:22:03 +02:00
}