public function save(Application_Model_Megavideo $megavideo) { $wrapper = new X_Megavideo($megavideo->getIdVideo()); preg_match('#\\?v=(.+?)$#', $megavideo->getIdVideo(), $id); $megavideo->setIdVideo(@$id[1] ? $id[1] : $megavideo->getIdVideo()); if ($megavideo->getLabel() == '' || is_null($megavideo->getLabel())) { $megavideo->setLabel(urldecode($wrapper->get('TITLE'))); } if ($megavideo->getDescription() == '' || is_null($megavideo->getDescription())) { $megavideo->setDescription(urldecode($wrapper->get('DESCRIPTION'))); } $data = array('idVideo' => $megavideo->getIdVideo(), 'description' => $megavideo->getDescription(), 'category' => $megavideo->getCategory(), 'label' => $megavideo->getLabel()); if (null === ($id = $megavideo->getId())) { unset($data['id']); $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('id = ?' => $id)); } }
/** * 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 addAction() { $request = $this->getRequest(); $form = new Application_Form_Megavideo(); $form->setAction($this->_helper->url('add')); $isAjax = $request->getParam('isAjax', false); if ($this->getRequest()->isPost()) { if ($form->isValid($request->getPost())) { $idVideo = $form->getValue('idVideo'); @(list($idVideo, $type) = explode('_', $idVideo)); if ($type == 'd') { // this is a megaupload->megavideo file. I need to find the real id $idVideo = $this->_getRealMegavideoId($idVideo); } $video = new Application_Model_Megavideo($form->getValues()); $video->setIdVideo($idVideo); // Nel caso in cui sia un edit request if (!is_null($request->getParam('id', null))) { $video->setId($request->getParam('id', null)); } $mapper = Application_Model_MegavideoMapper::i(); $mapper->save($video); if ($isAjax) { header('Content-Type:text/plain'); echo '1'; $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); return; } else { //return $this->_helper->redirector('index'); $this->_helper->redirector('category', 'megavideo', 'default', array('id' => urlencode($video->getCategory()))); } } } if ($isAjax) { header('Content-Type:text/plain'); echo '0'; $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); } else { $this->view->form = $form; } }