aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-02-21 23:35:50 -0800
committerfriendica <info@friendica.com>2012-02-21 23:35:50 -0800
commita19ddb48eee91608b9b0e368e2db51765e66c089 (patch)
treeb5afdda92e46c571275f7add72116b35a06a953b
parent91c334902565b2ceb7fd26735b4d501973e28557 (diff)
downloadvolse-hubzilla-a19ddb48eee91608b9b0e368e2db51765e66c089.tar.gz
volse-hubzilla-a19ddb48eee91608b9b0e368e2db51765e66c089.tar.bz2
volse-hubzilla-a19ddb48eee91608b9b0e368e2db51765e66c089.zip
waitman gobble media upload via api patch
-rwxr-xr-xinclude/api.php44
-rwxr-xr-xmod/wall_upload.php22
2 files changed, 61 insertions, 5 deletions
diff --git a/include/api.php b/include/api.php
index 04f95ebd9..28d6c3f4b 100755
--- a/include/api.php
+++ b/include/api.php
@@ -453,7 +453,49 @@
return null;
}
- // TODO - media uploads
+/*Waitman Gobble Mod*/
+ function api_statuses_mediap(&$a, $type) {
+ if (local_user()===false) {
+ logger('api_statuses_update: no user');
+ return false;
+ }
+ $user_info = api_get_user($a);
+
+ $_REQUEST['type'] = 'wall';
+ $_REQUEST['profile_uid'] = local_user();
+ $_REQUEST['api_source'] = true;
+ $txt = urldecode(requestdata('status'));
+
+ require_once('library/HTMLPurifier.auto.php');
+ require_once('include/html2bbcode.php');
+
+ if((strpos($txt,'<') !== false) || (strpos($txt,'>') !== false)) {
+ $txt = html2bb_video($txt);
+ $config = HTMLPurifier_Config::createDefault();
+ $config->set('Cache.DefinitionImpl', null);
+ $purifier = new HTMLPurifier($config);
+ $txt = $purifier->purify($txt);
+ }
+ $txt = html2bbcode($txt);
+
+ $a->argv[1]=$user_info['screen_name']; //should be set to username?
+
+ $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo
+ require_once('mod/wall_upload.php');
+ $bebop = wall_upload_post($a);
+
+ //now that we have the img url in bbcode we can add it to the status and insert the wall item.
+ $_REQUEST['body']=$txt."\n\n".$bebop;
+ require_once('mod/item.php');
+ item_post($a);
+
+ // this should output the last post (the one we just posted).
+ return api_status_show($a,$type);
+ }
+ api_register_func('api/statuses/mediap','api_statuses_mediap', true);
+/*Waitman Gobble Mod*/
+
+
function api_statuses_update(&$a, $type) {
if (local_user()===false) {
logger('api_statuses_update: no user');
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index 278c21354..64f174a78 100755
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -101,10 +101,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