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; }
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.'); }
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; }
/** * 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; }
/** * 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; }
/** * 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; }