Ejemplo n.º 1
0
 public function subscribeAction()
 {
     $this->init();
     $this->checkLogin();
     $this->googlePlusLogin();
     $form = new SubscribeForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $subscribe = new Subscribe();
         $form->setInputFilter($subscribe->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $name = $request->getPost('name');
             $email = $request->getPost('email');
             $Data = array();
             $Data['email'] = $email;
             $Data['name'] = $name;
             $Data['created_on'] = date("Y-m-d");
             $Data['active'] = 1;
             //$adapter = $this->tableGateway->getAdapter();
             $dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter');
             $validator = new \Zend\Validator\Db\NoRecordExists(array('table' => 'subscriber_signup', 'field' => 'email', 'adapter' => $dbAdapter));
             if ($validator->isValid($email)) {
                 // email address appears to be valid
                 $sql = new Sql($dbAdapter);
                 $insert = $sql->insert('subscriber_signup');
                 $insert->values($Data);
                 $statement = $sql->prepareStatementForSqlObject($insert);
                 $results = $statement->execute();
                 $return_id = $dbAdapter->getDriver()->getLastGeneratedValue();
                 if ($return_id) {
                     $this->flashMessenger()->addMessage('Your subscription has been created !');
                 }
                 return $this->redirect()->toRoute('index', array('action' => 'subscribe'));
             } else {
                 //$this->flashMessenger()->addMessage('A record matching the input was found!');
                 $this->layout()->setVariable('message', $validator->getMessages());
                 // email address is invalid; print the reasons
                 //foreach ($validator->getMessages() as $message) {
                 //echo "$message\n";
                 //}
             }
         }
     }
     return new ViewModel(array('form' => $form, 'flashMessages' => $this->flashmessenger()->getMessages()));
 }