]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Widget.php
Merge branch 'issue-4816' of github.com:annando/friendica into issue-4816
[friendica.git] / src / Content / Widget.php
index 4c7aecf95e3b8143ab3efb4da7d99d9fe1a0f336..058a7a1fb51c47e82bc2e00e1e299bd03829427c 100644 (file)
@@ -6,29 +6,42 @@ namespace Friendica\Content;
 
 use Friendica\Content\ContactSelector;
 use Friendica\Content\Feature;
-use Friendica\Core\System;
+use Friendica\Core\Addon;
 use Friendica\Core\Config;
+use Friendica\Core\L10n;
 use Friendica\Core\PConfig;
+use Friendica\Core\System;
 use Friendica\Database\DBM;
+use Friendica\Model\Contact;
 use Friendica\Model\GContact;
 use Friendica\Model\Profile;
+use dba;
 
 require_once 'boot.php';
+require_once 'include/dba.php';
 
 class Widget
 {
-       function follow_widget($value = "")
+       /**
+        * Return the follow widget
+        *
+        * @param string $value optional, default empty
+        */
+       public static function follow($value = "")
        {
                return replace_macros(get_markup_template('follow.tpl'), array(
-                       '$connect' => t('Add New Contact'),
-                       '$desc' => t('Enter address or web location'),
-                       '$hint' => t('Example: bob@example.com, http://example.com/barbara'),
+                       '$connect' => L10n::t('Add New Contact'),
+                       '$desc' => L10n::t('Enter address or web location'),
+                       '$hint' => L10n::t('Example: bob@example.com, http://example.com/barbara'),
                        '$value' => $value,
-                       '$follow' => t('Connect')
+                       '$follow' => L10n::t('Connect')
                ));
        }
 
-       function findpeople_widget()
+       /**
+        * Return Find People widget
+        */
+       public static function findPeople()
        {
                $a = get_app();
                $global_dir = Config::get('system', 'directory');
@@ -37,47 +50,50 @@ class Widget
                        $x = PConfig::get(local_user(), 'system', 'invites_remaining');
                        if ($x || is_site_admin()) {
                                $a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
-                                       . tt('%d invitation available', '%d invitations available', $x)
-                                       . '</div>' . $inv;
+                                       . L10n::tt('%d invitation available', '%d invitations available', $x)
+                                       . '</div>';
                        }
                }
 
                return replace_macros(get_markup_template('peoplefind.tpl'), array(
-                       '$findpeople' => t('Find People'),
-                       '$desc' => t('Enter name or interest'),
-                       '$label' => t('Connect/Follow'),
-                       '$hint' => t('Examples: Robert Morgenstein, Fishing'),
-                       '$findthem' => t('Find'),
-                       '$suggest' => t('Friend Suggestions'),
-                       '$similar' => t('Similar Interests'),
-                       '$random' => t('Random Profile'),
-                       '$inv' => t('Invite Friends'),
-                       '$directory' => t('View Global Directory'),
+                       '$findpeople' => L10n::t('Find People'),
+                       '$desc' => L10n::t('Enter name or interest'),
+                       '$label' => L10n::t('Connect/Follow'),
+                       '$hint' => L10n::t('Examples: Robert Morgenstein, Fishing'),
+                       '$findthem' => L10n::t('Find'),
+                       '$suggest' => L10n::t('Friend Suggestions'),
+                       '$similar' => L10n::t('Similar Interests'),
+                       '$random' => L10n::t('Random Profile'),
+                       '$inv' => L10n::t('Invite Friends'),
+                       '$directory' => L10n::t('View Global Directory'),
                        '$global_dir' => $global_dir
                ));
        }
 
-       function unavailable_networks()
+       /**
+        * Return unavailable networks
+        */
+       public static function unavailableNetworks()
        {
                $networks = array();
 
-               if (!plugin_enabled("appnet")) {
+               if (!Addon::isEnabled("appnet")) {
                        $networks[] = NETWORK_APPNET;
                }
 
-               if (!plugin_enabled("fbpost") && !plugin_enabled("facebook")) {
+               if (!Addon::isEnabled("fbpost") && !Addon::isEnabled("facebook")) {
                        $networks[] = NETWORK_FACEBOOK;
                }
 
-               if (!plugin_enabled("statusnet")) {
+               if (!Addon::isEnabled("statusnet")) {
                        $networks[] = NETWORK_STATUSNET;
                }
 
-               if (!plugin_enabled("pumpio")) {
+               if (!Addon::isEnabled("pumpio")) {
                        $networks[] = NETWORK_PUMPIO;
                }
 
-               if (!plugin_enabled("twitter")) {
+               if (!Addon::isEnabled("twitter")) {
                        $networks[] = NETWORK_TWITTER;
                }
 
@@ -89,7 +105,7 @@ class Widget
                        $networks[] = NETWORK_DIASPORA;
                }
 
-               if (!plugin_enabled("pnut")) {
+               if (!Addon::isEnabled("pnut")) {
                        $networks[] = NETWORK_PNUT;
                }
 
@@ -104,7 +120,13 @@ class Widget
                return $network_filter;
        }
 
-       function networks_widget($baseurl, $selected = '')
+       /**
+        * Return networks widget
+        *
+        * @param string $baseurl  baseurl
+        * @param string $selected optional, default empty
+        */
+       public static function networks($baseurl, $selected = '')
        {
                if (!local_user()) {
                        return '';
@@ -114,7 +136,7 @@ class Widget
                        return '';
                }
 
-               $extra_sql = unavailable_networks();
+               $extra_sql = self::unavailableNetworks();
 
                $r = dba::p("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = ? AND `network` != '' $extra_sql ORDER BY `network`",
                        local_user()
@@ -134,16 +156,22 @@ class Widget
                }
 
                return replace_macros(get_markup_template('nets.tpl'), array(
-                       '$title' => t('Networks'),
+                       '$title' => L10n::t('Networks'),
                        '$desc' => '',
                        '$sel_all' => (($selected == '') ? 'selected' : ''),
-                       '$all' => t('All Networks'),
+                       '$all' => L10n::t('All Networks'),
                        '$nets' => $nets,
                        '$base' => $baseurl,
                ));
        }
 
-       function fileas_widget($baseurl, $selected = '')
+       /**
+        * Return file as widget
+        *
+        * @param string $baseurl  baseurl
+        * @param string $selected optional, default empty
+        */
+       public static function fileAs($baseurl, $selected = '')
        {
                if (!local_user()) {
                        return '';
@@ -169,16 +197,22 @@ class Widget
                }
 
                return replace_macros(get_markup_template('fileas_widget.tpl'), array(
-                       '$title' => t('Saved Folders'),
+                       '$title' => L10n::t('Saved Folders'),
                        '$desc' => '',
                        '$sel_all' => (($selected == '') ? 'selected' : ''),
-                       '$all' => t('Everything'),
+                       '$all' => L10n::t('Everything'),
                        '$terms' => $terms,
                        '$base' => $baseurl,
                ));
        }
 
-       function categories_widget($baseurl, $selected = '')
+       /**
+        * Return categories widget
+        *
+        * @param string $baseurl  baseurl
+        * @param string $selected optional, default empty
+        */
+       public static function categories($baseurl, $selected = '')
        {
                $a = get_app();
 
@@ -203,16 +237,21 @@ class Widget
                }
 
                return replace_macros(get_markup_template('categories_widget.tpl'), array(
-                       '$title' => t('Categories'),
+                       '$title' => L10n::t('Categories'),
                        '$desc' => '',
                        '$sel_all' => (($selected == '') ? 'selected' : ''),
-                       '$all' => t('Everything'),
+                       '$all' => L10n::t('Everything'),
                        '$terms' => $terms,
                        '$base' => $baseurl,
                ));
        }
 
-       function common_friends_visitor_widget($profile_uid)
+       /**
+        * Return common friends visitor widget
+        *
+        * @param string $profile_uid uid
+        */
+       public static function commonFriendsVisitor($profile_uid)
        {
                if (local_user() == $profile_uid) {
                        return;
@@ -265,13 +304,40 @@ class Widget
                }
 
                return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
-                       '$desc' => tt("%d contact in common", "%d contacts in common", $t),
+                       '$desc' => L10n::tt("%d contact in common", "%d contacts in common", $t),
                        '$base' => System::baseUrl(),
                        '$uid' => $profile_uid,
                        '$cid' => (($cid) ? $cid : '0'),
                        '$linkmore' => (($t > 5) ? 'true' : ''),
-                       '$more' => t('show more'),
+                       '$more' => L10n::t('show more'),
                        '$items' => $r)
                );
        }
+
+       /**
+        * Insert a tag cloud widget for the present profile.
+        *
+        * @brief Insert a tag cloud widget for the present profile.
+        * @param int     $limit Max number of displayed tags.
+        * @return string HTML formatted output.
+        */
+       public static function tagCloud($limit = 50)
+       {
+               $a = get_app();
+
+               if (!$a->profile['profile_uid'] || !$a->profile['url']) {
+                       return '';
+               }
+
+               if (Feature::isEnabled($a->profile['profile_uid'], 'tagadelic')) {
+                       $owner_id = Contact::getIdForURL($a->profile['url'], 0, true);
+
+                       if (!$owner_id) {
+                               return '';
+                       }
+                       return Widget\TagCloud::getHTML($a->profile['profile_uid'], $limit, $owner_id, 'wall');
+               }
+
+               return '';
+       }
 }