2011-12-16 08:37:58 +00:00
< ? php
/**
* Name : unhosted remote storage
* Description : Expose in user XRD the link to external user ' s unhosted - enabled storage
* Version : 1.0
* Author : Fabio Comuni < http :// kirgroup . com / profile / fabrixxm >
*/
function uhremotestorage_install () {
register_hook ( 'personal_xrd' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_personal_xrd' );
register_hook ( 'plugin_settings' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_settings' );
register_hook ( 'plugin_settings_post' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_settings_post' );
logger ( " installed uhremotestorage " );
}
function uhremotestorage_uninstall () {
unregister_hook ( 'personal_xrd' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_personal_xrd' );
unregister_hook ( 'plugin_settings' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_settings' );
unregister_hook ( 'plugin_settings_post' , 'addon/uhremotestorage/uhremotestorage.php' , 'uhremotestorage_settings_post' );
logger ( " removed uhremotestorage " );
}
function uhremotestorage_personal_xrd ( $a , & $b ){
$davurl = get_pconfig ( $b [ 'user' ][ 'uid' ], 'uhremotestorage' , 'davurl' );
if ( $davurl ){
$b [ 'xml' ] = str_replace (
'</XRD>' ,
" \t " . '<Link rel="http://unhosted.org/spec/dav/0.1" href="' . $davurl . '"/>' . " \n </XRD> " ,
$b [ 'xml' ]
);
}
}
function uhremotestorage_settings_post ( $a , $post ){
if ( ! local_user ())
return ;
set_pconfig ( local_user (), 'uhremotestorage' , 'davurl' , $_POST [ 'unhoestedurl' ]);
}
function uhremotestorage_settings ( $a , & $s ){
if ( ! local_user ())
return ;
$uid = $a -> user [ 'nickname' ] . " @ " . $a -> get_hostname ();
$davurl = get_pconfig ( local_user (), 'uhremotestorage' , 'davurl' );
$tpl = file_get_contents ( dirname ( __file__ ) . " /settings.tpl " );
$s .= replace_macros ( $tpl , array (
'$title' => 'Unhosted remote storage' ,
2012-01-31 11:15:45 +00:00
'$desc' => sprintf ( t ( 'Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud)' ), $uid ),
2011-12-16 08:37:58 +00:00
'$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>' ),
'$submit' => t ( 'Submit' ),
));
}