File: platform/plugins/Users/classes/Users/AppUser/Ios.php
<?php
/**
* @module Users
*/
/**
* Class representing iOS app user.
*
* @class Users_AppUser_Ios
* @extends Users_AppUser
*/
class Users_AppUser_Ios extends Users_AppUser implements Users_AppUser_Interface
{
/**
* Gets a Users_AppUser_Ios object constructed from request and/or cookies.
* It is your job to populate it with a user id and save it.
* @constructor
* @static
* @param {string} [$appId=Q::app()] Can either be an interal appId or an iOS appId.
* @param {boolean} [$setCookie=true] Whether to set fbsr_$appId cookie
* @param {boolean} [$longLived=true] Get a long-lived access token, if necessary
* @return {Users_AppUser_Ios|null}
* May return null if no such user is authenticated.
*/
static function authenticate($appId = null, $setCookie = true, $longLived = true)
{
list($appId, $appInfo) = Users::appInfo('ios', $appId);
$platformAppId = (isset($appInfo['appId']) && isset($appInfo['secret']))
? $appInfo['appId']
: '';
$udid = Q::ifset($_COOKIE, 'Q_udid', null);
if (!$udid) {
return null;
}
$appuser = new Users_AppUser_Ios();
// note that $appuser->userId was not set
$appuser->platform = 'ios';
$appuser->appId = $platformAppId;
$appuser->platform_uid = $udid;
$appuser->access_token = null;
$appuser->session_expires = null;
return $appuser;
}
/**
* Gets the logged-in user icon urls
* @param {array} $sizes=[Q_Config::expect('Users','icon','sizes')]
* An array of size strings such "80x80"
* @return {array|null} Keys are the size strings with optional $suffix
* and values are the urls
*/
function icon($sizes = null, $suffix = '')
{
$icon = array();
return $icon;
}
/**
* Import some fields from the platform. Also fills Users::$cache['platformUserData'].
* @param {array} $fieldNames
* @return {array}
*/
function import($fieldNames)
{
$platform = 'ios';
if (!is_array($fieldNames)) {
$fieldNames = Q_Config::get('Users', 'import', $platform, null);
}
if (!$fields) {
return array();
}
}
}