コード例 #1
0
ファイル: user.php プロジェクト: cls1991/ryzomcore
function ryzom_get_user_gender($id)
{
    $db = ryDB::getInstance('webig');
    $player = $db->querySingle('players', array('id' => $id));
    if ($player) {
        if ($player['gender']) {
            return intval($player['gender']);
        }
        $cid = $player['cid'];
        $xml = @simplexml_load_file(RYAPI_PATH . 'data/cache/players/public/' . substr($cid, strlen($cid) - 1) . '/' . $cid . '.xml');
        if ($xml !== false) {
            $gender = (string) $xml->public->_gender;
            $db->update('players', array('gender' => intval($gender) + 1), array('id' => $id));
            return $gender + 1;
        }
    }
    return false;
}
コード例 #2
0
ファイル: index.php プロジェクト: cls1991/ryzomcore
/*
 * Statistics page
 */
if ($_REQUEST['mode'] == "stats" && $_ADMIN->isCSR()) {
    require_once "include/adm_render_stats.php";
    $c .= "<h1>Statistics</h1>";
    $c .= stats_render();
}
/*
 * CSR player manager
 */
if ($_REQUEST['mode'] == "player" && $_ADMIN->isCSR()) {
    $c .= "<h1>Player Administration</h1>";
    #$DBc_char = new mySQL($_CONF['mysql_error']);
    #$DBc_char->connect($_CONF['char_mysql_server'],$_CONF['char_mysql_user'],$_CONF['char_mysql_pass'],$_CONF['char_mysql_database']);
    $DBc_char = ryDB::getInstance("webig");
    //menu
    require_once "include/adm_render_csr.php";
    if (!is_user($_REQUEST['pid'])) {
        // no user ID
        $c .= csr_render_find_player();
    } else {
        $user = array();
        $user['id'] = $_REQUEST['pid'];
        $user['lang'] = 'en';
        $dta = user_get_data($_REQUEST['pid']);
        $user['char_name'] = user_get_name($_REQUEST['pid']);
        $user['race'] = substr($dta['race'], 2);
        $user['civ'] = substr($dta['civilisation'], 2);
        $user['cult'] = substr($dta['cult'], 2);
        $_USER = new RyzomUser($user);
コード例 #3
0
ファイル: index.php プロジェクト: cls1991/ryzomcore
require_once "class/Node_abstract.php";
require_once "class/AVLTree_class.php";
require_once "class/Parentum_abstract.php";
require_once "class/AchList_abstract.php";
require_once "class/Tieable_inter.php";
require_once "class/NodeIterator_class.php";
require_once "class/AchMenu_class.php";
require_once "class/AchMenuNode_class.php";
require_once "class/AchSummary_class.php";
require_once "class/AchCategory_class.php";
require_once "class/AchAchievement_class.php";
require_once "class/AchTask_class.php";
require_once "class/AchObjective_class.php";
// Update user acces on Db
// $DBc = ryDB::getInstance(APP_NAME."_test");
$DBc = ryDB::getInstance(APP_NAME);
// if getting request using REST
if (isset($_GET['search']) && isset($_GET['format'])) {
    // if the format is json
    if ($_GET['format'] == 'json') {
        // getting the headers when the request is sent
        $header = getallheaders();
        // this block is to get the posted data
        $fp = fopen('php://input', 'r');
        $rawData = stream_get_contents($fp);
        $userd = json_decode($rawData, true);
        // authenticate the user using data we get from server
        appAuthenticateRest($user, $userd);
        // create a ryzom user object whose achievements we have to send in response
        $_USER = new RyzomUser($user);
        require_once "include/ach_render_web.php";
コード例 #4
0
ファイル: index.php プロジェクト: cls1991/ryzomcore
<?php

define('APP_NAME', 'app_test');
include_once '../config.php';
include_once '../lang.php';
include_once 'lang.php';
// Ask to authenticate user (using ingame or session method) and fill $user with all information
ryzom_app_authenticate($user, true);
// Enable debug logs only for DEVS
if (in_array('DEV', $user['groups'])) {
    ryLogger::getInstance()->enable = true;
}
// Debug log
p($user);
// Update user acces on Db
$db = ryDB::getInstance(APP_NAME);
$db->setDbDefs('test', array('id' => SQL_DEF_INT, 'num_access' => SQL_DEF_INT));
$num_access = $db->querySingleAssoc('test', array('id' => $user['id']));
if ($num_access) {
    $db->update('test', array('num_access' => ++$num_access['num_access']), array('id' => $user['id']));
} else {
    $db->insert('test', array('num_access' => $num_access['num_access'] = 1, 'id' => $user['id']));
}
// Content
$c = _t('access', $num_access['num_access']) . '<br/>';
echo ryzom_app_render(APP_NAME, $c, $user['ig']);
コード例 #5
0
ファイル: auth.php プロジェクト: AzyxWare/ryzom
function ryzom_get_user_id($cid, $name, $creation_date)
{
    $name = strtolower($name);
    $db = ryDB::getInstance('webig');
    $charsWithSameName = $db->query('players', array('name' => $name, 'deleted' => 0));
    foreach ($charsWithSameName as $charWithSameName) {
        // Another char with same name => delete it
        if (intval($cid) != intval($charWithSameName['cid'])) {
            $db->update('players', array('deleted' => 1), array('id' => $charWithSameName['id']));
        }
    }
    $charProps = $db->querySingle('players', array('cid' => intval($cid), 'deleted' => 0));
    // new char => create record
    if (!$charProps) {
        $charProps = array('name' => $name, 'cid' => $cid, 'creation_date' => $creation_date, 'deleted' => 0);
        $charProps['id'] = $db->insert('players', $charProps);
        if (!$charProps['id']) {
            die('ryDb New Char Error');
        }
    } else {
        // char deleted and recreated => change to deleted
        if ($charProps['creation_date'] != $creation_date) {
            if (!$db->update('players', array('deleted' => 1), array('id' => $charProps['id']))) {
                die('ryDb Delete char Error: ' . $db->getErrors());
            }
            $charProps = array('name' => $name, 'cid' => $cid, 'creation_date' => $creation_date, 'deleted' => 0);
            if (!($charProps['id'] = $db->insert('players', $charProps))) {
                die('ryDb New Char in Slot Error');
            }
        } else {
            // char renamed => update record
            if ($charProps['name'] != $name) {
                if (!$db->update('players', array('name' => $name), array('id' => $charProps['id']))) {
                    die('ryDb Rename Char Error');
                }
            }
        }
    }
    return $charProps['id'];
}
コード例 #6
0
ファイル: db_defs.php プロジェクト: AzyxWare/ryzom
<?php

/* Copyright (C) 2012 Winch Gate Property Limited
 * 
 * This file is part of ryzom_api.
 * ryzom_api is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ryzom_api is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ryzom_api.  If not, see <http://www.gnu.org/licenses/>.
 */
// init database table used by webig
$db = ryDB::getInstance('webig');
$db->setDbDefs('players', array('id' => SQL_DEF_INT, 'cid' => SQL_DEF_INT, 'name' => SQL_DEF_TEXT, 'creation_date' => SQL_DEF_DATE, 'deleted' => SQL_DEF_BOOLEAN, 'last_login' => SQL_DEF_TEXT));
$db->setDbDefs('accounts', array('uid' => SQL_DEF_INT, 'web_privs' => SQL_DEF_TEXT));