Merge fixes for ligo tools, AMS, and some cleanup

kaetemi-develop
Jan Boon 6 years ago committed by GitHub
commit 22d077d3c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -508,7 +508,7 @@ bool CZoneBank::initFromPath(const std::string &sPathName, std::string &error)
if (ext == "ligozone")
{
if (!addElement(NLMISC::CFile::getFilename(files[i]), error))
if (!addElement(files[i], error))
return false;
}
}

@ -134,7 +134,7 @@ bool CMaxToLigo::loadLigoConfigFile (CLigoConfig& config, Interface& it, bool di
if (res)
{
// Path
std::string path = NLMISC::CFile::getPath(MCharStrToUtf8(sModulePath) + "ligoscape.cfg");
std::string path = NLMISC::CFile::getPath(MCharStrToUtf8(sModulePath)) + "ligoscape.cfg";
try
{

@ -354,7 +354,7 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
if (RPO::isZone (*pNode, time))
{
// Save path
std::string sSavePath = MCharStrToUtf8(pNode->GetName());
std::string sSavePath = NLMISC::toLower(MCharStrToUtf8(pNode->GetName()));
// Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))
@ -372,7 +372,7 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
else if (CExportNel::isVegetable (*pNode, time))
{
// Save path
std::string sSavePath = MCharStrToUtf8(pNode->GetName());
std::string sSavePath = NLMISC::toLower(MCharStrToUtf8(pNode->GetName()));
// Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))
@ -391,7 +391,7 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
else if (CExportNel::isLodCharacter (*pNode, time))
{
// Save path
std::string sSavePath = MCharStrToUtf8(pNode->GetName());
std::string sSavePath = NLMISC::toLower(MCharStrToUtf8(pNode->GetName()));
// Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))
@ -410,7 +410,7 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
else if (CExportNel::isMesh (*pNode, time))
{
// Save path
std::string sSavePath = MCharStrToUtf8(pNode->GetName());
std::string sSavePath = NLMISC::toLower(MCharStrToUtf8(pNode->GetName()));
// Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))

@ -4063,7 +4063,7 @@ bool loadLigoConfigFile (CLigoConfig& config, Interface& it)
if (res)
{
// Path
std::string modulePath = NLMISC::CFile::getPath(MCharStrToUtf8(sModulePath));
std::string modulePath = NLMISC::CFile::getPath(MCharStrToUtf8(sModulePath)) + "ligoscape.cfg";
try
{

@ -26,6 +26,26 @@ NEL3D_APPDATA_COLLISION = 1423062613
NEL3D_APPDATA_COLLISION_EXTERIOR = 1423062614
NEL3D_APPDATA_AUTOMATIC_ANIMATION = 1423062617
-- Lower case
fn lowercase instring =
(
local upper, lower, outstring
upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower="abcdefghijklmnopqrstuvwxyz"
outstring = copy instring
for iii = 1 to outstring.count do
(
jjj = findString upper outstring[iii]
if (jjj != undefined) then
outstring[iii] = lower[jjj]
else
outstring[iii] = instring[iii]
)
return outstring -- value of outstring will be returned as function result
)
-- This node is n accelerator ?
fn isAccelerator node =
(
@ -287,9 +307,9 @@ fn runNelMaxExportSub inputMaxFile retryCount =
(
-- Output directory
if (haveCoarseMesh node) == true then
output = ("%OutputDirectoryWithCoarseMesh%/" + (node.name) + ".shape")
output = ("%OutputDirectoryWithCoarseMesh%/" + lowercase(node.name) + ".shape")
else
output = ("%OutputDirectoryWithoutCoarseMesh%/" + (node.name) + ".shape")
output = ("%OutputDirectoryWithoutCoarseMesh%/" + lowercase(node.name) + ".shape")
-- Compare file date
if (NeLTestFileDate output inputMaxFile) == true then

@ -29,7 +29,9 @@ sys.path.append("../../configuration")
if os.path.isfile("log.log"):
os.remove("log.log")
log = open("log.log", "w")
if os.path.isfile("temp_log.log"):
os.remove("temp_log.log")
log = open("temp_log.log", "w")
from scripts import *
from buildsite import *
from process import *
@ -61,8 +63,9 @@ if LigoExportLand == "" or LigoExportOnePass == 1:
mkPath(log, ExportBuildDirectory + "/" + LigoEcosystemZoneLigoExportDirectory)
mkPath(log, ExportBuildDirectory + "/" + LigoEcosystemCmbExportDirectory)
mkPath(log, DatabaseDirectory + "/" + ZoneSourceDirectory[0])
mkPath(log, ExportBuildDirectory + "/" + LigoEcosystemTagExportDirectory)
if (needUpdateDirByTagLogFiltered(log, DatabaseDirectory + "/" + LigoMaxSourceDirectory, ".max", ExportBuildDirectory + "/" + LigoEcosystemTagExportDirectory, ".max.tag", [ "zonematerial", "zonetransition", "zonespecial" ])):
tagDirectory = ExportBuildDirectory + "/" + LigoEcosystemTagExportDirectory
mkPath(log, tagDirectory)
if (needUpdateDirByTagLogFiltered(log, DatabaseDirectory + "/" + LigoMaxSourceDirectory, ".max", tagDirectory, ".max.tag", [ "zonematerial", "zonetransition", "zonespecial" ])):
printLog(log, "WRITE " + ligoIniPath)
ligoIni = open(ligoIniPath, "w")
ligoIni.write("[LigoConfig]\n")
@ -71,34 +74,77 @@ if LigoExportLand == "" or LigoExportOnePass == 1:
ligoIni.write("LigoOldZonePath=" + DatabaseDirectory + "/" + ZoneSourceDirectory[0] + "/\n")
ligoIni.close()
outDirTag = ExportBuildDirectory + "/" + LigoEcosystemTagExportDirectory
logFile = ScriptDirectory + "/processes/ligo/log.log"
outputLogfile = ScriptDirectory + "/processes/ligo/log.log"
smallBank = ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank"
maxRunningTagFile = tagDirectory + "/max_running.tag"
scriptSrc = "maxscript/nel_ligo_export.ms"
scriptDst = MaxUserDirectory + "/scripts/nel_ligo_export.ms"
tagList = findFiles(log, tagDirectory, "", ".max.tag")
tagLen = len(tagList)
if os.path.isfile(scriptDst):
os.remove(scriptDst)
tagDiff = 1
printLog(log, "WRITE " + scriptDst)
sSrc = open(scriptSrc, "r")
sDst = open(scriptDst, "w")
for line in sSrc:
newline = line.replace("output_logfile", logFile)
newline = newline.replace("output_directory_tag", outDirTag)
newline = newline.replace("bankFilename", smallBank)
newline = line.replace("%OutputLogfile%", outputLogfile)
newline = newline.replace("%TagDirectory%", tagDirectory)
newline = newline.replace("%SmallBankFilename%", smallBank)
sDst.write(newline)
sSrc.close()
sDst.close()
printLog(log, "MAXSCRIPT " + scriptDst)
subprocess.call([ Max, "-U", "MAXScript", "nel_ligo_export.ms", "-q", "-mi", "-mip" ])
zeroRetryLimit = 3
while tagDiff > 0:
mrt = open(maxRunningTagFile, "w")
mrt.write("moe-moe-kyun")
mrt.close()
printLog(log, "MAXSCRIPT " + scriptDst)
subprocess.call([ Max, "-U", "MAXScript", "nel_ligo_export.ms", "-q", "-mi", "-mip" ])
if os.path.exists(outputLogfile):
try:
lSrc = open(outputLogfile, "r")
for line in lSrc:
lineStrip = line.strip()
if (len(lineStrip) > 0):
printLog(log, lineStrip)
lSrc.close()
os.remove(outputLogfile)
except Exception:
printLog(log, "ERROR Failed to read 3dsmax log")
else:
printLog(log, "WARNING No 3dsmax log")
tagList = findFiles(log, tagDirectory, "", ".max.tag")
newTagLen = len(tagList)
tagDiff = newTagLen - tagLen
tagLen = newTagLen
addTagDiff = 0
if os.path.exists(maxRunningTagFile):
printLog(log, "FAIL 3ds Max crashed and/or file export failed!")
if tagDiff == 0:
if zeroRetryLimit > 0:
zeroRetryLimit = zeroRetryLimit - 1
addTagDiff = 1
else:
printLog(log, "FAIL Retry limit reached!")
else:
addTagDiff = 1
os.remove(maxRunningTagFile)
printLog(log, "Exported " + str(tagDiff) + " .max files!")
tagDiff += addTagDiff
os.remove(scriptDst)
printLog(log, "")
log.close()
if os.path.isfile("log.log"):
os.remove("log.log")
shutil.move("temp_log.log", "log.log")
# end of file

@ -16,6 +16,7 @@ TransitionNumBis = #( 5, 4, 2, 3, 7, 6, 0, 1, 8)
NEL3D_APPDATA_IGNAME = 1423062564 -- string : name of the Instance Group
tagThisFile = true
removeRunningTag = true
-- Unhide layers
fn unhidelayers =
@ -83,9 +84,12 @@ fn lowercase instring =
)
-- Allocate 20 Me for the script
heapSize += 15000000
heapSize += 30000000
nlErrorFilename = "output_logfile"
-- In case of error just abort the app and don't show nel report window
NelForceQuitOnMsgDisplayer()
nlErrorFilename = "%OutputLogfile%"
nlErrorStream = openFile nlErrorFilename mode:"a"
if nlErrorStream == undefined then
nlErrorStream = createFile nlErrorFilename
@ -233,16 +237,19 @@ fn isToBeExportedCollision node =
return false
)
-- Export collisions from the current loaded zone
fn exportCollisionsFromZone outputNelDir filename =
fn selectCollisionsForExport =
(
-- Select all collision mesh
max select none
clearSelection()
anySelected = false;
for m in geometry do
(
if (isToBeExportedCollision m) == true then
(
selectmore m
anySelected = true
)
)
for node in objects where classOf node == XRefObject do
(
@ -250,10 +257,18 @@ fn exportCollisionsFromZone outputNelDir filename =
if (superclassOf sourceObject == GeometryClass) then
(
if (isToBeExportedCollision node) == true then
(
selectmore node
anySelected = true
)
)
)
return anySelected
)
-- Export collisions from the current loaded zone
fn exportCollisionsFromZone outputNelDir filename =
(
-- Export the collision
if (NelExportCollision ($selection as array) outputNelDir) == false then
(
@ -384,8 +399,8 @@ fn exportInstanceGroupFromZone inputFile outputPath igName transitionZone cellSi
output = (outputPath + ig_array[ig] + ".ig")
-- Check date
if (NeLTestFileDate output inputFile) == true then
(
-- if (NeLTestFileDate output inputFile) == true then
-- (
-- Select none
max select none
clearSelection()
@ -456,12 +471,12 @@ fn exportInstanceGroupFromZone inputFile outputPath igName transitionZone cellSi
nlerror ("ERROR fatal error exporting ig "+ig_array[ig]+" in file "+inputFile)
tagThisFile = false
)
)
else
(
nlerror ("SKIPPED ligo ig "+output)
tagThisFile = false
)
-- )
-- else
-- (
-- nlerror ("SKIPPED ligo ig "+output)
-- tagThisFile = false
-- )
)
)
)
@ -484,7 +499,7 @@ MaxFilesList = getFiles (ligo_root_path + "*.max")
try
(
-- Set the bank pathname
bank_filename = "bankFilename"
bank_filename = "%SmallBankFilename%"
NelSetTileBank bank_filename
cellSize = NeLLigoGetCellSize ()
@ -500,7 +515,7 @@ try
if (tokenArray.count == 3) and (tokenArray[1] == "zonematerial") then
(
-- Get the tag file name
tag = ("output_directory_tag/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
tag = ("%TagDirectory%/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
-- Compare date with the tag file
if (NeLTestFileDate tag curFileName) == true then
@ -511,8 +526,17 @@ try
resetMAXFile #noprompt
nlerror ("Scanning file "+curFileName+" ...")
mergeMaxFile curFileName quiet:true
objXRefMgr.UpdateAllRecords()
loadMaxFile curFileName quiet:true
try
(
nlerror("Update XRef records...")
objXRefMgr.UpdateAllRecords()
)
catch
(
nlerror("ERROR Failed to update XRef! (DON'T TAG)...")
tagThisFile = false
)
-- Unhide category
unhidelayers()
@ -580,25 +604,32 @@ try
)
-- export collisions
try
(
nlerror("exportCollisionsFromZone " + curFileName)
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
)
catch
if selectCollisionsForExport() then
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
try
(
nlerror("exportCollisionsFromZone " + curFileName)
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
nlerror("past exportCollisionsFromZone")
)
catch
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
)
)
-- Write a tag file
nlerror("check to write tag")
if tagThisFile == true then
(
nlerror("tagThisFile " + curFileName)
nlerror("TAG " + curFileName)
nlerror("TAGFILE " + tag)
tagFile = createFile tag
if tagFile == undefined then
(
nlerror ("WARNING can't create tag file "+tag)
removeRunningTag = false
)
else
(
@ -606,6 +637,11 @@ try
close tagFile
)
)
else
(
nlerror("NOT TAGGING " + curFileName)
removeRunningTag = false
)
resetMAXFile #noprompt
gc ()
@ -648,7 +684,7 @@ try
)
-- Get the tag file name
tag = ("output_directory_tag/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
tag = ("%TagDirectory%/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
-- Compare date with the tag file
if (NeLTestFileDate tag curFileName) == true then
@ -659,8 +695,17 @@ try
resetMAXFile #noprompt
nlerror ("Scanning file "+curFileName+" ...")
mergeMaxFile curFileName quiet:true
objXRefMgr.UpdateAllRecords()
loadMaxFile curFileName quiet:true
try
(
nlerror("Update XRef records...")
objXRefMgr.UpdateAllRecords()
)
catch
(
nlerror("ERROR Failed to update XRef! (DON'T TAG)...")
tagThisFile = false
)
-- Unhide category
unhidelayers()
@ -804,6 +849,7 @@ try
-- export igs
try
(
nlerror("exportInstanceGroupFromZone " + curFileName)
exportInstanceGroupFromZone curFileName (ligo_export_path + "igs\\") (lowercase (zoneBaseName)) zone cellSize
)
catch
@ -813,14 +859,18 @@ try
)
-- export collisions
try
(
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
)
catch
if selectCollisionsForExport() then
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
try
(
nlerror("exportCollisionsFromZone " + curFileName)
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
)
catch
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
)
)
)
)
@ -828,10 +878,13 @@ try
-- Write a tag file
if tagThisFile == true then
(
nlerror("TAG " + curFileName)
nlerror("TAGFILE " + tag)
tagFile = createFile tag
if tagFile == undefined then
(
nlerror ("WARNING can't create tag file "+tag)
removeRunningTag = false
)
else
(
@ -839,6 +892,11 @@ try
close tagFile
)
)
else
(
nlerror("NOT TAGGING " + curFileName)
removeRunningTag = false
)
)
resetMAXFile #noprompt
@ -864,7 +922,7 @@ try
if (tokenArray.count == 2) and (tokenArray[1] == "zonespecial") then
(
-- Get the tag file name
tag = ("output_directory_tag/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
tag = ("%TagDirectory%/"+(getFilenameFile curFileName)+(getFilenameType curFileName)+".tag")
-- Compare date with the tag file
if (NeLTestFileDate tag curFileName) == true then
@ -875,8 +933,17 @@ try
resetMAXFile #noprompt
nlerror ("Scanning file "+curFileName+" ...")
mergeMaxFile curFileName quiet:true
objXRefMgr.UpdateAllRecords()
loadMaxFile curFileName quiet:true
try
(
nlerror("Update XRef records...")
objXRefMgr.UpdateAllRecords()
)
catch
(
nlerror("ERROR Failed to update XRef! (DON'T TAG)...")
tagThisFile = false
)
-- Unhide category
unhidelayers()
@ -930,6 +997,7 @@ try
-- export matching igs
try
(
nlerror("exportInstanceGroupFromZone " + curFileName)
exportInstanceGroupFromZone curFileName (ligo_export_path + "igs\\") "" 0 cellSize
)
catch
@ -939,23 +1007,30 @@ try
)
-- export collisions
try
(
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
)
catch
if selectCollisionsForExport() then
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
try
(
nlerror("exportCollisionsFromZone " + curFileName)
exportCollisionsFromZone (ligo_export_path + "cmb\\") curFileName
)
catch
(
nlerror("couldn't export collision for " + curFileName)
tagThisFile = false
)
)
-- Write a tag file
if tagThisFile == true then
(
nlerror("TAG " + curFileName)
nlerror("TAGFILE " + tag)
tagFile = createFile tag
if tagFile == undefined then
(
nlerror ("WARNING can't create tag file "+tag)
removeRunningTag = false
)
else
(
@ -963,6 +1038,11 @@ try
close tagFile
)
)
else
(
nlerror("NOT TAGGING " + curFileName)
removeRunningTag = false
)
resetMAXFile #noprompt
gc ()
@ -978,13 +1058,38 @@ try
catch
(
-- Error
nlerror ("ERROR fatal error exporting ligo zone in folder"+ligo_root_path)
nlerror("ERROR fatal error exporting ligo zone in folder"+ligo_root_path)
nlerror("FAIL Fatal error occurred")
NelForceQuitRightNow()
removeRunningTag = false
tagThisFile = false
)
try
(
if (removeRunningTag) then
(
resetMAXFile #noPrompt
)
)
catch
(
nlerror("FAIL Last reset fails")
removeRunningTag = false
)
if (removeRunningTag) then
(
nlerror("SUCCESS All .max files have been successfully exported")
deleteFile("%TagDirectory%/max_running.tag")
)
else
(
nlerror("FAIL One or more issues occurred")
NelForceQuitRightNow()
)
resetMAXFile #noprompt
nlerror("BYE")
quitMAX #noPrompt
quitMAX () #noPrompt

@ -102,6 +102,26 @@ NEL3D_APPDATA_COLLISION = 1423062613
NEL3D_APPDATA_COLLISION_EXTERIOR = 1423062614
NEL3D_APPDATA_AUTOMATIC_ANIMATION = 1423062617
-- Lower case
fn lowercase instring =
(
local upper, lower, outstring
upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower="abcdefghijklmnopqrstuvwxyz"
outstring = copy instring
for iii = 1 to outstring.count do
(
jjj = findString upper outstring[iii]
if (jjj != undefined) then
outstring[iii] = lower[jjj]
else
outstring[iii] = instring[iii]
)
return outstring -- value of outstring will be returned as function result
)
-- This node is n accelerator ?
fn isAccelerator node =
(
@ -363,9 +383,9 @@ fn runNelMaxExportSub inputMaxFile retryCount =
(
-- Output directory
if (haveCoarseMesh node) == true then
output = ("%OutputDirectoryWithCoarseMesh%/" + (node.name) + ".shape")
output = ("%OutputDirectoryWithCoarseMesh%/" + lowercase(node.name) + ".shape")
else
output = ("%OutputDirectoryWithoutCoarseMesh%/" + (node.name) + ".shape")
output = ("%OutputDirectoryWithoutCoarseMesh%/" + lowercase(node.name) + ".shape")
-- Compare file date
if (NeLTestFileDate output inputMaxFile) == true then

@ -157,7 +157,7 @@ static void cbDatabaseVar(CConfigFile::CVar &var)
#endif
sqlQuery("set names utf8");
sqlQuery("set names utf8mb4");
}
void sqlInit()

@ -25,7 +25,6 @@
#include "game_share/generic_xml_msg_mngr.h"
#include "game_share/msg_client_server.h"
#include "game_share/bot_chat_types.h"
#include "game_share/news_types.h"
#include "game_share/mode_and_behaviour.h"
#include "game_share/chat_group.h"
#include "game_share/character_summary.h"

@ -1,36 +0,0 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef RY_NEWS_TYPES_H
#define RY_NEWS_TYPES_H
namespace NEWSTYPE
{
enum TNewsType
{
Unknown,
General,
FyrosWorker,
FyrosTrainer,
FyrosGeneral,
};
};
#endif // RY_NEWS_TYPES_H
/* End of news_types.h */

@ -23,7 +23,6 @@
// Nel Misc
#include "nel/misc/types_nl.h"
#include "nel/misc/entity_id.h"
#include "game_share/news_types.h"
#include "game_share/bot_chat_types.h"
// the class

File diff suppressed because it is too large Load Diff

@ -1,58 +0,0 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#error "Deprecated"
#ifndef RYAI_BOT_CHAT_INTERFACE_H
#define RYAI_BOT_CHAT_INTERFACE_H
// Nel Misc
#include "nel/misc/types_nl.h"
#include "nel/misc/entity_id.h"
#include "game_share/news_types.h"
#include "game_share/bot_chat_types.h"
// the class
class CBotChatInterface
{
public:
// the callback type for user callbacks for start of bot chat
// returns the name of the bot chat automaton to use
// if an empty string is returned no bot chat is launched
typedef std::string (*TCallbackBegin)(NLMISC::CEntityId player,NLMISC::CEntityId bot);
// the callback types for user callback for end of bot chat
// called just after the chat session has been closed
typedef void (*TCallbackEnd)(NLMISC::CEntityId player,NLMISC::CEntityId bot);
public:
// classic init() and release()
static void init(TCallbackBegin cbBegin=NULL,TCallbackEnd cbEnd=NULL);
static void release();
// build a vector of the players currently chatting with a given bot
// this routine may not be very fast as the entire bot chat map is
// parsed in order to build the vector
static void getBotChatPartners(NLMISC::CEntityId bot,std::vector<NLMISC::CEntityId> &result);
// routines to force the end of a bot chat
static void endChatForPlayer(NLMISC::CEntityId player);
static void endAllChatForBot(NLMISC::CEntityId bot);
};
#endif

@ -21,7 +21,6 @@
#include "game_share/tick_event_handler.h"
#include "game_share/msg_client_server.h"
#include "game_share/mode_and_behaviour.h" //TEMP!!!
#include "game_share/news_types.h"
#include "game_share/bot_chat_types.h"
#include "game_share/brick_types.h"
#include "game_share/loot_harvest_state.h"
@ -35,7 +34,6 @@
#include "nel/misc/command.h"
#include "nel/net/message.h"
#include "news_manager.h"
#include "string_manager.h"
#include "messages.h"
//#include "ios_pd.h"

@ -1,83 +0,0 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "stdpch.h"
#include "news_manager.h"
#include "input_output_service.h"
//#include "game_share/generic_msg_mngr.h"
#include "game_share/msg_client_server.h"
#include "game_share/news_types.h"
using namespace std;
using namespace NLMISC;
using namespace NLNET;
class CNewsEntry
{
public:
CNewsEntry () : Type(NEWSTYPE::Unknown) { }
CNewsEntry (NEWSTYPE::TNewsType type, const string &stringId, const vector<uint64> &args) : Type(type), StringId(StringId), Args(args) { }
NEWSTYPE::TNewsType Type;
string StringId;
vector<uint64> Args;
};
deque<CNewsEntry> News;
static void cbAddNews (CMessage& msgin, const std::string &serviceName, TServiceId serviceId )
{
NEWSTYPE::TNewsType type = NEWSTYPE::Unknown;
string stringId;
vector<uint64> args;
msgin.serialEnum (type);
msgin.serial (stringId);
msgin.serialCont (args);
News.push_back(CNewsEntry(type, stringId, args));
nlinfo ("added news %s for type %d from service %s", stringId.c_str(), type, serviceName.c_str());
}
static TUnifiedCallbackItem CbArray[]=
{
{ "ADD_NEWS", cbAddNews },
};
void CNewsManager::init()
{
CUnifiedNetwork::getInstance()->addCallbackArray(CbArray, sizeof (CbArray) / sizeof (CbArray[0]));
}
void CNewsManager::getNews (NEWSTYPE::TNewsType type, CBitMemStream &bms)
{
nlassert (type != NEWSTYPE::Unknown);
sint val = (sint)frand ((float)News.size());
string res;
//CChatManager::getStaticDB ().getInfos (News[val].stringId, res, bms);
nlinfo ("sending news '%s' '%s' with %d args", News[val].StringId.c_str(), res.c_str(), News[val].Args.size());
//bms.serial (News[val].stringId);
bms.serialCont (News[val].Args);
}

@ -1,60 +0,0 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef NEWS_MANAGER_H
#define NEWS_MANAGER_H
// misc
#include "nel/misc/types_nl.h"
#include "nel/misc/bit_mem_stream.h"
// game share
#include "game_share/ryzom_entity_id.h"
//#include "game_share/chat_static_database.h"
//#include "game_share/chat_dynamic_database.h"
#include "game_share/news_types.h"
// std
#include <map>
#include <string>
/**
* CNewsManager
* \author Vianney Lecroart
* \author Nevrax France
* \date 2002
*/
class CNewsManager
{
public :
/**
* Init the manager.
*/
static void init ();
/// return a news of a given type
static void getNews (NEWSTYPE::TNewsType type, NLMISC::CBitMemStream &bms);
};
#endif // NEWS_MANAGER_H
/* End of news_manager.h */

@ -74,7 +74,6 @@
#include "game_share/mirror_prop_value.h"
#include "game_share/mode_and_behaviour.h"
#include "game_share/msg_client_server.h"
#include "game_share/news_types.h"
#include "game_share/people.h"
#include "game_share/player_visual_properties.h"
#include "game_share/power_types.h"

@ -1,21 +1,5 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Microsoft Visual C++ generated include file.
// Used by world_editor.rc
//
#define IDC_BROWSE 3
@ -341,7 +325,7 @@
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_3D_CONTROLS 1
#define _APS_NEXT_RESOURCE_VALUE 178
#define _APS_NEXT_RESOURCE_VALUE 179
#define _APS_NEXT_COMMAND_VALUE 33485
#define _APS_NEXT_CONTROL_VALUE 1022
#define _APS_NEXT_SYMED_VALUE 101

@ -118,13 +118,12 @@ const string &CToolsZoneList::getItem (uint32 nIndex)
void CToolsZoneList::DrawItem (LPDRAWITEMSTRUCT lpDrawItemStruct)
{
ASSERT(lpDrawItemStruct->CtlType == ODT_LISTBOX);
LPCTSTR lpszText = (LPCTSTR) lpDrawItemStruct->itemData;
if (lpszText == NULL)
return;
CDC dc;
if (lpDrawItemStruct->itemID >= _BitmapList.size())
return;
if (lpDrawItemStruct->itemID >= _ItemNames.size())
return;
dc.Attach (lpDrawItemStruct->hDC);
@ -168,7 +167,8 @@ void CToolsZoneList::DrawItem (LPDRAWITEMSTRUCT lpDrawItemStruct)
}
// Draw the text.
dc.DrawText (lpszText, _tcslen(lpszText), &rectLeft, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
NLMISC::tstring itemName = NLMISC::utf8ToTStr(_ItemNames[lpDrawItemStruct->itemID]);
dc.DrawText(itemName.c_str(), itemName.size(), &rectLeft, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
// Reset the background color and the text color back to their original values.
dc.SetTextColor (crOldTextColor);

@ -92,17 +92,17 @@ function api_key_management_hook_activate()
CREATE TABLE IF NOT EXISTS `ams_api_keys` (
`SNo` int(10) NOT NULL AUTO_INCREMENT,
`User` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`FrName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`UserType` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`UserCharacter` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`User` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`FrName` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`UserType` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`UserCharacter` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ExpiryDate` date DEFAULT NULL,
`AccessToken` text COLLATE utf8_unicode_ci DEFAULT NULL,
`AccessToken` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AddedOn` datetime DEFAULT NULL,
`Items` text COLLATE utf8_unicode_ci,
`Items` text COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`SNo`),
KEY `User` (`User`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1 ;
--
-- Constraints for table `ams_api_keys`

@ -159,8 +159,8 @@ function domain_management_hook_return_global()
function domain_management_hook_activate()
{
$dbl = new DBLayer( "lib" );
$sql = "INSERT INTO `settings` (Setting)
SELECT 'Domain_Auto_Add' FROM DUAL
$sql = "INSERT INTO `settings` (Setting, Value)
SELECT 'Domain_Auto_Add', 0 FROM DUAL
WHERE NOT EXISTS
(SELECT Setting FROM settings WHERE Setting='Domain_Auto_Add');";

@ -12,7 +12,7 @@
* `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
* `source` text,
* PRIMARY KEY (`name`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre>
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;</pre>
*
* Demo data:
* <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre>

@ -15,7 +15,7 @@
* `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
* `source` text,
* PRIMARY KEY (`name`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre>
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;</pre>
*
* Demo data:
* <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre>

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `nel`
@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS `domain` (
`web_host` varchar(255) NOT NULL DEFAULT '',
`web_host_php` varchar(255) NOT NULL DEFAULT '',
`description` varchar(200) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -53,7 +53,7 @@ CREATE TABLE IF NOT EXISTS `permission` (
`ShardId` int(10) NOT NULL DEFAULT '-1',
`AccessPrivilege` set('OPEN','DEV','RESTRICTED') NOT NULL DEFAULT 'OPEN',
`prim` int(10) unsigned NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -76,7 +76,7 @@ CREATE TABLE IF NOT EXISTS `shard` (
`State` enum('ds_close','ds_dev','ds_restricted','ds_open') NOT NULL DEFAULT 'ds_dev',
`MOTD` text NOT NULL,
`prim` int(10) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='contains all shards information for login system';
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='contains all shards information for login system';
-- --------------------------------------------------------
@ -127,7 +127,7 @@ CREATE TABLE IF NOT EXISTS `user` (
`ValidMerchantCode` varchar(13) NOT NULL DEFAULT '',
`PBC` tinyint(1) NOT NULL DEFAULT '0',
`ApiKeySeed` varchar(8) DEFAULT NULL
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='contains all users information for login system';
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COMMENT='contains all users information for login system';
--
-- Indexes for dumped tables

@ -1,4 +1,4 @@
ALTER TABLE `permission` CHANGE `ClientApplication` `ClientApplication` CHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;
ALTER TABLE `permission` CHANGE `ClientApplication` `ClientApplication` CHAR( 64 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ;
ALTER TABLE `permission` DROP `prim` ;
ALTER TABLE `permission` ADD `PermissionId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;
ALTER TABLE `permission` ADD `DomainId` INT NOT NULL DEFAULT '-1' AFTER `UId` ;

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `ams_web`
@ -38,7 +38,7 @@ CREATE TABLE IF NOT EXISTS `ams_user` (
`Country` char(2) NOT NULL DEFAULT '',
`ReceiveMail` int(1) NOT NULL DEFAULT '1',
`Language` varchar(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Indexes for dumped tables

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `nel_ams_lib`
@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS `ams_querycache` (
`type` varchar(64) NOT NULL,
`query` varchar(512) NOT NULL,
`db` varchar(80) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -42,7 +42,7 @@ CREATE TABLE IF NOT EXISTS `ams_querycache` (
CREATE TABLE IF NOT EXISTS `assigned` (
`Ticket` int(10) unsigned NOT NULL,
`User` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -61,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `email` (
`MessageId` varchar(45) DEFAULT NULL,
`TicketId` int(10) unsigned DEFAULT NULL,
`Sender` int(10) unsigned DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -72,7 +72,7 @@ CREATE TABLE IF NOT EXISTS `email` (
CREATE TABLE IF NOT EXISTS `forwarded` (
`Group` int(10) unsigned NOT NULL,
`Ticket` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS `forwarded` (
CREATE TABLE IF NOT EXISTS `in_group` (
`Ticket_Group` int(10) unsigned NOT NULL,
`Ticket` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -94,7 +94,7 @@ CREATE TABLE IF NOT EXISTS `in_group` (
CREATE TABLE IF NOT EXISTS `in_support_group` (
`User` int(10) unsigned NOT NULL,
`Group` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -112,7 +112,7 @@ CREATE TABLE IF NOT EXISTS `plugins` (
`Status` int(11) NOT NULL DEFAULT '0',
`Weight` int(11) NOT NULL DEFAULT '0',
`Info` text
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `plugins`
@ -136,7 +136,7 @@ CREATE TABLE IF NOT EXISTS `support_group` (
`IMAP_MailServer` varchar(60) DEFAULT NULL,
`IMAP_Username` varchar(45) DEFAULT NULL,
`IMAP_Password` varchar(90) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -147,7 +147,7 @@ CREATE TABLE IF NOT EXISTS `support_group` (
CREATE TABLE IF NOT EXISTS `tag` (
`TagId` int(10) unsigned NOT NULL,
`Value` varchar(60) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -158,7 +158,7 @@ CREATE TABLE IF NOT EXISTS `tag` (
CREATE TABLE IF NOT EXISTS `tagged` (
`Ticket` int(10) unsigned NOT NULL,
`Tag` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -175,7 +175,7 @@ CREATE TABLE IF NOT EXISTS `ticket` (
`Ticket_Category` int(10) unsigned NOT NULL,
`Author` int(10) unsigned NOT NULL,
`Priority` int(3) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -186,7 +186,7 @@ CREATE TABLE IF NOT EXISTS `ticket` (
CREATE TABLE IF NOT EXISTS `ticket_category` (
`TCategoryId` int(10) unsigned NOT NULL,
`Name` varchar(45) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `ticket_category`
@ -208,7 +208,7 @@ INSERT INTO `ticket_category` (`TCategoryId`, `Name`) VALUES
CREATE TABLE IF NOT EXISTS `ticket_content` (
`TContentId` int(10) unsigned NOT NULL,
`Content` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -219,7 +219,7 @@ CREATE TABLE IF NOT EXISTS `ticket_content` (
CREATE TABLE IF NOT EXISTS `ticket_group` (
`TGroupId` int(10) unsigned NOT NULL,
`Title` varchar(80) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -248,7 +248,7 @@ CREATE TABLE IF NOT EXISTS `ticket_info` (
`PlayerName` varchar(45) DEFAULT NULL,
`UserId` int(11) DEFAULT NULL,
`TimeInGame` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -262,7 +262,7 @@ CREATE TABLE IF NOT EXISTS `ticket_log` (
`Query` varchar(255) NOT NULL,
`Ticket` int(10) unsigned NOT NULL,
`Author` int(10) unsigned DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -277,7 +277,7 @@ CREATE TABLE IF NOT EXISTS `ticket_reply` (
`Content` int(10) unsigned NOT NULL,
`Timestamp` timestamp NULL DEFAULT NULL,
`Hidden` tinyint(1) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -289,7 +289,7 @@ CREATE TABLE IF NOT EXISTS `ticket_user` (
`TUserId` int(10) unsigned NOT NULL,
`Permission` int(3) NOT NULL DEFAULT '1',
`ExternId` int(10) unsigned NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -300,9 +300,9 @@ CREATE TABLE IF NOT EXISTS `ticket_user` (
CREATE TABLE IF NOT EXISTS `updates` (
`s.no` int(10) NOT NULL,
`PluginId` int(10) DEFAULT NULL,
`UpdatePath` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`UpdateInfo` text CHARACTER SET utf8 COLLATE utf8_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
`UpdatePath` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`UpdateInfo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Indexes for dumped tables

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `nel_ams_lib`
@ -29,12 +29,12 @@ SET time_zone = "+00:00";
CREATE TABLE IF NOT EXISTS `ticket_attachments` (
`idticket_attachments` int(10) unsigned NOT NULL,
`ticket_TId` int(10) unsigned NOT NULL,
`Filename` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
`Filename` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL,
`Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`Filesize` int(10) NOT NULL,
`Uploader` int(10) unsigned NOT NULL,
`Path` VARCHAR(128) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Indexes for dumped tables

@ -1 +1 @@
ALTER TABLE `ticket_attachments` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `ticket_attachments` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

@ -1,8 +1,8 @@
CREATE TABLE IF NOT EXISTS `settings` (
`idSettings` int(11) NOT NULL,
`Setting` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`Value` varchar(256) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
`Setting` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`Value` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `settings` (`idSettings`, `Setting`, `Value`) VALUES
(1, 'userRegistration', '0');

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `nel_tool`
@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS `neltool_annotations` (
PRIMARY KEY (`annotation_id`),
UNIQUE KEY `annotation_shard_id` (`annotation_shard_id`),
UNIQUE KEY `annotation_domain_id` (`annotation_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `neltool_annotations`
@ -60,7 +60,7 @@ CREATE TABLE IF NOT EXISTS `neltool_applications` (
`application_visible` int(11) NOT NULL DEFAULT '0',
`application_icon` varchar(128) NOT NULL DEFAULT '',
PRIMARY KEY (`application_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=40 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=40 ;
--
-- Dumping data for table `neltool_applications`
@ -126,7 +126,7 @@ CREATE TABLE IF NOT EXISTS `neltool_domains` (
`domain_mfs_web` text,
`domain_cs_sql_string` varchar(255) DEFAULT NULL,
PRIMARY KEY (`domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -143,7 +143,7 @@ CREATE TABLE IF NOT EXISTS `neltool_groups` (
`group_default_domain_id` tinyint(3) unsigned DEFAULT NULL,
`group_default_shard_id` smallint(3) unsigned DEFAULT NULL,
PRIMARY KEY (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=10 ;
--
-- Dumping data for table `neltool_groups`
@ -172,7 +172,7 @@ CREATE TABLE IF NOT EXISTS `neltool_group_applications` (
PRIMARY KEY (`group_application_id`),
KEY `group_application_group_id` (`group_application_group_id`),
KEY `group_application_application_id` (`group_application_application_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=966 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=966 ;
--
-- Dumping data for table `neltool_group_applications`
@ -370,7 +370,7 @@ CREATE TABLE IF NOT EXISTS `neltool_group_domains` (
`group_domain_domain_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`group_domain_id`),
KEY `group_domain_group_id` (`group_domain_group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -386,7 +386,7 @@ CREATE TABLE IF NOT EXISTS `neltool_group_shards` (
PRIMARY KEY (`group_shard_id`),
KEY `group_shard_group_id` (`group_shard_group_id`),
KEY `group_shard_domain_id` (`group_shard_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `neltool_group_shards`
@ -408,7 +408,7 @@ CREATE TABLE IF NOT EXISTS `neltool_locks` (
PRIMARY KEY (`lock_id`),
UNIQUE KEY `lock_shard_id` (`lock_shard_id`),
UNIQUE KEY `lock_domain_id` (`lock_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -422,7 +422,7 @@ CREATE TABLE IF NOT EXISTS `neltool_logs` (
`logs_date` int(11) NOT NULL DEFAULT '0',
`logs_data` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`logs_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -439,7 +439,7 @@ CREATE TABLE IF NOT EXISTS `neltool_notes` (
`note_active` int(11) NOT NULL DEFAULT '0',
`note_global` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`note_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=11 ;
--
-- Dumping data for table `neltool_notes`
@ -469,7 +469,7 @@ CREATE TABLE IF NOT EXISTS `neltool_restart_groups` (
PRIMARY KEY (`restart_group_id`),
UNIQUE KEY `restart_group_id` (`restart_group_id`),
KEY `restart_group_id_2` (`restart_group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=6 ;
--
-- Dumping data for table `neltool_restart_groups`
@ -495,7 +495,7 @@ CREATE TABLE IF NOT EXISTS `neltool_restart_messages` (
PRIMARY KEY (`restart_message_id`),
UNIQUE KEY `restart_message_id` (`restart_message_id`),
KEY `restart_message_id_2` (`restart_message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=11 ;
--
-- Dumping data for table `neltool_restart_messages`
@ -523,7 +523,7 @@ CREATE TABLE IF NOT EXISTS `neltool_restart_sequences` (
`restart_sequence_date_end` int(11) DEFAULT NULL,
`restart_sequence_timer` int(11) unsigned DEFAULT '0',
PRIMARY KEY (`restart_sequence_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -540,7 +540,7 @@ CREATE TABLE IF NOT EXISTS `neltool_shards` (
`shard_restart` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`shard_id`),
KEY `shard_domain_id` (`shard_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -561,7 +561,7 @@ CREATE TABLE IF NOT EXISTS `neltool_stats_hd_datas` (
PRIMARY KEY (`hd_id`),
KEY `hd_domain_id` (`hd_domain_id`),
KEY `hd_server` (`hd_server`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -573,7 +573,7 @@ CREATE TABLE IF NOT EXISTS `neltool_stats_hd_times` (
`hd_domain_id` int(11) NOT NULL DEFAULT '0',
`hd_last_time` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`hd_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -595,7 +595,7 @@ CREATE TABLE IF NOT EXISTS `neltool_users` (
UNIQUE KEY `user_login` (`user_name`),
KEY `user_group_id` (`user_group_id`),
KEY `user_active` (`user_active`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -610,7 +610,7 @@ CREATE TABLE IF NOT EXISTS `neltool_user_applications` (
PRIMARY KEY (`user_application_id`),
KEY `user_application_user_id` (`user_application_user_id`),
KEY `user_application_application_id` (`user_application_application_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -624,7 +624,7 @@ CREATE TABLE IF NOT EXISTS `neltool_user_domains` (
`user_domain_domain_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`user_domain_id`),
KEY `user_domain_user_id` (`user_domain_user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -640,7 +640,7 @@ CREATE TABLE IF NOT EXISTS `neltool_user_shards` (
PRIMARY KEY (`user_shard_id`),
KEY `user_shard_user_id` (`user_shard_user_id`),
KEY `user_shard_domain_id` (`user_shard_domain_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

@ -14,7 +14,7 @@ SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `ring_mini01`
@ -49,7 +49,7 @@ CREATE TABLE IF NOT EXISTS `characters` (
KEY `user_id_idx` (`user_id`),
KEY `guild_idx` (`guild_id`),
KEY `guild_id_idx` (`guild_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
@ -65,7 +65,7 @@ CREATE TABLE IF NOT EXISTS `folder` (
PRIMARY KEY (`Id`),
KEY `owner_idx` (`owner`),
KEY `title_idx` (`title`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -80,7 +80,7 @@ CREATE TABLE IF NOT EXISTS `folder_access` (
PRIMARY KEY (`Id`),
KEY `folder_id_idx` (`folder_id`),
KEY `user_idx` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -95,7 +95,7 @@ CREATE TABLE IF NOT EXISTS `guilds` (
PRIMARY KEY (`guild_id`),
KEY `shard_id_idx` (`shard_id`),
KEY `guild_name_idx` (`guild_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
-- --------------------------------------------------------
@ -110,7 +110,7 @@ CREATE TABLE IF NOT EXISTS `guild_invites` (
PRIMARY KEY (`Id`),
KEY `guild_id_idx` (`guild_id`),
KEY `session_id_idx` (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -127,7 +127,7 @@ CREATE TABLE IF NOT EXISTS `journal_entry` (
`time_stamp` datetime NOT NULL DEFAULT '2005-09-07 12:41:33',
PRIMARY KEY (`Id`),
KEY `session_id_idx` (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -144,7 +144,7 @@ CREATE TABLE IF NOT EXISTS `known_users` (
`comments` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`Id`),
KEY `user_index` (`owner`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -158,7 +158,7 @@ CREATE TABLE IF NOT EXISTS `mfs_erased_mail_series` (
`erased_series` int(11) unsigned NOT NULL AUTO_INCREMENT,
`erase_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`erased_series`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -175,7 +175,7 @@ CREATE TABLE IF NOT EXISTS `mfs_guild_thread` (
`post_count` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`thread_id`),
KEY `guild_index` (`guild_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -190,7 +190,7 @@ CREATE TABLE IF NOT EXISTS `mfs_guild_thread_message` (
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -209,7 +209,7 @@ CREATE TABLE IF NOT EXISTS `mfs_mail` (
`content` text NOT NULL,
PRIMARY KEY (`id`),
KEY `dest_index` (`dest_char_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -223,7 +223,7 @@ CREATE TABLE IF NOT EXISTS `outlands` (
`billing_instance_id` int(11) unsigned NOT NULL DEFAULT '0',
`anim_session_id` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -247,7 +247,7 @@ CREATE TABLE IF NOT EXISTS `player_rating` (
PRIMARY KEY (`Id`),
KEY `session_id_idx` (`scenario_id`),
KEY `author_idx` (`author`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -276,7 +276,7 @@ CREATE TABLE IF NOT EXISTS `ring_users` (
UNIQUE KEY `user_name_idx` (`user_name`),
KEY `cookie_idx` (`cookie`),
KEY `current_session_idx` (`current_session`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
-- --------------------------------------------------------
@ -297,7 +297,7 @@ CREATE TABLE IF NOT EXISTS `scenario` (
`level` enum('sl_a','sl_b','sl_c','sl_d','sl_e','sl_f') NOT NULL DEFAULT 'sl_a',
`allow_free_trial` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -316,7 +316,7 @@ CREATE TABLE IF NOT EXISTS `scenario_desc` (
PRIMARY KEY (`session_id`),
UNIQUE KEY `title_idx` (`title`),
KEY `parent_idx` (`parent_scenario`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
-- --------------------------------------------------------
@ -358,7 +358,7 @@ CREATE TABLE IF NOT EXISTS `sessions` (
KEY `owner_idx` (`owner`),
KEY `folder_idx` (`folder_id`),
KEY `state_type_idx` (`state`,`session_type`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1001 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1001 ;
-- --------------------------------------------------------
@ -377,7 +377,7 @@ CREATE TABLE IF NOT EXISTS `session_log` (
`owner` varchar(32) NOT NULL DEFAULT '0',
`guild_name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
-- --------------------------------------------------------
@ -395,7 +395,7 @@ CREATE TABLE IF NOT EXISTS `session_participant` (
PRIMARY KEY (`Id`),
KEY `session_idx` (`session_id`),
KEY `user_idx` (`char_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@ -410,7 +410,7 @@ CREATE TABLE IF NOT EXISTS `shard` (
`OldState` enum('ds_close','ds_dev','ds_restricted','ds_open') NOT NULL DEFAULT 'ds_restricted',
`RequiredState` enum('ds_close','ds_dev','ds_restricted','ds_open') NOT NULL DEFAULT 'ds_dev',
PRIMARY KEY (`shard_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ROW_FORMAT=FIXED;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

@ -7,11 +7,11 @@
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!40101 SET NAMES utf8mb4 */;
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
-- Dumping database structure for webig
-- CREATE DATABASE IF NOT EXISTS `webig` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
-- CREATE DATABASE IF NOT EXISTS `webig` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin */;
-- USE `webig`;
@ -19,20 +19,20 @@
CREATE TABLE IF NOT EXISTS `players` (
`id` INT(32) NOT NULL AUTO_INCREMENT,
`cid` INT(32) NOT NULL DEFAULT '0',
`name` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '0',
`name` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
`gender` INT(1) NOT NULL DEFAULT '0',
`creation_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
`last_login` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
`dev_shard` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-- Dumping structure for table webig.accounts
CREATE TABLE IF NOT EXISTS `accounts` (
`uid` INT(10) DEFAULT NULL,
`web_privs` VARCHAR(255) COLLATE utf8_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
`web_privs` VARCHAR(255) COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
-- Data exporting was unselected.
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;

@ -134,7 +134,7 @@ class ryDB {
global $_RYZOM_API_CONFIG;
$this->db_name = $db_name;
$this->db = new ServerDatabase(RYAPI_WEBDB_HOST, RYAPI_WEBDB_LOGIN, RYAPI_WEBDB_PASS, $db_name);
$this->db->query("SET NAMES utf8");
$this->db->query("SET NAMES utf8mb4");
}
public static function getInstance($db_name) {
@ -480,7 +480,7 @@ class ryDB {
$c = "Updating DB Structure...\n";
foreach ($defs as $dbname => $tables) {
$db = new ServerDatabase(RYAPI_WEBDB_HOST, RYAPI_WEBDB_LOGIN, RYAPI_WEBDB_PASS, $dbname);
$db->query("SET NAMES utf8");
$db->query("SET NAMES utf8mb4");
$c .= "\n Selected DB '$dbname'\n";
foreach ($tables as $table => $sql)
{

@ -62,7 +62,7 @@ function validate_writable($continue, $path) {
function create_use_database($continue_r, $con, $database) {
$continue = $continue_r;
if ($continue) {
$sql = "CREATE DATABASE `" . mysqli_real_escape_string($con, $database) . "` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;";
$sql = "CREATE DATABASE `" . mysqli_real_escape_string($con, $database) . "` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;";
if (mysqli_query($con, $sql)) {
printalert("success", "Database <em>" . $database . "</em> created");
} else {

@ -35,13 +35,6 @@ require_once('setup/version.php');
printalert("danger", "No server roles selected");
$continue = false;
}
if ($continue) {
if (!extension_loaded('mcrypt')) {
printalert("danger", "The mcrypt extension is missing. Please check your PHP configuration");
$continue = false;
}
}
if ($continue) {
try {
@ -161,8 +154,8 @@ require_once('setup/version.php');
$config = str_replace("%nelDomainName%", addslashes($_POST["nelDomainName"]), $config);
$config = str_replace("%nelSetupVersion%", addslashes($NEL_SETUP_VERSION), $config);
$cryptKeyLength = 16;
$cryptKey = str_replace("=", "", base64_encode(mcrypt_create_iv(ceil(0.75 * $cryptKeyLength), MCRYPT_DEV_URANDOM)));
$cryptKeyIMAP = str_replace("=", "", base64_encode(mcrypt_create_iv(ceil(0.75 * $cryptKeyLength), MCRYPT_DEV_URANDOM)));
$cryptKey = substr(str_replace(['+', '/', '='], '', base64_encode(random_bytes($cryptKeyLength * 2))), 0, $cryptKeyLength);
$cryptKeyIMAP = substr(str_replace(['+', '/', '='], '', base64_encode(random_bytes($cryptKeyLength * 2))), 0, $cryptKeyLength);
$config = str_replace("%cryptKey%", addslashes($cryptKey), $config);
$config = str_replace("%cryptKeyIMAP%", addslashes($cryptKeyIMAP), $config);
if (file_put_contents("config.php", $config)) {

@ -28,13 +28,6 @@ if (!isset($NEL_SETUP_VERSION_CONFIGURED)) {
require_once('database.php');
if ($continue) {
if (!extension_loaded('mcrypt')) {
printalert("danger", "The mcrypt extension is missing. Please check your PHP configuration");
$continue = false;
}
}
if (file_exists("role_support")) {
$continue = upgrade_support_databases($continue);
}

@ -8,7 +8,7 @@ class DATABASE_CONFIG {
'login' => 'webtt',
'password' => 'webtt77',
'database' => 'webtt2',
'encoding' => 'utf8'
'encoding' => 'utf8mb4'
);
var $raw_files = array(
'datasource' => 'RawFilesSource',

@ -872,8 +872,8 @@ class CakeSchemaTest extends CakeTestCase {
'author_id' => array('column' => 'author_id'),
),
'tableParameters' => array(
'charset' => 'utf8',
'collate' => 'utf8_general_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_general_ci',
'engine' => 'MyISAM'
)
),
@ -885,8 +885,8 @@ class CakeSchemaTest extends CakeTestCase {
'PRIMARY' => array('column' => 'id', 'unique' => true),
),
'tableParameters' => array(
'charset' => 'utf8',
'collate' => 'utf8_general_ci'
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_general_ci'
)
)
);
@ -898,8 +898,8 @@ class CakeSchemaTest extends CakeTestCase {
),
'change' => array(
'tableParameters' => array(
'charset' => 'utf8',
'collate' => 'utf8_general_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_general_ci',
'engine' => 'MyISAM'
)
)
@ -910,8 +910,8 @@ class CakeSchemaTest extends CakeTestCase {
),
'change' => array(
'tableParameters' => array(
'charset' => 'utf8',
'collate' => 'utf8_general_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_general_ci',
)
)
)

@ -376,11 +376,11 @@ class DboMysqlTest extends CakeTestCase {
'default',
'null' => true,
'key',
'charset' => 'utf8',
'collate' => 'utf8_unicode_ci'
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_unicode_ci'
);
$result = $this->db->buildColumn($data);
$expected = '`testName` CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL';
$expected = '`testName` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL';
$this->assertEqual($result, $expected);
$this->db->columns = $restore;
}
@ -648,22 +648,22 @@ class DboMysqlTest extends CakeTestCase {
'id' => array('type' => 'integer', 'null' => false, 'default' => 0),
'name' => array('type' => 'string', 'null' => false, 'length' => 50),
'tableParameters' => array(
'charset' => 'utf8',
'collate' => 'utf8_general_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_general_ci',
'engine' => 'InnoDB'
)
)
));
$result = $this->db->alterSchema($schema2->compare($schema1));
$this->assertPattern('/DEFAULT CHARSET=utf8/', $result);
$this->assertPattern('/DEFAULT CHARSET=utf8mb4/', $result);
$this->assertPattern('/ENGINE=InnoDB/', $result);
$this->assertPattern('/COLLATE=utf8_general_ci/', $result);
$this->assertPattern('/COLLATE=utf8mb4_general_ci/', $result);
$this->db->query($result);
$result = $this->db->listDetailedSources('altertest');
$this->assertEqual($result['Collation'], 'utf8_general_ci');
$this->assertEqual($result['Collation'], 'utf8mb4_general_ci');
$this->assertEqual($result['Engine'], 'InnoDB');
$this->assertEqual($result['charset'], 'utf8');
$this->assertEqual($result['charset'], 'utf8mb4');
$this->db->query($this->db->dropSchema($schema1));
}
@ -710,11 +710,11 @@ class DboMysqlTest extends CakeTestCase {
*/
function testReadTableParameters() {
$this->db->cacheSources = false;
$this->db->query('CREATE TABLE ' . $this->db->fullTableName('tinyint') . ' (id int(11) AUTO_INCREMENT, bool tinyint(1), small_int tinyint(2), primary key(id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;');
$this->db->query('CREATE TABLE ' . $this->db->fullTableName('tinyint') . ' (id int(11) AUTO_INCREMENT, bool tinyint(1), small_int tinyint(2), primary key(id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;');
$result = $this->db->readTableParameters('tinyint');
$expected = array(
'charset' => 'utf8',
'collate' => 'utf8_unicode_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_unicode_ci',
'engine' => 'InnoDB');
$this->assertEqual($result, $expected);
@ -738,13 +738,13 @@ class DboMysqlTest extends CakeTestCase {
function testBuildTableParameters() {
$this->db->cacheSources = false;
$data = array(
'charset' => 'utf8',
'collate' => 'utf8_unicode_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_unicode_ci',
'engine' => 'InnoDB');
$result = $this->db->buildTableParameters($data);
$expected = array(
'DEFAULT CHARSET=utf8',
'COLLATE=utf8_unicode_ci',
'DEFAULT CHARSET=utf8mb4',
'COLLATE=utf8mb4_unicode_ci',
'ENGINE=InnoDB');
$this->assertEqual($result, $expected);
}
@ -757,8 +757,8 @@ class DboMysqlTest extends CakeTestCase {
*/
function testGetCharsetName() {
$this->db->cacheSources = false;
$result = $this->db->getCharsetName('utf8_unicode_ci');
$this->assertEqual($result, 'utf8');
$result = $this->db->getCharsetName('utf8mb4_unicode_ci');
$this->assertEqual($result, 'utf8mb4');
$result = $this->db->getCharsetName('cp1250_general_ci');
$this->assertEqual($result, 'cp1250');
}

@ -318,11 +318,11 @@ class DboMysqliTest extends CakeTestCase {
*/
function testReadTableParameters() {
$this->db->cacheSources = $this->db->testing = false;
$this->db->query('CREATE TABLE ' . $this->db->fullTableName('tinyint') . ' (id int(11) AUTO_INCREMENT, bool tinyint(1), small_int tinyint(2), primary key(id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;');
$this->db->query('CREATE TABLE ' . $this->db->fullTableName('tinyint') . ' (id int(11) AUTO_INCREMENT, bool tinyint(1), small_int tinyint(2), primary key(id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;');
$result = $this->db->readTableParameters('tinyint');
$expected = array(
'charset' => 'utf8',
'collate' => 'utf8_unicode_ci',
'charset' => 'utf8mb4',
'collate' => 'utf8mb4_unicode_ci',
'engine' => 'InnoDB');
$this->assertEqual($result, $expected);

Loading…
Cancel
Save