/** * Checks if the WordPress API is a valid method for selecting an account * * @return a list of accounts if available, false if none available **/ function ga_get_analytics_accounts() { $accounts = array(); # Get the class for interacting with the Google Analytics require_once 'class.analytics.stats.php'; # Create a new Gdata call if (isset($_POST['token']) && $_POST['token'] != '') { $stats = new GoogleAnalyticsStats($_POST['token']); } elseif (trim(get_option('ga_google_token')) != '') { $stats = new GoogleAnalyticsStats(); } else { return false; } # Check if Google sucessfully logged in if (!$stats->checkLogin()) { return false; } # Get a list of accounts $accounts = $stats->getAnalyticsAccounts(); # Return the account array if there are accounts if (count($accounts) > 0) { return $accounts; } else { return false; } }
function form($instance) { //Defaults $instance = nxt_parse_args((array) $instance, array('title' => '', 'account' => '', 'timeFrame' => '1', 'pageBg' => 'fff', 'widgetBg' => '999', 'innerBg' => 'fff', 'font' => '333', 'line1' => 'Unique', 'line2' => 'Visitors')); $title = htmlspecialchars($instance['title']); $acnt = htmlspecialchars($instance['account']); $timeFrame = htmlspecialchars($instance['timeFrame']); $pageBg = htmlspecialchars($instance['pageBg']); $widgetBg = htmlspecialchars($instance['widgetBg']); $innerBg = htmlspecialchars($instance['innerBg']); $font = htmlspecialchars($instance['font']); $line1 = htmlspecialchars($instance['line1']); $line2 = htmlspecialchars($instance['line2']); $accounts = array(); # Get the current memory limit $current_mem_limit = substr(ini_get('memory_limit'), 0, -1); # Check if this limit is less than 96M, if so, increase it if ($current_mem_limit < 96 || $current_mem_limit == '') { if (function_exists('memory_get_usage')) { @ini_set('memory_limit', '96M'); } } # Get the class for interacting with the Google Analytics require_once 'class.analytics.stats.php'; # Create a new Gdata call $stats = new GoogleAnalyticsStats(); # Check if Google sucessfully logged in $login = $stats->checkLogin(); # Get a list of accounts $accounts = $stats->getAnalyticsAccounts(); # Output the options echo '<p style="text-align:right;"><label for="' . $this->get_field_name('title') . '">' . __('Title', 'google-analyticator') . ': <input style="width: 250px;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>'; # The list of accounts echo '<p style="text-align:right;"><label for="' . $this->get_field_name('account') . '">' . __('Analytics account', 'google-analyticator') . ': '; echo '<select name="' . $this->get_field_name('account') . '" id="' . $this->get_field_id('account') . '" style="margin-top: -3px; margin-bottom: 10px;">'; if (count($accounts) > 0) { foreach ($accounts as $account) { $select = $acnt == $account['id'] ? ' selected="selected"' : ''; echo '<option value="' . $account['id'] . '"' . $select . '>' . $account['title'] . '</option>'; } } elseif ($login == false) { echo '<option value="">' . __('Authenticate on settings page.', 'google-analyticator') . '</option>'; } else { echo '<option value="">' . __('No Analytics accounts available.', 'google-analyticator') . '</option>'; } echo '</select></label></p>'; # Time frame echo '<p style="text-align:right;"><label for="' . $this->get_field_name('timeFrame') . '">' . __('Days of data to get', 'google-analyticator') . ': <input style="width: 150px;" id="' . $this->get_field_id('timeFrame') . '" name="' . $this->get_field_name('timeFrame') . '" type="text" value="' . $timeFrame . '" /></label></p>'; # Page background echo '<p style="text-align:right;"><label for="' . $this->get_field_name('pageBg') . '">' . __('Page background', 'google-analyticator') . ': <input style="width: 150px;" id="' . $this->get_field_id('pageBg') . '" name="' . $this->get_field_name('pageBg') . '" type="text" value="' . $pageBg . '" /></label></p>'; # Widget background echo '<p style="text-align:right;"><label for="' . $this->get_field_name('widgetBg') . '">' . __('Widget background', 'google-analyticator') . ': <input style="width: 150px;" id="' . $this->get_field_id('widgetBg') . '" name="' . $this->get_field_name('widgetBg') . '" type="text" value="' . $widgetBg . '" /></label></p>'; # Inner background echo '<p style="text-align:right;"><label for="' . $this->get_field_name('innerBg') . '">' . __('Inner background', 'google-analyticator') . ': <input style="width: 150px;" id="' . $this->get_field_id('innerBg') . '" name="' . $this->get_field_name('innerBg') . '" type="text" value="' . $innerBg . '" /></label></p>'; # Font color echo '<p style="text-align:right;"><label for="' . $this->get_field_name('font') . '">' . __('Font color', 'google-analyticator') . ': <input style="width: 150px;" id="' . $this->get_field_id('font') . '" name="' . $this->get_field_name('font') . '" type="text" value="' . $font . '" /></label></p>'; # Text line 1 echo '<p style="text-align:right;"><label for="' . $this->get_field_name('line1') . '">' . __('Line 1 text', 'google-analyticator') . ': <input style="width: 200px;" id="' . $this->get_field_id('line1') . '" name="' . $this->get_field_name('line1') . '" type="text" value="' . $line1 . '" /></label></p>'; # Text line 2 echo '<p style="text-align:right;"><label for="' . $this->get_field_name('line2') . '">' . __('Line 2 text', 'google-analyticator') . ': <input style="width: 200px;" id="' . $this->get_field_id('line2') . '" name="' . $this->get_field_name('line2') . '" type="text" value="' . $line2 . '" /></label></p>'; }