]> git.mxchange.org Git - friendica.git/commitdiff
Show Create new Group link in widget even if there's no group membership to display
authorHypolite Petovan <hypolite@mrpetovan.com>
Thu, 23 Jan 2025 03:14:38 +0000 (22:14 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Thu, 23 Jan 2025 03:14:38 +0000 (22:14 -0500)
src/Content/GroupManager.php
view/templates/widget/group_list.tpl

index 61b9d9905382a4a9c8b18f9c76153bbb5d93bfd1..f6762bc28b791656cf0e12ab13748a0eea20609f 100644 (file)
@@ -97,52 +97,47 @@ class GroupManager
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         * @throws \ImagickException
         */
-       public static function widget(int $uid)
+       public static function widget(int $uid): string
        {
-               $o = '';
-
                //sort by last updated item
-               $lastitem = true;
-
-               $contacts = self::getList($uid, $lastitem, true, true);
-               $total = count($contacts);
+               $contacts      = self::getList($uid, true, true, true);
+               $total             = count($contacts);
                $visibleGroups = 10;
 
-               if (DBA::isResult($contacts)) {
-                       $id = 0;
-
-                       $entries = [];
-
-                       foreach ($contacts as $contact) {
-                               $entry = [
-                                       'url' => 'contact/' . $contact['id'] . '/conversations',
-                                       'external_url' => Contact::magicLinkByContact($contact),
-                                       'name' => $contact['name'],
-                                       'cid' => $contact['id'],
-                                       'micro' => DI::baseUrl()->remove(Contact::getMicro($contact)),
-                                       'id' => ++$id,
-                               ];
-                               $entries[] = $entry;
-                       }
+               $id = 0;
+
+               $entries = [];
 
-                       $tpl = Renderer::getMarkupTemplate('widget/group_list.tpl');
-
-                       $o .= Renderer::replaceMacros(
-                               $tpl,
-                               [
-                                       '$title'        => DI::l10n()->t('Groups'),
-                                       '$groups'       => $entries,
-                                       '$link_desc'    => DI::l10n()->t('External link to group'),
-                                       '$new_group_page' => 'register/',
-                                       '$total'        => $total,
-                                       '$visible_groups' => $visibleGroups,
-                                       '$showless'     => DI::l10n()->t('show less'),
-                                       '$showmore'     => DI::l10n()->t('show more'),
-                                       '$create_new_group' => DI::l10n()->t('Create new group')]
-                       );
+               $contacts = [];
+
+               foreach ($contacts as $contact) {
+                       $entry = [
+                               'url'          => 'contact/' . $contact['id'] . '/conversations',
+                               'external_url' => Contact::magicLinkByContact($contact),
+                               'name'         => $contact['name'],
+                               'cid'          => $contact['id'],
+                               'micro'        => DI::baseUrl()->remove(Contact::getMicro($contact)),
+                               'id'           => ++$id,
+                       ];
+                       $entries[] = $entry;
                }
 
-               return $o;
+               $tpl = Renderer::getMarkupTemplate('widget/group_list.tpl');
+
+               return Renderer::replaceMacros(
+                       $tpl,
+                       [
+                               '$title'                => DI::l10n()->t('Groups'),
+                               '$groups'               => $entries,
+                               '$link_desc'        => DI::l10n()->t('External link to group'),
+                               '$new_group_page'   => 'register/',
+                               '$total'                => $total,
+                               '$visible_groups'   => $visibleGroups,
+                               '$showless'             => DI::l10n()->t('show less'),
+                               '$showmore'             => DI::l10n()->t('show more'),
+                               '$create_new_group' => DI::l10n()->t('Create new group')
+                       ],
+               );
        }
 
        /**
index 962f477ad4b02da6af55c803a1fb26d8343d26cf..b42041a7b6e3fc4da37b47214659cb8005bfc19f 100644 (file)
@@ -18,49 +18,53 @@ function showHideGroupList() {
 }
 </script>
 <span id="group-list-sidebar-frame">
-<span id="group-list-sidebar-inflated" class="widget inflated fakelink" onclick="openCloseWidget('group-list-sidebar', 'group-list-sidebar-inflated');">
-       <h3>{{$title}}</h3>
-</span>
-<div id="group-list-sidebar" class="widget">
-<div id="sidebar-group-header" class="sidebar-widget-header">
-       <span class="fakelink" onclick="openCloseWidget('group-list-sidebar', 'group-list-sidebar-inflated');">
+       <span id="group-list-sidebar-inflated" class="widget inflated fakelink" onclick="openCloseWidget('group-list-sidebar', 'group-list-sidebar-inflated');">
                <h3>{{$title}}</h3>
        </span>
-       <a class="group-new-tool pull-right widget-action faded-icon" id="sidebar-new-group" href="{{$new_group_page}}" data-toggle="tooltip" title="{{$create_new_group}}">
-                       <i class="fa fa-plus" aria-hidden="true"></i>
-               </a>
-       </div>
-       <div id="sidebar-group-list" class="sidebar-widget-list">
-               {{* The list of available groups *}}
-       <ul id="group-list-sidebar-ul" role="menu">
-               {{foreach $groups as $group}}
-               {{if $group.id <= $visible_groups}}
-               <li class="group-widget-entry group-{{$group.cid}}" id="group-widget-entry-{{$group.id}}" role="menuitem">
-                       <span class="notify badge pull-right"></span>
-                       <a href="{{$group.external_url}}" title="{{$group.link_desc}}" class="label sparkle" target="_blank" rel="noopener noreferrer">
-                               <img class="group-list-img" src="{{$group.micro}}" alt="{{$group.link_desc}}" />
+       <div id="group-list-sidebar" class="widget">
+               <div id="sidebar-group-header" class="sidebar-widget-header">
+                       <span class="fakelink" onclick="openCloseWidget('group-list-sidebar', 'group-list-sidebar-inflated');">
+                               <h3>{{$title}}</h3>
+                       </span>
+                       {{if $groups}}
+                       <a class="group-new-tool pull-right widget-action faded-icon" id="sidebar-new-group" href="{{$new_group_page}}" data-toggle="tooltip" title="{{$create_new_group}}">
+                               <i class="fa fa-plus" aria-hidden="true"></i>
                        </a>
-                       <a class="group-widget-link" id="group-widget-link-{{$group.id}}" href="{{$group.url}}">{{$group.name}}</a>
-               </li>
-               {{/if}}
+                       {{/if}}
+               </div>
+               <div id="sidebar-group-list" class="sidebar-widget-list">
+                       {{* The list of available groups *}}
+                       <ul id="group-list-sidebar-ul" role="menu">
+                               {{foreach $groups as $group}}
+                               {{if $group.id <= $visible_groups}}
+                               <li class="group-widget-entry group-{{$group.cid}}" id="group-widget-entry-{{$group.id}}" role="menuitem">
+                                       <span class="notify badge pull-right"></span>
+                                       <a href="{{$group.external_url}}" title="{{$group.link_desc}}" class="label sparkle" target="_blank" rel="noopener noreferrer">
+                                               <img class="group-list-img" src="{{$group.micro}}" alt="{{$group.link_desc}}" />
+                                       </a>
+                                       <a class="group-widget-link" id="group-widget-link-{{$group.id}}" href="{{$group.url}}">{{$group.name}}</a>
+                               </li>
+                               {{/if}}
 
-               {{if $group.id > $visible_groups}}
-               <li class="group-widget-entry group-{{$group.cid}}" id="group-widget-entry-extended-{{$group.id}}" role="menuitem" style="display: none;">
-                       <span class="notify badge pull-right"></span>
-                       <a href="{{$group.external_url}}" title="{{$group.link_desc}}" class="label sparkle" target="_blank" rel="noopener noreferrer">
-                               <img class="group-list-img" src="{{$group.micro}}" alt="{{$group.link_desc}}" />
-                       </a>
-                       <a class="group-widget-link" id="group-widget-link-{{$group.id}}" href="{{$group.url}}">{{$group.name}}</a>
-               </li>
-               {{/if}}
-               {{/foreach}}
+                               {{if $group.id > $visible_groups}}
+                               <li class="group-widget-entry group-{{$group.cid}}" id="group-widget-entry-extended-{{$group.id}}" role="menuitem" style="display: none;">
+                                       <span class="notify badge pull-right"></span>
+                                       <a href="{{$group.external_url}}" title="{{$group.link_desc}}" class="label sparkle" target="_blank" rel="noopener noreferrer">
+                                               <img class="group-list-img" src="{{$group.micro}}" alt="{{$group.link_desc}}" />
+                                       </a>
+                                       <a class="group-widget-link" id="group-widget-link-{{$group.id}}" href="{{$group.url}}">{{$group.name}}</a>
+                               </li>
+                               {{/if}}
+                               {{foreachelse}}
+                                       <li><a href="{{$new_group_page}}"><i class="fa fa-plus" aria-hidden="true"></i> {{$create_new_group}}</a></li>
+                               {{/foreach}}
 
-               {{if $total > $visible_groups }}
-               <li onclick="showHideGroupList(); return false;" id="group-widget-collapse" class="group-widget-link fakelink tool">{{$showmore}}</li>
-               {{/if}}
-       </ul>
-</div>
-</div>
+                               {{if $total > $visible_groups }}
+                               <li onclick="showHideGroupList(); return false;" id="group-widget-collapse" class="group-widget-link fakelink tool">{{$showmore}}</li>
+                               {{/if}}
+                       </ul>
+               </div>
+       </div>
 </span>
 <script>
 initWidget('group-list-sidebar', 'group-list-sidebar-inflated');