aboutsummaryrefslogtreecommitdiffstats
path: root/mod/wall_attach.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/wall_attach.php')
-rw-r--r--mod/wall_attach.php31
1 files changed, 29 insertions, 2 deletions
diff --git a/mod/wall_attach.php b/mod/wall_attach.php
index 47c097416..465c3e1cc 100644
--- a/mod/wall_attach.php
+++ b/mod/wall_attach.php
@@ -2,15 +2,42 @@
require_once('include/attach.php');
require_once('include/identity.php');
+require_once('include/photos.php');
function wall_attach_post(&$a) {
if(argc() > 1)
$channel = get_channel_by_nick(argv(1));
- else
+ elseif($_FILES['media']) {
+ require_once('include/api.php');
+ $user_info = api_get_user($a);
+ $nick = $user_info['screen_name'];
+ $channel = get_channel_by_nick($user_info['screen_name']);
+ }
+
+ if(! $channel)
killme();
- $r = attach_store($channel,get_observer_hash());
+ $observer = $a->get_observer();
+
+
+ if($_FILES['userfile']['tmp_name']) {
+ $x = getimagesize($_FILES['userfile']['tmp_name']);
+ if(($x) && ($x[2] === IMG_GIF || $x[2] === IMG_JPG || $x[2] === IMG_JPEG || $x[2] === IMG_PNG)) {
+ $args = array( 'source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash']));
+ $ret = photo_upload($channel,$observer,$args);
+ if($ret['success']) {
+ echo "\n\n" . $ret['body'] . "\n\n";
+ killme();
+ }
+ if($using_api)
+ return;
+ notice($ret['message']);
+ killme();
+ }
+ }
+
+ $r = attach_store($channel,(($observer) ? $observer['xchan_hash'] : ''));
if(! $r['success']) {
notice( $r['message'] . EOL);