interpolate() 공개 정적인 메소드

public static interpolate ( $modelName, $modelId, $field, $filename, $style = 'original', $defaults = [] )
예제 #1
0
파일: upload.php 프로젝트: neggiel/senju
	function url($data, $field, $options = array())
	{
		$options += array('style' => 'original', 'urlize' => true);
		list($model, $field) = explode('.', $field);
		if(is_array($data))
		{
			if(isset($data[$model]))
			{
				if(isset($data[$model]['id']))
				{
					$id = $data[$model]['id'];
					$filename = $data[$model][$field.'_file_name'];
				}
			}
			elseif(isset($data['id']))
			{
				$id = $data['id'];
				$filename = $data[$field.'_file_name'];
			}
		}

		if(isset($id) && isset($filename))
		{
			$settings = UploadBehavior::interpolate($model, $id, $field, $filename, $options['style'], array('webroot' => ''));
			$url = isset($settings['url']) ? $settings['url'] : $settings['path'];
		}
		else
		{
			$settings = UploadBehavior::interpolate($model, null, $field, null, $options['style'], array('webroot' => ''));
			$url = isset($settings['default_url']) ? $settings['default_url'] : null;
		}

		return $options['urlize'] ? $this->Html->url($url) : $url;
	}
예제 #2
0
 public function url($data, $field, $style = 'original', $urlize = true)
 {
     list($model, $field) = explode('.', $field);
     if (is_array($data)) {
         if (isset($data[$model])) {
             if (isset($data[$model]['id'])) {
                 $id = $data[$model]['id'];
                 $filename = $data[$model][$field];
             }
         } elseif (isset($data['id'])) {
             $id = $data['id'];
             $filename = $data[$field];
         }
     }
     if (isset($id) && isset($filename)) {
         $settings = UploadBehavior::interpolate($model, $id, $field, $filename, $style, array('webroot' => ''));
         $url = isset($settings['url']) ? $settings['url'] : $settings['path'];
     } else {
         $settings = UploadBehavior::interpolate($model, null, $field, null, $style, array('webroot' => ''));
         $url = isset($settings['default_url']) ? $settings['default_url'] : null;
     }
     return $urlize ? $this->Html->url($url) : $url;
 }