public function updateObject($values = null)
 {
     $object = parent::updateObject($values);
     if ($this->isNew()) {
         // Setting random integer
         $object->setRandom(mt_rand(10000, 99999));
         // And a rendom signature for BT
         $object->setPid(sha1(time()));
         // Setting password expiration
         $object->setPassexpires(date('Y-m-d H:i:s', time() + 3600 * 24 * 365));
         // If invite, setting parent
         if (sfConfig::get('app_invitation')) {
             // Fetching code
             $c = Doctrine::getTable("Invites")->findOneByCode($this->getValue('invite'));
             // Setting parent
             $object->setParent($c->getUid());
             // Expiring code
             $c->setExpire(date('Y-m-d H:i:s'));
             $c->save();
         }
         // Is validation required ?
         if (sfConfig::get("app_validate")) {
             $object->setRole("val");
         } else {
             $object->setRole("mbr");
         }
         // The first registration makes it admin
         $nbUsers = Doctrine_Query::create()->select('COUNT(*)')->from('Users')->execute(array(), Doctrine::HYDRATE_SINGLE_SCALAR);
         if ($nbUsers == 0) {
             $object->setRole("adm");
         }
     }
     return $object;
 }
Beispiel #2
0
 public function updateObject($values = null)
 {
     $object = parent::updateObject($values);
     if ($av = $object->getAvatar('raw')) {
         $tmp_name = sfConfig::get('sf_upload_dir') . '/avatars/' . $av;
         if (!file_exists($tmp_name)) {
             return $object;
         }
         // Génération miniature 50x50
         $mini = new sfImage($tmp_name);
         $mini->thumbnail(50, 50, 'inflate');
         $mini->setQuality(80);
         $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/50x50/' . $av);
         // Génération miniature 32x32
         $mini = new sfImage($tmp_name);
         $mini->thumbnail(32, 32, 'inflate');
         $mini->setQuality(80);
         $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/32x32/' . $av);
         // Génération miniature 16x16
         $mini = new sfImage($tmp_name);
         $mini->thumbnail(16, 16, 'inflate');
         $mini->setQuality(80);
         $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/16x16/' . $av);
         // On supprime le fichier original
         unlink($tmp_name);
     }
     return $object;
 }