Exemple #1
0
 /**
  * @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();
 }