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