From c957fe0aab54531d5ceb13718ecff078f3c9f5cb Mon Sep 17 00:00:00 2001 From: Kjartan Mannes Date: Fri, 4 Jun 2004 18:00:48 +0000 Subject: - Commited patch #4878: Support file uploads via blogapi. --- modules/blogapi/blogapi.module | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'modules/blogapi/blogapi.module') diff --git a/modules/blogapi/blogapi.module b/modules/blogapi/blogapi.module index 8d5fa3089..15c68c01c 100644 --- a/modules/blogapi/blogapi.module +++ b/modules/blogapi/blogapi.module @@ -247,11 +247,29 @@ function blogapi_delete_post($req_params) { /** * Blogging API callback. Inserts a file into Drupal. - * - * This has yet to be implemented. */ function blogapi_new_media_object($req_params) { - return blogapi_error('not implemented'); + $params = blogapi_convert($req_params); + + $user = blogapi_validate_user($params[1], $params[2]); + if (!$user->uid) { + return blogapi_error($user); + } + + $name = basename($params[3]['name']); + $data = $params[3]['bits']; + + if (!$data) { + return blogapi_error(t('No file sent')); + } + + if (!$file = file_save_data($data, $name)) { + return blogapi_error(t('Error storing file')); + } + + // Return the successful result. + $result = new xmlrpcval(array('url' => new xmlrpcval(file_create_url($file), 'string')), 'struct'); + return new xmlrpcresp($result); } /** -- cgit v1.2.3