Uname:Linux ip-11-115-0-196 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 x86_64

403WebShell
403Webshell
Server IP : 13.126.101.145  /  Your IP : 216.73.217.87
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-11-115-0-196 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.3.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/rentals_updated/wp-content/plugins/wc-finance/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/rentals_updated/wp-content/plugins/wc-finance/finance.php
<?php
/**
 * Plugin Name: Finance
 * Description: Manages Security Deposits and Collections under Finance menu
 * Version: 2.0.0
 * Author: iTroSys
 * Developer: Bhaskara
 * Author URI: https://itrosys.com
 * Text Domain: wc-finance
 */

if (!defined('ABSPATH')) {
    exit;
}

// Check if WooCommerce is active
function wc_finance_check_woocommerce_active() {
    if (!class_exists('WooCommerce')) {
        add_action('admin_notices', 'wc_finance_woocommerce_missing_notice');
        return false;
    }
    return true;
}

function wc_finance_woocommerce_missing_notice() {
    echo '<div class="notice notice-error"><p>' . __('WooCommerce Finance requires WooCommerce to be installed and active.', 'wc-finance') . '</p></div>';
}

function wc_finance_add_admin_menu() {
    add_menu_page(
        __('Finance', 'wc-finance'),
        __('Finance', 'wc-finance'),
        'manage_woocommerce',
        'wc-finance',
        '__return_null', // No page function
        'dashicons-money-alt',
        56
    );

    // Submenu pages
    add_submenu_page(
        'wc-finance',
        __('Security Deposits', 'wc-finance'),
        __('Security Deposits', 'wc-finance'),
        'manage_woocommerce',
        'wc-security-deposits',
        'wc_security_deposit_admin_page'
    );

    add_submenu_page(
        'wc-finance',
        __('Payments', 'wc-finance'),
        __('Payments', 'wc-finance'),
        'manage_woocommerce',
        'wc-payments',
        'cwp_payments_admin_page'
    );

    add_submenu_page(
        'wc-finance',
        __('Collections', 'wc-finance'),
        __('Collections', 'wc-finance'),
        'manage_woocommerce',
        'wc-collections',
        'wc_collections_admin_page'
    );
}

// Remove the automatic first submenu
function wc_finance_remove_parent_submenu() {
    remove_submenu_page('wc-finance', 'wc-finance');
}
add_action('admin_menu', 'wc_finance_remove_parent_submenu', 100);

// Enqueue scripts and styles
function wc_finance_admin_scripts($hook) {
    if (!in_array($hook, array('finance_page_wc-security-deposits', 'finance_page_wc-collections', 'finance_page_wc-payments'))) {
        return;
    }
    
    wp_enqueue_style('wc-finance-style', plugin_dir_url(__FILE__) . 'css/admin-style.css', array(), '1.0.0');
    wp_enqueue_script('jquery-ui-datepicker');
    // Ensure jQuery UI CSS is loaded properly
    wp_enqueue_style('jquery-ui-css', plugins_url('css/jquery-ui.css', __FILE__), array(), '1.12.1');
}

// Activation hook
function wc_finance_activate() {
    $css_dir = plugin_dir_path(__FILE__) . 'css/';
    if (!file_exists($css_dir)) {
        mkdir($css_dir, 0755, true);
    }

    $admin_css = "
    .wc-finance-filters {
        margin: 20px 0;
        background: #fff;
        padding: 15px;
        border: 1px solid #ccd0d4;
    }
    .filter-row {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .export-form {
        margin: 10px 0;
    }
    .datepicker {
        padding: 4px;
    }
    ";
    file_put_contents($css_dir . 'admin-style.css', $admin_css);

    // Copy jQuery UI CSS locally to ensure it loads
    $jquery_ui_css = file_get_contents('https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
    file_put_contents($css_dir . 'jquery-ui.css', $jquery_ui_css);

    // Create payments table for collections
    global $wpdb;
    $table_name = $wpdb->prefix . 'payments';
    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE IF NOT EXISTS $table_name (
        id INT NOT NULL AUTO_INCREMENT,
        order_id INT NOT NULL,
        user_id INT NOT NULL,
        doc_payment_date DATE NOT NULL,
        payment_date DATE NOT NULL,
        paid_amount DECIMAL(10,2) NOT NULL,
        payment_mod VARCHAR(100) NOT NULL,
        doc_reference_num VARCHAR(100) NOT NULL,
        invoice_date DATE NOT NULL,
        invoice_number INT NOT NULL,
        invoice_total VARCHAR(100) NOT NULL,
        PRIMARY KEY (id)
    ) $charset_collate;";

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
}

// Initialize plugin
function wc_finance_init() {
    if (wc_finance_check_woocommerce_active()) {
        // Include the sub-files
        require_once plugin_dir_path(__FILE__) . 'includes/security-deposits.php';
        require_once plugin_dir_path(__FILE__) . 'includes/collections.php';
        require_once plugin_dir_path(__FILE__) . 'includes/payments.php';


        add_action('admin_menu', 'wc_finance_add_admin_menu');
        add_action('admin_enqueue_scripts', 'wc_finance_admin_scripts');
        add_action('admin_init', 'wc_security_deposit_export_csv');
        add_action('admin_init', 'wc_collections_export_csv');
    }
}

register_activation_hook(__FILE__, 'wc_finance_activate');
add_action('plugins_loaded', 'wc_finance_init');

Youez - 2016 - github.com/yon3zu
LinuXploit