]> git.mxchange.org Git - friendica.git/blobdiff - mod/wall_upload.php
Merge branch 'master' of https://github.com/friendica/friendica
[friendica.git] / mod / wall_upload.php
index fa66561e8ec3ab9c1fcd726f1080fa2878aa4e6b..5990f28344b92b0c2007538d159e3aac15f6647e 100644 (file)
@@ -57,17 +57,20 @@ function wall_upload_post(&$a) {
        if(! x($_FILES,'userfile') && ! x($_FILES,'media'))
                killme();
 
-        if(x($_FILES,'userfile')) {
-               $src      = $_FILES['userfile']['tmp_name'];
-               $filename = basename($_FILES['userfile']['name']);
-               $filesize = intval($_FILES['userfile']['size']);
-        }
-        elseif(x($_FILES,'media')) {
-               $src = $_FILES['media']['tmp_name'];
-                $filename = basename($_FILES['media']['name']);
-               $filesize = intval($_FILES['media']['size']);
-        }
-
+       if(x($_FILES,'userfile')) {
+               $src      = $_FILES['userfile']['tmp_name'];
+               $filename = basename($_FILES['userfile']['name']);
+               $filesize = intval($_FILES['userfile']['size']);
+               $filetype = $_FILES['userfile']['type'];
+       }
+       elseif(x($_FILES,'media')) {
+               $src = $_FILES['media']['tmp_name'];
+               $filename = basename($_FILES['media']['name']);
+               $filesize = intval($_FILES['media']['size']);
+               $filetype = $_FILES['media']['type'];
+       }
+       
+    if ($filetype=="") $filetype=guess_image_type($filename);
        $maximagesize = get_config('system','maximagesize');
 
        if(($maximagesize) && ($filesize > $maximagesize)) {
@@ -76,8 +79,21 @@ function wall_upload_post(&$a) {
                killme();
        }
 
+       $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
+               intval($page_owner_uid)
+       );
+
+       $limit = service_class_fetch($page_owner_uid,'photo_upload_limit');
+
+       if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
+               echo upgrade_message(true) . EOL ;
+               @unlink($src);
+               killme();
+       }
+
+
        $imagedata = @file_get_contents($src);
-       $ph = new Photo($imagedata);
+       $ph = new Photo($imagedata, $filetype);
 
        if(! $ph->is_valid()) {
                echo ( t('Unable to process image.') . EOL);
@@ -123,19 +139,19 @@ function wall_upload_post(&$a) {
 /* mod Waitman Gobble NO WARRANTY */
 
 //if we get the signal then return the image url info in BBCODE, otherwise this outputs the info and bails (for the ajax image uploader on wall post)
-        if ($_REQUEST['hush']!='yeah') {
+       if ($_REQUEST['hush']!='yeah') {
 
                /*existing code*/
                if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
-                       echo  "\n\n" . '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg[/img][/url]\n\n";
+                       echo  "\n\n" . '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]\n\n";
                else
-                       echo  '<br /><br /><a href="' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '" ><img src="' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg\" alt=\"$basename\" /></a><br /><br />";
+                       echo  '<br /><br /><a href="' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '" ><img src="' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."\" alt=\"$basename\" /></a><br /><br />";
                /*existing code*/
                
        } else {
-                $m = '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg[/img][/url]";
+               $m = '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]";
                return($m);
-        }
+       }
 /* mod Waitman Gobble NO WARRANTY */
 
        killme();