/** * @param array $options */ public function handleCopy(array $options = array()) { $id = (int) $this->getRequest()->get('id'); if (!wp_verify_nonce($this->getRequest()->get('nonce'), IfwPsn_Zend_Controller_ModelBinding::getCopyNonceAction($this->getModelMapper()->getSingular(), $id))) { // verification failed $this->getAdminNotices()->persistError($this->getInvalidAccessMessage()); } else { // valid access $item = IfwPsn_Wp_ORM_Model::factory($this->getModelName())->find_one($id); if ($item instanceof IfwPsn_Wp_ORM_Model) { $itemName = $item->getName(); } else { $itemName = ''; } $options = array_merge(array('name_format' => '%s_%s%s'), $options); $result = IfwPsn_Wp_ORM_Model::duplicate($this->getModelName(), $id, $options); if (!empty($result)) { $this->getAdminNotices()->persistUpdated($this->getCopySuccessMessage($itemName)); } else { $this->getAdminNotices()->persistError($this->getCopyErrorMessage($itemName)); } } $this->gotoIndex(); }