function createCodes()
 {
     global $ilAccess, $ilErr, $lng, $tpl, $ilCtrl;
     if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
         $ilErr->raiseError($lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
     }
     $this->initAddCodesForm();
     if ($this->form_gui->checkInput()) {
         $number = $this->form_gui->getInput('acc_codes_number');
         switch ($this->form_gui->getInput('valid_type')) {
             case 'valid_unlimited':
                 $valid = 0;
                 break;
             case 'valid_static':
                 $valid = $this->form_gui->getInput('valid_date');
                 $valid = $valid['date'];
                 break;
             case 'valid_dynamic':
                 $valid = $this->form_gui->getInput('valid_days');
                 break;
         }
         include_once './Services/User/classes/class.ilAccountCode.php';
         $stamp = time();
         for ($loop = 1; $loop <= $number; $loop++) {
             ilAccountCode::create($valid, $stamp);
         }
         ilUtil::sendSuccess($lng->txt('saved_successfully'), true);
         $ilCtrl->redirect($this, "listCodes");
     } else {
         $this->form_gui->setValuesByPost();
         $tpl->setContent($this->form_gui->getHtml());
     }
 }