'audit-charitable-donations' ), admin_url( 'admin.php' ) ); $link_text = __( 'Audit Donations', 'charitable-track-donations' ); $links[] = "$link_text"; return $links; } /** * Add sub menu item Add Expenses into Charitable Menu */ public function add_admin_expenses_submenu_item() { $menu_capability = apply_filters( 'charitable_admin_menu_capability', 'view_charitable_sensitive_data' ); add_submenu_page( 'charitable', __( 'Audit Donations', 'audit-charitable-donations'), __( 'Audit Donations', 'audit-charitable-donations'), $menu_capability, 'audit-charitable-donations', array($this, 'show_admin_expenses_template')); } public function show_admin_expenses_template() { $get_campaigns_list = get_charitable_campaigns_title_id(); $view_args['campaigns'] = $get_campaigns_list; $view_args['base_path'] = charitable_admin_expenses()->get_path( 'includes' ) . 'admin/views/'; $view_args['cae_nonce'] = wp_create_nonce( "cae_add_user_meta_form_nonce" ); charitable_admin_view('expenses/add-expense', $view_args); } /** * Enqueue required scripts * * @return */ public function enqueue_admin_scripts() { wp_enqueue_script('jquery-ui-datepicker'); wp_enqueue_script( 'thickbox' ); //wp_register_script( 'bootstrap-js', 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js', array('jquery'), NULL, true ); wp_enqueue_script('audit-charitable-donations', charitable_admin_expenses()->get_path( 'includes', FALSE ) . 'admin/assets/audit-charitable-donations.js', array('jquery-ui-dialog'), time(), true); wp_localize_script( 'audit-charitable-donations', 'cae', array('ajaxurl' => admin_url( 'admin-ajax.php' ))); wp_enqueue_media(); } /** * Enqueue required styles */ public function enqueue_admin_styles() { wp_enqueue_style('jquery-ui-datepicker'); wp_enqueue_style ( 'wp-jquery-ui-dialog'); wp_enqueue_style('thickbox'); //wp_register_style( 'bootstrap-css', 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', false, NULL, 'all' ); wp_enqueue_style('audit-charitable-donations', charitable_admin_expenses()->get_path( 'includes', FALSE ) . 'admin/assets/audit-charitable-donations.css', false, time()); } /** * Save Expense Details * * @return */ public function save_charitable_admin_expense() { if( isset( $_POST['cae_add_user_meta_nonce'] ) && wp_verify_nonce( $_POST['cae_add_user_meta_nonce'], 'cae_add_user_meta_form_nonce') ) { $data = $_POST['expense']; charitable_admin_expenses_get_table( 'campaign_admin_expenses' )->insert( $data, '' ); wp_safe_redirect(admin_url('admin.php?page=audit-charitable-donations')); exit; } } /** * Remove Expense from Exoense Data Table * * @return */ public function remove_expense() { $return = array('error' => FALSE); if( !isset($_POST['expense_id']) || empty($_POST['expense_id']) ){ $return['error'] = TRUE; } else { $data = $_POST['expense_id']; $is_removed = charitable_admin_expenses_get_table( 'campaign_admin_expenses' )->delete($data, '' ); if(!$is_removed) { $return['error'] = TRUE; } } echo json_encode($return); wp_die(); } /** * * * @return */ function media_selector_print_scripts() { $my_saved_attachment_post_id = get_option( 'media_selector_attachment_id', 0 ); ?>