X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tumblr%2Ftumblr.php;h=62f711325ca99567d92f80cfca3a4f45c32111ea;hb=08206fdcc0750ec9dd12a68addb341cd05f8bcfb;hp=bac11634817ca1ddecadd4ebad3d83d7155726af;hpb=9079480d4a531fa0d44376a8c8e9a5c7a20833b1;p=friendica-addons.git diff --git a/tumblr/tumblr.php b/tumblr/tumblr.php index bac11634..62f71132 100644 --- a/tumblr/tumblr.php +++ b/tumblr/tumblr.php @@ -11,30 +11,33 @@ require_once __DIR__ . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . ' use Friendica\App; use Friendica\Content\Text\BBCode; -use Friendica\Core\Addon; use Friendica\Core\Config; +use Friendica\Core\Hook; use Friendica\Core\L10n; use Friendica\Core\Logger; use Friendica\Core\PConfig; use Friendica\Core\Renderer; use Friendica\Database\DBA; +use Friendica\Util\Strings; function tumblr_install() { - Addon::registerHook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); - Addon::registerHook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); - Addon::registerHook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); - Addon::registerHook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); - Addon::registerHook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); + Hook::register('hook_fork', 'addon/tumblr/tumblr.php', 'tumblr_hook_fork'); + Hook::register('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); + Hook::register('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); + Hook::register('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); + Hook::register('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); + Hook::register('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); } function tumblr_uninstall() { - Addon::unregisterHook('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); - Addon::unregisterHook('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); - Addon::unregisterHook('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); - Addon::unregisterHook('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); - Addon::unregisterHook('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); + Hook::unregister('hook_fork', 'addon/tumblr/tumblr.php', 'tumblr_hook_fork'); + Hook::unregister('post_local', 'addon/tumblr/tumblr.php', 'tumblr_post_local'); + Hook::unregister('notifier_normal', 'addon/tumblr/tumblr.php', 'tumblr_send'); + Hook::unregister('jot_networks', 'addon/tumblr/tumblr.php', 'tumblr_jot_nets'); + Hook::unregister('connector_settings', 'addon/tumblr/tumblr.php', 'tumblr_settings'); + Hook::unregister('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); } function tumblr_module() @@ -83,8 +86,8 @@ function tumblr_addon_admin(App $a, &$o) function tumblr_addon_admin_post(App $a) { - $consumer_key = ((!empty($_POST['consumer_key'])) ? notags(trim($_POST['consumer_key'])) : ''); - $consumer_secret = ((!empty($_POST['consumer_secret'])) ? notags(trim($_POST['consumer_secret'])): ''); + $consumer_key = (!empty($_POST['consumer_key']) ? Strings::escapeTags(trim($_POST['consumer_key'])) : ''); + $consumer_secret = (!empty($_POST['consumer_secret']) ? Strings::escapeTags(trim($_POST['consumer_secret'])): ''); Config::set('tumblr', 'consumer_key',$consumer_key); Config::set('tumblr', 'consumer_secret',$consumer_secret); @@ -298,6 +301,21 @@ function tumblr_settings_post(App $a, array &$b) } } +function tumblr_hook_fork(&$a, &$b) +{ + if ($b['name'] != 'notifier_normal') { + return; + } + + $post = $b['data']; + + if ($post['deleted'] || $post['private'] || ($post['created'] !== $post['edited']) || + !strstr($post['postopts'], 'tumblr') || ($post['parent'] != $post['id'])) { + $b['execute'] = false; + return; + } +} + function tumblr_post_local(App $a, array &$b) { // This can probably be changed to allow editing by pointing to a different API endpoint