aboutsummaryrefslogtreecommitdiffstats
path: root/mod/wall_attach.php
blob: 465c3e1cc61884206414677b7aaaf51fea98e927 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php

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));
	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();

	$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);
		killme();
	}

	echo  "\n\n" . '[attachment]' . $r['data']['hash'] . ',' . $r['data']['revision'] . '[/attachment]' . "\n";
	killme();

}