Invision Power Board 2.3.5 Installation
#
#-----[ GOTO ]------------------------------------------
#
IPB Admin Panel
LOOK & FEEL (Tabulation)
#
#-----[ FOR EACH INSTALLED TEMPLATE ]------------------------------------------
#
In the DropDown on the right of the template
Click "Edit Board Header & Footer Wrapper"
#
#-----[ FIND ]------------------------------------------
#
<% JAVASCRIPT %>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<script src="http://www.wardb.com/js/extooltips.js" type="text/javascript"></script>
#
#-----[ SUBMIT, PROCESS NEXT INSTALLED TEMPLATE ]------------------------------------------
#
#
#-----[ SQL, REQUEST ]------------------------------------------
#
DROP TABLE IF EXISTS `wardb_itemcache`;
CREATE TABLE `wardb_itemcache` (
`id` int(32) NOT NULL,
`name_en` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `wardb_npccache`;
CREATE TABLE `wardb_npccache` (
`id` int(32) NOT NULL,
`name_en` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `wardb_questcache`;
CREATE TABLE `wardb_questcache` (
`id` int(32) NOT NULL,
`name_en` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `wardb_spellcache`;
CREATE TABLE `wardb_spellcache` (
`id` int(32) NOT NULL,
`name_en` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
#
#-----[ OPEN ]------------------------------------------
#
IPB/sources/action_public/topics.php
#
#-----[ FIND ]------------------------------------------
#
//-----------------------------------------
// Memory Debug
//-----------------------------------------
$this->ipsclass->memory_debug_add( "PID: ".$row['pid']. " - Completed", $_NOW );
#
#-----[ AFTER, ADD ]------------------------------------------
#
$row['post'] = wardb_parseTags($row['post']);
#
#-----[ FIND ]------------------------------------------
#
$this->ipsclass->memory_debug_add( "TOPIC: topics.php::topic_set_up", $_before );
}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
function wardb_parseTags($message) {
$tags = array(
array('#\[item=?(.*?)?\](.*?)\[/item\]#ie' => "wardb_item('\$1', '\$2')"),
array('#\[spell=?(.*?)?\](.*?)\[/spell\]#ie' => "wardb_spell('\$1', '\$2')"),
array('#\[quest](.*?)\[/quest\]#ie' => "wardb_quest('\$1')"),
array('#\[npc](.*?)\[/npc\]#ie' => "wardb_npc('\$1')")
);
foreach ($tags as $key => $val) {
list($regex, $replace) = each($val);
if (preg_match($regex, $message)) {
$message = preg_replace($regex, $replace, $message);
}
}
return $message;
}
function wardb_getNameFromId($database, $type, $id)
{
global $ipsclass;
$result = mysqli_query($ipsclass->DB->connection_id, "SELECT `name_en` FROM `".$database."` WHERE `id` = '".$id."'");
if ($row = mysqli_fetch_row($result)) {
return $row[0];
} else {
$name = file_get_contents("http://www.wardb.com/ajaxIDLookup.aspx?type=".$type."&id=".$id);
if ($name != "" and $name != "0") {
$name = str_replace(''', "'", $name);
$name = str_replace(''', "'", $name);
$name = str_replace('!', "!", $name);
mysqli_query($ipsclass->DB->connection_id, "INSERT INTO `".$database."` SET `name_en` = '".str_replace("'", "\'", $name)."', id = ".$id);
return $name;
} else
return '';
}
mysqli_free_result($result);
}
function wardb_getIdFromName($database, $type, $name)
{
global $ipsclass;
$name = str_replace(''', "'", $name);
$name = str_replace(''', "'", $name);
$name = str_replace('!', "!", $name);
$result = mysqli_query($ipsclass->DB->connection_id, "SELECT `id` FROM `".$database."` WHERE `name_en` = '".str_replace("'", "\'", $name)."'");
if ($row = mysqli_fetch_array($result)) {
return $row[0];
} else {
$rname = urlencode($name);
$rname = str_replace('%26quot%3B','%22', $rname);
$rname = str_replace('+','%20', $rname);
$id = file_get_contents("http://www.wardb.com/ajaxIDLookup.aspx?type=".$type."&name=".$rname);
if ($id != "" and $id != "0") {
mysqli_query($ipsclass->DB->connection_id, "INSERT INTO `".$database."` SET `name_en` = '".str_replace("'", "\'", $name)."', id = '".$id."'");
return $id;
} else
return 0;
}
mysqli_free_result($result);
}
function wardb_item($modifier, $data)
{
if ($modifier == NULL || ($modifier != 'text' && $modifier != 'full-small' && $modifier != 'full-medium' && $modifier != 'full-large'))
$modifier = 'full-medium';
if ($data == '')
return '';
if (is_numeric($data)) {
$id = $data;
$name = wardb_getNameFromId('wardb_itemcache', 1, $id);
} else {
$name = $data;
$id = wardb_getIdFromName('wardb_itemcache', 1, $name);
}
if ($id != 0 && $name != '')
return '<a class="wardb-item-'.$modifier.'" href="http://www.wardb.com/item.aspx?id='.$id.'">'.$name.'</a>';
return $data;
}
function wardb_spell($modifier, $data)
{
if ($modifier == NULL || ($modifier != 'text' && $modifier != 'full-small' && $modifier != 'full-medium' && $modifier != 'full-large'))
$modifier = 'full-medium';
if ($data == '')
return '';
if (is_numeric($data)) {
$id = $data;
$name = wardb_getNameFromId('wardb_spellcache', 6, $id);
} else {
$name = $data;
$id = wardb_getIdFromName('wardb_spellcache', 6, $name);
}
if ($id != 0 && $name != '')
return '<a class="wardb-spell-'.$modifier.'" href="http://www.wardb.com/spell.aspx?id='.$id.'">'.$name.'</a>';
return $data;
}
function wardb_quest($data)
{
if ($data == '')
return '';
if (is_numeric($data)) {
$id = $data;
$name = wardb_getNameFromId('wardb_questcache', 4, $id);
} else {
$name = $data;
$id = wardb_getIdFromName('wardb_questcache', 4, $name);
}
if ($id != 0 && $name != '')
return '<a class="wardb-quest" href="http://www.wardb.com/quest.aspx?id='.$id.'">'.$name.'</a>';
return $data;
}
function wardb_npc($data)
{
if ($data == '')
return '';
if (is_numeric($data)) {
$id = $data;
$name = wardb_getNameFromId('wardb_npccache', 2, $id);
} else {
$name = $data;
$id = wardb_getIdFromName('wardb_npccache', 2, $name);
}
if ($id != 0 && $name != '')
return '<a class="wardb-npc" href="http://www.wardb.com/npc.aspx?id='.$id.'">'.$name.'</a>';
return $data;
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#