widgets.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Author: ExactMetrics team
  4. * Author URI: https://exactmetrics.com
  5. * Copyright 2018 ExactMetrics team
  6. * License: GPLv2 or later
  7. * License URI: http://www.gnu.org/licenses/gpl-2.0.html
  8. */
  9. // Exit if accessed directly
  10. if ( ! defined( 'ABSPATH' ) )
  11. exit();
  12. if ( ! class_exists( 'GADWP_Backend_Widgets' ) ) {
  13. class GADWP_Backend_Widgets {
  14. private $gadwp;
  15. public function __construct() {
  16. $this->gadwp = GADWP();
  17. if ( GADWP_Tools::check_roles( $this->gadwp->config->options['access_back'] ) && ( 1 == $this->gadwp->config->options['dashboard_widget'] ) ) {
  18. add_action( 'wp_dashboard_setup', array( $this, 'add_widget' ) );
  19. }
  20. }
  21. public function add_widget() {
  22. wp_add_dashboard_widget( 'gadwp-widget', __( "Google Analytics Dashboard", 'google-analytics-dashboard-for-wp' ), array( $this, 'dashboard_widget' ), $control_callback = null );
  23. }
  24. public function dashboard_widget() {
  25. $projectId = 0;
  26. if ( empty( $this->gadwp->config->options['token'] ) ) {
  27. echo '<p>' . __( "This plugin needs an authorization:", 'google-analytics-dashboard-for-wp' ) . '</p><form action="' . menu_page_url( 'gadwp_settings', false ) . '" method="POST">' . get_submit_button( __( "Authorize Plugin", 'google-analytics-dashboard-for-wp' ), 'secondary' ) . '</form>';
  28. return;
  29. }
  30. if ( current_user_can( 'manage_options' ) ) {
  31. if ( $this->gadwp->config->options['tableid_jail'] ) {
  32. $projectId = $this->gadwp->config->options['tableid_jail'];
  33. } else {
  34. echo '<p>' . __( "An admin should asign a default Google Analytics Profile.", 'google-analytics-dashboard-for-wp' ) . '</p><form action="' . menu_page_url( 'gadwp_settings', false ) . '" method="POST">' . get_submit_button( __( "Select Domain", 'google-analytics-dashboard-for-wp' ), 'secondary' ) . '</form>';
  35. return;
  36. }
  37. } else {
  38. if ( $this->gadwp->config->options['tableid_jail'] ) {
  39. $projectId = $this->gadwp->config->options['tableid_jail'];
  40. } else {
  41. echo '<p>' . __( "An admin should asign a default Google Analytics Profile.", 'google-analytics-dashboard-for-wp' ) . '</p><form action="' . menu_page_url( 'gadwp_settings', false ) . '" method="POST">' . get_submit_button( __( "Select Domain", 'google-analytics-dashboard-for-wp' ), 'secondary' ) . '</form>';
  42. return;
  43. }
  44. }
  45. if ( ! ( $projectId ) ) {
  46. echo '<p>' . __( "Something went wrong while retrieving property data. You need to create and properly configure a Google Analytics account:", 'google-analytics-dashboard-for-wp' ) . '</p> <form action="https://exactmetrics.com/how-to-set-up-google-analytics-on-your-website/" method="POST">' . get_submit_button( __( "Find out more!", 'google-analytics-dashboard-for-wp' ), 'secondary' ) . '</form>';
  47. return;
  48. }
  49. ?>
  50. <div id="gadwp-window-1"></div>
  51. <?php
  52. }
  53. }
  54. }