/** * Singleton. * @return instance */ public static function instance() { if (!is_null(self::$instance)) { return self::$instance; } self::$instance = new DX_Form_Filters(); }
/** * Manage post save * @param $post_id integer. ID of current post * @param $post post object */ public static function save_invoice_post($post_id) { // Avoid autosaves if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } // Verify nonces for ineffective calls if (!isset($_POST['invoice_nonce']) || !wp_verify_nonce($_POST['invoice_nonce'], 'invoice_nonce_save')) { return; } // if our current user can't edit this post, bail if (!current_user_can('edit_post', $post_id)) { return; } $rows = !empty($_POST['dx_invoice_rows_number']) ? (int) $_POST['dx_invoice_rows_number'] : 0; $publish = isset($_POST['publish']) ? $_POST['publish'] : ""; $save = isset($_POST['save']) ? $_POST['save'] : ""; // Update Invoice in setting if ($publish == 'Publish' || $save == 'Update') { $invoice_num = isset($_POST['_invoice_number']) ? $_POST['_invoice_number'] : ""; // Checking post invoice number $my_query = new WP_Query(array('post_type' => DX_INV_POST_TYPE, 'post__not_in' => array($post_id), 'meta_query' => array(array('key' => '_invoice_number', 'value' => $invoice_num)))); if (count($my_query->posts) == 0) { $old_invoice = get_option('dx_invoice_options'); $old_invoice["invoice_num"] = $invoice_num; update_option('dx_invoice_options', $old_invoice); } else { wp_redirect(wp_get_referer() . "&message=99"); exit; } } if (is_numeric($rows)) { $form_filters = DX_Form_Filters::instance(); $cols = $form_filters->cols; // Handle table $results = self::handle_columns_table($cols, $rows); update_post_meta($post_id, 'dx_invoice_items', $results); } foreach (self::$fields as $key => $args) { if (!empty($_POST[$key])) { update_post_meta($post_id, $key, $_POST[$key]); } } }