public function duplicateAction() { $params = $this->getRequest()->getParams(); $id = $params['id']; $originalPl = new Application_Model_Playlist($id); $newPl = new Application_Model_Playlist(); $contents = $originalPl->getContents(); foreach ($contents as &$c) { if ($c['type'] == '0') { $c[1] = 'audioclip'; } else { if ($c['type'] == '2') { $c[1] = 'block'; } else { if ($c['type'] == '1') { $c[1] = 'stream'; } } } $c[0] = $c['item_id']; } $newPl->addAudioClips($contents, null, 'before'); $newPl->setCreator(Application_Model_User::getCurrentUser()->getId()); $newPl->setDescription($originalPl->getDescription()); list($plFadeIn, ) = $originalPl->getFadeInfo(0); list(, $plFadeOut) = $originalPl->getFadeInfo($originalPl->getSize() - 1); $newPl->setfades($plFadeIn, $plFadeOut); $newPl->setName(sprintf(_("Copy of %s"), $originalPl->getName())); }