$visual = self::$model->getById($id); } } self::$loaded[] = $visual; return array_merge(N2StorageImage::$emptyImage, json_decode(base64_decode($visual['value']), true)); } public static function addImageData($image, $value) { return self::$model->add($image, $value); } public static function setImageData($image, $value) { self::$model->setByImage($image, $value); } } N2ImageManager::init(); class N2StorageImage { private $model = null; public static $emptyImage = array('desktop' => array('size' => '0|*|0'), 'desktop-retina' => array('image' => '', 'size' => '0|*|0'), 'tablet' => array('image' => '', 'size' => '0|*|0'), 'tablet-retina' => array('image' => '', 'size' => '0|*|0'), 'mobile' => array('image' => '', 'size' => '0|*|0'), 'mobile-retina' => array('image' => '', 'size' => '0|*|0')); public function __construct() { $this->model = new N2Model("nextend2_image_storage"); } public function getById($id) { return $this->model->db->findByAttributes(array("id" => $id)); } public function getByImage($image) { return $this->model->db->findByAttributes(array("hash" => md5($image)));