/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfRequest $request) { $params = array('filename' => $request->getParameter('filename', null), 'format' => $request->getParameter('format', null), 'width' => str_replace('w', '', $request->getParameter('width', null)), 'height' => str_replace('h', '', $request->getParameter('height', null))); $image = new sfImageHandler($params); $this->forward404Unless($image->isValidSource(), 'Invalid URL.'); $binary = $image->createImage(); header('Content-Type:' . $image->getContentType()); echo $binary; exit; }
function sf_image_path($filename, $options = array(), $absolute = false) { if (isset($options['f'])) { $f = $options['f']; } elseif (isset($options['format'])) { $f = $options['format']; } elseif (is_callable(array($filename, 'getType'))) { $f = str_replace('image/', '', $filename->getType()); } else { $parts = explode('_', $filename); $f = array_pop($parts); } if ($f !== 'jpg' && $f !== 'png' && $f !== 'gif') { $f = 'jpg'; } $size = null; if (isset($options['size'])) { $size = $options['size']; } if (!isset($options['square']) && (0 === strpos($filename, 'm_') || 0 === strpos($filename, 'c_'))) { // member image / community image $options['square'] = true; } $square = isset($options['square']) ? (bool) $options['square'] : false; $class = sfImageHandler::getStorageClassName(); return call_user_func(array($class, 'getUrlToImage'), $filename, $size, $f, $absolute, $square); }
public static function getAllowedSize() { if (self::$allowedSize) { return self::$allowedSize; } self::$allowedSize = array_merge(array('48x48', '76x76', '120x120', '180x180', '240x320', '600x600'), sfConfig::get('sf_image_handler_allowed_size', array())); return self::$allowedSize; }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfRequest $request) { $params = array('filename' => $request->getParameter('filename', null), 'format' => $request->getParameter('format', null), 'width' => str_replace('w', '', $request->getParameter('width', null)), 'height' => str_replace('h', '', $request->getParameter('height', null))); try { $image = new sfImageHandler($params); } catch (RuntimeException $e) { if (sfImageGenerator::ERROR_NOT_ALLOWED_SIZE !== $e->getCode()) { throw $e; } $this->forward404($e->getMessage()); } $this->forward404Unless($image->isValidSource(), 'Invalid URL.'); $binary = $image->createImage(); header('Content-Type:' . $image->getContentType()); echo $binary; exit; }
public function delete(Doctrine_Connection $conn = null) { if ($this->isImage()) { $class = sfImageHandler::getStorageClassName(); $storage = call_user_func(array($class, 'create'), $this, $class); $storage->deleteBinary(); } return parent::delete($conn); }
protected function doClean($value) { $value = parent::doClean($value); if ($this->isEmpty($value)) { return $this->getEmptyValue(); } if (!in_array($value, sfImageHandler::getAllowedSize())) { throw new sfValidatorError($this, 'Not allowed'); } return $value; }
public function initialize($options) { $this->allowedSize = sfImageHandler::getAllowedSize(); $options = array_merge(array('width' => $this->width, 'height' => $this->height), $options); $this->setImageSize($options['width'], $options['height']); if (isset($options['quality'])) { $this->quality = $options['quality']; } if (isset($options['format'])) { $this->format = $options['format']; } }
public function delete(Doctrine_Connection $conn = null) { if (!$this->getFile()->isImage() || $this->getBin()) { return parent::delete($conn); } if (!$this->isFirstDelete) { $this->isFirstDelete = true; return parent::delete($conn); } $this->isFirstDelete = false; $class = sfImageHandler::getStorageClassName(); $storage = call_user_func(array($class, 'create'), $this->getFile(), $class); return $storage->deleteBinary(); }
function sf_image_path($filename, $options = array(), $absolute = false) { if (isset($options['f'])) { $f = $options['f']; } elseif (isset($options['format'])) { $f = $options['format']; } elseif (is_callable(array($filename, 'getType'))) { $f = str_replace('image/', '', $filename->getType()); } else { $parts = explode('_', $filename); $f = array_pop($parts); } if ($f !== 'jpg' && $f !== 'png' && $f !== 'gif') { $f = 'jpg'; } $size = null; if (isset($options['size'])) { $size = $options['size']; } $class = sfImageHandler::getStorageClassName(); return call_user_func(array($class, 'getUrlToImage'), $filename, $size, $f, $absolute); }
public function deleteBinary() { sfImageHandler::clearFileCache($this->file->getName()); return $this->file->getFileBin()->delete(); }
public static function generateWidget($field, $choices = array()) { $field = self::arrayKeyCamelize($field); $params = self::generateWidgetParams($field, $choices); if (in_array($field['FormType'], self::$choicesType)) { if ('select' === $field['FormType']) { if (!$field['IsRequired']) { $params['choices'] = array('' => sfContext::getInstance()->getI18N()->__('Please Select')) + $params['choices']; } } else { $params['expanded'] = true; } } switch ($field['FormType']) { case 'checkbox': $params['multiple'] = true; $obj = new sfWidgetFormChoice($params); break; case 'select': $obj = new sfWidgetFormChoice($params); break; case 'radio': $obj = new sfWidgetFormChoice($params); break; case 'textarea': $obj = new sfWidgetFormTextarea($params); break; case 'rich_textarea': $obj = new opWidgetFormRichTextarea($params); break; case 'password': $obj = new sfWidgetFormInputPassword($params); break; case 'date': unset($params['choices']); $params['culture'] = sfContext::getInstance()->getUser()->getCulture(); $params['month_format'] = 'number'; if (!$field['IsRequired']) { $params['can_be_empty'] = true; } $obj = new opWidgetFormDate($params); break; case 'increased_input': $obj = new opWidgetFormInputIncreased($params); break; case 'language_select': $languages = sfConfig::get('op_supported_languages'); $choices = opToolkit::getCultureChoices($languages); $obj = new sfWidgetFormChoice(array('choices' => $choices)); break; case 'country_select': $info = sfCultureInfo::getInstance(sfContext::getInstance()->getUser()->getCulture()); $obj = new sfWidgetFormChoice(array('choices' => $info->getCountries())); break; case 'region_select': $list = (include sfContext::getInstance()->getConfigCache()->checkConfig('config/regions.yml')); $type = $field['ValueType']; if ('string' !== $type && isset($list[$type])) { $list = $list[$type]; $list = array_combine($list, $list); } else { foreach ($list as $k => $v) { if ($v) { $list[$k] = array_combine($v, $v); } } } $list = opToolkit::arrayMapRecursive(array(sfContext::getInstance()->getI18N(), '__'), $list); $obj = new sfWidgetFormChoice(array('choices' => $list)); break; case 'image_size': foreach (sfImageHandler::getAllowedSize() as $v) { $params['choices'][$v] = sfContext::getInstance()->getI18N()->__($v); } $params['choices'] = $params['choices'] + array('' => sfContext::getInstance()->getI18N()->__('Full Size')); $obj = new sfWidgetFormChoice($params); break; default: $obj = new sfWidgetFormInput($params); break; } return $obj; }