protected function execute($arguments = array(), $options = array())
  {
    // initialize the database connection
    $databaseManager = new sfDatabaseManager($this->configuration);
    $connection = $databaseManager->getDatabase($options['connection'])->getConnection();

    $this->logSection('rdvz', "Retrieving users...") ;

    $ldap = new uapvLdap() ;
    $users = Doctrine::getTable('user')->retrieveLdapUsers() ;

    $this->logSection('rdvz', "Updating information...") ;

    foreach($users as $user)
    {
      $us = $ldap->searchOne(sfConfig::get('app_profile_var_translation_uid')."=".$user->getLdapId()) ;

      $user->setName($us[sfConfig::get('app_profile_var_translation_name')]) ;
      $user->setSurname($us[sfConfig::get('app_profile_var_translation_surname')]) ;
      $user->setMail($us[sfConfig::get('app_profile_var_translation_mail')]) ;
      $user->save();
    }

    $this->logSection('rdvz', "Done.") ;
  }
예제 #2
0
 private function getUserFromDatabase($ldap_id)
 {
     $ldap = new uapvLdap();
     $user = Doctrine::getTable('user')->retrieveByLdapId($ldap_id);
     if ($user === null) {
         $us = $ldap->searchOne(sfConfig::get('app_profile_var_translation_uid') . "={$ldap_id}");
         $user = new user();
         $user->setLdapId($ldap_id);
         $user->setName($us[sfConfig::get('app_profile_var_translation_name')]);
         $user->setSurname($us[sfConfig::get('app_profile_var_translation_surname')]);
         $user->setMail($us[sfConfig::get('app_profile_var_translation_mail')]);
         $user->save();
     }
     return $user;
 }