]> git.mxchange.org Git - friendica.git/blobdiff - mod/uexport.php
add photo upload link to album widget and "upload to this album" ability
[friendica.git] / mod / uexport.php
index 423c3a82fa137c1d7d86b8f50005947d198a2f45..e1fb22855a6066fa8b99336b837f29ef9ebbb0ea 100644 (file)
@@ -17,7 +17,7 @@ function uexport_init(&$a) {
        }
        $contact = array();
        $r = q("SELECT * FROM `contact` WHERE `uid` = %d ",
-               local_user()
+               intval(local_user())
        );
        if(count($r)) {
                foreach($r as $rr)
@@ -28,7 +28,7 @@ function uexport_init(&$a) {
 
        $profile = array();
        $r = q("SELECT * FROM `profile` WHERE `uid` = %d ",
-               local_user()
+               intval(local_user())
        );
        if(count($r)) {
                foreach($r as $rr)
@@ -36,12 +36,36 @@ function uexport_init(&$a) {
                                $profile[][$k] = $v;
        }
 
+       $output = array('user' => $user, 'contact' => $contact, 'profile' => $profile );
 
+       header("Content-type: application/json");
+       echo json_encode($output);
+
+       $r = q("SELECT count(*) as `total` FROM `item` WHERE `uid` = %d ",
+               intval(local_user())
+       );
+       if(count($r))
+               $total = $r[0]['total'];
 
-       $output = array('user' => $user, 'contact' => $contact, 'profile' => $profile);
+       // chunk the output to avoid exhausting memory
+
+       for($x = 0; $x < $total; $x += 500) {
+               $item = array();
+               $r = q("SELECT * FROM `item` WHERE `uid` = %d LIMIT %d, %d",
+                       intval(local_user()),
+                       intval($x),
+                       intval(500)
+               );
+               if(count($r)) {
+                       foreach($r as $rr)
+                               foreach($rr as $k => $v)
+                                       $item[][$k] = $v;
+               }
+
+               $output = array('item' => $item);
+               echo json_encode($output);
+       }
 
-       header("Content-type: text/json");
-       echo str_replace('\\/','/',json_encode($output));
 
        killme();