]> git.mxchange.org Git - friendica-addons.git/blobdiff - tumblr/tumblr.php
[markdown] Escape mentions which username can contain Markdown-like syntax
[friendica-addons.git] / tumblr / tumblr.php
index 6bdfdf968fb73eb5b47bedf8f9aaa2cbb7f56683..4504534cbdc737fff9c7a0215513426b07d45ccf 100644 (file)
@@ -11,13 +11,12 @@ require_once __DIR__ . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . '
 
 use Friendica\App;
 use Friendica\Content\Text\BBCode;
-use Friendica\Core\Config;
 use Friendica\Core\Hook;
-use Friendica\Core\L10n;
 use Friendica\Core\Logger;
 use Friendica\Core\Renderer;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Model\Tag;
 use Friendica\Util\Strings;
 
 function tumblr_install()
@@ -30,16 +29,6 @@ function tumblr_install()
        Hook::register('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post');
 }
 
-function tumblr_uninstall()
-{
-       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()
 {
 }
@@ -79,8 +68,8 @@ function tumblr_addon_admin(App $a, &$o)
        $o = Renderer::replaceMacros($t, [
                '$submit' => DI::l10n()->t('Save Settings'),
                // name, label, value, help, [extra values]
-               '$consumer_key' => ['consumer_key', DI::l10n()->t('Consumer Key'),  Config::get('tumblr', 'consumer_key' ), ''],
-               '$consumer_secret' => ['consumer_secret', DI::l10n()->t('Consumer Secret'),  Config::get('tumblr', 'consumer_secret' ), ''],
+               '$consumer_key' => ['consumer_key', DI::l10n()->t('Consumer Key'),  DI::config()->get('tumblr', 'consumer_key' ), ''],
+               '$consumer_secret' => ['consumer_secret', DI::l10n()->t('Consumer Secret'),  DI::config()->get('tumblr', 'consumer_secret' ), ''],
        ]);
 }
 
@@ -89,10 +78,8 @@ function tumblr_addon_admin_post(App $a)
        $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);
-
-       info(DI::l10n()->t('Settings updated.'). EOL);
+       DI::config()->set('tumblr', 'consumer_key',$consumer_key);
+       DI::config()->set('tumblr', 'consumer_secret',$consumer_secret);
 }
 
 function tumblr_connect(App $a)
@@ -104,8 +91,8 @@ function tumblr_connect(App $a)
        //require_once('addon/tumblr/tumblroauth/tumblroauth.php');
 
        // Define the needed keys
-       $consumer_key = Config::get('tumblr', 'consumer_key');
-       $consumer_secret = Config::get('tumblr', 'consumer_secret');
+       $consumer_key = DI::config()->get('tumblr', 'consumer_key');
+       $consumer_secret = DI::config()->get('tumblr', 'consumer_secret');
 
        // The callback URL is the script that gets called after the user authenticates with tumblr
        // In this example, it would be the included callback.php
@@ -157,8 +144,8 @@ function tumblr_callback(App $a)
        //require_once('addon/tumblr/tumblroauth/tumblroauth.php');
 
        // Define the needed keys
-       $consumer_key = Config::get('tumblr', 'consumer_key');
-       $consumer_secret = Config::get('tumblr', 'consumer_secret');
+       $consumer_key = DI::config()->get('tumblr', 'consumer_key');
+       $consumer_secret = DI::config()->get('tumblr', 'consumer_secret');
 
        // Once the user approves your app at Tumblr, they are sent back to this script.
        // This script is passed two parameters in the URL, oauth_token (our Request Token)
@@ -264,8 +251,8 @@ function tumblr_settings(App $a, &$s)
 
        if (($oauth_token != "") && ($oauth_token_secret != "")) {
                $page = DI::pConfig()->get(local_user(), 'tumblr', 'page');
-               $consumer_key = Config::get('tumblr', 'consumer_key');
-               $consumer_secret = Config::get('tumblr', 'consumer_secret');
+               $consumer_key = DI::config()->get('tumblr', 'consumer_key');
+               $consumer_secret = DI::config()->get('tumblr', 'consumer_secret');
 
                $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
 
@@ -385,14 +372,12 @@ function tumblr_send(App $a, array &$b) {
        $tmbl_blog = 'blog/' . $page . '/post';
 
        if ($oauth_token && $oauth_token_secret && $tmbl_blog) {
+               $tags = Tag::getByURIId($b['uri-id']);
+
                $tag_arr = [];
-               $tags = '';
-               preg_match_all('/\#\[(.*?)\](.*?)\[/', $b['tag'], $matches, PREG_SET_ORDER);
 
-               if (!empty($matches)) {
-                       foreach($matches as $mtch) {
-                               $tag_arr[] = $mtch[2];
-                       }
+               foreach($tags as $tag) {
+                       $tag_arr[] = $tag['name'];
                }
 
                if (count($tag_arr)) {
@@ -427,7 +412,7 @@ function tumblr_send(App $a, array &$b) {
                switch ($siteinfo["type"]) {
                        case "photo":
                                $params['type']    = "photo";
-                               $params['caption'] = BBCode::convert($body, false, 4);
+                               $params['caption'] = BBCode::convert($body, false, BBCode::CONNECTORS);
 
                                if (isset($siteinfo["url"])) {
                                        $params['link'] = $siteinfo["url"];
@@ -440,25 +425,25 @@ function tumblr_send(App $a, array &$b) {
                                $params['type']        = "link";
                                $params['title']       = $title;
                                $params['url']         = $siteinfo["url"];
-                               $params['description'] = BBCode::convert($body, false, 4);
+                               $params['description'] = BBCode::convert($body, false, BBCode::CONNECTORS);
                                break;
 
                        case "audio":
                                $params['type']         = "audio";
                                $params['external_url'] = $siteinfo["url"];
-                               $params['caption']      = BBCode::convert($body, false, 4);
+                               $params['caption']      = BBCode::convert($body, false, BBCode::CONNECTORS);
                                break;
 
                        case "video":
                                $params['type']    = "video";
                                $params['embed']   = $siteinfo["url"];
-                               $params['caption'] = BBCode::convert($body, false, 4);
+                               $params['caption'] = BBCode::convert($body, false, BBCode::CONNECTORS);
                                break;
 
                        default:
                                $params['type']  = "text";
                                $params['title'] = $title;
-                               $params['body']  = BBCode::convert($b['body'], false, 4);
+                               $params['body']  = BBCode::convert($b['body'], false, BBCode::CONNECTORS);
                                break;
                }
 
@@ -468,11 +453,11 @@ function tumblr_send(App $a, array &$b) {
                }
 
                if (empty($params['caption']) && !empty($siteinfo["description"])) {
-                       $params['caption'] = BBCode::convert("[quote]" . $siteinfo["description"] . "[/quote]", false, 4);
+                       $params['caption'] = BBCode::convert("[quote]" . $siteinfo["description"] . "[/quote]", false, BBCode::CONNECTORS);
                }
 
-               $consumer_key = Config::get('tumblr','consumer_key');
-               $consumer_secret = Config::get('tumblr','consumer_secret');
+               $consumer_key = DI::config()->get('tumblr','consumer_key');
+               $consumer_secret = DI::config()->get('tumblr','consumer_secret');
 
                $tum_oauth = new TumblrOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);