Example #1
0
 public function connectYourAccountAction()
 {
     //get referer sender user Id from session
     $usersNs = new Zend_Session_Namespace("app");
     $sender_id = $usersNs->sender_id;
     //echo "sssss=".$sender_id;
     $facebook = $this->view->facebook();
     $session = $facebook->getSession();
     //echo "<pre>";
     //print_r($session);
     if (!$session) {
         $this->_helper->redirector("register", "index", "default");
     }
     $uid = $facebook->getUser();
     $me = $facebook->api('/me');
     //echo "<pre>";
     //print_r($me);
     //exit;
     $params['email'] = $me['email'];
     $arrBday = explode("/", $me['birthday']);
     $params['year'] = $arrBday[2];
     $params['month'] = $arrBday[0];
     $params['day'] = $arrBday[1];
     $params['firstName'] = $me['first_name'];
     $params['lastName'] = $me['last_name'];
     if (isset($me['gender']) && $me['gender'] != "") {
         $params['sex'] = $me['gender'];
     }
     $form = new Application_Form_Register();
     $form->populate($params);
     $elements = $form->getElements();
     $form->clearDecorators();
     foreach ($elements as $element) {
         $element->removeDecorator('label');
     }
     $this->view->fbmsg = $this->_getParam("fbmsg");
     $this->view->form = $form;
     $this->view->successMsg = "";
     $this->view->sender = $this->_getParam('sender');
     if ($this->getRequest()->isPost()) {
         $params = $this->getRequest()->getPost();
         $params['firstName'] = $me['first_name'];
         $params['lastName'] = $me['last_name'];
         if (isset($me['gender']) && $me['gender'] != "") {
             $params['sex'] = $me['gender'];
         }
         if ($form->isValid($params)) {
             $params['facebookId'] = $uid;
             $params['dob'] = $params['year'] . "-" . $params['month'] . "-" . $params['day'];
             $params['status'] = 'inactive';
             $params['userLevelId'] = 1;
             $password = $params['password'];
             $params['password'] = md5($params['password']);
             $params['status'] = "active";
             /*----find gapper id ---*/
             $gapper_id = 0;
             if ($params['gapperOrFriend'] == "friend") {
                 $gapperM = new Application_Model_User();
                 $gapper = $gapperM->getDataByUsername($params['usernameOfGapper']);
                 if (false !== $gapper) {
                     $gapper_id = $gapper->getId();
                 }
             }
             $params['gapperId'] = $gapper_id;
             /*----------------------*/
             $user = new Application_Model_User($params);
             $user_id = $user->save();
             if ($user_id > 0) {
                 //If user has checked Newsletter, then insert in subscribe table
                 if ($params['newsletter'] == "yes") {
                     $user->newsletterSubscribe($user_id);
                 }
                 /*---- default permission settings ----*/
                 $user->setDefaultPermissions($user_id);
                 $user->setDefaultJournal($user_id);
                 /*-------------------------------------------*/
                 /*---------add a friend -------------*/
                 //$sender_id = base64_decode($this->_getParam('sender'));
                 //$senderM=new Application_Model_Friend();
                 //$senderM->addAsFriend($sender_id,$user_id);
                 $sender_id = $usersNs->sender_id;
                 if ($sender_id > 0) {
                     $senderM = new Application_Model_Friend();
                     $senderM->addAsFriend($sender_id, $user_id);
                     $senderM->addAsFriend($user_id, $sender_id);
                 }
                 /*-------------------------------------*/
                 $params['activate_link'] = Zend_Registry::get('siteurl') . "/index/activate/id/" . base64_encode($user_id);
                 $params['password'] = $password;
                 $usersNs->registration_id = $user_id;
                 //$mail=new Base_Mail();
                 //$mail->sendRegistrationMail($params);
                 $usersNs = new Zend_Session_Namespace("app");
                 $usersNs->facebookId = $uid;
                 $this->_helper->redirector('invite', 'index', "default");
             }
         }
     }
 }