/** * */ public function dataAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); switch ($this->_getParam('type')) { case 'artist': $gid = $this->_getParam('gid'); $key = str_replace('-', '_', $gid); $ac = Zupal_Media_MusicBrainz_Cache_Artists::getInstance(); if (!$ac->test($key)) { $artist = Zupal_Musicbrainz_Artist::getInstance()->findOne(array('gid' => $gid)); $json = $artist->json(); // handles caching } else { $json = $ac->load($key); } echo $json; break; } }
/** * * @return string */ public function json($pReload = FALSE) { $key = str_replace('-', '_', $this->gid); $ac = Zupal_Media_MusicBrainz_Cache_Artists::getInstance(); if ($pReload || !$ac->test($key)) { $ac->save(Zend_Json::encode($this->json_data()), $key); } return $ac->load($key); }