update character.lib.php
This commit is contained in:
parent
da84fbbad1
commit
f38a36c025
9 changed files with 543 additions and 67 deletions
|
|
@ -9,7 +9,7 @@ $ch_list = [];
|
||||||
if ($config['cf_side_title']) {
|
if ($config['cf_side_title']) {
|
||||||
$side_result = sql_query("SELECT * FROM {$g5['side_table']}");
|
$side_result = sql_query("SELECT * FROM {$g5['side_table']}");
|
||||||
for ($i = 0; $si = sql_fetch_array($side_result); $i++) {
|
for ($i = 0; $si = sql_fetch_array($side_result); $i++) {
|
||||||
$list[] = get_character_list($si['si_id']);
|
$list[] = Character::getList($si['si_id']);
|
||||||
$side[] = $si;
|
$side[] = $si;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -18,21 +18,21 @@ if (!$config['cf_side_title'] || count($side) < 2) {
|
||||||
$list = [];
|
$list = [];
|
||||||
$side = [];
|
$side = [];
|
||||||
|
|
||||||
$list[] = get_character_list();
|
$list[] = Character::getList();
|
||||||
$side[] = '';
|
$side[] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$g5['title'] = "멤버란";
|
$g5['title'] = "멤버란";
|
||||||
include_once(G5_PATH . '/head.php');
|
include_once G5_PATH . '/head.php';
|
||||||
|
|
||||||
if (defined('G5_THEME_PATH') && is_file(G5_THEME_PATH . "/member/list.skin.php")) {
|
if (defined('G5_THEME_PATH') && is_file(G5_THEME_PATH . "/member/list.skin.php")) {
|
||||||
include(G5_THEME_PATH . "/member/list.skin.php");
|
include G5_THEME_PATH . "/member/list.skin.php";
|
||||||
} else {
|
} else {
|
||||||
include(G5_PATH . "/member/skin/list.skin.php");
|
include G5_PATH . "/member/skin/list.skin.php";
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($ch);
|
unset($ch);
|
||||||
unset($list);
|
unset($list);
|
||||||
|
|
||||||
include_once(G5_PATH . '/tail.php');
|
include_once G5_PATH . '/tail.php';
|
||||||
|
|
|
||||||
309
AvocadoEdition_Light/classes/character/character.class.php
Normal file
309
AvocadoEdition_Light/classes/character/character.class.php
Normal file
|
|
@ -0,0 +1,309 @@
|
||||||
|
<?php
|
||||||
|
class Character Extends Module
|
||||||
|
{
|
||||||
|
protected $_rawdata;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character by character_id
|
||||||
|
* note?: this function may cause excessive load on the database.
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return Character|array|object|null
|
||||||
|
*/
|
||||||
|
public static function getCharacter($character_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"])) {
|
||||||
|
$character = new Character($character_id);
|
||||||
|
if ($character->getError() === 0) {
|
||||||
|
return $character;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ["error" => "DB에 연결하지 못했습니다."];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character by character_id (compatilbe name for avocado)
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return Character|array|object|null
|
||||||
|
*/
|
||||||
|
public static function get_character($character_id)
|
||||||
|
{
|
||||||
|
return self::getCharacter($character_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character by name
|
||||||
|
* @param mixed $character_name
|
||||||
|
* @return Character|null
|
||||||
|
*/
|
||||||
|
public static function getCharacterByName($character_name)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
|
||||||
|
$character_name = addslashes($character_name);
|
||||||
|
$character = sql_fetch("SELECT ch_id FROM {$g5["character_table"]} WHERE ch_name = '{$character_name}'");
|
||||||
|
|
||||||
|
if ($character) {
|
||||||
|
return new Character(intval($character["ch_id"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function get_character_by_name($character_name)
|
||||||
|
{
|
||||||
|
return self::getCharacterByName($character_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character name by character_id
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getName($character_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"])) {
|
||||||
|
$data = sql_fetch("SELECT ch.ch_name FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'");
|
||||||
|
if (!empty($data)) {
|
||||||
|
return $data["ch_name"];
|
||||||
|
} else {
|
||||||
|
return "캐릭터를 찾을 수 없습니다.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "DB에 연결하지 못했습니다.";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character name by character_id (compatilbe name for avocado)
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function get_character_name($character_id)
|
||||||
|
{
|
||||||
|
return self::getName($character_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character name by member_id
|
||||||
|
* @param mixed $member_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getNameByMemberID($member_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"]) && isset($g5["member_table"])) {
|
||||||
|
$data = sql_fetch("SELECT ch.ch_name FROM {$g5["character_table"]} ch, {$g5["member_table"]} mb WHERE mb.mb_id = '{$member_id}' AND ch.mb_id = mb.mb_id");
|
||||||
|
if (!empty($data)) {
|
||||||
|
return $data["ch_name"];
|
||||||
|
} else {
|
||||||
|
return "캐릭터를 찾을 수 없습니다.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "DB에 연결하지 못했습니다.";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character name by member_id (compatible name for avocadoedition)
|
||||||
|
* @param mixed $member_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function get_member_character_name($member_id)
|
||||||
|
{
|
||||||
|
return self::getNameByMemberID($member_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getInfoList($character_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"]) && isset($g5["value_table"])) {
|
||||||
|
$info_list = [];
|
||||||
|
$rawdata = sql_query("SELECT ar_code, av_value FROM {$g5["value_table"]} WHERE ch_id = '{$character_id}'");
|
||||||
|
while($r = sql_fetch_array($rawdata)) {
|
||||||
|
$info_list[$r["ar_code"]] = $r["av_value"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $info_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character info (compatible name for avocadoedition)
|
||||||
|
* @param int|string $character_id
|
||||||
|
* @param string $extra_code
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getInfo($character_id, $extra_code)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"]) && isset($g5["value_table"])) {
|
||||||
|
$data = sql_fetch("SELECT av_value FROM {$g5["value_table"]} WHERE ch_id = '{$character_id}' AND ar_code = '{$extra_code}'");
|
||||||
|
if (!empty($data)) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "DB에 연결하지 못했습니다.";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character info (compatible name for avocadoedition)
|
||||||
|
* @param int|string $character_id
|
||||||
|
* @param string $extra_code
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function get_character_info($character_id, $extra_code)
|
||||||
|
{
|
||||||
|
return self::getInfo($character_id, $extra_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character list
|
||||||
|
* @param string $side
|
||||||
|
* @param string $class
|
||||||
|
* @param string $state
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getList($side = "", $class = "", $state = "승인")
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
|
||||||
|
$character = [];
|
||||||
|
$s = '';
|
||||||
|
$s .= $side ? " and ch_side = '{$side}' " : "";
|
||||||
|
$s .= $class ? " and ch_class = '{$class}' " : "";
|
||||||
|
|
||||||
|
$sql = "SELECT * FROM {$g5["character_table"]} WHERE ch_state = '{$state}' {$s} ORDER BY ch_id ASC";
|
||||||
|
|
||||||
|
$res = sql_query($sql);
|
||||||
|
while($r = sql_fetch_array($res)) {
|
||||||
|
$character[] = $r;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $character;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character list (compatible name for avocadoedition)
|
||||||
|
* @param string $side
|
||||||
|
* @param string $class
|
||||||
|
* @param string $state
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function get_character_list($side = "", $class = "", $state = "승인")
|
||||||
|
{
|
||||||
|
return self::getList($side, $class, $state);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character thumb
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function getHead($character_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"])) {
|
||||||
|
$data = sql_fetch("SELECT ch.ch_thumb FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'");
|
||||||
|
if (!empty($data)) {
|
||||||
|
return $data["ch_thumb"];
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get character thumb (compatible name for avocadoedition)
|
||||||
|
* @param mixed $character_id
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function get_character_head($character_id)
|
||||||
|
{
|
||||||
|
return self::getHead($character_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get member name
|
||||||
|
* @param mixed $member_id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function getMemberName($member_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["member_table"])) {
|
||||||
|
$data = sql_fetch("SELECT mb.mb_nick FROM {$g5['member_table']} mb WHERE mb.mb_nick = '{$member_id}'");
|
||||||
|
if (!empty($data)) {
|
||||||
|
return $data["mb_nick"];
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get member name (compatible name for avocadoedition)
|
||||||
|
* @param mixed $member_id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function get_member_name($member_id)
|
||||||
|
{
|
||||||
|
return self::getMemberName($member_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function fixMemberCharacter()
|
||||||
|
{
|
||||||
|
global $g5, $is_member, $member, $character;
|
||||||
|
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["member_table"]) && isset($g5["character_table"]) && $is_member && (
|
||||||
|
$member["mb_id"] != $character["mb_id"] || $member["ch_id"] == "" || !$character["ch_id"]
|
||||||
|
)) {
|
||||||
|
$character_sql = "SELECT * FROM {$g5["character_table"]} where mb_id = '{$member['mb_id']}' limit 0, 1";
|
||||||
|
$character = sql_fetch($character_sql);
|
||||||
|
|
||||||
|
if ($character['ch_id']) {
|
||||||
|
sql_query("UPDATE {$g5["member_table"]} SET ch_id = '{$character['ch_id']}' WHERE mb_id = '{$member['mb_id']}'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function resetSearchCount()
|
||||||
|
{
|
||||||
|
global $g5, $character;
|
||||||
|
|
||||||
|
if ($character["ch_id"]) {
|
||||||
|
if ($character["ch_search_date"] != G5_TIME_YMD) {
|
||||||
|
$time = G5_TIME_YMD;
|
||||||
|
sql_query("UPDATE {$g5["character_table"]} SET ch_search = 0, ch_search_date = '{$time}' WHERE ch_id = '{$character['ch_id']}'");
|
||||||
|
$character["ch_search"] = 0;
|
||||||
|
$character["ch_search_date"] = G5_TIME_YMD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __construct($character_id)
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
parent::__construct();
|
||||||
|
|
||||||
|
if (isset($g5["connect_db"]) && isset($g5["character_table"])) {
|
||||||
|
$this->_rawdata = sql_fetch("SELECT ch.ch_name FROM {$g5['character_table']} ch WHERE ch.ch_id = '{$character_id}'");
|
||||||
|
if (!empty($this->rawdata)) {
|
||||||
|
parent::init($this->_rawdata);
|
||||||
|
} else {
|
||||||
|
$this->setError(2);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->setError(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
112
AvocadoEdition_Light/classes/module.class.php
Normal file
112
AvocadoEdition_Light/classes/module.class.php
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?php
|
||||||
|
class Module
|
||||||
|
{
|
||||||
|
protected static $performanceStopwatch = [];
|
||||||
|
protected $error = 0;
|
||||||
|
protected $result = "";
|
||||||
|
protected $variables = [];
|
||||||
|
protected $createdAt;
|
||||||
|
|
||||||
|
public function __construct($err = 0)
|
||||||
|
{
|
||||||
|
$this->createdAt = microtime(true);
|
||||||
|
$this->setError($err);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function init($data = [])
|
||||||
|
{
|
||||||
|
$this->triggerEvent('beforeInit');
|
||||||
|
if (!empty($data)) {
|
||||||
|
$this->adds($data);
|
||||||
|
}
|
||||||
|
$this->triggerEvent('afterInit');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setResult($msg = "")
|
||||||
|
{
|
||||||
|
$this->result = $msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getResult()
|
||||||
|
{
|
||||||
|
return $this->result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setError($err = 0)
|
||||||
|
{
|
||||||
|
$this->error = $err;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getError()
|
||||||
|
{
|
||||||
|
return $this->error;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get($key)
|
||||||
|
{
|
||||||
|
return array_key_exists($key, $this->variables) ? $this->variables[$key] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function gets()
|
||||||
|
{
|
||||||
|
$args = func_get_args();
|
||||||
|
$ret = new stdClass();
|
||||||
|
foreach ($args as $arg) {
|
||||||
|
$ret->$arg = $this->get($arg);
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add($key, $val)
|
||||||
|
{
|
||||||
|
$this->variables[$key] = $val;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function adds($obj)
|
||||||
|
{
|
||||||
|
if (is_object($obj)) {
|
||||||
|
$obj = get_object_vars($obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($obj)) {
|
||||||
|
foreach ($obj as $k => $v) {
|
||||||
|
$this->variables[$k] = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function addStopwatch($key)
|
||||||
|
{
|
||||||
|
if (defined("__IS_DEBUG__")) {
|
||||||
|
if (count($this->performanceStopwatch) > 0) {
|
||||||
|
$prev = end($this->performanceStopwatch);
|
||||||
|
$this->performanceStopwatch[$key] = microtime(true) - $this->createdAt - $prev;
|
||||||
|
} else {
|
||||||
|
$this->performanceStopwatch[$key] = microtime(true) - $this->createdAt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addStopwatchWithCallStack($key)
|
||||||
|
{
|
||||||
|
if (defined("__IS_DEBUG__")) {
|
||||||
|
if ($key === 0)
|
||||||
|
$key = "start";
|
||||||
|
else if ($key === 1)
|
||||||
|
$key = "end";
|
||||||
|
$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
|
||||||
|
$cf = $backtrace[1]['function'] ? $backtrace[1]['function'] : 'global scope';
|
||||||
|
$this->addStopwatch("{$cf} {$key}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addEventHandler($event, $callback)
|
||||||
|
{
|
||||||
|
EventHandler::addEventHandler($event, $callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function triggerEvent($event, $data = [])
|
||||||
|
{
|
||||||
|
EventHandler::triggerEvent($event, $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -223,6 +223,7 @@ function chrome_domain_session_name()
|
||||||
}
|
}
|
||||||
|
|
||||||
include_once __DIR__ . "/classes/event_handler.php";
|
include_once __DIR__ . "/classes/event_handler.php";
|
||||||
|
include_once __DIR__ . "/classes/module.class.php";
|
||||||
|
|
||||||
$extra_headers = [
|
$extra_headers = [
|
||||||
'HTTP_X_REAL_IP',
|
'HTTP_X_REAL_IP',
|
||||||
|
|
@ -379,8 +380,7 @@ if (file_exists($dbconfig_file)) {
|
||||||
include_once $dbconfig_file;
|
include_once $dbconfig_file;
|
||||||
include_once G5_LIB_PATH . '/common.lib.php'; // 공통 라이브러리
|
include_once G5_LIB_PATH . '/common.lib.php'; // 공통 라이브러리
|
||||||
|
|
||||||
$g5["font_table"] = G5_TABLE_PREFIX . "editor_fonts";
|
include_once G5_PATH . "/extraconfig.php";
|
||||||
$g5["addons_config_table"] = G5_TABLE_PREFIX . "addons_config";
|
|
||||||
|
|
||||||
$connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');
|
$connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');
|
||||||
$select_db = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');
|
$select_db = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');
|
||||||
|
|
|
||||||
|
|
@ -2,93 +2,44 @@
|
||||||
if (!defined('_GNUBOARD_'))
|
if (!defined('_GNUBOARD_'))
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
$character = get_character($member['ch_id']);
|
$character = Character::getCharacter($member['ch_id']);
|
||||||
if ($is_member && ($member['mb_id'] != $character['mb_id'] || $member['ch_id'] == '' || !$character['ch_id'])) {
|
|
||||||
$character_sql = "SELECT * FROM {$g5['character_table']} where mb_id = '{$member['mb_id']}' limit 0, 1";
|
|
||||||
$character = sql_fetch($character_sql);
|
|
||||||
if ($character['ch_id']) {
|
|
||||||
sql_query("UPDATE {$g5['member_table']} SET ch_id = '{$character['ch_id']}' where mb_id = '{$member['mb_id']}'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($character['ch_id']) {
|
Character::fixMemberCharacter();
|
||||||
if ($character['ch_search_date'] != G5_TIME_YMD) {
|
Character::resetSearchCount();
|
||||||
$time = G5_TIME_YMD;
|
|
||||||
sql_query("UPDATE {$g5['character_table']}
|
|
||||||
SET ch_search = 0,
|
|
||||||
ch_search_date = '{$time}'
|
|
||||||
WHERE ch_id = '{$character['ch_id']}'
|
|
||||||
");
|
|
||||||
$character['ch_search'] = 0;
|
|
||||||
$character['ch_search_date'] = G5_TIME_YMD;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_character_name($ch_id)
|
function get_character_name($ch_id)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getName($ch_id);
|
||||||
$character = sql_fetch("SELECT ch_name FROM {$g5['character_table']} where ch_id = '{$ch_id}'");
|
|
||||||
return $character['ch_name'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_member_character_name($mb_id)
|
function get_member_character_name($mb_id)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getNameByMemberID($mb_id);
|
||||||
$character = sql_fetch("SELECT ch.ch_name FROM {$g5['character_table']} ch, {$g5['member_table']} mb where mb.mb_id= '{$mb_id}' and ch.mb_id = mb.mb_id");
|
|
||||||
return $character['ch_name'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_character_head($ch_id)
|
function get_character_head($ch_id)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getHead($ch_id);
|
||||||
$ch = sql_fetch("SELECT ch_thumb FROM {$g5['character_table']} where ch_id = '{$ch_id}'");
|
|
||||||
return $ch['ch_thumb'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_member_name($mb_id)
|
function get_member_name($mb_id)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getMemberName($mb_id);
|
||||||
$member = sql_fetch("SELECT mb_nick FROM {$g5['member_table']} where mb_id = '{$mb_id}'");
|
|
||||||
return $member['mb_nick'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_character($ch_id)
|
function get_character($ch_id)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getCharacter($ch_id);
|
||||||
$character = sql_fetch("SELECT * FROM {$g5['character_table']} where ch_id = '{$ch_id}'");
|
|
||||||
return $character;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_character_info($ch_id, $ar_code)
|
function get_character_info($ch_id, $ar_code)
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getInfo($ch_id, $ar_code);
|
||||||
$ch = sql_fetch("SELECT av_value FROM {$g5['value_table']} where ch_id = '{$ch_id}' and ar_code = '{$ar_code}'");
|
|
||||||
return $ch['av_value'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_character_list($side = '', $class = '', $state = '승인')
|
function get_character_list($side = '', $class = '', $state = '승인')
|
||||||
{
|
{
|
||||||
global $g5;
|
return Character::getList($side, $class, $state);
|
||||||
$character = [];
|
|
||||||
$sql_search = '';
|
|
||||||
|
|
||||||
if ($side) {
|
|
||||||
$sql_search .= " and ch_side = '{$side}' ";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($class) {
|
|
||||||
$sql_search .= " and ch_class = '{$class}' ";
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql_common = "SELECT * FROM {$g5['character_table']}
|
|
||||||
WHERE ch_state = '{$state}'
|
|
||||||
{$sql_search}
|
|
||||||
ORDER BY ch_id ASC";
|
|
||||||
$result = sql_query($sql_common);
|
|
||||||
for ($i = 0; $row = sql_fetch_array($result); $i++) {
|
|
||||||
$character[] = $row;
|
|
||||||
}
|
|
||||||
return $character;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_profile_article($theme, $code, $name, $type = 'text', $pice = '', $help = '', $order = '')
|
function add_profile_article($theme, $code, $name, $type = 'text', $pice = '', $help = '', $order = '')
|
||||||
|
|
|
||||||
11
AvocadoEdition_Light/extraconfig.php
Normal file
11
AvocadoEdition_Light/extraconfig.php
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?php
|
||||||
|
if (!defined('_GNUBOARD_'))
|
||||||
|
exit;
|
||||||
|
|
||||||
|
$g5["font_table"] = G5_TABLE_PREFIX . "editor_fonts";
|
||||||
|
$g5["addons_config_table"] = G5_TABLE_PREFIX . "addons_config";
|
||||||
|
|
||||||
|
/* migration for character */
|
||||||
|
$g5["article_table"] = G5_TABLE_PREFIX . "article";
|
||||||
|
$g5["article_default_table"] = G5_TABLE_PREFIX . "article_default";
|
||||||
|
$g5["value_table"] = G5_TABLE_PREFIX . "article_value";
|
||||||
|
|
@ -13,6 +13,86 @@ CREATE TABLE IF NOT EXISTS `avo_auth` (
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `avo_article`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `avo_article` (
|
||||||
|
`ar_id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`ar_theme` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_code` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_type` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_size` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ar_text` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_help` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_order` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ar_secret` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (`ar_id`),
|
||||||
|
KEY `ar_id` (`ar_id`)
|
||||||
|
) ENGINE = MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `avo_article_default`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `avo_article_default` (
|
||||||
|
`ad_id` INT(11) NOT NULL AUTO_INCREMENT ,
|
||||||
|
`ad_use_thumb` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_head` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_body` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_name` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_text_thumb` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_text_head` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_text_body` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_text_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_help_thumb` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_help_head` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_help_body` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_help_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ad_url_thumb` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_url_head` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_url_body` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_title` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_closet` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_inven` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_money` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_rank` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_exp` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ad_use_status` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
PRIMARY KEY (`ad_id`),
|
||||||
|
KEY `ad_id` (`ad_id`)
|
||||||
|
) ENGINE = MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `avo_article_value`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `avo_article_value` (
|
||||||
|
`av_id` INT(11) NOT NULL AUTO_INCREMENT ,
|
||||||
|
`ch_id` INT(11) NOT NULL DEFAULT '0',
|
||||||
|
`ar_theme` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`ar_code` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`av_value` TEXT NOT NULL ,
|
||||||
|
`av_1` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`av_2` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`av_3` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`av_4` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
`av_5` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (`av_id`),
|
||||||
|
KEY `av_id` (`av_id`)
|
||||||
|
) ENGINE = MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `avo_backup`
|
-- Table structure for table `avo_backup`
|
||||||
--
|
--
|
||||||
|
|
@ -28,6 +108,7 @@ CREATE TABLE IF NOT EXISTS `avo_backup` (
|
||||||
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `avo_board`
|
-- Table structure for table `avo_board`
|
||||||
--
|
--
|
||||||
|
|
|
||||||
|
|
@ -312,6 +312,9 @@ unset($row);
|
||||||
|
|
||||||
fwrite($f, "\$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사\n\n");
|
fwrite($f, "\$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사\n\n");
|
||||||
fwrite($f, "\$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블\n");
|
fwrite($f, "\$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블\n");
|
||||||
|
fwrite($f, "\$g5['article_table'] = G5_TABLE_PREFIX.'article'; // 프로필 항목 저장 테이블\n");
|
||||||
|
fwrite($f, "\$g5['article_default_table'] = G5_TABLE_PREFIX.'article_default'; // 프로필 기본 항목 설정값 테이블\n");
|
||||||
|
fwrite($f, "\$g5['value_table'] = G5_TABLE_PREFIX.'article_value'; // 프로필 항목 값 테이블\n");
|
||||||
fwrite($f, "\$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블\n");
|
fwrite($f, "\$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블\n");
|
||||||
fwrite($f, "\$g5['group_table'] = G5_TABLE_PREFIX.'group'; // 게시판 그룹 테이블\n");
|
fwrite($f, "\$g5['group_table'] = G5_TABLE_PREFIX.'group'; // 게시판 그룹 테이블\n");
|
||||||
fwrite($f, "\$g5['group_member_table'] = G5_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블\n");
|
fwrite($f, "\$g5['group_member_table'] = G5_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블\n");
|
||||||
|
|
|
||||||
|
|
@ -1560,6 +1560,15 @@ function _callback_sql_show_tables($m)
|
||||||
return "show tables like '" . str_replace("`", "", $m[1]) . "'";
|
return "show tables like '" . str_replace("`", "", $m[1]) . "'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mixed $table_name
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function sql_table_exists($table_name)
|
||||||
|
{
|
||||||
|
return !sql_fetch_array(sql_query("SHOW TABLES LIKE '{$table_name}'"));
|
||||||
|
}
|
||||||
|
|
||||||
// mysqli_query 와 mysqli_error 를 한꺼번에 처리
|
// mysqli_query 와 mysqli_error 를 한꺼번에 처리
|
||||||
// mysql connect resource 지정 - 명랑폐인님 제안
|
// mysql connect resource 지정 - 명랑폐인님 제안
|
||||||
function sql_query($sql, $error = G5_DISPLAY_SQL_ERROR, $link = null)
|
function sql_query($sql, $error = G5_DISPLAY_SQL_ERROR, $link = null)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue