-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdiaspoleed.plugin.php
78 lines (69 loc) · 2.94 KB
/
diaspoleed.plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
/*
@name diaspoleed
@author Simounet <http://www.simounet.net>
@link https://github.com/Leed-market/diaspoleed
@licence GPLv3
@version 1.1.0
@description This plugin diaspoleed add an article sharing option from Leed to <a target="_blank" href="https://diaspora.org/">diaspora (v2)</a>.
*/
include( __DIR__ . '/classes/Diaspoleed.php' );
function diaspoleedPluginAddTo(&$event){
$configurationManager = new Configuration();
$configurationManager->getAll();
$diaspoleed = new Diaspoleed();
$diasporaUrl = $configurationManager->get($diaspoleed::CONFIG_FIELD);
if( empty($diasporaUrl) ) {
return false;
}
echo '<a
title="'._t('P_DIASPOLEED_SHARE_WITH_DIASPORA').'"
rel="noopener" target="_blank"
href="'.$diasporaUrl.'bookmarklet?url='.$event->getLink().'&title=' . htmlentities($event->getTitle()) . '&notes=&v=1&noui=1&jump=doclose"
>'._t('P_DIASPOLEED_DIASPORA_EXCLAMATION').'</a>';
}
function diaspoleedPluginSettingsLink(&$myUser){
echo '<li><a class="toggle" href="#diaspora-plugin">'._t('P_DIASPOLEED_DIASPORA').'</a></li>';
}
function diaspoleedPluginSettingsBlock(&$myUser){
$configurationManager = new Configuration();
$configurationManager->getAll();
$diaspoleed = new Diaspoleed();
echo '
<section class="diaspora-plugin">
<form action="action.php?action=' . Diaspoleed::ACTION_VALUE . '" method="POST">
<h2>'._t('P_DIASPOLEED_PLUGIN_TITLE').'</h2>
<p class="diasporaBlock">
<label for="plugin_diaspora_url">'._t('P_DIASPOLEED_DIASPORA_LINK').'</label>
<input type="text" placeholder="' . Diaspoleed::DEFAULT_VALUE. '" value="'.$configurationManager->get($diaspoleed::CONFIG_FIELD).'" id="plugin_diaspora_url" name="plugin_diaspora_url" />
<input type="submit" class="button" value="'._t('P_DIASPOLEED_SAVE').'"><br/>
</p>
'._t('P_DIASPOLEED_NB_INFO').'
</form>
</section>
';
}
function diaspoleedPluginUpdateUrl($_){
$myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
if($myUser===false) exit(_t('P_DIASPOLEED_CONNECTION_ERROR'));
if(
isset($_['action'])
&& $_['action'] === Diaspoleed::ACTION_VALUE
){
$configurationManager = new Configuration();
$diasporaUrl = $_['plugin_diaspora_url'];
$diasporaUrl .= (substr($diasporaUrl, -1) === '/' ? '' : '/');
$diaspoleed = new Diaspoleed();
$configurationManager->change(
['value' => $diasporaUrl],
['key' => $diaspoleed::CONFIG_FIELD]
);
$_SESSION['configuration'] = null;
header('location: settings.php');
}
}
Plugin::addHook('event_share_actions', 'diaspoleedPluginAddTo');
Plugin::addHook('setting_post_link', 'diaspoleedPluginSettingsLink');
Plugin::addHook('setting_post_section', 'diaspoleedPluginSettingsBlock');
Plugin::addHook("action_post_case", "diaspoleedPluginUpdateUrl");
?>