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()
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);
}
}
+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