Beispiel #1
0
 static function getAdminPermissions()
 {
     if (empty(FST_Ticket_Helper::$_permissions)) {
         $mainframe = JFactory::getApplication();
         global $option;
         $user = JFactory::getUser();
         $userid = $user->id;
         $db = JFactory::getDBO();
         $query = "SELECT * FROM #__fst_user WHERE user_id = '" . FSTJ3Helper::getEscaped($db, $userid) . "'";
         $db->setQuery($query);
         FST_Ticket_Helper::$_permissions = $db->loadAssoc();
         if (!FST_Ticket_Helper::$_permissions) {
             FST_Ticket_Helper::$_permissions['mod_kb'] = 0;
             FST_Ticket_Helper::$_permissions['mod_test'] = 0;
             FST_Ticket_Helper::$_permissions['support'] = 0;
             FST_Ticket_Helper::$_permissions['seeownonly'] = 1;
             FST_Ticket_Helper::$_permissions['autoassignexc'] = 1;
             FST_Ticket_Helper::$_permissions['allprods'] = 1;
             FST_Ticket_Helper::$_permissions['allcats'] = 1;
             FST_Ticket_Helper::$_permissions['alldepts'] = 1;
             FST_Ticket_Helper::$_permissions['artperm'] = 0;
             FST_Ticket_Helper::$_permissions['id'] = 0;
             FST_Ticket_Helper::$_permissions['groups'] = 0;
             FST_Ticket_Helper::$_permissions['reports'] = 0;
             FST_Ticket_Helper::$_permissions['settings'] = '';
         }
         FST_Ticket_Helper::$_permissions['userid'] = $userid;
         FST_Ticket_Helper::$_perm_only = '';
         FST_Ticket_Helper::$_perm_prods = '';
         FST_Ticket_Helper::$_perm_depts = '';
         FST_Ticket_Helper::$_perm_cats = '';
         FST_Ticket_Helper::$_permissions['perm_where'] = '';
         //
         // check for permission overrides for Joomla 1.6
         if (FST_Settings::get('perm_article_joomla') || FST_Settings::get('perm_mod_joomla')) {
             if (FST_Helper::Is16()) {
                 $newart = 0;
                 $newmod = 0;
                 $user = JFactory::getUser();
                 if ($user->authorise('core.edit.own', 'com_fst')) {
                     $newart = 1;
                 }
                 if ($user->authorise('core.edit', 'com_fst')) {
                     $newart = 2;
                     $newmod = 1;
                 }
                 if ($user->authorise('core.edit.state', 'com_fst')) {
                     $newart = 3;
                     $newmod = 1;
                 }
                 if (FST_Settings::get('perm_article_joomla') && $newart > FST_Ticket_Helper::$_permissions['artperm']) {
                     FST_Ticket_Helper::$_permissions['artperm'] = $newart;
                 }
                 if (FST_Settings::get('perm_mod_joomla') && $newmod > FST_Ticket_Helper::$_permissions['mod_kb']) {
                     FST_Ticket_Helper::$_permissions['mod_kb'] = $newmod;
                 }
                 //
             } else {
                 $newart = 0;
                 $newmod = 0;
                 $user = JFactory::getUser();
                 if ($user->authorize('com_fst', 'create', 'content', 'own')) {
                     $newart = 1;
                 }
                 if ($user->authorize('com_fst', 'edit', 'content', 'own')) {
                     $newart = 2;
                     $newmod = 1;
                 }
                 if ($user->authorize('com_fst', 'publish', 'content', 'all')) {
                     $newart = 3;
                     $newmod = 1;
                 }
                 if (FST_Settings::get('perm_article_joomla') && $newart > FST_Ticket_Helper::$_permissions['artperm']) {
                     FST_Ticket_Helper::$_permissions['artperm'] = $newart;
                 }
                 if (FST_Settings::get('perm_mod_joomla') && $newmod > FST_Ticket_Helper::$_permissions['mod_kb']) {
                     FST_Ticket_Helper::$_permissions['mod_kb'] = $newmod;
                 }
             }
         }
     }
     return FST_Ticket_Helper::$_permissions;
 }