コード例 #1
0
 function admin_handle_other_options($info_message = '')
 {
     if (isset($_POST['SubmitOptions'])) {
         if (function_exists('current_user_can') && !current_user_can('manage_options')) {
             die(__('Cheatin’ uh?'));
         }
         @SimpleFileCache::clearCache();
         if (isset($_POST['ga_forget_pass'])) {
             delete_option('gad_login_pass');
         }
         if (isset($_POST['ga_forget_all'])) {
             delete_option('gad_oauth_token');
             delete_option('gad_oauth_secret');
             delete_option('gad_account_id');
             delete_option('gad_display_level');
             delete_option('gad_cache_timeout');
             delete_option('gad_goal_one');
             delete_option('gad_goal_two');
             delete_option('gad_goal_three');
             delete_option('gad_goal_four');
             delete_option('gad_login_email');
             delete_option('gad_login_pass');
             delete_option('gad_auth_token');
             delete_option('gad_disable_post_stats');
             $this->admin_plugin_options('Everything Reset');
             return;
         }
         delete_option('gad_account_id');
         add_option('gad_account_id', $_POST['ga_account_id']);
         if (isset($_POST['ga_forget_auth'])) {
             delete_option('gad_oauth_token');
             delete_option('gad_oauth_secret');
             delete_option('gad_auth_token');
             $this->admin_plugin_options('Auth Reset');
             return;
         }
         if (isset($_POST['ga_display_level'])) {
             delete_option('gad_display_level');
             if ($_POST['ga_display_level'] != '') {
                 add_option('gad_display_level', $_POST['ga_display_level']);
             }
         }
         if (isset($_POST['ga_disable_post_stats'])) {
             add_option('gad_disable_post_stats', 'true');
         } else {
             delete_option('gad_disable_post_stats');
         }
         if (isset($_POST['ga_cache_timeout'])) {
             delete_option('gad_cache_timeout');
             if ($_POST['ga_cache_timeout'] != '') {
                 add_option('gad_cache_timeout', $_POST['ga_cache_timeout']);
             }
         }
         delete_option('gad_goal_one');
         delete_option('gad_goal_two');
         delete_option('gad_goal_three');
         delete_option('gad_goal_four');
         if (isset($_POST['ga_goal_one'])) {
             if ($_POST['ga_goal_one'] != '') {
                 add_option('gad_goal_one', $_POST['ga_goal_one']);
             }
         }
         if (isset($_POST['ga_goal_two'])) {
             if ($_POST['ga_goal_two'] != '') {
                 add_option('gad_goal_two', $_POST['ga_goal_two']);
             }
         }
         if (isset($_POST['ga_goal_three'])) {
             if ($_POST['ga_goal_three'] != '') {
                 add_option('gad_goal_three', $_POST['ga_goal_three']);
             }
         }
         if (isset($_POST['ga_goal_four'])) {
             if ($_POST['ga_goal_four'] != '') {
                 add_option('gad_goal_four', $_POST['ga_goal_four']);
             }
         }
         $info_message = 'Options Saved';
     }
     if (get_option('gad_auth_token') == 'gad_see_oauth') {
         $ga = new GALib('oauth', NULL, get_option('gad_oauth_token'), get_option('gad_oauth_secret'), '', get_option('gad_cache_timeout') !== false ? get_option('gad_cache_timeout') : 60);
     } else {
         $ga = new GALib('client', get_option('gad_auth_token'), NULL, NULL, '', get_option('gad_cache_timeout') !== false ? get_option('gad_cache_timeout') : 60);
     }
     $account_hash = $ga->account_query();
     if ($ga->isError()) {
         if ($ga->isAuthError()) {
             delete_option('gad_auth_token');
             // this is removed so login will happen again
             $this->admin_plugin_options();
             return;
         } else {
             $ui = new GADAdminOptionsUI();
             $ui->error_message = 'Error gathering analytics data from Google: ' . strip_tags($ga->getErrorMessage());
             $ui->display_admin_halting_error();
             return;
         }
     }
     $ui = new GADAdminOptionsUI();
     $ui->info_message = $info_message;
     $ui->error_message = '';
     $ui->display_admin_handle_other_options($account_hash);
 }