public function save(Doctrine_Connection $conn = null) { if (sfConfig::get('sf_environment') != 'test' && ($this->isNew() || in_array('domain', $this->_modified) && $this->_get('domain'))) { if (!$this->getBucketName() || strlen($this->getBucketName()) == 0) { $bucket_name = $this->createAmazonBucketName(ProjectConfiguration::getAmazonBucketPrefix() . $this->_get('domain')); $this->setBucketName($bucket_name); } if ($this->getBucketName() && (!$this->getCfDistId() || strlen($this->getCfDistId() == 0))) { if (!isset($bucket_name) || !$bucket_name) { $bucket_name = $this->getBucketName(); } $results = $this->createAmazonDistribution($bucket_name); if ($results !== false) { $this->setCfDistId($results['dist_id']); $this->setCfDomainName($results['domain_name']); } } } if (!$this->isNew() && !$this->getSkipBackup() && in_array('episode_intro', $this->_modified) && $this->_get('episode_intro')) { $file_location = rtrim(ProjectConfiguration::getSubredditAudioFileLocalDirectory(), '/') . '/'; $filename = $this->_get('episode_intro'); if (file_exists($file_location . $filename)) { ProjectConfiguration::registerAws(); $response = $this->saveFileToApplicationBucket($file_location, $filename, 'intro'); if ($response->isOK()) { unlink($file_location . $filename); } } } if (!$this->isNew() && !$this->getSkipBackup() && in_array('episode_outro', $this->_modified) && $this->_get('episode_outro')) { $file_location = rtrim(ProjectConfiguration::getSubredditAudioFileLocalDirectory(), '/') . '/'; $filename = $this->_get('episode_outro'); if (file_exists($file_location . $filename)) { ProjectConfiguration::registerAws(); $response = $this->saveFileToApplicationBucket($file_location, $filename, 'outro'); if ($response->isOK()) { unlink($file_location . $filename); } } } parent::save($conn); }