CMS  Version 3.9
ImageUploadFieldRenderer Class Reference

Field renderer for file upload data fields. More...

Inherits FieldRenderer.

Public Member Functions

 ImageUploadFieldRenderer (&$form, $field, $label, $gallery, $imageRecordHandler=null)
 
 renderField ($field)
 
 renderReadOnly ($field)
 
 preProcess ($field="")
 
 required ($message="")
 

Public Attributes

 $handler
 
 $size
 
 $field
 
 $gallery
 
 $imageRecordHandler = null
 

Detailed Description

Field renderer for file upload data fields.

Renders using the browser's standard file upload control. The programmer must supply a callback handler to manage the file upload process, as upload logic can vary greatly from application to application.

Definition at line 48 of file image_upload_field_renderer.inc.

Member Function Documentation

◆ ImageUploadFieldRenderer()

ImageUploadFieldRenderer::ImageUploadFieldRenderer ( $form,
  $field,
  $label,
  $gallery,
  $imageRecordHandler = null 
)

Definition at line 56 of file image_upload_field_renderer.inc.

57  {
58  $this->FieldRenderer($form);
59 
60  $this->gallery = $gallery;
61  $this->field = $field;
62  $this->imageRecordHandler = $imageRecordHandler;
63 
64  if ($form->data->hasField($field))
65  {
66  $form->override($field, $label, $this);
67  }
68  else
69  {
70  $form->add($this, $field);
71  $form->overrides[$field]['label'] = $label;
72  }
73 
74  $size = 40;
75  }
$form
$openData field

◆ preProcess()

ImageUploadFieldRenderer::preProcess (   $field = "")

Definition at line 102 of file image_upload_field_renderer.inc.

103  {
104  global $user;
105 
106  $image = new ImageRecord();
107 
108  if ($this->imageRecordHandler)
109  {
110  call_user_func($this->handler, $image, $field, $this->parent->data);
111  }
112  else
113  {
114  $image->title = $_FILES[$field]["name"];
115  $image->ALT_tag = "";
116  $image->published = false;
117  }
118 
119  $image->gallery_id = $this->gallery->gallery_id;
120  $image->owner_id = $user->get($user->getPrimaryKey());
121 
123  {
124  $image->save();
125  }
126 
127  $this->parent->data->set($field, $image->image_id);
128 
129  return true;
130  }
$image
Definition: image_form.inc:46
static imageUploadHandler($field, $image)
Upload the image file specified in the given field.
global $user

◆ renderField()

ImageUploadFieldRenderer::renderField (   $field)

Definition at line 77 of file image_upload_field_renderer.inc.

78  {
79  $this->_startField($field);
80 
81  $image_id = $this->parent->data->get($field);
82 
83  if ($image_id)
84  {
85  echo "<img src='/action/image/iconize?image_id=$image_id' alt=''/>";
86  }
87 
88  $accept = $this->accept ? " accept='{$this->accept}'" : "";
89  echo "<input id='{$this->parent->id}_{$field}' type='file' name='$field' value='".$this->parent->data->get($field)."' size='{$this->size}'{$accept}>";
90  $this->_endField($field);
91  }
$image_id
Definition: image_form.inc:41

◆ renderReadOnly()

ImageUploadFieldRenderer::renderReadOnly (   $field)

Definition at line 93 of file image_upload_field_renderer.inc.

94  {
95  $this->_startField($field);
96 
97  echo $this->parent->data->get($field);
98 
99  $this->_endField($field);
100  }

◆ required()

ImageUploadFieldRenderer::required (   $message = "")

Definition at line 132 of file image_upload_field_renderer.inc.

133  {
134  $this->parent->validator->add(new RequiredFileValidator($this->field, $this->label, $message));
135  }
$message
Definition: mail_to.inc:49

Member Data Documentation

◆ $field

ImageUploadFieldRenderer::$field

Definition at line 52 of file image_upload_field_renderer.inc.

◆ $gallery

ImageUploadFieldRenderer::$gallery

Definition at line 53 of file image_upload_field_renderer.inc.

◆ $handler

ImageUploadFieldRenderer::$handler

Definition at line 50 of file image_upload_field_renderer.inc.

◆ $imageRecordHandler

ImageUploadFieldRenderer::$imageRecordHandler = null

Definition at line 54 of file image_upload_field_renderer.inc.

◆ $size

ImageUploadFieldRenderer::$size

Definition at line 51 of file image_upload_field_renderer.inc.


The documentation for this class was generated from the following file: