]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Widget.php
Remove obsolete mod/lockview.php file
[friendica.git] / src / Content / Widget.php
index a38b9a305102d4bd16fc1067f77222743d927f06..fad863fbeb23b13075c93463bc30b8bc5b2a3597 100644 (file)
@@ -1,7 +1,24 @@
 <?php
 /**
- * @file src/Content/Widget.php
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
  */
+
 namespace Friendica\Content;
 
 use Friendica\Core\Addon;
@@ -13,6 +30,7 @@ use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\FileTag;
 use Friendica\Model\GContact;
+use Friendica\Model\Group;
 use Friendica\Model\Item;
 use Friendica\Model\Profile;
 use Friendica\Util\DateTimeFormat;
@@ -82,7 +100,7 @@ class Widget
        public static function unavailableNetworks()
        {
                // Always hide content from these networks
-               $networks = ['face', 'apdn'];
+               $networks = [Protocol::PHANTOM, Protocol::FACEBOOK, Protocol::APPNET];
 
                if (!Addon::isEnabled("discourse")) {
                        $networks[] = Protocol::DISCOURSE;
@@ -175,7 +193,39 @@ class Widget
        }
 
        /**
-        * Return networks widget
+        * Return group membership widget
+        *
+        * @param string $baseurl
+        * @param string $selected
+        * @return string
+        * @throws \Exception
+        */
+       public static function groups($baseurl, $selected = '')
+       {
+               if (!local_user()) {
+                       return '';
+               }
+
+               $options = array_map(function ($group) {
+                       return [
+                               'ref'  => $group['id'],
+                               'name' => $group['name']
+                       ];
+               }, Group::getByUserId(local_user()));
+
+               return self::filter(
+                       'group',
+                       DI::l10n()->t('Groups'),
+                       '',
+                       DI::l10n()->t('Everyone'),
+                       $baseurl,
+                       $options,
+                       $selected
+               );
+       }
+
+       /**
+        * Return contact relationship widget
         *
         * @param string $baseurl  baseurl
         * @param string $selected optional, default empty
@@ -219,10 +269,6 @@ class Widget
                        return '';
                }
 
-               if (!Feature::isEnabled(local_user(), 'networks')) {
-                       return '';
-               }
-
                $extra_sql = self::unavailableNetworks();
 
                $r = DBA::p("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = ? AND NOT `deleted` AND `network` != '' $extra_sql ORDER BY `network`",
@@ -301,7 +347,7 @@ class Widget
        {
                $a = DI::app();
 
-               $uid = intval($a->profile['profile_uid']);
+               $uid = intval($a->profile['uid']);
 
                if (!Feature::isEnabled($uid, 'categories')) {
                        return '';
@@ -418,14 +464,14 @@ class Widget
        {
                $a = DI::app();
 
-               $uid = intval($a->profile['profile_uid']);
+               $uid = intval($a->profile['uid']);
 
                if (!$uid || !$a->profile['url']) {
                        return '';
                }
 
                if (Feature::isEnabled($uid, 'tagadelic')) {
-                       $owner_id = Contact::getIdForURL($a->profile['url'], 0, true);
+                       $owner_id = Contact::getIdForURL($a->profile['url'], 0, false);
 
                        if (!$owner_id) {
                                return '';
@@ -447,10 +493,6 @@ class Widget
        {
                $o = '';
 
-               if (!Feature::isEnabled($uid, 'archives')) {
-                       return $o;
-               }
-
                $visible_years = DI::pConfig()->get($uid, 'system', 'archive_visible_years', 5);
 
                /* arrange the list in years */