示例#1
0
 /**
  * Singleton.
  * @return instance
  */
 public static function instance()
 {
     if (!is_null(self::$instance)) {
         return self::$instance;
     }
     self::$instance = new DX_Form_Filters();
 }
示例#2
0
 /**
  * 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]);
         }
     }
 }