detect_mobile(); } } } function check_availability_callback() { $subdomain = $_POST['subdomain']; if (!class_exists('AudienccAPI')) { include_once(dirname(__FILE__). '/php/AudienccAPI.class.php'); } $api = new AudienccAPI(); $response = $api->check_availability($subdomain); $response = json_decode($response); $available = $response->subdomain->available; // This assumes that the api return 1 instead of true if ($available == "1") { die(' - (Available)'); } else { die (' - (Already taken. Choose another)'); } } /** * Register the settings page */ function register_settings_page() { $page = add_options_page( __('WP Audiencc', 'wp-audiencc'), __('WP Audiencc', 'wp-audiencc'), 8, 'wp-audiencc', array(&$this, 'settings_page') ); /* Using registered $page handle to hook script load */ add_action('admin_print_scripts-' . $page, array(&$this, 'add_script')); } function add_script() { wp_enqueue_script('wp-audiencc', plugins_url('js/wp-audiencc.js', __FILE__), array('jquery'), '1.0'); } /** * Embed code in header */ function add_embed_code() { $options = get_option('audiencc-options'); $domain_ownership_token = $options['domain_ownership_token']; echo ""; } function add_toolbar_code() { $options = get_option('audiencc-options'); if ($options['toolbar'] == "true") { $toolbar_url = $options['toolbar_url']; echo ""; } } /** * add options */ function add_settings() { // Register options register_setting( 'wp-audiencc', 'audiencc-options', array(&$this, 'validate_options')); } /** * Validate Options * * @param $input * @return */ function validate_options($input) { $old_options = get_option('audiencc-options'); if (isset($_POST['wp-audiencc-link'])) { // Handle Login $login_username = $input['login-username']; $login_password = $input['login-password']; if (!class_exists('AudienccAPI')) { include_once(dirname(__FILE__). '/php/AudienccAPI.class.php'); } $api = new AudienccAPI($login_username, $login_password); $account_info = $api->get_account_data(); $account_info = json_decode($account_info); if ($api->errorMessage != '') { $input['linked'] = 'false'; $input['linked-username'] = ''; if ($api->errorCode == '401') { $input['error_msg'] = 'Username and password is not correct.'; } else { $input['error_msg'] = $api->errorMessage; } } else { $input['linked'] = 'true'; $input['linked-username'] = $login_username; $input['mobile_url'] = $account_info->account->mobile_url; $input['toolbar_url'] = $account_info->account->toolbar_url; $input['domain_ownership_token'] = $account_info->account->domain_ownership_token; $input['twitter'] = $account_info->account->twitter_username; } } else if (isset ($_POST['wp-audiencc-enable'])) { $input['toolbar'] = ($input['toolbar'] == 'true') ? 'true' :'false'; $input['auto-detect'] = ($input['auto-detect'] == 'true') ? 'true' :'false'; $input['linked'] = $old_options['linked']; $input['linked-username'] = $old_options['linked-username']; $input['mobile_url'] = $old_options['mobile_url']; $input['toolbar_url'] = $old_options['toolbar_url']; $input['domain_ownership_token'] = $old_options['domain_ownership_token']; } else if (isset ($_POST['wp-audiencc-create'])) { $account_info = array( 'account[name]' => $input['name'], 'account[subdomain]' => $input['subdomain'], 'account[url]' => get_bloginfo('url'), 'account[feed_url]' => $input['feed-url'], 'account[twitter_username]' => $input['twitter'], 'account[password]' => $input['password'], 'account[email]' => $input['email'], 'account[description]' => $input['description'] ); if (!class_exists('AudienccAPI')) { include_once(dirname(__FILE__). '/php/AudienccAPI.class.php'); } $api = new AudienccAPI(); $new_account = $api->create_account($account_info); $new_account = json_decode($new_account); if ($api->errorMessage != '') { $input['linked'] = 'false'; $input['linked-username'] = ''; // $input['error_msg'] = __('There was some problem in creating your account.', 'wp-audiencc'); $input['error_msg'] = $api->errorMessage; // } } else { $input['linked'] = 'true'; $input['linked-username'] = $account_info->account->email; $input['mobile_url'] = $account_info->account->mobile_url; $input['toolbar_url'] = $account_info->account->toolbar_url; $input['domain_ownership_token'] = $account_info->account->domain_ownership_token; $input['twitter'] = $account_info->account->twitter_username; } } else if (isset($_POST['wp-audiencc-change'])) { $input['linked'] = $old_options['linked']; $input['linked-username'] = $old_options['linked-username']; $input['mobile_url'] = $old_options['mobile_url']; $input['toolbar_url'] = $old_options['toolbar_url']; $input['domain_ownership_token'] = $old_options['domain_ownership_token']; $username = $old_options['linked-username']; $password = $input['password']; $input['password'] = ''; $account_info = array( 'account[name]' => $input['name'], 'account[feed_url]' => $input['feed-url'], 'account[twitter_username]' => $input['twitter'], 'account[password]' => $input['password'], 'account[description]' => $input['description'], '_method' => 'put' ); if (!class_exists('AudienccAPI')) { include_once(dirname(__FILE__). '/php/AudienccAPI.class.php'); } $api = new AudienccAPI($username, $password); $new_values = $api->update_account($account_info); $new_values = json_decode($new_values); if ($api->errorMessage != '') { $input['linked'] = 'false'; $input['linked-username'] = ''; // $input['error_msg'] = __('There was some problem in creating your account.', 'wp-audiencc'); $input['error_msg'] = $api->errorMessage; // } } else { $input['name'] = $new_values->account->name; $input['feed-url'] = $new_values->account->feed_url; $input['twitter'] = $new_values->account->twitter_username; $input['description'] = $new_values->account->description; } } return $input; } /** * admin notices */ function show_messages() { $option = get_option('audiencc-options'); if ($option['error_msg'] != '') { echo "" . $option['error_msg'] .""; $option['error_msg'] = ''; update_option('audiencc-options', $option); } } /** * Dipslay the Settings page */ function settings_page() { ?> /> /> How can we improve? We have built Audiencc with your feedback. Please help us make this awesome: Feedback $links * @return */ function add_action_links( $links ) { // Add a link to this plugin's settings page $settings_link = '' . __("Settings", 'wp-audiencc') . ''; array_unshift( $links, $settings_link ); return $links; } /** * Adds Footer links. Based on http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/ */ function add_footer_links() { $plugin_data = get_plugin_data( __FILE__ ); printf('%1$s ' . __("plugin", 'wp-audiencc') .' | ' . __("Version", 'wp-audiencc') . ' %2$s | '. __('by', 'wp-audiencc') . ' %3$s', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']); } /** * Detects mobile browser version. Adpated from wptouch * * @param $query */ function detect_mobile($query = '') { $container = $_SERVER['HTTP_USER_AGENT']; // The below prints out the user agent array. Uncomment to see it shown on the page. // Add whatever user agents you want here to the array if you want to make this show on another device. // No guarantees it'll look pretty, though! $useragents = array( "iphone", // Apple iPhone "ipod", // Apple iPod touch "aspen", // iPhone simulator "dream", // Pre 1.5 Android "android", // 1.5+ Android "cupcake", // 1.5+ Android "blackberry9500", // Storm "blackberry9530", // Storm "opera mini", // Experimental "webos", // Experimental "incognito", // Other iPhone browser "webmate" // Other iPhone browser ); foreach ( $useragents as $useragent ) { if ( eregi( $useragent, $container )) { $option = get_option('audiencc-options'); $mobile_url = $option['mobile_url']; header("Location: $mobile_url"); exit(0); } } } // PHP4 compatibility function WPAudiencc() { $this->__construct(); } } // Start this plugin once all other plugins are fully loaded add_action( 'init', 'WPAudiencc' ); function WPAudiencc() { global $WPAudiencc; $WPAudiencc = new WPAudiencc(); } ?>
" . $option['error_msg'] ."
We have built Audiencc with your feedback. Please help us make this awesome: Feedback