Ejemplo n.º 1
0
function wats_get_ticket_update_rights_message()
{
    global $wats_settings, $current_user, $post;
    wats_load_settings();
    $output = '';
    if ($wats_settings['ticket_status_key_enabled'] == 1 && get_post_meta($post->ID, 'wats_ticket_status', true) == wats_get_closed_status_id() && !current_user_can('administrator')) {
        $output .= '<div id="ticket_is_closed">' . __('The ticket is closed. Only administrators could reopen it.', 'WATS') . '</div>';
    } else {
        if ($wats_settings['visibility'] == 2 && (!is_user_logged_in() || is_user_logged_in() && !current_user_can('administrator') && $current_user->ID != $post->post_author)) {
            $output .= '<div id="ticket_is_read_only">' . __('Only admins and ticket author can update this ticket.', 'WATS') . '</div>';
        }
    }
    return $output;
}
Ejemplo n.º 2
0
function wats_dashboard_widget_tickets()
{
    global $current_user, $wats_settings;
    $role = array_shift($current_user->roles);
    $user_can_view_stats = 0;
    if (isset($wats_settings['dashboard_stats_widget_' . $role]) && $wats_settings['dashboard_stats_widget_' . $role] == 1) {
        $user_can_view_stats = 1;
    }
    if ($user_can_view_stats == 1) {
        echo '<div>' . __('Global stats :', 'WATS') . '<br /><br />';
        echo '<li class="wats">' . __('Number of tickets created : ', 'WATS');
        echo ' ' . wats_get_number_of_tickets_by_status(0, 0) . '</li>';
        echo '<li class="wats">' . __('Number of tickets closed : ', 'WATS');
        echo ' ' . wats_get_number_of_tickets_by_status(wats_get_closed_status_id(), 0) . '</li></div><br /><br />';
    }
    echo '<div>' . __('Your stats :', 'WATS') . '<br /><br />';
    echo '<li class="wats">' . __('Number of tickets created : ', 'WATS');
    echo ' ' . wats_get_number_of_tickets_by_status(0, $current_user->ID) . '</li>';
    echo '<li class="wats">' . __('Number of tickets closed : ', 'WATS');
    echo ' ' . wats_get_number_of_tickets_by_status(wats_get_closed_status_id(), $current_user->ID) . '</li></div>';
    return;
}
Ejemplo n.º 3
0
function wats_ticket_details_meta_box($post, $view = 0)
{
    global $wats_settings, $current_user, $pagenow;
    if (is_array($view)) {
        $view = $view['args']['view'];
    }
    $wats_ticket_priority = isset($wats_settings['wats_priorities']) ? $wats_settings['wats_priorities'] : 0;
    $wats_ticket_type = isset($wats_settings['wats_types']) ? $wats_settings['wats_types'] : 0;
    $wats_ticket_status = isset($wats_settings['wats_statuses']) ? $wats_settings['wats_statuses'] : 0;
    $wats_ticket_product = isset($wats_settings['wats_products']) ? apply_filters('wats_product_list_filter', $wats_settings['wats_products']) : 0;
    if (is_object($post)) {
        $ticket_priority = get_post_meta($post->ID, 'wats_ticket_priority', true);
        $ticket_status = get_post_meta($post->ID, 'wats_ticket_status', true);
        $ticket_type = get_post_meta($post->ID, 'wats_ticket_type', true);
        $ticket_owner = get_post_meta($post->ID, 'wats_ticket_owner', true);
        $ticket_product = get_post_meta($post->ID, 'wats_ticket_product', true);
    } else {
        $ticket_priority = 0;
        $ticket_status = 0;
        $ticket_type = 0;
        $ticket_owner = 0;
        $ticket_product = 0;
    }
    $output = '';
    if ($wats_settings['ticket_type_key_enabled'] == 1) {
        if ($view == 1) {
            $output .= '<div class="wats_select_ticket_type_frontend">';
        }
        if ($view == 0 && !is_admin()) {
            $output .= '<div class="wats_select_ticket_type_frontend_update_form">';
        }
        if (is_admin()) {
            $output .= '<br />';
        }
        $output .= '<label class="wats_label">' . __('Ticket type', 'WATS') . ' : </label>';
        $output .= '<select name="wats_select_ticket_type" id="wats_select_ticket_type" class="wats_select">';
        if (is_array($wats_ticket_type)) {
            foreach ($wats_ticket_type as $key => $value) {
                $output .= '<option value=' . $key;
                if ($key == $ticket_type || !$ticket_type && $key == $wats_settings['default_ticket_type']) {
                    $output .= ' selected';
                }
                $output .= '>' . esc_html__($value, 'WATS') . '</option>';
            }
        }
        $output .= '</select><br /><br />';
        if ($view == 1 || $view == 0 && !is_admin()) {
            $output .= '</div>';
        }
    }
    if ($wats_settings['ticket_priority_key_enabled'] == 1) {
        if ($view == 1) {
            $output .= '<div class="wats_select_ticket_priority_frontend">';
        }
        if ($view == 0 && !is_admin()) {
            $output .= '<div class="wats_select_ticket_priority_frontend_update_form">';
        }
        $output .= '<label class="wats_label">' . __('Ticket priority', 'WATS') . ' : </label>';
        $output .= '<select name="wats_select_ticket_priority" id="wats_select_ticket_priority" class="wats_select">';
        if (is_array($wats_ticket_priority)) {
            foreach ($wats_ticket_priority as $key => $value) {
                $output .= '<option value=' . $key;
                if ($key == $ticket_priority || !$ticket_priority && $key == $wats_settings['default_ticket_priority']) {
                    $output .= ' selected';
                }
                $output .= '>' . esc_html__($value, 'WATS') . '</option>';
            }
        }
        $output .= '</select><br /><br />';
        if ($view == 1 || $view == 0 && !is_admin()) {
            $output .= '</div>';
        }
    }
    if ($wats_settings['ticket_status_key_enabled'] == 1) {
        if ($view == 1) {
            $output .= '<div class="wats_select_ticket_status_frontend">';
        }
        if ($view == 0 && !is_admin()) {
            $output .= '<div class="wats_select_ticket_status_frontend_update_form">';
        }
        if (is_admin() && is_object($post) && get_post_meta($post->ID, 'wats_ticket_status', true) == wats_get_closed_status_id() && !current_user_can('administrator')) {
            $output .= __('Ticket status', 'WATS') . ' : ' . $wats_ticket_status[wats_get_closed_status_id()] . '<br /><br />';
        } else {
            $output .= '<label class="wats_label">' . __('Ticket status', 'WATS') . ' : </label>';
            $output .= '<select name="wats_select_ticket_status" id="wats_select_ticket_status" class="wats_select">';
            if (is_array($wats_ticket_status)) {
                foreach ($wats_ticket_status as $key => $value) {
                    $output .= '<option value=' . $key;
                    if ($key == $ticket_status || !$ticket_status && $key == $wats_settings['default_ticket_status']) {
                        $output .= ' selected';
                    }
                    $output .= '>' . esc_html__($value, 'WATS') . '</option>';
                }
            }
            $output .= '</select><br /><br />';
        }
        if ($view == 1 || $view == 0 && !is_admin()) {
            $output .= '</div>';
        }
    }
    if ($wats_settings['ticket_product_key_enabled'] == 1) {
        if ($view == 1) {
            $output .= '<div class="wats_select_ticket_product_frontend">';
        }
        if ($view == 0 && !is_admin()) {
            $output .= '<div class="wats_select_ticket_product_frontend_update_form">';
        }
        $output .= '<label class="wats_label">' . __('Ticket product', 'WATS') . ' : </label>';
        $output .= '<select name="wats_select_ticket_product" id="wats_select_ticket_product" class="wats_select">';
        if (is_array($wats_ticket_product)) {
            foreach ($wats_ticket_product as $key => $value) {
                $output .= '<option value=' . $key;
                if ($key == $ticket_product || !$ticket_product && $key == $wats_settings['default_ticket_product']) {
                    $output .= ' selected';
                }
                $output .= '>' . esc_html__($value, 'WATS') . '</option>';
            }
        }
        $output .= '</select><br /><br />';
        if ($view == 1 || $view == 0 && !is_admin()) {
            $output .= '</div>';
        }
    }
    if (is_object($post)) {
        setup_postdata($post);
    }
    if (is_admin()) {
        $output .= wp_nonce_field('wats-edit-ticket', '_wpnonce_wats_edit_ticket', true, false) . "\n";
    }
    if ((is_admin() || $view == 1) && current_user_can('administrator') && $wats_settings['call_center_ticket_creation'] == 1) {
        if (is_object($post)) {
            $selected_login = get_the_author_meta('user_login');
        } else {
            $selected_login = $current_user->user_login;
        }
        $output .= '<div id="wats_div_ticket_originator"><label class="wats_label">' . __('Ticket originator : ', 'WATS') . '</label>';
        $userlist = wats_build_user_list(0, 0);
        $output .= '<select name="wats_select_ticket_originator" id="wats_select_ticket_originator" class="wats_select">';
        foreach ($userlist as $userlogin => $username) {
            $output .= '<option value="' . $userlogin . '" ';
            if ($selected_login == $userlogin) {
                $output .= " selected";
            }
            $output .= '>' . $username . '</option>';
        }
        $output .= '</select></div>';
    } else {
        if (is_admin()) {
            if ($post->ID) {
                $output .= '<label class="wats_label">' . __('Ticket originator : ', 'WATS') . '</label>';
                $output .= get_the_author();
            }
        }
    }
    if (is_admin()) {
        $ticket_author_name = get_post_meta($post->ID, 'wats_ticket_author_name', true);
        if ($ticket_author_name) {
            $output .= '<br /><br /><label class="wats_label">' . __('Ticket author name : ', 'WATS') . '</label>' . $ticket_author_name;
        }
        $ticket_author_email = get_post_meta($post->ID, 'wats_ticket_author_email', true);
        if ($ticket_author_email) {
            $output .= '<br /><br /><label class="wats_label">' . __('Ticket author email : ', 'WATS') . '</label>' . '<a href="mailto:' . $ticket_author_email . '">' . $ticket_author_email . '</a>';
        }
        $ticket_author_url = get_post_meta($post->ID, 'wats_ticket_author_url', true);
        if ($ticket_author_url) {
            $output .= '<br /><br /><label class="wats_label">' . __('Ticket author url : ', 'WATS') . '</label>' . '<a href="' . $ticket_author_url . '">' . $ticket_author_url . '</a>';
        }
        $output .= '<br /><br />';
    }
    if ($view == 1) {
        return $output;
    } else {
        echo $output;
    }
}