@@ -754,86 +754,61 @@ public static function hookRedefineMenu($menus) {
754754 return $ menus ;
755755 }
756756
757- if (plugin_formcreator_replaceHelpdesk () !== false ) {
758- $ newMenu = [];
759- $ newMenu ['seek_assistance ' ] = [
760- 'default ' => Plugin::getWebDir ('formcreator ' , false ) . '/front/wizard.php ' ,
761- 'title ' => __ ('Seek assistance ' , 'formcreator ' ),
762- 'icon ' => 'fa-fw ti ti-headset ' ,
763- ];
764- $ newMenu ['my_assistance_requests ' ] = [
765- 'default ' => PluginFormcreatorIssue::getSearchURL (false ),
766- 'title ' => __ ('My requests for assistance ' , 'formcreator ' ),
767- 'icon ' => 'fa-fw ti ti-list ' ,
768- ];
757+ if (plugin_formcreator_replaceHelpdesk () === false ) {
758+ return $ menus ;
759+ }
769760
770- if (PluginFormcreatorEntityConfig::getUsedConfig ('is_kb_separated ' , Session::getActiveEntity ()) == PluginFormcreatorEntityConfig::CONFIG_KB_DISTINCT
771- && Session::haveRight ('knowbase ' , KnowbaseItem::READFAQ )
772- ) {
773- $ newMenu ['faq ' ] = $ menus ['faq ' ];
774- $ newMenu ['faq ' ]['default ' ] = Plugin::getWebDir ('formcreator ' , false ) . '/front/knowbaseitem.php ' ;
775- }
776- if (Session::haveRight ("reservation " , ReservationItem::RESERVEANITEM )) {
777- if (isset ($ menus ['reservation ' ])) {
778- $ newMenu ['reservation ' ] = $ menus ['reservation ' ];
779- }
780- }
781- $ rssFeedTable = RSSFeed::getTable ();
782- $ criteria = [
783- 'SELECT ' => "$ rssFeedTable.* " ,
784- 'DISTINCT ' => true ,
785- 'FROM ' => $ rssFeedTable ,
786- 'ORDER ' => "$ rssFeedTable.name "
787- ];
788- $ criteria = $ criteria + RSSFeed::getVisibilityCriteria ();
789- $ criteria ['WHERE ' ]["$ rssFeedTable.users_id " ] = ['<> ' , Session::getLoginUserID ()];
790- $ iterator = $ DB ->request ($ criteria );
791- $ hasRssFeeds = $ iterator ->count () > 0 ;
792-
793- if (RSSFeed::canView () && $ hasRssFeeds ) {
794- $ newMenu ['feeds ' ] = [
795- 'default ' => Plugin::getWebDir ('formcreator ' , false ) . '/front/wizardfeeds.php ' ,
796- 'title ' => __ ('Consult feeds ' , 'formcreator ' ),
797- 'icon ' => 'fa-fw ti ti-rss ' ,
798- ];
799- }
761+ $ newMenu = [];
762+ $ newMenu ['seek_assistance ' ] = [
763+ 'default ' => Plugin::getWebDir ('formcreator ' , false ) . '/front/wizard.php ' ,
764+ 'title ' => __ ('Seek assistance ' , 'formcreator ' ),
765+ 'icon ' => 'fa-fw ti ti-headset ' ,
766+ ];
767+ $ newMenu ['my_assistance_requests ' ] = [
768+ 'default ' => PluginFormcreatorIssue::getSearchURL (false ),
769+ 'title ' => __ ('My requests for assistance ' , 'formcreator ' ),
770+ 'icon ' => 'fa-fw ti ti-list ' ,
771+ ];
800772
801- // Add plugins menus
802- $ plugin_menus = $ menus ['plugins ' ]['content ' ] ?? [];
803- foreach ($ plugin_menus as $ menu_name => $ menu_data ) {
804- $ menu_data ['default ' ] = $ menu_data ['page ' ] ?? '# ' ;
805- $ newMenu [$ menu_name ] = $ menu_data ;
773+ if (PluginFormcreatorEntityConfig::getUsedConfig ('is_kb_separated ' , Session::getActiveEntity ()) == PluginFormcreatorEntityConfig::CONFIG_KB_DISTINCT
774+ && Session::haveRight ('knowbase ' , KnowbaseItem::READFAQ )
775+ ) {
776+ $ newMenu ['faq ' ] = $ menus ['faq ' ];
777+ $ newMenu ['faq ' ]['default ' ] = Plugin::getWebDir ('formcreator ' , false ) . '/front/knowbaseitem.php ' ;
778+ }
779+ if (Session::haveRight ("reservation " , ReservationItem::RESERVEANITEM )) {
780+ if (isset ($ menus ['reservation ' ])) {
781+ $ newMenu ['reservation ' ] = $ menus ['reservation ' ];
806782 }
807-
808- return $ newMenu ;
783+ }
784+ $ rssFeedTable = RSSFeed::getTable ();
785+ $ criteria = [
786+ 'SELECT ' => "$ rssFeedTable.* " ,
787+ 'DISTINCT ' => true ,
788+ 'FROM ' => $ rssFeedTable ,
789+ 'ORDER ' => "$ rssFeedTable.name "
790+ ];
791+ $ criteria = $ criteria + RSSFeed::getVisibilityCriteria ();
792+ $ criteria ['WHERE ' ]["$ rssFeedTable.users_id " ] = ['<> ' , Session::getLoginUserID ()];
793+ $ iterator = $ DB ->request ($ criteria );
794+ $ hasRssFeeds = $ iterator ->count () > 0 ;
795+
796+ if (RSSFeed::canView () && $ hasRssFeeds ) {
797+ $ newMenu ['feeds ' ] = [
798+ 'default ' => Plugin::getWebDir ('formcreator ' , false ) . '/front/wizardfeeds.php ' ,
799+ 'title ' => __ ('Consult feeds ' , 'formcreator ' ),
800+ 'icon ' => 'fa-fw ti ti-rss ' ,
801+ ];
809802 }
810803
811- // Using GLPI's helpdesk interface; then just modify the menu
812- $ newMenus = [];
813- foreach ($ menus as $ key => $ menu ) {
814- switch ($ key ) {
815- case 'create_ticket ' :
816- $ newMenus ['forms ' ] = [
817- 'default ' => '/ ' . Plugin::getWebDir ('formcreator ' , false ) . '/front/formlist.php ' ,
818- 'title ' => _n ('Form ' , 'Forms ' , 2 , 'formcreator ' ),
819- 'icon ' => 'fas fa-edit ' ,
820- ];
821- break ;
822-
823- case 'tickets ' :
824- $ newMenus ['tickets ' ] = [
825- 'default ' => PluginFormcreatorIssue::getSearchURL (false ),
826- 'title ' => PluginFormcreatorIssue::getTypeName (Session::getPluralNumber ()),
827- 'icon ' => 'fas fa-exclamation-circle ' ,
828- ];
829- break ;
830-
831- default :
832- $ newMenus [$ key ] = $ menu ;
833- }
804+ // Add plugins menus
805+ $ plugin_menus = $ menus ['plugins ' ]['content ' ] ?? [];
806+ foreach ($ plugin_menus as $ menu_name => $ menu_data ) {
807+ $ menu_data ['default ' ] = $ menu_data ['page ' ] ?? '# ' ;
808+ $ newMenu [$ menu_name ] = $ menu_data ;
834809 }
835810
836- return $ newMenus ;
811+ return $ newMenu ;
837812 }
838813
839814 /**
0 commit comments