uhremotestorage: update webfinger link

This commit is contained in:
Fabio Comuni 2011-12-19 09:35:24 +01:00
parent 2dbe596c82
commit 2a818e866f
3 changed files with 42 additions and 8 deletions

Binary file not shown.

View file

@ -2,5 +2,8 @@
<h3>$title</h3> <h3>$title</h3>
<p>$desc</p> <p>$desc</p>
{{ inc field_input.tpl with $field=$url }}{{ endinc }} {{ inc field_input.tpl with $field=$url }}{{ endinc }}
{{ inc field_input.tpl with $field=$auth }}{{ endinc }}
{{ inc field_select.tpl with $field=$api }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div> <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
</div> </div>

View file

@ -2,7 +2,7 @@
/** /**
* Name: unhosted remote storage * Name: unhosted remote storage
* Description: Expose in user XRD the link to external user's unhosted-enabled storage * Description: Expose in user XRD the link to external user's unhosted-enabled storage
* Version: 1.0 * Version: 1.2
* Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm> * Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
*/ */
@ -25,12 +25,19 @@ function uhremotestorage_uninstall() {
} }
function uhremotestorage_personal_xrd($a, &$b){ function uhremotestorage_personal_xrd($a, &$b){
list($user, $host) = explode("@",$_GET['uri']);
$user = str_replace("acct:","",$user);
$r = q("SELECT uid FROM user WHERE nickname='%s'", dbesc($user));
$uid = $r[0]['uid'];
$davurl = get_pconfig($b['user']['uid'],'uhremotestorage','davurl'); $url = get_pconfig($uid,'uhremotestorage','unhoestedurl');
if ($davurl){ $auth = get_pconfig($uid,'uhremotestorage','unhoestedauth');
$api = get_pconfig($uid,'uhremotestorage','unhoestedapi');
if ($url){
$b['xml'] = str_replace( $b['xml'] = str_replace(
'</XRD>', '</XRD>',
"\t".'<Link rel="http://unhosted.org/spec/dav/0.1" href="'.$davurl.'"/>'."\n</XRD>", "\t".'<Link rel="remoteStorage" template="'.$url.'" api="'.$api.'" auth="'.$auth.'" ></Link>'."\n</XRD>",
$b['xml'] $b['xml']
); );
} }
@ -39,7 +46,9 @@ function uhremotestorage_personal_xrd($a, &$b){
function uhremotestorage_settings_post($a, $post){ function uhremotestorage_settings_post($a, $post){
if(! local_user()) if(! local_user())
return; return;
set_pconfig(local_user(),'uhremotestorage','davurl',$_POST['unhoestedurl']); set_pconfig(local_user(),'uhremotestorage','unhoestedurl',$_POST['unhoestedurl']);
set_pconfig(local_user(),'uhremotestorage','unhoestedauth',$_POST['unhoestedauth']);
set_pconfig(local_user(),'uhremotestorage','unhoestedapi',$_POST['unhoestedapi']);
} }
function uhremotestorage_settings($a, &$s){ function uhremotestorage_settings($a, &$s){
@ -48,13 +57,35 @@ function uhremotestorage_settings($a, &$s){
$uid = $a->user['nickname'] ."@". $a->get_hostname(); $uid = $a->user['nickname'] ."@". $a->get_hostname();
$davurl = get_pconfig(local_user(),'uhremotestorage','davurl'); $url = get_pconfig(local_user(),'uhremotestorage','unhoestedurl');
$auth = get_pconfig(local_user(),'uhremotestorage','unhoestedauth');
$api = get_pconfig(local_user(),'uhremotestorage','unhoestedapi');
$arr_api = array(
'WebDAV' => "WebDAV",
'simple' => "simple WebDAV",
'CouchDB' => "CouchDB",
);
/* experimental apis */
/*
$api = array_merge($api, array(
'git' => "git",
'tahoe-lafs' => 'tahoe-lafs',
'camlistore' => 'camlistore',
'AmazonS3' => 'AmazonS3',
'GoogleDocs' => 'GoogleDocs',
'Dropbox' => 'Dropbox',
);
*/
$tpl = file_get_contents(dirname(__file__)."/settings.tpl"); $tpl = file_get_contents(dirname(__file__)."/settings.tpl");
$s .= replace_macros($tpl, array( $s .= replace_macros($tpl, array(
'$title' => 'Unhosted remote storage', '$title' => 'Unhosted remote storage',
'$desc' => sprintf( t('Allow to use your friendika id (%s) to connecto to external unhosted-enabled storage (like ownCloud)'), $uid ), '$desc' => sprintf( t('Allow to use your friendika id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href="http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger">RemoteStorage WebFinger</a>'), $uid ),
'$url' => array( 'unhoestedurl', t('Unhosted DAV storage url'), $davurl, 'If your are using ownCloud, your unhosted url will be like <tt>http://<i>HOST</i>/apps/remoteStorage/compat.php/<i>USER</i>/remoteStorage/</tt>'), '$url' => array( 'unhoestedurl', t('Template URL (with {category})'), $url, 'If your are using ownCloud, your unhosted url will be like <tt>http://<i>HOST</i>/apps/remoteStorage/WebDAV.php/<i>USER</i>/remoteStorage/{category}</tt>'),
'$auth' => array( 'unhoestedauth', t('OAuth end-point'), $auth, 'If your are using ownCloud, your OAuth endpoint will be like <tt>http://<i>HOST</i>/apps/remoteStorage/auth.php/<i>USER</i></tt>'),
'$api' => array( 'unhoestedapi', t('Api'), $api, 'If your are using ownCloud, your api will be <tt>WebDAV</tt>', $arr_api),
'$submit' => t('Submit'), '$submit' => t('Submit'),
)); ));