X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tumblr%2Ftumblr.php;h=3bf258b39764a7d3ee4f3db03218ab9b06a7cae1;hb=80ec21c76bc7a0cc5f1e73acf91db16ceaa06b04;hp=5862958de77a29a3e41e3b3a251a9ff0ce288902;hpb=ce2af45897ea3263c1973802b9bf592ccb7f73e9;p=friendica-addons.git diff --git a/tumblr/tumblr.php b/tumblr/tumblr.php index 5862958d..3bf258b3 100644 --- a/tumblr/tumblr.php +++ b/tumblr/tumblr.php @@ -11,28 +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() @@ -69,9 +74,9 @@ function tumblr_content(App $a) function tumblr_addon_admin(App $a, &$o) { - $t = get_markup_template( "admin.tpl", "addon/tumblr/" ); + $t = Renderer::getMarkupTemplate( "admin.tpl", "addon/tumblr/" ); - $o = replace_macros($t, [ + $o = Renderer::replaceMacros($t, [ '$submit' => L10n::t('Save Settings'), // name, label, value, help, [extra values] '$consumer_key' => ['consumer_key', L10n::t('Consumer Key'), Config::get('tumblr', 'consumer_key' ), ''], @@ -81,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); @@ -188,19 +193,21 @@ function tumblr_callback(App $a) return $o; } -function tumblr_jot_nets(App $a, &$b) +function tumblr_jot_nets(App $a, array &$jotnets_fields) { if (! local_user()) { return; } - $tmbl_post = PConfig::get(local_user(), 'tumblr', 'post'); - - if (intval($tmbl_post) == 1) { - $tmbl_defpost = PConfig::get(local_user(), 'tumblr', 'post_by_default'); - $selected = ((intval($tmbl_defpost) == 1) ? ' checked="checked" ' : ''); - $b .= '
' - . L10n::t('Post to Tumblr') . '
'; + if (PConfig::get(local_user(),'tumblr','post')) { + $jotnets_fields[] = [ + 'type' => 'checkbox', + 'field' => [ + 'tumblr_enable', + L10n::t('Post to Tumblr'), + PConfig::get(local_user(),'tumblr','post_by_default') + ] + ]; } } @@ -296,6 +303,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 @@ -458,11 +480,11 @@ function tumblr_send(App $a, array &$b) { //print_r($params); if ($ret_code == 201) { - logger('tumblr_send: success'); + Logger::log('tumblr_send: success'); } elseif ($ret_code == 403) { - logger('tumblr_send: authentication failure'); + Logger::log('tumblr_send: authentication failure'); } else { - logger('tumblr_send: general error: ' . print_r($x,true)); + Logger::log('tumblr_send: general error: ' . print_r($x,true)); } } }