UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
web_main.cpp File Reference

UFOAI web interface management. Authentication as well as uploading/downloading stuff to and from your account is done here. More...

#include "web_main.h"
#include "../cl_shared.h"
#include "../ui/ui_main.h"
#include "web_cgame.h"
#include "../../common/sha1.h"

Go to the source code of this file.

Functions

bool WEB_GetURL (const char *url, http_callback_t callback, void *userdata)
 Downloads the given url and notify the callback. The login credentials are automatically added as GET parameters. More...
 
bool WEB_GetToFile (const char *url, FILE *file)
 Downloads the given url directly into the given file. The login credentials are automatically added as GET parameters. More...
 
bool WEB_PutFile (const char *formName, const char *fileName, const char *url, upparam_t *params)
 Uploads a file to the server with the login credentials. More...
 
static void WEB_AuthResponse (const char *response, void *userdata)
 The callback for the web auth request. More...
 
bool WEB_Auth (const char *username, const char *password)
 Performs a web auth request. More...
 
static void WEB_Auth_f (void)
 Console callback for handling the web auth. More...
 
bool WEB_CheckAuth (void)
 Pushes the webauth window if the password is not yet set. More...
 
void WEB_InitStartup (void)
 

Variables

static cvar_tweb_authurl
 
cvar_tweb_username
 
cvar_tweb_password
 
cvar_tweb_userid
 

Detailed Description

UFOAI web interface management. Authentication as well as uploading/downloading stuff to and from your account is done here.

Definition in file web_main.cpp.

Function Documentation

bool WEB_Auth ( const char *  username,
const char *  password 
)

Performs a web auth request.

Parameters
[in]usernameThe (unencoded) username
[in]passwordThe (ununcoded) password
Note
the cvars web_username and web_password are going to become overridden here. If the auth failed, the cvar web_password is set to an empty string again.
Returns
true if the auth was successful, false otherwise.

Definition at line 135 of file web_main.cpp.

References Com_SHA1Buffer(), Com_sprintf(), Cvar_Set(), MAX_VAR, Q_strlwr(), Q_strncpyz(), Q_strvalid, cvar_s::string, user, WEB_AuthResponse(), and WEB_GetURL().

Referenced by TEST_F(), and WEB_Auth_f().

static void WEB_Auth_f ( void  )
static

Console callback for handling the web auth.

See also
WEB_Auth

Definition at line 159 of file web_main.cpp.

References Cmd_Argc(), Cmd_Argv(), Com_Printf(), UI_ExecuteConfunc(), and WEB_Auth().

Referenced by WEB_InitStartup().

static void WEB_AuthResponse ( const char *  response,
void userdata 
)
static

The callback for the web auth request.

Parameters
[in]responseThe web auth response
[in]userdataThe userdata. NULL in this case.

Definition at line 110 of file web_main.cpp.

References Com_DPrintf(), Cvar_Set(), DEBUG_CLIENT, and Q_streq.

Referenced by WEB_Auth(), and WEB_InitStartup().

bool WEB_CheckAuth ( void  )

Pushes the webauth window if the password is not yet set.

Returns
true if the user is authenticated, false otherwise

Definition at line 176 of file web_main.cpp.

References Q_strnull(), cvar_s::string, and UI_PushWindow().

Referenced by WEB_CGameDelete(), WEB_CGameListForUser(), and WEB_CGameUpload().

bool WEB_GetToFile ( const char *  url,
FILE file 
)

Downloads the given url directly into the given file. The login credentials are automatically added as GET parameters.

Parameters
[in]urlThe url to download
[in]fileThe file to write into
Returns
true if the download was successful, false otherwise

Definition at line 65 of file web_main.cpp.

References Com_Printf(), Com_sprintf(), HTTP_Encode(), HTTP_GetToFile(), MAX_VAR, and cvar_s::string.

bool WEB_GetURL ( const char *  url,
http_callback_t  callback,
void userdata 
)

Downloads the given url and notify the callback. The login credentials are automatically added as GET parameters.

Parameters
[in]urlThe url to download
[in]callbackThe callback to given the downloaded data to
[in]userdataUserdata that is given to the callback
Returns
true if the download was successful, false otherwise

Definition at line 44 of file web_main.cpp.

References Com_Printf(), Com_sprintf(), HTTP_Encode(), HTTP_GetURL(), and cvar_s::string.

Referenced by WEB_Auth(), WEB_CGameDelete(), WEB_CGameListForUser(), and WEB_InitStartup().

bool WEB_PutFile ( const char *  formName,
const char *  fileName,
const char *  url,
upparam_t params 
)

Uploads a file to the server with the login credentials.

Parameters
[in]formNameThe name of the form to submit with the file upload
[in]fileNameThe filename to upload - this must be a full path, not a virtual filesystem path
[in]urlThe url to open
[in]paramsAdditional parameters for the form. The username and password values are automatically filled in and don't have to be specified here.

Definition at line 87 of file web_main.cpp.

References HTTP_PutFile(), upparam_s::name, upparam_s::next, cvar_s::string, and upparam_s::value.

Referenced by WEB_CGameUpload().

Variable Documentation

cvar_t* web_authurl
static

Definition at line 32 of file web_main.cpp.

cvar_t* web_password

Definition at line 34 of file web_main.cpp.

cvar_t* web_userid
cvar_t* web_username

Definition at line 33 of file web_main.cpp.