]> git.mxchange.org Git - friendica-addons.git/blob - uhremotestorage/uhremotestorage.php
Merge pull request #2 from fabrixxm/master
[friendica-addons.git] / uhremotestorage / uhremotestorage.php
1 <?php
2 /**
3  * Name: unhosted remote storage
4  * Description: Expose in user XRD the link to external user's unhosted-enabled storage
5  * Version: 1.0
6  * Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
7  */
8  
9  function uhremotestorage_install() {
10         register_hook('personal_xrd', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_personal_xrd');
11         register_hook('plugin_settings', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings');
12         register_hook('plugin_settings_post', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings_post');
13
14         logger("installed uhremotestorage");
15 }
16
17
18 function uhremotestorage_uninstall() {
19
20         unregister_hook('personal_xrd', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_personal_xrd');
21         unregister_hook('plugin_settings', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings');
22         unregister_hook('plugin_settings_post', 'addon/uhremotestorage/uhremotestorage.php', 'uhremotestorage_settings_post');
23
24         logger("removed uhremotestorage");
25 }
26
27 function uhremotestorage_personal_xrd($a, &$b){
28         
29         $davurl = get_pconfig($b['user']['uid'],'uhremotestorage','davurl');
30         if ($davurl){
31                 $b['xml'] = str_replace(
32                         '</XRD>', 
33                         "\t".'<Link rel="http://unhosted.org/spec/dav/0.1" href="'.$davurl.'"/>'."\n</XRD>",
34                         $b['xml']
35                 );
36         }
37 }
38
39 function uhremotestorage_settings_post($a, $post){
40         if(! local_user())
41                 return;
42         set_pconfig(local_user(),'uhremotestorage','davurl',$_POST['unhoestedurl']);
43 }
44
45 function uhremotestorage_settings($a, &$s){
46         if(! local_user())
47                 return;
48         
49         $uid = $a->user['nickname'] ."@". $a->get_hostname();
50         
51         $davurl = get_pconfig(local_user(),'uhremotestorage','davurl');
52         
53         $tpl = file_get_contents(dirname(__file__)."/settings.tpl");
54         $s .= replace_macros($tpl, array(
55                 '$title' => 'Unhosted remote storage',
56                 '$desc' => sprintf( t('Allow to use your friendika id (%s) to connecto to external unhosted-enabled storage (like ownCloud)'), $uid ),
57                 '$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>'),
58                 '$submit' => t('Submit'),
59         ));
60         
61 }