/** * Return singleton * @return Application_Model_MegavideoMapper */ public static function i() { if (self::$instance === null) { self::$instance = new Application_Model_MegavideoMapper(); } return self::$instance; }
/** * Restore backupped videos * This is not a trigger of plugin API. It's called by Backupper plugin */ function restoreItems($items) { //return parent::restoreItems($items); $models = Application_Model_MegavideoMapper::i()->fetchAll(); // cleaning up all shares foreach ($models as $model) { Application_Model_MegavideoMapper::i()->delete($model->getId()); } foreach (@$items['videos'] as $modelInfo) { $model = new Application_Model_Megavideo(); $model->setIdVideo(@$modelInfo['idVideo'])->setDescription(@$modelInfo['description'])->setCategory(@$modelInfo['category'])->setLabel(@$modelInfo['label']); // i don't set id, or db adapter will try to update old data that i cleaned Application_Model_MegavideoMapper::i()->directSave($model); } return X_Env::_('p_megavideo_backupper_restoreditems') . ": " . count($items['videos']); }
public function deleteAction() { $request = $this->getRequest(); $id = $request->getParam('id', null); $type = $request->getParam('type', 'video'); if (!is_null($id)) { $mapper = Application_Model_MegavideoMapper::i(); if ($type == 'video') { $video = new Application_Model_Megavideo(); $mapper->find($id, $video); if ($video->getId()) { $category = $video->getCategory(); $mapper->delete($id); $this->_helper->redirector('category', 'megavideo', 'default', array('id' => urlencode($category))); } } elseif ($type == 'category') { $mapper->deleteCategory(urldecode($id)); } } $this->_helper->redirector('index', 'megavideo'); }