/**
  * Displays the ruleset(s) pages.
  */
 public function display_wemahu_rulesets()
 {
     global $wpdb;
     $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'list';
     switch ($action) {
         case 'list':
             include_once 'views/rulesets.php';
             break;
         case 'edit':
             $rulsetId = (int) $_REQUEST['id'];
             $ModelRuleset = new ModelRuleset($wpdb);
             $rulesetData = $ModelRuleset->getRulesetData($rulsetId);
             include_once 'views/ruleset.php';
             break;
         case 'save':
             $rulsetId = (int) $_POST['id'];
             check_admin_referer('save_ruleset_' . $rulsetId);
             $ModelRuleset = new ModelRuleset($wpdb);
             $saveResult = $ModelRuleset->saveRuleset($_POST['ruleset'], $rulsetId);
             if ($saveResult === false) {
                 $message = array('type' => 'error', 'text' => 'Rule could not be saved to database.');
             } else {
                 $message = array('type' => 'updated', 'text' => 'Rule successfully saved.');
                 $rulsetId = $saveResult;
             }
             $rulesetData = $ModelRuleset->getRulesetData($rulsetId);
             include_once 'views/ruleset.php';
             break;
         case 'add':
             $rulesetData = array('id' => 0, 'name' => '', 'filecheck' => 1, 'scandir' => '', 'regex_check' => 1, 'hash_check' => 1, 'filetypes' => 'php,jpg,png,gif,js,html,htm,xml,htaccess', 'filesize_max' => '500000');
             include_once 'views/ruleset.php';
             break;
         case 'delete':
             $deleteResult = false;
             if (!empty($_GET['id'])) {
                 $rulsetId = (int) $_GET['id'];
                 check_admin_referer('delete_' . $rulsetId);
                 $ModelRuleset = new ModelRuleset($wpdb);
                 $deleteResult = $ModelRuleset->deleteRuleset($rulsetId);
             }
             if (!empty($_GET['ruleset'])) {
                 check_admin_referer('bulk-rulesets');
                 $rulesetIds = $_GET['ruleset'];
                 $ModelRuleset = new ModelRuleset($wpdb);
                 foreach ($rulesetIds as $rulsetId) {
                     $deleteResult = $ModelRuleset->deleteRuleset($rulsetId);
                     if ($deleteResult === false) {
                         break;
                     }
                 }
                 $deleteResult = true;
             }
             if ($deleteResult === false) {
                 $message = array('type' => 'error', 'text' => 'Rule(s) could not be deleted database.');
             } else {
                 $message = array('type' => 'updated', 'text' => 'Rule(s) successfully deleted.');
             }
             include_once 'views/rulesets.php';
             break;
     }
 }