]> git.mxchange.org Git - friendica-addons.git/blobdiff - smileybutton/smileybutton.php
[woodpecker] Remove PHP 7.3 PHPUnit instance
[friendica-addons.git] / smileybutton / smileybutton.php
index 593eed8b0912c6b6484379d53dbafc34feb43e99..1df717b72eab12d6deebc594682ae28042b4d89d 100644 (file)
@@ -2,47 +2,34 @@
 /**
  * Name: Smileybutton
  * Description: Adds a smileybutton to the Inputbox
- * Version: 0.2
+ * Version: 1.0
  * Author: Johannes Schwab <https://friendica.jschwab.org/profile/ddorian>
+ * Maintainer: Hypolite Petovan <https://friendica.mrpetovan.com/profile/hypolite>
  */
+
+use Friendica\App;
 use Friendica\Core\Hook;
-use Friendica\Core\Logger;
+use Friendica\DI;
 
-function smileybutton_install() {
+function smileybutton_install()
+{
        //Register hooks
-       Hook::register('jot_tool', 'addon/smileybutton/smileybutton.php', 'show_button');
-
-       Logger::log("installed smileybutton");
-}
-
-
-function smileybutton_uninstall() {
-       //Delet registered hooks
-       Hook::unregister('jot_tool',    'addon/smileybutton/smileybutton.php', 'show_button');
-
-       Logger::log("removed smileybutton");
+       Hook::register('jot_tool', 'addon/smileybutton/smileybutton.php', 'smileybutton_jot_tool');
 }
 
-
-
-function show_button(Friendica\App $a, &$b) {
+function smileybutton_jot_tool(string &$body)
+{
        // Disable if theme is quattro
-       // TODO add style for quattro
-       if ($a->getCurrentTheme() == 'quattro')
+       if (DI::app()->getCurrentTheme() == 'quattro') {
                return;
+       }
 
-       // Disable for mobile because most mobiles have a smiley key for ther own
-       if ($a->is_mobile || $a->is_tablet)
+       // Disable for mobile because they have a smiley key of their own
+       if (DI::mode()->isMobile() || DI::mode()->isMobile()) {
                return;
+       }
 
-       /**
-        *
-        * I have copied this from /include/text.php, removed doubles
-        * and escaped them.
-        *
-        */
-
-       $texts =  [
+       $texts = [
                '&lt;3',
                '&lt;/3',
                ':-)',
@@ -54,84 +41,82 @@ function show_button(Friendica\App $a, &$b) {
                ':-O',
                '\\\\o/',
                'O_o',
-               ":\'(",
-               ":-!",
-               ":-/",
-               ":-[",
-               "8-)",
+               ':\'(',
+               ':-!',
+               ':-/',
+               ':-[',
+               '8-)',
                ':beer',
                ':coffee',
                ':facepalm',
                ':like',
                ':dislike',
-                '~friendica',
-                'red#'
-
+               '~friendica',
+               'red#',
        ];
 
        $icons = [
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-heart.gif" alt="<3" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-brokenheart.gif" alt="</3" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-smile.gif" alt=":-)" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-wink.gif" alt=";-)" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-frown.gif" alt=":-(" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-tongue-out.gif" alt=":-P" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-kiss.gif" alt=":-X" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-laughing.gif" alt=":-D" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-surprised.gif" alt=":-O" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-Oo.gif" alt="O_o" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-cry.gif" alt=":\'(" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-undecided.gif" alt=":-/" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-embarassed.gif" alt=":-[" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-cool.gif" alt="8-)" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/beer_mug.gif" alt=":beer" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/coffee.gif" alt=":coffee" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/like.gif" alt=":like" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/dislike.gif" alt=":dislike" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/friendica-16.png" alt="~friendica" />',
-               '<img class="smiley" src="' . $a->getBaseURL() . '/images/rhash-16.png" alt="red" />'
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-heart.gif" alt="<3" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-brokenheart.gif" alt="</3" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-smile.gif" alt=":-)" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-wink.gif" alt=";-)" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-frown.gif" alt=":-(" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-tongue-out.gif" alt=":-P" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-kiss.gif" alt=":-X" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-laughing.gif" alt=":-D" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-surprised.gif" alt=":-O" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-Oo.gif" alt="O_o" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-cry.gif" alt=":\'(" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-undecided.gif" alt=":-/" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-embarassed.gif" alt=":-[" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-cool.gif" alt="8-)" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/beer_mug.gif" alt=":beer" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/coffee.gif" alt=":coffee" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/like.gif" alt=":like" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/dislike.gif" alt=":dislike" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/friendica-16.png" alt="~friendica" />',
+               '<img class="smiley" src="' . DI::baseUrl() . '/images/rhash-16.png" alt="red" />'
        ];
 
        // Call hooks to get aditional smileies from other addons
-       $params = ['texts' => $texts, 'icons' => $icons, 'string' => ""]; //changed
+       $params = ['texts' => $texts, 'icons' => $icons, 'string' => '']; //changed
        Hook::callAll('smilie', $params);
 
        //Generate html for smiley list
-       $s = "<table class=\"smiley-preview\"><tr>\n\t";
-       for($x = 0; $x < count($params['texts']); $x ++) {
+       $s = '<table class="smiley-preview"><tr>';
+       for ($x = 0; $x < count($params['texts']); $x++) {
                $icon = $params['icons'][$x];
-               $icon = str_replace('/>', 'onclick="smileybutton_addsmiley(\'' . $params['texts'][$x] . '\')"/>', $icon);
-               $icon = str_replace('class="smiley"', 'class="smiley_preview"', $icon);
-               $s .= "<td>" . $icon . "</td>";
-               if (($x+1) % (sqrt(count($params['texts']))+1) == 0) {
-                       $s .= "</tr>\n\t<tr>";
+               $s .= '<td onclick="smileybutton_addsmiley(\'' . $params['texts'][$x] . '\')">' . $icon . '</td>';
+               if (($x + 1) % (floor(sqrt(count($params['texts']))) + 1) == 0) {
+                       $s .= '</tr><tr>';
                }
        }
-       $s .= "\t</tr></table>";
+       $s .= '</tr></table>';
 
        //Add css to header
-       $css_file = 'addon/smileybutton/view/' . $a->getCurrentTheme() . '.css';
-       if (! file_exists($css_file))
-               $css_file = 'addon/smileybutton/view/default.css';
-       $css_url = $a->getBaseURL().'/'.$css_file;
-
-       $a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="'.$css_url.'" media="all" />'."\r\n";
+       $css_file = __DIR__ . '/view/' . DI::app()->getCurrentTheme() . '.css';
+       if (!file_exists($css_file)) {
+               $css_file = __DIR__ . '/view/default.css';
+       }
 
+       DI::page()->registerStylesheet($css_file);
 
        //Get the correct image for the theme
-       $image = 'addon/smileybutton/view/' . $a->getCurrentTheme() . '.png';
-       if (! file_exists($image))
+       $image = 'addon/smileybutton/view/' . DI::app()->getCurrentTheme() . '.png';
+       if (!file_exists($image)) {
                $image = 'addon/smileybutton/view/default.png';
-       $image_url = $a->getBaseURL().'/'.$image;
+       }
+
+       $image_url = DI::baseUrl() . '/' . $image;
 
        //Add the hmtl and script to the page
-       $b = <<< EOT
-       <div id="profile-smiley-wrapper" style="display: block;" >
-               <img src="$image_url" class="smiley_button" onclick="toggle_smileybutton()" alt="smiley">
-               <div id="smileybutton" style="display:none;">
+       $body = <<< EOT
+       <div id="profile-smiley-wrapper">
+               <button type="button" class="btn btn-link smiley_button" onclick="toggle_smileybutton()"><img src="$image_url" alt="smiley"></button>
+               <div id="smileybutton">
                $s
                </div>
        </div>
@@ -149,18 +134,11 @@ function show_button(Friendica\App $a, &$b) {
                }
 
                function smileybutton_addsmiley(text) {
-                       if(plaintext == "none") {
-                               var v = $("#profile-jot-text").val();
-                               v = v + text;
-                               $("#profile-jot-text").val(v);
-                               $("#profile-jot-text").focus();
-                       } else {
-                               var v = tinymce.activeEditor.getContent();
-                               v = v + text;
-                               tinymce.activeEditor.setContent(v);
-                               tinymce.activeEditor.focus();
-                       }
+                       var v = $("#profile-jot-text").val();
+                       v = v + text;
+                       $("#profile-jot-text").val(v).focus();
                }
        </script>
 EOT;
 }
+