/**
 * Run the update procedures.
 *
 * @version	1.3.8
 * @param
 * @return.
 */
function mdjm_run_update_138()
{
    $payment_label = __('Pay Now', 'mobile-dj-manager');
    $gateway = mdjm_get_option('payment_gateway', false);
    if (!empty($gateway)) {
        if ($gateway == 'paypal') {
            $button_text = mdjm_get_option('mdjm_pg_paypal_button_text');
        }
        if ($gateway == 'payfast') {
            $button_text = mdjm_get_option('mdjm_pg_payfast_button_text');
        }
        if (!empty($button_text)) {
            $payment_label = sanitize_text_field($button_text);
        }
    }
    mdjm_delete_option('payment_gateway');
    mdjm_update_option('payment_gateway', $gateway);
    mdjm_update_option('gateways', array($gateway => '1'));
    mdjm_update_option('payment_button', $payment_label);
}
/**
 * Run the update procedures.
 *
 * @version	1.3.4
 * @param
 * @return.
 */
function mdjm_run_update_134()
{
    mdjm_update_option('employee_pay_status', array('mdjm-completed'));
}
/**
 * Save the event transaction
 *
 *
 */
function mdjm_save_event_transaction_ajax()
{
    global $mdjm_event;
    $result = array();
    $mdjm_event = new MDJM_Event($_POST['event_id']);
    $mdjm_txn = new MDJM_Txn();
    $txn_data = array('post_parent' => $_POST['event_id'], 'post_author' => $mdjm_event->client, 'post_status' => $_POST['direction'] == 'Out' ? 'mdjm-expenditure' : 'mdjm-income', 'post_date' => date('Y-m-d H:i:s', strtotime($_POST['date'])));
    $txn_meta = array('_mdjm_txn_status' => 'Completed', '_mdjm_payment_from' => $mdjm_event->client, '_mdjm_txn_total' => $_POST['amount'], '_mdjm_payer_firstname' => mdjm_get_client_firstname($mdjm_event->client), '_mdjm_payer_lastname' => mdjm_get_client_lastname($mdjm_event->client), '_mdjm_payer_email' => mdjm_get_client_email($mdjm_event->client), '_mdjm_payment_from' => mdjm_get_client_display_name($mdjm_event->client), '_mdjm_txn_source' => $_POST['src']);
    if ($_POST['direction'] == 'In') {
        if (!empty($_POST['from'])) {
            $txn_meta['_mdjm_payment_from'] = sanitize_text_field($_POST['from']);
        } else {
            $txn_meta['_mdjm_payment_from'] = mdjm_get_client_display_name($mdjm_event->client);
        }
    }
    if ($_POST['direction'] == 'Out') {
        if (!empty($_POST['to'])) {
            $txn_meta['_mdjm_payment_to'] = sanitize_text_field($_POST['to']);
        } else {
            $txn_meta['_mdjm_payment_to'] = mdjm_get_client_display_name($mdjm_event->client);
        }
    }
    $mdjm_txn->create($txn_data, $txn_meta);
    if ($mdjm_txn->ID > 0) {
        $result['type'] = 'success';
        mdjm_set_txn_type($mdjm_txn->ID, $_POST['for']);
        $args = array('user_id' => get_current_user_id(), 'event_id' => $_POST['event_id'], 'comment_content' => sprintf(__('%1$s payment of %2$s received for %3$s %4$s.', 'mobile-dj-manager'), $_POST['direction'] == 'In' ? __('Incoming', 'mobile-dj-manager') : __('Outgoing', 'mobile-dj-manager'), mdjm_currency_filter(mdjm_format_amount($_POST['amount'])), mdjm_get_label_singular(true), mdjm_get_event_contract_id($_POST['event_id'])));
        mdjm_add_journal($args);
        // Email overide
        if (empty($_POST['send_notice']) && mdjm_get_option('manual_payment_cfm_template')) {
            $manual_email_template = mdjm_get_option('manual_payment_cfm_template');
            mdjm_update_option('manual_payment_cfm_template', 0);
        }
        $payment_for = $mdjm_txn->get_type();
        $amount = mdjm_currency_filter(mdjm_format_amount($_POST['amount']));
        mdjm_add_content_tag('payment_for', __('Reason for payment', 'mobile-dj-manager'), function () use($payment_for) {
            return $payment_for;
        });
        mdjm_add_content_tag('payment_amount', __('Payment amount', 'mobile-dj-manager'), function () use($amount) {
            return $amount;
        });
        mdjm_add_content_tag('payment_date', __('Date of payment', 'mobile-dj-manager'), 'mdjm_content_tag_ddmmyyyy');
        /**
         * Allow hooks into this payment. The hook is suffixed with 'in' or 'out' depending
         * on the payment direction. i.e. mdjm_post_add_manual_txn_in and mdjm_post_add_manual_txn_out
         *
         * @since	1.3.7
         * @param	int		$event_id
         * @param	obj		$txn_id
         */
        do_action('mdjm_post_add_manual_txn_' . strtolower($_POST['direction']), $_POST['event_id'], $mdjm_txn->ID);
        // Email overide
        if (empty($_POST['send_notice']) && isset($manual_email_template)) {
            mdjm_update_option('manual_payment_cfm_template', $manual_email_template);
        }
        $result['deposit_paid'] = 'N';
        $result['balance_paid'] = 'N';
        if ($mdjm_event->get_remaining_deposit() < 1) {
            mdjm_update_event_meta($mdjm_event->ID, array('_mdjm_event_deposit_status' => 'Paid'));
            $result['deposit_paid'] = 'Y';
        }
        if ($mdjm_event->get_balance() < 1) {
            mdjm_update_event_meta($mdjm_event->ID, array('_mdjm_event_balance_status' => 'Paid'));
            mdjm_update_event_meta($mdjm_event->ID, array('_mdjm_event_deposit_status' => 'Paid'));
            $result['balance_paid'] = 'Y';
            $result['deposit_paid'] = 'Y';
        }
    } else {
        $result['type'] = 'error';
        $result['msg'] = __('Unable to add transaction', 'mobile-dj-manager');
    }
    ob_start();
    mdjm_do_event_txn_table($_POST['event_id']);
    $result['transactions'] = ob_get_contents();
    ob_get_clean();
    echo json_encode($result);
    die;
}
Example #4
0
/**
 * Fires when a playlist category is created or edited.
 *
 * Check whether the set as default option is set and update options.
 *
 * @since	1.3
 * @param	int		$term_id	The term ID
 * @param	int		$tt_id		The term taxonomy ID
 * @return	str
 */
function mdjm_save_playlist_category($term_id, $tt_id)
{
    if (!empty($_POST['playlist_default_cat'])) {
        mdjm_update_option('playlist_default_cat', $term_id);
    } else {
        if (mdjm_get_option('playlist_default_cat') == $term_id) {
            mdjm_delete_option('playlist_default_cat');
        }
    }
}
 function log_file_check()
 {
     $files = array('MDJM Debug' => array(MDJM_DEBUG_LOG, 'mdjm_debug.log'), 'WordPress Debug' => array(WP_CONTENT_DIR . '/debug.log', 'debug.log'));
     $this->files = apply_filters('mdjm_log_files', $files);
     /* -- Do we need to delete any files? -- */
     if (isset($_POST['delete_log_files'], $_POST['delete_files']) && $_POST['delete_log_files'] == 'Delete Selected Files') {
         $this->delete_log($_POST['delete_files']);
     }
     if (!mdjm_get_option('debug_warn', false) && !mdjm_get_option('debug_auto_purge')) {
         return;
     }
     $bytes = pow(1024, mdjm_get_option('debug_log_size', 2));
     /* -- Check the files -- */
     foreach ($this->files as $name => $conf) {
         if (file_exists($conf[0]) && filesize($conf[0]) > $bytes) {
             if (!!mdjm_get_option('debug_auto_purge')) {
                 $this->log_it('Auto purge enabled for oversized log file ' . $name, true);
                 $this->delete_log(array($name));
                 mdjm_update_option('debug_purged', current_time('timestamp'));
             } else {
                 if (!mdjm_get_option('debug_warn')) {
                     // If warnings are disabled, skip
                     continue;
                 }
                 $this->log_it('Auto purge disabled. Displaying notice for oversized log file ' . $name, true);
                 $warn[$conf[1]] = $name;
             }
         }
     }
     if (isset($warn)) {
         echo '<div class="mdjm-warning">' . "\r\n";
         echo '<form name="mdjm_log_files" method="POST">' . "\r\n";
         echo _n('One', 'Some', count($warn)) . __(' of your log files exceed the specified limit of ' . mdjm_get_option('debug_log_size', 2) . ' megabytes') . '<p>' . "\r\n";
         $i = 1;
         foreach ($warn as $file => $file_name) {
             echo '<input type="checkbox" name="delete_files[]" id = "delete_files" value="' . $file_name . '" />' . '&nbsp;&nbsp;&nbsp;' . $file_name . ($i != count($warn) ? '<br />' : '') . "\r\n";
         }
         echo '</p>' . "\r\n";
         submit_button('Delete Selected Files', 'primary', 'delete_log_files', true);
         echo '</form>' . "\r\n";
         echo '</div>' . "\r\n";
     }
 }