public function save($con = null) { $jobId = $this->jobId; if (is_null($jobId)) { throw new sfException("Job ID is null! Set it with setJobId()", 1); } for ($i = 0; $i < 5; $i++) { $file = $this->getValue("file_" . $i); if (!is_null($file)) { $shaName = sha1($file->getOriginalName() . time()); $extension = $file->getExtension($file->getOriginalExtension()); $filePath = sfConfig::get('sf_upload_dir') . "/" . $shaName . "." . $extension; $file->save($filePath); $ja = new JobAttachment(); $ja->setJobId($jobId); $ja->setUserId(sfContext::getInstance()->getUser()->getProfile()->getId()); $ja->setFileName($shaName . "." . $extension); $ja->setOriginalFileName($file->getOriginalName()); $ja->save(); chmod($filePath, 0644); } } }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param JobAttachment $value A JobAttachment object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(JobAttachment $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }