function ShowUsers($filter)
 {
     require_once PATH_ACCESS . '/UserManager.php';
     require_once PATH_ACCESS . '/GroupManager.php';
     require_once PATH_ACCESS . '/GlobalSettingsManager.php';
     $globalSettingsManager = new globalSettingsManager();
     $userManager = new UserManager();
     $groupManager = new GroupManager();
     try {
         $groups = $groupManager->getTableData();
         //$users = $userManager->getTableData();
         isset($_GET['sitePointer']) ? $showPage = $_GET['sitePointer'] + 0 : ($showPage = 1);
         $nextPointer = $showPage * 10 - 10;
         $users = $userManager->getUsersSorted($nextPointer, $filter);
     } catch (Exception $e) {
         $this->logs->log('ADMIN', 'MODERATE', sprintf('Error while getting Data from MySQL:%s in %s', $e->getMessage(), __METHOD__));
         $this->userInterface->dieError($this->messages['error']['get_data_failed']);
     }
     foreach ($users as &$user) {
         $is_named = false;
         foreach ($groups as $gn) {
             if ($gn['ID'] == $user['GID']) {
                 $user['groupname'] = $gn['name'];
                 $is_named = true;
                 break;
             }
         }
         $is_named or $user['groupname'] = 'Error: This group is non-existent!';
     }
     $specialCourses = $globalSettingsManager->getSpecialCourses();
     $specialCourses_exploded = explode("|", $specialCourses);
     $navbar = navBar($showPage, 'SystemUsers', 'System', 'SpecialCourse', '3', $filter);
     $this->SpecialCourseInterface->ShowUsers($users, $specialCourses_exploded, $navbar);
 }
 /**
  * Changes a Priceclass
  * @param string $priceclass_id The ID of the Priceclass to change
  */
 function ChangePriceclass($priceclass_id)
 {
     if (isset($_GET['where'], $_POST['ID'], $_POST['name'], $_POST['price'], $_POST['group_id'])) {
         $pc_old_ID = $_GET['where'];
         $pc_ID = $_POST['ID'];
         $pc_name = $_POST['name'];
         $pc_price = $_POST['price'];
         $pc_GID = $_POST['group_id'];
         $pc_price = str_replace(',', '.', $pc_price);
         if (!preg_match('/\\A^[0-9]{0,2}((,|\\.)[0-9]{2})?\\z/', $pc_price)) {
             $this->pcInterface->dieError($this->msg['err_inp_price']);
         } else {
             if (!preg_match('/\\A^[0-9]{1,5}\\z/', $pc_ID)) {
                 $this->pcInterface->dieError($this->msg['err_inp_id']);
             } else {
                 if (!preg_match('/\\A^[0-9]{1,5}\\z/', $pc_old_ID)) {
                     $this->pcInterface->dieError($this->msg['err_get']);
                 }
             }
         }
         try {
             $this->pcManager->changePriceClass($pc_old_ID, $pc_name, $pc_GID, $pc_price, $pc_ID);
         } catch (Exception $e) {
             $this->pcInterface->dieError($this->msg['err_change_priceclass'] . $e->getMessage());
         }
         $this->pcInterface->dieMsg($this->msg['fin_change_priceclass']);
     } else {
         require_once PATH_ACCESS . '/GroupManager.php';
         $groupManager = new GroupManager('groups');
         try {
             $priceclass = $this->pcManager->getEntryData($priceclass_id, '*');
             $current_group_name = $groupManager->getEntryData($priceclass['GID'], 'name');
             $groups = $groupManager->getTableData();
         } catch (Exception $e) {
         }
         foreach ($groups as &$group) {
             if ($group['ID'] == $priceclass['GID']) {
                 $group['default'] = 'selected';
             } else {
                 $group['default'] = '';
             }
         }
         $this->pcInterface->ChangePriceclass($priceclass, $groups, $current_group_name['name']);
     }
 }