public function _ajax_get_view() { global $zendesk_support; $agents = Zendesk_Wordpress_Agents::get_instance(); if (isset($_REQUEST['view_id']) && is_numeric($_REQUEST['view_id']) && $agents->_is_agent()) { $requested_view = $_REQUEST['view_id']; // Is somebody trying to cheat? $dashboard_widget = Zendesk_Wordpress_Dashboard_Widget::get_instance(); if ($dashboard_widget->_get_current_user_dashboard_widget() != 'tickets-widget') { return; } $views = $zendesk_support->api->get_views(); if (!is_wp_error($views)) { foreach ($views as $view) { if ($view->id == $requested_view) { $zendesk_support->zendesk_user['default_view'] = array('id' => $view->id, 'title' => $view->title); update_user_meta($zendesk_support->user->ID, 'zendesk_user_options', $zendesk_support->zendesk_user); break; } } } // API requests based on the Zendesk role. $tickets = $zendesk_support->api->get_tickets_from_view((int) $zendesk_support->zendesk_user['default_view']['id']); // Empty the arrays if they are errors. if (is_wp_error($tickets)) { $tickets = array(); } $response = array('status' => 200, 'html' => Zendesk_Wordpress_Tickets::_get_tickets_widget_html($tickets)); } else { $response = array('status' => 403, 'error' => __('Access denied', 'zendesk')); } echo json_encode($response); die; }
public function _dashboard_widget_tickets() { global $zendesk_support; $agents = Zendesk_Wordpress_Agents::get_instance(); ?> <div class="inside"> <?php // API requests based on the Zendesk role. if ($agents->_is_agent()) { $tickets = $zendesk_support->api->get_tickets_from_view((int) $zendesk_support->zendesk_user['default_view']['id']); $views = $zendesk_support->api->get_views(); } else { $tickets = $zendesk_support->api->get_requests(); $views = array(); } // Empty the arrays if they are errors. if (is_wp_error($views)) { $notices = Zendesk_Wordpress_Notices::get_instance(); $notices->_add_notice('zendesk_tickets_widget', $views->get_error_message(), 'alert'); $views = array(); } if (is_wp_error($tickets)) { $notices = Zendesk_Wordpress_Notices::get_instance(); $notices->_add_notice('zendesk_tickets_widget', $tickets->get_error_message(), 'alert'); $tickets = array(); } // Notifications $notices = Zendesk_Wordpress_Notices::get_instance(); $notices->_do_notices('zendesk_login'); $notices->_do_notices('zendesk_tickets_widget'); ?> </div> <div class="zendesk-tickets-widget"> <!-- Dashboard Widget Main View --> <div class="zendesk-tickets-widget-main"> <?php echo Zendesk_Wordpress_Tickets::_get_tickets_widget_html($tickets); ?> </div> <!-- Dashboard Widget Select View --> <div class="zendesk-tickets-widget-views" style="display: none;"> <p class="zendesk-heading"><?php _e('Change view', 'zendesk'); ?> <span class="zendesk-heading-link">(<a class="zendesk-change-view-cancel" href="<?php echo admin_url(); ?> "><?php _e('cancel', 'zendesk'); ?> </a>)</span></p> <table class="zendesk-views-table"> <?php if (count($views) > 0 && is_array($views)) { foreach ($views as $view) { ?> <tr> <td> <?php if ($view->active != 1) { ?> <span class="zendesk-view-empty"> <?php echo $view->title; ?> </span> <?php } else { ?> <a data-id="<?php echo $view->id; ?> " href="<?php echo admin_url(); ?> ?zendesk-tickets-change-view=<?php echo $view->id; ?> "> <?php echo $view->title; ?> </a> <?php } ?> </td> </tr> <?php } } else { // no views ?> <tr> <td><span class="description"><?php _e('There are no views available for this account.', 'zendesk'); ?> </span> </td> </tr> <?php } ?> </table> </div> <!-- Dashboard Widget Single View --> <div class="zendesk-tickets-widget-single" style="display: none;"> <p class="zendesk-heading"><?php _e('Viewing Ticket', 'zendesk'); ?> <span id="zendesk-ticket-title"></span> <span class="zendesk-heading-link">(<a class="zendesk-change-single-cancel" href="<?php echo admin_url(); ?> "><?php _e('back', 'zendesk'); ?> </a>)</span> </p> <div id="zendesk-ticket-details-placeholder"></div> </div> <!-- Dashboard Widget Bottom --> <br class="clear"/> <div class="zendesk-tickets-bottom"> <p> <a target="_blank" href="<?php echo trailingslashit($zendesk_support->zendesk_url); ?> " class="button"><?php _e('My Helpdesk', 'zendesk'); ?> </a> <?php _e('Logged in as', 'zendesk'); ?> <strong><?php echo $zendesk_support->zendesk_user['username']; ?> </strong> (<a href="?zendesk-logout=true"><?php _e('logout', 'zendesk'); ?> </a>) <a target="_blank" href="http://zendesk.com/?source=wordpress-plugin" class="powered-by-zendesk"><?php _e('powered by Zendesk', 'zendesk'); ?> </a> </p> </div> </div> <br class="clear"/> <?php }