Advertisement
Eddz

Untitled

Aug 30th, 2013
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.02 KB | None | 0 0
  1. /**
  2.      * Add entity
  3.      *
  4.      * @return object ViewModel | redirect
  5.      */
  6.     public function addAction()
  7.     {
  8.         $form = new \Fcm\Form\CampaignAdd();
  9.         $form->setInputFilter(new \Fcm\Form\CampaignAddInputFilter());
  10.         // dennisd !!! I don't know where perform the code that you sent me http://framework.zend.com/manual/2.1/en/modules/zend.validator.file.extension.html#zend-validator-file-extension
  11.         $validData = null;
  12.         $this->layout()->title = 'Add campaign';
  13.  
  14.         if ($this->request->isPost()) {
  15.             $assets = $this->getRequest()->getFiles()->toArray();
  16.             $form->setData($this->request->getPost());
  17.             if ($form->isValid()) {
  18.  
  19.                 $formData = $form->getData();
  20.                 // Insert campaign entity
  21.                 $campaign = $this->getEntityManager()->getRepository('Fcm\Entity\Campaign')->insert($formData);
  22.  
  23.                 // Insert campaign type
  24.                 switch ($formData['fsInfoCampaign']['typecampaign']) {
  25.                     // Multiple choice
  26.                     case 4:
  27.                         $data = array(
  28.                             "question" => $formData['fsInfoCampaign']['multiplechoice_question'],
  29.                             "correct_answer" => $formData['fsInfoCampaign']['multiplechoice_correct_answer'],
  30.                             "wrong1" => $formData['fsInfoCampaign']['multiplechoice_wrong1'],
  31.                             "wrong2" => $formData['fsInfoCampaign']['multiplechoice_wrong2'],
  32.                             "wrong3" => $formData['fsInfoCampaign']['multiplechoice_wrong3'],
  33.                             "wrong4" => $formData['fsInfoCampaign']['multiplechoice_wrong4'],
  34.                             "campaign" => $campaign,
  35.                         );
  36.                         $this->getEntityManager()->getRepository('Fcm\Entity\MultipleChoice')->insert($data);
  37.                         break;
  38.                     // Answer/Question
  39.                     case 3:
  40.                         $data = array(
  41.                             "question" => $formData['fsInfoCampaign']['answerquestion_question'],
  42.                             "correct_answer" => $formData['fsInfoCampaign']['answerquestion_correct_answer'],
  43.                             "campaign" => $campaign,
  44.                         );
  45.                         $this->getEntityManager()->getRepository('Fcm\Entity\AnswerQuestion')->insert($data);
  46.                         break;
  47.                     // Draw
  48.                     case 2:
  49.                         $data = array(
  50.                             "draw" => $formData['fsInfoCampaign']['draw'],
  51.                             "campaign" => $campaign,
  52.                         );
  53.                         $this->getEntityManager()->getRepository('Fcm\Entity\Draw')->insert($data);
  54.                         break;
  55.                 }
  56.                 // Insert Desired field
  57.                 $formData['fsInfoCampaign']['desired_fields']['campaign'] = $campaign;
  58.                 $this->getEntityManager()->getRepository('Fcm\Entity\DesiredField')->insert($formData['fsInfoCampaign']['desired_fields']);
  59.                 // Upload and manage assets
  60.                 $this->upload_assets($assets['fsFB'], $campaign);
  61.                 $this->flashMessenger()->addMessage('<strong>Added!</strong> The campaign <st$formDatarong style="text-decoration: underline;">' . $formData['fsInfoCampaign']['name'] . '</strong> was successfully added.');
  62.                 return $this->redirect()->toRoute('campaigns');
  63.             } else {
  64.                 $this->flashMessenger()->addMessage('<strong>Invalid input!!</strong> The form fields are not filled out correctly.');
  65.                 return new ViewModel(
  66.                         array(
  67.                     'form' => $form,
  68.                     'campaign_id' => $form
  69.                         )
  70.                 );
  71.             }
  72.         }
  73.         else
  74.             return new ViewModel(
  75.                     array(
  76.                 'form' => $form
  77.                     )
  78.             );
  79.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement