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)); } }