Example #1
0
 public static function duplicate($id)
 {
     global $wpdb;
     $values = self::getOne($id);
     $new_values = array();
     $new_values['item_key'] = FrmAppHelper::get_unique_key('', $wpdb->prefix . 'frm_items', 'item_key');
     $new_values['name'] = $values->name;
     $new_values['is_draft'] = $values->is_draft;
     $new_values['user_id'] = $new_values['updated_by'] = (int) $values->user_id;
     $new_values['form_id'] = $values->form_id ? (int) $values->form_id : null;
     $new_values['created_at'] = $new_values['updated_at'] = current_time('mysql', 1);
     $query_results = $wpdb->insert($wpdb->prefix . 'frm_items', $new_values);
     if (!$query_results) {
         return false;
     }
     $entry_id = $wpdb->insert_id;
     global $frm_vars;
     if (!isset($frm_vars['saved_entries'])) {
         $frm_vars['saved_entries'] = array();
     }
     $frm_vars['saved_entries'][] = (int) $entry_id;
     FrmEntryMeta::duplicate_entry_metas($id, $entry_id);
     self::clear_cache();
     do_action('frm_after_duplicate_entry', $entry_id, $new_values['form_id'], array('old_id' => $id));
     return $entry_id;
 }