protected function createMediaFromUploadedFile(array &$values)
 {
     $file = $values['file'];
     $folder = dmDb::table('DmMediaFolder')->findOneByRelPathOrCreate('widget');
     $media = dmDb::table('DmMedia')->findOneByFileAndDmMediaFolderId(dmOs::sanitizeFileName($file->getOriginalName()), $folder->id);
     if (!$media) {
         $media = dmDb::create('DmMedia', array('dm_media_folder_id' => $folder->id))->create($file)->saveGet();
     }
     $values['mediaId'] = $media->id;
 }
Exemplo n.º 2
0
 public function execute(Doctrine_Connection $connection, $arguments = array(), $options = array())
 {
     $adapter = $this->getAdapter($connection);
     $infos = $adapter->getInfos();
     $infos['tag'] = dmString::underscore(dmOs::sanitizeFileName($options['tag']));
     $file = $this->getFile($infos);
     $this->log(sprintf('About to backup %s@%s to %s', $infos['name'], $infos['host'], $file));
     $this->createDir();
     $adapter->execute($file);
     $this->log('Done.');
 }
Exemplo n.º 3
0
 public function clearName($validator, $values)
 {
     if (!empty($values['file'])) {
         $filename = dmOs::sanitizeFileName($values['file']->getOriginalName());
         if (empty($filename)) {
             $error = new sfValidatorError($validator, 'This is a bad name');
             // throw an error bound to the password field
             throw new sfValidatorErrorSchema($validator, array('file' => $error));
         }
     }
     return $values;
 }
Exemplo n.º 4
0
 /**
  * Used by ->clearnName() to validate filename.
  * @param string $filename
  */
 public function isValidFilenameAndExtension($filename)
 {
     $filenameAndExt = explode('.', dmOs::sanitizeFileName($filename));
     if (count($filenameAndExt) < 2) {
         return false;
     }
     return true;
 }
Exemplo n.º 5
0
 /**
  * Physically creates asset
  *
  * @param string $asset_path path to the asset original file
  * @param bool $move do move or just copy ?
  */
 public function create(sfValidatedFile $file)
 {
     $this->file = $this->getAvailableFileName(dmOs::sanitizeFileName($file->getOriginalName()));
     $this->clearCache();
     $file->save($this->getFullPath());
     $this->refreshFromFile();
     return $this;
 }
Exemplo n.º 6
0
 /**
  * Sanitize files name (moves file if non regular name)
  */
 protected function sanitizeFile($file)
 {
     if (basename($file) != dmOs::sanitizeFileName(basename($file))) {
         $renamedFile = dmOs::join(dirname($file), dmOs::sanitizeFileName(basename($file)));
         while (file_exists($renamedFile)) {
             $renamedFile = dmOs::randomizeFileName($renamedFile);
         }
         rename($file, $renamedFile);
         $file = $renamedFile;
     }
     return $file;
 }