Exemplo n.º 1
0
 private function updateFtpSettings(EntityManager $em)
 {
     $offset = 0;
     $perBatch = 100;
     do {
         $builder = $em->getConnection()->createQueryBuilder();
         $sql = $builder->select('u.usr_id', 'u.activeFTP', 'u.addrFTP', 'u.loginFTP', 'u.retryFTP', 'u.passifFTP', 'u.pwdFTP', 'u.destFTP', 'u.prefixFTPfolder')->from('usr', 'u')->where($builder->expr()->notLike('u.usr_login', $builder->expr()->literal('(#deleted_%')), $builder->expr()->eq('u.model_of', 0), $builder->expr()->neq('u.addrFTP', $builder->expr()->literal('')))->setFirstResult($offset)->setMaxResults($perBatch)->getSQL();
         $rs = $em->getConnection()->fetchAll($sql);
         foreach ($rs as $row) {
             try {
                 $user = $em->createQuery('SELECT PARTIAL u.{id} FROM Phraseanet:User u WHERE u.id = :id')->setParameters(['id' => $row['usr_id']])->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true)->getSingleResult();
             } catch (NoResultException $e) {
                 continue;
             }
             $credential = new FtpCredential();
             $credential->setActive($row['activeFTP']);
             $credential->setAddress($row['addrFTP']);
             $credential->setLogin($row['loginFTP']);
             $credential->setMaxRetry((int) $row['retryFTP']);
             $credential->setPassive($row['passifFTP']);
             $credential->setPassword($row['pwdFTP']);
             $credential->setReceptionFolder($row['destFTP']);
             $credential->setRepositoryPrefixName($row['prefixFTPfolder']);
             $credential->setUser($user);
             $em->persist($credential);
         }
         $em->flush();
         $em->clear();
         $offset += $perBatch;
     } while (count($rs) > 0);
     return true;
 }
Exemplo n.º 2
0
 private function updateFtpSettings(EntityManager $em)
 {
     $offset = 0;
     $perBatch = 100;
     do {
         $sql = 'SELECT usr_id, activeFTP, addrFTP, loginFTP,
                     retryFTP, passifFTP, pwdFTP, destFTP, prefixFTPfolder
                 FROM usr
                 WHERE
                     usr_login NOT LIKE "(#deleted_%"
                     AND model_of = 0
                     AND addrFTP != ""' . sprintf(' LIMIT %d, %d', $offset, $perBatch);
         $rs = $em->getConnection()->fetchAll($sql);
         foreach ($rs as $row) {
             try {
                 $user = $em->createQuery('SELECT PARTIAL u.{id} FROM Phraseanet:User u WHERE u.id = :id')->setParameters(['id' => $row['usr_id']])->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true)->getSingleResult();
             } catch (NoResultException $e) {
                 continue;
             }
             $credential = new FtpCredential();
             $credential->setActive($row['activeFTP']);
             $credential->setAddress($row['addrFTP']);
             $credential->setLogin($row['loginFTP']);
             $credential->setMaxRetry((int) $row['retryFTP']);
             $credential->setPassive($row['passifFTP']);
             $credential->setPassword($row['pwdFTP']);
             $credential->setReceptionFolder($row['destFTP']);
             $credential->setRepositoryPrefixName($row['prefixFTPfolder']);
             $credential->setUser($user);
             $em->persist($credential);
         }
         $em->flush();
         $em->clear();
         $offset += $perBatch;
     } while (count($rs) > 0);
     return true;
 }
 /**
  * {@inheritDoc}
  */
 public function setMaxRetry($maxRetry)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMaxRetry', array($maxRetry));
     return parent::setMaxRetry($maxRetry);
 }