'Images', 'version' => 101, 'summary' => 'Field that stores one or more GIF, JPG, or PNG images', 'permanent' => true, ); } public function getBlankValue(Page $page, Field $field) { $pageimages = new Pageimages($page); $pageimages->setField($field); $pageimages->setTrackChanges(true); return $pageimages; } protected function getBlankPagefile(Pagefiles $pagefiles, $filename) { return new Pageimage($pagefiles, $filename); } /* public function getInputfield(Page $page, Field $field) { // even though we don't want this input field, call it anyway parent::getInputfield($page, $field); $inputfield = $this->modules->get("InputfieldImage"); $inputfield->class = $this->className(); $this->setupHooks($page, $field, $inputfield); return $inputfield; } */ protected function getDefaultFileExtensions() { return "gif jpg jpeg png"; } public function ___exportValue(Page $page, Field $field, $value, array $options = array()) { $pagefiles = $value; $value = parent::___exportValue($page, $field, $value, $options); foreach($value as $k => $v) { $img = $pagefiles->get($v['name']); $value[$k]['width'] = $img->width(); $value[$k]['height'] = $img->height(); } return $value; } public function ___getConfigInputfields(Field $field) { $inputfields = parent::___getConfigInputfields($field); $f = $inputfields->get('outputString'); $f->attr('placeholder', "i.e. {description}"); $f->notes .= ", {width}, {height}"; return $inputfields; } }