]> git.mxchange.org Git - friendica.git/blobdiff - mod/wall_upload.php
backend support for 'x' deliveries per process - x is configurable, more importantly...
[friendica.git] / mod / wall_upload.php
old mode 100755 (executable)
new mode 100644 (file)
index 278c213..fa66561
@@ -5,21 +5,31 @@ require_once('Photo.php');
 function wall_upload_post(&$a) {
 
        if($a->argc > 1) {
-               $nick = $a->argv[1];
-               $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
-                       dbesc($nick)
-               );
-               if(! count($r))
-                       return;
-
+               if(! x($_FILES,'media')) {
+                       $nick = $a->argv[1];
+                       $r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid`  WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
+                               dbesc($nick)
+                       );
+
+                       if(! count($r))
+                                return;
+               }
+                else {
+                       $user_info = api_get_user($a);
+                       $r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid`  WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
+                               dbesc($user_info['screen_name'])
+                       );
+                }
        }
        else
                return;
 
+
        $can_post  = false;
        $visitor   = 0;
 
        $page_owner_uid   = $r[0]['uid'];
+       $default_cid      = $r[0]['id'];
        $page_owner_nick  = $r[0]['nickname'];
        $community_page   = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
 
@@ -34,6 +44,7 @@ function wall_upload_post(&$a) {
                        if(count($r)) {
                                $can_post = true;
                                $visitor = remote_user();
+                               $default_cid = $visitor;
                        }
                }
        }
@@ -43,12 +54,19 @@ function wall_upload_post(&$a) {
                killme();
        }
 
-       if(! x($_FILES,'userfile'))
+       if(! x($_FILES,'userfile') && ! x($_FILES,'media'))
                killme();
 
-       $src      = $_FILES['userfile']['tmp_name'];
-       $filename = basename($_FILES['userfile']['name']);
-       $filesize = intval($_FILES['userfile']['size']);
+        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']);
+        }
 
        $maximagesize = get_config('system','maximagesize');
 
@@ -76,7 +94,7 @@ function wall_upload_post(&$a) {
        
        $smallest = 0;
 
-       $defperm = '<' . $page_owner_uid . '>';
+       $defperm = '<' . $default_cid . '>';
 
        $r = $ph->store($page_owner_uid, $visitor, $hash, $filename, t('Wall Photos'), 0, 0, $defperm);
 
@@ -101,10 +119,24 @@ function wall_upload_post(&$a) {
 
        $basename = basename($filename);
 
-       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";
-       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 />";
+
+/* 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') {
+
+               /*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";
+               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 />";
+               /*existing code*/
+               
+       } else {
+                $m = '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.jpg[/img][/url]";
+               return($m);
+        }
+/* mod Waitman Gobble NO WARRANTY */
 
        killme();
        // NOTREACHED