function delete() { if ($image_db_id = $this->db_id()) { require_once 'AMP/Content/Image/Image.php'; $image = new AMP_Content_Image(AMP_Registry::getDbcon(), $image_db_id); $image->delete(); AMP_lookup_clear_cached('images'); AMP_lookup_clear_cached('db_images'); } $image_classes = AMP_lookup('image_classes'); foreach ($image_classes as $class => $class_desc) { $path = AMP_image_path($this->getName(), $class); # delete of current copy handled by parent class below if ($path == $this->getPath()) { continue; } if (file_exists($path)) { unlink($path); } } return parent::delete(); }
function _save_image_db($data) { $db_data = $data; if (!(isset($data['id']) && $data['id'])) { //create new db record if (isset($data['folder']) && $data['folder']) { $db_data['name'] = $data['folder'] . DIRECTORY_SEPARATOR . $data['image']; $db_data['folder'] = $data['folder']; } else { $db_data['name'] = $data['image']; } $db_data['publish'] = AMP_CONTENT_STATUS_LIVE; $db_data['created_at'] = date("Y-m-d h:i:s"); $db_data['created_by'] = AMP_SYSTEM_USER_ID; } else { // update db record $db_data['updated_at'] = date("Y-m-d h:i:s"); } //read height and width from image file $this->_model->setFile(AMP_image_path($this->_file_name_affected, AMP_IMAGE_CLASS_ORIGINAL)); $db_data['height'] = $this->_model->height; $db_data['width'] = $this->_model->width; $this->_model->set_display_metadata($db_data); AMP_lookup_clear_cached('db_images'); require_once 'AMP/Content/Image/Image.php'; $image = new AMP_Content_Image(AMP_Registry::getDbcon()); $image->setDefaults(); //db data has to be merged explicitly to include blank values $image->mergeData($db_data); $image->mergeData($this->_model->getData()); return $image->save(); }