/**
  * Ajax handler for Item Reports
  *
  * @return json|int
  */
 public function ajax_item_reports()
 {
     if (!isset($_REQUEST['gadwp_security_backend_item_reports']) || !wp_verify_nonce($_REQUEST['gadwp_security_backend_item_reports'], 'gadwp_backend_item_reports')) {
         wp_die(-30);
     }
     $from = $_REQUEST['from'];
     $to = $_REQUEST['to'];
     $query = $_REQUEST['query'];
     if (isset($_REQUEST['filter'])) {
         $filter_id = $_REQUEST['filter'];
     } else {
         $filter_id = false;
     }
     if (ob_get_length()) {
         ob_clean();
     }
     if (!GADWP_Tools::check_roles($this->gadwp->config->options['ga_dash_access_back']) || 0 == $this->gadwp->config->options['backend_item_reports']) {
         wp_die(-31);
     }
     if ($this->gadwp->config->options['ga_dash_token'] && $this->gadwp->config->options['ga_dash_tableid_jail'] && $from && $to) {
         if (null === $this->gadwp->gapi_controller) {
             $this->gadwp->gapi_controller = new GADWP_GAPI_Controller();
         }
     } else {
         wp_die(-24);
     }
     $projectId = $this->gadwp->config->options['ga_dash_tableid_jail'];
     $profile_info = GADWP_Tools::get_selected_profile($this->gadwp->config->options['ga_dash_profile_list'], $projectId);
     if (isset($profile_info[4])) {
         $this->gadwp->gapi_controller->timeshift = $profile_info[4];
     } else {
         $this->gadwp->gapi_controller->timeshift = (int) current_time('timestamp') - time();
     }
     if ($filter_id) {
         $uri_parts = explode('/', get_permalink($filter_id), 4);
         if (isset($uri_parts[3])) {
             $uri = '/' . $uri_parts[3];
         } else {
             wp_die(-25);
         }
         // allow URL correction before sending an API request
         $filter = apply_filters('gadwp_backenditem_uri', $uri);
         $lastchar = substr($filter, -1);
         if (isset($profile_info[6]) && $profile_info[6] && $lastchar == '/') {
             $filter = $filter . $profile_info[6];
         }
         // Encode URL
         $filter = rawurlencode(rawurldecode($filter));
     }
     $queries = explode(',', $query);
     $results = array();
     foreach ($queries as $value) {
         $results[] = $this->gadwp->gapi_controller->get($projectId, $value, $from, $to, $filter);
     }
     wp_send_json($results);
 }
Esempio n. 2
0
<?php

/**
 * Author: Alin Marcu
 * Author URI: https://deconf.com
 * License: GPLv2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 */
// Exit if accessed directly
if (!defined('ABSPATH')) {
    exit;
}
$profile = GADWP_Tools::get_selected_profile($this->gadwp->config->options['ga_dash_profile_list'], $this->gadwp->config->options['ga_dash_tableid_jail']);
?>
<script type="text/javascript">
  var _gaq = _gaq || [];
<?php 
if ($this->gadwp->config->options['ga_enhanced_links']) {
    ?>
  var pluginUrl = '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
  _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
<?php 
}
?>
  _gaq.push(['_setAccount', '<?php 
echo esc_html($profile[2]);
?>
']);
  _gaq.push(['_trackPageview']<?php 
if ($this->gadwp->config->options['ga_dash_anonim']) {
    ?>
Esempio n. 3
0
 private function get_plugin_options()
 {
     /*
      * Get plugin options
      */
     global $blog_id;
     if (!get_option('gadash_options')) {
         GADWP_Install::install();
     }
     $this->options = (array) json_decode(get_option('gadash_options'));
     // Maintain Compatibility
     $this->maintain_compatibility();
     // Handle Network Mode
     if (is_multisite()) {
         $get_network_options = get_site_option('gadash_network_options');
         $network_options = (array) json_decode($get_network_options);
         if (isset($network_options['ga_dash_network']) && $network_options['ga_dash_network']) {
             $network_options = (array) json_decode($get_network_options);
             if (!is_network_admin() && !empty($network_options['ga_dash_profile_list']) && isset($network_options['ga_dash_tableid_network']->{$blog_id})) {
                 $network_options['ga_dash_profile_list'] = array(0 => GADWP_Tools::get_selected_profile($network_options['ga_dash_profile_list'], $network_options['ga_dash_tableid_network']->{$blog_id}));
                 $network_options['ga_dash_tableid_jail'] = $network_options['ga_dash_profile_list'][0][1];
             }
             $this->options = array_merge($this->options, $network_options);
         }
     }
 }
    public static function general_settings_network()
    {
        $gadwp = GADWP();
        global $wp_version;
        if (!current_user_can('manage_network_options')) {
            return;
        }
        $options = self::update_options('network');
        /*
         * Include GAPI
         */
        echo '<div id="gapi-warning" class="updated"><p>' . __('Loading the required libraries. If this results in a blank screen or a fatal error, try this solution:', 'google-analytics-dashboard-for-wp') . ' <a href="https://deconf.com/google-analytics-dashboard-wordpress/?utm_source=gadwp_config&utm_medium=link&utm_content=general_screen&utm_campaign=gadwp">Library conflicts between WordPress plugins</a></p></div>';
        if (null === $gadwp->gapi_controller) {
            $gadwp->gapi_controller = new GADWP_GAPI_Controller();
        }
        echo '<script type="text/javascript">jQuery("#gapi-warning").hide()</script>';
        if (isset($_POST['ga_dash_code'])) {
            if (!stripos('x' . $_POST['ga_dash_code'], 'UA-', 1) == 1) {
                try {
                    $gadwp->gapi_controller->client->authenticate($_POST['ga_dash_code']);
                    $gadwp->config->options['ga_dash_token'] = $gadwp->gapi_controller->client->getAccessToken();
                    $gadwp->config->options['automatic_updates_minorversion'] = 1;
                    $gadwp->config->set_plugin_options(true);
                    $options = self::update_options('network');
                    $message = "<div class='updated'><p>" . __("Plugin authorization succeeded.", 'google-analytics-dashboard-for-wp') . "</p></div>";
                    if (is_multisite()) {
                        // Cleanup errors on the entire network
                        foreach (wp_get_sites(array('limit' => apply_filters('gadwp_sites_limit', 100))) as $blog) {
                            switch_to_blog($blog['blog_id']);
                            GADWP_Tools::delete_cache('gapi_errors');
                            restore_current_blog();
                        }
                    } else {
                        GADWP_Tools::delete_cache('gapi_errors');
                    }
                    if ($gadwp->config->options['ga_dash_token'] && $gadwp->gapi_controller->client->getAccessToken()) {
                        if (!empty($gadwp->config->options['ga_dash_profile_list'])) {
                            $profiles = $gadwp->config->options['ga_dash_profile_list'];
                        } else {
                            $profiles = $gadwp->gapi_controller->refresh_profiles();
                        }
                        if ($profiles) {
                            $gadwp->config->options['ga_dash_profile_list'] = $profiles;
                            if (isset($gadwp->config->options['ga_dash_tableid_jail']) && !$gadwp->config->options['ga_dash_tableid_jail']) {
                                $profile = GADWP_Tools::guess_default_domain($profiles);
                                $gadwp->config->options['ga_dash_tableid_jail'] = $profile;
                                $gadwp->config->options['ga_dash_tableid'] = $profile;
                            }
                            $gadwp->config->set_plugin_options(true);
                            $options = self::update_options('network');
                        }
                    }
                } catch (Google_IO_Exception $e) {
                    GADWP_Tools::set_cache('last_error', date('Y-m-d H:i:s') . ': ' . esc_html($e), $gadwp->gapi_controller->error_timeout);
                    return false;
                } catch (Google_Service_Exception $e) {
                    GADWP_Tools::set_cache('last_error', date('Y-m-d H:i:s') . ': ' . esc_html("(" . $e->getCode() . ") " . $e->getMessage()), $gadwp->gapi_controller->error_timeout);
                    GADWP_Tools::set_cache('gapi_errors', $e->getErrors(), $gadwp->gapi_controller->error_timeout);
                    return $e->getCode();
                } catch (Exception $e) {
                    GADWP_Tools::set_cache('last_error', date('Y-m-d H:i:s') . ': ' . esc_html($e) . "\nResponseHttpCode:" . $e->getCode(), $gadwp->gapi_controller->error_timeout);
                    $gadwp->gapi_controller->reset_token(false);
                }
            } else {
                $message = "<div class='error'><p>" . __("The access code is <strong>NOT</strong> your <strong>Tracking ID</strong> (UA-XXXXX-X). Try again, and use the red link to get your access code", 'google-analytics-dashboard-for-wp') . ".</p></div>";
            }
        }
        if (isset($_POST['Refresh'])) {
            if (isset($_POST['gadash_security']) && wp_verify_nonce($_POST['gadash_security'], 'gadash_form')) {
                $gadwp->config->options['ga_dash_profile_list'] = array();
                $message = "<div class='updated'><p>" . __("Properties refreshed.", 'google-analytics-dashboard-for-wp') . "</p></div>";
                $options = self::update_options('network');
                if ($gadwp->config->options['ga_dash_token'] && $gadwp->gapi_controller->client->getAccessToken()) {
                    if (!empty($gadwp->config->options['ga_dash_profile_list'])) {
                        $profiles = $gadwp->config->options['ga_dash_profile_list'];
                    } else {
                        $profiles = $gadwp->gapi_controller->refresh_profiles();
                    }
                    if ($profiles) {
                        $gadwp->config->options['ga_dash_profile_list'] = $profiles;
                        if (isset($gadwp->config->options['ga_dash_tableid_jail']) && !$gadwp->config->options['ga_dash_tableid_jail']) {
                            $profile = GADWP_Tools::guess_default_domain($profiles);
                            $gadwp->config->options['ga_dash_tableid_jail'] = $profile;
                            $gadwp->config->options['ga_dash_tableid'] = $profile;
                        }
                        $gadwp->config->set_plugin_options(true);
                        $options = self::update_options('network');
                    }
                }
            } else {
                $message = "<div class='error'><p>" . __("Cheating Huh?", 'google-analytics-dashboard-for-wp') . "</p></div>";
            }
        }
        if (isset($_POST['Clear'])) {
            if (isset($_POST['gadash_security']) && wp_verify_nonce($_POST['gadash_security'], 'gadash_form')) {
                GADWP_Tools::clear_cache();
                $message = "<div class='updated'><p>" . __("Cleared Cache.", 'google-analytics-dashboard-for-wp') . "</p></div>";
            } else {
                $message = "<div class='error'><p>" . __("Cheating Huh?", 'google-analytics-dashboard-for-wp') . "</p></div>";
            }
        }
        if (isset($_POST['Reset'])) {
            if (isset($_POST['gadash_security']) && wp_verify_nonce($_POST['gadash_security'], 'gadash_form')) {
                $gadwp->gapi_controller->reset_token(true);
                GADWP_Tools::clear_cache();
                $message = "<div class='updated'><p>" . __("Token Reseted and Revoked.", 'google-analytics-dashboard-for-wp') . "</p></div>";
                $options = self::update_options('Reset');
            } else {
                $message = "<div class='error'><p>" . __("Cheating Huh?", 'google-analytics-dashboard-for-wp') . "</p></div>";
            }
        }
        if (isset($_POST['options']['ga_dash_hidden']) && !isset($_POST['Clear']) && !isset($_POST['Reset']) && !isset($_POST['Refresh'])) {
            $message = "<div class='updated'><p>" . __("Settings saved.", 'google-analytics-dashboard-for-wp') . "</p></div>";
            if (!(isset($_POST['gadash_security']) && wp_verify_nonce($_POST['gadash_security'], 'gadash_form'))) {
                $message = "<div class='error'><p>" . __("Cheating Huh?", 'google-analytics-dashboard-for-wp') . "</p></div>";
            }
        }
        if (isset($_POST['Hide'])) {
            if (isset($_POST['gadash_security']) && wp_verify_nonce($_POST['gadash_security'], 'gadash_form')) {
                $message = "<div class='updated'><p>" . __("All other domains/properties were removed.", 'google-analytics-dashboard-for-wp') . "</p></div>";
                $lock_profile = GADWP_Tools::get_selected_profile($gadwp->config->options['ga_dash_profile_list'], $gadwp->config->options['ga_dash_tableid_jail']);
                $gadwp->config->options['ga_dash_profile_list'] = array($lock_profile);
                $options = self::update_options('network');
            } else {
                $message = "<div class='error'><p>" . __("Cheating Huh?", 'google-analytics-dashboard-for-wp') . "</p></div>";
            }
        }
        ?>
	<div class="wrap">
		<?php 
        echo "<h2>" . __("Google Analytics Settings", 'google-analytics-dashboard-for-wp') . "</h2>";
        ?>
<hr>
                                        </div>
                                        <div id="poststuff" class="gadwp">
                                            <div id="post-body" class="metabox-holder columns-2">
                                                <div id="post-body-content">
                                                    <div class="settings-wrapper">
                                                        <div class="inside">
						<?php 
        if ($gadwp->gapi_controller->gapi_errors_handler() || GADWP_Tools::get_cache('last_error')) {
            $message = sprintf('<div class="error"><p>%s</p></div>', sprintf(__('Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="%1$s">%2$s</a>', menu_page_url('gadash_errors_debugging', false), __('Errors & Debug', 'google-analytics-dashboard-for-wp')), sprintf('<a href="%1$s">%2$s</a>', menu_page_url('gadash_settings', false), __('authorize the plugin', 'google-analytics-dashboard-for-wp'))));
        }
        if (isset($_POST['Authorize'])) {
            GADWP_Tools::clear_cache();
            $gadwp->gapi_controller->token_request();
            echo "<div class='updated'><p>" . __("Use the red link (see below) to generate and get your access code!", 'google-analytics-dashboard-for-wp') . "</p></div>";
        } else {
            if (isset($message)) {
                echo $message;
            }
            ?>
						<form name="ga_dash_form" method="post" action="<?php 
            echo esc_url($_SERVER['REQUEST_URI']);
            ?>
">
                                                                <input type="hidden" name="options[ga_dash_hidden]" value="Y">
							<?php 
            wp_nonce_field('gadash_form', 'gadash_security');
            ?>
							<table class="gadwp-settings-options">
                                                                    <tr>
                                                                        <td colspan="2"><?php 
            echo "<h2>" . __("Network Setup", 'google-analytics-dashboard-for-wp') . "</h2>";
            ?>
</td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2" class="gadwp-settings-title">
                                                                            <div class="button-primary gadwp-settings-switchoo">
                                                                                <input type="checkbox" name="options[ga_dash_network]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_dash_network" <?php 
            checked($options['ga_dash_network'], 1);
            ?>
 onchange="this.form.submit()"> <label class="gadwp-settings-switchoo-label" for="ga_dash_network">
                                                                                    <div class="gadwp-settings-switchoo-inner"></div>
                                                                                    <div class="gadwp-settings-switchoo-switch"></div>
                                                                                </label>
                                                                            </div>
                                                                            <div class="switch-desc"><?php 
            echo " " . __("use a single Google Analytics account for the entire network", 'google-analytics-dashboard-for-wp');
            ?>
</div>
                                                                        </td>
                                                                    </tr>
								<?php 
            if ($options['ga_dash_network']) {
                //Network Mode check
                ?>
								<tr>
                                                                        <td colspan="2"><hr></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><?php 
                echo "<h2>" . __("Plugin Authorization", 'google-analytics-dashboard-for-wp') . "</h2>";
                ?>
</td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2" class="gadwp-settings-info">
							                                                 <?php 
                printf(__('You should watch the %1$s and read this %2$s before proceeding to authorization. This plugin requires a properly configured Google Analytics account!', 'google-analytics-dashboard-for-wp'), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://deconf.com/google-analytics-dashboard-wordpress/?utm_source=gadwp_config&utm_medium=link&utm_content=top_video&utm_campaign=gadwp', __("video", 'google-analytics-dashboard-for-wp')), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://deconf.com/google-analytics-dashboard-wordpress/?utm_source=gadwp_config&utm_medium=link&utm_content=top_tutorial&utm_campaign=gadwp', __("tutorial", 'google-analytics-dashboard-for-wp')));
                ?>
							                                             </td>
                                                                    </tr>
							<?php 
                if (!$options['ga_dash_token'] || $options['ga_dash_userapi']) {
                    ?>
							                                        <tr>
                                                                        <td colspan="2" class="gadwp-settings-info"><input name="options[ga_dash_userapi]" type="checkbox" id="ga_dash_userapi" value="1" <?php 
                    checked($options['ga_dash_userapi'], 1);
                    ?>
 onchange="this.form.submit()" /><?php 
                    echo " " . __("use your own API Project credentials", 'google-analytics-dashboard-for-wp');
                    ?>
								                                        </td>
                                                                    </tr>
							<?php 
                }
                if ($options['ga_dash_userapi']) {
                    ?>
							                                        <tr>
                                                                        <td class="gadwp-settings-title"><label for="options[ga_dash_apikey]"><?php 
                    _e("API Key:", 'google-analytics-dashboard-for-wp');
                    ?>
</label></td>
                                                                        <td><input type="text" name="options[ga_dash_apikey]" value="<?php 
                    echo esc_attr($options['ga_dash_apikey']);
                    ?>
" size="40" required="required"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="gadwp-settings-title"><label for="options[ga_dash_clientid]"><?php 
                    _e("Client ID:", 'google-analytics-dashboard-for-wp');
                    ?>
</label></td>
                                                                        <td><input type="text" name="options[ga_dash_clientid]" value="<?php 
                    echo esc_attr($options['ga_dash_clientid']);
                    ?>
" size="40" required="required"></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="gadwp-settings-title"><label for="options[ga_dash_clientsecret]"><?php 
                    _e("Client Secret:", 'google-analytics-dashboard-for-wp');
                    ?>
</label></td>
                                                                        <td><input type="text" name="options[ga_dash_clientsecret]" value="<?php 
                    echo esc_attr($options['ga_dash_clientsecret']);
                    ?>
" size="40" required="required"> <input type="hidden" name="options[ga_dash_hidden]" value="Y">
										<?php 
                    wp_nonce_field('gadash_form', 'gadash_security');
                    ?>
									</td>
                                                                    </tr>
							<?php 
                }
                if ($options['ga_dash_token']) {
                    ?>
						<tr>
                                                                        <td colspan="2"><input type="submit" name="Reset" class="button button-secondary" value="<?php 
                    _e("Clear Authorization", 'google-analytics-dashboard-for-wp');
                    ?>
" /> <input type="submit" name="Clear" class="button button-secondary" value="<?php 
                    _e("Clear Cache", 'google-analytics-dashboard-for-wp');
                    ?>
" /> <input type="submit" name="Refresh" class="button button-secondary" value="<?php 
                    _e("Refresh Properties", 'google-analytics-dashboard-for-wp');
                    ?>
" /></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><hr></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><?php 
                    echo "<h2>" . __("Properties/Views Settings", 'google-analytics-dashboard-for-wp') . "</h2>";
                    ?>
</td>
                                                                    </tr>
								<?php 
                    if (isset($options['ga_dash_tableid_network'])) {
                        $options['ga_dash_tableid_network'] = json_decode(json_encode($options['ga_dash_tableid_network']), false);
                    }
                    foreach (wp_get_sites(array('limit' => apply_filters('gadwp_sites_limit', 100))) as $blog) {
                        ?>
							                                         <tr>
                                                                        <td class="gadwp-settings-title-s"><label for="ga_dash_tableid_network"><?php 
                        echo '<strong>' . $blog['domain'] . $blog['path'] . '</strong>: ';
                        ?>
</label></td>
                                                                        <td><select id="ga_dash_tableid_network" <?php 
                        disabled(!empty($options['ga_dash_profile_list']), false);
                        ?>
 name="options[ga_dash_tableid_network][<?php 
                        echo $blog['blog_id'];
                        ?>
]">
									<?php 
                        if (!empty($options['ga_dash_profile_list'])) {
                            foreach ($options['ga_dash_profile_list'] as $items) {
                                if ($items[3]) {
                                    echo '<option value="' . esc_attr($items[1]) . '" ' . selected($items[1], isset($options['ga_dash_tableid_network']->{$blog}['blog_id']) ? $options['ga_dash_tableid_network']->{$blog}['blog_id'] : '');
                                    echo ' title="' . __("View Name:", 'google-analytics-dashboard-for-wp') . ' ' . esc_attr($items[0]) . '">' . esc_html(GADWP_Tools::strip_protocol($items[3])) . ' &#8658; ' . esc_attr($items[0]) . '</option>';
                                }
                            }
                        } else {
                            echo '<option value="">' . __("Property not found", 'google-analytics-dashboard-for-wp') . '</option>';
                        }
                        ?>
    								                                    </select> <br /></td>
                                                                    </tr>
							<?php 
                    }
                    ?>
                    												<tr>
                                                                        <td colspan="2"><?php 
                    echo "<h2>" . __("Automatic Updates", 'google-analytics-dashboard-for-wp') . "</h2>";
                    ?>
</td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2" class="gadwp-settings-title">
                                                                            <div class="button-primary gadwp-settings-switchoo">
                                                                                <input type="checkbox" name="options[automatic_updates_minorversion]" value="1" class="gadwp-settings-switchoo-checkbox" id="automatic_updates_minorversion" <?php 
                    checked($options['automatic_updates_minorversion'], 1);
                    ?>
> <label class="gadwp-settings-switchoo-label" for="automatic_updates_minorversion">
                                                                                    <div class="gadwp-settings-switchoo-inner"></div>
                                                                                    <div class="gadwp-settings-switchoo-switch"></div>
                                                                                </label>
                                                                            </div>
                                                                            <div class="switch-desc"><?php 
                    echo " " . __("automatic updates for minor versions (security and maintenance releases only)", 'google-analytics-dashboard-for-wp');
                    ?>
</div>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><hr><?php 
                    echo "<h2>" . __("Exclude Tracking", 'google-analytics-dashboard-for-wp') . "</h2>";
                    ?>
</td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2" class="gadwp-settings-title">
                                                                            <div class="button-primary gadwp-settings-switchoo">
                                                                                <input type="checkbox" name="options[ga_dash_excludesa]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_dash_excludesa"<?php 
                    checked($options['ga_dash_excludesa'], 1);
                    ?>
"> <label class="gadwp-settings-switchoo-label" for="ga_dash_excludesa">
                                                                                    <div class="gadwp-settings-switchoo-inner"></div>
                                                                                    <div class="gadwp-settings-switchoo-switch"></div>
                                                                                </label>
                                                                            </div>
                                                                            <div class="switch-desc"><?php 
                    echo " " . __("exclude Super Admin tracking for the entire network", 'google-analytics-dashboard-for-wp');
                    ?>
</div>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><hr></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2" class="submit"><input type="submit" name="Submit" class="button button-primary" value="<?php 
                    _e('Save Changes', 'google-analytics-dashboard-for-wp');
                    ?>
" /></td>
                                                                    </tr>
			<?php 
                } else {
                    ?>
								                                    <tr>
                                                                        <td colspan="2"><hr></td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td colspan="2"><input type="submit" name="Authorize" class="button button-secondary" id="authorize" value="<?php 
                    _e("Authorize Plugin", 'google-analytics-dashboard-for-wp');
                    ?>
" /> <input type="submit" name="Clear" class="button button-secondary" value="<?php 
                    _e("Clear Cache", 'google-analytics-dashboard-for-wp');
                    ?>
" /></td>
                                                                    </tr>
								   <?php 
                }
                //Network Mode check
                ?>
									                                <tr>
                                                                        <td colspan="2"><hr></td>
                                                                    </tr>
                                                                </table>
                                                            </form>
				<?php 
                self::output_sidebar();
                return;
            }
            ?>
						</table>
                                                            </form>
	<?php 
        }
        self::output_sidebar();
    }
 /**
  * Ajax handler for getting analytics data for frontend Widget
  *
  * @return string|int
  */
 public function ajax_frontend_widget()
 {
     if (!isset($_POST['gadwp_number']) || !isset($_POST['gadwp_optionname']) || !is_active_widget(false, false, 'gadwp-frontwidget-report')) {
         wp_die(-30);
     }
     $widget_index = $_POST['gadwp_number'];
     $option_name = $_POST['gadwp_optionname'];
     $options = get_option($option_name);
     if (isset($options[$widget_index])) {
         $instance = $options[$widget_index];
     } else {
         wp_die(-32);
     }
     switch ($instance['period']) {
         // make sure we have a valid request
         case '7daysAgo':
             $period = '7daysAgo';
             break;
         case '14daysAgo':
             $period = '14daysAgo';
             break;
         default:
             $period = '30daysAgo';
             break;
     }
     if (ob_get_length()) {
         ob_clean();
     }
     if ($this->gadwp->config->options['ga_dash_token'] && $this->gadwp->config->options['ga_dash_tableid_jail']) {
         if (null === $this->gadwp->gapi_controller) {
             $this->gadwp->gapi_controller = new GADWP_GAPI_Controller();
         }
     } else {
         wp_die(-24);
     }
     $projectId = $this->gadwp->config->options['ga_dash_tableid_jail'];
     $profile_info = GADWP_Tools::get_selected_profile($this->gadwp->config->options['ga_dash_profile_list'], $projectId);
     if (isset($profile_info[4])) {
         $this->gadwp->gapi_controller->timeshift = $profile_info[4];
     } else {
         $this->gadwp->gapi_controller->timeshift = (int) current_time('timestamp') - time();
     }
     wp_send_json($this->gadwp->gapi_controller->frontend_widget_stats($projectId, $period, (int) $instance['anonim']));
 }
Esempio n. 6
0
 /**
  * Ajax handler for Admin Widget
  *
  * @return json|int
  */
 public function ajax_widget_reports()
 {
     if (!isset($_REQUEST['gadash_security_widget_reports']) || !wp_verify_nonce($_REQUEST['gadash_security_widget_reports'], 'gadash_get_widgetreports')) {
         wp_die(-30);
     }
     $projectId = $_REQUEST['projectId'];
     $from = $_REQUEST['from'];
     $to = $_REQUEST['to'];
     $query = $_REQUEST['query'];
     if (ob_get_length()) {
         ob_clean();
     }
     if (!GADWP_Tools::check_roles($this->gadwp->config->options['ga_dash_access_back']) || 0 == $this->gadwp->config->options['dashboard_widget']) {
         wp_die(-31);
     }
     if ($this->gadwp->config->options['ga_dash_token'] && $projectId && $from && $to) {
         if (null === $this->gadwp->gapi_controller) {
             $this->gadwp->gapi_controller = new GADWP_GAPI_Controller();
         }
     } else {
         wp_die(-24);
     }
     $profile_info = GADWP_Tools::get_selected_profile($this->gadwp->config->options['ga_dash_profile_list'], $projectId);
     if (isset($profile_info[4])) {
         $this->gadwp->gapi_controller->timeshift = $profile_info[4];
     } else {
         $this->gadwp->gapi_controller->timeshift = (int) current_time('timestamp') - time();
     }
     $queries = explode(',', $query);
     $results = array();
     foreach ($queries as $value) {
         $results[] = $this->gadwp->gapi_controller->get($projectId, $value, $from, $to);
     }
     wp_send_json($results);
 }