Beispiel #1
0
 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();
 }
Beispiel #2
0
 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();
 }