mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-07 00:48:55 +00:00
Added a hook to check if the hook needs to be forked at all
This commit is contained in:
parent
d2460a43e5
commit
d1919f0497
9 changed files with 271 additions and 41 deletions
|
@ -14,22 +14,25 @@ use Friendica\Core\PConfig;
|
|||
use Friendica\Database\DBA;
|
||||
use Friendica\Util\Network;
|
||||
|
||||
function libertree_install() {
|
||||
Addon::registerHook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local');
|
||||
Addon::registerHook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send');
|
||||
Addon::registerHook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets');
|
||||
Addon::registerHook('connector_settings', 'addon/libertree/libertree.php', 'libertree_settings');
|
||||
Addon::registerHook('connector_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post');
|
||||
|
||||
}
|
||||
function libertree_uninstall() {
|
||||
Addon::unregisterHook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local');
|
||||
Addon::unregisterHook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send');
|
||||
Addon::unregisterHook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets');
|
||||
Addon::unregisterHook('connector_settings', 'addon/libertree/libertree.php', 'libertree_settings');
|
||||
Addon::unregisterHook('connector_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post');
|
||||
function libertree_install()
|
||||
{
|
||||
Addon::registerHook('hook_fork', 'addon/libertree/libertree.php', 'libertree_hook_fork');
|
||||
Addon::registerHook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local');
|
||||
Addon::registerHook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send');
|
||||
Addon::registerHook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets');
|
||||
Addon::registerHook('connector_settings', 'addon/libertree/libertree.php', 'libertree_settings');
|
||||
Addon::registerHook('connector_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post');
|
||||
}
|
||||
|
||||
function libertree_uninstall()
|
||||
{
|
||||
Addon::unregisterHook('hook_fork', 'addon/libertree/libertree.php', 'libertree_hook_fork');
|
||||
Addon::unregisterHook('post_local', 'addon/libertree/libertree.php', 'libertree_post_local');
|
||||
Addon::unregisterHook('notifier_normal', 'addon/libertree/libertree.php', 'libertree_send');
|
||||
Addon::unregisterHook('jot_networks', 'addon/libertree/libertree.php', 'libertree_jot_nets');
|
||||
Addon::unregisterHook('connector_settings', 'addon/libertree/libertree.php', 'libertree_settings');
|
||||
Addon::unregisterHook('connector_settings_post', 'addon/libertree/libertree.php', 'libertree_settings_post');
|
||||
}
|
||||
|
||||
function libertree_jot_nets(&$a,&$b) {
|
||||
if(! local_user())
|
||||
|
@ -118,6 +121,21 @@ function libertree_settings_post(&$a,&$b) {
|
|||
|
||||
}
|
||||
|
||||
function libertree_hook_fork(App &$a, array &$b)
|
||||
{
|
||||
if ($b['name'] != 'notifier_normal') {
|
||||
return;
|
||||
}
|
||||
|
||||
$post = $b['data'];
|
||||
|
||||
if ($post['deleted'] || $post['private'] || ($post['created'] !== $post['edited']) ||
|
||||
!strstr($post['postopts'], 'libertree') || ($post['parent'] != $post['id'])) {
|
||||
$b['execute'] = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function libertree_post_local(&$a,&$b) {
|
||||
|
||||
// This can probably be changed to allow editing by pointing to a different API endpoint
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue