function createCodes()
 {
     global $ilAccess, $ilErr, $rbacreview;
     if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
         $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
     }
     $this->setSubTabs('registration_codes');
     $this->initAddCodesForm();
     $valid = $this->form_gui->checkInput();
     if ($valid) {
         $number = $this->form_gui->getInput('reg_codes_number');
         $role = $this->form_gui->getInput('reg_codes_role');
         $local = $this->form_gui->getInput("reg_codes_local");
         if (is_array($local)) {
             $role_ids = array();
             foreach (array_unique($local) as $item) {
                 if (trim($item)) {
                     $role_id = $rbacreview->roleExists($item);
                     if ($role_id) {
                         $role_ids[] = $role_id;
                     }
                 }
             }
             if (sizeof($role_ids)) {
                 $local = $role_ids;
             }
         }
         $date = null;
         $limit = $this->form_gui->getInput("reg_limit");
         switch ($limit) {
             case "absolute":
                 $date = $this->form_gui->getInput("abs_date");
                 $date = $date["date"];
                 if ($date < date("Y-m-d")) {
                     $valid = false;
                 }
                 break;
             case "relative":
                 $date = $this->form_gui->getInput("rel_date");
                 if (!array_sum($date)) {
                     $valid = false;
                 }
                 break;
             case "none":
                 $limit = null;
                 break;
         }
     }
     if ($valid) {
         include_once './Services/Registration/classes/class.ilRegistrationCode.php';
         $stamp = time();
         for ($loop = 1; $loop <= $number; $loop++) {
             ilRegistrationCode::create($role, $stamp, $local, $limit, $date);
         }
         ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
         $this->ctrl->redirect($this, "listCodes");
     } else {
         $this->form_gui->setValuesByPost();
         $this->tpl->setContent($this->form_gui->getHtml());
     }
 }
 function createCodes()
 {
     global $ilAccess, $ilErr;
     if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
         $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
     }
     $this->setSubTabs('registration_codes');
     $this->initAddCodesForm();
     if ($this->form_gui->checkInput()) {
         $number = $this->form_gui->getInput('reg_codes_number');
         $role = $this->form_gui->getInput('reg_codes_role');
         include_once './Services/Registration/classes/class.ilRegistrationCode.php';
         $stamp = time();
         for ($loop = 1; $loop <= $number; $loop++) {
             ilRegistrationCode::create($role, $stamp);
         }
         ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
         $this->ctrl->redirect($this, "listCodes");
     } else {
         $this->form_gui->setValuesByPost();
         $this->tpl->setContent($this->form_gui->getHtml());
     }
 }