/**
 * Renders the 'Export' tab on the Reports Page
 *
 * @since	1.4
 * @return	void
 */
function mdjm_reports_tab_export()
{
    if (!mdjm_employee_can('run_reports')) {
        wp_die(__('You do not have permission to export reports', 'mobile-dj-manager'), __('Error', 'mobile-dj-manager'), array('response' => 403));
    }
    $label_single = mdjm_get_label_singular();
    $label_plural = mdjm_get_label_plural();
    ?>
	<div id="mdjm-dashboard-widgets-wrap">
		<div class="metabox-holder">
			<div id="post-body">
				<div id="post-body-content">

					<?php 
    do_action('mdjm_reports_tab_export_content_top');
    ?>

					<div class="postbox mdjm-export-events-earnings">
						<h3><span><?php 
    _e('Export Transaction History', 'mobile-dj-manager');
    ?>
</span></h3>
						<div class="inside">
							<p><?php 
    _e('Download a CSV of all transactions recorded.');
    ?>
</p>
							<form id="mdjm-export-txns" class="mdjm-export-form mdjm-import-export-form" method="post">
								<?php 
    mdjm_insert_datepicker(array('id' => 'mdjm-txn-export-start', 'altfield' => 'txn_start'));
    ?>
                                <?php 
    echo MDJM()->html->date_field(array('id' => 'mdjm-txn-export-start', 'name' => 'display_start_date', 'placeholder' => __('Select Start Date', 'mobile-dj-manager')));
    ?>
								<?php 
    echo MDJM()->html->hidden(array('name' => 'txn_start'));
    ?>
                                <?php 
    mdjm_insert_datepicker(array('id' => 'mdjm-txn-export-end', 'altfield' => 'txn_end'));
    ?>
                                <?php 
    echo MDJM()->html->date_field(array('id' => 'mdjm-txn-export-end', 'name' => 'display_end_date', 'placeholder' => __('Select End Date', 'mobile-dj-manager')));
    ?>
								<?php 
    echo MDJM()->html->hidden(array('name' => 'txn_end'));
    ?>
								<select name="txn_status">
									<option value=""><?php 
    _e('All Statuses', 'mobile-dj-manager');
    ?>
</option>
                                    <option value="Completed"><?php 
    _e('Completed', 'mobile-dj-manager');
    ?>
</option>
                                    <option value="Pending"><?php 
    _e('Pending', 'mobile-dj-manager');
    ?>
</option>
                                    <option value="Cancelled"><?php 
    _e('Cancelled', 'mobile-dj-manager');
    ?>
</option>
								</select>
								<?php 
    wp_nonce_field('mdjm_ajax_export', 'mdjm_ajax_export');
    ?>
								<input type="hidden" name="mdjm-export-class" value="MDJM_Batch_Export_Txns"/>
								<span>
									<input type="submit" value="<?php 
    _e('Generate CSV', 'mobile-dj-manager');
    ?>
" class="button-secondary"/>
									<span class="spinner"></span>
								</span>
							</form>
						</div><!-- .inside -->
					</div><!-- .postbox -->

					<div class="postbox mdjm-export-events">
						<h3><span><?php 
    printf(__('Export %s', 'mobile-dj-manager'), $label_plural);
    ?>
</span></h3>
						<div class="inside">
							<p><?php 
    printf(__('Download a CSV of %s data.'), $label_plural);
    ?>
</p>
							<form id="mdjm-export-events" class="mdjm-export-form mdjm-import-export-form" method="post">
								<?php 
    mdjm_insert_datepicker(array('id' => 'mdjm-event-export-start', 'altfield' => 'event_start'));
    ?>
                                <?php 
    echo MDJM()->html->date_field(array('id' => 'mdjm-event-export-start', 'name' => 'display_start_date', 'placeholder' => __('Select Start Date', 'mobile-dj-manager')));
    ?>
								<?php 
    echo MDJM()->html->hidden(array('name' => 'event_start'));
    ?>
                                <?php 
    mdjm_insert_datepicker(array('id' => 'mdjm-event-export-end', 'altfield' => 'event_end'));
    ?>
                                <?php 
    echo MDJM()->html->date_field(array('id' => 'mdjm-event-export-end', 'name' => 'display_end_date', 'placeholder' => __('Select End Date', 'mobile-dj-manager')));
    ?>
								<?php 
    echo MDJM()->html->hidden(array('name' => 'event_end'));
    ?>
								<select name="event_status">
									<option value="any"><?php 
    _e('All Statuses', 'mobile-dj-manager');
    ?>
</option>
                                    <?php 
    foreach (mdjm_all_event_status() as $status => $label) {
        ?>
                                    	<option value="<?php 
        echo $status;
        ?>
"><?php 
        echo $label;
        ?>
</option>
                                    <?php 
    }
    ?>
								</select>
								<?php 
    wp_nonce_field('mdjm_ajax_export', 'mdjm_ajax_export');
    ?>
								<input type="hidden" name="mdjm-export-class" value="MDJM_Batch_Export_Events"/>
								<span>
									<input type="submit" value="<?php 
    _e('Generate CSV', 'mobile-dj-manager');
    ?>
" class="button-secondary"/>
									<span class="spinner"></span>
								</span>
							</form>
						</div><!-- .inside -->
					</div><!-- .postbox -->

					<div class="postbox mdjm-export-clients">
						<h3><span><?php 
    _e('Export Clients', 'mobile-dj-manager');
    ?>
</span></h3>
						<div class="inside">
							<p><?php 
    _e('Download a CSV of clients.', 'mobile-dj-manager');
    ?>
</p>
							<form id="mdjm-export-clients" class="mdjm-export-form mdjm-import-export-form" method="post">
								<?php 
    wp_nonce_field('mdjm_ajax_export', 'mdjm_ajax_export');
    ?>
								<input type="hidden" name="mdjm-export-class" value="MDJM_Batch_Export_Clients"/>
								<input type="submit" value="<?php 
    _e('Generate CSV', 'mobile-dj-manager');
    ?>
" class="button-secondary"/>
							</form>
						</div><!-- .inside -->
					</div><!-- .postbox -->

					<?php 
    if (mdjm_is_employer()) {
        ?>
                        <div class="postbox mdjm-export-employees">
                            <h3><span><?php 
        _e('Export Employees', 'mobile-dj-manager');
        ?>
</span></h3>
                            <div class="inside">
                                <p><?php 
        _e('Download a CSV of employees.', 'mobile-dj-manager');
        ?>
</p>
                                <form id="mdjm-export-employees" class="mdjm-export-form mdjm-import-export-form" method="post">
                                    <?php 
        wp_nonce_field('mdjm_ajax_export', 'mdjm_ajax_export');
        ?>
                                    <input type="hidden" name="mdjm-export-class" value="MDJM_Batch_Export_Employees"/>
                                    <input type="submit" value="<?php 
        _e('Generate CSV', 'mobile-dj-manager');
        ?>
" class="button-secondary"/>
                                </form>
                            </div><!-- .inside -->
                        </div><!-- .postbox -->
                    <?php 
    }
    ?>

				</div><!-- .post-body-content -->
			</div><!-- .post-body -->
		</div><!-- .metabox-holder -->
	</div><!-- #mdjm-dashboard-widgets-wrap -->

	<?php 
}
Пример #2
0
function mdjm_admin_toolbar($admin_bar)
{
    if (!current_user_can('mdjm_employee')) {
        return;
    }
    // Build out the toolbar menu structure
    $admin_bar->add_menu(array('id' => 'mdjm', 'title' => sprintf(__('MDJM %s', 'mobile-dj-manager'), mdjm_get_label_plural()), 'href' => mdjm_employee_can('read_events') ? admin_url('edit.php?post_type=mdjm-event') : '#', 'meta' => array('title' => __('MDJM Event Management', 'mobile-dj-manager'))));
    if (mdjm_employee_can('read_events')) {
        // Events
        $admin_bar->add_menu(array('id' => 'mdjm-events', 'parent' => 'mdjm', 'title' => mdjm_get_label_plural(), 'href' => admin_url('edit.php?post_type=mdjm-event'), 'meta' => array('title' => sprintf(__('MDJM %s', 'mobile-dj-manager'), mdjm_get_label_plural()))));
    }
    if (mdjm_employee_can('manage_all_events')) {
        $admin_bar->add_menu(array('id' => 'mdjm-add-events', 'parent' => 'mdjm-events', 'title' => sprintf(__('Create %s', 'mobile-dj-manager'), mdjm_get_label_singular()), 'href' => admin_url('post-new.php?post_type=mdjm-event'), 'meta' => array('title' => sprintf(__('Create New %s', 'mobile-dj-manager'), mdjm_get_label_singular()))));
        // Enquiries
        $event_status = array('mdjm-unattended' => __('Unattended Enquiries', 'mobile-dj-manager'), 'mdjm-enquiry' => __('View Enquiries', 'mobile-dj-manager'));
        foreach ($event_status as $current_status => $display) {
            $status_count = MDJM()->events->mdjm_count_event_status($current_status);
            if (!$status_count) {
                continue;
            }
            $admin_bar->add_menu(array('id' => 'mdjm-' . str_replace(' ', '-', strtolower($display)), 'parent' => 'mdjm-events', 'title' => $display . ' (' . $status_count . ')', 'href' => admin_url('edit.php?post_status=' . $current_status . '&post_type=mdjm-event'), 'meta' => array('title' => $display)));
        }
        // Event Types
        $admin_bar->add_menu(array('id' => 'mdjm-event-types', 'parent' => 'mdjm-events', 'title' => sprintf(__('%s Types', 'mobile-dj-manager'), mdjm_get_label_singular()), 'href' => admin_url('edit-tags.php?taxonomy=event-types&post_type=mdjm-event'), 'meta' => array('title' => sprintf(__('Manage %s Types', 'mobile-dj-manager'), mdjm_get_label_singular()))));
        // Playlist Categories
        $admin_bar->add_menu(array('id' => 'mdjm-playlist-cats', 'parent' => 'mdjm-events', 'title' => __('Playlist Categories', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=playlist-category&post_type=mdjm-playlist'), 'meta' => array('title' => __('Manage Playlist Categories', 'mobile-dj-manager'))));
        // Enquiry Sources
        $admin_bar->add_menu(array('id' => 'mdjm-enquiry-sources', 'parent' => 'mdjm-events', 'title' => __('Enquiry Sources', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=enquiry-source&post_type=mdjm-event'), 'meta' => array('title' => __('Manage Enquiry Sources', 'mobile-dj-manager'))));
    }
    // Dashboard
    /*$admin_bar->add_menu( array(
    		'id'		=> 'mdjm-dashboard',
    		'parent'	=> 'mdjm',
    		'title'	 => __( 'Dashboard', 'mobile-dj-manager' ),
    		'href'	  => admin_url( 'admin.php?page=mdjm-dashboard' ),
    		'meta'	  => array(
    			'title' => __( 'MDJM Dashboard', 'mobile-dj-manager' ),
    		),
    	) ); */
    // Settings
    if (mdjm_is_admin()) {
        $admin_bar->add_menu(array('id' => 'mdjm-settings', 'parent' => 'mdjm', 'title' => __('Settings', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-settings'), 'meta' => array('title' => __('MDJM Settings', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-general', 'parent' => 'mdjm-settings', 'title' => __('General', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-settings&tab=general'), 'meta' => array('title' => __('MDJM General Settings', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-events', 'parent' => 'mdjm-settings', 'title' => mdjm_get_label_plural(), 'href' => admin_url('admin.php?page=mdjm-settings&tab=events'), 'meta' => array('title' => __('MDJM Event Settings', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-permissions', 'parent' => 'mdjm-settings', 'title' => __('Permissions', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-settings&tab=general&section=mdjm_app_permissions'), 'meta' => array('title' => __('MDJM Permission Settings', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-emails', 'parent' => 'mdjm-settings', 'title' => sprintf(__('Email %s Template Settings', 'mobile-dj-manager'), '&amp;'), 'href' => admin_url('admin.php?page=mdjm-settings&tab=emails'), 'meta' => array('title' => sprintf(__('MDJM Email %s Template Settings', 'mobile-dj-manager'), '&amp;'))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-client-zone', 'parent' => 'mdjm-settings', 'title' => sprintf(__('%s Settings', 'mobile-dj-manager'), mdjm_get_option('app_name', __('Client Zone', 'mobile-dj-manager'))), 'href' => admin_url('admin.php?page=mdjm-settings&tab=client_zone'), 'meta' => array('title' => sprintf(__('%s Settings', 'mobile-dj-manager'), mdjm_get_option('app_name', __('Client Zone', 'mobile-dj-manager'))))));
        $admin_bar->add_menu(array('id' => 'mdjm-settings-payments', 'parent' => 'mdjm-settings', 'title' => __('Payment Settings', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-settings&tab=payments'), 'meta' => array('title' => __('MDJM Payment Settings', 'mobile-dj-manager'))));
    }
    do_action('mdjm_admin_bar_settings_items', $admin_bar);
    if (mdjm_is_employer() && mdjm_employee_can('manage_employees')) {
        // Employees
        $admin_bar->add_menu(array('id' => 'mdjm-employees', 'parent' => 'mdjm', 'title' => __('Employees', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-employees'), 'meta' => array('title' => __('Employees', 'mobile-dj-manager'))));
    }
    if (mdjm_is_admin()) {
        // Employee Availability
        $admin_bar->add_menu(array('id' => 'mdjm-availability', 'parent' => mdjm_is_employer() ? 'mdjm-employees' : 'mdjm', 'title' => __('Employee Availability', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-availability'), 'meta' => array('title' => __('Employee Availability', 'mobile-dj-manager'))));
        // Automated Tasks
        $admin_bar->add_menu(array('id' => 'mdjm-tasks', 'parent' => 'mdjm', 'title' => __('Automated Tasks', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-tasks'), 'meta' => array('title' => __('Automated Tasks', 'mobile-dj-manager'))));
    }
    if (mdjm_employee_can('view_clients_list')) {
        // Clients
        $admin_bar->add_menu(array('id' => 'mdjm-clients', 'parent' => 'mdjm', 'title' => __('Clients', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-clients'), 'meta' => array('title' => __('Clients', 'mobile-dj-manager'))));
    }
    if (mdjm_employee_can('list_all_clients')) {
        $admin_bar->add_menu(array('id' => 'mdjm-add-client', 'parent' => 'mdjm-clients', 'title' => __('Add Client', 'mobile-dj-manager'), 'href' => admin_url('user-new.php'), 'meta' => array('title' => __('Add New Client', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-custom-client-fields', 'parent' => 'mdjm-clients', 'title' => __('Custom Client Fields', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-custom-client-fields'), 'meta' => array('title' => __('Custom Client Field', 'mobile-dj-manager'))));
    }
    // Communications
    if (mdjm_employee_can('send_comms')) {
        $admin_bar->add_menu(array('id' => 'mdjm-comms', 'parent' => 'mdjm', 'title' => __('Communications', 'mobile-dj-manager'), 'href' => admin_url('admin.php?page=mdjm-comms'), 'meta' => array('title' => __('Communications', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'edit.php?post_type=mdjm_communication', 'parent' => 'mdjm-comms', 'title' => __('Communication History', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=mdjm_communication'), 'meta' => array('title' => __('Communication History', 'mobile-dj-manager'))));
    }
    // Filter for MDJM DCF Admin Bar Items
    do_action('mdjm_dcf_admin_bar_items', $admin_bar);
    if (mdjm_employee_can('manage_templates')) {
        // Contract Templates
        $admin_bar->add_menu(array('id' => 'mdjm-contracts', 'parent' => 'mdjm', 'title' => __('Contract Templates', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=contract'), 'meta' => array('title' => __('Contract Templates', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-new-contract', 'parent' => 'mdjm-contracts', 'title' => __('Add Contract Template', 'mobile-dj-manager'), 'href' => admin_url('post-new.php?post_type=contract'), 'meta' => array('title' => __('New Contract Template', 'mobile-dj-manager'))));
    }
    if (mdjm_employee_can('manage_templates')) {
        // Email Templates
        $admin_bar->add_menu(array('id' => 'mdjm-email-templates', 'parent' => 'mdjm', 'title' => __('Email Templates', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=email_template'), 'meta' => array('title' => __('Email Templates', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-new-email-template', 'parent' => 'mdjm-email-templates', 'title' => __('Add Template', 'mobile-dj-manager'), 'href' => admin_url('post-new.php?post_type=email_template'), 'meta' => array('title' => __('New Email Template', 'mobile-dj-manager'))));
    }
    // Equipment Packages & Add-ons
    if (mdjm_packages_enabled() && mdjm_employee_can('manage_packages')) {
        $admin_bar->add_menu(array('id' => 'mdjm-packages', 'parent' => 'mdjm', 'title' => __('Packages', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=mdjm-package'), 'meta' => array('title' => __('Packages', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-package-cats', 'parent' => 'mdjm-packages', 'title' => __('Package Categories', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=package-category&post_type=mdjm-package'), 'meta' => array('title' => __('Package Categories', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-addons', 'parent' => 'mdjm-packages', 'title' => __('Add-ons', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=mdjm-addon'), 'meta' => array('title' => __('Add-ons', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-addon-cats', 'parent' => 'mdjm-packages', 'title' => __('Addon Categories', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=addon-category&post_type=mdjm-addon'), 'meta' => array('title' => __('Addon Categories', 'mobile-dj-manager'))));
    }
    // Custom Event Fields
    if (mdjm_is_admin()) {
        $admin_bar->add_menu(array('id' => 'mdjm-event-fields', 'parent' => 'mdjm-events', 'title' => sprintf(__('Custom %s Fields', 'mobile-dj-manager'), mdjm_get_label_singular()), 'href' => admin_url('admin.php?page=mdjm-custom-event-fields'), 'meta' => array('title' => sprintf(__('Manage Custom %s Fields', 'mobile-dj-manager'), mdjm_get_label_singular()))));
    }
    // Event Quotes
    if (mdjm_get_option('online_enquiry', false) && mdjm_employee_can('list_own_quotes')) {
        $admin_bar->add_menu(array('id' => 'mdjm-event-quotes', 'parent' => 'mdjm-events', 'title' => sprintf(__('%s Quotes', 'mobile-dj-manager'), mdjm_get_label_singular()), 'href' => admin_url('edit.php?post_type=mdjm-quotes'), 'meta' => array('title' => sprintf(__('View %s Quotes', 'mobile-dj-manager'), mdjm_get_label_singular()))));
    }
    // Reporting
    /*if( current_user_can( 'manage_options' ) )	{
    		$admin_bar->add_menu( array(
    			'id'     => 'mdjm-reports',
    			'parent' => 'mdjm',
    			'title'  => __( 'Reports', 'mobile-dj-manager' ),
    			'href'   => admin_url( 'admin.php?page=mdjm-reports' ),
    			'meta'   => array(
    				'title' => __( 'MDJM Reports', 'mobile-dj-manager' ),
    			),
    		) );	
    	}*/
    if (mdjm_employee_can('edit_txns')) {
        // Transactions
        $admin_bar->add_menu(array('id' => 'mdjm-transactions', 'parent' => 'mdjm', 'title' => __('Transactions', 'mobile-dj-manager'), 'href' => 'edit.php?post_type=mdjm-transaction', 'meta' => array('title' => __('MDJM Transactions', 'mobile-dj-manager'))));
        $admin_bar->add_menu(array('id' => 'mdjm-add-transaction', 'parent' => 'mdjm-transactions', 'title' => __('Add Transaction', 'mobile-dj-manager'), 'href' => admin_url('post-new.php?post_type=mdjm-transaction'), 'meta' => array('title' => __('Add Transaction', 'mobile-dj-manager'))));
        // Transaction Types
        $admin_bar->add_menu(array('id' => 'mdjm-transaction-types', 'parent' => 'mdjm-transactions', 'title' => __('Transaction Types', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=transaction-types&post_type=mdjm-transaction'), 'meta' => array('title' => __('View / Edit Transaction Types', 'mobile-dj-manager'))));
    }
    if (mdjm_employee_can('list_venues')) {
        // Venues
        $admin_bar->add_menu(array('id' => 'mdjm-venues', 'parent' => 'mdjm', 'title' => __('Venues', 'mobile-dj-manager'), 'href' => admin_url('edit.php?post_type=mdjm-venue'), 'meta' => array('title' => __('Venues', 'mobile-dj-manager'))));
        if (mdjm_employee_can('add_venues')) {
            $admin_bar->add_menu(array('id' => 'mdjm-add-venue', 'parent' => 'mdjm-venues', 'title' => __('Add Venue', 'mobile-dj-manager'), 'href' => admin_url('post-new.php?post_type=mdjm-venue'), 'meta' => array('title' => __('Add New Venue', 'mobile-dj-manager'))));
            $admin_bar->add_menu(array('id' => 'mdjm-venue-details', 'parent' => 'mdjm-venues', 'title' => __('Venue Details', 'mobile-dj-manager'), 'href' => admin_url('edit-tags.php?taxonomy=venue-details&post_type=mdjm-venue'), 'meta' => array('title' => __('View / Edit Venue Details', 'mobile-dj-manager'))));
        }
    }
    // MDJM Links
    $admin_bar->add_menu(array('id' => 'mdjm-user-guides', 'parent' => 'mdjm', 'title' => sprintf(__('%sDocumentation%s', 'mobile-dj-manager'), '<span style="color:#F90">', '</span>'), 'href' => 'http://mdjm.co.uk/support/', 'meta' => array('title' => __('Documentation', 'mobile-dj-manager'), 'target' => '_blank')));
    $admin_bar->add_menu(array('id' => 'mdjm-support', 'parent' => 'mdjm', 'title' => sprintf(__('%sSupport%s', 'mobile-dj-manager'), '<span style="color:#F90">', '</span>'), 'href' => 'http://www.mydjplanner.co.uk/forums/', 'meta' => array('title' => __('MDJM Support Forums', 'mobile-dj-manager'), 'target' => '_blank')));
}
Пример #3
0
/**
 * Output the event employee selection row
 *
 * @since	1.3.7
 * @global	obj		$mdjm_event			MDJM_Event class object
 * @global	bool	$mdjm_event_update	True if this event is being updated, false if new.
 * @param	int		$event_id			The event ID.
 * @return	str
 */
function mdjm_event_metabox_employee_select_row($event_id)
{
    global $mdjm_event, $mdjm_event_update;
    $employee_id = $mdjm_event->employee_id ? $mdjm_event->employee_id : get_current_user_id();
    $payment_status = $mdjm_event->employee_id ? mdjm_event_employees_paid($event_id, $mdjm_event->employee_id) : false;
    if (isset($_GET['primary_employee'])) {
        $employee_id = $_GET['primary_employee'];
    }
    echo MDJM()->html->hidden(array('name' => 'event_dj', 'value' => $employee_id));
    ?>

	<div class="mdjm_field_wrap mdjm_form_fields">
        <div class="mdjm_col col2">
			<label for="_mdjm_event_dj"><?php 
    _e('Primary Employee:', 'mobile-dj-manager');
    ?>
</label><br />
				<?php 
    if (!mdjm_is_employer() || !mdjm_employee_can('manage_employees') || $payment_status) {
        ?>

                    <?php 
        echo MDJM()->html->text(array('name' => 'event_dj_display', 'class' => '', 'value' => mdjm_get_employee_display_name($employee_id), 'readonly' => true));
        ?>

					<?php 
        echo MDJM()->html->hidden(array('name' => '_mdjm_event_dj', 'value' => $employee_id));
        ?>

                <?php 
    } else {
        ?>

					<?php 
        echo MDJM()->html->employee_dropdown(array('selected' => $mdjm_event->employee_id, 'group' => true, 'chosen' => true, 'placeholder' => __('Select an Employee', 'mobile-dj-manager')));
        ?>
            
                <?php 
    }
    ?>

		</div>

		<?php 
    if (mdjm_get_option('enable_employee_payments') && mdjm_employee_can('edit_txns')) {
        ?>

			<?php 
        $wage = mdjm_get_employees_event_wage($event_id, $employee_id);
        ?>

			<div class="mdjm_col col2">
				<label for="_mdjm_event_dj_wage"><?php 
        _e('Wage', 'mobile-dj-manager');
        ?>
:</label><br />
                <?php 
        echo mdjm_currency_symbol() . MDJM()->html->text(array('name' => '_mdjm_event_dj_wage', 'class' => 'mdjm-currency', 'value' => !empty($wage) ? $wage : '', 'placeholder' => mdjm_sanitize_amount('0'), 'readonly' => $payment_status ? true : false));
        ?>
			</div>

        <?php 
    }
    ?>

    </div>

	<?php 
}
Пример #4
0
/**
 * Get system info
 *
 * @since	1.4
 * @global	obj	$wpdb	Used to query the database using the WordPress Database API
 * @return	str	$return	A string containing the info to output
 */
function mdjm_tools_sysinfo_get()
{
    global $wpdb;
    // Get theme info
    $theme_data = wp_get_theme();
    $theme = $theme_data->Name . ' ' . $theme_data->Version;
    $return = '### Begin System Info ###' . "\n\n";
    // Start with the basics...
    $return .= '-- Site Info' . "\n\n";
    $return .= 'Site URL:                 ' . site_url() . "\n";
    $return .= 'Home URL:                 ' . home_url() . "\n";
    $return .= 'Multisite:                ' . (is_multisite() ? 'Yes' : 'No') . "\n";
    $return = apply_filters('mdjm_sysinfo_after_site_info', $return);
    // WordPress configuration
    $return .= "\n" . '-- WordPress Configuration' . "\n\n";
    $return .= 'Version:                  ' . get_bloginfo('version') . "\n";
    $return .= 'Language:                 ' . (defined('WPLANG') && WPLANG ? WPLANG : 'en_US') . "\n";
    $return .= 'Permalink Structure:      ' . (get_option('permalink_structure') ? get_option('permalink_structure') : 'Default') . "\n";
    $return .= 'Active Theme:             ' . $theme . "\n";
    $return .= 'Show On Front:            ' . get_option('show_on_front') . "\n";
    // Only show page specs if frontpage is set to 'page'
    if (get_option('show_on_front') == 'page') {
        $front_page_id = get_option('page_on_front');
        $blog_page_id = get_option('page_for_posts');
        $return .= 'Page On Front:            ' . ($front_page_id != 0 ? get_the_title($front_page_id) . ' (#' . $front_page_id . ')' : 'Unset') . "\n";
        $return .= 'Page For Posts:           ' . ($blog_page_id != 0 ? get_the_title($blog_page_id) . ' (#' . $blog_page_id . ')' : 'Unset') . "\n";
    }
    $return .= 'ABSPATH:                  ' . ABSPATH . "\n";
    // Make sure wp_remote_post() is working
    $request['cmd'] = '_notify-validate';
    $params = array('sslverify' => false, 'timeout' => 60, 'user-agent' => 'MDJM/' . MDJM_VERSION_NUM, 'body' => $request);
    $response = wp_remote_post('https://www.paypal.com/cgi-bin/webscr', $params);
    if (!is_wp_error($response) && $response['response']['code'] >= 200 && $response['response']['code'] < 300) {
        $WP_REMOTE_POST = 'wp_remote_post() works';
    } else {
        $WP_REMOTE_POST = 'wp_remote_post() does not work';
    }
    $return .= 'Remote Post:              ' . $WP_REMOTE_POST . "\n";
    $return .= 'Table Prefix:             ' . 'Length: ' . strlen($wpdb->prefix) . '   Status: ' . (strlen($wpdb->prefix) > 16 ? 'ERROR: Too long' : 'Acceptable') . "\n";
    $return .= 'WP_DEBUG:                 ' . (defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set') . "\n";
    $return .= 'Memory Limit:             ' . WP_MEMORY_LIMIT . "\n";
    $return .= 'Registered Post Stati:    ' . implode(', ', get_post_stati()) . "\n";
    $return = apply_filters('mdjm_sysinfo_after_wordpress_config', $return);
    // MDJM configuration
    $employer = mdjm_is_employer();
    $packages = mdjm_packages_enabled();
    $debug = MDJM_DEBUG;
    $return .= "\n" . '-- MDJM Configuration' . "\n\n";
    $return .= 'Version:                  ' . MDJM_VERSION_NUM . "\n";
    $return .= 'Upgraded From:            ' . get_option('mdjm_version_upgraded_from', 'None') . "\n";
    $return .= 'Debugging Status:         ' . (!empty($debug) ? "Enabled\n" : "Disabled\n");
    $return .= 'Multiple Employees:       ' . (!empty($employer) ? "Enabled\n" : "Disabled\n");
    $return .= 'Packages Enabled:         ' . (!empty($packages) ? "Enabled\n" : "Disabled\n");
    $return .= 'Currency Code:            ' . mdjm_get_currency() . "\n";
    $return .= 'Currency Position:        ' . mdjm_get_option('currency_format', 'before') . "\n";
    $return .= 'Decimal Separator:        ' . mdjm_get_option('decimal', '.') . "\n";
    $return .= 'Thousands Separator:      ' . mdjm_get_option('thousands_separator', ',') . "\n";
    $return = apply_filters('mdjm_sysinfo_after_mdjm_config', $return);
    // MDJM pages
    $clientzone_page = mdjm_get_option('app_home_page', '');
    $contact_page = mdjm_get_option('contact_page', '');
    $contracts_page = mdjm_get_option('contracts_page', '');
    $payments_page = mdjm_get_option('payments_page', '');
    $playlist_page = mdjm_get_option('playlist_page', '');
    $profile_page = mdjm_get_option('profile_page', '');
    $quotes_page = mdjm_get_option('quotes_page', '');
    $return .= "\n" . '-- MDJM Page Configuration' . "\n\n";
    $return .= 'Client Zone Page:         ' . (!empty($clientzone_page) ? get_permalink($clientzone_page) . "\n" : "Unset\n");
    $return .= 'Contact Page:             ' . (!empty($contact_page) ? get_permalink($contact_page) . "\n" : "Unset\n");
    $return .= 'Contracts Page:           ' . (!empty($contracts_page) ? get_permalink($contracts_page) . "\n" : "Unset\n");
    $return .= 'Payments Page:            ' . (!empty($payments_page) ? get_permalink($payments_page) . "\n" : "Unset\n");
    $return .= 'Playlist Page:            ' . (!empty($playlist_page) ? get_permalink($playlist_page) . "\n" : "Unset\n");
    $return .= 'Profile Page:             ' . (!empty($profile_page) ? get_permalink($profile_page) . "\n" : "Unset\n");
    $return .= 'Quotes Page:              ' . (!empty($quotes_page) ? get_permalink($quotes_page) . "\n" : "Unset\n");
    $return = apply_filters('mdjm_sysinfo_after_mdjm_pages', $return);
    // MDJM email templates
    $quote_template = mdjm_get_option('enquiry', '');
    $online_quote = mdjm_get_option('online_enquiry', '');
    $unavailable_template = mdjm_get_option('unavailable', '');
    $contract_template = mdjm_get_option('contract', '');
    $booking_conf_template = mdjm_get_option('booking_conf_client', '');
    $auto_payment_template = mdjm_get_option('payment_cfm_template', '');
    $manual_payment_template = mdjm_get_option('manual_payment_cfm_template', '');
    $return .= "\n" . '-- MDJM Email Templates' . "\n\n";
    $return .= 'Quote:                    ' . (!empty($quote_template) ? get_the_title($quote_template) . ' (' . $quote_template . ')' . "\n" : "Unset\n");
    $return .= 'Online Quote:             ' . (!empty($online_quote) ? get_the_title($online_quote) . ' (' . $online_quote . ')' . "\n" : "Unset\n");
    $return .= 'Unavailable:              ' . (!empty($unavailable_template) ? get_the_title($unavailable_template) . ' (' . $unavailable_template . ')' . "\n" : "Unset\n");
    $return .= 'Awaiting Contract:        ' . (!empty($contract_template) ? get_the_title($quote_template) . ' (' . $quote_template . ')' . "\n" : "Unset\n");
    $return .= 'Booking Confirmation:     ' . (!empty($booking_conf_template) ? get_the_title($booking_conf_template) . ' (' . $booking_conf_template . ')' . "\n" : "Unset\n");
    $return .= 'Gateway Payment:          ' . (!empty($auto_payment_template) ? get_the_title($auto_payment_template) . ' (' . $auto_payment_template . ')' . "\n" : "Unset\n");
    $return .= 'Manual Payment:           ' . (!empty($manual_payment_template) ? get_the_title($manual_payment_template) . ' (' . $manual_payment_template . ')' . "\n" : "Unset\n");
    $return = apply_filters('mdjm_sysinfo_after_mdjm_pages', $return);
    // MDJM Payment Gateways
    $return .= "\n" . '-- MDJM Gateway Configuration' . "\n\n";
    $active_gateways = mdjm_get_enabled_payment_gateways();
    if ($active_gateways) {
        $default_gateway_is_active = mdjm_is_gateway_active(mdjm_get_default_gateway());
        if ($default_gateway_is_active) {
            $default_gateway = mdjm_get_default_gateway();
            $default_gateway = $active_gateways[$default_gateway]['admin_label'];
        } else {
            $default_gateway = 'Test Payment';
        }
        $gateways = array();
        foreach ($active_gateways as $gateway) {
            $gateways[] = $gateway['admin_label'];
        }
        $return .= 'Enabled Gateways:         ' . implode(', ', $gateways) . "\n";
        $return .= 'Default Gateway:          ' . $default_gateway . "\n";
    } else {
        $return .= 'Enabled Gateways:         None' . "\n";
    }
    $return = apply_filters('mdjm_sysinfo_after_mdjm_gateways', $return);
    // MDJM Templates
    $dir = get_stylesheet_directory() . '/mdjm-templates/*';
    if (is_dir($dir) && count(glob("{$dir}/*")) !== 0) {
        $return .= "\n" . '-- MDJM Template Overrides' . "\n\n";
        foreach (glob($dir) as $file) {
            $return .= 'Filename:                 ' . basename($file) . "\n";
        }
        $return = apply_filters('mdjm_sysinfo_after_mdjm_templates', $return);
    }
    // Get plugins that have an update
    $updates = get_plugin_updates();
    // Must-use plugins
    // NOTE: MU plugins can't show updates!
    $muplugins = get_mu_plugins();
    if (count($muplugins > 0)) {
        $return .= "\n" . '-- Must-Use Plugins' . "\n\n";
        foreach ($muplugins as $plugin => $plugin_data) {
            $return .= $plugin_data['Name'] . ': ' . $plugin_data['Version'] . "\n";
        }
        $return = apply_filters('mdjm_sysinfo_after_wordpress_mu_plugins', $return);
    }
    // WordPress active plugins
    $return .= "\n" . '-- WordPress Active Plugins' . "\n\n";
    $plugins = get_plugins();
    $active_plugins = get_option('active_plugins', array());
    foreach ($plugins as $plugin_path => $plugin) {
        if (!in_array($plugin_path, $active_plugins)) {
            continue;
        }
        $update = array_key_exists($plugin_path, $updates) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
        $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
    }
    $return = apply_filters('mdjm_sysinfo_after_wordpress_plugins', $return);
    // WordPress inactive plugins
    $return .= "\n" . '-- WordPress Inactive Plugins' . "\n\n";
    foreach ($plugins as $plugin_path => $plugin) {
        if (in_array($plugin_path, $active_plugins)) {
            continue;
        }
        $update = array_key_exists($plugin_path, $updates) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
        $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
    }
    $return = apply_filters('mdjm_sysinfo_after_wordpress_plugins_inactive', $return);
    if (is_multisite()) {
        // WordPress Multisite active plugins
        $return .= "\n" . '-- Network Active Plugins' . "\n\n";
        $plugins = wp_get_active_network_plugins();
        $active_plugins = get_site_option('active_sitewide_plugins', array());
        foreach ($plugins as $plugin_path) {
            $plugin_base = plugin_basename($plugin_path);
            if (!array_key_exists($plugin_base, $active_plugins)) {
                continue;
            }
            $update = array_key_exists($plugin_path, $updates) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
            $plugin = get_plugin_data($plugin_path);
            $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
        }
        $return = apply_filters('mdjm_sysinfo_after_wordpress_ms_plugins', $return);
    }
    // Server configuration (really just versioning)
    $return .= "\n" . '-- Webserver Configuration' . "\n\n";
    $return .= 'PHP Version:              ' . PHP_VERSION . "\n";
    $return .= 'MySQL Version:            ' . $wpdb->db_version() . "\n";
    $return .= 'Webserver Info:           ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
    $return = apply_filters('mdjm_sysinfo_after_webserver_config', $return);
    // PHP configs... now we're getting to the important stuff
    $return .= "\n" . '-- PHP Configuration' . "\n\n";
    $return .= 'Safe Mode:                ' . (ini_get('safe_mode') ? 'Enabled' : 'Disabled' . "\n");
    $return .= 'Memory Limit:             ' . ini_get('memory_limit') . "\n";
    $return .= 'Upload Max Size:          ' . ini_get('upload_max_filesize') . "\n";
    $return .= 'Post Max Size:            ' . ini_get('post_max_size') . "\n";
    $return .= 'Upload Max Filesize:      ' . ini_get('upload_max_filesize') . "\n";
    $return .= 'Time Limit:               ' . ini_get('max_execution_time') . "\n";
    $return .= 'Max Input Vars:           ' . ini_get('max_input_vars') . "\n";
    $return .= 'Display Errors:           ' . (ini_get('display_errors') ? 'On (' . ini_get('display_errors') . ')' : 'N/A') . "\n";
    $return = apply_filters('mdjm_sysinfo_after_php_config', $return);
    // PHP extensions and such
    $return .= "\n" . '-- PHP Extensions' . "\n\n";
    $return .= 'cURL:                     ' . (function_exists('curl_init') ? 'Supported' : 'Not Supported') . "\n";
    $return .= 'fsockopen:                ' . (function_exists('fsockopen') ? 'Supported' : 'Not Supported') . "\n";
    $return .= 'SOAP Client:              ' . (class_exists('SoapClient') ? 'Installed' : 'Not Installed') . "\n";
    $return .= 'Suhosin:                  ' . (extension_loaded('suhosin') ? 'Installed' : 'Not Installed') . "\n";
    $return = apply_filters('mdjm_sysinfo_after_php_ext', $return);
    $return .= "\n" . '### End System Info ###';
    return $return;
}
Пример #5
0
/**
 * Output the addon availability employee_row
 *
 * @since	1.4
 * @param	int		$post		The WP_Post object.
 * @return	str
 */
function mdjm_addon_metabox_availability_employee_row($post)
{
    $employees_with = mdjm_get_employees_with_addon($post->ID);
    $event_types = mdjm_get_addon_event_types($post->ID);
    $event_label = mdjm_get_label_singular(true);
    ?>
    <div class="mdjm_field_wrap mdjm_form_fields">
		<?php 
    if (mdjm_is_employer()) {
        ?>
            <div id="addon-employee-select" class="mdjm_col col2">
                <p><label for="_addon_employees"><?php 
        _e('Employees with this package', 'mobile-dj-manager');
        ?>
</label><br />
                <?php 
        echo MDJM()->html->employee_dropdown(array('name' => '_addon_employees', 'selected' => !empty($employees_with) ? $employees_with : array('all'), 'show_option_none' => false, 'show_option_all' => __('All Employees', 'mobile-dj-manager'), 'group' => true, 'chosen' => true, 'multiple' => true, 'placeholder' => __('Click to select employees', 'mobile-dj-manager')));
        ?>
</p>
            </div>
        <?php 
    } else {
        ?>
            <input type="hidden" name="_package_employees" value="all" />
        <?php 
    }
    ?>

			<div id="addon-event-type" class="mdjm_col col2">
				<p><label for="_addon_event_types"><?php 
    printf(__('Available for %s types', 'mobile-dj-manager'), $event_label);
    ?>
</label><br />
                <?php 
    echo MDJM()->html->event_type_dropdown(array('name' => '_addon_event_types', 'selected' => !empty($event_types) ? $event_types : array('all'), 'show_option_none' => false, 'show_option_all' => sprintf(__('All %s Types', 'mobile-dj-manager'), ucfirst($event_label)), 'multiple' => true, 'chosen' => true, 'placeholder' => sprintf(__('Click to select %s types', 'mobile-dj-manager'), $event_label)));
    ?>
</p>
			</div>
	</div>
    <?php 
}
Пример #6
0
/**
 * Add the filter dropdowns to the event post list.
 *
 * @since	1.0
 * @param
 * @return	void
 */
function mdjm_event_post_filter_list()
{
    if (!isset($_GET['post_type']) || $_GET['post_type'] != 'mdjm-event') {
        return;
    }
    mdjm_event_date_filter_dropdown();
    mdjm_event_type_filter_dropdown();
    if (mdjm_is_employer() && mdjm_employee_can('manage_employees')) {
        mdjm_event_employee_filter_dropdown();
    }
    if (mdjm_employee_can('list_all_clients')) {
        mdjm_event_client_filter_dropdown();
    }
}