public static function loginWidget($options, $get_token = 'getAccessToken', $save_token = 'saveAccessToken', $delete_token = 'deleteAccessToken', $render_login_box = 'widgetHTML') { if (isset($options['logout_link']) && $options['logout_link'] == $_SERVER['REQUEST_URI'] || isset($_GET['eb_logout']) && $_GET['eb_logout'] == "true") { // clear this user's access_token - Eventbrite::deleteAccessToken(); // remove our "logout=true" trigger from the querystring- header("Location: " . $_SERVER['PHP_SELF']); exit; } // automatically pull the access_code from the querysting? // TODO: add a way to disable this: if (!isset($options['access_code'])) { $options['access_code'] = isset($_REQUEST['code']) ? $_REQUEST['code'] : null; } // automatically grab errors from the querystring? // TODO: add a way to disable this: if (!isset($options['error_message'])) { $options['error_message'] = isset($_REQUEST['error']) ? $_REQUEST['error'] : null; } // Check to see if we have a valid user account // and Proccess any data-related work: $response = Eventbrite::OAuthLogin($options, $get_token, $save_token, $delete_token); // package up the data for our view / template: $login_params = array(); if (is_array($response)) { if (isset($response['user_email'])) { $login_params = array('user_name' => $response['user_name'], 'user_email' => $response['user_email']); } $login_params['oauth_link'] = Eventbrite::oauthNextStep($options['app_key']); if (isset($response['login_error'])) { $login_params['login_error'] = $response['login_error']; } if (isset($options['logout_link'])) { $login_params['logout_link'] = $options['logout_link']; } else { $login_params['logout_link'] = $_SERVER['PHP_SELF'] . '?eb_logout=true'; } } // view related work: // render your "template" if (is_callable($render_login_box)) { return $render_login_box($login_params); } elseif (is_callable(array('self', $render_login_box))) { return self::$render_login_box($login_params); } else { //the templating callback was not valid, //return the raw data for use with an external template return $login_params; } }
public static function getOauthLink() { $app = Slim::getInstance(); return Eventbrite::oauthNextStep($app->config('api_key')); }