protected function _afterSave() { parent::_afterSave(); if ($this->isDirty('login_kwf_upload_id')) { Kwf_Media::clearCache('Kwf_Util_Model_Welcome', $this->id, 'LoginImage'); Kwf_Media::clearCache('Kwf_Util_Model_Welcome', $this->id, 'LoginImageLarge'); } if ($this->isDirty('kwf_upload_id')) { Kwf_Media::clearCache('Kwf_Util_Model_Welcome', $this->id, 'WelcomeImage'); } }
public function testOutputCache() { Kwf_Media_TestMediaOutputClass::$called = 0; $id = time() + rand(0, 10000); Kwf_Media::clearCache('Kwf_Media_TestMediaOutputClass', $id, 'simple'); $o = Kwf_Media::getOutput('Kwf_Media_TestMediaOutputClass', $id, 'simple'); unset($o['mtime']); $this->assertEquals(array('mimeType' => 'text/plain', 'contents' => 'foobar' . $id), $o); $this->assertEquals(1, Kwf_Media_TestMediaOutputClass::$called); $o = Kwf_Media::getOutput('Kwf_Media_TestMediaOutputClass', $id, 'simple'); unset($o['mtime']); $this->assertEquals(array('mimeType' => 'text/plain', 'contents' => 'foobar' . $id), $o); $this->assertEquals(1, Kwf_Media_TestMediaOutputClass::$called); Kwf_Media::clearCache('Kwf_Media_TestMediaOutputClass', $id, 'simple'); Kwf_Media::getOutput('Kwf_Media_TestMediaOutputClass', $id, 'simple'); $this->assertEquals(2, Kwf_Media_TestMediaOutputClass::$called); }
public function testClearOutputCacheWhenChangingCropOptions() { $this->assertEquals('dh-{width}-dc16b9', $this->_root->getComponentById('root_page')->getComponent()->getBaseType()); $dim = $this->_root->getComponentById('root_page')->getComponent()->getImageDimensions(); Kwf_Media::clearCache('Kwc_Basic_Image_Crop_ImageComponent', 'root_page', Kwf_Media::DONT_HASH_TYPE_PREFIX . $dim['width'] . '-dc16b9'); Kwc_Basic_Image_Crop_ImageComponent::$getMediaOutputCalled = 0; Kwf_Media::getOutput('Kwc_Basic_Image_Crop_ImageComponent', 'root_page', Kwf_Media::DONT_HASH_TYPE_PREFIX . $dim['width'] . '-dc16b9'); $this->assertEquals(1, Kwc_Basic_Image_Crop_ImageComponent::$getMediaOutputCalled); Kwf_Media::getOutput('Kwc_Basic_Image_Crop_ImageComponent', 'root_page', Kwf_Media::DONT_HASH_TYPE_PREFIX . $dim['width'] . '-dc16b9'); $this->assertEquals(1, Kwc_Basic_Image_Crop_ImageComponent::$getMediaOutputCalled); $c = $this->_root->getComponentById('root_page'); $row = Kwf_Model_Abstract::getInstance('Kwc_Basic_Image_Crop_TestModel')->getRow('root_page'); $row->crop_x = 20; $row->save(); Kwf_Events_ModelObserver::getInstance()->process(); Kwf_Media::getOutput('Kwc_Basic_Image_Crop_ImageComponent', 'root_page', Kwf_Media::DONT_HASH_TYPE_PREFIX . $dim['width'] . '-dc16b9'); $this->assertEquals(2, Kwc_Basic_Image_Crop_ImageComponent::$getMediaOutputCalled); }
public function onMediaChanged(Kwf_Events_Event_Media_Changed $event) { Kwf_Media::clearCache($event->class, $event->component->componentId, $event->type); $log = Kwf_Events_Log::getInstance(); if ($log) { $log->log("media cache clear class={$event->class} id={$event->component->componentId} type={$event->type}", Zend_Log::INFO); } }
public function testClearOutputCache() { $c = $this->_root->getComponentById('1600'); $this->assertEquals(Kwf_Media::DONT_HASH_TYPE_PREFIX . '{width}-76b7ff', $c->getComponent()->getBaseType()); Kwf_Media::clearCache('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '16-76b7ff'); Kwc_Basic_Image_FixDimensionComponent::$getMediaOutputCalled = 0; Kwf_Media::getOutput('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '16-76b7ff'); $this->assertEquals(1, Kwc_Basic_Image_FixDimensionComponent::$getMediaOutputCalled); Kwf_Media::getOutput('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '16-76b7ff'); $this->assertEquals(1, Kwc_Basic_Image_FixDimensionComponent::$getMediaOutputCalled); Kwf_Media::clearCache('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '16-76b7ff'); Kwf_Media::getOutput('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '16-76b7ff'); $this->assertEquals(2, Kwc_Basic_Image_FixDimensionComponent::$getMediaOutputCalled); $row = Kwf_Model_Abstract::getInstance('Kwc_Basic_Image_TestModel')->getRow('1600'); $row->kwf_upload_id = 2; $row->save(); Kwf_Events_ModelObserver::getInstance()->process(); Kwf_Component_Data_Root::reset(); Kwf_Media::getOutput('Kwc_Basic_Image_FixDimensionComponent', '1600', Kwf_Media::DONT_HASH_TYPE_PREFIX . '100-76b7ff'); $this->assertEquals(3, Kwc_Basic_Image_FixDimensionComponent::$getMediaOutputCalled); }