예제 #1
0
function likebtn_admin_init()
{
    global $likebtn_settings_options;
    global $likebtn_settings;
    global $likebtn_buttons_options;
    // No output here redirect to work
    // Synchronization
    foreach ($likebtn_settings_options as $option_name => $option_value) {
        register_setting('likebtn_settings', $option_name);
    }
    // Registering all options
    $entity_name = _likebtn_get_subpage();
    foreach ($likebtn_buttons_options as $option_name => $option_value) {
        register_setting('likebtn_buttons', $option_name . '_' . $entity_name);
    }
    // settings
    foreach ($likebtn_settings as $option_name => $option_info) {
        register_setting('likebtn_buttons', 'likebtn_settings_' . $option_name . '_' . $entity_name);
    }
    // Redirect after activation
    if (get_transient('_likebtn_activation_redirect')) {
        delete_transient('_likebtn_activation_redirect');
        $redirect_page = 'likebtn_settings';
        if (get_option('likebtn_account_email')) {
            $redirect_page = 'likebtn_buttons';
        }
        wp_safe_redirect(add_query_arg(array('page' => $redirect_page), admin_url('admin.php')));
        die;
    }
    // Sync plan
    require_once dirname(__FILE__) . '/likebtn_like_button.class.php';
    $likebtn = new LikeBtnLikeButton();
    $likebtn->runSyncPlan();
    // Check account data on settings update
    if (isset($_GET['page']) && $_GET['page'] == 'likebtn_settings' && isset($_GET['settings-updated']) && $_GET['settings-updated'] == 'true') {
        update_option('likebtn_acc_data_correct', '0');
        $test_response = $likebtn->checkAccount(get_option('likebtn_account_email'), get_option('likebtn_account_api_key'), get_option('likebtn_site_id'));
        // Set credentials status
        // "result" determines credentials check result
        if ($test_response['connect_result'] == 'success') {
            if ($test_response['result'] == 'success') {
                update_option('likebtn_acc_data_correct', '1');
            }
        }
    }
}
예제 #2
0
function likebtn_admin_init()
{
    global $likebtn_settings_options;
    global $likebtn_settings;
    global $likebtn_buttons_options;
    // Synchronization
    foreach ($likebtn_settings_options as $option_name => $option_value) {
        register_setting('likebtn_settings', $option_name);
    }
    // Buttons
    $entity_name = _likebtn_get_subpage();
    /*$likebtn_entities = _likebtn_get_entities();
      foreach ($likebtn_entities as $entity_name => $entity_title) {
          _likebtn_register_entity_settings($entity_name);
      }*/
    foreach ($likebtn_buttons_options as $option_name => $option_value) {
        register_setting('likebtn_buttons', $option_name . '_' . $entity_name);
    }
    // settings
    foreach ($likebtn_settings as $option_name => $option_info) {
        register_setting('likebtn_buttons', 'likebtn_settings_' . $option_name . '_' . $entity_name);
    }
    // run sunchronization
    require_once dirname(__FILE__) . '/likebtn_like_button.class.php';
    $likebtn = new LikeBtnLikeButton();
    $likebtn->runSyncPlan();
}