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.php32
1 files changed, 30 insertions, 2 deletions
diff --git a/mod/wall_attach.php b/mod/wall_attach.php
index 47c097416..4b7103802 100644
--- a/mod/wall_attach.php
+++ b/mod/wall_attach.php
@@ -2,15 +2,43 @@
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']);
+ logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
+ if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_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);