Пример #1
0
/**
 * MDJM Contract Shortcode.
 *
 * Displays the MDJM contract page to allow the client to review and sign their event contract.
 * 
 * @since	1.3
 *
 * @return	string
 */
function mdjm_shortcode_contract($atts)
{
    if (isset($_GET['event_id']) && mdjm_event_exists($_GET['event_id'])) {
        if (is_user_logged_in()) {
            global $mdjm_event;
            $mdjm_event = new MDJM_Event($_GET['event_id']);
            $status = !$mdjm_event->get_contract_status() ? '' : 'signed';
            if ($mdjm_event) {
                ob_start();
                mdjm_get_template_part('contract', $status);
                // Do not replace tags in a signed contract
                if ($status == 'signed') {
                    $output = mdjm_do_content_tags(ob_get_contents(), $mdjm_event->ID, $mdjm_event->client);
                } else {
                    $output = mdjm_do_content_tags(ob_get_contents(), $mdjm_event->ID, $mdjm_event->client);
                }
                ob_get_clean();
            } else {
                return sprintf(__("Ooops! There seems to be a slight issue and we've been unable to find your %s.", 'mobile-dj-manager'), mdjm_get_label_singular(true));
            }
            // Reset global var
            $mdjm_event = '';
            return $output;
        } else {
            echo mdjm_login_form(mdjm_get_current_page_url());
        }
    } else {
        return sprintf(__("Ooops! There seems to be a slight issue and we've been unable to find your %s.", 'mobile-dj-manager'), mdjm_get_label_singular(true));
    }
}
Пример #2
0
/**
 * Displays the signed contract for review.
 *
 * @since	1.3.6
 * @param	int		$event_id	The event ID.
 * @return	void
 */
function mdjm_review_signed_contract()
{
    if (empty($_GET['mdjm_action'])) {
        return;
    }
    if ('review_contract' !== $_GET['mdjm_action']) {
        return;
    }
    if (!mdjm_employee_can('manage_events')) {
        return;
    }
    $mdjm_event = new MDJM_Event($_GET['event_id']);
    if (!mdjm_is_admin()) {
        if (!array_key_exists(get_current_user_id(), $mdjm_event->get_all_employees())) {
            return;
        }
    }
    if (!$mdjm_event->get_contract_status()) {
        printf(__('The contract for this %s is not signed', 'mobile-dj-manager'), mdjm_get_label_singular());
        exit;
    }
    $contract_id = $mdjm_event->get_contract();
    if (empty($contract_id)) {
        return;
    }
    echo mdjm_show_contract($contract_id, $mdjm_event);
    exit;
}
Пример #3
0
/**
 * Determine if the event contract is signed.
 *
 * @since	1.3
 * @param	$event_id		The event ID.
 * @return	int|bool		The signed contracted post ID or false if not signed yet.
 */
function mdjm_contract_is_signed($event_id)
{
    $event = new MDJM_Event($event_id);
    return $event->get_contract_status();
}