示例#1
0
 /**
  * Adds or Edits a Quiz
  *
  * @return void
  * @author Ben Evans
  */
 public function addeditAction()
 {
     // The Form
     $form = new Form_AddQuiz();
     $this->view->form = $form;
     // Editing? Or new Quiz?
     $editing = null;
     $editing = $this->_getParam("id");
     if (!is_null($editing)) {
         $editing = Model_Quiz_Quiz::fromID($editing);
         $this->view->editing = $editing;
         // Populate Form
         $id = new Zend_Form_Element_Hidden('id');
         $id->setValue($editing->getID());
         $form->addElement($id);
         $form->getElement("name")->setValue($editing->getName());
         $form->getElement("permissions")->setValue($editing->getPermissions_group());
         $form->getElement("opendate")->setValue(date("Y-m-d", $editing->getOpen_date()));
         $form->getElement("closedate")->setValue(date("Y-m-d", $editing->getClose_date()));
         $form->getElement("attempts")->setValue($editing->getMax_attempts());
         $form->getElement("percentage")->setValue($editing->getPercentage_pass());
     }
     // Submitting?
     if ($this->getRequest()->isPost()) {
         $formData = $_POST;
         //My_Logger::log(var_export($formData, true));
         if (!$form->isValid($_POST)) {
             // Failed validation; redisplay form
             $this->view->form = $form;
             return;
         } else {
             if (is_null($editing)) {
                 // New Quiz
                 $vQuiz = Model_Quiz_Quiz::fromScratch($formData['name'], $formData['permissions'], $formData['opendate'], $formData['closedate'], $formData['attempts'], $formData['percentage']);
             } else {
                 // Editing Quiz
                 $editing->setQuiz_name($formData['name']);
                 $editing->setPermissions_group($formData['permissions']);
                 $editing->setOpen_date(strtotime($formData['opendate']));
                 $editing->setClose_date(strtotime($formData['closedate']));
                 $editing->setMax_attempts($formData['attempts']);
                 $editing->setPercentage_pass($formData['percentage']);
             }
             // Redirect to the Manage Quiz Pages
             $this->_helper->redirector("manage", "admin");
         }
     }
 }
示例#2
0
 function createQuiz($name, $permissions, $starts = false, $ends = false, $attempts = 50, $percentage = 100)
 {
     return Model_Quiz_Quiz::fromScratch($name, $permissions, $starts ?: date('Y-m-d', strtotime("-1 month")), $ends ?: date('Y-m-d', strtotime("+5 month")), $attempts, $percentage);
 }