protected function execute($arguments = array(), $options = array()) { // initialize the database connection $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'] ? $options['connection'] : null)->getConnection(); $c = new Criteria(); $c->addJoin(SfGuardUserPeer::ID, SfGuardUserProfilePeer::USER_ID); $c->add(SfGuardUserProfilePeer::FACEBOOK_UID, null, Criteria::ISNOTNULL); $c->add(SfGuardUserProfilePeer::NOMBRE, '', Criteria::EQUAL); $c->add(SfGuardUserPeer::IS_ACTIVE, 1); $profiles = SfGuardUserProfilePeer::doSelect($c); foreach ($profiles as $profile) { $data = VoFacebook::getData($profile->getFacebookUid()); if ($data) { echo $data->name . "\n"; $profile->setNombre($data->first_name); $profile->setApellidos($data->last_name); $profile->save(); } } }
public function executeEditFB(sfWebRequest $request) { $op = $request->getParameter("op"); $this->box = $request->getParameter("box"); $sfGuardUser = $this->getUser()->getGuardUser(); if ($this->getUser()->isAuthenticated() && $op == 'dis') { $this->getUser()->getProfile()->setFacebookUid(null); $this->getUser()->getProfile()->save(); } if ($this->getUser()->isAuthenticated() && ($uid = VoFacebook::getUid()) && $op == 'con') { // Buscar conflictos: Primero buscar si existe otro usuario con este UID $c = new Criteria(); $c->addJoin(SfGuardUserPeer::ID, SfGuardUserProfilePeer::USER_ID); $c->add(SfGuardUserProfilePeer::FACEBOOK_UID, $uid); $c->add(SfGuardUserProfilePeer::USER_ID, $this->getUser()->getGuardUser()->getId(), Criteria::NOT_EQUAL); $users = SfGuardUserPeer::doSelect($c); if (count($users) > 0) { $this->faceBookUid = $uid; return 'ConfirmMerge'; } // FIN: Buscar conflictos $sfGuardUser->getProfile()->setFacebookUid($uid); //sfFacebook::getGuardAdapter()->setUserFacebookUid($sfGuardUser, $uid); $sfGuardUser->save(); $sfGuardUser->getProfile()->save(); //$this->getUser()->signin( $sfGuardUser ); $sfGuardUser->getProfile()->setFaceBookUID($uid); } if ($this->getUser()->isAuthenticated()) { $formData = sfGuardUserPeer::retrieveByPk($this->getUser()->getGuardUser()->getId()); $this->profileEditForm = new ProfileEditForm($formData); if (isset($sfGuardUser)) { $this->lastReview = SfReviewManager::getLastReviewByUserId($sfGuardUser->getId()); $this->lastReviewOnReview = SfReviewManager::getLastReviewOnReviewByUserId($sfGuardUser->getId()); } } if ($this->box == 'lo_fb_conn') { die; } }