http://www.wowroster.net/MediaWiki/index.php?title=Special:Contributions&feed=atom&deletedOnly=&limit=500&target=Zanix&topOnly=&year=&month=WoWRosterWiKi - User contributions [en]2024-03-29T02:17:08ZFrom WoWRosterWiKiMediaWiki 1.17.0http://www.wowroster.net/MediaWiki/SVN:TortoiseSVNSVN:TortoiseSVN2020-11-20T22:16:23Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to [https://github.com/WoWRoster/ GitHub]}}<br />
<br />
[[Image:TortoiseSVN.png|left]]<br />
==TortoiseSVN Help==<br />
Help with setting up and using TortoiseSVN with the Google Code Project SVN<br />
<br />
<br />
==Set up TortoiseSVN==<br />
First, before you do <u>anything</u>!<br><br />
You need to set up your SVN client so it can update the version meta-data in the files<br />
<br />
In this tutorial, we will be configuring [http://tortoisesvn.net/downloads Tortoise SVN]<br />
<br />
===Opening Config===<br />
All configuring of TortoiseSVN is done through the windows explorer<br><br />
Right click on the white space and select "TortoiseSVN" -> "Settings"<br />
[[Image:SVNConfig1.jpg|thumb|none]]<br />
<br />
The settings window will pop-up<br />
[[Image:SVNConfig2.jpg|thumb|none]]<br />
<br />
Select the "General" tab in the tree menu<br><br />
Then next to "Subversion configuration file:" click on [<u>E</u>dit]<br />
<br />
===Download Config File===<br />
{{Note|Download [http://www.wowroster.net/SVNergy/config.txt this config file] and copy it into your config file overwriting everything}}<br />
<br />
==Checking Out==<br />
Now that you have TortoiseSVN set up on your computer, now you can check-out a repository.<br><br />
"Check-out" is just a fancy name for downloading the repository.<br />
<br />
* Open a normal Windows Explorer (not Internet Explorer).<br />
* Create a folder somewhere, where you want to dump your newest SVN revision.<br />
* Right click the folder, and you'll have some options from TortoiseSVN - one of those is "SVN Checkout...".<br />
* Now you're going to need some links here - you find those by going to the WoWRoster site (you're already here!).<br />
** Browse to [[SVN:Repositories|Repositories]].<br />
** There are three links for each repository Web [[Image:WebLogo.png]], SVN [[Image:SVNLogo.png]], and RSS Feed [[Image:FeedIcon16x16.png]] - click the SVN link.<br />
** This gets you to the folder structure of the repository.<br />
** Click "trunk" to get to the folder containing the newest revision.<br />
** Copy the link in your browser, which should now be pointing to the SVN trunk location<br />
** Paste the link to your SVN Checkout, under "URL of Repository."<br />
* Double check your Checkout directory is the correct folder where you want it dumped.<br />
* Check that it's set to "HEAD Revision" - this ensures you get the newest version - you can also choose to get specific SVN revisions by defining version numbers, if needed.<br />
* Hit OK, and watch it download.<br />
* Congratulations - you've downloaded the newest revision!<br />
<br />
==Updating==<br />
There will be a time when you ask "Some files just got changed in the repository I just downloaded, how do I get those files?"<br><br />
That is a great question, and the answer is "SVN Update"<br />
<br />
* Go to the folder where you checked out a repository.<br />
* Right-click on the folder.<br />
* Click on "SVN Update".<br />
* Watch files get updated.<br />
<br />
==The TortoiseSVN User Manual==<br />
For anything else not covered in this help guide, there is always the [http://tortoisesvn.net/support TortoiseSVN User Manual]<br />
<br />
----<br />
Happy SVN'ing!</div>Zanixhttp://www.wowroster.net/MediaWiki/SVN:RepositoriesSVN:Repositories2020-11-20T22:16:17Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to [https://github.com/WoWRoster/ GitHub]}}<br />
<br />
[[Image:Help.png|left]]<br />
==Repositories==<br />
A list of the available repositories on WoWRoster.net and permissions for access<br />
<br />
<br />
{{Note|[[Image:WebLogo.png|link=http://code.google.com/p/wowroster/]] Project web page<br>[[Image:SVNLogo.png|link=http://wowroster.googlecode.com/svn/trunk/]] SVN check-out only<br>[[Image:SVNLogo.png|link=https://wowroster.googlecode.com/svn/trunk/]] SVN commit/check-out (use this for checkout if you also commit)<br>[[Image:FeedIcon16x16.png|link=http://code.google.com/p/wowroster/feeds]] Feeds}}<br />
<br />
<br />
{{Warning|Red?|Repositories marked in red do not currently have an associated Google Code Project}}<br />
{| border="1" cellpadding="2" style="border-collapse:collapse;"<br />
!Name<br />
!Web view<br />
!&#10003;-out<br>only<br />
!&#10003;-out<br>& Commit<br />
!Data Feeds<br />
!Description<br />
|-<br />
|{{SVNRepo|wowroster|WoWRoster, a web based profiler which retrieves and stores data gathered from WoW through the use of Addons}}<br />
|-<br />
|{{SVNRepo|wowroster-addons|AddOns for WoWRoster}}<br />
|-<br />
|{{SVNRepo|wowroster-profiler|World of Warcraft addon that extracts character info including stats, equipment, inventory (bags & bank), trade skills, spellbook, mail, and pets. There is also a guild component that extracts the guild member roster and other guild data.}}<br />
|-<br />
|{{SVNRepo|wowroster-pvplog|PvPLog will automatically log your PvP wins and losses as well as your duel wins and losses.}}<br />
|-<br />
|{{SVNRepo|uniadmin|An admin interface used to keep UniUploader users' addons, logos, and settings updated}}<br />
|-<br />
|{{SVNRepo|uniuploader|A tool which uploads WoW saved data (LUA files) from World of Warcraft to URL(s) using standard POST}}<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|imageextract|| || || || ||Tools for extracting images and icons from WoW<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|wowroster-interface|| || || || ||Interface Imagepack for WoWRoster 2.x<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|php-uniuploader|| || || || ||PHP script that allows you to upload your profiles and download the AddOns from the UniAdmin interface<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|wowroster-df|| || || || ||WoWRoster 1.x / 2.x ported to a Dragonfly CMS module<br />
|-<br />
|}</div>Zanixhttp://www.wowroster.net/MediaWiki/SVN:RulesSVN:Rules2020-11-20T22:16:11Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to [https://github.com/WoWRoster/ GitHub]}}<br />
<br />
[[Image:Exclaim.png|left]]<br />
==SVN Rules==<br />
Please abide by these simple SVN rules, they will keep everyone happy and sane.<br />
<br />
==Checkouts and Updates (Downloading)==<br />
<br />
===Updating===<br />
Now I know your first urge is to just select all and choose update. This is okay, if you don't do it often. If you are doing this more than, say, once a day, please take the time to watch the commit log. Pay attention to what addons have actually changed, and only update those.<br />
<br />
<br />
==Committing (Uploading)==<br />
<br />
===Getting an Account===<br />
Look here http://code.google.com/p/support/wiki/FAQ#Accounts<br />
<br />
You only need an account if you want to commit (upload) files and changes to Google Code<br />
<br />
===One AddOn Per Commit===<br />
Simple rule, one addon, one commit. Don't commit multiple addons in the same operation.<br><br />
If you didn't check out the entire repo, this shouldn't even be possible for you anyway.<br />
<br />
There are some special cases where an admin will mass-edit many items in the repo.<br><br />
Please do not do this, those who do know what they're doing, and it's usually a change that must be applied to everything in the repo.<br />
<br />
===One "Idea" Per Commit===<br />
This is not a rule, but more of a "good practices" guideline<br><br />
Generally when you commit code to the SVN, especially when more than one person is working on the project, you want to only work on one idea, or area of the project.<br />
<br />
I myself (Zanix) hardly ever follow this rule, but that doesn't mean it isn't a good idea<br />
<br />
===Path Names===<br />
Second simple rule, use consistent path names.<br><br />
We have quite a few addons on our SVN, we need to keep them in order.<br><br />
You should only every commit into one of three paths, trunk, tags, and branches.<br><br />
For each of these examples I will use a fictional addon called 'SomeAddOn'<br />
<br />
;trunk<br />
:This is where the "main version" of your mod should go.<br />
:The current build, if you will.<br />
:This path is simple.<br />
<pre>/trunk/<addon name>/<br />
/trunk/SomeAddOn/</pre><br />
<br />
;tags<br />
:Tags are a sort of snapshot of your code, a bookmark if you will.<br />
:Most authors will tag specific milestones in their code, major versions, release candidates, even the final build of an abandoned project.<br />
:You are encouraged to tag your mods as often as you want, even if it's just some simple reminder to yourself.<br />
:Tags follow a slightly different path.<br />
<pre>/tags/<addon name>/<Tag name>/<br />
/tags/SomeAddOn/v1.0/</pre><br />
<br />
;branches<br />
:Branches are a sort of "side development" from the trunk.<br />
:An author might branch their addon to convert it to new libraries, or another author may branch to give some code rewrites to another author.<br />
:We highly encourage the use of branches to share changes to other authors' works unless you already have consent from that author to edit their trunk versions.<br />
:Branches have a naming scheme similar to tags.<br />
:The branch name is, in most cases, can simply be your user name.<br />
<pre>/branches/<addon name>/<Branch name>/<addon name>/<br />
/branches/SomeAddOn/Zanix/SomeAddOn/</pre><br />
<br />
===Commit Notes / Comments===<br />
Every commit you make will ask for notes. '''Do not leave this blank!'''<br><br />
Commit notes should always contain the name of the addon you're editing at the start.<br><br />
This is followed by a description (simple or long) of what changes you made.<br><br />
Most authors will use a format like:<br />
<pre>SomeAddOn: Updated externals</pre><br />
or<br />
<pre>SomeAddOn:<br />
- Fixed notice error on line 42<br />
- Mixed in some berries</pre><br />
If you keep with this format, commit logs are much easier to read.<br />
<br />
The SVN may reject commits that have no notes.<br><br />
To ensure that your commit is accepted, the note must entered.<br />
<br />
{{Note|The note should begin with the addon's folder name you are committing to.<br>For example, if you are committing to /trunk/SomeNeatMod/modules then the commit note should begin "SomeNeatMod ..."}}<br />
<br />
===Don't Spam===<br />
If you are making many changes to an addon, please make all the changes and test them for simple syntax errors before you commit.<br><br />
<!-- Every commit message is echoed into the IRC channel, and we don't like it when a bunch of tiny edits on the same addon spam up the place.<br> --><br />
If you are making the same change across many addons, please space out your commits a little bit. for our sanity and others.<br><br />
This will not only reduce the spam, but it'll allow the server a moment to run it's post-commit scripts.<br><br />
If the edits are minor and don't effect performance, you might be better off just waiting until you have a significant change to commit up.<br />
<br />
===Test Before You Commit===<br />
This one's a simple request, run your code on your local server, or personal site before you commit.<br><br />
This will reduce "fixed typo" spam commits we all just LOVE to see.<br><br />
If you're coding somewhere where you cannot test like this (say at work or at your [http://www.youtube.com/watch?v=CZd_YyFzPD0 father's brother's nephew's cousin's former roommate's] house), then you should probably note in your commit message that these changes are "drycoded".<br><br />
This tells other authors and users that the code will probably be buggy since you could not test it.<br />
<br />
===Common Courtesy===<br />
The SVN repository is open to anyone with commit access<br><br />
We ask that you respect others' works and <u>not</u> make changes to their code without notifying the author.</div>Zanixhttp://www.wowroster.net/MediaWiki/SVNSVN2020-11-20T22:16:04Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to [https://github.com/WoWRoster/ GitHub]}}<br />
<br />
==What is This?==<br />
This is a central location for WoWRoster Addons and their Developers (Roster or WoW addons) to store and publish their works<br><br />
It is the preferred method of for storing the code for WoWRoster Addons<br><br />
You are more than welcome to provide your own system, or create your own Google Code Project<br />
<br />
<br />
==Do I Need to Register?==<br />
Only if you are an addon developer (Roster or WoW addons) and require write priveleges to Google Code<br><br />
Otherwise you can still browse and download from Google Code anonymously<br />
<br />
You need to have a valid Google Account email address, details are on Google Code<br><br />
http://code.google.com/p/support/wiki/FAQ#Accounts<br />
<br />
<br />
==How Do I Publish My Addon?==<br />
# Download [http://tortoisesvn.net/downloads Tortoise SVN]<br />
#* Or choose your own SVN client, it doesn't matter to us<br />
# Read our [[SVN:Rules|SVN Rules]]<br />
# Read on how to use [[SVN:TortoiseSVN|Tortoise SVN]]<br />
#* For other clients, you are on your own<br />
# Google Account<br />
#* You must use or create a [http://code.google.com/p/support/wiki/FAQ#Accounts Google Account] which you will use with [http://tortoisesvn.net/downloads Tortoise SVN] (or another SVN client) to access and write to the Project<br />
# Create a new folder in the root of the repository with the name of your addon (letters and numbers only, no special characters please)<br />
# Place your addon files in the folder<br />
# SVN Commit your folder<br />
<br />
<br />
==What is my User Name and Password?==<br />
Username: The email address you used for a Google Account<br><br />
Password: Look in Google Code Settings for your password or here https://code.google.com/hosting/settings<br />
<br />
<br />
==How do I change my password?==<br />
Visit this page https://code.google.com/hosting/settings<br />
<br />
<br />
==I Forgot My Password==<br />
https://code.google.com/hosting/settings</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:Port:WoWRosterDFRoster:Port:WoWRosterDF2020-11-20T22:14:27Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster|Port}}<br />
<br />
{{Warning|NOT SUPPORTED|The WoWRoster Dev Team DOES NOT support these ports<br>Please contact the author of the port for support}}<br />
<br />
==WoWRosterDF Integration for [[DragonflyCMS]]==<br />
<br />
* [[Roster:Port:WoWRosterDF:Requirements|Requirements]]<br />
* [[Roster:Port:WoWRosterDF:Install|Installing WoWRosterDF]]<br />
* [[Roster:Port:WoWRosterDF:Blocks|Blocks]]</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:PortRoster:Port2020-11-20T22:14:13Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster|Port}}<br />
<br />
{{Warning|NOT SUPPORTED|The WoWRoster Dev Team DOES NOT support these ports<br>Please contact the author of the port for support}}<br />
<br />
==Roster CMS Integration==<br />
<br />
* [[DragonflyCMS]]<br />
** [[Roster:Port:WoWRosterDF|WoWRosterDF]]<br />
<br />
For information about Ports of WoWRoster<br><br />
Visit the Integration Section of wowroster.net<br><br />
http://www.wowroster.net/forum13.html<br />
<br />
<br />
Information on how to port WoWRoster to CMS modules to come someday...</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:PluginsRoster:Plugins2020-11-20T22:13:31Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
=Roster Plugins=<br />
<br />
==What is a WoWRoster Plugin?==<br />
A WoW Roster Plugin is code that supplements additional functions/display, giving additional functionality and/or other ways to view [[Roster:Database|Available Roster Data]] or even to create new data<br />
<br />
==Install Plugins==<br />
All Roster Plugins are placed or extracted to 'roster/plugins/'<br />
<br />
If you have an Plugin named SomePlugin, then it's folder will be at 'roster/plugins/SomePlugin/'<br><br />
with it's files inside that folder<br />
<br />
Some Plugin authors "zip up" their Plugins with just their folder name<br />
<pre>SomePlugin/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
With this type, set the extract location to 'roster/plugins/'<br />
<br />
While some may put the entire Roster folder structure in the zip file<br />
<pre>plugins/<br />
|_SomePlugin/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
With this type, set the extract location to 'roster/'<br />
<br />
Just remember that the folder structure needs to look something like this<br />
<pre>roster/<br />
|_plugins/<br />
|_SomePlugin/<br />
| |_inc/<br />
| | |_conf.php<br />
| | |_install.def.php<br />
| |_guild/<br />
| | |_index.php<br />
| |_locale/<br />
| | |_enUS.php<br />
| |_style.css<br />
| |_index.php<br />
|_AnotherPlugin/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
<br />
<br />
Next, go to the [[Roster:CP|Roster Control Panel]] under Plugins to install your Plugins<br />
<br />
<br />
==Un-Install Plugins==<br />
First, go to the [[Roster:CP|Roster Control Panel]] under Plugins to un-install your Plugins<br />
<br />
Remove the folder in roster/plugins/<br />
<br />
You are done!</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:AddonRoster:Addon2020-11-20T22:13:02Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
=Roster Addons=<br />
<br />
==What is a WoWRoster Addon?==<br />
A WoW Roster Addon is code that supplements the core components of roster, giving additional functionality and/or other ways to view [[Roster:Database|Available Roster Data]] or even to create new data<br />
<br />
<br />
==SVN on Google Code==<br />
Find the source of many addons or create your addon using the wowroster-addons Google Code Project SVN<br><br />
http://code.google.com/p/wowroster-addons<br />
<br />
<br />
==Install AddOns==<br />
All Roster AddOns are placed or extracted to 'roster/addons/'<br />
<br />
If you have an AddOn named SomeAddon, then it's folder will be at 'roster/addons/SomeAddon/'<br><br />
with it's files inside that folder<br />
<br />
Some AddOn authors "zip up" their AddOns with just their folder name<br />
<pre>SomeAddon/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
With this type, set the extract location to 'roster/addons/'<br />
<br />
While some may put the entire Roster folder structure in the zip file<br />
<pre>addons/<br />
|_SomeAddon/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
With this type, set the extract location to 'roster/'<br />
<br />
Just remember that the folder structure needs to look something like this<br />
<pre>roster/<br />
|_addons/<br />
|_SomeAddon/<br />
| |_inc/<br />
| | |_conf.php<br />
| | |_install.def.php<br />
| |_guild/<br />
| | |_index.php<br />
| |_locale/<br />
| | |_enUS.php<br />
| |_style.css<br />
| |_index.php<br />
|_AnotherAddon/<br />
|_inc/<br />
| |_conf.php<br />
| |_install.def.php<br />
|_guild/<br />
| |_index.php<br />
|_locale/<br />
| |_enUS.php<br />
|_style.css<br />
|_index.php</pre><br />
<br />
<br />
Next, go to the [[Roster:CP|Roster Control Panel]] under AddOn Management to install your AddOn<br />
<br />
<br />
==Un-Install AddOns==<br />
First, go to the [[Roster:CP|Roster Control Panel]] under AddOn Management to un-install your AddOn<br />
<br />
Remove the folder in roster/addons/<br />
<br />
You are done!<br />
<br />
<br />
==Make an AddOn==<br />
The [[AddonSDK|Addon SDK]] will help you in the creation of an AddOn<br />
<br />
<br />
==List of current Roster Addons==<br />
View the [[Special:Categories|Category Listings]] page to view the list of Roster AddOns</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:CPRoster:CP2020-11-20T22:12:14Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
{{Note|All the settings have tooltips if you hover over the name}}<br />
<br />
==Roster Control Panel==<br />
The gateway to the configuration of Roster<br />
<br />
This document outlines the basic functions and layout of the Roster Control Panel<br />
<br />
Included are Main Roster Settings, Addon install and config, menu config, Roster Diagnostics, and more...<br />
<br />
<br />
<br />
<br />
<br />
<br />
[[Image:Rostercp_main.png|thumb|300px|RosterCP Main Config]]<br />
===Main Config===<br />
This is the main section of Roster Config, all the main settings for Roster are here to modify<br />
<br />
Use the buttons on the left side to navigate the sections of the Main Config<br />
* Main Settings<br />
*: Set main config settings, such as debug, SQL display, minium CP/GP versions, etc..<br />
* Defaults Config<br />
*: Set some default display options, included are alt detection and default menu text<br />
*:: (Alt detection for [[MembersList]] uses it's own setting)<br />
* Menu<br />
*: Configure the roster menu display settings<br />
* Display Config<br />
*: Control the header logo, background image, MOTD display mode, and process time display<br />
* Realmstatus<br />
*: Control options for Realmstatus<br />
*: Disable display of realmstatus in Menu<br />
* Data Links<br />
*: Edit some of the data links Roster uses<br />
*: Quest, and Item links are stored in the locale files<br />
* Update Access<br />
*: Access control for the lua upload page<br />
*: You can disable access completely and fine tune upload access permissions on a per-lua file basis<br />
* Documentation<br />
*: Link to this wiki :)<br />
<br />
<br />
[[Image:Rostercp_uploadrules.png|thumb|200px|RosterCP Upload Rules]]<br />
===Upload Rules===<br />
Configure what guilds and characters are allowed to upload their CP.lua data to this Roster<br><br />
On the left side, you can choose Guild or Character Upload rules<br />
<br />
Use a percent sign % for a wild card<br><br />
Region is a 2 letter code<br><br />
US - US or Oceania<br><br />
EU - For Europe<br />
<br />
The rules are divided into two blocks.<br><br />
For each uploaded guild/char, first the top block is checked.<br><br />
If the name@rc-server matches one of these 'deny' rules, it is rejected.<br />
<br />
After that the second block is checked.<br><br />
If the name@rc-server matches one of these 'accept' rules, it is accepted.<br><br />
If it does not match any rule, it is rejected.<br />
<br />
For example, if you want the guild "ForgeMasters" on the "EU-Rexxar" server and its members to be able to upload their data<br><br />
Then enter this info in the the bottom [Add] section of the Allow box.<br />
<br />
If you want all guilds on the "US-Dreanor" server to be able to upload, enter "%" under name, "Dreanor" under server, and "US" under region in the Allow box.<br />
<br />
If you want to allow all servers on "US-Doomhammer" to upload except the guild "Monkey F ers"<br><br />
Then enter "%" under name, "Dreanor" under server, and "US" under region in the Allow box.<br><br />
Then enter "Monkey F ers" under name, "Dreanor" under server, and "US" under region in the Deny box.<br />
<br />
Character rules work the same way, just substitute guild names for character names in the examples above.<br />
<br />
<br />
[[Image:Rostercp_menu.png|thumb|200px|RosterCP Menu Config]]<br />
===Menu Configuration===<br />
This section of RosterCP allows you to rearrange the buttons in the roster menu<br />
<br />
Along the left side you can select the menu section to edit, add a custom button, and a box to drag buttons to be deleted<br />
<br />
Make sure to hit the [Save Settings] button to save your changes<br />
<br />
{{Note|You can only delete menu buttons you made with the custom button maker<br> Drag buttons to the Unused Buttons box to remove other buttons from the menu}}<br />
<br />
<br />
[[Image:Rostercp_addoninstall.png|thumb|200px|RosterCP AddOn Installer]]<br />
===Addon Management===<br />
AddOn installer, upgrader, and uninstaller<br />
<br />
The table is divided into 4 columns<br />
<br />
* Icon<br />
*: The addon's main icon, mainly just for display<br />
* Addon Info<br />
*: Info about the addon including the addon's name, version, author, and a short description<br />
* Status<br />
*: Displays whether the addon is enabled or disabled<br />
*Installation<br />
*: Displays whether the addon is installed, un-installed, or if there is an upgrade available<br />
<br />
<br />
[[Image:Rostercp_pass.png|thumb|200px|RosterCP Password Config]]<br />
===Change Password===<br />
This is where you can change the passwords that Roster uses<br />
<br />
There are currently 3 users in Roster<br />
* Admin<br />
* Update/Officer<br />
* Guild/Member<br />
<br />
These passwords are used in many places in Roster and used by addons<br />
<br />
<br />
[[Image:Rostercp_reset.png|thumb|200px|RosterCP Reset Config]]<br />
===Config Reset===<br />
Simply put, this resets all the Roster config settings to their defaults<br />
<br />
Guild data, Character data, Addon config, Addon data, menu buttons, and upload rules will be saved.<br><br />
The guild, officer, and admin passwords will also be saved.<br />
<br />
<br />
[[Image:Rostercp_addon.png|thumb|200px|RosterCP AddOn Config]]<br />
===AddOn Config Area===<br />
The next set of buttons are links to the various admin sections for Roster addons</div>Zanixhttp://www.wowroster.net/MediaWiki/MYSQL_GuideMYSQL Guide2020-11-20T22:11:11Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu}}<br />
<br />
{{Warning|Translation in Progress|This is still being translated from the original article [[MYSQL_Guide/de]]}}<br />
<br />
==PHPMyAdmin - Installation and Basic Operation==<br />
For those who have no idea how to administer their databases can visit a guide for the tool PHPMyAdmin.<br />
<br />
PHPMyAdmin is a PHP script that allows you to access and modify your MySQL databases.<br><br />
With this tool, it is possible to add new databases (as long as your service provider allows), add/modify tables, and add/modify the data in databases.<br />
<br />
The latest version is available here: http://www.phpmyadmin.net<br />
<br />
<br />
===The installation===<br />
Installation is almost as simple as installing WoWRoster or UniAdmin<br><br />
So once this is done, it's easy street!<br />
{{Note|Many times your web host will provide PHPMyAdmin via your control panel<br>We suggest you use this instead of installing it yourself}}<br />
<br />
* Download the latest version from the link above<br />
* Unpack the download into a local folder<br />
* Upload all the files into a folder on your server (eg phpmyadmin or pma)<br />
* Set the folder in which you have loaded the script nor a folder "config". The setup script saves the configuration<br />
* Go to the setup script (e.g. <nowiki>http://www.[yoursite].com/pma/scripts/setup.php</nowiki>)<br />
* Under "Server" clicking on the button "ADD" to add your database server. The main areas are:<br />
** Server hostname = address of the database server (eg localhost or mysql.localhost)<br />
** Authentication Type "cookie"<br />
* Click on the "Save". A file with the name "config.inc.php" will be created in the "config" directory<br />
* Copy this file to the main PHPMyAdmin directory using FTP or another method<br />
* Sets the file to read-only<br />
* Now you can use PHPMyAdmin <nowiki>http://www.[yoursite].com/pma</nowiki><br />
<br />
<br />
===Using PHPMyAdmin===<br />
PHPMyAdmin will show up in 3 sections when you first view it<br />
<br />
{{Note|You may need to enter your MySQL username and password to access PHPMyAdmin<br>This can usually be found in the server control panel, and is usually given to you when you first got your server}}<br />
<br />
# The left side<br />
#: The PHPMyAdmin Logo and a small button bar<br />
#: This shows all of the databases you have access to<br />
# The center<br />
#: Shows you information about the current server<br />
# The right side<br />
#: Displays information about PHPMyAdmin itself<br />
#: You can select a different server here, when multiple servers are defined<br />
<br />
<br />
The Left Side Buttons:<br />
* Button - Home (leads you to the entrance page)<br />
* Button - Exit. Logs you out of PHPMyAdmin<br />
* Button - Query Window (SQL). This opens a new window where you can directly enter SQL commands<br />
*: This also allows you to import .sql files<br />
* Button - PHPMyAdmin documentation<br />
* Button - MySQL Documentation<br />
<br />
Among them you will find in most cases a drop-down list of all the databases on the current server. Once you have selected a database will include a list of tables in the database, and the right of the page loads.<br />
<br />
As you can see right now the structure of the database (ie tables).<br />
You see the table name, an action bar, the number of entries in the table, the type of table, the Collation (?), The size of the table (including data), and possibly an overhang (data not assigned).<br />
If you deal with the mouse on a button in the action bar, get your ride a little Tooltyp with regard to its function.<br />
Will your data directly into a spreadsheet register clicks on the 4th Button in the action bar next to the name of the table.<br />
Will you all your data in the table view, clicking on the 1st Button in the action bar. This button is only available if data in the table.<br />
You can also add links to a table name click, then you get to see its structure. The structure consists of a table field names, polja, field size, etc.<br />
In this view, you can new fields in the table, to give below the table structure, the number fields, which you want to add and how these are to be added (at the beginning, at the end or after a given field).<br />
Will your only data in the table above, click on Insert and you will get a query with all field name of the table, then you will wear the appropriate information.<br />
<br />
<br />
===When you change data have you two options:===<br />
* Your clicking on ads and searching for the appropriate entry by hand and clicks the pen at the beginning (depending on the number of data is a tedious work)<br />
Or<br />
* Your clicks on search and gets, again with a query to all fields. Give the appropriate box your search term and clicking on OK. Then should you a list of all the entries received your search term. Here you can then return to the pen button to edit an entry.<br />
<br />
To select multiple items at once to deal marks the checkbox in front of the entries to edit your want and clicking on the pen next to the word "marked".<br />
<br />
So this should be a short introduction to the basic operating range. More extensive information can be found in the documentation or on http://wiki.cihar.com/ PHPMyAdmin.</div>Zanixhttp://www.wowroster.net/MediaWiki/SVN:TortoiseSVNSVN:TortoiseSVN2020-11-20T22:10:53Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to GitHub}}<br />
<br />
[[Image:TortoiseSVN.png|left]]<br />
==TortoiseSVN Help==<br />
Help with setting up and using TortoiseSVN with the Google Code Project SVN<br />
<br />
<br />
==Set up TortoiseSVN==<br />
First, before you do <u>anything</u>!<br><br />
You need to set up your SVN client so it can update the version meta-data in the files<br />
<br />
In this tutorial, we will be configuring [http://tortoisesvn.net/downloads Tortoise SVN]<br />
<br />
===Opening Config===<br />
All configuring of TortoiseSVN is done through the windows explorer<br><br />
Right click on the white space and select "TortoiseSVN" -> "Settings"<br />
[[Image:SVNConfig1.jpg|thumb|none]]<br />
<br />
The settings window will pop-up<br />
[[Image:SVNConfig2.jpg|thumb|none]]<br />
<br />
Select the "General" tab in the tree menu<br><br />
Then next to "Subversion configuration file:" click on [<u>E</u>dit]<br />
<br />
===Download Config File===<br />
{{Note|Download [http://www.wowroster.net/SVNergy/config.txt this config file] and copy it into your config file overwriting everything}}<br />
<br />
==Checking Out==<br />
Now that you have TortoiseSVN set up on your computer, now you can check-out a repository.<br><br />
"Check-out" is just a fancy name for downloading the repository.<br />
<br />
* Open a normal Windows Explorer (not Internet Explorer).<br />
* Create a folder somewhere, where you want to dump your newest SVN revision.<br />
* Right click the folder, and you'll have some options from TortoiseSVN - one of those is "SVN Checkout...".<br />
* Now you're going to need some links here - you find those by going to the WoWRoster site (you're already here!).<br />
** Browse to [[SVN:Repositories|Repositories]].<br />
** There are three links for each repository Web [[Image:WebLogo.png]], SVN [[Image:SVNLogo.png]], and RSS Feed [[Image:FeedIcon16x16.png]] - click the SVN link.<br />
** This gets you to the folder structure of the repository.<br />
** Click "trunk" to get to the folder containing the newest revision.<br />
** Copy the link in your browser, which should now be pointing to the SVN trunk location<br />
** Paste the link to your SVN Checkout, under "URL of Repository."<br />
* Double check your Checkout directory is the correct folder where you want it dumped.<br />
* Check that it's set to "HEAD Revision" - this ensures you get the newest version - you can also choose to get specific SVN revisions by defining version numbers, if needed.<br />
* Hit OK, and watch it download.<br />
* Congratulations - you've downloaded the newest revision!<br />
<br />
==Updating==<br />
There will be a time when you ask "Some files just got changed in the repository I just downloaded, how do I get those files?"<br><br />
That is a great question, and the answer is "SVN Update"<br />
<br />
* Go to the folder where you checked out a repository.<br />
* Right-click on the folder.<br />
* Click on "SVN Update".<br />
* Watch files get updated.<br />
<br />
==The TortoiseSVN User Manual==<br />
For anything else not covered in this help guide, there is always the [http://tortoisesvn.net/support TortoiseSVN User Manual]<br />
<br />
----<br />
Happy SVN'ing!</div>Zanixhttp://www.wowroster.net/MediaWiki/SVN:RepositoriesSVN:Repositories2020-11-20T22:10:46Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to GitHub}}<br />
<br />
[[Image:Help.png|left]]<br />
==Repositories==<br />
A list of the available repositories on WoWRoster.net and permissions for access<br />
<br />
<br />
{{Note|[[Image:WebLogo.png|link=http://code.google.com/p/wowroster/]] Project web page<br>[[Image:SVNLogo.png|link=http://wowroster.googlecode.com/svn/trunk/]] SVN check-out only<br>[[Image:SVNLogo.png|link=https://wowroster.googlecode.com/svn/trunk/]] SVN commit/check-out (use this for checkout if you also commit)<br>[[Image:FeedIcon16x16.png|link=http://code.google.com/p/wowroster/feeds]] Feeds}}<br />
<br />
<br />
{{Warning|Red?|Repositories marked in red do not currently have an associated Google Code Project}}<br />
{| border="1" cellpadding="2" style="border-collapse:collapse;"<br />
!Name<br />
!Web view<br />
!&#10003;-out<br>only<br />
!&#10003;-out<br>& Commit<br />
!Data Feeds<br />
!Description<br />
|-<br />
|{{SVNRepo|wowroster|WoWRoster, a web based profiler which retrieves and stores data gathered from WoW through the use of Addons}}<br />
|-<br />
|{{SVNRepo|wowroster-addons|AddOns for WoWRoster}}<br />
|-<br />
|{{SVNRepo|wowroster-profiler|World of Warcraft addon that extracts character info including stats, equipment, inventory (bags & bank), trade skills, spellbook, mail, and pets. There is also a guild component that extracts the guild member roster and other guild data.}}<br />
|-<br />
|{{SVNRepo|wowroster-pvplog|PvPLog will automatically log your PvP wins and losses as well as your duel wins and losses.}}<br />
|-<br />
|{{SVNRepo|uniadmin|An admin interface used to keep UniUploader users' addons, logos, and settings updated}}<br />
|-<br />
|{{SVNRepo|uniuploader|A tool which uploads WoW saved data (LUA files) from World of Warcraft to URL(s) using standard POST}}<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|imageextract|| || || || ||Tools for extracting images and icons from WoW<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|wowroster-interface|| || || || ||Interface Imagepack for WoWRoster 2.x<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|php-uniuploader|| || || || ||PHP script that allows you to upload your profiles and download the AddOns from the UniAdmin interface<br />
|-<br />
|style="background-color:#990000;color:#ffffff;"|wowroster-df|| || || || ||WoWRoster 1.x / 2.x ported to a Dragonfly CMS module<br />
|-<br />
|}</div>Zanixhttp://www.wowroster.net/MediaWiki/SVN:RulesSVN:Rules2020-11-20T22:10:38Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to GitHub}}<br />
<br />
[[Image:Exclaim.png|left]]<br />
==SVN Rules==<br />
Please abide by these simple SVN rules, they will keep everyone happy and sane.<br />
<br />
==Checkouts and Updates (Downloading)==<br />
<br />
===Updating===<br />
Now I know your first urge is to just select all and choose update. This is okay, if you don't do it often. If you are doing this more than, say, once a day, please take the time to watch the commit log. Pay attention to what addons have actually changed, and only update those.<br />
<br />
<br />
==Committing (Uploading)==<br />
<br />
===Getting an Account===<br />
Look here http://code.google.com/p/support/wiki/FAQ#Accounts<br />
<br />
You only need an account if you want to commit (upload) files and changes to Google Code<br />
<br />
===One AddOn Per Commit===<br />
Simple rule, one addon, one commit. Don't commit multiple addons in the same operation.<br><br />
If you didn't check out the entire repo, this shouldn't even be possible for you anyway.<br />
<br />
There are some special cases where an admin will mass-edit many items in the repo.<br><br />
Please do not do this, those who do know what they're doing, and it's usually a change that must be applied to everything in the repo.<br />
<br />
===One "Idea" Per Commit===<br />
This is not a rule, but more of a "good practices" guideline<br><br />
Generally when you commit code to the SVN, especially when more than one person is working on the project, you want to only work on one idea, or area of the project.<br />
<br />
I myself (Zanix) hardly ever follow this rule, but that doesn't mean it isn't a good idea<br />
<br />
===Path Names===<br />
Second simple rule, use consistent path names.<br><br />
We have quite a few addons on our SVN, we need to keep them in order.<br><br />
You should only every commit into one of three paths, trunk, tags, and branches.<br><br />
For each of these examples I will use a fictional addon called 'SomeAddOn'<br />
<br />
;trunk<br />
:This is where the "main version" of your mod should go.<br />
:The current build, if you will.<br />
:This path is simple.<br />
<pre>/trunk/<addon name>/<br />
/trunk/SomeAddOn/</pre><br />
<br />
;tags<br />
:Tags are a sort of snapshot of your code, a bookmark if you will.<br />
:Most authors will tag specific milestones in their code, major versions, release candidates, even the final build of an abandoned project.<br />
:You are encouraged to tag your mods as often as you want, even if it's just some simple reminder to yourself.<br />
:Tags follow a slightly different path.<br />
<pre>/tags/<addon name>/<Tag name>/<br />
/tags/SomeAddOn/v1.0/</pre><br />
<br />
;branches<br />
:Branches are a sort of "side development" from the trunk.<br />
:An author might branch their addon to convert it to new libraries, or another author may branch to give some code rewrites to another author.<br />
:We highly encourage the use of branches to share changes to other authors' works unless you already have consent from that author to edit their trunk versions.<br />
:Branches have a naming scheme similar to tags.<br />
:The branch name is, in most cases, can simply be your user name.<br />
<pre>/branches/<addon name>/<Branch name>/<addon name>/<br />
/branches/SomeAddOn/Zanix/SomeAddOn/</pre><br />
<br />
===Commit Notes / Comments===<br />
Every commit you make will ask for notes. '''Do not leave this blank!'''<br><br />
Commit notes should always contain the name of the addon you're editing at the start.<br><br />
This is followed by a description (simple or long) of what changes you made.<br><br />
Most authors will use a format like:<br />
<pre>SomeAddOn: Updated externals</pre><br />
or<br />
<pre>SomeAddOn:<br />
- Fixed notice error on line 42<br />
- Mixed in some berries</pre><br />
If you keep with this format, commit logs are much easier to read.<br />
<br />
The SVN may reject commits that have no notes.<br><br />
To ensure that your commit is accepted, the note must entered.<br />
<br />
{{Note|The note should begin with the addon's folder name you are committing to.<br>For example, if you are committing to /trunk/SomeNeatMod/modules then the commit note should begin "SomeNeatMod ..."}}<br />
<br />
===Don't Spam===<br />
If you are making many changes to an addon, please make all the changes and test them for simple syntax errors before you commit.<br><br />
<!-- Every commit message is echoed into the IRC channel, and we don't like it when a bunch of tiny edits on the same addon spam up the place.<br> --><br />
If you are making the same change across many addons, please space out your commits a little bit. for our sanity and others.<br><br />
This will not only reduce the spam, but it'll allow the server a moment to run it's post-commit scripts.<br><br />
If the edits are minor and don't effect performance, you might be better off just waiting until you have a significant change to commit up.<br />
<br />
===Test Before You Commit===<br />
This one's a simple request, run your code on your local server, or personal site before you commit.<br><br />
This will reduce "fixed typo" spam commits we all just LOVE to see.<br><br />
If you're coding somewhere where you cannot test like this (say at work or at your [http://www.youtube.com/watch?v=CZd_YyFzPD0 father's brother's nephew's cousin's former roommate's] house), then you should probably note in your commit message that these changes are "drycoded".<br><br />
This tells other authors and users that the code will probably be buggy since you could not test it.<br />
<br />
===Common Courtesy===<br />
The SVN repository is open to anyone with commit access<br><br />
We ask that you respect others' works and <u>not</u> make changes to their code without notifying the author.</div>Zanixhttp://www.wowroster.net/MediaWiki/SVNSVN2020-02-08T22:39:27Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|SVN}}<br />
<br />
{{Warning|Source is on GitHub|This documentation is outdated since the code was moved to GitHub}}<br />
<br />
==What is This?==<br />
This is a central location for WoWRoster Addons and their Developers (Roster or WoW addons) to store and publish their works<br><br />
It is the preferred method of for storing the code for WoWRoster Addons<br><br />
You are more than welcome to provide your own system, or create your own Google Code Project<br />
<br />
<br />
==Do I Need to Register?==<br />
Only if you are an addon developer (Roster or WoW addons) and require write priveleges to Google Code<br><br />
Otherwise you can still browse and download from Google Code anonymously<br />
<br />
You need to have a valid Google Account email address, details are on Google Code<br><br />
http://code.google.com/p/support/wiki/FAQ#Accounts<br />
<br />
<br />
==How Do I Publish My Addon?==<br />
# Download [http://tortoisesvn.net/downloads Tortoise SVN]<br />
#* Or choose your own SVN client, it doesn't matter to us<br />
# Read our [[SVN:Rules|SVN Rules]]<br />
# Read on how to use [[SVN:TortoiseSVN|Tortoise SVN]]<br />
#* For other clients, you are on your own<br />
# Google Account<br />
#* You must use or create a [http://code.google.com/p/support/wiki/FAQ#Accounts Google Account] which you will use with [http://tortoisesvn.net/downloads Tortoise SVN] (or another SVN client) to access and write to the Project<br />
# Create a new folder in the root of the repository with the name of your addon (letters and numbers only, no special characters please)<br />
# Place your addon files in the folder<br />
# SVN Commit your folder<br />
<br />
<br />
==What is my User Name and Password?==<br />
Username: The email address you used for a Google Account<br><br />
Password: Look in Google Code Settings for your password or here https://code.google.com/hosting/settings<br />
<br />
<br />
==How do I change my password?==<br />
Visit this page https://code.google.com/hosting/settings<br />
<br />
<br />
==I Forgot My Password==<br />
https://code.google.com/hosting/settings</div>Zanixhttp://www.wowroster.net/MediaWiki/PvPLogPvPLog2020-02-08T22:38:00Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|WoWAddon|PvPLog}}<br />
<br />
<br />
==PvPLog==<br />
Author: Brad Morgan<br><br />
Based on Work by: Josh Estelle, Daniel S. Reichenbach, Andrzej Gorski, Matthew Musgrove<br><br />
Version: 3.2.2<br><br />
Last Modified: 2010-12-26<br />
<br />
[http://www.wowroster.net/forum9.html Forum] | [https://github.com/WoWRoster/pvplog Project on GitHub] | [https://github.com/WoWRoster/pvplog/issues Issue Tracker] | [http://www.wowroster.net/downloads/?id=51 Download]<br />
<br />
<br />
===Installation===<br />
You should have just downloaded PvPLog.zip<br><br />
This file will unzip to:<br />
* PvPLog/<br />
* PvPLog/README.txt<br />
* PvPLog/CHANGES.txt<br />
* PvPLog/TODO.txt<br />
* PvPLog/PvPLog.toc <br />
* PvPLog/PvPLog.xml <br />
* PvPLog/PvPLog.lua <br />
* PvPLog/PvPLogButton.xml <br />
* PvPLog/PvPLogButton.lua <br />
* PvPLog/PvPLogUI.xml<br />
* PvPLog/PvPLogUI.lua<br />
* PvPLog/localization.lua<br />
* PvPLog/MyMinimapButton.lua<br />
* PvPLog/nopatch<br />
* PvPLog2/<br />
* PvPLog2/PvPLog2.toc<br />
* PvPLog2/nopatch<br />
Place these files in the Interface/Addons folder directory in your WoW directory<br><br />
(it's okay if it already exists allow it to over-write)<br />
<br />
<br />
===Use===<br />
PvPLog will automatically log your PvP and duel wins and losses.<br />
<br />
You can enable/disable PvPLog with:<br />
/pvplog enable<br />
/pvplog disable<br />
When disabled PvPLog will *not* track any of your PvP activites.<br />
<br />
When you win/lose a PvP battle, or duel, PvPLog will notify you<br />
as the data is recorded.<br />
<br />
Whenever you mouseover someone for which you have a PvP record<br />
the mouseover tool tip will contain the number of wins and<br />
losses you have against that player (provided that option is enabled).<br />
It will also produce an audible ding on mouseover to inform you of<br />
a player you have a record with (if you have the ding sound enabled).<br />
At this time a message is also displayed overhead with your record<br />
(if you have the display enabled).<br />
<br />
When targetting a player you have a PvP record with, your record<br />
will be displayed below the target window. This text is movable.<br />
/pvplog targetreset<br />
May be used to reset the text to its original position.<br />
<br />
You may enable or disable the floating text display.<br />
/pvplog display [enable|disable]<br />
<br />
You may enable or disable the ding sound.<br />
/pvplog ding [enable|disable]<br />
<br />
You may enable or disable the mouseover effects.<br />
/pvplog mouseover [enable|disable]<br />
<br />
You may disable all spam effects (mouseover, ding, floating display).<br />
/pvplog nospam<br />
<br />
You may open the configuration window that allows you to set<br />
most of the options. <br />
/pvplog config<br />
This window can also be opened by right-clicking the PvPLog minimap<br />
button. If you have Cosmos installed then a button will be added<br />
to the Earth Features Menu (or the Khaos menu if the Earth Features<br />
Menu is disabled) that will open and close the configuration window.<br />
If you have the myaddons addon installed then it will be added there<br />
as well.<br />
<br />
You may get some basic statistics using:<br />
/pvplog stats<br />
<br />
You may view your PvP stats in a window using:<br />
/pvplog pvp<br />
<br />
You may view your duel stats in a window using:<br />
/pvplog duel<br />
<br />
You may get the version of PvPLog with:<br />
/pvplog version<br />
<br />
You may get the vendor tag of PvPLog with:<br />
/pvplog vendor<br />
<br />
You may keep only the lastest N PurgeLogData records with:<br />
/pvplog keep <n><br />
<br />
You may reset your PvPLog settings using:<br />
/pvplog reset confirm<br />
Be careful as this will erase all your records!<br />
<br />
The minimap button radius can be viewed with:<br />
/pl radius <br />
The minimap button radius can be changed with:<br />
/pl radius <value><br />
The minimap button position can be viewed with:<br />
/pl position<br />
The minimap button position can be changed with:<br />
/pl position <value><br />
<br />
===Debugging===<br />
<br />
Use of these commands could cause the permanent loss of accumulated<br />
data. Use at your own risk. These commands are english only.<br />
<br />
/pvplog debug [on|off]<br />
Turns debugging messages on or off. When debugging messages<br />
are on, they are sent to chat and to a per character array<br />
along with combat log messages.<br />
<br />
/pvplog debug perm<br />
Copies the debug flags to the per character saved variable array.<br />
<br />
/pvplog debug save<br />
Copies the array of debug/combat messages into another array.<br />
<br />
/pvplog debug clear<br />
Clears the array of debug/combat messages.<br />
<br />
/pvplog vars<br />
Send some internal variables to chat.<br />
<br />
/pvplog ignore [on|off]<br />
Turns the recording of targets to ignore on or off. Ignored<br />
targets provide a performance optimization and should be <br />
left on (off provides some debugging with mobs).<br />
<br />
/pvplog pve [on|off]<br />
Turns debugging with hostile NPCs (mobs) on or off ("/pvplog ignore off" required).<br />
<br />
/pvplog ignore clear<br />
Clears the ignore variables.<br />
<br />
/pvplog target clear<br />
Clears the target variables.<br />
<br />
/pvplog event1 [on|off]<br />
Turns event to chat debugging messages on or off.<br />
<br />
/pvplog event2 [on|off] <br />
Turns event to array debugging messages on or off.<br />
<br />
/pvplog combat [on|off]<br />
Turns combat to chat debugging messages on or off.<br />
<br />
/pvplog ui [on|off]<br />
Turns ui to chat debugging messages on or off.<br />
<br />
/pvplog ttm [on|off]<br />
Turns tooltip to chat debugging messages on or off.<br />
<br />
/pvplog ttv [on|off]<br />
Turns tooltip parsing debugging messages on or off.<br />
<br />
/pvplog ptc [on|off]<br />
Turns the recording of targets when PLAYER_TARGET_CHANGED on or off.<br />
<br />
/pvplog comm [on|off]<br />
Turns channel communication debugging messages on or off.<br />
<br />
/pvplog notify <channelname><br />
Sends a test message to indicated channel (using PvPLogSendMessageOnChannel).<br />
<br />
/pvplog chat kill|death<br />
Sends a test message to the indicated channel (using PvPLogSendChatMessage).<br />
<br />
/pvplog chat self<br />
Sends a test message to the indicated channel (using PvPLogChatMsg).<br />
<br />
===See Also===<br />
[[PvPLog:Changes|Changes]]<br><br />
[[PvPLog:TODO|TODO]]<br />
<br />
===Updates===<br />
Updates for PvPLog are available from these AddOn sites:<br />
* http://www.wowroster.net<br />
<br />
[[Category:WOWAddon]]</div>Zanixhttp://www.wowroster.net/MediaWiki/WoWRoster-GPWoWRoster-GP2020-02-08T22:37:17Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|WoWAddon}}<br />
<br />
==GuildProfiler==<br />
<br />
===Current Version===<br />
WoWRoster-GP v1.0.0; toc:40100 (2010-06-19)<br />
<br />
[http://www.wowroster.net/forum169.html Forum] | [https://github.com/WoWRoster/profiler Project on GitHub] | [https://github.com/WoWRoster/profiler/issues Issue Tracker] | [http://www.wowroster.net/downloads/?id=143 Download]<br />
<br />
<br />
===Description===<br />
WoWRoster-GP is a World of Warcraft addon that extracts guild roster & info from the Guild Roster.<br><br />
This is saved in your SavedVariables\wowroster.lua file in the myProfile block.<br><br />
This information can then be uploaded to your website to display your guild profile(s).<br />
<br />
<br />
===Usage===<br />
* SmartScan. the addon will scan your guild info as you play the game.<br />
* 'save' button. Guild [J] -> Save Button (top left)<br />
* 'save' button. Appears as an icon on the minimap.<br />
<br />
===Tips===<br />
To get a complete extract:<br><br />
* Open Guild Roster [J]; hit 'save'<br />
<br />
==='/' Commands===<br />
Many of the config slash commands were removed for the new UI configuration Interface<br><br />
To open, go to Game Menu > Interface Options > Addons > WoWRoster Profiler<br />
<br />
===Preferences===<br />
* Located in Game Menu > Interface > Addons > WoWRoster Profiler<br />
<gallery><br />
Image:Profiler_options2.jpg|Dual Spec Options<br />
Image:Profiler_options3.jpg|Guild Scan Options<br />
Image:Profiler-options1.jpg|Profile Data Management<br />
</gallery><br />
<br />
===License & Copyright===<br />
<br />
<br />
===History===<br />
<br />
<br />
[[Category:WOWAddon]]</div>Zanixhttp://www.wowroster.net/MediaWiki/WoWRosterProfilerWoWRosterProfiler2020-02-08T22:36:45Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|WoWAddon}}<br />
<br />
==WoWRosterProfiler==<br />
<br />
<br />
===Current Version===<br />
WrCP v1.0.0 BetaRC; toc:40100 (2010-06-19)<br />
<br />
[http://www.wowroster.net/forum169.html Forum] | [https://github.com/WoWRoster/profiler Project on GitHub] | [https://github.com/WoWRoster/profiler/issues Issue Tracker] | [http://www.wowroster.net/downloads/?id=142 Download]<br />
<br />
<br />
===Description===<br />
WoWRosterProfiler is a World of Warcraft addon that extracts character info including stats, equipment, inventory (bags & bank), trade skills, spellbook, mail, and pets.<br><br />
This is saved in your SavedVariables\wowroster.lua in the Profile block.<br><br />
This information can then be uploaded to your website to display your profile(s).<br />
<br />
<br />
===Usage===<br />
* SmartScan. the addon will scan your character info as you play the game.<br />
* 'save' button. Character [C] -> Save Button (top left)<br />
* 'save' button. Appears as an icon on the minimap.<br />
<br />
===Tips===<br />
To get a complete extract:<br />
* open Character Frame [C]<br />
* open your Bank<br />
* open each Profession (each window may need to be open more then once to get all recipe information due to the large number of reagents and non cached recipes)<br />
* open your Mailbox<br />
<br />
==='/' Commands===<br />
Many of the config slash commands were removed for the new UI configuration Interface<br><br />
To open, go to Game Menu > Interface Options > Addons > WoWRoster Profiler<br />
<br />
===Preferences===<br />
* Located in Game Menu > Interface > Addons > WoWRoster Profiler<br />
<gallery><br />
Image:Profiler_options2.jpg|Dual Spec Options<br />
Image:Profiler_options3.jpg|Guild Scan Options<br />
Image:Profiler-options1.jpg|Profile Data Management<br />
</gallery><br />
<br />
===License & Copyright===<br />
<br />
<br />
===History===<br />
<br />
<br />
[[Category:WOWAddon]]</div>Zanixhttp://www.wowroster.net/MediaWiki/UniAdminUniAdmin2020-02-08T22:36:00Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|UniAdmin}}<br />
<br />
==UniAdmin==<br />
Current version: '''0.7.9'''<br><br />
Updated: 22:05, 18 June 2007 (PDT)<br><br />
Authors: [[User:Zanix|Zanix]] | [[User:MattM|Matt Miller]]<br><br />
<br />
[http://www.wowroster.net/forum24.html Forum] | [https://github.com/WoWRoster/uniadmin Project on GitHub] | [https://github.com/WoWRoster/uniadmin/issues Issue Tracker] | [http://www.wowroster.net/downloads/?id=13 Download]<br />
<br />
I bet you're wondering either what this is and/or how to use it, so:<br />
<br />
This is a system used to keep the users (who use [[UniUploader]]) addons, logos, and settings updated.<br><br />
When you upload an addon to this system, and hit "update" in UU, UU will look up the "Synchronization URL" (the one in the frame on the left)<br />
UU will then proceed to download any update(s) that are in any way different than the copy stored on the user's hard drive, UU will replace the addon with the new copy of the addon from this system.<br />
<br />
<br />
===Requirements===<br />
* A web server (Apache, IIS, or any software able to run php)<br />
* PHP 4.3 or higher http://www.php.net<br />
* MySQL Database http://www.mysql.com<br />
<br />
<br />
===Recommended Tools===<br />
* phpMyAdmin for managing MySQL databases<br />
<br />
<br />
===Installation===<br />
# Create a new database (eg. uniadmin)<br />
# Upload the contents of the zip file to your webserver<br />
# After FTPing, CHMOD the following folders to 0777, or change NTFS file permissions for these folders to make them available as "Everyone - Write" on a Windows machine.<br />
<pre>[uniadmin]<br />
addon_temp<br />
addon_zips<br />
cache<br />
logos</pre><br />
4. Go to your UniAdmin install on the web and follow the instructions<br />
<br />
<br />
The admin user is created on installation<br><br />
Read the help page for additional info.<br />
<br />
<br />
===Upgrading===<br />
# Run index.php?p=upgrade and follow the instructions<br />
<br />
<br />
====Upgrade from v0.7.0====<br />
* There is no upgrade from v0.7.0<br />
* Upgrading from v0.7.0 to a higher version will force you to install fresh<br />
<br />
<br />
====Upgrade from v0.7.5====<br />
* It is suggested that you clear all your addons after upgrading<br />
* This is because the auto "Full Path" scanner has been implemented<br />
* javaUniUploader and phpUniUploader require this new setting to function properly<br />
<br />
<br />
===Thanks===<br />
{| style="background:black;font-size:10px;font-weight:bold;border:2px outset #999999;" cellpadding="1" cellspacing="1"<br />
|+Special Thanks To:<br />
|- style="background:silver;"<br />
| sturmy<br />
| French localization<br />
|- style="background:gray;color:white;"<br />
| fubu2k<br>Carasak<br>Shadowsong<br />
| German localization<br />
|- style="background:silver;"<br />
| Zajsoft<br />
| Great modifications to AddOn uploading, providing a better .toc file scanner<br />
|- style="background:gray;color:white;"<br />
| Zeryl<br />
| Thanks for help with parsing strings into multi-dimensional arrays<br>Thanks for the WoWAce module code<br />
|}<br />
<br />
<br />
===FAQ===<br />
* Q. I'm not sure what I set SYNCHROURL and PRIMARYURL to in the Settings Management page.<br><br />
* A. SYNCHROURL is the URL path to the UniAdmin interface.php, eg. http://www.myserver.com/uniadmin/interface.php<br />
*: PRIMARYURL is the URL path to the upload page of the system you are sending data to, eg. for the WoW Roster<br />
*: it would be http://www.myserver.com/roster/update.php . For other systems, please check with the site<br />
*: owner or their on-line help for the appropriate URL.<br />
<br />
* Q. I'm still confused about the settings in the Settings Management page and how to configure them.<br />
* A. Here is some help<br />
# First, hover your mouse over each setting, you'll get a tooltip with the corresponding part of the UniUploader interface.<br />
# If you are still confused<br />
#* Manually configure UniUploader with the settings needed for your config.<br />
#** Open the settings.ini and you'll see all the settings just like in the Settings Management page.<br />
#* Or just upload your copy of settings.ini to the settings page in UniAdmin.<br />
<br />
* Q. I lost access to UniAdmin, how do I reset a password<br><br />
* A. You must reset the password manually from the database<br />
*: 1. Go to http://gdataonline.com/makehash.php or another md5 hash generator<br />
*: 2. Type desired password in<br />
*: 3. Generate the hash<br />
*: 4. Put the hash in the `password` field of `_users` table in UniAdmin database - for the desired user(s)<br />
*: (You may want to reset an admin password)<br />
<br />
<br />
===Support===<br />
For any support issues, questions, comments, feedback, or suggestions<br><br />
please go to the support forums here - http://www.wowroster.net/Forums/viewforum/f=24.html<br />
<br />
<br />
===License===<br />
UniAdmin is licensed under a Creative Commons<br><br />
"Attribution-NonCommercial-ShareAlike 2.5" license.<br><br />
Short summary: http://creativecommons.org/licenses/by-nc-sa/2.5<br><br />
Full License: http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode<br />
<br />
<br />
Regarding Attribution:<br />
* Keep the credits in the footer of the UniAdmin pages.<br />
* Include this license with all modified versions of UniAdmin.<br />
<br />
<br />
Regarding ShareAlike:<br />
* Any changes made to the code (including, but not limited to,<br />
*: HTML, PHP, CSS, SQL, images, and Javascript) must be archived<br />
*: and accessible for public download. You may, of course, remove<br />
*: username, password, and database host information from the archive.<br />
<br />
<br />
For any reuse or distribution, you must make clear to others the<br><br />
license terms of this work. Any of these conditions can be waived if<br><br />
you get permission from the dev team at wowroster.net.<br />
<br />
<br />
UniAdmin uses the following libraries as well<br />
* PclZip Library - PHP Class to create and manage ZIP files<br />
*: http://www.phpconcept.net<br />
*: Licensed under GNU/LGPL - http://www.gnu.org/licenses/lgpl.html<br />
*: File located at [include/pcl.lib.php]<br />
*: You may upgrade this file at anytime with the release version<br />
<br />
<br />
* The Overlib tooltip library by Erik Bosrup<br />
*: http://www.bosrup.com/web/overlib<br />
*: An unnamed license applies, available at http://www.bosrup.com/web/overlib/?License<br />
*: File located at [overlib/overlib.js]<br />
<br />
<br />
* Table sorting and pagination javascript by Brian<br />
*: http://www.frequency-decoder.com<br />
*: Licensed under a Creative Commons Attribution-ShareAlike 2.5 license - http://creativecommons.org/licenses/by-sa/2.5<br />
*: File located at [styles/default/tablesort.js]<br />
<br />
<br />
* The installer and upgrader is based on EQdkp's<br />
*: This concerns the files:<br />
*:: modules/install.php<br />
*:: modules/upgrade.php<br />
<br />
* The templating system is based on EQdkp's<br />
*: File located at [include/template.php]<br />
<br />
* These 3 files are licensed under the GNU General Public License, which is available at http://gnu.org/copyleft/gpl.html<br />
<br />
<br />
* MiniXML - http://minixml.psychogenic.com<br />
*: PHP class for generating and parsing XML<br />
*: Licensed under the GNU General Public License - http://gnu.org/copyleft/gpl.html<br />
*: Files are located at [include/minixml/]<br />
<br />
<br />
===Known Bugs / Gotchyas===<br />
* '''Bug:''' Addon zip files that have more than one addon in them may show up funny<br />
* '''Solution:''' After you upload an addon zip, edit the info on the addon details page<br />
<br />
<br />
===Change Log===<br />
<div style="border:1px outset red;padding:10px;font-size:12px;width:100px;">'''Key:'''<br />
<br />
'''[~]''' Fixed<br />
<br />
'''[+]''' Added<br />
<br />
'''[!]''' Changed</div><br />
<br><br />
<div style="border:1px outset grey;overflow:auto;margin-left:15px;width:80%;height:450px;font-size:10px;"><br />
'''0.7.9'''<br />
* [~] WoWAce addon list works again<br />
*: WoWAce changed the addon list format to XML and removed the old format<br />
*: Thanks to Exerladan for the code<br />
* [~] HTML fixes and changes<br />
* [!] All the comment headers to our new format<br />
* [!] The updater has been slightly modified, shouldn't affect anyone<br />
* [!] Using version_compare() instead of a string compare when comparing versions of UA<br />
* [+] PURGEFIRST setting<br />
* [+] Force addon list reload to WoWAce module<br />
* [+] Ability to delete Un-Scanned addons<br />
* [+] Message when an addon is deleted<br />
* [+] Images for new settings<br />
<br />
<br />
'''v0.7.8'''<br />
* [~] Upgrader had a typo<br />
* [~] GETDELETEADDONS wasn't quite working correctly, it should be ok now<br />
*: I changed some of the variables around and didn't test, I'm sorry<br />
<br />
<br />
'''v0.7.7'''<br />
* [~] Addon processing now checks if the addon zip exists before trying to unlink it<br />
* [~] UA does not attempt to delete temp upload file, move_uploaded_file already does this<br />
* [~] addon xml output htmlspecialchars() encoded<br />
* [~] Addon file XML output now outputs <addon /> where there are no addons<br />
* [!] Now using a blacklist for invalid files<br />
*: ade,adp,bas,bat,chm,cmd,com,cpl,crt,doc,eml,emf,exe,hlp,hta,inf,ins,isp,jar,js,jse,lnk,<br />
*: mdb,mde,msc,msi,msp,mst,pcd,pif,ppt,py,rar,reg,scr,sct,shs,url,vbs,vbe,wsf,wsh,wsc,xsl<br />
* [!] Returned to old method for figuring out file extention<br />
* [!] Paginate tpl variable was removed from addon page<br />
* [!] uniadmin_settings.enabled is now a tinyint(1) field<br />
* [!] New look for the SV file management section<br />
* [+] Addon removal settings<br />
* [+] Two new settings for jUU HOMEURL and FORUMURL<br />
<br />
<br />
'''v0.7.6'''<br />
* [~] slashes are now stripped in the stats module<br />
* [~] ADDVARVAL2 is now a password field since it's usually a password<br />
* [~] Edited pclzip.lib.php detection of windows to something that servers don't block<br />
* [~] Removed curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);<br />
*: It isn't needed and some servers block this option<br />
* [~] get_remote_contents file get function in include/uniadmin.php<br />
* [~] Removed umask in write_file function in include/uniadmin.php<br />
*: These two were causing the no toc errors for wowace addons<br />
* [~] Added improper module name detection in index.php, to eliminate remote file inclusion hacks<br />
* [~] Reduced the queries on the stats page down to 9, Thanks alot PleegWat!<br />
* [~] Sorting on stats page<br />
* [~] Added user agent matching for jUU so compat mode setting will be active<br />
* [~] Logo file paths are now determined by the current url<br />
* [~] settings.ini scanner will not scan certain values (IE: account name)<br />
* [~] SQL queries will never show to anonymous users<br />
* [~] Links in installer will now properly point to index.php instead of install.php<br />
* [~] XML output is now encoded properly with the right headers<br />
* [~] TOC scanner, found a few addons' toc files that it didn't catch properly<br />
* [!] UA will now die with an error if php is not 4.3 and higher<br />
* [!] The Help tab is now "selected" when there is no page defined in the url<br />
* [!] UA now only accepts and scans certain file types for addons<br />
*: lua,toc,txt,tga,blp,ttf,xml,wav,mp3,nopatch<br />
*: UniAdmin will notify you if a file was skipped<br />
*: If there are other, NON-executable file extensions, let us know!<br />
*: PclZip has an option to run a pre-extract function<br />
*: function pclzip_pre_extract() in include/uniadmin.php<br />
*: Files not on the allowed list are not even extracted<br />
* [!] Addon note tooltip now shows over entire 'name' cell<br />
* [!] Tables that use the js sort are not initially sorted, improving page load times<br />
* [!] Error message rows are now reddish<br />
* [!] Logo module has been edited so different image file types could be used in the future<br />
* [!] Removed `download_url` field from logo table, `filename` is used now<br />
* [!] All remote addons (wowace) will now be stored locally<br />
*: This is so UA admins can control what addon version UU users download<br />
* [!] Full path addon detection<br />
*: There is now 3 options [automatic] [yes] [no]<br />
*** Automatic will attempt to auto-detect if the addon should be treated as full path or not<br />
*: Addon XML variable "full_path" is now set if the addon should be treated as full path<br />
*** 0 = extract to WoW/Interface/AddOns/<br />
*** 1 = extract to WoW/<br />
* [!] Addon xml file list is only outputted if there are addons in the UA db<br />
* [!] Addon xml output is now sorted by required/optional, then by name<br />
* [!] Logo output is sorted now sorted numerically<br />
* [!] Setting and sv list output is sorted by name<br />
* [!] function get_file_ext() now uses pathinfo<br />
* [!] addon xml filename="" attribute is now the full url path to the file<br />
* [+] addon_zip folder scanning<br />
*: UniAdmin now scans this folder and presents you with addon zips that have not been scanned into the database<br />
*: Use this feature to ftp larger addon zips to UniAdmin<br />
* [+] Addon notes to addon xml output<br />
* [+] New get settings mode, xml output<br />
*: Use ?OPERATION=GETSETTINGSXML<br />
* [+] Now using the minixml library to generate xml output in interface.php<br />
*: http://minixml.psychogenic.com<br />
*: This allows proper formatting and escaping<br />
* [+] New logo image types are allowed<br />
*: Logo image types allowed are 'jpg,jpeg,png,ico,gif'<br />
*: Others could have been added, but some formats are too large to be downloaded quickly<br />
* [+] Global addon deletion, to delete every addon from your UniAdmin install<br />
* [+] Error handling class<br />
*: Catchable PHP errors are now displayed at the bottom of the page above sql queries<br />
* [+] is_ua_admin() for an easier way to check if the user is an admin<br />
<br />
<br />
'''v0.7.5'''<br />
* [~] Removed all dead files<br />
* [~] Massive code cleanup<br />
* [!] Overhauled the addons page<br />
* [~] Addon file paths are now determined by the current url<br />
* [~] Simplified main SQL query, now only one query<br />
* [~] SVLIST is now scanned when exporting settings.ini<br />
* [~] Fixed level 1 users so they can change locale and theme<br />
* [~] Not using $pipe_sep in interface.php<br />
* [~] Made a call to $uniadmin->config() after changing settings in UA config so they will show correctly<br />
* [~] Notice userN when editing self user in User Config page<br />
* [~] Fixed error on UA config page dealing with default style<br />
* [~] index.php to use the page variable constant defined in constants.php<br />
* [+] Added installer and upgrader<br />
*: Moved files around in zip package now that UA has an installer<br />
*: PRIMARYURL, SYNCHROURL, RETRDATAURL are set with default values on install<br />
*: If config.php doesn't exist, UA will direct to the installer<br />
* [+] Homepage and filename to xml in interface.php<br />
* [+] Implemented code from Zajsoft (thanks a bunch!)<br />
* [+] Addon list sorting<br />
* [+] File size is now calculated<br />
* [+] Directory tree file listing (html list output)<br />
*: Big thanks to Zeryl on this, without him, this would not be here<br />
* [+] Added password confirmation<br />
*: If you edit yourself, you need to enter old password<br />
*: If your level > user, then no old password is needed<br />
* [+] If adding a new user, and there is a form validation error, some of the info will be still in the form (name, level, lang, style)<br />
* [+] Added ua_die() to kill UA when needed with a message and debug info<br />
* [+] Added remote checking for new UA version<br />
*: There is an option to turn this off in uniadmin config<br />
* [+] Added WoWAce module, now you can get addons from wowace.com<br />
* [+] Added a function to grab a remote file's contents $uniadmin->get_remote_contents()<br />
* [!] Addon zips are loaded on the assumption that they extract to Interface/AddOns/, there is a switch on the upload form to change this action<br />
* [!] Simplified the upload process<br />
*: Only 3 fields; Required, Full Path, Select File<br />
* [!] Greatly improved .toc file detection<br />
*: Most needed fields are scanned from the .toc file<br />
*: You can use the addon details page to edit fields<br />
* [!] get_toc() changed to get_toc_val()<br />
*: This can get any value from the .toc file such as Interface, Version, X-Website, etc...<br />
* [!] Merged many addon.php functions ( require_addon, optional_addon, enable_addon, disable_addon ) into one function toggle_addon()<br />
* [!] Moved addon functions to include/addon_lib.php<br />
* [!] Moved debug config to the UA settings page<br />
* [!] Removed all extra ?><br />
* [!] Another massive interface overhaul<br />
*: Added js styling for overlib<br />
*: Finally all html moved into themes and out of php code<br />
*: Made the pie charts smaller on the stats page<br />
*: Removed uploaded and status idication when no logo's are uploaded<br />
*: Added meta tag the prevents IE from showing the image toolbar<br />
* [!] Moved URL detection to include/uniadmin.php<br />
* [!] Simplified module detection and inclusion in index.php<br />
* [!] Changed $uniadmin->debug() to $uniadmin->error()<br />
* [!] Changed some calls in $uniadmin that used $uniadmin to $this<br />
* [!] Changed $uniadmin->ls() to be able to not traverse directories if needed<br />
* [!] Moved interface.php to modules dir, interface.php still exists in the root, but includes index.php and sets $_GET['p'] = 'interface';<br />
* [!] Changed uniadmin config text strings in locale files<br />
*: Using "title|tootip" format now<br />
* [!] Changed menu generation to give more variables so menu can be styled easily in themes<br />
<br />
<br />
'''Beta 0.7.0'''<br />
* [~] UA is now mySQL 5 compatible<br />
* [~] Areas that were not using the dynamic database table names<br />
*: Thanks DreadPickle http://www.wowroster.net/Forums/viewtopic/t=260.html<br />
* [~] Pie charts for php 5.x<br />
* [~] On logo page, hitting the upload button will not upload a blank logo<br />
* [~] On addon page, hitting the upload button will not upload a blank addon<br />
* [~] Uploading addons will now try to chmod and moveuploaded file and report any errors nicely<br />
* [~] Addons uploaded with an already existing addon in UA will be updated and will not be inserted as a new addon<br />
* [~] Addon parsing now checks to see if you are uploading a .zip file<br />
* [~] The temp_anaylize folder will now be on addon processing errors<br />
* [+] Display templating<br />
* [+] TOC scanning and display for addons<br />
* [+] Required/Optional addons selection<br />
*: UniUploader 2.5 will give the option to download optional addons<br />
*: UniUploader < 2.5 will not even see optional addons<br />
* [+] required="(0|1)" and toc="0000" to the XML output in interface.php<br />
*: UniUploader < 2.5 should ignore this<br />
* [+] UniAdmin is now fully localized<br />
*: English only at this time<br />
* [+] Database layer code<br />
* [+] $user object. Holds locale strings, user info, etc...<br />
* [+] $uniadmin object. Holds UA config info and some common functions<br />
* [+] UniUploader settings.ini file importing and exporting<br />
* [!] Help, addons, logo, and settings pages can now be viewed by guests<br />
* [!] Updated pclzip.lib from v2.3 to v2.5. zip handling should be faster/better<br />
* [!] Changed initial sql to not set any UU sync settings to enabled<br />
* [!] Permissions for certain actions have been changed<br />
*: Look at the help page for more info<br />
* [!] Addon parser now uses .toc filename for insertion into the db<br />
* [!] Addon parser will now reject uploaded addon zip files with no .toc file<br />
* [!] Revamped look and feel of the interface<br />
* [!] All pages are now accessed by ?p= GET variable through index.php<br />
*: interface.php can still be accessed alone, because UU < v2.5 needs it this way<br />
* [!] Using POST rather then GET all the buttons (delete, change, modify, etc...)<br />
* [!] Using error_reporting(E_ALL), removed all php notices<br />
* [!] Password fields when adding/editing users to actual password fields<br />
* [!] Addon files table to use addon_id and not addon name<br />
* [!] Removed all the unused overlib code<br />
* [!] Updated help page with more info<br />
* [!] UniUploader related images updated to version 2.5.0<br />
* [!] All UA configuration has moved to a config page<br />
* [!] Settings page has been changed<br />
*: Each setting now has a specific input type<br />
* [!] Improved debug to include all SQL queries and page rendertimes<br />
* [!] Improved messages display<br />
* [!] Removed even more outdated settings from the db<br />
<br />
<br />
'''Beta 0.6.1'''<br />
* [~] Support systems with short_open_tags set to Off in the PHP config<br />
<br />
<br />
'''Beta 0.6.0'''<br />
* [~] Security cookie bug<br />
* [+] Support for new UU functionality<br />
* [+] A new setting<br />
* [+] Overlib tooltips w/pics for each setting<br />
* [+] view.php unsecure file for viewing addon list<br />
<br />
<br />
'''Beta .50'''<br />
* [+] Support for UniUploader 2.0, and removed support for previous versions of UU<br />
* [+] A couple minor things to the help screen.<br />
* [+] "sv management" to the settings screen<br />
* [!] Removed a bunch of outdated settings from the db<br />
<br />
<br />
'''Beta .40'''<br />
* [~] Addon Updater and interface including index.htm and index.html<br />
* [+] User management<br />
* [+] setting descriptions<br />
* [!] bunch of technical changes that nobody cares about (cant remember :P )<br />
* [!] Cosmetic Changes<br />
* [!] Deleted obsolete settings from database<br />
<br />
<br />
'''Beta .31'''<br />
* [~] Default 'PARSEVAR1' in uniadmin.sql.<br />
*: This was being set as 'MyProfile' which would break UniUploader Pre-Parse. Corrected to 'myProfile'<br />
* [!] Updated this install.txt file<br />
</div><br />
<br />
<br />
===The Future?===<br />
To-do list for future versions of UA</div>Zanixhttp://www.wowroster.net/MediaWiki/UniUploaderUniUploader2020-02-08T21:52:49Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|UniUploader}}<br />
<br />
WoW Data uploader and updater<br />
<br />
Current release: 2.8.1.0<br />
<br />
[http://www.wowroster.net/forum21.html Forum] | [https://github.com/WoWRoster/uniuploader Project on GitHub] | [https://github.com/WoWRoster/uniuploader/issues Issue Tracker] | [http://www.wowroster.net/downloads/?id=13 Download]<br />
<br />
UniUploader is a powerful tool used to transfer data from WoW to a web site, and/or back from the website to WoW. UU uploads data from and/or writes data to the SavedVariables files (which are used by WoW Addons to store and retrieve data). UU is designed so that you can configure and distribute it to guild members. It is highly customizable, and built to provide as many configuration options as possible while keeping the GUI simple and easy to understand. The exe is extremely lightweight, efficient, and runs in the background monitoring the files for changes, and optionally uploads the selected files when they are changed. Files are uploaded via the HTTP POST method.<br />
<br />
UU can be used in conjunction with UA (UniAdmin), which is used to distribute guild addons, automatically update all of the guildies' UU logos (to your guild logos), and keep your guildies' UU settings the way you want them. Whether it be CT_raid assist, or character profiler, or whatever your guild needs to stay constantly up to date, UA handles them easily. You just upload all the updated addons to UA, and UU updates all of your guildies addons.<br />
<br />
* Requires the MS .NET Framework version 2.0 or better.<br />
* Please visit the wowroster.net forums to make feature requests and bug submissions.</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2020-02-05T05:56:15Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** https://github.com/WoWRoster|GitHub<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2020-02-03T19:11:57Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** https://github.com/WoWRoster|GitHub<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2016-03-30T03:26:43Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** https://github.com/WoWRoster|GitHub<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2016-02-01T04:29:30Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2016-01-17T05:06:11Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
** http://www.wowroster.net/pjirc.php|IRC Chat<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2016-01-17T05:06:04Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** [http://www.wowroster.net|Home]<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
** http://www.wowroster.net/pjirc.php|IRC Chat<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2016-01-17T05:05:32Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/downloads|Downloads<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
** http://www.wowroster.net/pjirc.php|IRC Chat<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-09-09T19:09:28Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
Last Release (v2.3.0) September 9, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 13:09, 9 September 2012 (MDT)<br />
<br />
<br />
==v2.x.x==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">13:09, 9 September 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Latest [http://code.google.com/p/wowroster/source/list SVN commit]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
<br />
<br />
<br />
<br />
==v2.3.0==<br />
Released - September 9, 2012<br><br />
SVN Tagged build: 2615<br />
<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
<br />
===Important Changes===<br />
* Mists of Pandaria support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.2.0==<br />
Released - July 15, 2012<br><br />
SVN Tagged build: 2573<br />
<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
<br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br><br />
SVN Tagged build: 2337<br />
<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br><br />
SVN Tagged build: 1927<br />
<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br><br />
SVN Tagged build: 1910<br />
<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br><br />
SVN Tagged build: 1801<br />
<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-09-09T19:05:50Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.3.0) September 9, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 12:52, 9 September 2012 (MDT)<br />
<br />
<br />
==v2.x.x==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">12:52, 9 September 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Latest [http://code.google.com/p/wowroster/source/list SVN commit]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
<br />
<br />
<br />
<br />
==v2.3.0==<br />
Released - September 9, 2012<br />
SVN Tagged build: 2615<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* Mists of Pandaria support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.2.0==<br />
Released - July 15, 2012<br />
SVN Tagged build: 2573<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLog:1xRoster:ChangeLog:1x2012-09-09T18:54:12Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
WoWRoster 1.x Change Log<br />
----<br />
Last [[Roster:ChangeLog|Release Change Log]]<br />
<br />
You can view the open source project at - http://www.wowroster.net<br />
For corrections and/or suggestions - http://www.wowroster.net<br />
<br />
Only 1.x changes are shown here, please visit [[Roster:ChangeLog|WoWRoster Change Log]] for the current log<br />
<br />
<br />
==v1.7.3==<br />
Released - February 14, 2007<br />
===Fixes===<br />
* Updated lua code and parsing for WoW 2.0.3 (pleegwat)<br />
* Many locale updates (zanix)<br />
* MOTD now converts html characters properly (zanix)<br />
* PvPLog now detects realm along with names for data insertion (zanix)<br />
* Reverted spellbook fix for Opera browsers, it breaks IE 6 (zanix)<br />
* Setting header logo or background image in Roster Config to nothing will remove the header logo and background correctly (zanix)<br />
* Bank bags will now show 7x4 instead of 4x7 (pleegwat)<br />
* Added support for Jewelcrafting, Blood Elf, and Draenei (zanix)<br />
* Raised level cap to 70 (zanix)<br />
* Fixed shaman class coloring (zanix)<br />
* Talent Points should insert properly now (zanix)<br />
* Removed Current PvP Ranking from Roster, the WoW API no longer provides this information anyway (zanix)<br />
* Added EU ES url for realmstatus (zanix)<br />
* Added primary keys to the spellbooktree, spellbook, talenttree, and talent tables (pleegwat)<br />
* Fixed update triggers where there are addons with no triggers (zanix)<br />
* Fixed rare notice in menu.php with update time (zeryl)<br />
* Fixed tradeskills.php to accept an arbitrary number of different tradeskills (pleegwat)<br />
* Added a result validity check for the tradeskill icon query in the main members list (pleegwat)<br />
* Many fixes to rosterdiag (zanix)<br />
** Added addons folder to ignore list<br />
** Fixed valid html errors<br />
** On file compare, longer lines do not have to be scrolled individually<br />
** Changed php highlighting to return string and removed output buffering<br />
** Changed/fixed some stuff in the remote file checker code<br />
** Hopefully fixed "endless loop" when wowroster.net is down<br />
* Modified the update trigger lib to global the $addon_conf and only load addon configuration once (pleegwat)<br />
* Changed realmstatus to accept new xml status page for EU realms (zanix)<br />
* Set all 'old' instance keys that are not pickable with 300 lockpicking to need 1000 lockpicking (pleegwat)<br />
* Fixed memberlog last page button to start at a multiple of 30 (pleegwat)<br />
* Fixed memberlog previous page button to not produce a negative start number (pleegwat)<br />
* Changed messageboxtoggle() and scrollboxtoggle() to use the JS showHide() which results in less html code printed (zanix)<br />
* Added a check for empty members list on update (pleegwat)<br />
* Fix to tradeskills.php noted here - http://www.wowroster.net/Forums/viewtopic/t=2637.html (zanix)<br />
* Moved setting of header() to roster_header.tpl (zanix)<br />
* Bag code and css cleanup (zanix)<br />
** Combined many css defines between bag and bank<br />
** Made corners transparent :)<br />
** Removed redundant code<br />
* Fixed a preg_replace() in function colorTooltip() for color strings that might have UPPERCASE codes (zanix)<br />
* Moved to explicitly including each of the language file in a new file in the languages folder (pleegwat)<br />
** This means 1 extra operation when adding a language, namely adding it to the array in localization/languages.php<br />
** This also fixes the inclusion of back-up locale files<br />
* Made a small change in the key page to cut the number of sql queries down by almost half (zeryl)<br />
<br />
<br />
<br />
===Enhancements===<br />
* esES locale '''May not be complete!'''<br />
* Changes to the upgrader, we now have a common function for upgrading (zanix)<br />
* Added 2 constants (zanix)<br />
** ROSTER_MAXCHARLEVEL<br />
** ROSTER_MAXSKILLLEVEL<br />
** Updated Roster to use these<br />
* Added 4 new update trigger hooks (pleegwat)<br />
** ''char_pre'' is run before character updates<br />
** ''char_post'' is run after character updates<br />
** ''guild_pre'' is run before guild updates<br />
** ''guild_post'' is run after guild updates<br />
* Added some code, js, css to change the look of text boxes, radio buttons, and check boxes (zanix)<br />
** For checkboxes and radio buttons, some js has to be used to dynamically replace the buttons<br />
*** Set $body_action before you include roster_header.tpl<br />
*** example 'onLoad="initARC(\'config\',\'radioOn\',\'radioOff\',\'checkboxOn\',\'checkboxOff\');"'<br />
*** initARC('formID','radiOnClass','radioOffClass','checkboxOnClass','checkboxOffClass')<br />
** For text boxes, it's just some css magic, class="wowinput"<br />
*** The only bug is that the size is fixed, so I provided additional css defines wowinput, wowinput192, wowinput128, wowinput64<br />
<br />
<br />
<br />
<br />
==v1.7.2==<br />
Released - December 29, 2006<br />
===Fixes===<br />
* '''IMPORTANT'''<br />
** There are no longer any Roster AddOns included with Roster<br />
** To get addons like SigGen, MadeBy, and Reputation...you must download them separately!<br />
* register_globals destroyer added to remove any problems with this setting (zanix)<br />
* Installer now checks if a locale file exists before displaying it as an option (zanix)<br />
* Riding Icons should now function in all locales [Thanks Romish] (zanix)<br />
* Offset in keys page for horde guilds (zanix)<br />
* Plus/minus boxes not showing for collapsible messageboxes [Thanks Snykx] (zanix)<br />
* realmstatus.php not showing text with accented characters (zanix)<br />
* Division by zero errors in index.php and char.php (zanix)<br />
* Character page on systems with magic quotes off (slashes are added by settings if it's off, but not stripped here) (pleegwat)<br />
* Server names entered with an apostrophe in the name not being entered into the database correctly (zanix)<br />
* Fixed Horde Onyxia Quest Chain in keys page (zanix)<br />
* Added actual MOTD in alt tage for image mode (pleegwat)<br />
* Debug Improved (pleegwat)<br />
** Renamed 'show process time/db queries' to 'debug mode', also updated tooltip for this option<br />
** Added query reporting for trunk if debug mode is on<br />
** Now printing full debug trace when dieing if debug mode is on<br />
* Slight change to quest tag rendering (zanix)<br />
* Fixed mail tooltips (pleegwat)<br />
* Fixed char.php so it can be called without server parameter again (pleegwat)<br />
* Guildbank for frFR locale with Bind on Equip (zanix)<br />
* Removed is_numeric check in wowdb as it is safe to insert quoted numbers (zanix)<br />
* Guild motd is now hidden when there is no motd (zanix)<br />
* php time format for enUS (zanix)<br />
* Moved mrmuskrat to retired devs (zanix)<br />
* Added bsmorgan to pvplog dev (zanix)<br />
* Mail inserts items when there is actually an item sent (zanix)<br />
* Hopefully update.php will spit out a better error then an empty update log (zanix,pleegwat)<br />
* 'no item equipped' is now localized (pleegwat)<br />
* item_id length fix, apparently blizz has longer item id's now (zanix)<br />
* Hopefully fixed a notice with some addons in menu.php (zanix)<br />
* Changed Rankexp to a float in DB (zanix)<br />
* Dirty mysql-only hack to fix the double entries in recipe. If it works for 1.7.2 it's fine with me (pleegwat)<br />
* Split up the reputation value column into a curr_value and a max_value column (pleegwat)<br />
* Removed extra space after ?> in some files (zanix)<br />
* Sorting error in member log (zanix)<br />
* update.php will now tell you that uploading is disabled, instead of just showing the fields and acting like it might let you (zanix)<br />
** UniUploader users will also get the same error upon uploding files<br />
* Reformatted character update process a little, made it more streamlined (takes less vertical space) (zanix)<br />
* Maybe fixed the member update time error (zanix)<br />
* The Roster menu should now be able to get locale strings form addons correctly (zanix)<br />
* Added more header() calls in settings.php dealing with cache control (zanix)<br />
** Set $no_roster_headers = true before including settings.php if you don't want header() to be set at all<br />
<br />
<br />
<br />
===Enhancements===<br />
* CP 2.0 and GP 2.0 compatibility added, no new features (zanix,pleegwat)<br />
** Roster 1.8 will get most of the CP 2.0 changes<br />
** Character page changed to reflect some of the changes<br />
** Honor tab changed to PvP, for new look<br />
** Changed honor column to hide by default, both on new and on current installations<br />
** Removed honor progress bar in index page<br />
** DK's removed from PvP tab, CP inserted to replace them<br />
** Removed rank percentage bar<br />
** Removed rankname from character name in char page<br />
** ThisWeek and LastWeek Honor Removed<br />
** "HonorRank" of the "Faction" removed from player notes<br />
** hslist.php is now basically useless<br />
** SQL updated again to removed outdated fields<br />
** indexhonor.php updated for less honor stuff as well<br />
* Added PvPLog realm support<br />
* Poisons added to tradeskills (zanix)<br />
* Added a file 'c.php' that can create extremely short links to characters, and in the future other parts of roster (pleegwat)<br />
** Example of use http://www.yoursite.com/roster/c.php?Treyce<br />
** Can be moved to a location outside the main roster by setting the relative url variable in the top of the file<br />
* Added parsing messages to the log. There should now always be meaningful log messages on upload (pleegwat)<br />
* Added level overview for levels 61-70 (pleegwat)<br />
* Added felgard pet icon (zanix)<br />
* Added 'item_level' to items and recipe tables (zanix)<br />
* Added function message_die() (zanix)<br />
** This is similar to messagebox() except that Roster dies after printing the message<br />
** Changed a few places in Roster to use this<br />
* Added a character buffs table, why? ...I was board and wanted this for some strange reason (zanix)<br />
* New global array $guild_info (zanix)<br />
** This array contains all the data from the guild table<br />
<br />
<br />
<br />
<br />
==v1.7.1==<br />
Released - October 21, 2006<br />
===Fixes===<br />
* Multiple deDE translation fixes (Sphinx)<br />
* Reputation addon fix for apostrophe in faction names (mattm)<br />
* SQL parser for install.php and upgrade.php (zanix)<br />
* JS error on character pages [Thanks Fangorn] (mathos)<br />
* chmod usage & path of conf.php in install.txt (peperone)<br />
* Typo in index.php and upgrade.php (zanix)<br />
* Roster should validate html 4.01 again (zanix)<br />
* Localization-related problem in lib/reputation.php [Thanks Gorgar] (zanix)<br />
* Double slashes in interface images causing some servers to not allow access to these images (zanix)<br />
** This requires re-uploading of data to the DB<br />
** wowdb.php now processes the interface images instead of the display pages<br />
* \n appearing in Guild Info. CP changed how this was stored (zanix)<br />
* Hopefully fixed errors where people can't reach config.php (zanix)<br />
** Access to config.php has been changed to "roster/admin.php"<br />
* Talent Tabs, the first one will now show correct formatting (zanix)<br />
* Points spent in talents now uses a css style .talspent, like it was supposed to (zanix)<br />
* Color of talent ranks swapped to match game (zanix)<br />
* install.php and upgrade.php should now detect it's full server path and hopefully get rid of those nasty "cannot include template.php" errors (zanix)<br />
* Upgrading from 1.6.0-1.7.0 has been improved by now detecting the correct url path instead of using the old conf.php variables (zanix)<br />
* Possible security flaws in commonfunctions.lib.php, login.php, menu.php, and rosterdiag.lib.php (zanix)<br />
* Small fix to install/template.php to include the template files with full path (zanix)<br />
* $addonDir variable is now in menu.php so addon locale/config files possibly using this var will have it (zanix)<br />
* Time display for deDE locales (zanix)<br />
* Item- and questlink for blasc.de for deDE locales (sphinx)<br />
* Couple of localization issues with indexpvp (zanix)<br />
* Character PvPLog pages (zanix)<br />
** Fixed blank row weirdness when there is no data to display<br />
** Fixed class icons for deDE<br />
** Added class icons for battleground summaries<br />
* Realmstatus revamped with reg_ex html parsing and new fonts/graphics (pleegwat,zanix)<br />
* Added checking for character info in the tradeskill icon function for the main pages (zanix)<br />
** If there is none, then no query is made<br />
** This reduces the amount of queries on the main pages<br />
* Spellbook fixes with ' apostrophes in the names (zanix)<br />
* Removed SQL coloring on update screen, in same cases this causes errors (zanix)<br />
* "Required Level" for recipe fix for locales other than enUS (zanix)<br />
** Added "Required Level" for standard items as well<br />
** http://www.wowroster.net/Forums/viewtopic/t=1008.html<br />
* CP changed how quests show as (Completed) or (Failed) and fixed accordingly (zanix)<br />
* roster_quests.quest_index is now being set correctly (zanix)<br />
* Made melee_range and ranged_range fields longer since CP seems to be picking up color info for those (zanix)<br />
** Fixed lib/char.php to display the color info correctly<br />
* Fixed last online times for last_online < 1 hour (zanix)<br />
* wowdb.php fix for empty bags (pleegwat)<br />
* New riding/mount skills recognized (pleegwat)<br />
* Added handling just in case die_quietly() tries to die quietly. (pleegwat)<br />
* Added global slashing for global arrays (zanix)<br />
* lib/menu.php now temporarily holds the current $wordings array, then replaces it so addons cannot overwrite it (zanix)<br />
<br />
<br />
===Changes===<br />
* Search page changed to use sgray bordering (zanix)<br />
* MOTD and realmstatus are using full paths for images and fonts (zanix)<br />
* Moved the guild update summary to just below "Updating Guild [GUILDNAME]" for easier viewing (zanix)<br />
* Moved 'header logo' to the display section of roster config (zanix)<br />
* Access to update.php has been changed to "roster/update.php" (zanix)<br />
* Activated remote latest version detection in install.php (zanix)<br />
* Bordering images (the corners) are now transparent [Thanks Sahasrahla] (zanix)<br />
* Massive cleaning of styles.css (zanix)<br />
** A lot of things are going to look different<br />
** Basically a lot of base level defines, like h1, h2, span, etc... were removed or replaced<br />
* Quest search now opens a blank window instead of using JS to open a window (zanix)<br />
* Font in MOTD image generator should be more readable, and removed 1px wide black space at the end (zanix)<br />
* Moved main credits to enUS.php (zanix)<br />
* Some date parsing functions changed to use sscanf() instead of substr() (zanix)<br />
* UU detection for update.php, it's a little less picky about the User Agent now (case in-sensative!) (zanix)<br />
* New version of dynamic menu javascript code from dynamicdrive.com (zanix)<br />
** It's easier to use and uses less code<br />
* Removed the "By Class" menu link (zanix)<br />
* menu.php now uses only 1 query in member level distribution (pleegwat)<br />
* Class coloring should be more locale independent (zanix)<br />
* Moved stats from the indexalt.php (Alternate) to indexstat.php (Stats) so we have a single "Stats" list, money is completely removed (anthonyb)<br />
* Changed rep addon, indexpvp.php to auto change page when an option is picked in the select box (zanix)<br />
* Changed pagination for PvPLog stats on character pages (zanix)<br />
* Credits have been changed drastically and now include more contributors to the roster code (pleegwat, mattm, zanix)<br />
* Changed motd.php to get the motd when nothing is passed via motd.php?motd= (zanix)<br />
* Re-organized instance keys layout in localization files (zanix)<br />
* Changed code to use vgjunkie's new js function (zanix)<br />
** Changed tradeskills.php with vgjunkie's edits<br />
** Added vgjunkie's name to the 3rd party credits<br />
* Removed searing gorge key for horde (zanix)<br />
<br />
<br />
===Enhancements===<br />
* frFR localization [Thanks wowodo, lesablier, Exerladan, and Ansgar] (zanix)<br />
* Keyring support (zanix)<br />
* Added memberlog, based on the addon created by Averen (zanix)<br />
* phpBB auth has been removed, this is casing too much trouble (zanix)<br />
** Stay tuned for Roster 1.8 for a better solution<br />
* Added question mark bubbles where needed to indicate presence of a tooltip (zanix)<br />
* Confirm dialogs for Roster Config (pleegwat)<br />
* Added mail item colors since CP 1.6.0 gets this info now (zanix)<br />
* New defined constants (zanix)<br />
** 'ROSTER_LIB' - Points to roster/lib/<br />
** 'ROSTER_ADMIN' - Points to roster/admin/<br />
** 'ROSTER_ADDONS' - Points to roster/addons/<br />
* Addition of a class Anchor in the memberslist.php file - http://www.wowroster.net/ProjectsPro/task/task_id=29.html (zanix)<br />
* Added affected_rows() to wowdb.php (zanix)<br />
* Added support for a customizable background image (zanix)<br />
* Merged profile-script.js with main.js (zanix)<br />
* Added new config option "alt_image_ext" with default of GIF<br />
** PvPRank badge icons now use alt_image_ext (Transparent GIF images look much better) (anthonyb)<br />
* Added level to recipes on character pages (zanix)<br />
* Added (optional for addon dev) addon credits for main roster credit page (zanix)<br />
** Look at the [[Roster:Addon:AddonSDK#Addon_Credits|AddonSDK]] for more info<br />
* Added roster rendering times and # of SQL queries (zanix)<br />
** This displays at the bottom of every roster page<br />
** You can turn this off in Roster Config<br />
* Added messagebox functions<br />
** See the AddOn SDK for more info<br />
* Added roster_header hooks for addons<br />
** See the AddOn SDK for more info<br />
* Added "Most Killed" and "Most Killed by" in pvplog display for duels (zanix)<br />
* Added dodge, crit, parry, and block to indexalt.php (zanix)<br />
* Added common tooltip colorer to commonfunctions.lib.php (zanix)<br />
* Added $script_filename to addon.php (zanix)<br />
** $script_filename = 'addon.php?roster_addon_name='.$_REQUEST['roster_addon_name'];<br />
* Update.php will show upload boxes for the following addons if they are present [thanks to polodude] (zanix)<br />
** RaidTracker<br />
** EventCalendar<br />
** Bookworm<br />
* RosterLogin Class (zanix)<br />
** Mainly built for addons needing a quick way to put a login box on the page and to check for roster admin access<br />
** settings.php includes this for <u>every</u> page that includes settings.php<br />
** Roster Config and Roster Diag updated to use this new class<br />
** THIS IS NOT AUTH FOR ROSTER. It is only to authenticate the roster admin<br />
** Look at the [[Roster:Addon:AddonSDK#Roster_Admin_Authorization|AddonSDK]] for more info<br />
* Moved most of the overlib calls to a php function that returns 'onmouseover="return overlib(overlib_id);" onmouseout="return nd();"'<br />
** Overlib strings called this way are printed in the footer of roster<br />
** This reduces the amount of text outputted in the html of the page which make rendering slightly faster<br />
** function makeOverlib( $tooltip , $caption , $caption_color , $mode , $locale , $extra_parameters )<br />
*** See commonfunctions.lib.php for more info on these functions<br />
** function cleanTooltip()<br />
*** This is called from makeOverlib() when $mode=1<br />
*** This just converts the wow color strings and brackets ( < > ) to html<br />
** function colorTooltip()<br />
*** This is called from makeOverlib() when $mode=2 or is not set<br />
*** This converts the wow color strings and brackets ( < > ) to html as well as does the famous color parsing the used to be in item.php<br />
<br />
<br />
<br />
<br />
==v1.7.0==<br />
Released - June 17, 2006<br />
===Fixes===<br />
* Update Profile<br />
** Switched to lua parser from roster2 (Parser Code By Airor/Chris), seems to run better/faster (By zanix)<br />
** gzip uploads do not make temp files anymore, roster should be able to unzip gzip files on the fly (By zanix)<br />
** Removed "Update Triggers" checkbox from update.php(By zanix)<br />
** Update.php now uses "password" to update the roster memberlist. NOT "roster_update_password" (By zanix)<br />
**: Make sure to set up UniUploader accordingly <br />
** Cleaned up output when using UniUploader to upload lua files<br />
** Update.php now supports UniUploader's "Send Password Securely" option (By zanix)<br />
** Roster addon links will now show up on the update page<br />
** Better checking and notification on update for data, notifies if quests, inventory, bank, or equip are not found (By zanix)<br />
** Changed $updGuildOutput = $wowdb->update_guild() to use less arguments and accepts $guild[] array, wowdb now handles the rest (By *zanix)<br />
** Update will only update from the realm specified in config (By zanix)<br />
**: This fixes the same named guild on a different server issue <br />
** Changing your guild/server name, then updating, will now cause update.php to remove ALL members and their info that do not match the new guild id<br />
** Changed to kick back to the input fields when a user hits the upload button and no file is selected<br />
** Added guild update summary<br />
<br />
<br />
* Character Pages<br />
** Moved js functions defined in lib/char.php to css/js/profile-script.js (By zanix)<br />
** When a character has no talents, "No Talents for CharName" will display (By zanix)<br />
** Changed quest links, using arrays now, much easier to add more links if needed (By zanix)<br />
** Cleaned up how character pages dies when a character isn't found<br />
**: Will show "character not found" instead of displaying weird mysql error<br />
** Profile-script.js now accepts img_url as a parameter (By zanix)<br />
** Changed sorting for "Item" column in recipes page to by name (By zanix)<br />
** Separated item bonuses table from character frame, this fixes the bonuses from moving the character frame (By zanix)<br />
** Clicking anywhere on the tabs (not just the text) will go to that tab (By zanix)<br />
** Fixed a bug in item bonuses that caused the tooltip not to show (By zanix)<br />
** Fixed when honor is not shown, left a float command in by mistake. (By mordon)<br />
** Fixed bug in item bonuses table where right border was using wrong class [Thanks Fyredrake] (By anthonyb)<br />
** Fixed long bag names breaking in FF [Thanks Thorus] - http://www.wowroster.net/viewtopic.php?t=1675 (By zanix)<br />
** Added "Spell Damage" fix for item bonuses [Thanks Micah] - http://wowroster.net/viewtopic.php?t=3230 (By zanix)<br />
** Disabled the display of the Item Bonuses table when that character has no item bonuses (By zanix)<br />
** Item bonuses table will always stay the same width, and text will wrap properly (By zanix)<br />
** Changed talent rank icons, they look prettier now (By zanix)<br />
<br />
<br />
* HTML/XHML/CSS<br />
** Numerous xhtml/html compliance fixes (By nerk01, zanix)<br />
** Removed the mass of tables in roster_header.tpl and char.php, replaced with div tags (By zanix)<br />
** The character pages should now validate against xhtml 1.0 Transitional (By zanix)<br />
**: Still doesn't mean they'll display ok in every situation <br />
** Tried again to fix "Mysterious Gap" in IE on character page (By zanix)<br />
** Removed styles2.css and default.css, merged both with styles.css (By zanix)<br />
**: Yes! We have only one css file now! <br />
** Replaced overlib.js, with overlib_mini.js, saves 20kb! and is exactly the same (By zanix)<br />
** Overlib styling moved to the css styles (By zanix)<br />
** Tooltips should display fine over <select> boxes in Internet Explorer (By zanix)<br />
<br />
<br />
* Misc Display<br />
** Moved upload instructions url anchor to membersList so it won't show on "Guild Not found" error (By zanix)<br />
** Fixed tradeskill icons in memberList (By zanix)<br />
**: Skill order has been corrected, Professions first, secondary skills next<br />
**: Riding skill icons will now display<br />
**: Removed img/trade/ folder as it is no longer needed<br />
** Class icons are defined in the locale files, like the tradeskill icons (By zanix)<br />
**: Removed class images in img/ directory, they are no longer needed<br />
** On Professions page (tradeskills.php) changed default char name link destination from the char page to the recipes page for that character. (By anthonyb)<br />
** Realmstatus text output mode is now a <nowiki><div></nowiki> container, not a table anymore (By zanix)<br />
** Updated valid html logo. Now in new, smaller size (By zanix)<br />
** A new config value, 'interface_url' is for all images that reside in the Interface directory (By zanix)<br />
**: Now you can have your roster images and the Interface images in different locations!<br />
** Most of the main pages now use the memberList.php code<br />
*** indexAlt.php<br />
*** indexStat.php<br />
*** indexHonor.php<br />
*** Removed the following files since they are not used<br />
**** membersList2.php<br />
**** membersStat.php<br />
**** membersHonor.php<br />
** Changed the look of quantity number on items (By zanix)<br />
** Fixed gap between header and contents on bags in IE (By zanix)<br />
** Bag names now use css overflow:hidden; instead of substr'ing it to 25 characters (By zanix)<br />
** Made the Honor and PvP lists collapseable, default display is configurable in Roster Config (By zanix)<br />
<br />
<br />
* DB Fixes<br />
** Updated wowdb to use newer CP fields instead of depreciated ones. (By nerk01, zanix)<br />
*** [char]["Honor"] = LifetimeHK, LifetimeHighestRank, RankInfo, YesterdayContribution, YesterdayHK, LifetimeDK, RankName, SessionDK, SessionHK, LastWeekRank, YesterdayDK, LifetimeRankName, LastWeekContribution, LastWeekHK, RankIcon, LastWeekDK<br />
*** [char][Guild][GuildName] > Name<br />
*** [char][DateUpdated] > Date/DateUTC<br />
*** [char][Experience] > XP<br />
*** [char][Armor] > [Stats][Armor]<br />
*** [char][Defense] > [Stats][Defense]<br />
*** [guild][MemberName][Group] > [guild]->[MemberName][Status]<br />
** Resistance and stat fields are now stored in the DB as int() values (By zanix)<br />
*** The new fields are named as follows (type = 'res_' or 'stat_')<br />
**** type_name = Base Value<br />
**** type_name_c = Current Value<br />
**** type_name_b = Buff Value<br />
**** type_name_d = Debuff Value<br />
** Every SQL $string that is passed to $wowdb->query($string) will be stored in the array $wowdb->sqlstrings<br />
**: You can then access this array at any point and don't have to worry about saving/printing each SQL string<br />
<br />
<br />
* Code Fixes<br />
** Removal of extract($GLOBALS) (By zanix)<br />
** Most of the files have been renamed to lower case to ease roster hardships with server OS's that care about filename case (By zanix)<br />
*** The only files that MUST include uppercase letters are the localization files, and files in the Interface directory<br />
** addon.php now uses an html css style link to the css file instead of opening the file and spitting out the contents into the output (By zanix)<br />
** Most submit buttons use JS that keeps people from hitting the submit buttons more than once (By zanix)<br />
** Fixed array based tooltip parsing in wowdb.php. Handles <nowiki><br></nowiki> tags correctly now (By zanix)<br />
** Added a lot of "deny access" strings to files that are not directly accessed (By zanix)<br />
** Added links to config and upload when "Guild Not found" error occurs (By zanix)<br />
** Fixed error when all addons are removed from /addons directory (By anthonyb)<br />
** "No guild" die() message changed to use the value in localization files (By zanix)<br />
** Fixes to realmstatus, it will still take 30 seconds to time out but it shouldn't break the page anymore (By zanix, mordon)<br />
** Replaced guildbank2's icon maker with lib/item.php, cuts down on duped code (By zanix)<br />
** Edited links to original coders as 2 were going to 404 pages (By zanix)<br />
** Item Tooltips will show tabs A LOT better now (By zanix)<br />
** Changed download paths in conf from wowprofilers to wowroster (By zanix)<br />
** Multiple PvP fixes (By Nostrademous, anthonyb, mordon)<br />
** Some corrections of the german translation and encodings... (By sphinx)<br />
** Hopefully fixed some issues using MySQL 5 with "Strict_Tables" on (By zanix)<br />
** Fixed up image pathing to use $roster_conf['img_url'] [Thanks pbutler] (By zanix)<br />
** Added multiple checks for empty tooltips and put the item name in, the idea is to fix them before they enter the db (By zanix)<br />
** File inclusion is handled better with the use of a new constant 'ROSTER_BASE'<br />
**: This is the absolute directory path to the root of roster<br />
** All localization files in the localization folder are now included<br />
**: You can get a list of included locale files (minus the extenstion) from the $roster_conf['multilanguages'] array<br />
** Mass changing of using "mysql_" to use wowdb functions, including inside wowdb itself (By zanix)<br />
*** Addon devs are expected to use $wowdb functions as well<br />
*** If something is missing, let us know<br />
** Made the line numbers match each other in the locale files (By zanix)<br />
*** This makes it easier to find matching strings<br />
<br />
<br />
===Enhancements===<br />
* RosterDiag - A Roster Diagnostics tool, displays important config options, gd info, file integrity, etc... (By anthonyb, zanix, mathos)<br />
** You can use rosterdiag.php?printconf=1 to get a printed array of the current Roster configuration <br />
* AUTO-INSTALLER! - Roster now comes with a database table installer, it will also upgrade a current database (upgrades from 1.6.0 only) [Thanks Moondrake] (By zanix)<br />
* Web based config! - Now point your browser at roster/admin/config.php to change the options in roster. [Thanks Zeryl] (By zanix)<br />
* New roster menu, isn't it pretty? (By zanix)<br />
* Character pages display is now set on a per character basis (By zanix)<br />
** Use Roster Config to change the settings <br />
* Guild Info page - See your guild info text. [Thanks Zeryl] (By zanix)<br />
* Revamped the credits page (By zanix)<br />
* PvPLog display has been greatly enhanced (By zanix)<br />
* New header logo! (By mathos)<br />
** There is a psd (PhotoShop) template image that you can edit <br />
* Catagorized GuildBank AddOn is now packaged with Roster<br />
* Added Colorization to Class Names (By nostrademous)<br />
** Option via config for those that find it a bit hard on the eyes, default is class names are in color (By anthonyb) <br />
* Added border($style,$mode,$header_text) function. This is for wrapping something in the nice bordering [Thanks Mathos] (By zanix)<br />
** Accepts 'rank' (the original bordering) or 'scolor' (new slimmer styled borders) for $style for different bordering styles<br />
*** There are many colors including sblue, sgreen, sgray, sred, spurple, syellow, and sorange <br />
** Accepts 'start' or 'end' for $mode to start or end bordering<br />
** Converted alot of the tables to use this, the display is much more consistant in IE vs FF <br />
* Added fancy bordering to guildbanks<br />
* Added allakhazam search on the "Find Teams" page (By zanix)<br />
* Edited look of quests, recipes (By zanix)<br />
* Added a SQL string colorizer function sql_highlight($sqlstring) (By zanix)<br />
*: Returns the sql string, colorized for display <br />
* Added a function to handle die()'s or exit()'s (By zanix)<br />
** die_quietly($text,$title,$file,$line,$sql)<br />
**: $text - What text to display <br />
**: $title - Title of the error box <br />
**: $file - File name, best to use basename(__FILE__) as the argument <br />
**: $line - Line number, best to use (__LINE__) as the argument <br />
**: $sql - SQL text to display, die_quietly will pass this through a SQL colorizer <br />
* Many changes to the look of update.php (By zanix)<br />
** Added the "Cleaner Update Page" Mod [Thanks OverloadUT2]- http://www.wowroster.net/viewtopic.php?t=2705<br />
** Update info will now display inside a scrollable box<br />
** Added alot more info on updating<br />
** Update trigger lib won't notify if it is trying to run triggers anymore<br />
** There is now a "Save Update Log" button, hitting this will give a downloadable text file of the log messages and all sql strings <br />
* Colorization on removed/added members on update (By zanix)<br />
* Added image based MOTD, configurable in conf.php [Thanks PoloDude] (By zanix)<br />
*: The image will size dynamically based on how long the text is <br />
*: motd.php will take an argument ?motd=Text where Text will show on the image <br />
*: A character limit of (145) has been imposed to keep the image size manageable and to prevent malicious use <br />
* Added honor rank icon tooltip on main member list to include Rank and % (By anthonyb)<br />
* Added many more mysql functions to lib/wowdb.php (By zanix)<br />
<php>$wowdb->error() = mysql_error()<br />
$wowdb->fetch_assoc = mysql_fetch_assoc()<br />
$wowdb->fetch_array = mysql_fetch_array()<br />
$wowdb->fetch_row = mysql_fetch_row()<br />
$wowdb->num_rows = mysql_num_rows()<br />
$wowdb->free_result = mysql_free_result()<br />
$wowdb->data_seek = mysql_data_seek()</php><br />
* Added Various Item Icon Colorizations in CSS styles: for the various item qualities (rare, uncommon, epic, common, trash). (By nostrademous)<br />
** iconblue<br />
** icongreen<br />
** iconpurple<br />
** iconwhite<br />
** icongrey <br />
* Added mailbox extraction and display [Thanks ThePrimaryDave] (By zanix)<br />
* Added spellbook display in character page (By zanix)<br />
* Added level bars mod with eXp tooltip [Thanks mutilator, Zeryl] - http://wowroster.net/viewtopic.php?t=2543 (By zanix)<br />
* Added recipe item color/rarity (By zanix)<br />
** Added 'difficulty' column to recipe page colored based on difficulty<br />
** Item names in recipe page are now colored based on item rareity<br />
** Fixed made-by addon to show item names/rarity correctly <br />
* Added the ability to turn off the update instructions on the main page (By zanix)<br />
* Added "Max XP" output on IndexAlt (By zanix)<br />
* Added tooltips for pet icons(shows their name) (By zanix)<br />
* Added Damage Reduction in armor tooltip - http://www.wowroster.net/viewtopic.php?t=3384 [Thanks aktlingit] (By zanix)<br />
<br />
<br />
===Important Changes===<br />
* Roster Password is now a md5 hash<br />
*: AddOn Devs, change your addons if it uses this password <br />
* Addon.php does not write the contents of the addon's css file to the output<br />
*: Instead it will add a style link to the <head> section of the output <br />
* Changes to conf.php<br />
*: Roster Configuration has been moved to the db <br />
** All config values now exist in the array $roster_conf[]<br />
**: AddOn Devs, you'll need to update your AddOns to use this new array <br />
* AddOns Framework<br />
** Changed "update_triggers" to automatically include the config file for each addon<br />
** AddOn Creation Docs have been updated <br />
* Changes to Database<br />
** Added Tables<br />
*** roster_mailbox<br />
***: Holds mail for characters <br />
*** roster_config<br />
***: Holds roster configuration/settings <br />
** Altered Tables<br />
*** roster_players<br />
*** roster_members<br />
*** roster_recipies<br />
*** roster_items<br />
*** roster_guild<br />
*** roster_spellbook<br />
*** roster_talents<br />
*** roster_talenttree<br />
<br />
<br />
<br />
<br />
==v1.6.0==<br />
Released - February 04, 2006<br />
===Fixes===<br />
*Basic support for PvPLog 0.4.8<br />
**More fixes, enhancements comming soon!<br />
*update.php and updateMembers.php have merged<br />
**use update.php for guild AND member updating<br />
*The usual... major code cleanup, html fixes, css issues<br />
**Index pages conformance to W3C HTML 4.0 Transitional<br />
**Fixed multiple gap issues, hopefully<br />
*Fixed "headers already sent". Roster now checks to see if headers were sent and sets them if they aren't<br />
*Cleanup of old files no longer in use: index2.php, altindex.php, indexupdate.php, membersInst2.php, indexProf.php, ProfList.php, and ProfList2.php<br />
*Changed realmstatus to use the database to store values instead of "wowss/wowss.txt"<br />
**Deleted wowss-folder: fonts moved to /fonts and images to /img/realmstatus<br />
**cURL will now be used if fopen()/file_get_contents() fails, Thanks to Jerry for the fix<br />
**To use fopen()/file_get_contents(), allow_url_open must be on in php.ini, to use cURL, it must be compiled into your PHP<br />
*Fixed guildbank2 not showing the correct stack heights<br />
**Fix for first item of query getting "eaten" in guildbank2<br />
**Added money totals and per character money in guildbanks<br />
**Added character last updated to guildbank2<br />
*Header and Footer files added, now it is easier to adjust the header and footer for each page<br />
**Character pages DO NOT use the header/footer files because this would break it's functionality<br />
*Improvements to localization<br />
*Tooltip and overlib adjustments<br />
*Fixed docs link in memberslist.php - was just docs/ which assumes a default file is loaded - changed to docs/index.html<br />
*Fixed a bug where some servers will not display character info, or "Character Not Found"<br />
*Replaced all instances of <? with <?php to ensure compatibility with systems where PHP configuration has short_open_tag = Off<br />
*Replaced multiple insatances of hard-coded '/' with the DIRECTORY_SEPERATOR value to fix incorrect slash on certain systems<br />
*Re-added "img/default.png" for legacy signature generator (img.php)<br />
*Character pages<br />
**Changed how reputation values display, looks more like in game<br />
**Fixed exp bar at around 97% to 99%, the bar would be larger than the container<br />
**"Unused Talent Points" will no longer display "Unused Talent Points: 0" it will now only display if there are actually unused talent points<br />
**Fix to recipies, when a character had only one type of recipie, the table breaks<br />
**Recipes pages with wrong icon placement + quicklinks<br />
*Fix for images having a space and generating errors on some systems when referencing images with spaces in the name, in one case "First Aid.gif" on the recipes page<br />
*Removed the thottbot option in conf.php as they no longer let you link to their images<br />
*Fixed unescaped server name when doing an update to the database. ' in server name would break it before<br />
*Now you can choose between two external itemlink-urls for each language-setting. (thx @ Merella for the hint)<br />
*Fixes for sqldebug. Eeverything should now properly recognize sql debug statements only when necessary<br />
*pvp update now modifies the levels: if < 1 then make it equal to itself multiplied by negative one<br />
*Pet bugs and bag bugs fixed by mortencb<br />
*Fix for ' in server names when displaying character stats for a warlock / hunter with a pet<br />
*When updating a character, wowdb will update the level of in the members table, as well as players table<br />
<br />
<br />
===Enhancements===<br />
*Roster Addons support<br />
*Full DB prefix support, default DB prefix is 'roster_'<br />
*New 1.9 icons from rpgoutfitter.com<br />
*CharacterProfiler, GuildProfiler, and PvPLog version detection<br />
**Prevents old versions of CP, GP, or PvP from uploading data<br />
*Basic support for PvPLog 0.4.8<br />
**More fixes, enhancements comming soon!<br />
*Included addons<br />
**"SigGen" by Zanix, see the SigGen docs for more info<br />
**"Made by Recipe" by Cybrey<br />
**"Faction Filter" by Cybrey<br />
**"Dummy Addon" template. This is for making your own addons<br />
*Added a stripped down version of menu to use in phpbb if you want to show the roster menu with links in your website portal<br />
**(It's in the "addons/pmenu" folder)<br />
*Added Spellbook to database backend, there is NO front end (no display in roster)<br />
*Index page<br />
**Added profession icons, class icons, and pvp icons to index.php, switchable via conf.php<br />
**Added column "Last Update" to main page, switchable via conf.php<br />
**Added displaying of Guild MOTD on main index page<br />
*Added hot links/ancors to search "indexSearch.php"<br />
*Added credits page<br />
*Added link to wowprofilers.com in the Credits section. No need for us to hide anymore!<br />
*Added more info when doing a guild member update, will show members a being "Updated", "Added", or "Removed"<br />
*Added removal for members not assigned to the current guild id<br />
*Updated all the files to show the revisions numbers in all the files for CVS changes for future use and troubleshooting<br />
*Added localized item tooltip coloring<br />
*Character pages<br />
**Added Advanced Stats & Bonuses, Thanks to cybrey (original author) and dehoskins (for additional output formatting)<br />
**Added Max Exp to exp bar<br />
**Added Time Played and Time Level Played<br />
**Added Honor EXP bar to the honor tab<br />
**Added "Points Spent" to talents<br />
**Added Pet icons<br />
<br />
<br />
===Known Bugs With 1.6.0===<br />
*Bags with long names are not displayed correctly, they appear to be moved into the bag<br />
**This is a css issue, no known fix at this time<br />
*Servernames with non-english characters, or mis-matched names may cause serverstatus to not work correctly<br />
**Fix: Open "realmstatus.php" in a text editor and edit the variable "$server" to match exact name from the WoW realmstatus page<br />
*Random gaps on the character page<br />
**This is a css issue, we have done our best to resolve this but it still happens sometimes<br />
<br />
<br />
<br />
<br />
==v1.5.1==<br />
Released - October 20, 2005<br />
===Fixes===<br />
*Character pane blank for any tabs other than Skill when DB doesn't contain any Pet data [337-338]<br />
*"Headers already sent" issue with update.php for some people fixed [330-331]<br />
*PvP data page will now retain custom column sort across pages when using Previous/Next links [334]<br />
*Bag names being being truncated at 17 characters fixed [335]<br />
<br />
<br />
===Enhancements===<br />
*$lang variable replaced with $roster_lang to resolve compatibility issues with phpBB [329]<br />
<br />
<br />
<br />
<br />
==v1.5.0==<br />
Released - October 17, 2005<br />
===Fixes===<br />
*Missing Poison profession icon added<br />
*Large amounts of display inconsistencies between IE6 and Firefox 1.0.6 fixed<br />
*Large numbers of formatting inconsistencies fixed<br />
*Removed incessantly repeating and redundant guild name variable usage from PvP and Honor stats tables on main page to make them less cluttered and smaller for guilds with long names<br />
*Remove a lot of mixed case variables to reduce issues on Unix system that are overly pedantic about case...<br />
*Fixed annoying yellow border on image headers in recipes with IE6<br />
*Replaced hard-coded Thottbot variable on column header link with $itemlink variable defined in conf.php same as item links on Keys page<br />
*Added _target to column header link so links open in new page on Keys page<br />
*Re-added unlink command which had gone missing somewhere along the way and was causing temp to be left behind in webserver %temp% directories when data was uploaded with UniUploader using GZip<br />
*Fix for quest title containing quest level caused by multiple 'quest' related addons overloading the function in WoW post 1.7 patch. This will strip the offending data out prior to committing to the DB <br />
*Inserted logic to account for Horde not getting a Searing Gorge key so it won't be displayed on Keys page<br />
*Fixed US server status page and implemented XML parser<br />
*Modified query to return character level as whichever is higher between members.level (data from GP) or players.level (data from CP) to solve problem of main view character level often being lower than the character pane level due to guild admins not doing GP updates frequently. Also modified the various display sort queries to suit change.<br />
*Untold amount of code clean-up and optimization<br />
*One less stylesheet, removed "css\styles3.css"<br />
*Update page now supports post 1.7.0 patch use of seperate data files for each addon <br />
*Data upload will now only upload chars whose guild matches the one defined in the conf.php <br />
<br />
<br />
===Enhancements===<br />
*Localization completely re-done and almost the entire roster now supports localization. Current language support is English (enUS) and German (deDE) but will be easy to now include other languages<br />
*Reputation tab added to character panel<br />
*Pet tab added to character panel (only visible for Hunters and Warlocks)<br />
*All icon images converted to jpg for easier updating<br />
*Recipe list columns now sortable<br />
*Class and Profession icons all re-made - much better quality now<br />
*Added Quest count (like in game, eg. 16/20) to the quest list page<br />
*Money display on main backpack now configurable (global only) via $show_money variable in conf.php<br />
*Added $char_bodyalign to control the characters’ data display either left center or right<br />
*Keys page now includes Rogue Thieves' tools and partial quest completion gauges<br />
*Character page now has a 'Date Updated' tag which reports the date/time, as recorded by CharacterProfiler value 'DateUTC', the data was saved in-game. This date/time is stored in the database in UTC and then displayed with whatever time display offset is configured in the $localtimeoffset variable in conf.php. The date/time format is configurable by the $phptimeformat variable.<br />
*Implemented local time display for data GuildProfiler data is updated based on new GuildProfiler value 'DateUTC'. Uses same function and local time display offset var as character date - $phptimeformat<br />
*New Guildbank feature added<br />
*Updated icons to include the 55 new items/abilities/etc. from WoW 1.7.0 patch<br />
*New signature generator (sig.php) Use of this is the same as img.php. See /docs/sig.php(new_signature_generator)-readme.txt for more information<br />
*All new Talents tab with in-game layout! <br />
*Implemented Overlib tooltip engine - tooltips are now MUCH faster and don't disappear off-screen! <br />
*Update page now supports post 1.7.0 patch use of seperate data files for each addon <br />
*Honor support updated to include current features <br />
*Realm Status now supports new Blizzard XML based page<br />
*All new setup documentation in HTML format! OMG!!!<br />
*Ammot slot contents now displayed on Character screen!<br />
<br />
<br />
<br />
<br />
==v1.04==<br />
Released - July 30, 2005<br />
===Fixes===<br />
*Updated the $blizstatuspage variable in conf.php to fix issues since WoW 1.6.0 patch <br />
*Renamed "roster\CSS FILES" directory to "roster\css" to reduce issues with UNIX based web servers caused by spaces in the directory name.<br />
*Renamed "roster\CSS FILES\JV Scripts" directory to "roster\css\js" to reduce issues with UNIX based web servers caused by spaces in the directory name. <br />
*Deleted \roster\lib\wowdb.zip from distribution package - don't know why it's there in the first place... <br />
*Changed default UniUploader link in conf.php - existing link is broken<br />
*Changed default CharacterProfiler link in conf.php - existing link is to old non-working version<br />
*Cleaned up all files for spaces at end of files after PHP closing tag (can cause problems)<br />
*Fixed character link being invalid on the query return page of the "Find Team" page<br />
*Fixed "Find Team" queries returning no results (incorrectly) when the quest name contained an apostrophe<br />
*Included a MySQL 3.x compatible roster.sql called roster104_MySQL3.sql for creating database during installation (untested as I don't have a MySQL 3.x installation nor will I. This version is SO old there's no excuse for people to still be running it)<br />
*Main roster page version number use $version variable in conf.php rather than hard coded value in index.php page<br />
*Added slot_Waist.gif (missing) to /roster/img<br />
<br />
<br />
===Enhancements===<br />
*Percentage value shown on the XP bar on the character page<br />
*Character gender now captured and displayed on the character page<br />
*Equipment slots not containing an item now show the same "greyed" icon as in-game rather than an empty slot on the character page<br />
*Smaller tab image used on bottom of character panel so they all fit on one row. This also creates room for more tabs... ;-)<br />
*Recipes now colour coded to reflect difficulty on recipes page<br />
*Generic Horde image now included for signatures<br />
*Additional quest lookup links now available on Quests page - Allakhazam and WWN Data added to existing Thottbot links<br />
*Quest lookup links now fully configurable via conf.php - show as many or as few as you like and add your own custom ones<br />
*Menu bar on top of most pages tidied up, dividers added, and now honors the individual On/Off flags in conf.php for whether they are displayed or not.<br />
*Added GZip support to updatemembers.php page for consistency with update.php - UniUploader users rejoice!<br />
*Included gd_info.php file to help troubleshooting issues with Signatures and the Server Status image. gd_info.php only shows the GD support info so is able to be safely link to publicly unlike phpinfo which gives away information which *could* be potentially be used maliciously.<br />
*Server Status image now able to be disabled via conf.php for those that do not want it displayed at all.<br />
*Various miscellaneous minor changes to main menu "box", including the guild character level breakdown info, and menu names.<br />
*Change variable declarations to be enclosed in ' rather than " if they don't contain variables (performance improvement - 'x' gets treated as a string and is assumed to not contain any variables and therefore doesn't get parsed which improves performance)<br />
*General code formatting cleanup, eg. remove large numbers of line spaces, correct formatting, replace multiple spaces with tabs, etc. on some files (there's still a LONG way to go!) <br />
<br />
<br />
<br />
<br />
==v1.031 [maintainance]==<br />
Released - July 11, 2005<br />
*Just a package maintenance update to prevent issues with old addons and links - no functionality changes.<br />
*Removed GuildProfiler addon from package - must now download saperately<br />
*Removed CharacterProfiler addon from package - must now download separately<br />
*Update config.php.bak to remove old CharacterProfiler URL (www.cethinchimera.com) and replace with current dev source (http://www.rpgoutfitter.com/CharacterProfiler)<br />
<br />
<br />
<br />
<br />
==v1.03==<br />
Released - May 05, 2005<br />
*Updated lib/wowdb.php to except Angarth' Wow Profiler 1.0.3<br />
*Updated lib/wowdb.php for Recipe and Bank Fix<br />
*Updated lib/char.php with new graphics and updated honor format<br />
*Updated code to configure everything from the config.php<br />
*Updated update.php <br />
*Updated newer PvP support and added in PvPLog 0.4.6<br />
*Added Server Status, it parses the realm status of Blizzard's website<br />
*Added support in conf.php to turn off or on the Quest's, recipes, PvP, and duel data from displaying<br />
*Added new info to the menu<br />
*Upload profile now available on the menu</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLog:1xRoster:ChangeLog:1x2012-09-09T18:53:37Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
WoWRoster 1.x Change Log<br />
----<br />
Last Release ([[Roster:ChangeLog|v2.3.0]]) September 09, 2012<br />
<br />
You can view the open source project at - http://www.wowroster.net<br />
For corrections and/or suggestions - http://www.wowroster.net<br />
<br />
Only 1.x changes are shown here, please visit [[Roster:ChangeLog|WoWRoster Change Log]] for the current log<br />
<br />
<br />
==v1.7.3==<br />
Released - February 14, 2007<br />
===Fixes===<br />
* Updated lua code and parsing for WoW 2.0.3 (pleegwat)<br />
* Many locale updates (zanix)<br />
* MOTD now converts html characters properly (zanix)<br />
* PvPLog now detects realm along with names for data insertion (zanix)<br />
* Reverted spellbook fix for Opera browsers, it breaks IE 6 (zanix)<br />
* Setting header logo or background image in Roster Config to nothing will remove the header logo and background correctly (zanix)<br />
* Bank bags will now show 7x4 instead of 4x7 (pleegwat)<br />
* Added support for Jewelcrafting, Blood Elf, and Draenei (zanix)<br />
* Raised level cap to 70 (zanix)<br />
* Fixed shaman class coloring (zanix)<br />
* Talent Points should insert properly now (zanix)<br />
* Removed Current PvP Ranking from Roster, the WoW API no longer provides this information anyway (zanix)<br />
* Added EU ES url for realmstatus (zanix)<br />
* Added primary keys to the spellbooktree, spellbook, talenttree, and talent tables (pleegwat)<br />
* Fixed update triggers where there are addons with no triggers (zanix)<br />
* Fixed rare notice in menu.php with update time (zeryl)<br />
* Fixed tradeskills.php to accept an arbitrary number of different tradeskills (pleegwat)<br />
* Added a result validity check for the tradeskill icon query in the main members list (pleegwat)<br />
* Many fixes to rosterdiag (zanix)<br />
** Added addons folder to ignore list<br />
** Fixed valid html errors<br />
** On file compare, longer lines do not have to be scrolled individually<br />
** Changed php highlighting to return string and removed output buffering<br />
** Changed/fixed some stuff in the remote file checker code<br />
** Hopefully fixed "endless loop" when wowroster.net is down<br />
* Modified the update trigger lib to global the $addon_conf and only load addon configuration once (pleegwat)<br />
* Changed realmstatus to accept new xml status page for EU realms (zanix)<br />
* Set all 'old' instance keys that are not pickable with 300 lockpicking to need 1000 lockpicking (pleegwat)<br />
* Fixed memberlog last page button to start at a multiple of 30 (pleegwat)<br />
* Fixed memberlog previous page button to not produce a negative start number (pleegwat)<br />
* Changed messageboxtoggle() and scrollboxtoggle() to use the JS showHide() which results in less html code printed (zanix)<br />
* Added a check for empty members list on update (pleegwat)<br />
* Fix to tradeskills.php noted here - http://www.wowroster.net/Forums/viewtopic/t=2637.html (zanix)<br />
* Moved setting of header() to roster_header.tpl (zanix)<br />
* Bag code and css cleanup (zanix)<br />
** Combined many css defines between bag and bank<br />
** Made corners transparent :)<br />
** Removed redundant code<br />
* Fixed a preg_replace() in function colorTooltip() for color strings that might have UPPERCASE codes (zanix)<br />
* Moved to explicitly including each of the language file in a new file in the languages folder (pleegwat)<br />
** This means 1 extra operation when adding a language, namely adding it to the array in localization/languages.php<br />
** This also fixes the inclusion of back-up locale files<br />
* Made a small change in the key page to cut the number of sql queries down by almost half (zeryl)<br />
<br />
<br />
<br />
===Enhancements===<br />
* esES locale '''May not be complete!'''<br />
* Changes to the upgrader, we now have a common function for upgrading (zanix)<br />
* Added 2 constants (zanix)<br />
** ROSTER_MAXCHARLEVEL<br />
** ROSTER_MAXSKILLLEVEL<br />
** Updated Roster to use these<br />
* Added 4 new update trigger hooks (pleegwat)<br />
** ''char_pre'' is run before character updates<br />
** ''char_post'' is run after character updates<br />
** ''guild_pre'' is run before guild updates<br />
** ''guild_post'' is run after guild updates<br />
* Added some code, js, css to change the look of text boxes, radio buttons, and check boxes (zanix)<br />
** For checkboxes and radio buttons, some js has to be used to dynamically replace the buttons<br />
*** Set $body_action before you include roster_header.tpl<br />
*** example 'onLoad="initARC(\'config\',\'radioOn\',\'radioOff\',\'checkboxOn\',\'checkboxOff\');"'<br />
*** initARC('formID','radiOnClass','radioOffClass','checkboxOnClass','checkboxOffClass')<br />
** For text boxes, it's just some css magic, class="wowinput"<br />
*** The only bug is that the size is fixed, so I provided additional css defines wowinput, wowinput192, wowinput128, wowinput64<br />
<br />
<br />
<br />
<br />
==v1.7.2==<br />
Released - December 29, 2006<br />
===Fixes===<br />
* '''IMPORTANT'''<br />
** There are no longer any Roster AddOns included with Roster<br />
** To get addons like SigGen, MadeBy, and Reputation...you must download them separately!<br />
* register_globals destroyer added to remove any problems with this setting (zanix)<br />
* Installer now checks if a locale file exists before displaying it as an option (zanix)<br />
* Riding Icons should now function in all locales [Thanks Romish] (zanix)<br />
* Offset in keys page for horde guilds (zanix)<br />
* Plus/minus boxes not showing for collapsible messageboxes [Thanks Snykx] (zanix)<br />
* realmstatus.php not showing text with accented characters (zanix)<br />
* Division by zero errors in index.php and char.php (zanix)<br />
* Character page on systems with magic quotes off (slashes are added by settings if it's off, but not stripped here) (pleegwat)<br />
* Server names entered with an apostrophe in the name not being entered into the database correctly (zanix)<br />
* Fixed Horde Onyxia Quest Chain in keys page (zanix)<br />
* Added actual MOTD in alt tage for image mode (pleegwat)<br />
* Debug Improved (pleegwat)<br />
** Renamed 'show process time/db queries' to 'debug mode', also updated tooltip for this option<br />
** Added query reporting for trunk if debug mode is on<br />
** Now printing full debug trace when dieing if debug mode is on<br />
* Slight change to quest tag rendering (zanix)<br />
* Fixed mail tooltips (pleegwat)<br />
* Fixed char.php so it can be called without server parameter again (pleegwat)<br />
* Guildbank for frFR locale with Bind on Equip (zanix)<br />
* Removed is_numeric check in wowdb as it is safe to insert quoted numbers (zanix)<br />
* Guild motd is now hidden when there is no motd (zanix)<br />
* php time format for enUS (zanix)<br />
* Moved mrmuskrat to retired devs (zanix)<br />
* Added bsmorgan to pvplog dev (zanix)<br />
* Mail inserts items when there is actually an item sent (zanix)<br />
* Hopefully update.php will spit out a better error then an empty update log (zanix,pleegwat)<br />
* 'no item equipped' is now localized (pleegwat)<br />
* item_id length fix, apparently blizz has longer item id's now (zanix)<br />
* Hopefully fixed a notice with some addons in menu.php (zanix)<br />
* Changed Rankexp to a float in DB (zanix)<br />
* Dirty mysql-only hack to fix the double entries in recipe. If it works for 1.7.2 it's fine with me (pleegwat)<br />
* Split up the reputation value column into a curr_value and a max_value column (pleegwat)<br />
* Removed extra space after ?> in some files (zanix)<br />
* Sorting error in member log (zanix)<br />
* update.php will now tell you that uploading is disabled, instead of just showing the fields and acting like it might let you (zanix)<br />
** UniUploader users will also get the same error upon uploding files<br />
* Reformatted character update process a little, made it more streamlined (takes less vertical space) (zanix)<br />
* Maybe fixed the member update time error (zanix)<br />
* The Roster menu should now be able to get locale strings form addons correctly (zanix)<br />
* Added more header() calls in settings.php dealing with cache control (zanix)<br />
** Set $no_roster_headers = true before including settings.php if you don't want header() to be set at all<br />
<br />
<br />
<br />
===Enhancements===<br />
* CP 2.0 and GP 2.0 compatibility added, no new features (zanix,pleegwat)<br />
** Roster 1.8 will get most of the CP 2.0 changes<br />
** Character page changed to reflect some of the changes<br />
** Honor tab changed to PvP, for new look<br />
** Changed honor column to hide by default, both on new and on current installations<br />
** Removed honor progress bar in index page<br />
** DK's removed from PvP tab, CP inserted to replace them<br />
** Removed rank percentage bar<br />
** Removed rankname from character name in char page<br />
** ThisWeek and LastWeek Honor Removed<br />
** "HonorRank" of the "Faction" removed from player notes<br />
** hslist.php is now basically useless<br />
** SQL updated again to removed outdated fields<br />
** indexhonor.php updated for less honor stuff as well<br />
* Added PvPLog realm support<br />
* Poisons added to tradeskills (zanix)<br />
* Added a file 'c.php' that can create extremely short links to characters, and in the future other parts of roster (pleegwat)<br />
** Example of use http://www.yoursite.com/roster/c.php?Treyce<br />
** Can be moved to a location outside the main roster by setting the relative url variable in the top of the file<br />
* Added parsing messages to the log. There should now always be meaningful log messages on upload (pleegwat)<br />
* Added level overview for levels 61-70 (pleegwat)<br />
* Added felgard pet icon (zanix)<br />
* Added 'item_level' to items and recipe tables (zanix)<br />
* Added function message_die() (zanix)<br />
** This is similar to messagebox() except that Roster dies after printing the message<br />
** Changed a few places in Roster to use this<br />
* Added a character buffs table, why? ...I was board and wanted this for some strange reason (zanix)<br />
* New global array $guild_info (zanix)<br />
** This array contains all the data from the guild table<br />
<br />
<br />
<br />
<br />
==v1.7.1==<br />
Released - October 21, 2006<br />
===Fixes===<br />
* Multiple deDE translation fixes (Sphinx)<br />
* Reputation addon fix for apostrophe in faction names (mattm)<br />
* SQL parser for install.php and upgrade.php (zanix)<br />
* JS error on character pages [Thanks Fangorn] (mathos)<br />
* chmod usage & path of conf.php in install.txt (peperone)<br />
* Typo in index.php and upgrade.php (zanix)<br />
* Roster should validate html 4.01 again (zanix)<br />
* Localization-related problem in lib/reputation.php [Thanks Gorgar] (zanix)<br />
* Double slashes in interface images causing some servers to not allow access to these images (zanix)<br />
** This requires re-uploading of data to the DB<br />
** wowdb.php now processes the interface images instead of the display pages<br />
* \n appearing in Guild Info. CP changed how this was stored (zanix)<br />
* Hopefully fixed errors where people can't reach config.php (zanix)<br />
** Access to config.php has been changed to "roster/admin.php"<br />
* Talent Tabs, the first one will now show correct formatting (zanix)<br />
* Points spent in talents now uses a css style .talspent, like it was supposed to (zanix)<br />
* Color of talent ranks swapped to match game (zanix)<br />
* install.php and upgrade.php should now detect it's full server path and hopefully get rid of those nasty "cannot include template.php" errors (zanix)<br />
* Upgrading from 1.6.0-1.7.0 has been improved by now detecting the correct url path instead of using the old conf.php variables (zanix)<br />
* Possible security flaws in commonfunctions.lib.php, login.php, menu.php, and rosterdiag.lib.php (zanix)<br />
* Small fix to install/template.php to include the template files with full path (zanix)<br />
* $addonDir variable is now in menu.php so addon locale/config files possibly using this var will have it (zanix)<br />
* Time display for deDE locales (zanix)<br />
* Item- and questlink for blasc.de for deDE locales (sphinx)<br />
* Couple of localization issues with indexpvp (zanix)<br />
* Character PvPLog pages (zanix)<br />
** Fixed blank row weirdness when there is no data to display<br />
** Fixed class icons for deDE<br />
** Added class icons for battleground summaries<br />
* Realmstatus revamped with reg_ex html parsing and new fonts/graphics (pleegwat,zanix)<br />
* Added checking for character info in the tradeskill icon function for the main pages (zanix)<br />
** If there is none, then no query is made<br />
** This reduces the amount of queries on the main pages<br />
* Spellbook fixes with ' apostrophes in the names (zanix)<br />
* Removed SQL coloring on update screen, in same cases this causes errors (zanix)<br />
* "Required Level" for recipe fix for locales other than enUS (zanix)<br />
** Added "Required Level" for standard items as well<br />
** http://www.wowroster.net/Forums/viewtopic/t=1008.html<br />
* CP changed how quests show as (Completed) or (Failed) and fixed accordingly (zanix)<br />
* roster_quests.quest_index is now being set correctly (zanix)<br />
* Made melee_range and ranged_range fields longer since CP seems to be picking up color info for those (zanix)<br />
** Fixed lib/char.php to display the color info correctly<br />
* Fixed last online times for last_online < 1 hour (zanix)<br />
* wowdb.php fix for empty bags (pleegwat)<br />
* New riding/mount skills recognized (pleegwat)<br />
* Added handling just in case die_quietly() tries to die quietly. (pleegwat)<br />
* Added global slashing for global arrays (zanix)<br />
* lib/menu.php now temporarily holds the current $wordings array, then replaces it so addons cannot overwrite it (zanix)<br />
<br />
<br />
===Changes===<br />
* Search page changed to use sgray bordering (zanix)<br />
* MOTD and realmstatus are using full paths for images and fonts (zanix)<br />
* Moved the guild update summary to just below "Updating Guild [GUILDNAME]" for easier viewing (zanix)<br />
* Moved 'header logo' to the display section of roster config (zanix)<br />
* Access to update.php has been changed to "roster/update.php" (zanix)<br />
* Activated remote latest version detection in install.php (zanix)<br />
* Bordering images (the corners) are now transparent [Thanks Sahasrahla] (zanix)<br />
* Massive cleaning of styles.css (zanix)<br />
** A lot of things are going to look different<br />
** Basically a lot of base level defines, like h1, h2, span, etc... were removed or replaced<br />
* Quest search now opens a blank window instead of using JS to open a window (zanix)<br />
* Font in MOTD image generator should be more readable, and removed 1px wide black space at the end (zanix)<br />
* Moved main credits to enUS.php (zanix)<br />
* Some date parsing functions changed to use sscanf() instead of substr() (zanix)<br />
* UU detection for update.php, it's a little less picky about the User Agent now (case in-sensative!) (zanix)<br />
* New version of dynamic menu javascript code from dynamicdrive.com (zanix)<br />
** It's easier to use and uses less code<br />
* Removed the "By Class" menu link (zanix)<br />
* menu.php now uses only 1 query in member level distribution (pleegwat)<br />
* Class coloring should be more locale independent (zanix)<br />
* Moved stats from the indexalt.php (Alternate) to indexstat.php (Stats) so we have a single "Stats" list, money is completely removed (anthonyb)<br />
* Changed rep addon, indexpvp.php to auto change page when an option is picked in the select box (zanix)<br />
* Changed pagination for PvPLog stats on character pages (zanix)<br />
* Credits have been changed drastically and now include more contributors to the roster code (pleegwat, mattm, zanix)<br />
* Changed motd.php to get the motd when nothing is passed via motd.php?motd= (zanix)<br />
* Re-organized instance keys layout in localization files (zanix)<br />
* Changed code to use vgjunkie's new js function (zanix)<br />
** Changed tradeskills.php with vgjunkie's edits<br />
** Added vgjunkie's name to the 3rd party credits<br />
* Removed searing gorge key for horde (zanix)<br />
<br />
<br />
===Enhancements===<br />
* frFR localization [Thanks wowodo, lesablier, Exerladan, and Ansgar] (zanix)<br />
* Keyring support (zanix)<br />
* Added memberlog, based on the addon created by Averen (zanix)<br />
* phpBB auth has been removed, this is casing too much trouble (zanix)<br />
** Stay tuned for Roster 1.8 for a better solution<br />
* Added question mark bubbles where needed to indicate presence of a tooltip (zanix)<br />
* Confirm dialogs for Roster Config (pleegwat)<br />
* Added mail item colors since CP 1.6.0 gets this info now (zanix)<br />
* New defined constants (zanix)<br />
** 'ROSTER_LIB' - Points to roster/lib/<br />
** 'ROSTER_ADMIN' - Points to roster/admin/<br />
** 'ROSTER_ADDONS' - Points to roster/addons/<br />
* Addition of a class Anchor in the memberslist.php file - http://www.wowroster.net/ProjectsPro/task/task_id=29.html (zanix)<br />
* Added affected_rows() to wowdb.php (zanix)<br />
* Added support for a customizable background image (zanix)<br />
* Merged profile-script.js with main.js (zanix)<br />
* Added new config option "alt_image_ext" with default of GIF<br />
** PvPRank badge icons now use alt_image_ext (Transparent GIF images look much better) (anthonyb)<br />
* Added level to recipes on character pages (zanix)<br />
* Added (optional for addon dev) addon credits for main roster credit page (zanix)<br />
** Look at the [[Roster:Addon:AddonSDK#Addon_Credits|AddonSDK]] for more info<br />
* Added roster rendering times and # of SQL queries (zanix)<br />
** This displays at the bottom of every roster page<br />
** You can turn this off in Roster Config<br />
* Added messagebox functions<br />
** See the AddOn SDK for more info<br />
* Added roster_header hooks for addons<br />
** See the AddOn SDK for more info<br />
* Added "Most Killed" and "Most Killed by" in pvplog display for duels (zanix)<br />
* Added dodge, crit, parry, and block to indexalt.php (zanix)<br />
* Added common tooltip colorer to commonfunctions.lib.php (zanix)<br />
* Added $script_filename to addon.php (zanix)<br />
** $script_filename = 'addon.php?roster_addon_name='.$_REQUEST['roster_addon_name'];<br />
* Update.php will show upload boxes for the following addons if they are present [thanks to polodude] (zanix)<br />
** RaidTracker<br />
** EventCalendar<br />
** Bookworm<br />
* RosterLogin Class (zanix)<br />
** Mainly built for addons needing a quick way to put a login box on the page and to check for roster admin access<br />
** settings.php includes this for <u>every</u> page that includes settings.php<br />
** Roster Config and Roster Diag updated to use this new class<br />
** THIS IS NOT AUTH FOR ROSTER. It is only to authenticate the roster admin<br />
** Look at the [[Roster:Addon:AddonSDK#Roster_Admin_Authorization|AddonSDK]] for more info<br />
* Moved most of the overlib calls to a php function that returns 'onmouseover="return overlib(overlib_id);" onmouseout="return nd();"'<br />
** Overlib strings called this way are printed in the footer of roster<br />
** This reduces the amount of text outputted in the html of the page which make rendering slightly faster<br />
** function makeOverlib( $tooltip , $caption , $caption_color , $mode , $locale , $extra_parameters )<br />
*** See commonfunctions.lib.php for more info on these functions<br />
** function cleanTooltip()<br />
*** This is called from makeOverlib() when $mode=1<br />
*** This just converts the wow color strings and brackets ( < > ) to html<br />
** function colorTooltip()<br />
*** This is called from makeOverlib() when $mode=2 or is not set<br />
*** This converts the wow color strings and brackets ( < > ) to html as well as does the famous color parsing the used to be in item.php<br />
<br />
<br />
<br />
<br />
==v1.7.0==<br />
Released - June 17, 2006<br />
===Fixes===<br />
* Update Profile<br />
** Switched to lua parser from roster2 (Parser Code By Airor/Chris), seems to run better/faster (By zanix)<br />
** gzip uploads do not make temp files anymore, roster should be able to unzip gzip files on the fly (By zanix)<br />
** Removed "Update Triggers" checkbox from update.php(By zanix)<br />
** Update.php now uses "password" to update the roster memberlist. NOT "roster_update_password" (By zanix)<br />
**: Make sure to set up UniUploader accordingly <br />
** Cleaned up output when using UniUploader to upload lua files<br />
** Update.php now supports UniUploader's "Send Password Securely" option (By zanix)<br />
** Roster addon links will now show up on the update page<br />
** Better checking and notification on update for data, notifies if quests, inventory, bank, or equip are not found (By zanix)<br />
** Changed $updGuildOutput = $wowdb->update_guild() to use less arguments and accepts $guild[] array, wowdb now handles the rest (By *zanix)<br />
** Update will only update from the realm specified in config (By zanix)<br />
**: This fixes the same named guild on a different server issue <br />
** Changing your guild/server name, then updating, will now cause update.php to remove ALL members and their info that do not match the new guild id<br />
** Changed to kick back to the input fields when a user hits the upload button and no file is selected<br />
** Added guild update summary<br />
<br />
<br />
* Character Pages<br />
** Moved js functions defined in lib/char.php to css/js/profile-script.js (By zanix)<br />
** When a character has no talents, "No Talents for CharName" will display (By zanix)<br />
** Changed quest links, using arrays now, much easier to add more links if needed (By zanix)<br />
** Cleaned up how character pages dies when a character isn't found<br />
**: Will show "character not found" instead of displaying weird mysql error<br />
** Profile-script.js now accepts img_url as a parameter (By zanix)<br />
** Changed sorting for "Item" column in recipes page to by name (By zanix)<br />
** Separated item bonuses table from character frame, this fixes the bonuses from moving the character frame (By zanix)<br />
** Clicking anywhere on the tabs (not just the text) will go to that tab (By zanix)<br />
** Fixed a bug in item bonuses that caused the tooltip not to show (By zanix)<br />
** Fixed when honor is not shown, left a float command in by mistake. (By mordon)<br />
** Fixed bug in item bonuses table where right border was using wrong class [Thanks Fyredrake] (By anthonyb)<br />
** Fixed long bag names breaking in FF [Thanks Thorus] - http://www.wowroster.net/viewtopic.php?t=1675 (By zanix)<br />
** Added "Spell Damage" fix for item bonuses [Thanks Micah] - http://wowroster.net/viewtopic.php?t=3230 (By zanix)<br />
** Disabled the display of the Item Bonuses table when that character has no item bonuses (By zanix)<br />
** Item bonuses table will always stay the same width, and text will wrap properly (By zanix)<br />
** Changed talent rank icons, they look prettier now (By zanix)<br />
<br />
<br />
* HTML/XHML/CSS<br />
** Numerous xhtml/html compliance fixes (By nerk01, zanix)<br />
** Removed the mass of tables in roster_header.tpl and char.php, replaced with div tags (By zanix)<br />
** The character pages should now validate against xhtml 1.0 Transitional (By zanix)<br />
**: Still doesn't mean they'll display ok in every situation <br />
** Tried again to fix "Mysterious Gap" in IE on character page (By zanix)<br />
** Removed styles2.css and default.css, merged both with styles.css (By zanix)<br />
**: Yes! We have only one css file now! <br />
** Replaced overlib.js, with overlib_mini.js, saves 20kb! and is exactly the same (By zanix)<br />
** Overlib styling moved to the css styles (By zanix)<br />
** Tooltips should display fine over <select> boxes in Internet Explorer (By zanix)<br />
<br />
<br />
* Misc Display<br />
** Moved upload instructions url anchor to membersList so it won't show on "Guild Not found" error (By zanix)<br />
** Fixed tradeskill icons in memberList (By zanix)<br />
**: Skill order has been corrected, Professions first, secondary skills next<br />
**: Riding skill icons will now display<br />
**: Removed img/trade/ folder as it is no longer needed<br />
** Class icons are defined in the locale files, like the tradeskill icons (By zanix)<br />
**: Removed class images in img/ directory, they are no longer needed<br />
** On Professions page (tradeskills.php) changed default char name link destination from the char page to the recipes page for that character. (By anthonyb)<br />
** Realmstatus text output mode is now a <nowiki><div></nowiki> container, not a table anymore (By zanix)<br />
** Updated valid html logo. Now in new, smaller size (By zanix)<br />
** A new config value, 'interface_url' is for all images that reside in the Interface directory (By zanix)<br />
**: Now you can have your roster images and the Interface images in different locations!<br />
** Most of the main pages now use the memberList.php code<br />
*** indexAlt.php<br />
*** indexStat.php<br />
*** indexHonor.php<br />
*** Removed the following files since they are not used<br />
**** membersList2.php<br />
**** membersStat.php<br />
**** membersHonor.php<br />
** Changed the look of quantity number on items (By zanix)<br />
** Fixed gap between header and contents on bags in IE (By zanix)<br />
** Bag names now use css overflow:hidden; instead of substr'ing it to 25 characters (By zanix)<br />
** Made the Honor and PvP lists collapseable, default display is configurable in Roster Config (By zanix)<br />
<br />
<br />
* DB Fixes<br />
** Updated wowdb to use newer CP fields instead of depreciated ones. (By nerk01, zanix)<br />
*** [char]["Honor"] = LifetimeHK, LifetimeHighestRank, RankInfo, YesterdayContribution, YesterdayHK, LifetimeDK, RankName, SessionDK, SessionHK, LastWeekRank, YesterdayDK, LifetimeRankName, LastWeekContribution, LastWeekHK, RankIcon, LastWeekDK<br />
*** [char][Guild][GuildName] > Name<br />
*** [char][DateUpdated] > Date/DateUTC<br />
*** [char][Experience] > XP<br />
*** [char][Armor] > [Stats][Armor]<br />
*** [char][Defense] > [Stats][Defense]<br />
*** [guild][MemberName][Group] > [guild]->[MemberName][Status]<br />
** Resistance and stat fields are now stored in the DB as int() values (By zanix)<br />
*** The new fields are named as follows (type = 'res_' or 'stat_')<br />
**** type_name = Base Value<br />
**** type_name_c = Current Value<br />
**** type_name_b = Buff Value<br />
**** type_name_d = Debuff Value<br />
** Every SQL $string that is passed to $wowdb->query($string) will be stored in the array $wowdb->sqlstrings<br />
**: You can then access this array at any point and don't have to worry about saving/printing each SQL string<br />
<br />
<br />
* Code Fixes<br />
** Removal of extract($GLOBALS) (By zanix)<br />
** Most of the files have been renamed to lower case to ease roster hardships with server OS's that care about filename case (By zanix)<br />
*** The only files that MUST include uppercase letters are the localization files, and files in the Interface directory<br />
** addon.php now uses an html css style link to the css file instead of opening the file and spitting out the contents into the output (By zanix)<br />
** Most submit buttons use JS that keeps people from hitting the submit buttons more than once (By zanix)<br />
** Fixed array based tooltip parsing in wowdb.php. Handles <nowiki><br></nowiki> tags correctly now (By zanix)<br />
** Added a lot of "deny access" strings to files that are not directly accessed (By zanix)<br />
** Added links to config and upload when "Guild Not found" error occurs (By zanix)<br />
** Fixed error when all addons are removed from /addons directory (By anthonyb)<br />
** "No guild" die() message changed to use the value in localization files (By zanix)<br />
** Fixes to realmstatus, it will still take 30 seconds to time out but it shouldn't break the page anymore (By zanix, mordon)<br />
** Replaced guildbank2's icon maker with lib/item.php, cuts down on duped code (By zanix)<br />
** Edited links to original coders as 2 were going to 404 pages (By zanix)<br />
** Item Tooltips will show tabs A LOT better now (By zanix)<br />
** Changed download paths in conf from wowprofilers to wowroster (By zanix)<br />
** Multiple PvP fixes (By Nostrademous, anthonyb, mordon)<br />
** Some corrections of the german translation and encodings... (By sphinx)<br />
** Hopefully fixed some issues using MySQL 5 with "Strict_Tables" on (By zanix)<br />
** Fixed up image pathing to use $roster_conf['img_url'] [Thanks pbutler] (By zanix)<br />
** Added multiple checks for empty tooltips and put the item name in, the idea is to fix them before they enter the db (By zanix)<br />
** File inclusion is handled better with the use of a new constant 'ROSTER_BASE'<br />
**: This is the absolute directory path to the root of roster<br />
** All localization files in the localization folder are now included<br />
**: You can get a list of included locale files (minus the extenstion) from the $roster_conf['multilanguages'] array<br />
** Mass changing of using "mysql_" to use wowdb functions, including inside wowdb itself (By zanix)<br />
*** Addon devs are expected to use $wowdb functions as well<br />
*** If something is missing, let us know<br />
** Made the line numbers match each other in the locale files (By zanix)<br />
*** This makes it easier to find matching strings<br />
<br />
<br />
===Enhancements===<br />
* RosterDiag - A Roster Diagnostics tool, displays important config options, gd info, file integrity, etc... (By anthonyb, zanix, mathos)<br />
** You can use rosterdiag.php?printconf=1 to get a printed array of the current Roster configuration <br />
* AUTO-INSTALLER! - Roster now comes with a database table installer, it will also upgrade a current database (upgrades from 1.6.0 only) [Thanks Moondrake] (By zanix)<br />
* Web based config! - Now point your browser at roster/admin/config.php to change the options in roster. [Thanks Zeryl] (By zanix)<br />
* New roster menu, isn't it pretty? (By zanix)<br />
* Character pages display is now set on a per character basis (By zanix)<br />
** Use Roster Config to change the settings <br />
* Guild Info page - See your guild info text. [Thanks Zeryl] (By zanix)<br />
* Revamped the credits page (By zanix)<br />
* PvPLog display has been greatly enhanced (By zanix)<br />
* New header logo! (By mathos)<br />
** There is a psd (PhotoShop) template image that you can edit <br />
* Catagorized GuildBank AddOn is now packaged with Roster<br />
* Added Colorization to Class Names (By nostrademous)<br />
** Option via config for those that find it a bit hard on the eyes, default is class names are in color (By anthonyb) <br />
* Added border($style,$mode,$header_text) function. This is for wrapping something in the nice bordering [Thanks Mathos] (By zanix)<br />
** Accepts 'rank' (the original bordering) or 'scolor' (new slimmer styled borders) for $style for different bordering styles<br />
*** There are many colors including sblue, sgreen, sgray, sred, spurple, syellow, and sorange <br />
** Accepts 'start' or 'end' for $mode to start or end bordering<br />
** Converted alot of the tables to use this, the display is much more consistant in IE vs FF <br />
* Added fancy bordering to guildbanks<br />
* Added allakhazam search on the "Find Teams" page (By zanix)<br />
* Edited look of quests, recipes (By zanix)<br />
* Added a SQL string colorizer function sql_highlight($sqlstring) (By zanix)<br />
*: Returns the sql string, colorized for display <br />
* Added a function to handle die()'s or exit()'s (By zanix)<br />
** die_quietly($text,$title,$file,$line,$sql)<br />
**: $text - What text to display <br />
**: $title - Title of the error box <br />
**: $file - File name, best to use basename(__FILE__) as the argument <br />
**: $line - Line number, best to use (__LINE__) as the argument <br />
**: $sql - SQL text to display, die_quietly will pass this through a SQL colorizer <br />
* Many changes to the look of update.php (By zanix)<br />
** Added the "Cleaner Update Page" Mod [Thanks OverloadUT2]- http://www.wowroster.net/viewtopic.php?t=2705<br />
** Update info will now display inside a scrollable box<br />
** Added alot more info on updating<br />
** Update trigger lib won't notify if it is trying to run triggers anymore<br />
** There is now a "Save Update Log" button, hitting this will give a downloadable text file of the log messages and all sql strings <br />
* Colorization on removed/added members on update (By zanix)<br />
* Added image based MOTD, configurable in conf.php [Thanks PoloDude] (By zanix)<br />
*: The image will size dynamically based on how long the text is <br />
*: motd.php will take an argument ?motd=Text where Text will show on the image <br />
*: A character limit of (145) has been imposed to keep the image size manageable and to prevent malicious use <br />
* Added honor rank icon tooltip on main member list to include Rank and % (By anthonyb)<br />
* Added many more mysql functions to lib/wowdb.php (By zanix)<br />
<php>$wowdb->error() = mysql_error()<br />
$wowdb->fetch_assoc = mysql_fetch_assoc()<br />
$wowdb->fetch_array = mysql_fetch_array()<br />
$wowdb->fetch_row = mysql_fetch_row()<br />
$wowdb->num_rows = mysql_num_rows()<br />
$wowdb->free_result = mysql_free_result()<br />
$wowdb->data_seek = mysql_data_seek()</php><br />
* Added Various Item Icon Colorizations in CSS styles: for the various item qualities (rare, uncommon, epic, common, trash). (By nostrademous)<br />
** iconblue<br />
** icongreen<br />
** iconpurple<br />
** iconwhite<br />
** icongrey <br />
* Added mailbox extraction and display [Thanks ThePrimaryDave] (By zanix)<br />
* Added spellbook display in character page (By zanix)<br />
* Added level bars mod with eXp tooltip [Thanks mutilator, Zeryl] - http://wowroster.net/viewtopic.php?t=2543 (By zanix)<br />
* Added recipe item color/rarity (By zanix)<br />
** Added 'difficulty' column to recipe page colored based on difficulty<br />
** Item names in recipe page are now colored based on item rareity<br />
** Fixed made-by addon to show item names/rarity correctly <br />
* Added the ability to turn off the update instructions on the main page (By zanix)<br />
* Added "Max XP" output on IndexAlt (By zanix)<br />
* Added tooltips for pet icons(shows their name) (By zanix)<br />
* Added Damage Reduction in armor tooltip - http://www.wowroster.net/viewtopic.php?t=3384 [Thanks aktlingit] (By zanix)<br />
<br />
<br />
===Important Changes===<br />
* Roster Password is now a md5 hash<br />
*: AddOn Devs, change your addons if it uses this password <br />
* Addon.php does not write the contents of the addon's css file to the output<br />
*: Instead it will add a style link to the <head> section of the output <br />
* Changes to conf.php<br />
*: Roster Configuration has been moved to the db <br />
** All config values now exist in the array $roster_conf[]<br />
**: AddOn Devs, you'll need to update your AddOns to use this new array <br />
* AddOns Framework<br />
** Changed "update_triggers" to automatically include the config file for each addon<br />
** AddOn Creation Docs have been updated <br />
* Changes to Database<br />
** Added Tables<br />
*** roster_mailbox<br />
***: Holds mail for characters <br />
*** roster_config<br />
***: Holds roster configuration/settings <br />
** Altered Tables<br />
*** roster_players<br />
*** roster_members<br />
*** roster_recipies<br />
*** roster_items<br />
*** roster_guild<br />
*** roster_spellbook<br />
*** roster_talents<br />
*** roster_talenttree<br />
<br />
<br />
<br />
<br />
==v1.6.0==<br />
Released - February 04, 2006<br />
===Fixes===<br />
*Basic support for PvPLog 0.4.8<br />
**More fixes, enhancements comming soon!<br />
*update.php and updateMembers.php have merged<br />
**use update.php for guild AND member updating<br />
*The usual... major code cleanup, html fixes, css issues<br />
**Index pages conformance to W3C HTML 4.0 Transitional<br />
**Fixed multiple gap issues, hopefully<br />
*Fixed "headers already sent". Roster now checks to see if headers were sent and sets them if they aren't<br />
*Cleanup of old files no longer in use: index2.php, altindex.php, indexupdate.php, membersInst2.php, indexProf.php, ProfList.php, and ProfList2.php<br />
*Changed realmstatus to use the database to store values instead of "wowss/wowss.txt"<br />
**Deleted wowss-folder: fonts moved to /fonts and images to /img/realmstatus<br />
**cURL will now be used if fopen()/file_get_contents() fails, Thanks to Jerry for the fix<br />
**To use fopen()/file_get_contents(), allow_url_open must be on in php.ini, to use cURL, it must be compiled into your PHP<br />
*Fixed guildbank2 not showing the correct stack heights<br />
**Fix for first item of query getting "eaten" in guildbank2<br />
**Added money totals and per character money in guildbanks<br />
**Added character last updated to guildbank2<br />
*Header and Footer files added, now it is easier to adjust the header and footer for each page<br />
**Character pages DO NOT use the header/footer files because this would break it's functionality<br />
*Improvements to localization<br />
*Tooltip and overlib adjustments<br />
*Fixed docs link in memberslist.php - was just docs/ which assumes a default file is loaded - changed to docs/index.html<br />
*Fixed a bug where some servers will not display character info, or "Character Not Found"<br />
*Replaced all instances of <? with <?php to ensure compatibility with systems where PHP configuration has short_open_tag = Off<br />
*Replaced multiple insatances of hard-coded '/' with the DIRECTORY_SEPERATOR value to fix incorrect slash on certain systems<br />
*Re-added "img/default.png" for legacy signature generator (img.php)<br />
*Character pages<br />
**Changed how reputation values display, looks more like in game<br />
**Fixed exp bar at around 97% to 99%, the bar would be larger than the container<br />
**"Unused Talent Points" will no longer display "Unused Talent Points: 0" it will now only display if there are actually unused talent points<br />
**Fix to recipies, when a character had only one type of recipie, the table breaks<br />
**Recipes pages with wrong icon placement + quicklinks<br />
*Fix for images having a space and generating errors on some systems when referencing images with spaces in the name, in one case "First Aid.gif" on the recipes page<br />
*Removed the thottbot option in conf.php as they no longer let you link to their images<br />
*Fixed unescaped server name when doing an update to the database. ' in server name would break it before<br />
*Now you can choose between two external itemlink-urls for each language-setting. (thx @ Merella for the hint)<br />
*Fixes for sqldebug. Eeverything should now properly recognize sql debug statements only when necessary<br />
*pvp update now modifies the levels: if < 1 then make it equal to itself multiplied by negative one<br />
*Pet bugs and bag bugs fixed by mortencb<br />
*Fix for ' in server names when displaying character stats for a warlock / hunter with a pet<br />
*When updating a character, wowdb will update the level of in the members table, as well as players table<br />
<br />
<br />
===Enhancements===<br />
*Roster Addons support<br />
*Full DB prefix support, default DB prefix is 'roster_'<br />
*New 1.9 icons from rpgoutfitter.com<br />
*CharacterProfiler, GuildProfiler, and PvPLog version detection<br />
**Prevents old versions of CP, GP, or PvP from uploading data<br />
*Basic support for PvPLog 0.4.8<br />
**More fixes, enhancements comming soon!<br />
*Included addons<br />
**"SigGen" by Zanix, see the SigGen docs for more info<br />
**"Made by Recipe" by Cybrey<br />
**"Faction Filter" by Cybrey<br />
**"Dummy Addon" template. This is for making your own addons<br />
*Added a stripped down version of menu to use in phpbb if you want to show the roster menu with links in your website portal<br />
**(It's in the "addons/pmenu" folder)<br />
*Added Spellbook to database backend, there is NO front end (no display in roster)<br />
*Index page<br />
**Added profession icons, class icons, and pvp icons to index.php, switchable via conf.php<br />
**Added column "Last Update" to main page, switchable via conf.php<br />
**Added displaying of Guild MOTD on main index page<br />
*Added hot links/ancors to search "indexSearch.php"<br />
*Added credits page<br />
*Added link to wowprofilers.com in the Credits section. No need for us to hide anymore!<br />
*Added more info when doing a guild member update, will show members a being "Updated", "Added", or "Removed"<br />
*Added removal for members not assigned to the current guild id<br />
*Updated all the files to show the revisions numbers in all the files for CVS changes for future use and troubleshooting<br />
*Added localized item tooltip coloring<br />
*Character pages<br />
**Added Advanced Stats & Bonuses, Thanks to cybrey (original author) and dehoskins (for additional output formatting)<br />
**Added Max Exp to exp bar<br />
**Added Time Played and Time Level Played<br />
**Added Honor EXP bar to the honor tab<br />
**Added "Points Spent" to talents<br />
**Added Pet icons<br />
<br />
<br />
===Known Bugs With 1.6.0===<br />
*Bags with long names are not displayed correctly, they appear to be moved into the bag<br />
**This is a css issue, no known fix at this time<br />
*Servernames with non-english characters, or mis-matched names may cause serverstatus to not work correctly<br />
**Fix: Open "realmstatus.php" in a text editor and edit the variable "$server" to match exact name from the WoW realmstatus page<br />
*Random gaps on the character page<br />
**This is a css issue, we have done our best to resolve this but it still happens sometimes<br />
<br />
<br />
<br />
<br />
==v1.5.1==<br />
Released - October 20, 2005<br />
===Fixes===<br />
*Character pane blank for any tabs other than Skill when DB doesn't contain any Pet data [337-338]<br />
*"Headers already sent" issue with update.php for some people fixed [330-331]<br />
*PvP data page will now retain custom column sort across pages when using Previous/Next links [334]<br />
*Bag names being being truncated at 17 characters fixed [335]<br />
<br />
<br />
===Enhancements===<br />
*$lang variable replaced with $roster_lang to resolve compatibility issues with phpBB [329]<br />
<br />
<br />
<br />
<br />
==v1.5.0==<br />
Released - October 17, 2005<br />
===Fixes===<br />
*Missing Poison profession icon added<br />
*Large amounts of display inconsistencies between IE6 and Firefox 1.0.6 fixed<br />
*Large numbers of formatting inconsistencies fixed<br />
*Removed incessantly repeating and redundant guild name variable usage from PvP and Honor stats tables on main page to make them less cluttered and smaller for guilds with long names<br />
*Remove a lot of mixed case variables to reduce issues on Unix system that are overly pedantic about case...<br />
*Fixed annoying yellow border on image headers in recipes with IE6<br />
*Replaced hard-coded Thottbot variable on column header link with $itemlink variable defined in conf.php same as item links on Keys page<br />
*Added _target to column header link so links open in new page on Keys page<br />
*Re-added unlink command which had gone missing somewhere along the way and was causing temp to be left behind in webserver %temp% directories when data was uploaded with UniUploader using GZip<br />
*Fix for quest title containing quest level caused by multiple 'quest' related addons overloading the function in WoW post 1.7 patch. This will strip the offending data out prior to committing to the DB <br />
*Inserted logic to account for Horde not getting a Searing Gorge key so it won't be displayed on Keys page<br />
*Fixed US server status page and implemented XML parser<br />
*Modified query to return character level as whichever is higher between members.level (data from GP) or players.level (data from CP) to solve problem of main view character level often being lower than the character pane level due to guild admins not doing GP updates frequently. Also modified the various display sort queries to suit change.<br />
*Untold amount of code clean-up and optimization<br />
*One less stylesheet, removed "css\styles3.css"<br />
*Update page now supports post 1.7.0 patch use of seperate data files for each addon <br />
*Data upload will now only upload chars whose guild matches the one defined in the conf.php <br />
<br />
<br />
===Enhancements===<br />
*Localization completely re-done and almost the entire roster now supports localization. Current language support is English (enUS) and German (deDE) but will be easy to now include other languages<br />
*Reputation tab added to character panel<br />
*Pet tab added to character panel (only visible for Hunters and Warlocks)<br />
*All icon images converted to jpg for easier updating<br />
*Recipe list columns now sortable<br />
*Class and Profession icons all re-made - much better quality now<br />
*Added Quest count (like in game, eg. 16/20) to the quest list page<br />
*Money display on main backpack now configurable (global only) via $show_money variable in conf.php<br />
*Added $char_bodyalign to control the characters’ data display either left center or right<br />
*Keys page now includes Rogue Thieves' tools and partial quest completion gauges<br />
*Character page now has a 'Date Updated' tag which reports the date/time, as recorded by CharacterProfiler value 'DateUTC', the data was saved in-game. This date/time is stored in the database in UTC and then displayed with whatever time display offset is configured in the $localtimeoffset variable in conf.php. The date/time format is configurable by the $phptimeformat variable.<br />
*Implemented local time display for data GuildProfiler data is updated based on new GuildProfiler value 'DateUTC'. Uses same function and local time display offset var as character date - $phptimeformat<br />
*New Guildbank feature added<br />
*Updated icons to include the 55 new items/abilities/etc. from WoW 1.7.0 patch<br />
*New signature generator (sig.php) Use of this is the same as img.php. See /docs/sig.php(new_signature_generator)-readme.txt for more information<br />
*All new Talents tab with in-game layout! <br />
*Implemented Overlib tooltip engine - tooltips are now MUCH faster and don't disappear off-screen! <br />
*Update page now supports post 1.7.0 patch use of seperate data files for each addon <br />
*Honor support updated to include current features <br />
*Realm Status now supports new Blizzard XML based page<br />
*All new setup documentation in HTML format! OMG!!!<br />
*Ammot slot contents now displayed on Character screen!<br />
<br />
<br />
<br />
<br />
==v1.04==<br />
Released - July 30, 2005<br />
===Fixes===<br />
*Updated the $blizstatuspage variable in conf.php to fix issues since WoW 1.6.0 patch <br />
*Renamed "roster\CSS FILES" directory to "roster\css" to reduce issues with UNIX based web servers caused by spaces in the directory name.<br />
*Renamed "roster\CSS FILES\JV Scripts" directory to "roster\css\js" to reduce issues with UNIX based web servers caused by spaces in the directory name. <br />
*Deleted \roster\lib\wowdb.zip from distribution package - don't know why it's there in the first place... <br />
*Changed default UniUploader link in conf.php - existing link is broken<br />
*Changed default CharacterProfiler link in conf.php - existing link is to old non-working version<br />
*Cleaned up all files for spaces at end of files after PHP closing tag (can cause problems)<br />
*Fixed character link being invalid on the query return page of the "Find Team" page<br />
*Fixed "Find Team" queries returning no results (incorrectly) when the quest name contained an apostrophe<br />
*Included a MySQL 3.x compatible roster.sql called roster104_MySQL3.sql for creating database during installation (untested as I don't have a MySQL 3.x installation nor will I. This version is SO old there's no excuse for people to still be running it)<br />
*Main roster page version number use $version variable in conf.php rather than hard coded value in index.php page<br />
*Added slot_Waist.gif (missing) to /roster/img<br />
<br />
<br />
===Enhancements===<br />
*Percentage value shown on the XP bar on the character page<br />
*Character gender now captured and displayed on the character page<br />
*Equipment slots not containing an item now show the same "greyed" icon as in-game rather than an empty slot on the character page<br />
*Smaller tab image used on bottom of character panel so they all fit on one row. This also creates room for more tabs... ;-)<br />
*Recipes now colour coded to reflect difficulty on recipes page<br />
*Generic Horde image now included for signatures<br />
*Additional quest lookup links now available on Quests page - Allakhazam and WWN Data added to existing Thottbot links<br />
*Quest lookup links now fully configurable via conf.php - show as many or as few as you like and add your own custom ones<br />
*Menu bar on top of most pages tidied up, dividers added, and now honors the individual On/Off flags in conf.php for whether they are displayed or not.<br />
*Added GZip support to updatemembers.php page for consistency with update.php - UniUploader users rejoice!<br />
*Included gd_info.php file to help troubleshooting issues with Signatures and the Server Status image. gd_info.php only shows the GD support info so is able to be safely link to publicly unlike phpinfo which gives away information which *could* be potentially be used maliciously.<br />
*Server Status image now able to be disabled via conf.php for those that do not want it displayed at all.<br />
*Various miscellaneous minor changes to main menu "box", including the guild character level breakdown info, and menu names.<br />
*Change variable declarations to be enclosed in ' rather than " if they don't contain variables (performance improvement - 'x' gets treated as a string and is assumed to not contain any variables and therefore doesn't get parsed which improves performance)<br />
*General code formatting cleanup, eg. remove large numbers of line spaces, correct formatting, replace multiple spaces with tabs, etc. on some files (there's still a LONG way to go!) <br />
<br />
<br />
<br />
<br />
==v1.031 [maintainance]==<br />
Released - July 11, 2005<br />
*Just a package maintenance update to prevent issues with old addons and links - no functionality changes.<br />
*Removed GuildProfiler addon from package - must now download saperately<br />
*Removed CharacterProfiler addon from package - must now download separately<br />
*Update config.php.bak to remove old CharacterProfiler URL (www.cethinchimera.com) and replace with current dev source (http://www.rpgoutfitter.com/CharacterProfiler)<br />
<br />
<br />
<br />
<br />
==v1.03==<br />
Released - May 05, 2005<br />
*Updated lib/wowdb.php to except Angarth' Wow Profiler 1.0.3<br />
*Updated lib/wowdb.php for Recipe and Bank Fix<br />
*Updated lib/char.php with new graphics and updated honor format<br />
*Updated code to configure everything from the config.php<br />
*Updated update.php <br />
*Updated newer PvP support and added in PvPLog 0.4.6<br />
*Added Server Status, it parses the realm status of Blizzard's website<br />
*Added support in conf.php to turn off or on the Quest's, recipes, PvP, and duel data from displaying<br />
*Added new info to the menu<br />
*Upload profile now available on the menu</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-09-09T18:52:38Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.3.0) September 09, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 12:52, 9 September 2012 (MDT)<br />
<br />
<br />
==v2.x.x==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">12:52, 9 September 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Latest [http://code.google.com/p/wowroster/source/list SVN commit]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
<br />
<br />
<br />
<br />
==v2.3.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* Mists of Pandaria support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.2.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/RosterRoster2012-09-09T18:50:21Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
Advanced Character & Guild Profiler<br />
<br />
Current release: [[Roster:ChangeLog#v2.3.0|2.3.0]]<br />
<br />
[http://www.wowroster.net/the-team.html The WoWRoster.net Team]<br />
<br />
[http://www.wowroster.net/forum.html Forum] | [http://code.google.com/p/wowroster Project on Google Code] | [http://code.google.com/p/wowroster/issues/list Issue Tracker] | [http://www.wowroster.net/downloads/?id=3 Download] | [http://code.google.com/p/wowroster/source/checkout Source]<br />
<br />
<br />
[[Roster|WoWRoster]] is an automated, extensible, and multilingual character and guild profiler which displays and stores data gathered from WoW through the use of [[WoWAddon|WoW AddOns]] ([[CharacterProfiler|rpgo-CharacterProfiler]] , [[GuildProfiler|rpgo-GuildProfiler]] , and [[PvPLog]])<br />
<br />
[[Roster|WoWRoster]] organizes all of the data collected via [[WoWAddon|WoW AddOns]], provides a suite of presentations for the gathered data, and houses a base for [[Roster:Addon|Roster Addons]] to access and manipulate roster data, displays [[Roster:Addon|Roster Addon]] links in the [[Roster:Menu|Roster Menu]], and presents output to users.<br />
<br />
<br />
The information gathered and displayed includes the following<br><br />
The display of most of these are optional via [[Roster:CP|Roster Control Panel]]<br />
* List of Guild Members<br />
* Honor stats<br />
* PvP stats (when using [[PvPLog|PvPLog]] [[WoWAddon]])<br />
* GuildBank display<br />
* Guild view of Professions<br />
* Instance keys<br />
* Character Stats<br />
** Money<br />
** Bag inventory<br />
** Bank inventory<br />
** Mail<br />
** Spell book<br />
** Professions<br />
** Quests<br />
** Recipes<br />
** Talents<br />
** [[PvPLog|PvPLog]] data<br />
<br />
{{Warning|2.0.0 Only|The documentation in the WiKi is intended for WoWRoster 2.0.0<br>Documentation for WoWRoster 1.7.3 has been removed}}<br />
{{Warning|Blizzard Servers<br>Only|WoWRoster.net applications are made and tested for use with official Blizzard servers<br>WoWRoster.net does not support WoWRoster.net applications for use with private WoW servers}}</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-07-09T03:29:15Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.2.0) July 07, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 21:22, 8 July 2012 (MDT)<br />
<br />
<br />
==v2.3.0==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">21:28, 8 July 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Latest [http://code.google.com/p/wowroster/source/list SVN commit]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
===Important Changes===<br />
* Mists of Pandaria support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
==v2.2.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-07-09T03:28:48Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.2.0) July 07, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 21:22, 8 July 2012 (MDT)<br />
<br />
<br />
==v2.3.0==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">21:28, 8 July 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Latest [http://code.google.com/p/wowroster/source/list SVN commit]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
===Important Changes===<br />
* Mists of Panardia support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
==v2.2.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-07-09T03:28:10Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.2.0) July 07, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 21:22, 8 July 2012 (MDT)<br />
<br />
<br />
==v2.3.0==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">21:28, 8 July 2012 (MDT)</span><br><br />
<span style="color:red;font-weight:bold;">Changes as of [http://code.google.com/p/wowroster/source/list SVN-2341]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
===Important Changes===<br />
* Mists of Panardia support<br />
<br />
<br />
===General Fixes and Enhancements===<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
==v2.2.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2012-07-09T03:22:43Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.2.0) July 07, 2012<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 21:22, 8 July 2012 (MDT)<br />
<br />
<br />
==v2.2.0==<br />
<span style="color:red;font-weight:bold;">Change log will be updated soon</span><br><br />
<span style="color:red;font-weight:bold;">You can view the SVN commit messages here for now [http://code.google.com/p/wowroster/source/list SVN Source]</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanixhttp://www.wowroster.net/MediaWiki/Template:MainMenuTemplate:MainMenu2012-05-23T04:09:36Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
<br />
==Template==<br />
{{Warning|Other Locales|For now, this menu has to be made for English, then duplicated once for other languages, which is a huge bummer<br>So for now, when you change this menu, make sure you scroll down and change the duplicate}}<br />
<br />
{{Note|If you need a sub menu, add it here using the guide below!}}<br />
<br />
<onlyinclude><br />
<div class="wowroster-menu"><br />
<h5>[[Main_Page|Main Page]]</h5><br />
<div class="body"><br />
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|<br />
<!-- BEGIN ENGLISH MENU --><br />
* [[Roster]]<br />
{{#ifeq:{{{1}}}|Roster|<br />
** [[Roster:Requirements|Requirements]]<br />
** [[Roster:ChangeLog|Change Log]]<br />
** [[Roster:RoadMap|Road Map]]<br />
** [[Roster:Install|Install]]<br />
** [[Roster:FirstUpload|First Upload]]<br />
** [[Roster:CP|Control Panel]]<br />
** [[Roster:RosterDiag|Diagnostics]]<br />
** [[Roster:Menu|Main Menu]]<br />
** [[Roster:Updating|Updating Guild / Character Data]]<br />
** [[Roster:Addon|Addons]] ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** [[Roster:API|Roster API]]<br />
** [[Roster:Port|CMS Integration]]<br />
{{#ifeq: {{{2}}}|Port|<br />
*** [[Roster:Port:WoWRosterDF|WoWRosterDF]]<br />
|}}<br />
|}}<br />
* [[UniUploader]]<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** [[UniUploader:BasicSetup|Basic Setup]]<br />
** [[UniUploader:Advanced|Advanced Techniques]]<br />
** [[UniUploader:Distribution|Distribution]]<br />
|}}<br />
* [[UniAdmin]]<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** [[UniAdmin:Help|Help]]<br />
|}}<br />
* [[WoWAddon|WoW Game Addons]]<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** [[WoWRosterProfiler]]<br />
** [[WoWRoster-GP]]<br />
** [[PvPLog]]<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* [[SVN|Google Code SVN]]<br />
{{#ifeq:{{{1}}}|SVN|<br />
** [[SVN:Rules|Rules]]<br />
** [[SVN:Repositories|Repositories]]<br />
** [[SVN:TortoiseSVN|TortoiseSVN Help]]<br />
|}}<br />
* [[MYSQL_Guide|MySQL Guide]]|<br />
<!-- BEGIN OTHER LOCALE MENU --><br />
* {{MainMenuL|Roster|Roster}}<br />
{{#ifeq:{{{1}}}|Roster|<br />
** {{MainMenuL|Roster:Requirements|Requirements}}<br />
** [[Roster:ChangeLog|Change Log]]<br />
** {{MainMenuL|Roster:RoadMap|Road Map}}<br />
** {{MainMenuL|Roster:Install|Install}}<br />
** {{MainMenuL|Roster:FirstUpload|First Upload}}<br />
** {{MainMenuL|Roster:CP|Control Panel}}<br />
** {{MainMenuL|Roster:RosterDiag|Diagnostics}}<br />
** {{MainMenuL|Roster:Menu|Main Menu}}<br />
** {{MainMenuL|Roster:Updating|Updating Guild / Character Data}}<br />
** {{MainMenuL|Roster:Addon|Addons}} ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** {{MainMenuL|Roster:API|Roster API}}<br />
** {{MainMenuL|Roster:Port|CMS Integration}}<br />
{{#ifeq: {{{2}}}|Port|<br />
*** {{MainMenuL|Roster:Port:WoWRosterDF|WoWRosterDF}}<br />
|}}<br />
|}}<br />
* {{MainMenuL|UniUploader|UniUploader}}<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** {{MainMenuL|UniUploader:BasicSetup|Basic Setup}}<br />
** {{MainMenuL|UniUploader:Advanced|Advanced Techniques}}<br />
** {{MainMenuL|UniUploader:Distribution|Distribution}}<br />
|}}<br />
* {{MainMenuL|UniAdmin|UniAdmin}}<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** {{MainMenuL|UniAdmin:Help|Help}}<br />
|}}<br />
* {{MainMenuL|WoWAddon|WoW Game Addons}}<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** {{MainMenuL|WoWRosterProfiler|WoWRosterProfiler}}<br />
** {{MainMenuL|WoWRoster-GP|WoWRoster-GP}}<br />
** {{MainMenuL|PvPLog|PvPLog}}<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* {{MainMenuL|SVN|Google Code SVN}}<br />
{{#ifeq:{{{1}}}|SVN|<br />
** {{MainMenuL|SVN:Rules|Rules}}<br />
** {{MainMenuL|SVN:Repositories|Repositories}}<br />
** {{MainMenuL|SVN:TortoiseSVN|TortoiseSVN Help}}<br />
|}}<br />
* {{MainMenuL|MYSQL_Guide|MySQL Guide}}<br />
}}<br />
* [http://www.wowroster.net/the-team.html The WR.net Team]<br />
* [[CodingStandards|Coding Standards]]<br />
* [[Special:Categories|Categories]]<br />
<br />
</div></div><br />
__TOC__<br />
</onlyinclude><br />
<br />
==Syntax==<br />
This is the Main Menu for our wiki<br />
<br />
It uses a template parameter and conditionals to display sub menus<br><br />
The Roster menu is called like so<br />
<pre>{{MainMenu|Roster}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
|}}</pre><br />
This is a conditional that determines if we are printing a sub menu<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|</pre><br />
This means if the first template parameter equals '''Roster''', then display the sub menu<br />
<br />
<pre>|}}</pre><br />
This closes the conditional<br />
<br />
If we want a sub menu in a sub menu, then we use more parameters when calling the template<br />
<pre>{{MainMenu|Roster|Addons}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br><br />
'''Addons''' is the second parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
{{#ifeq:{{{2}}}|Addons|<br />
*** [[AnotherPage|AnotherPage]]<br />
|}}<br />
|}}</pre><br />
<br />
==The Other Locale Duplicate==<br />
To make the menu keep linking to the same language, we copy the menu once and add "/<nowiki>{{SUBPAGENAME}}</nowiki>" to the link<br><br />
This will make the menu link to the pages in the menu, keeping the same locale<br><br />
If the page does not exist for that locale, then it should link to the English version<br />
<br />
The syntax for this is quite complex as we detect if the translated page exists<br><br />
That is why a template is used to enter menu links<br />
<br />
<pre>[[PageName|Page Name Text]]</pre><br />
Becomes<br />
<pre>{{MainMenuL|PageName|Page Name Text}}</pre><br />
<br />
Some links need to stay linked to the English version, such as the Coding Standards, The Team, and the AddOn SDK<br><br />
These page may be changed on every release version of our software or even between versions</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:FunctionsOverviewRoster:FunctionsOverview2012-05-23T04:09:00Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
'''Functions Overview'''<br><br />
Overview over all functions in the Roster that can be used by Addon Developers.<br><br />
<br />
See also the new [[Roster:API|Roster API]] for additional information.<br />
<br /><br />
__TOC__<br />
<br />
=Global functions=<br />
These function are located in functions.lib.php<br />
<br />
==border==<br />
Parameters: $style, $mode, $header_txt, $width<br><br />
Starts or ends fancy bodering containers<br><br />
*@param string $style What bordering style to use<br />
*@param string $mode ( start | end )<br />
*@param string $header_text Place text in a styled header (default ''null'')<br />
*@param string $width Set a fixed width for the box<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==setTooltip==<br />
Parameters: $var, $content<br><br />
Makes a tootip and places it into the tooltip array<br><br />
*@param string $var<br />
*@param string $content<br />
<br>[[#Global functions|Top]]<br />
<br />
==getAllTooltips==<br />
Parameters: none<br><br />
Gathers all tootips and places them into javascript variables<br><br />
*@param array $tooltipArray<br />
*@return string Tooltips placed in javascript variables<br />
<br>[[#Global functions|Top]]<br />
<br />
==sql_highlight==<br />
Parameters: $sql<br><br />
Highlight certain keywords in a SQL query<br><br />
*@param string $sql Query string<br />
*@return string Highlighted string<br />
<br>[[#Global functions|Top]]<br />
<br />
==die_quietly==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Clean replacement for die(), outputs a message with debugging info if needed and ends output<br><br />
*@param string $text Text to display on error page<br />
*@param string $title Title to place on web page (default Message)<br />
*@param string $file Filename to display<br />
*@param string $line Line in file to display<br />
*@param string $sql Any SQL text to display<br />
<br>[[#Global functions|Top]]<br />
<br />
==roster_die==<br />
Parameters: $message, $title, $style<br><br />
Draw a message box with the specified border color, then die cleanly<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default Message )<br />
*@param string $style | The border style (default sred)<br />
<br>[[#Global functions|Top]]<br />
<br />
==ajax_die==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Print a roster-ajax XML error message<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==backtrace==<br />
Parameters: none<br><br />
Print a debug backtrace. This works in PHP4.3.x+, there is an integrated function for this starting PHP5 but I prefer always having the same layout.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==stripAllHtml==<br />
Parameters: $string<br><br />
This will remove HTML tags, javascript sections and white space. It will also convert some common HTML entities to their text equivalent<br><br />
*@param string $file<br />
<br>[[#Global functions|Top]]<br />
<br />
==check_if_image==<br />
Parameters: $filename<br><br />
This will check if the given Filename is an image<br><br />
*@param imagefile $file<br />
*@return mixed The extentsion if the filetype is an image, false if it is not<br />
<br>[[#Global functions|Top]]<br />
<br />
==colorTooltip==<br />
Parameters: $tooltip, $caption_color, $locale, $inline_caption<br><br />
Tooltip colorizer function with string cleaning. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param string $locale | (optional) Locale so color parser can work correctly<br />
*Default is $roster->config[<nowiki>'locale'</nowiki>]<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==cleanTooltip==<br />
Parameters: $tooltip, $caption_color, $inline_caption<br><br />
Cleans up the tooltip and parses an inline_caption if needed. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==makeOverlib==<br />
Parameters: $tooltip, $caption, $caption_color, $mode, $locale, $extra_parameters<br><br />
Easy all in one function to make overlib tooltips. Creates a string for insertion into any html tag that has "onmouseover" and "onmouseout" events<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption | (optional) Text to set as a true OverLib caption<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $mode| (optional) Options 0=colorize,1=clean,2=pass through (default 0)<br />
*Default 0 (colorize)<br />
*@param string $locale | Locale so color parser can work correctly<br />
*Only needed when $colorize is true<br />
*Default is $roster->config<nowiki>['locale']</nowiki><br />
*@param string $extra_parameters | (optional) Extra OverLib parameters you wish to pass<br />
*@param string $item_id<br />
*@return unknown<br />
<br>[[#Global functions|Top]]<br />
<br />
==messagebox==<br />
Parameters: $message, $title, $style, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Set a fixed width<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollbox==<br />
Parameters: $message, $title, $style, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==messageboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title<br />
*@param string $style | The border style (default sgray)<br />
*@param boolean $open | True if initially open (default false)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $messages | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape_array==<br />
Parameters: $array<br><br />
Recursively escape $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==stripslash_array==<br />
Parameters: $array<br><br />
Recursively stripslash $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==readbleDate==<br />
Parameters: $datetime, $offset<br><br />
Converts a datetime field into a readable date<br><br />
*@param string $datetime | datetime field data in DB<br />
*@param string $offset | Offset in hours to calcuate time returned<br />
*@return string | formatted date string<br />
<br>[[#Global functions|Top]]<br />
<br />
==get_file_ext==<br />
Parameters: $filename<br><br />
Gets a file's extention passed as a string<br><br />
*@param string $filename<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==seconds_to_time==<br />
Parameters: $seconds<br><br />
Converts seconds to a string delimited by time values. Will show w,d,h,m,s<br><br />
*@param string $seconds<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==getaddon==<br />
Parameters: $addonname<br><br />
Sets up addon data for use in the addon framework<br><br />
*@param string $addonname | The name of the addon<br />
*@return array $addon | The addon's database record<br />
*@global array $addon_conf | The addon's config data is added to this global array.<br />
<br>[[#Global functions|Top]]<br />
<br />
==active_addon==<br />
Parameters: $name<br><br />
Check to see if an addon is active or not<br><br />
*@param string $name | Addon basename<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==urlgrabber==<br />
Parameters: $url, $timeout, $user_agent, $loopcount<br><br />
Handles retrieving the contents of a URL trying multiple methods. Current methods are curl, file_get_contents, fsockopen and will try each in that order<br><br />
*@param string $url | URL to retrieve<br />
*@param int $timeout | Timeout for curl, socket connection timeout for fsock (default 5)<br />
*@param string $user_agent | Useragent to use for connection (default false)<br />
*@param int $loopcount | (default 0)<br />
*@return mixed | False on error, contents on success <br />
<br>[[#Global functions|Top]]<br />
<br />
==request_uri==<br />
Parameters: none<br><br />
Stupid function to create an REQUEST_URI for IIS 5 servers<br><br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==file_writer==<br />
Parameters: $filename, &$content, $mode<br><br />
Attempts to write a file to the file system<br><br />
*@param string $filename | Name of the file<br />
*@param string $content | Content of the file<br />
*@param string $mode | (default wb)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==php_as_nobody==<br />
Parameters: $file<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==_aprint==<br />
Parameters: $arr, $tab<br><br />
Debugging function dumps arrays/object formatted. Do Not call this, call [[#aprint|aprint()]]<br><br />
*@param array $arr<br />
*@param int $tab | (default 1)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==aprint==<br />
Parameters: $arr, $prefix, $return<br><br />
Debugging function dumps arrays/object formatted<br><br />
*@param array $arr<br />
*@param string $prefix <br />
*@return string | (default false)<br />
<br>[[#Global functions|Top]]<br />
<br />
==socketColorEn==<br />
Parameters: $socket_color, $locale<br><br />
Helper function that returns the localized gem color in english<br><br />
*@param string $socket_color<br />
*@return string $color<br />
<br>[[#Global functions|Top]]<br />
<br />
==format_microtime==<br />
Parameters: none<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==array_overlay==<br />
Parameters: $skel, $arr<br><br />
A better array_merge()<br><br />
*@param array $skel<br />
*@param array $arr<br />
*@return array<br />
<br>[[#Global functions|Top]]<br />
<br />
==updateCheck==<br />
Parameters: $addon<br><br />
Checks an addon download id on the wowroster.net rss feed. And informs if there is an update.<br><br />
*@param string $name | name of the download<br />
*@param string $url | url<br />
<br>[[#Global functions|Top]]<br />
<br />
==dummy==<br />
Parameters: none<br><br />
Dummy function. For when you need a callback that doesn't do anything.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==makelink==<br />
Parameters: $url, $full<br><br />
Function to create links in Roster. ALL LINKS SHOULD PASS THROUGH THIS FUNCTION. Hopefully this function will be the magic that makes porting Roster easier (Ninja looted from DragonFly, thanks you guys!).<br><br />
*@param string $url | (Example: <nowiki>'</nowiki>util-news-comment&amp;id=<nowiki>'</nowiki>.$news_id)<br />
*@param bool $full | (default false)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
=$roster->db=<br />
The following functions can be used to operate on database<br />
<br />
==error==<br />
Parameters: none<br><br />
Get last SQL error<br><br />
*@return string last SQL error<br />
<br>[[#Global functions|Top]]<br />
<br />
==errno==<br />
Parameters:none<br><br />
Get last SQL errno<br><br />
*@return string last SQL errno<br />
<br>[[#Global functions|Top]]<br />
<br />
==query==<br />
Parameters: $query<br><br />
Basic query function<br><br />
*@param $query Query string<br />
*@return mixed Query ID / Error string / Bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==query_first==<br />
Parameters: $query<br /><br />
Return the first record (single column) in a query result<br><br />
*@param $query Query string<br />
<br>[[#Global functions|Top]]<br />
<br />
==build_query==<br />
Parameters: $query, $array<br><br />
Build query<br><br />
*@param $query<br />
*@param $array Array of field => value pairs (default false)<br />
*@return $query | Returns the builded query<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch==<br />
Parameters: $query_id, $result_type<br><br />
Fetch one record<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH (default SQL_BOTH)<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch_all==<br />
Parameters: $query_id, $result_type<br><br />
Fetch all records<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH<br />
*@return mixed Record Set / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==result==<br />
Parameters: $query_id, $row, $field<br><br />
Get result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $row | The row number from the result that's being retrieved. Row numbers start at 0<br />
*@param $field | The name or offset of the field being retrieved<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==num_rows==<br />
Parameters: $query_id<br><br />
Find the number of returned rows<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Number of rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==affected_rows==<br />
Parameters: $query_id<br><br />
Finds out the number of rows affected by a query<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Affected Rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==insert_id==<br />
Parameters: none<br><br />
Find the ID of the row that was just inserted<br><br />
*@return mixed Last ID / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==free_result==<br />
Parameters: $query_id<br><br />
Free result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape==<br />
Parameters: $string<br><br />
Remove quote escape<br><br />
*@param $string<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==error_die==<br />
Parameters: $setting<br><br />
Set the error_die var<br><br />
@param $setting<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==table==<br />
Parameters: $table, $addon<br><br />
Expand base table name to a full table name<br><br />
*@param string $table | the base table name<br />
*@param string $addon | the name of the addon, empty for a base roster table<br />
*@return string | tablename as fit for MySQL queries<br />
<br>[[#Global functions|Top]]<br />
<br />
==close_db==<br />
<br>[[#Global functions|Top]]<br />
<br />
<br />
=$roster->auth=<br />
Login and authorization<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getAuthorized==<br />
Parameters: $access<br><br />
Check if $access is allowed<br><br />
*@$access | guild / office / admin<br />
*@return <br />
<br>[[#Global functions|Top]]<br />
<br />
==getMessage==<br />
Parameters: none<br><br />
Return the latest message from class<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getLoginForm==<br />
Parameters: $level<br><br />
Check if login is allowed and return login form, else return message<br><br />
*@$level | The RosterLogin level (1 = guild, 2 = office, 3 = admin)<br />
*@return | If login allowed login form else message<br />
<br>[[#Global functions|Top]]<br />
<br />
==getMenuLoginForm== <br />
Parameters: none<br><br />
Check if login allowed return login form, else message<br><br />
<br>[[#Global functions|Top]]</div>Zanixhttp://www.wowroster.net/MediaWiki/Template:MainMenuTemplate:MainMenu2012-05-23T04:08:06Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
<br />
==Template==<br />
{{Warning|Other Locales|For now, this menu has to be made for English, then duplicated once for other languages, which is a huge bummer<br>So for now, when you change this menu, make sure you scroll down and change the duplicate}}<br />
<br />
{{Note|If you need a sub menu, add it here using the guide below!}}<br />
<br />
<onlyinclude><br />
<div class="wowroster-menu"><br />
<h5>[[Main_Page|Main Page]]</h5><br />
<div class="body"><br />
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|<br />
<!-- BEGIN ENGLISH MENU --><br />
* [[Roster]]<br />
{{#ifeq:{{{1}}}|Roster|<br />
** [[Roster:Requirements|Requirements]]<br />
** [[Roster:ChangeLog|Change Log]]<br />
** [[Roster:RoadMap|Road Map]]<br />
** [[Roster:Install|Install]]<br />
** [[Roster:FirstUpload|First Upload]]<br />
** [[Roster:CP|Control Panel]]<br />
** [[Roster:RosterDiag|Diagnostics]]<br />
** [[Roster:Menu|Main Menu]]<br />
** [[Roster:Updating|Updating Guild / Character Data]]<br />
** [[Roster:Addon|Addons]] ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** [[Roster:API|Roster API]]<br />
** [[Roster:Port|CMS Integration]]<br />
{{#ifeq: {{{2}}}|Port|<br />
*** [[Roster:Port:WoWRosterDF|WoWRosterDF]]<br />
|}}<br />
|}}<br />
* [[UniUploader]]<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** [[UniUploader:BasicSetup|Basic Setup]]<br />
** [[UniUploader:Advanced|Advanced Techniques]]<br />
** [[UniUploader:Distribution|Distribution]]<br />
|}}<br />
* [[UniAdmin]]<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** [[UniAdmin:Help|Help]]<br />
|}}<br />
* [[WoWAddon|WoW Game Addons]]<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** [[WoWRosterProfiler]]<br />
** [[WoWRoster-GP]]<br />
** [[PvPLog]]<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* [[SVN|Google Code SVN]]<br />
{{#ifeq:{{{1}}}|SVN|<br />
** [[SVN:Rules|Rules]]<br />
** [[SVN:Repositories|Repositories]]<br />
** [[SVN:TortoiseSVN|TortoiseSVN Help]]<br />
|}}<br />
* [[MYSQL_Guide|MySQL Guide]]|<br />
<!-- BEGIN OTHER LOCALE MENU --><br />
* {{MainMenuL|Roster|Roster}}<br />
{{#ifeq:{{{1}}}|Roster|<br />
** {{MainMenuL|Roster:Requirements|Requirements}}<br />
** [[Roster:ChangeLog|Change Log]]<br />
** {{MainMenuL|Roster:RoadMap|Road Map}}<br />
** {{MainMenuL|Roster:Install|Install}}<br />
** {{MainMenuL|Roster:FirstUpload|First Upload}}<br />
** {{MainMenuL|Roster:CP|Control Panel}}<br />
** {{MainMenuL|Roster:RosterDiag|Diagnostics}}<br />
** {{MainMenuL|Roster:Menu|Main Menu}}<br />
** {{MainMenuL|Roster:Updating|Updating Guild / Character Data}}<br />
** {{MainMenuL|Roster:Addon|Addons}} ([[AddonSDK|AddOn SDK]])<br />
** {{MainMenuL|Roster:FunctionsOverview|Functions Overview}}<br />
** {{MainMenuL|Roster:API|Roster API}}<br />
** {{MainMenuL|Roster:Port|CMS Integration}}<br />
{{#ifeq: {{{2}}}|Port|<br />
*** {{MainMenuL|Roster:Port:WoWRosterDF|WoWRosterDF}}<br />
|}}<br />
|}}<br />
* {{MainMenuL|UniUploader|UniUploader}}<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** {{MainMenuL|UniUploader:BasicSetup|Basic Setup}}<br />
** {{MainMenuL|UniUploader:Advanced|Advanced Techniques}}<br />
** {{MainMenuL|UniUploader:Distribution|Distribution}}<br />
|}}<br />
* {{MainMenuL|UniAdmin|UniAdmin}}<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** {{MainMenuL|UniAdmin:Help|Help}}<br />
|}}<br />
* {{MainMenuL|WoWAddon|WoW Game Addons}}<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** {{MainMenuL|WoWRosterProfiler|WoWRosterProfiler}}<br />
** {{MainMenuL|WoWRoster-GP|WoWRoster-GP}}<br />
** {{MainMenuL|PvPLog|PvPLog}}<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* {{MainMenuL|SVN|Google Code SVN}}<br />
{{#ifeq:{{{1}}}|SVN|<br />
** {{MainMenuL|SVN:Rules|Rules}}<br />
** {{MainMenuL|SVN:Repositories|Repositories}}<br />
** {{MainMenuL|SVN:TortoiseSVN|TortoiseSVN Help}}<br />
|}}<br />
* {{MainMenuL|MYSQL_Guide|MySQL Guide}}<br />
}}<br />
* [http://www.wowroster.net/the-team.html The WR.net Team]<br />
* [[CodingStandards|Coding Standards]]<br />
* [[Special:Categories|Categories]]<br />
<br />
</div></div><br />
__TOC__<br />
</onlyinclude><br />
<br />
==Syntax==<br />
This is the Main Menu for our wiki<br />
<br />
It uses a template parameter and conditionals to display sub menus<br><br />
The Roster menu is called like so<br />
<pre>{{MainMenu|Roster}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
|}}</pre><br />
This is a conditional that determines if we are printing a sub menu<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|</pre><br />
This means if the first template parameter equals '''Roster''', then display the sub menu<br />
<br />
<pre>|}}</pre><br />
This closes the conditional<br />
<br />
If we want a sub menu in a sub menu, then we use more parameters when calling the template<br />
<pre>{{MainMenu|Roster|Addons}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br><br />
'''Addons''' is the second parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
{{#ifeq:{{{2}}}|Addons|<br />
*** [[AnotherPage|AnotherPage]]<br />
|}}<br />
|}}</pre><br />
<br />
==The Other Locale Duplicate==<br />
To make the menu keep linking to the same language, we copy the menu once and add "/<nowiki>{{SUBPAGENAME}}</nowiki>" to the link<br><br />
This will make the menu link to the pages in the menu, keeping the same locale<br><br />
If the page does not exist for that locale, then it should link to the English version<br />
<br />
The syntax for this is quite complex as we detect if the translated page exists<br><br />
That is why a template is used to enter menu links<br />
<br />
<pre>[[PageName|Page Name Text]]</pre><br />
Becomes<br />
<pre>{{MainMenuL|PageName|Page Name Text}}</pre><br />
<br />
Some links need to stay linked to the English version, such as the Coding Standards, The Team, and the AddOn SDK<br><br />
These page may be changed on every release version of our software or even between versions</div>Zanixhttp://www.wowroster.net/MediaWiki/Template:MainMenuTemplate:MainMenu2012-05-23T04:07:38Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
<br />
==Template==<br />
{{Warning|Other Locales|For now, this menu has to be made for English, then duplicated once for other languages, which is a huge bummer<br>So for now, when you change this menu, make sure you scroll down and change the duplicate}}<br />
<br />
{{Note|If you need a sub menu, add it here using the guide below!}}<br />
<br />
<onlyinclude><br />
<div class="wowroster-menu"><br />
<h5>[[Main_Page|Main Page]]</h5><br />
<div class="body"><br />
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|<br />
<!-- BEGIN ENGLISH MENU --><br />
* [[Roster]]<br />
{{#ifeq:{{{1}}}|Roster|<br />
** [[Roster:Requirements|Requirements]]<br />
** [[Roster:ChangeLog|Change Log]]<br />
** [[Roster:RoadMap|Road Map]]<br />
** [[Roster:Install|Install]]<br />
** [[Roster:FirstUpload|First Upload]]<br />
** [[Roster:CP|Control Panel]]<br />
** [[Roster:RosterDiag|Diagnostics]]<br />
** [[Roster:Menu|Main Menu]]<br />
** [[Roster:Updating|Updating Guild / Character Data]]<br />
** [[Roster:Addon|Addons]] ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** [[Roster:API|Roster API]]<br />
** [[Roster:Port|CMS Integration]]<br />
{{#ifeq: {{{2}}}|Port|<br />
*** [[Roster:Port:WoWRosterDF|WoWRosterDF]]<br />
|}}<br />
|}}<br />
* [[UniUploader]]<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** [[UniUploader:BasicSetup|Basic Setup]]<br />
** [[UniUploader:Advanced|Advanced Techniques]]<br />
** [[UniUploader:Distribution|Distribution]]<br />
|}}<br />
* [[UniAdmin]]<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** [[UniAdmin:Help|Help]]<br />
|}}<br />
* [[WoWAddon|WoW Game Addons]]<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** [[WoWRosterProfiler]]<br />
** [[WoWRoster-GP]]<br />
** [[PvPLog]]<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* [[SVN|Google Code SVN]]<br />
{{#ifeq:{{{1}}}|SVN|<br />
** [[SVN:Rules|Rules]]<br />
** [[SVN:Repositories|Repositories]]<br />
** [[SVN:TortoiseSVN|TortoiseSVN Help]]<br />
|}}<br />
* [[MYSQL_Guide|MySQL Guide]]|<br />
<!-- BEGIN OTHER LOCALE MENU --><br />
* {{MainMenuL|Roster|Roster}}<br />
{{#ifeq:{{{1}}}|Roster|<br />
** {{MainMenuL|Roster:Requirements|Requirements}}<br />
** [[Roster:ChangeLog|Change Log]]<br />
** {{MainMenuL|Roster:RoadMap|Road Map}}<br />
** {{MainMenuL|Roster:Install|Install}}<br />
** {{MainMenuL|Roster:FirstUpload|First Upload}}<br />
** {{MainMenuL|Roster:CP|Control Panel}}<br />
** {{MainMenuL|Roster:RosterDiag|Diagnostics}}<br />
** {{MainMenuL|Roster:Menu|Main Menu}}<br />
** {{MainMenuL|Roster:Updating|Updating Guild / Character Data}}<br />
** {{MainMenuL|Roster:Addon|Addons}} ([[AddonSDK|AddOn SDK]])<br />
** {{MainMenuL|Roster:FunctionsOverview|Functions Overview}}<br />
** {{MainMenuL|Roster:API|Roster API}}<br />
** {{MainMenuL|Roster:Port|CMS Integration}}<br />
{{#ifeq: {{{2}}}|Port|<br />
*** {{MainMenuL|Roster:Port:WoWRosterDF|WoWRosterDF}}<br />
|}}<br />
|}}<br />
* {{MainMenuL|UniUploader|UniUploader}}<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** {{MainMenuL|UniUploader:BasicSetup|Basic Setup}}<br />
** {{MainMenuL|UniUploader:Advanced|Advanced Techniques}}<br />
** {{MainMenuL|UniUploader:Distribution|Distribution}}<br />
|}}<br />
* {{MainMenuL|UniAdmin|UniAdmin}}<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** {{MainMenuL|UniAdmin:Help|Help}}<br />
|}}<br />
* {{MainMenuL|WoWAddon|WoW Game Addons}}<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** {{MainMenuL|WoWRosterProfiler|WoWRosterProfiler}}<br />
** {{MainMenuL|WoWRoster-GP|WoWRoster-GP}}<br />
** {{MainMenuL|PvPLog|PvPLog}}<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* {{MainMenuL|SVN|Google Code SVN}}<br />
{{#ifeq:{{{1}}}|SVN|<br />
** {{MainMenuL|SVN:Rules|Rules}}<br />
** {{MainMenuL|SVN:Repositories|Repositories}}<br />
** {{MainMenuL|SVN:TortoiseSVN|TortoiseSVN Help}}<br />
|}}<br />
* {{MainMenuL|MYSQL_Guide|MySQL Guide}}<br />
}}<br />
* [http://www.wowroster.net/the-team.html The WR.net Team]<br />
* {{MainMenuL|CodingStandards|Coding Standards}}<br />
* [[Special:Categories|Categories]]<br />
<br />
</div></div><br />
__TOC__<br />
</onlyinclude><br />
<br />
==Syntax==<br />
This is the Main Menu for our wiki<br />
<br />
It uses a template parameter and conditionals to display sub menus<br><br />
The Roster menu is called like so<br />
<pre>{{MainMenu|Roster}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
|}}</pre><br />
This is a conditional that determines if we are printing a sub menu<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|</pre><br />
This means if the first template parameter equals '''Roster''', then display the sub menu<br />
<br />
<pre>|}}</pre><br />
This closes the conditional<br />
<br />
If we want a sub menu in a sub menu, then we use more parameters when calling the template<br />
<pre>{{MainMenu|Roster|Addons}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br><br />
'''Addons''' is the second parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
{{#ifeq:{{{2}}}|Addons|<br />
*** [[AnotherPage|AnotherPage]]<br />
|}}<br />
|}}</pre><br />
<br />
==The Other Locale Duplicate==<br />
To make the menu keep linking to the same language, we copy the menu once and add "/<nowiki>{{SUBPAGENAME}}</nowiki>" to the link<br><br />
This will make the menu link to the pages in the menu, keeping the same locale<br><br />
If the page does not exist for that locale, then it should link to the English version<br />
<br />
The syntax for this is quite complex as we detect if the translated page exists<br><br />
That is why a template is used to enter menu links<br />
<br />
<pre>[[PageName|Page Name Text]]</pre><br />
Becomes<br />
<pre>{{MainMenuL|PageName|Page Name Text}}</pre><br />
<br />
Some links need to stay linked to the English version, such as the Coding Standards, The Team, and the AddOn SDK<br><br />
These page may be changed on every release version of our software or even between versions</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:FunctionsOverviewRoster:FunctionsOverview2012-05-23T04:06:24Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
'''Functions Overview'''<br><br />
Overview over all functions in the Roster that can be used by Addon Developers.<br><br />
<br />
See also the new [[Roster:API|Roster API]] for additional information.<br />
<br /><br />
__TOC__<br />
<br />
=Global functions=<br />
These function are located in functions.lib.php<br />
<br />
==border==<br />
Parameters: $style, $mode, $header_txt, $width<br><br />
Starts or ends fancy bodering containers<br><br />
*@param string $style What bordering style to use<br />
*@param string $mode ( start | end )<br />
*@param string $header_text Place text in a styled header (default ''null'')<br />
*@param string $width Set a fixed width for the box<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==setTooltip==<br />
Parameters: $var, $content<br><br />
Makes a tootip and places it into the tooltip array<br><br />
*@param string $var<br />
*@param string $content<br />
<br>[[#Global functions|Top]]<br />
<br />
==getAllTooltips==<br />
Parameters: none<br><br />
Gathers all tootips and places them into javascript variables<br><br />
*@param array $tooltipArray<br />
*@return string Tooltips placed in javascript variables<br />
<br>[[#Global functions|Top]]<br />
<br />
==sql_highlight==<br />
Parameters: $sql<br><br />
Highlight certain keywords in a SQL query<br><br />
*@param string $sql Query string<br />
*@return string Highlighted string<br />
<br>[[#Global functions|Top]]<br />
<br />
==die_quietly==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Clean replacement for die(), outputs a message with debugging info if needed and ends output<br><br />
*@param string $text Text to display on error page<br />
*@param string $title Title to place on web page (default Message)<br />
*@param string $file Filename to display<br />
*@param string $line Line in file to display<br />
*@param string $sql Any SQL text to display<br />
<br>[[#Global functions|Top]]<br />
<br />
==roster_die==<br />
Parameters: $message, $title, $style<br><br />
Draw a message box with the specified border color, then die cleanly<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default Message )<br />
*@param string $style | The border style (default sred)<br />
<br>[[#Global functions|Top]]<br />
<br />
==ajax_die==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Print a roster-ajax XML error message<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==backtrace==<br />
Parameters: none<br><br />
Print a debug backtrace. This works in PHP4.3.x+, there is an integrated function for this starting PHP5 but I prefer always having the same layout.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==stripAllHtml==<br />
Parameters: $string<br><br />
This will remove HTML tags, javascript sections and white space. It will also convert some common HTML entities to their text equivalent<br><br />
*@param string $file<br />
<br>[[#Global functions|Top]]<br />
<br />
==check_if_image==<br />
Parameters: $filename<br><br />
This will check if the given Filename is an image<br><br />
*@param imagefile $file<br />
*@return mixed The extentsion if the filetype is an image, false if it is not<br />
<br>[[#Global functions|Top]]<br />
<br />
==colorTooltip==<br />
Parameters: $tooltip, $caption_color, $locale, $inline_caption<br><br />
Tooltip colorizer function with string cleaning. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param string $locale | (optional) Locale so color parser can work correctly<br />
*Default is $roster->config[<nowiki>'locale'</nowiki>]<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==cleanTooltip==<br />
Parameters: $tooltip, $caption_color, $inline_caption<br><br />
Cleans up the tooltip and parses an inline_caption if needed. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==makeOverlib==<br />
Parameters: $tooltip, $caption, $caption_color, $mode, $locale, $extra_parameters<br><br />
Easy all in one function to make overlib tooltips. Creates a string for insertion into any html tag that has "onmouseover" and "onmouseout" events<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption | (optional) Text to set as a true OverLib caption<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $mode| (optional) Options 0=colorize,1=clean,2=pass through (default 0)<br />
*Default 0 (colorize)<br />
*@param string $locale | Locale so color parser can work correctly<br />
*Only needed when $colorize is true<br />
*Default is $roster->config<nowiki>['locale']</nowiki><br />
*@param string $extra_parameters | (optional) Extra OverLib parameters you wish to pass<br />
*@param string $item_id<br />
*@return unknown<br />
<br>[[#Global functions|Top]]<br />
<br />
==messagebox==<br />
Parameters: $message, $title, $style, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Set a fixed width<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollbox==<br />
Parameters: $message, $title, $style, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==messageboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title<br />
*@param string $style | The border style (default sgray)<br />
*@param boolean $open | True if initially open (default false)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $messages | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape_array==<br />
Parameters: $array<br><br />
Recursively escape $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==stripslash_array==<br />
Parameters: $array<br><br />
Recursively stripslash $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==readbleDate==<br />
Parameters: $datetime, $offset<br><br />
Converts a datetime field into a readable date<br><br />
*@param string $datetime | datetime field data in DB<br />
*@param string $offset | Offset in hours to calcuate time returned<br />
*@return string | formatted date string<br />
<br>[[#Global functions|Top]]<br />
<br />
==get_file_ext==<br />
Parameters: $filename<br><br />
Gets a file's extention passed as a string<br><br />
*@param string $filename<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==seconds_to_time==<br />
Parameters: $seconds<br><br />
Converts seconds to a string delimited by time values. Will show w,d,h,m,s<br><br />
*@param string $seconds<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==getaddon==<br />
Parameters: $addonname<br><br />
Sets up addon data for use in the addon framework<br><br />
*@param string $addonname | The name of the addon<br />
*@return array $addon | The addon's database record<br />
*@global array $addon_conf | The addon's config data is added to this global array.<br />
<br>[[#Global functions|Top]]<br />
<br />
==active_addon==<br />
Parameters: $name<br><br />
Check to see if an addon is active or not<br><br />
*@param string $name | Addon basename<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==urlgrabber==<br />
Parameters: $url, $timeout, $user_agent, $loopcount<br><br />
Handles retrieving the contents of a URL trying multiple methods. Current methods are curl, file_get_contents, fsockopen and will try each in that order<br><br />
*@param string $url | URL to retrieve<br />
*@param int $timeout | Timeout for curl, socket connection timeout for fsock (default 5)<br />
*@param string $user_agent | Useragent to use for connection (default false)<br />
*@param int $loopcount | (default 0)<br />
*@return mixed | False on error, contents on success <br />
<br>[[#Global functions|Top]]<br />
<br />
==request_uri==<br />
Parameters: none<br><br />
Stupid function to create an REQUEST_URI for IIS 5 servers<br><br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==file_writer==<br />
Parameters: $filename, &$content, $mode<br><br />
Attempts to write a file to the file system<br><br />
*@param string $filename | Name of the file<br />
*@param string $content | Content of the file<br />
*@param string $mode | (default wb)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==php_as_nobody==<br />
Parameters: $file<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==_aprint==<br />
Parameters: $arr, $tab<br><br />
Debugging function dumps arrays/object formatted. Do Not call this, call [[#aprint|aprint()]]<br><br />
*@param array $arr<br />
*@param int $tab | (default 1)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==aprint==<br />
Parameters: $arr, $prefix, $return<br><br />
Debugging function dumps arrays/object formatted<br><br />
*@param array $arr<br />
*@param string $prefix <br />
*@return string | (default false)<br />
<br>[[#Global functions|Top]]<br />
<br />
==socketColorEn==<br />
Parameters: $socket_color, $locale<br><br />
Helper function that returns the localized gem color in english<br><br />
*@param string $socket_color<br />
*@return string $color<br />
<br>[[#Global functions|Top]]<br />
<br />
==format_microtime==<br />
Parameters: none<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==array_overlay==<br />
Parameters: $skel, $arr<br><br />
A better array_merge()<br><br />
*@param array $skel<br />
*@param array $arr<br />
*@return array<br />
<br>[[#Global functions|Top]]<br />
<br />
==updateCheck==<br />
Parameters: $addon<br><br />
Checks an addon download id on the wowroster.net rss feed. And informs if there is an update.<br><br />
*@param string $name | name of the download<br />
*@param string $url | url<br />
<br>[[#Global functions|Top]]<br />
<br />
==dummy==<br />
Parameters: none<br><br />
Dummy function. For when you need a callback that doesn't do anything.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==makelink==<br />
Parameters: $url, $full<br><br />
Function to create links in Roster. ALL LINKS SHOULD PASS THROUGH THIS FUNCTION. Hopefully this function will be the magic that makes porting Roster easier (Ninja looted from DragonFly, thanks you guys!).<br><br />
*@param string $url | (Example: <nowiki>'</nowiki>util-news-comment&amp;id=<nowiki>'</nowiki>.$news_id)<br />
*@param bool $full | (default false)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
=$roster->db=<br />
The following functions can be used to operate on database<br />
<br />
==error==<br />
Parameters: none<br><br />
Get last SQL error<br><br />
*@return string last SQL error<br />
<br>[[#Global functions|Top]]<br />
<br />
==errno==<br />
Parameters:none<br><br />
Get last SQL errno<br><br />
*@return string last SQL errno<br />
<br>[[#Global functions|Top]]<br />
<br />
==query==<br />
Parameters: $query<br><br />
Basic query function<br><br />
*@param $query Query string<br />
*@return mixed Query ID / Error string / Bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==query_first==<br />
Parameters: $query<br /><br />
Return the first record (single column) in a query result<br><br />
*@param $query Query string<br />
<br>[[#Global functions|Top]]<br />
<br />
==build_query==<br />
Parameters: $query, $array<br><br />
Build query<br><br />
*@param $query<br />
*@param $array Array of field => value pairs (default false)<br />
*@return $query | Returns the builded query<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch==<br />
Parameters: $query_id, $result_type<br><br />
Fetch one record<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH (default SQL_BOTH)<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch_all==<br />
Parameters: $query_id, $result_type<br><br />
Fetch all records<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH<br />
*@return mixed Record Set / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==result==<br />
Parameters: $query_id, $row, $field<br><br />
Get result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $row | The row number from the result that's being retrieved. Row numbers start at 0<br />
*@param $field | The name or offset of the field being retrieved<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==num_rows==<br />
Parameters: $query_id<br><br />
Find the number of returned rows<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Number of rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==affected_rows==<br />
Parameters: $query_id<br><br />
Finds out the number of rows affected by a query<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Affected Rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==insert_id==<br />
Parameters: none<br><br />
Find the ID of the row that was just inserted<br><br />
*@return mixed Last ID / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==free_result==<br />
Parameters: $query_id<br><br />
Free result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape==<br />
Parameters: $string<br><br />
Remove quote escape<br><br />
*@param $string<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==error_die==<br />
Parameters: $setting<br><br />
Set the error_die var<br><br />
@param $setting<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==table==<br />
Parameters: $table, $addon<br><br />
Expand base table name to a full table name<br><br />
*@param string $table | the base table name<br />
*@param string $addon | the name of the addon, empty for a base roster table<br />
*@return string | tablename as fit for MySQL queries<br />
<br>[[#Global functions|Top]]<br />
<br />
==close_db==<br />
<br>[[#Global functions|Top]]<br />
<br />
<br />
=$roster->auth=<br />
Login and authorization<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getAuthorized==<br />
Parameters: $access<br><br />
Check if $access is allowed<br><br />
*@$access | guild / office / admin<br />
*@return <br />
<br>[[#Global functions|Top]]<br />
<br />
==getMessage==<br />
Parameters: none<br><br />
Return the latest message from class<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getLoginForm==<br />
Parameters: $level<br><br />
Check if login is allowed and return login form, else return message<br><br />
*@$level | The RosterLogin level (1 = guild, 2 = office, 3 = admin)<br />
*@return | If login allowed login form else message<br />
<br>[[#Global functions|Top]]<br />
<br />
==getMenuLoginForm== <br />
Parameters: none<br><br />
Check if login allowed return login form, else message<br><br />
<br>[[#Global functions|Top]]</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:FunctionsOverviewRoster:FunctionsOverview2012-05-23T04:06:15Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
'''Functions Overview'''<br><br />
Overview over all functions in the Roster that can be used by Addon Developers.<br><br />
<br />
See also the new [[Roster:API|Roster API]] for additional information.<br />
<br /><br />
__TOC__<br />
<br />
=Global functions=<br />
These function are located in functions.lib.php<br />
<br />
==border==<br />
Parameters: $style, $mode, $header_txt, $width<br><br />
Starts or ends fancy bodering containers<br><br />
*@param string $style What bordering style to use<br />
*@param string $mode ( start | end )<br />
*@param string $header_text Place text in a styled header (default ''null'')<br />
*@param string $width Set a fixed width for the box<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==setTooltip==<br />
Parameters: $var, $content<br><br />
Makes a tootip and places it into the tooltip array<br><br />
*@param string $var<br />
*@param string $content<br />
<br>[[#Global functions|Top]]<br />
<br />
==getAllTooltips==<br />
Parameters: none<br><br />
Gathers all tootips and places them into javascript variables<br><br />
*@param array $tooltipArray<br />
*@return string Tooltips placed in javascript variables<br />
<br>[[#Global functions|Top]]<br />
<br />
==sql_highlight==<br />
Parameters: $sql<br><br />
Highlight certain keywords in a SQL query<br><br />
*@param string $sql Query string<br />
*@return string Highlighted string<br />
<br>[[#Global functions|Top]]<br />
<br />
==die_quietly==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Clean replacement for die(), outputs a message with debugging info if needed and ends output<br><br />
*@param string $text Text to display on error page<br />
*@param string $title Title to place on web page (default Message)<br />
*@param string $file Filename to display<br />
*@param string $line Line in file to display<br />
*@param string $sql Any SQL text to display<br />
<br>[[#Global functions|Top]]<br />
<br />
==roster_die==<br />
Parameters: $message, $title, $style<br><br />
Draw a message box with the specified border color, then die cleanly<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default Message )<br />
*@param string $style | The border style (default sred)<br />
<br>[[#Global functions|Top]]<br />
<br />
==ajax_die==<br />
Parameters: $text, $title, $file, $line, $sql<br><br />
Print a roster-ajax XML error message<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==backtrace==<br />
Parameters: none<br><br />
Print a debug backtrace. This works in PHP4.3.x+, there is an integrated function for this starting PHP5 but I prefer always having the same layout.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==stripAllHtml==<br />
Parameters: $string<br><br />
This will remove HTML tags, javascript sections and white space. It will also convert some common HTML entities to their text equivalent<br><br />
*@param string $file<br />
<br>[[#Global functions|Top]]<br />
<br />
==check_if_image==<br />
Parameters: $filename<br><br />
This will check if the given Filename is an image<br><br />
*@param imagefile $file<br />
*@return mixed The extentsion if the filetype is an image, false if it is not<br />
<br>[[#Global functions|Top]]<br />
<br />
==colorTooltip==<br />
Parameters: $tooltip, $caption_color, $locale, $inline_caption<br><br />
Tooltip colorizer function with string cleaning. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param string $locale | (optional) Locale so color parser can work correctly<br />
*Default is $roster->config[<nowiki>'locale'</nowiki>]<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==cleanTooltip==<br />
Parameters: $tooltip, $caption_color, $inline_caption<br><br />
Cleans up the tooltip and parses an inline_caption if needed. Use only with [[#makeOverlib]]<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $inline_caption | (optional) (default 1)<br />
*Default is true<br />
*@return string | Formatted tooltip<br />
<br>[[#Global functions|Top]]<br />
<br />
==makeOverlib==<br />
Parameters: $tooltip, $caption, $caption_color, $mode, $locale, $extra_parameters<br><br />
Easy all in one function to make overlib tooltips. Creates a string for insertion into any html tag that has "onmouseover" and "onmouseout" events<br><br />
*@param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
*@param string $caption | (optional) Text to set as a true OverLib caption<br />
*@param string $caption_color | (optional) Color for the caption<br />
*Default is <nowiki>'ffffff'</nowiki> - white<br />
*@param bool $mode| (optional) Options 0=colorize,1=clean,2=pass through (default 0)<br />
*Default 0 (colorize)<br />
*@param string $locale | Locale so color parser can work correctly<br />
*Only needed when $colorize is true<br />
*Default is $roster->config<nowiki>['locale']</nowiki><br />
*@param string $extra_parameters | (optional) Extra OverLib parameters you wish to pass<br />
*@param string $item_id<br />
*@return unknown<br />
<br>[[#Global functions|Top]]<br />
<br />
==messagebox==<br />
Parameters: $message, $title, $style, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Set a fixed width<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollbox==<br />
Parameters: $message, $title, $style, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==messageboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width<br><br />
Draw a message box with the specified border color.<br><br />
*@param string $message | The message to display inside the box<br />
*@param string $title | The box title<br />
*@param string $style | The border style (default sgray)<br />
*@param boolean $open | True if initially open (default false)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==scrollboxtoggle==<br />
Parameters: $message, $title, $style, $open, $width, $height<br><br />
Draw a 300x550px scrolling messagebox with the specified border color.<br><br />
*@param string $messages | The message to display inside the box<br />
*@param string $title | The box title (default message)<br />
*@param string $style | The border style (default sgray)<br />
*@param string $width | Initial width with unit (default 550px)<br />
*@param string $height | Initial height with unit (default 300px)<br />
*@return string $html | The HTML for the messagebox<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape_array==<br />
Parameters: $array<br><br />
Recursively escape $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==stripslash_array==<br />
Parameters: $array<br><br />
Recursively stripslash $array<br><br />
*@param array $array | The array to escape<br />
*@return array | The same array, escaped<br />
<br>[[#Global functions|Top]]<br />
<br />
==readbleDate==<br />
Parameters: $datetime, $offset<br><br />
Converts a datetime field into a readable date<br><br />
*@param string $datetime | datetime field data in DB<br />
*@param string $offset | Offset in hours to calcuate time returned<br />
*@return string | formatted date string<br />
<br>[[#Global functions|Top]]<br />
<br />
==get_file_ext==<br />
Parameters: $filename<br><br />
Gets a file's extention passed as a string<br><br />
*@param string $filename<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==seconds_to_time==<br />
Parameters: $seconds<br><br />
Converts seconds to a string delimited by time values. Will show w,d,h,m,s<br><br />
*@param string $seconds<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==getaddon==<br />
Parameters: $addonname<br><br />
Sets up addon data for use in the addon framework<br><br />
*@param string $addonname | The name of the addon<br />
*@return array $addon | The addon's database record<br />
*@global array $addon_conf | The addon's config data is added to this global array.<br />
<br>[[#Global functions|Top]]<br />
<br />
==active_addon==<br />
Parameters: $name<br><br />
Check to see if an addon is active or not<br><br />
*@param string $name | Addon basename<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==urlgrabber==<br />
Parameters: $url, $timeout, $user_agent, $loopcount<br><br />
Handles retrieving the contents of a URL trying multiple methods. Current methods are curl, file_get_contents, fsockopen and will try each in that order<br><br />
*@param string $url | URL to retrieve<br />
*@param int $timeout | Timeout for curl, socket connection timeout for fsock (default 5)<br />
*@param string $user_agent | Useragent to use for connection (default false)<br />
*@param int $loopcount | (default 0)<br />
*@return mixed | False on error, contents on success <br />
<br>[[#Global functions|Top]]<br />
<br />
==request_uri==<br />
Parameters: none<br><br />
Stupid function to create an REQUEST_URI for IIS 5 servers<br><br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==file_writer==<br />
Parameters: $filename, &$content, $mode<br><br />
Attempts to write a file to the file system<br><br />
*@param string $filename | Name of the file<br />
*@param string $content | Content of the file<br />
*@param string $mode | (default wb)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==php_as_nobody==<br />
Parameters: $file<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==_aprint==<br />
Parameters: $arr, $tab<br><br />
Debugging function dumps arrays/object formatted. Do Not call this, call [[#aprint|aprint()]]<br><br />
*@param array $arr<br />
*@param int $tab | (default 1)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==aprint==<br />
Parameters: $arr, $prefix, $return<br><br />
Debugging function dumps arrays/object formatted<br><br />
*@param array $arr<br />
*@param string $prefix <br />
*@return string | (default false)<br />
<br>[[#Global functions|Top]]<br />
<br />
==socketColorEn==<br />
Parameters: $socket_color, $locale<br><br />
Helper function that returns the localized gem color in english<br><br />
*@param string $socket_color<br />
*@return string $color<br />
<br>[[#Global functions|Top]]<br />
<br />
==format_microtime==<br />
Parameters: none<br><br />
No Description<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==array_overlay==<br />
Parameters: $skel, $arr<br><br />
A better array_merge()<br><br />
*@param array $skel<br />
*@param array $arr<br />
*@return array<br />
<br>[[#Global functions|Top]]<br />
<br />
==updateCheck==<br />
Parameters: $addon<br><br />
Checks an addon download id on the wowroster.net rss feed. And informs if there is an update.<br><br />
*@param string $name | name of the download<br />
*@param string $url | url<br />
<br>[[#Global functions|Top]]<br />
<br />
==dummy==<br />
Parameters: none<br><br />
Dummy function. For when you need a callback that doesn't do anything.<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==makelink==<br />
Parameters: $url, $full<br><br />
Function to create links in Roster. ALL LINKS SHOULD PASS THROUGH THIS FUNCTION. Hopefully this function will be the magic that makes porting Roster easier (Ninja looted from DragonFly, thanks you guys!).<br><br />
*@param string $url | (Example: <nowiki>'</nowiki>util-news-comment&amp;id=<nowiki>'</nowiki>.$news_id)<br />
*@param bool $full | (default false)<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
=$roster->db=<br />
The following functions can be used to operate on database<br />
<br />
==error==<br />
Parameters: none<br><br />
Get last SQL error<br><br />
*@return string last SQL error<br />
<br>[[#Global functions|Top]]<br />
<br />
==errno==<br />
Parameters:none<br><br />
Get last SQL errno<br><br />
*@return string last SQL errno<br />
<br>[[#Global functions|Top]]<br />
<br />
==query==<br />
Parameters: $query<br><br />
Basic query function<br><br />
*@param $query Query string<br />
*@return mixed Query ID / Error string / Bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==query_first==<br />
Parameters: $query<br /><br />
Return the first record (single column) in a query result<br><br />
*@param $query Query string<br />
<br>[[#Global functions|Top]]<br />
<br />
==build_query==<br />
Parameters: $query, $array<br><br />
Build query<br><br />
*@param $query<br />
*@param $array Array of field => value pairs (default false)<br />
*@return $query | Returns the builded query<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch==<br />
Parameters: $query_id, $result_type<br><br />
Fetch one record<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH (default SQL_BOTH)<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==fetch_all==<br />
Parameters: $query_id, $result_type<br><br />
Fetch all records<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $result_type | SQL_ASSOC, SQL_NUM, or SQL_BOTH<br />
*@return mixed Record Set / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==result==<br />
Parameters: $query_id, $row, $field<br><br />
Get result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@param $row | The row number from the result that's being retrieved. Row numbers start at 0<br />
*@param $field | The name or offset of the field being retrieved<br />
*@return mixed Record / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==num_rows==<br />
Parameters: $query_id<br><br />
Find the number of returned rows<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Number of rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==affected_rows==<br />
Parameters: $query_id<br><br />
Finds out the number of rows affected by a query<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return mixed Affected Rows / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==insert_id==<br />
Parameters: none<br><br />
Find the ID of the row that was just inserted<br><br />
*@return mixed Last ID / false<br />
<br>[[#Global functions|Top]]<br />
<br />
==free_result==<br />
Parameters: $query_id<br><br />
Free result data<br><br />
*@param $query_id | Query ID (default 0)<br />
*@return bool<br />
<br>[[#Global functions|Top]]<br />
<br />
==escape==<br />
Parameters: $string<br><br />
Remove quote escape<br><br />
*@param $string<br />
*@return string<br />
<br>[[#Global functions|Top]]<br />
<br />
==error_die==<br />
Parameters: $setting<br><br />
Set the error_die var<br><br />
@param $setting<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==table==<br />
Parameters: $table, $addon<br><br />
Expand base table name to a full table name<br><br />
*@param string $table | the base table name<br />
*@param string $addon | the name of the addon, empty for a base roster table<br />
*@return string | tablename as fit for MySQL queries<br />
<br>[[#Global functions|Top]]<br />
<br />
==close_db==<br />
<br>[[#Global functions|Top]]<br />
<br />
<br />
=$roster->auth=<br />
Login and authorization<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getAuthorized==<br />
Parameters: $access<br><br />
Check if $access is allowed<br><br />
*@$access | guild / office / admin<br />
*@return <br />
<br>[[#Global functions|Top]]<br />
<br />
==getMessage==<br />
Parameters: none<br><br />
Return the latest message from class<br><br />
<br>[[#Global functions|Top]]<br />
<br />
==getLoginForm==<br />
Parameters: $level<br><br />
Check if login is allowed and return login form, else return message<br><br />
*@$level | The RosterLogin level (1 = guild, 2 = office, 3 = admin)<br />
*@return | If login allowed login form else message<br />
<br>[[#Global functions|Top]]<br />
<br />
==getMenuLoginForm== <br />
Parameters: none<br><br />
Check if login allowed return login form, else message<br><br />
<br>[[#Global functions|Top]]</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:MenuRoster:Menu2012-05-23T04:03:34Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
==Roster Menu==<br />
...it is what it says, the main menu in Roster<br />
[[Image:Roster_mainmenu.png|center|thumb|700px|Roster Main Menu]]<br />
The menu is divided into 3 sections<br />
<br />
<br />
* The top section shows the current scope information<br />
*: This section can change depending on the current scope<br />
** Utility - Displays the defaults set in RosterCP<br />
** Realm - Displays the Region and Realm name<br />
** Guild - Displays the Guildname @ Region - Realmname then the last update time<br />
** Character - Displays Charactername @ Region - Realmname then the last update time<br />
** Also displays language select, login box, quick search, realmstatus<br />
<br />
<br />
* The middle section shows section links in Roster<br />
** Clicking on Guild Information button will open/close the guild scope buttons<br />
**: These buttons will remain shown when in the guild scope<br />
** Clicking on Realm Information button will open/close the realm scope buttons<br />
**: These buttons will remain shown when in the realm scope<br />
** Clicking on Utilities button will open/close the utility scope buttons, including RosterCP and Roster Search<br />
**: These buttons will remain shown when in the utility scope<br />
** Clicking the Update Profile button will show the update box<br />
<br />
<br />
* The bottom section shows links to the various pages in Roster<br />
*: The button positions are configurable from RosterCP<br />
** The Character buttons will display on every character scope page and cannot be hidden</div>Zanixhttp://www.wowroster.net/MediaWiki/Template:Note/deTemplate:Note/de2012-05-23T03:52:53Z<p>Zanix: Protected "Template:Note/de" ([edit=sysop] (indefinite) [move=sysop] (indefinite))</p>
<hr />
<div><div class="wowroster-note"><br />
{|<br />
|- valign="top"<br />
| class="icon"|[[Image:Info.png|24px]]<br />
| class="title"|'''Hinweis:'''<br />
| class="message"|{{{1}}}<br />
|}<br />
</div></div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:APIRoster:API2012-05-23T03:49:12Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
==Roster API==<br />
The Roster to WoW API uses the feeds from Blizzard for character and guild information and can be used in Roster and its AddOns.<br />
<br />
'''Features include:'''<br />
* Character info<br />
** Basic information: name, level, class, race, gender, faction, guild, achievement points<br />
** Optional fields: equipped items, stats, reputation, primary and secondary skills, achievements/statistics, talents, titles, collected mounts and companions, quests, profession recipes, Hunter pets, PvP information<br />
<br />
* Guild<br />
** Basic information: name, level, achievement points<br />
** Optional fields: members (roster), achievements<br />
<br />
* Arena Teams<br />
** Basic information: name, ranking, rating, weekly/season statistics<br />
** Optional fields: members (roster)<br />
<br />
<br />
==Character API==<br />
Used to query for data on any valid Character (level 10 and up)<br />
<br />
Usage:<br />
<php>$roster->api->Char->getCharInfo($Server, $CharName, $Fields);</php><br />
Returns a JSON formatted array contaning data from the fields requested<br />
<br />
getCharInfo has 3 parameters ($Server, $CharName, $Fields)<br />
* $Server - the name of the server the character is located on<br />
* $CharName - the name of the character<br />
* $Fields - specific data you want to get for this character, use ":" for multiple fields<br />
<br />
Field options are as follows:<br />
* '''1''' (''guild'') - A summary of the guild that the character belongs to. If the character does not belong to a guild and this field is requested, this field will not be exposed.<br />
* '''2''' (''stats'') - A map of character attributes and stats.<br />
* '''3''' (''talents'') - A list of talent structures.<br />
* '''4''' (''items'') - A list of items equipted by the character. Use of this field will also include the average item level and average item level equipped for the character.<br />
* '''5''' (''reputation'') - A list of the factions that the character has an associated reputation with.<br />
* '''6''' (''titles'') - A list of the titles obtained by the character.<br />
* '''7''' (''professions'') - A list of the character's professions. It is important to note that when this information is retrieved, it will also include the known recipes of each of the listed professions.<br />
* '''8''' (''appearance'') - A map of values that describes the face, features and helm/cloak display preferences and attributes.<br />
* '''9''' (''companions'') - A list of all of the non-combat pets obtained by the character.<br />
* '''10''' (''mounts'') - A list of all of the mounts obtained by the character.<br />
* '''11''' (''pets'') - A list of all of the combat pets obtained by the character.<br />
* '''12''' (''achievements'') - A map of achievement data including completion timestamps and criteria information.<br />
* '''13''' (''progression'') - A list of raids and bosses indicating raid progression and completedness.<br />
* '''14''' (''pvp'') - A list of battleground vistories and teams.<br />
* '''15''' (''quests'') - A list of completed quests by the character.<br />
* '''16''' (''feed'') - A list of recent achievements items obtained, progression, statistics.<br />
<br />
==Guild API==<br />
Used to query for data on any valid Guild<br />
<br />
Usage:<br />
<php>$roster->api->Guild->getGuildInfo($rname, $name, $fields);</php><br />
Returns a JSON formatted array contaning data from the fields requested<br />
<br />
getGuildInfo has 3 variables ($rname, $name, $fields)<br />
* $ranme - the name of the server the guild is located on<br />
* $name - the name of the Guild<br />
* $Fields - specific data you want to get for this character, use ":" for multiple fields<br />
<br />
Field options are as follows<br />
* '''1''' (''members'') - A summary of the guilds members.<br />
* '''2''' (''achievements'') - an array of guild achievements completed (only id's given).<br />
* '''3''' (''news'') - A list of recent guild news.<br />
<br />
'''Guild rewards'''<br />
<php>$roster->api->Guild->getGuildrewards($rname, $name, $fields)</php><br />
This returns a list of the rewards the specified guild has earned.<br />
<br />
<br />
==Data API==<br />
<php>$roster->api->Data->getRacesInfo()</php><br />
* Returns a list of raceId's with faction alignment<br />
<br />
<php>$roster->api->Data->getQuestInfo($id)</php><br />
* Returns info for the requested quest id ($id)<br />
<code><br />
"id":13157,<br />
"title":"The Crusaders' Pinnacle",<br />
"reqLevel":77,<br />
"suggestedPartyMembers":0,<br />
"category":"Icecrown",<br />
"level":79<br />
</code><br />
<br />
<php>$roster->api->Data->getClassesInfo()</php><br />
* Returns id name and power type for all classes<br />
<br />
<php>$roster->api->Data->getItemInfo($itemID, $gem0=null, $gem1=null, $gem2=null, $enchant=null, $es=false)</php><br />
* Returns JSON data for the formation of tooltips of the given item id<br />
{{Note|$gem0, $gem1, $gem2, $enchant, $es are not used as of yet}}<br />
<br />
<php>$roster->api->Data->getAchievInfo()</php><br />
* Returns the list of all achievements and categories<br />
<br />
<br />
==Realm API==<br />
<br />
<br />
==Team API==<br />
<br />
<br />
==Talent API==</div>Zanixhttp://www.wowroster.net/MediaWiki/Template:MainMenuTemplate:MainMenu2012-05-23T03:33:31Z<p>Zanix: Added Roster:API link for other locales</p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
<br />
==Template==<br />
{{Warning|Other Locales|For now, this menu has to be made for English, then duplicated once for other languages, which is a huge bummer<br>So for now, when you change this menu, make sure you scroll down and change the duplicate}}<br />
<br />
{{Note|If you need a sub menu, add it here using the guide below!}}<br />
<br />
<onlyinclude><br />
<div class="wowroster-menu"><br />
<h5>[[Main_Page|Main Page]]</h5><br />
<div class="body"><br />
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|<br />
<!-- BEGIN ENGLISH MENU --><br />
* [[Roster]]<br />
{{#ifeq:{{{1}}}|Roster|<br />
** [[Roster:Requirements|Requirements]]<br />
** [[Roster:ChangeLog|Change Log]]<br />
** [[Roster:RoadMap|Road Map]]<br />
** [[Roster:Install|Install]]<br />
** [[Roster:FirstUpload|First Upload]]<br />
** [[Roster:CP|Control Panel]]<br />
** [[Roster:RosterDiag|Diagnostics]]<br />
** [[Roster:Menu|Main Menu]]<br />
** [[Roster:Updating|Updating Guild / Character Data]]<br />
** [[Roster:Addon|Addons]] ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** [[Roster:API|Roster API]]<br />
** [[Roster:Port|CMS Integration]]<br />
{{#ifeq: {{{2}}}|Port|<br />
*** [[Roster:Port:WoWRosterDF|WoWRosterDF]]<br />
|}}<br />
|}}<br />
* [[UniUploader]]<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** [[UniUploader:BasicSetup|Basic Setup]]<br />
** [[UniUploader:Advanced|Advanced Techniques]]<br />
** [[UniUploader:Distribution|Distribution]]<br />
|}}<br />
* [[UniAdmin]]<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** [[UniAdmin:Help|Help]]<br />
|}}<br />
* [[WoWAddon|WoW Game Addons]]<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** [[WoWRosterProfiler]]<br />
** [[WoWRoster-GP]]<br />
** [[PvPLog]]<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* [[SVN|Google Code SVN]]<br />
{{#ifeq:{{{1}}}|SVN|<br />
** [[SVN:Rules|Rules]]<br />
** [[SVN:Repositories|Repositories]]<br />
** [[SVN:TortoiseSVN|TortoiseSVN Help]]<br />
|}}<br />
* [[MYSQL_Guide|MySQL Guide]]|<br />
<!-- BEGIN OTHER LOCALE MENU --><br />
* {{MainMenuL|Roster|Roster}}<br />
{{#ifeq:{{{1}}}|Roster|<br />
** {{MainMenuL|Roster:Requirements|Requirements}}<br />
** [[Roster:ChangeLog|Change Log]]<br />
** {{MainMenuL|Roster:RoadMap|Road Map}}<br />
** {{MainMenuL|Roster:Install|Install}}<br />
** {{MainMenuL|Roster:FirstUpload|First Upload}}<br />
** {{MainMenuL|Roster:CP|Control Panel}}<br />
** {{MainMenuL|Roster:RosterDiag|Diagnostics}}<br />
** {{MainMenuL|Roster:Menu|Main Menu}}<br />
** {{MainMenuL|Roster:Updating|Updating Guild / Character Data}}<br />
** {{MainMenuL|Roster:Addon|Addons}} ([[AddonSDK|AddOn SDK]])<br />
** [[Roster:FunctionsOverview|Functions Overview]]<br />
** {{MainMenuL|Roster:API|Roster API}}<br />
** {{MainMenuL|Roster:Port|CMS Integration}}<br />
{{#ifeq: {{{2}}}|Port|<br />
*** {{MainMenuL|Roster:Port:WoWRosterDF|WoWRosterDF}}<br />
|}}<br />
|}}<br />
* {{MainMenuL|UniUploader|UniUploader}}<br />
{{#ifeq:{{{1}}}|UniUploader|<br />
** {{MainMenuL|UniUploader:BasicSetup|Basic Setup}}<br />
** {{MainMenuL|UniUploader:Advanced|Advanced Techniques}}<br />
** {{MainMenuL|UniUploader:Distribution|Distribution}}<br />
|}}<br />
* {{MainMenuL|UniAdmin|UniAdmin}}<br />
{{#ifeq:{{{1}}}|UniAdmin|<br />
** {{MainMenuL|UniAdmin:Help|Help}}<br />
|}}<br />
* {{MainMenuL|WoWAddon|WoW Game Addons}}<br />
{{#ifeq:{{{1}}}|WoWAddon|<br />
** {{MainMenuL|WoWRosterProfiler|WoWRosterProfiler}}<br />
** {{MainMenuL|WoWRoster-GP|WoWRoster-GP}}<br />
** {{MainMenuL|PvPLog|PvPLog}}<br />
{{#ifeq: {{{2}}}|PvPLog|<br />
*** [[PvPLog:Changes|Change Log]]<br />
*** [[PvPLog:TODO|TODO]]<br />
|}}<br />
|}}<br />
* {{MainMenuL|SVN|Google Code SVN}}<br />
{{#ifeq:{{{1}}}|SVN|<br />
** {{MainMenuL|SVN:Rules|Rules}}<br />
** {{MainMenuL|SVN:Repositories|Repositories}}<br />
** {{MainMenuL|SVN:TortoiseSVN|TortoiseSVN Help}}<br />
|}}<br />
* {{MainMenuL|MYSQL_Guide|MySQL Guide}}<br />
}}<br />
* [http://www.wowroster.net/the-team.html The WR.net Team]<br />
* [[CodingStandards|Coding Standards]]<br />
* [[Special:Categories|Categories]]<br />
<br />
</div></div><br />
__TOC__<br />
</onlyinclude><br />
<br />
==Syntax==<br />
This is the Main Menu for our wiki<br />
<br />
It uses a template parameter and conditionals to display sub menus<br><br />
The Roster menu is called like so<br />
<pre>{{MainMenu|Roster}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
|}}</pre><br />
This is a conditional that determines if we are printing a sub menu<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|</pre><br />
This means if the first template parameter equals '''Roster''', then display the sub menu<br />
<br />
<pre>|}}</pre><br />
This closes the conditional<br />
<br />
If we want a sub menu in a sub menu, then we use more parameters when calling the template<br />
<pre>{{MainMenu|Roster|Addons}}</pre><br />
'''MainMenu''' is the name of this template<br><br />
'''Roster''' is the first parameter<br><br />
'''Addons''' is the second parameter<br />
<br />
<pre>{{#ifeq:{{{1}}}|Roster|<br />
** [[SomePage|SomePage]]<br />
{{#ifeq:{{{2}}}|Addons|<br />
*** [[AnotherPage|AnotherPage]]<br />
|}}<br />
|}}</pre><br />
<br />
==The Other Locale Duplicate==<br />
To make the menu keep linking to the same language, we copy the menu once and add "/<nowiki>{{SUBPAGENAME}}</nowiki>" to the link<br><br />
This will make the menu link to the pages in the menu, keeping the same locale<br><br />
If the page does not exist for that locale, then it should link to the English version<br />
<br />
The syntax for this is quite complex as we detect if the translated page exists<br><br />
That is why a template is used to enter menu links<br />
<br />
<pre>[[PageName|Page Name Text]]</pre><br />
Becomes<br />
<pre>{{MainMenuL|PageName|Page Name Text}}</pre><br />
<br />
Some links need to stay linked to the English version, such as the Coding Standards, The Team, and the AddOn SDK<br><br />
These page may be changed on every release version of our software or even between versions</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2012-04-02T04:18:15Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/donate|Donate<br />
** http://www.wowroster.net/downloads|Downloads<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
** http://www.wowroster.net/pjirc.php|IRC Chat<br />
<br />
* Preview Roster<br />
** http://roster.wowroster.net|Last Release<br />
** http://beta.wowroster.net|Latest Beta<br />
** http://profiles.wowroster.net|Profiles (Beta)<br />
<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/MediaWiki:SidebarMediaWiki:Sidebar2012-04-02T04:17:35Z<p>Zanix: </p>
<hr />
<div>* WoWRoster<br />
** http://www.wowroster.net|Home<br />
** http://www.wowroster.net/forum.html|Forum<br />
** http://www.wowroster.net/donate|Donate<br />
** http://www.wowroster.net/downloads|Downloads<br />
** Preview Roster<br />
*** http://roster.wowroster.net|Last Release<br />
*** http://beta.wowroster.net|Latest Beta<br />
*** http://profiles.wowroster.net|Profiles (Beta)<br />
** http://www.wowroster.net/pastebin.php|Pastebin<br />
** http://www.wowroster.net/pjirc.php|IRC Chat<br />
* navigation<br />
** mainpage|mainpage-description<br />
** portal-url|portal<br />
** currentevents-url|currentevents<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|help<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>Zanixhttp://www.wowroster.net/MediaWiki/AddonSDKAddonSDK2011-10-17T01:36:39Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster v2.0.0 AddOn Development==<br />
Updated: 18:18, 15 June 2008 (CDT)<br />
<br />
==Changes==<br />
See [[Talk:AddonSDK|Discussion]]<br />
<br />
__TOC__<br />
<br />
==Info and Download==<br />
You can view the open source project at http://www.wowroster.net<br />
<br />
For corrections and/or suggestions - http://www.wowroster.net<br />
<br />
<br />
Thanks to:<br />
http://www.wowroster.com<br /><br />
And Everyone involved in the project.<br />
<br />
<br />
'''Download the [http://www.wowroster.net/downloads/?id=32 Roster AddOnSDK]'''<br><br />
<br />
<br />
<br />
<br />
==Certified WoWRoster AddOn==<br />
[[Image:Certaddon.png|frame|Certified WoWRoster AddOn]]<br />
AddOns that conform to our [[CodingStandards|Coding Standards]] and the basic outline described within this document, will be given a "<span style="color:maroon;">AddOn Framework Standards Compliant</span>" stamp of approval.<br />
<br />
<br />
<br />
===Requirements for Approval===<br />
* Unique locale variables<br />
** Use Roster base locale strings whenever possible<br />
** Don't overwrite existing locale strings<br />
**: Roster has some protection against this, but AddOns can still overwrite other AddOns' strings<br />
* Create AddOns with SQL Debug Output, Debug Mode, and SQL Window enabled in [[Roster:CP|RosterCP]]<br />
** Even though php notices and warnings are suppressed when these are off, it is good practice to enable these options when coding AddOns<br />
* No funky text (such as BOM characters)<br />
*: (ie: strange characters appearing on top of the roster's menu)<br />
* Valid XHTML 1.0 Transitional - http://validator.w3.org<br />
* Proper use of the DB layer - [[Roster:FunctionsOverview#.24roster-.3Edb|$roster->db]]<br />
* Roster main files are not edited<br />
* Roster main database tables are not edited, unless you provide a clean way to revert the data in your uninstall<br />
<br />
<br />
<br />
==Basics of an AddOn==<br />
The following are required to run the WoWRoster back-end and to be able to run any AddOns<br><br />
>[[Roster:Requirements|Roster Requirements]]<<br />
<br />
The AddOn system is designed so that you can mod the roster base without having to change the base code as it could change a lot between versions.<br><br />
Hopefully with this system we will be closer to having a drop-in module system without having to mod a lot of the base files each time.<br />
<br />
We will be constantly refining the system as we go along.<br><br />
So with each new version of Roster, some AddOns may break (not work in the new WoWRoster)<br />
<br />
{{Warning|Important|DO NOT use php short tags in your php files as stated in the [[CodingStandards|WoWRoster Coding Standards]]<br>Use the normal "long tag" as short tags can break page rendering with php "short_tags" set to "Off"<br><br>'''NO!''' <code><?</code><br>'''YES''' <code><?php</code><br>'''NO!''' <code><nowiki><?=$var; ?></nowiki></code><br>'''YES''' <code><nowiki><?php echo $var; ?></nowiki></code>}}<br />
<br />
<br />
<br />
==Changes Since 1.7.3==<br />
* All AddOns need to be installed using an install definition file [[#Creating_the_Installer|inc/install.def.php]].<br />
* During install, database tables, graphical configuration, menu buttons, and update hooks can be registered with the main framework.<br />
* menu.php file is no longer required.<br />
* conf.php is still used because there may be more to initialize than just settings.<br />
** conf.php has been moved to addonname/inc/conf.php<br />
* Several variables, most notably $addonDir, have changed names.<br />
* localization.php is no longer used.<br />
** Locale files are now placed in the addonname/locale/ folder and are named for the locale they define<br />
* Configuration from database is automatically added. Addons are initialized in this order:<br />
** Addon registration record<br />
** Other constants (locations of addon files and the addon base dir)<br />
** Database configuration, if it exists<br />
** Localization files<br />
*** The addon framework uses the $roster->mulitlanguages array to automatically add the default Roster locales<br />
** inc/conf.php file<br />
* The addon is called differently now.<br />
** Details are below.<br />
* Additional lua files for upload can be specified in the update_hook file of each addon<br />
** Add lua file names in the $files array in the update hook class<br />
** The Roster updater automatically parses any uploaded lua files<br />
*** The file names given to the $files array must be lower case<br />
*** The data is available in the $update->uploadData['luafilename'] array<br />
* You do not know the basename at design time.<br />
** Please use the $addon['basename'] variable for this at all times.<br />
* On lua updates, the addon's [[#AddOn_Update_Hook|inc/update_hook.php]] is included once.<br />
** Details for the new update hook structure is below<br />
* Menu buttons are created in the database using installer functions<br />
* New libraries available:<br />
** lib/install.lib.php: AddOn install/upgrade/uninstall class<br />
** lib/config.lib.php: AddOn config class<br />
** lib/roster.php: Roster global class<br />
*** This holds all of roster's config, locale strings, error control, some output variables, and the db layer<br />
** lib/minixml.lib.php: A XML parser and maker<br />
** lib/xmlparse.class.php: A lightweight XML reader, for parsing large XML files<br />
** lib/template.php<br />
*** Template parser based on DragonFly<br />
<br />
<br />
==AddOn Framework==<br />
<br />
===Features===<br />
# Uses output buffering, which means all the output is stored in a variable that is sent to the browser<br />
# Do not have to include Roster's conf.php<br />
# Do not have to include/declare <span style="color:maroon;">$roster</span> object<br />
# Do not have to connect to Roster's database<br />
# Do not have to include your inc/conf.php<br />
# AddOn files: inc/conf.php, [[#CSS_Styles|style.css]], [[#AddOn_Update_Hook|inc/update_hook.php]], and locale files are OPTIONAL!<br />
#: Even additional locale files are optional, enUS.php is the default locale, and is required if you have locale files<br />
<br />
<br />
<br />
===What it does===<br />
# Includes all Roster config variables for you to use (<span style="color:maroon;">$roster</span>->config)<br />
# Includes all Roster SQL functions for your use ([[Roster:FunctionsOverview#.24roster-.3Edb|$roster->db]])<br />
# Includes all Roster and AddOn language variables for you (<span style="color:maroon;">$roster</span>->locale->wordings, <span style="color:maroon;">$roster</span>->locale->act)<br />
# Includes all Roster css styles<br />
# The Roster header, footer, and menu are included to your files.<br />
#: These can be disabled if needed, more below...<br />
<br />
Best of all, this is transparent to you!<br />
<br />
<br />
<br />
===AddOn Directory Structure===<br />
Here is an example of an AddOn's directory structure<br />
<pre>roster/<br />
|_ addons/<br />
|_ addonname/<br />
|_ admin/<br />
| |_ index.php<br />
| |_ other.php<br />
|<br />
|_ char/<br />
| |_ index.php<br />
| |_ other.php<br />
|<br />
|_ guild/<br />
| |_ index.php<br />
| |_ other.php<br />
|<br />
|_ inc/<br />
| |_ conf.php<br />
| |_ functions.php<br />
| |_ install.def.php<br />
| |_ search.inc<br />
| |_ update_hook.php<br />
|<br />
|_ locale/<br />
| |_ deDE.php<br />
| |_ enUS.php<br />
| |_ esES.php<br />
| |_ frFR.php<br />
|<br />
|_ realm/<br />
| |_ index.php<br />
| |_ other.php<br />
|<br />
|_ index.php<br />
|_ somefile.php<br />
|_ style.css<br />
|_ util.php<br />
</pre><br />
<br />
<br />
<br />
====admin Folder====<br />
The admin folder houses files for the Roster CP<br><br />
Normally you'll never need files here because the Config API can handle most configuration needs<br />
<br />
If you do need a custom config interface, this is where you make it<br />
<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=rostercp-addon-addonname-file<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/rostercp/addon/addonname/file.html<br />
{{Note|The 'file' parameter is optional}}<br />
<br />
This will normally grab your AddOn's config data from the 'roster_addon_config' table in the database and display the options using the Config API<br />
<br />
If you need your own file, you need only to place index.php in addons/addonname/admin/<br />
<br />
You can also have the best of both worlds<br><br />
For example, the Members List and Character Info AddOns use both the Config API and custom files<br />
* Members List uses addons/memberslist/admin/update.php to process data for alt relations<br />
*: Normal Link - http://[www.someurl.net]/roster/trunk/?p=rostercp-addon-memberslist-update<br />
*: SEO Link - http://[www.someurl.net]/roster/trunk/rostercp/addon/memberslist/update.html<br />
* Character Info uses addons/info/admin/display.php to control data display for each character<br />
*: Normal Link - http://[www.someurl.net]/roster/trunk/?p=rostercp-addon-info-display<br />
*: SEO Link - http://[www.someurl.net]/roster/trunk/rostercp/addon/info/display.html<br />
<br />
<br />
<br />
====char Folder (character scope)====<br />
Files for use in the Character scope<br><br />
Data for the requested character is passed to the AddOn<br><br />
If a=c:## is not specified or if this member does not exist, an error message will display<br />
<br />
a=c: can be either the member id number, or name@rc-realm text<br />
{{Note|'rc' is the Region Code for US or EU realms}}<br />
<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=char-addonname&a=c:##<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=char-addonname&a=c:name@rc-realm<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/char/addonname/a=c:##.html<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/char/addonname/a=c:name@rc-realm.html<br />
<br />
Accessing other files in the char scope is easy<br><br />
addons/addonname/addonname/char/file.php is accessed like this:<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=char-addonname-file&a=c:##<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/char/addonname/file/a=c:##.html<br />
<br />
<br />
<br />
====guild Folder (guild scope)====<br />
Files for use in the Guild scope<br><br />
Data for the requested guild is passed to the AddOn<br><br />
If a=g: is not specified, the default guild/realm name set in Roster CP will show<br><br />
If the guild does not exist or if there is no data for this guild, an error message will display<br />
<br />
a=g: can be either the guild id number, or name@rc-realm text<br />
<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=guild-addonname&a=g:##<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=guild-addonname&a=g:name@rc-realm<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/guild/addonname/a=g:##.html<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/guild/addonname/a=g:name@rc-realm.html<br />
<br />
Accessing other files in the guild scope is easy<br><br />
addons/addonname/guild/file.php is accessed like this:<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=guild-addonname-file&a=g:##<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/guild/addonname/file/a=g:##.html<br />
<br />
<br />
<br />
====inc Folder====<br />
This folder houses special files not meant for direct access by the AddOn Framework<br />
<br />
* conf.php - This is included before any other addon file, any initialization can be done here<br />
* [[#Creating_the_Installer|install.def.php]] - The AddOn's install/upgrade/uninstall definition file<br />
* [[#Creating_the_Search_Class|search.inc.php]] - Search plug-in for the Roster search page<br />
* [[#AddOn_Update_Hook|update_hook.php]] - Update Hook file<br />
<br />
You can also use this folder for library, class, and/or function files<br />
<br />
Place any files here that you do not or should not be accessed directly by the AddOn Framework<br />
<br />
<br />
<br />
====locale Folder====<br />
Where locale translation files go<br><br />
See below for more info [[#Locale Files|Locale Files]]<br />
<br />
<br />
<br />
====realm Folder (realm scope)====<br />
Files for use in the Realm scope<br><br />
Data for the requested realm is passed to the AddOn<br><br />
If a=r: is not specified, the default realm name set in Roster CP will show<br><br />
If the realm does not exist or if there is no data for this realm, an error message will display<br />
<br />
a=r: can be text<br />
<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=guild-addonname&a=r:rc-name<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/guild/addonname/a=r:rc-name.html<br />
<br />
Accessing other files in the realm scope is easy<br><br />
addons/addonname/realm/file.php is accessed like this:<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=realm-addonname-file&a=r:rc-name<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/realm/addonname/file/a=r:rc-name.html<br />
<br />
<br />
<br />
====The util Scope====<br />
Files not in these folders are considered under the util scope<br><br />
This scope is not restricted if there is no guild or character information and can be accessed before data is in the database<br />
<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=util-addonname<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=util-addonname<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/util/addonname.html<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/util/addonname.html<br />
<br />
Accessing other files in the util scope is easy<br><br />
addons/addonname/file.php is accessed like this:<br />
* Normal Link - http://[www.someurl.net]/roster/trunk/?p=util-addonname-file<br />
* SEO Link - http://[www.someurl.net]/roster/trunk/util/addonname/file.html<br />
<br />
<br />
<br />
====Other Files====<br />
* index.php - The main file for the util scope<br />
* [[#CSS_Styles|style.css]] - A custom css style for the AddOn<br />
<br />
<br />
<br />
===Required Files===<br />
There are a few files that you must have<br />
* [[#Creating_the_Installer|addons/addoname/inc/install.def.php]] (AddOn install/upgrade/uninstall file)<br />
<br />
<br />
<br />
===Linking to AddOns===<br />
You can link to any file in the root AddOn folder<br />
<br />
The url to access each page is simple<br />
* Normal Link - http://[www.someurl.net]/roster/?p=scope-addonname-file<br />
* SEO Link - http://[www.someurl.net]/roster/scope/addonname/file.html<br />
{{Note|"file" is optional}}<br />
<br />
The values explained<br />
* scope - One of five values; realm, guild, char, util<br />
*: Realm (realm) - Page that uses realm information (a=r:rc-name is appended to the url)<br />
*: Guild (guild) - Page that uses guild information (a=g:## or a=g:name@server is appended to the url)<br />
*: Character (char) - Page that uses character information (a=c:## or a=c:name@server must be appended to the url)<br />
*: Utility (util) - Page that doesn't use either, or could use either, most of the Roster pages are utility type pages (rostercp, update, credits, search)<br />
* addonname - The name of the AddOn you are accessing<br />
* file - The file you are accessing<br />
*: If 'file' does not exist, the AddOn Framework defaults the file to index.php<br />
<br />
<br />
<br />
==Creating the Installer==<br />
This installer requires a similar install file definition as DragonFly CMS, with<br />
some important exceptions:<br />
* SQL entries are the same as as passing it to mysql_query() using <span style="color:maroon;">$installer</span>->add_query(<span style="color:maroon;">$sqlstring</span>)<br />
* No rollback data per query. Instead, call <span style="color:maroon;">$installer</span>->add_backup(<span style="color:maroon;">$table_name</span>) for each table you want restored in case of an upgrade/uninstall failure.<br />
*: Any backup tables you create are automatically deleted in rollback.<br />
* Different required variables to be set.<br />
<br />
You should create a file called inc/install.def.php with in it a class that is named identical to your AddOn's install directory name, plus Install.<br />
{{Note|If your AddOn folder name is 'addon', then the install class would be named 'addonInstall'}}<br />
The folder name will be referred to as your AddOn's basename.<br />
<br />
<br />
<br />
===Properties===<br />
* var <span style="color:maroon;">$active</span><br />
*: Boolean, set to true to activate this AddOn after installing, set to false if it has to be configured first.<br />
<br />
* var <span style="color:maroon;">$version</span><br />
*: String, the current version of your AddOn.<br />
*: Needs to be compatible with php's version_compare().<br />
*: Should be incremented on every update. So you know what version someone is running.<br />
<br />
* var <span style="color:maroon;">$icon</span><br />
*: String, an icon to display for your AddOn in the AddOn management page in RosterCP<br />
*: Valid icons are from the Interface ImagePack or images in addons/ADDONNAME/images/<br />
*: To use an Interface icon, specify the image without the extension 'ability_cheapshot'<br />
*: To use and image in your AddOns images/ folder, specify the image with the extension 'icon.png'<br />
*: DO NOT use a full path to the image, just the filename.<br />
<br />
* var <span style="color:maroon;">$fullname</span><br />
*: String, the full name of the AddOn for display.<br />
*: This can either be literal or reference a locale key.<br />
<br />
* var <span style="color:maroon;">$description</span><br />
*: String, a sort description of your AddOn.<br />
*: This can either be literal or reference a locale key.<br />
<br />
* var <span style="color:maroon;">$wrnet_id</span><br />
*: int, the download ID for this addon on WoWRoster.net<br />
*: This is used for update checking via wowroster.net for your addon<br />
*: When your addon is updated in the downloads section, Roster will notify everyone that has your addon installed that a new version is available<br />
*:: For example SigGen is downloaded at http://www.wowroster.net/downloads/?id=20<br />
*::: 20 is SigGen's ID and would be entered here<br />
*::: Roster checks the local addon version to the version field for this addon on wowroster.net<br />
{{Note|The downside to entering this info is that when you first submit your addon to the downloads section, you will not know the ID}}<br />
<br />
* var <span style="color:maroon;">$credits</span><br />
*: Credits information.<br />
<php>$credits = array(<br />
array( "name"=> "Name",<br />
"info"=> "Some Info"),<br />
array( "name"=> "Another Name",<br />
"info"=> "More Info"),<br />
);</php><br />
<br />
<br />
<br />
===AddOn Install Class Methods===<br />
* install()<br />
*: Here you can add all queries for a fresh install.<br />
*: No parameters.<br />
*: Return true on success, false on failure.<br />
<br />
* upgrade(<span style="color:maroon;">$oldversion</span>)<br />
*: Here you can add all queries for an upgrade.<br />
*:: <span style="color:maroon;">$oldversion</span>, the version you are upgrading from.<br />
*: Return true on success, false on failure.<br />
<br />
* uninstall()<br />
*: Here you should add all queries for an uninstall.<br />
*: No parameters.<br />
*: Return true on success, false on failure<br />
<br />
<br />
<br />
===Queries===<br />
Queries are added to the install using the <span style="color:maroon;">$installer</span> methods.<br />
<br />
* <span style="color:maroon;">$installer</span>->create_table(<span style="color:maroon;">$tablename</span>,<span style="color:maroon;">$tabledata</span>);<br />
*: Add a table to the Roster database<br />
*: This is the preferred method for adding a table to the Roster database as it adds the correct charset for you<br />
*: This also adds the table to the drop list for rollback, which is important when an install fails<br />
<br />
* <span style="color:maroon;">$installer</span>->drop_table(<span style="color:maroon;">$tablename</span>);<br />
*: Drop a table from the Roster database<br />
*: This isn't required for dropping a table, but it sure is handy<br />
<br />
* <span style="color:maroon;">$installer</span>->add_query(<span style="color:maroon;">$sqlstring</span>);<br />
*: Any valid SQL query<br />
<br />
* <span style="color:maroon;">$installer</span>->add_backup(<span style="color:maroon;">$table</span>)<br />
*: Makes a temporary copy of a table and its contents that is put back in case of a rollback<br />
<br />
* <span style="color:maroon;">$installer</span>->add_drop(<span style="color:maroon;">$table</span>)<br />
*: Have a table be dropped on rollback<br />
<br />
<br />
===RosterCP API Entries===<br />
These entries can be used to build a config page through Roster's config page API<br />
<br />
* <span style="color:maroon;">$installer</span>->add_config(<span style="color:maroon;">$sqlstring</span>);<br />
*: Add config sql to `roster_addon_config` table<br />
*: Format is "'id','config_name','config_value','form_type','config_type'"<br />
<br />
* <span style="color:maroon;">$installer</span>->update_config(<span style="color:maroon;">$id</span>, <span style="color:maroon;">$sqlstring</span>);<br />
*: Modify an existing config value<br />
*: <span style="color:maroon;">$id</span> is the id of the config value<br />
*: <span style="color:maroon;">$sqlstring</span> is what would be inside <span style="color:green;">"UPDATE `roster_addon_config` SET <span style="color:maroon;">$sqlstring</span> WHERE `config_id` = '<span style="color:maroon;">$id</span>';"</span><br />
* <span style="color:maroon;">$installer</span>->remove_config(<span style="color:maroon;">$id</span>);<br />
*: Remove an existing config value<br />
*: <span style="color:maroon;">$id</span> is the id of the config value<br />
<br />
* <span style="color:maroon;">$installer</span>->remove_all_config();<br />
*: Removes all the config data for the addon<br />
<br />
<br />
<br />
===Creating/Editing Menu Entries===<br />
There are 5 functions for creating, changing, and editing menu entries.<br><br />
Note the menu button titles should be unique per AddOn.<br><br />
Using your basename in the key will work fine.<br />
<br />
* <span style="color:maroon;">$installer</span>->add_menu_pane(<span style="color:maroon;">$name</span>)<br />
*: Adds a menu pane to insert menu entries into<br />
*:: Try to keep this unique to your addon, try using your addon name as part of the name<br />
*:: To label the Panel, add a locale key 'menupanel_PANELNAME'<br />
*:: When adding buttons to a custom pane, Roster ignores the scope and basename parameters of the buttons<br />
*::: Make sure the url is correct when placing buttons in a custom panel<br />
<br />
* <span style="color:maroon;">$installer</span>->remove_menu_pane(<span style="color:maroon;">$name</span>)<br />
*: Removes a menu pane<br />
*:: you cannot remove a roster made pane ('util','realm','guild','char')<br />
<br />
* <span style="color:maroon;">$installer</span>->add_menu_button(<span style="color:maroon;">$title</span>, <span style="color:maroon;">$scope</span>, <span style="color:maroon;">$url</span>, <span style="color:maroon;">$icon</span>)<br />
*: Adds a menu button. Parameters:<br />
*: <span style="color:maroon;">$title</span><br />
*:: The localization key for the menu button's title.<br />
*: <span style="color:maroon;">$scope</span><br />
*:: The scope of the link ('util','realm','guild','char')<br />
*: <span style="color:maroon;">$url</span><br />
*:: The url parameters this button should call the AddOn with<br />
*: <span style="color:maroon;">$icon</span><br />
*:: An icon to display in the button<br />
*:: Valid icons are from the Interface ImagePack or images in addons/ADDONNAME/images/<br />
*:: To use an Interface icon, specify the image without the extension 'ability_cheapshot'<br />
*:: To use and image in your AddOns images/ folder, specify the image with the extension 'icon.png'<br />
*:: DO NOT use a full path to the image, just the filename.<br />
<br />
* <span style="color:maroon;">$installer</span>->update_menu_button(<span style="color:maroon;">$title</span>, <span style="color:maroon;">$scope</span>, <span style="color:maroon;">$url</span>, <span style="color:maroon;">$icon</span>)<br />
*: Changes menu button. Parameters:<br />
*: <span style="color:maroon;">$title</span><br />
*:: The localization key for the menu button's title.<br />
*: <span style="color:maroon;">$scope</span><br />
*:: The scope of the link ('util','realm','guild','char')<br />
*: <span style="color:maroon;">$url</span><br />
*:: The url parameters this button should call the AddOn with<br />
*: <span style="color:maroon;">$icon</span><br />
*:: An icon to display in the button<br />
*:: Valid icons are from the Interface ImagePack or images in addons/ADDONNAME/images/<br />
*:: To use an Interface icon, specify the image without the extension 'ability_cheapshot'<br />
*:: To use and image in your AddOns images/ folder, specify the image with the extension 'icon.png'<br />
*:: DO NOT use a full path to the image, just the filename.<br />
<br />
* <span style="color:maroon;">$installer</span>->remove_menu_button(<span style="color:maroon;">$title</span>)<br />
*: Removes a menu button. Parameters:<br />
*: <span style="color:maroon;">$title</span><br />
*:: The localization key for the menu button's title.<br />
<br />
* <span style="color:maroon;">$installer</span>->remove_all_menu_button()<br />
*: Removes all the menu buttons for the addon.<br />
<br />
<br />
<br />
===Other Installer Methods===<br />
* <span style="color:maroon;">$installer</span>->table(<span style="color:maroon;">$table</span>, <span style="color:maroon;">$backup</span>=<span style="color:blue;">false</span>)<br />
*: Returns a full table name from base table name for the current addon and config profile.<br />
*: If the roster table prefix is 'roster_', and the addon is named 'news', and the table name is 'category'<br />
*:: The table name returned would be 'roster_addons_news_category'<br />
<br />
* <span style="color:maroon;">$installer</span>->seterrors(<span style="color:maroon;">$string</span>)<br />
*: Set an error message to be displayed.<br />
<br />
* <span style="color:maroon;">$installer</span>->setmessages(<span style="color:maroon;">$string</span>)<br />
*: Set a message to be displayed.<br />
<br />
<br />
<br />
===Example File===<br />
Here is an example of an AddOn install file<br><br />
This shows most of the methods that can be used in an installer<br />
<br />
You can find more examples in the addons/ folder in roster<br />
<php><?php<br />
/**<br />
* WoWRoster.net WoWRoster<br />
*<br />
* LICENSE: Licensed under the Creative Commons<br />
* "Attribution-NonCommercial-ShareAlike 2.5" license<br />
*<br />
* @copyright 2002-2007 WoWRoster.net<br />
* @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"<br />
* @version SVN: $Id: install.def.php 897 2007-05-06 00:35:11Z Zanix $<br />
* @link http://www.wowroster.net<br />
* @package SomeAddon<br />
* @subpackage Installer<br />
*/<br />
<br />
if ( !defined('IN_ROSTER') )<br />
{<br />
exit('Detected invalid access to this file!');<br />
}<br />
<br />
/**<br />
* Installer SomeAddon<br />
*<br />
* @package InstanceKeys<br />
* @subpackage Installer<br />
*/<br />
class SomeAddonInstall<br />
{<br />
var $active = true;<br />
var $icon = 'inv_misc_key_06';<br />
<br />
var $version = '2.0.0.0';<br />
var $wrnet_id = 0;<br />
<br />
var $fullname = 'some_addon';<br />
var $description = 'some_addon_desc';<br />
var $credits = array(<br />
array( "name"=> "WoWRoster Dev Team",<br />
"info"=> "Original Author")<br />
);<br />
<br />
<br />
/**<br />
* Install Function<br />
*<br />
* @return bool<br />
*/<br />
function install()<br />
{<br />
global $installer;<br />
<br />
// Master and menu entries<br />
$installer->add_config("'1','startpage','keys_conf','display','master'");<br />
$installer->add_config("'110','some_addon_conf',NULL,'blockframe','menu'");<br />
<br />
$installer->add_config("'1010','colorcmp','#00ff00','color','some_addon_conf'");<br />
$installer->add_config("'1020','colorcur','#ffd700','color','some_addon_conf'");<br />
$installer->add_config("'1030','colorno','#ff0000','color','some_addon_conf'");<br />
<br />
$installer->add_menu_button('some_addon','guild','','spell_holy_prayerofspirit');<br />
$installer->add_menu_button('some_addon','guild','log','inv_misc_symbolofkings_01');<br />
<br />
$installer->create_table($installer->table('some_table'),"<br />
`member_id` int(11) unsigned NOT NULL default '0',<br />
`row_id` int(11) unsigned NOT NULL default '0',<br />
`type` tinyint(3) unsigned NOT NULL default '0',<br />
PRIMARY KEY (`member_id`)");<br />
<br />
return true;<br />
}<br />
<br />
/**<br />
* Upgrade Function<br />
*<br />
* @param string $oldversion<br />
* @return bool<br />
*/<br />
function upgrade($oldversion)<br />
{<br />
global $installer;<br />
<br />
if( version_compare('2.0.0.0', $oldversion,'>') == true )<br />
{<br />
// Upgrade versions lower than 2.0.0.0<br />
}<br />
<br />
if( version_compare('2.0.6.4', $oldversion,'>') == true )<br />
{<br />
// Upgrade versions lower than 2.0.6.4<br />
}<br />
<br />
if( version_compare('3.0.0.0', $oldversion,'>') == true )<br />
{<br />
// Upgrade versions lower than 3.0.0.0<br />
}<br />
<br />
return true;<br />
}<br />
<br />
/**<br />
* Un-Install Function<br />
*<br />
* @return bool<br />
*/<br />
function uninstall()<br />
{<br />
global $installer;<br />
<br />
$installer->remove_all_config();<br />
<br />
$installer->drop_table($installer->table('some_table'));<br />
<br />
$installer->remove_all_menu_button();<br />
return true;<br />
}<br />
}</php><br />
<br />
<br />
<br />
==Creating the Search Class==<br />
Get customizable search results on the Roster search page for your AddOn<br><br />
AddOn search classes are basically just SQL statements with some added functionality for the Search Framework<br><br />
The search class can search by using SQL and process the data in a readable format for display<br><br />
The search framework handles pagination, display, and basic form generation (each AddOn can specify additional form fields for its search)<br />
<br />
<br />
===Addon Class===<br />
Each AddOn utilizes a hook file /inc/search.inc.php to include a customized search for that AddOn<br />
<br />
<br />
====Properties====<br />
* var <span style="color:maroon;">$options</span><br />
*: array - Used to to add advanced options to the search page<br />
<br />
* var <span style="color:maroon;">$result</span><br />
*: array - Search array<br />
<br />
* var <span style="color:maroon;">$result_count</span><br />
*: int - Counter for results display<br />
<br />
* var <span style="color:maroon;">$start_search</span><br />
*: int - Time search starts<br />
<br />
* var <span style="color:maroon;">$stop_search</span><br />
*: int - Time search stops<br />
<br />
* var <span style="color:maroon;">$time_search</span><br />
*: int - Time spent on search<br />
<br />
* var <span style="color:maroon;">$open_table</span><br />
*: string - Insert a custom header in the search results<br />
<br />
* var <span style="color:maroon;">$close_table</span><br />
*: string - Insert a custom footer in the search results<br />
<br />
* var <span style="color:maroon;">$search_url</span><br />
*: string - Additional data to insert into the prev/next url links<br />
<br />
* var <span style="color:maroon;">$data</span><br />
*: array - An array that holds all of the addons data, including config<br />
*: The search framework automatically populates this property<br />
<br />
<br />
====Methods====<br />
=====Constructor=====<br />
Used to set up data needed for your search class<br />
<br />
Use this to populate $this->open_table, $this->close_table, and/or $this->options<br />
<br />
=====search=====<br />
search( $search , $limit=10 , $page=0 )<br><br />
The meat and potatoes of your search class<br><br />
Perform the SQL and process any returned data in this class method<br />
<br />
=====add_result=====<br />
add_result( $resultarray )<br><br />
Required function for any search hook used to add result data to the search framework<br />
<br />
<br />
====Return Data====<br />
This data is returned to the search framework after your search hook is done processing data<br><br />
This data must be passed to $this->add_result($item); to show up on the search results page<br />
<br />
* var <span style="color:maroon;">$item</span>['results_header']<br />
*: string - Adds a header before the result row (outside the <tr>) within that addon search<br />
<br />
* var <span style="color:maroon;">$item</span>['results_footer']<br />
*: string - Adds a footer after the result row (outside the </tr>) within that addon search<br />
<br />
* var <span style="color:maroon;">$item</span>['html']<br />
*: string - Allows you to display your own formated HTML code which overrides any predefined search display<br />
<br />
<br />
{{Note|The following variables are only displayed when $item['html'] is <u>not</u> set}}<br />
* var <span style="color:maroon;">$item</span>['header']<br />
*: Adds a header before the result cell (inside the <tr><td>) within that addon search<br />
<br />
* var <span style="color:maroon;">$item</span>['author']<br />
*: string - Used to display the author of a post/update/upload<br />
<br />
* var <span style="color:maroon;">$item</span>['date']<br />
*: string - var that will print the date<br />
<br />
* var <span style="color:maroon;">$item</span>['url']<br />
*: string - Variable used to create a makelink() to the results addons home page<br />
<br />
* var <span style="color:maroon;">$item</span>['title']<br />
*: string - Displays the title of the addon<br />
<br />
* var <span style="color:maroon;">$item</span>['short_text']<br />
*: string - Short description of the result<br />
<br />
* var <span style="color:maroon;">$item</span>['more_text']<br />
*: string - Secondary link per result<br />
<br />
* var <span style="color:maroon;">$item</span>['footer']<br />
*: Adds a footer after the result cell (inside the </td></tr>) within that addon search<br />
<br />
<br />
===Search Framework Variables===<br />
* var <span style="color:maroon;">$page</span><br />
*: int - Counter for page number<br />
<br />
* var <span style="color:maroon;">$limit</span><br />
*: int - Counter for the number of results that can be displayed per page<br />
<br />
* var <span style="color:maroon;">$query</span><br />
*: string - Search string passed<br />
<br />
* var <span style="color:maroon;">$url_query</span><br />
*: string - Urlencoded $query<br />
<br />
<br />
===Example File===<br />
Here is an example of an AddOn search.inc file<br><br />
From the "News" AddOn<br />
<br />
You can find more examples in other AddOns such as memberslist or news<br />
<php><?php<br />
/**<br />
* WoWRoster.net WoWRoster<br />
*<br />
* LICENSE: Licensed under the Creative Commons<br />
* "Attribution-NonCommercial-ShareAlike 2.5" license<br />
*<br />
* @copyright 2002-2007 WoWRoster.net<br />
* @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"<br />
* @version SVN: $Id: search.inc.php 1664 2008-02-14 04:24:52Z Zanix $<br />
* @link http://www.wowroster.net<br />
* @package News<br />
* @subpackage Search<br />
*/<br />
<br />
if( !defined('IN_ROSTER') )<br />
{<br />
exit('Detected invalid access to this file!');<br />
}<br />
<br />
/**<br />
* News Search<br />
*<br />
* @package News<br />
* @subpackage Search<br />
*/<br />
class newsSearch<br />
{<br />
var $options;<br />
var $result = array();<br />
var $result_count = 0;<br />
var $start_search;<br />
var $stop_search;<br />
var $time_search;<br />
var $open_table;<br />
var $close_table;<br />
var $search_url;<br />
var $data = array(); // Addon data<br />
<br />
function search( $search , $limit=10 , $page=0 )<br />
{<br />
global $roster;<br />
<br />
$first = $page*$limit;<br />
<br />
$sql = "SELECT `news`.`news_id`, `news`.`author`, `news`.`title`, `news`.`content`, `news`.`html`, "<br />
. "DATE_FORMAT( DATE_ADD(`news`.`date`, INTERVAL " . $roster->config['localtimeoffset'] . " HOUR ), '" . $roster->locale->act['timeformat'] . "' ) AS 'date_format', "<br />
. "COUNT(`comments`.`comment_id`) comm_count "<br />
. "FROM `" . $roster->db->table('news','news') . "` news "<br />
. "LEFT JOIN `" . $roster->db->table('comments','news') . "` comments USING (`news_id`) "<br />
. "WHERE `news`.`news_id` LIKE '%$search%' "<br />
. "OR `news`.`author` LIKE '%$search%' "<br />
. "OR `news`.`date` LIKE '%$search%' "<br />
. "OR `news`.`title` LIKE '%$search%' "<br />
. "OR `news`.`content` LIKE '%$search%' "<br />
. "GROUP BY `news`.`news_id` "<br />
. ( $limit > 0 ? " LIMIT $first," . $limit : '' ) . ';';<br />
<br />
//calculating the search time<br />
$this->start_search = format_microtime();<br />
<br />
$result = $roster->db->query($sql);<br />
<br />
$this->stop_search = format_microtime();<br />
$this->time_search = $this->stop_search - $this->start_search;<br />
<br />
$nrows = $roster->db->num_rows($result);<br />
<br />
$x = ($limit > $nrows) ? $nrows : ($limit > 0 ? $limit : $nrows);<br />
if( $nrows > 0 )<br />
{<br />
while( $x > 0 )<br />
{<br />
list($news_id, $author, $title, $content, $html, $date, $comments) = $roster->db->fetch($result);<br />
<br />
$item['author'] = $author;<br />
$item['date'] = $date;<br />
$item['title'] = $title;<br />
$item['url'] = makelink('util-news-comment&amp;id=' . $news_id);<br />
<br />
if( $html == '1' && $this->data['config']['news_html'] >= 0 )<br />
{<br />
$content = $content;<br />
}<br />
else<br />
{<br />
$content = htmlentities($content);<br />
}<br />
$content = nl2br($content);<br />
<br />
$array = explode(' ',$content,101);<br />
if( isset($array[100]) )<br />
{<br />
unset($array[100]);<br />
$item['more_text'] = true;<br />
}<br />
else<br />
{<br />
$item['more_text'] = false;<br />
}<br />
$item['short_text'] = implode(' ',$array);<br />
<br />
$item['footer'] = ($comments == 0 ? 'No' : $comments) . ' comment' . ($comments == 1 ? '' : 's');<br />
<br />
$this->add_result($item);<br />
unset($item);<br />
$x--;<br />
}<br />
}<br />
$roster->db->free_result($result);<br />
}<br />
<br />
function add_result( $resultarray )<br />
{<br />
$this->result[$this->result_count++] = $resultarray;<br />
}<br />
}</php><br />
<br />
<br />
==Roster Config API==<br />
This is the current functionality of the Roster Config API.<br><br />
There are two classes of form types:<br />
* Option blocks for layout<br />
* Actual options<br />
Items of the page, pageframe, and pagehide class contain option blocks.<br><br />
Items of the blockframe or blockhide class contain options.<br />
<br />
<br />
<br />
===Menu Bar Items===<br />
* display:<br />
*: Sets the first page that will be displayed when you first select the addon for configuration.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'1','startpage','config_name','display','master'")<br />
<br />
* page, pageframe, pagehide, blockframe, blockhide:<br />
*: A page of options that gets selected with javascript<br />
*: <span style="color:maroon;">$installer</span>->add_config("'110','config_name',NULL,'blockframe','menu'")<br />
*: <span style="color:maroon;">$installer</span>->add_config("'150', 'config_name2', NULL, 'page{1', 'menu'")<br />
<br />
* link<br />
*: An external link to be opened in the same window<br />
*: <span style="color:maroon;">$installer</span>->add_config("120,'config_name','link_value','link','menu'")<br />
<br />
* newlink<br />
*: An external link to be opened in a new window<br />
*: <span style="color:maroon;">$installer</span>->add_config("170,'config_name','<nowiki>http://www.someurl.com</nowiki>','newlink','menu'")<br />
<br />
* makelink<br />
*: Passes this through Roster's [[Roster:FunctionsOverview#makelink|makelink()]] function to generate a correct link to another page in Roster.<br />
*: <span style="color:maroon;">$installer</span>->add_config("120,'config_name','link_value','makelink','menu'")<br />
<br />
* makenewlink<br />
*: Same as [[Roster:FunctionsOverview#makelink|makelink()]], except it opens a new browser window.<br />
*: <span style="color:maroon;">$installer</span>->add_config("180,'config_name','link_value','makenewlink','menu'")<br />
<br />
==== Usage ====<br />
In most cases the config_name is a reference to an entry in your locale file. Each entry you make needs to have a unique config name. The entry in the locale file needs to contain at least the prompt text, but can also contain hover help text by seperating them with a vertical bar '|'.<br />
<br />
===Options Blocks===<br />
* page{n<br />
*: n columns of options blocks<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4001', 'menu_conf_wide', NULL, 'page{2', 'menu_conf'")<br />
<br />
* pageframe{n<br />
*: n columns of options blocks in a border<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4025', 'menu_conf_left', NULL, 'pageframe{3', 'menu_conf'")<br />
<br />
* pagehide{n<br />
*: n columns of options blocks in a border, with a show/hide option<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4020', 'menu_conf_hidden', NULL, 'pagehide{1', 'menu_conf'")<br />
<br />
* blockframe<br />
*: A list of options in a border<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4000, 'menu_conf_top', NULL, 'blockframe', 'menu_conf'")<br />
<br />
* blockhide<br />
*: A list of options in a border, with a show/hide option<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4050, 'menu_conf_bottom', NULL, 'blockhide', 'menu_conf'")<br />
<br />
* function{name<br />
*: Calls the function called name with no parameters to produce the HTML for the page.<br />
*: If this is a tab (directly linked from the switch menu on the left side) it is put outside the main form so you can put forms in it.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4470', 'menu_conf_right', NULL, 'function{newForm', 'menu_conf_top'")<br />
<br />
<br />
<br />
===Options===<br />
* text{n|m<br />
*: A text box m characters wide, maximum of n characters input<br />
*: <span style="color:maroon;">$installer</span>->add_config("'1110','page_size','0','text{4|30','menu_conf_top'")<br />
<br />
* radio{op1^val1|op2^val2|op3^val3...<br />
*: A list of radio buttons with labels op1, op2, op3,...<br />
*: Which produce values val1, val2, val3,...<br />
*: Labels are literal, not localization keys.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'1010','nojs','0','radio{Server^1|Client^0','menu_conf_top'")<br />
<br />
* select{op1^val1|op2^val2|op3^val3...<br />
*: A dropdown box with options op1, op2, op3,...<br />
*: Which produce values val1, val2, val3,...<br />
*: Labels are literal, not localization keys.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'1020','def_sort','Note','select{Public Note^Note|Officer Note^OfficerNote','menu_conf_top'")<br />
<br />
* function{name<br />
*: Calls the function called name with the option record as parameter to produce the HTML for the option.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4270', 'left_text', 'VERANDA.TTF', 'function{fontFiles', 'menu_conf_top'")<br />
<br />
* display<br />
*: Displays the option's setting.<br />
*: <span style="color:maroon;">$installer</span>->add_config("'3, 'help_text', 'This is to help', 'display', 'menu_conf_top'")<br />
<br />
* color<br />
*: Enables the use of the color picker javascript to pick a color from a pallet<br />
*: <span style="color:maroon;">$installer</span>->add_config("'4230', 'menu_left_barcolor', '#3e0000', 'color', 'menu_conf_top'")<br />
<br />
<br />
<br />
===AddOn Config Function File===<br />
addons/addonname/admin/config.func.php<br />
*: Both function types call functions that can be defined in a file called 'config.func.php' in your AddOn's admin/ directory.<br />
*: If this file has a function named topBox(), the html returned by this function will be put above the options in the middle column.<br />
<br />
<br />
<br />
==Locale Files==<br />
These are used in translating any text in your AddOn if you want to support multi-langages.<br><br />
As you can see in the example below, we have a file for deDE which is the German language, enUS which is the English language, frFR for French, and esES for Spanish.<br />
<br />
Roster currently supports deDE, enUS, frFR, and esES, these are taken out of character profiler based on what region of WOW they are using.<br />
<br />
The folder structure for locale files is as follows:<br />
<pre>roster/<br />
|_ addons/<br />
|_ addonname/<br />
|_ locale/<br />
|_ deDE.php<br />
|_ enUS.php<br />
|_ esES.php<br />
|_ frFR.php</pre><br />
When using locale files, it is absolutely necessary to ALWAYS have enUS.php<br><br />
The AddOn Framework will default to this file if a locale is not found for a specific locale<br />
<br />
Example:<br />
* You make an AddOn and only create it in English (enUS.php only, no other locale files)<br />
* Someone downloads your AddOn for a deDE Roster<br />
* The AddOn Framework automatically inserts the enUS locale strings into the deDE locale<br />
* This way, you only need to have enUS.php<br />
* Later, if other locales are translated, they can be placed into the locale folder and Roster will detect them based on the locales set in localization/languages.php<br />
<br />
<br />
<br />
===Using Locale Strings===<br />
When using these them in your script you can use something similar to this<br />
<php>$header_title = $roster->locale->wordings['locale_key']['some_key'];</php><br />
or<br />
<php>$header_title = $roster->locale->act['some_key'];</php><br />
The first example is to get a specific locale value<br><br />
The second is a reference to the current locale set in Roster<br />
<br />
Remember that Roster's locale files are already added, so you only have to add the stuff that is custom to your AddOn.<br />
<br />
So if you need to check to make sure we have don't already have a translation, you can open the files in the "localization/" directory to see the default words that you don't have to duplicate.<br />
<br />
Duplication may cause errors in the main Roster code, if you duplicate a main Roster locale variable, you will incur the wrath of the WoWRoster.net Dev Team<br />
<br />
<br />
<br />
===Example File===<br />
Example from the MembersList Roster AddOn<br><br />
addons/memberslist/locale/deDE.php<br />
{{Note|This is only part of the file}}<br />
<php><?php<br />
/**<br />
* WoWRoster.net WoWRoster<br />
*<br />
* LICENSE: Licensed under the Creative Commons<br />
* "Attribution-NonCommercial-ShareAlike 2.5" license<br />
*<br />
* @copyright 2002-2007 WoWRoster.net<br />
* @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"<br />
* @version SVN: $Id: deDE.php 1523 2007-12-13 12:24:31Z pleegwat $<br />
* @link http://www.wowroster.net<br />
* @package MembersList<br />
* @subpackage Locale<br />
*/<br />
<br />
// -[ deDE Localization ]-<br />
<br />
// Installer names<br />
$lang['memberslist'] = 'Mitgliederliste';<br />
$lang['memberslist_desc'] = 'Eine sortier- und filterbare Mitgliederliste';<br />
<br />
// Button names<br />
$lang['memberslist_Members'] = 'Mitglieder|Zeigt die Gildenmitgliederliste mit Spielernotizen, Zuletzt online, usw... an';<br />
$lang['memberslist_Stats'] = 'Grundwerte|Zeigt die Grundwerte jedes Gildenmitglieds wie Intelligenz, Ausdauer, usw... an';<br />
$lang['memberslist_Honor'] = 'Ehre|Zeigt die PvP-Informationen jedes Gildenmitglieds an';<br />
$lang['memberslist_Log'] = 'Mitglieder Log|Zeigt das upload log für neue und entfernte Mitglieder an';<br />
$lang['memberslist_Realm'] = 'Mitglieder|Zeigt die Mitgliederliste für alle Gilden auf allen Servern an';<br />
$lang['memberslist_RealmGuild'] = 'Gilden|Zeigt eine Liste für alle Gilden auf allen Realms an';<br />
<br />
// Interface wordings<br />
$lang['memberssortfilter'] = 'Sortierreihenfolge und Filterung';<br />
$lang['memberssort'] = 'Sortierung';<br />
$lang['memberscolshow'] = 'Zeige/Verstecke Spalten';<br />
$lang['membersfilter'] = 'Zeilenfilter';<br />
<br />
$lang['openall'] = 'Öffne alle';<br />
$lang['closeall'] = 'Schließe alle';<br />
$lang['ungroupalts'] = 'Twinkgruppen auflösen';<br />
$lang['openalts'] = 'Gruppiere Twinks (Open)';<br />
$lang['closealts'] = 'Gruppiere Twinks (Closed)';<br />
$lang['clientsort'] = 'Clientsortierung';<br />
$lang['serversort'] = 'Serversortierung';<br />
<br />
// Column headers<br />
$lang['onote'] = 'Offizier Notiz';<br />
<br />
$lang['honorpoints'] = 'Ehrenpunkte';<br />
$lang['arenapoints'] = 'Arenapunkte';<br />
<br />
$lang['main_name'] = 'Hauptcharaktername';<br />
$lang['alt_type'] = 'Alt type';<br />
<br />
$lang['xp_to_go'] = '%1$s XP until level %2$s';<br />
<br />
$lang['skill_level'] = 'Skill level';<br />
<br />
// Last Online words<br />
$lang['online_at_update'] = 'Online bei Update';<br />
$lang['second'] = 'vor %s Sekunde';<br />
$lang['seconds'] = 'vor %s Sekunden';<br />
$lang['minute'] = 'vor %s Minute';<br />
$lang['minutes'] = 'vor %s Minuten';<br />
$lang['hour'] = 'vor %s Stunde';<br />
$lang['hours'] = 'vor %s Stunden';<br />
$lang['day'] = 'vor %s Tag';<br />
$lang['days'] = 'vor %s Tagen';<br />
$lang['week'] = 'vor %s Woche';<br />
$lang['weeks'] = 'vor %s Wochen';<br />
$lang['month'] = 'vor %s Monat';<br />
$lang['months'] = 'vor %s Monaten';<br />
$lang['year'] = 'vor %s Jahr';<br />
$lang['years'] = 'vor %s Jahren';<br />
<br />
$lang['armor_tooltip'] = 'Verringert den erlittenen körperlichen Schaden um %1$s%%';<br />
<br />
$lang['motd'] = 'MOTD';<br />
$lang['accounts'] = 'Accounts';<br />
<br />
// Configuration<br />
$lang['memberslist_config'] = 'Gehe zur Mitgliederliste-Konfiguration';<br />
$lang['memberslist_config_page']= 'Mitgliederliste-Konfiguration';<br />
$lang['documentation'] = 'Dokumentation';<br />
$lang['uninstall'] = 'Uninstall';<br />
<br />
// Page names<br />
$lang['admin']['display'] = 'Anzeige|Konfiguriert die Anzeigeoptionen für die Mitgliederliste.';<br />
$lang['admin']['members'] = 'Mitgliederliste|Konfiguriert die Sichtbarkeit der Mitgliederliste-Spalten.';<br />
$lang['admin']['stats'] = 'Werteliste|Konfiguriert die Sichtbarkeit der Grundwerte-Spalten.';<br />
$lang['admin']['honor'] = 'Ehrenliste|Konfiguriert die Sichtbarkeit der Ehrenliste-Spalten.';<br />
$lang['admin']['log'] = 'Mitglieder Log|Konfiguriert die Sichtbarkeit der Mitglieder Log-Spalten.';<br />
$lang['admin']['build'] = 'Hauptchar/Twink Beziehungen|Konfiguriert wie Hauptchars/Twinks erkannt werden.';<br />
$lang['admin']['ml_wiki'] = 'Dokumentation|Mitgliederliste Dokumentation auf WoWRoster wiki.';<br />
$lang['admin']['updMainAlt'] = 'Aktualisiere Beziehungen|Aktualisiert die Main/Alt Beziehungen der Daten, die bereits in der DB gespeichert sind.';<br />
$lang['admin']['page_size'] = 'Seitengröße|Konfiguriert die Anzahl der Zeilen Pro Seite oder 0 für keinen Seitenumbruch';</php><br />
<br />
<br />
<br />
==CSS Styles==<br />
CSS style from the MembersList AddOn<br><br />
addons/memberslist/style.css<br />
<css>/**<br />
* WoWRoster.net WoWRoster<br />
*<br />
* LICENSE: Licensed under the Creative Commons<br />
* "Attribution-NonCommercial-ShareAlike 2.5" license<br />
*<br />
* @copyright 2002-2007 WoWRoster.net<br />
* @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"<br />
* @version SVN: $Id: style.css 942 2007-05-20 04:50:02Z Zanix $<br />
* @link http://www.wowroster.net<br />
* @package MembersList<br />
*/<br />
<br />
.membersRowColor1 {<br />
background-color:#1F1E1D;<br />
}<br />
<br />
.membersRowColor2 {<br />
background-color:#2E2D2B;<br />
}<br />
<br />
.membersRowAltColor1 {<br />
background-color:#1F1E3D;<br />
}<br />
<br />
.membersRowAltColor2 {<br />
background-color:#2E2D4B;<br />
}</css><br />
<br />
I assume you know what css is...<br />
<br />
<br />
<br />
==Template Parser==<br />
Available to AddOns is the template parser which enables making the layout of your AddOn easier and easier to edit.<br><br />
Roster automatically includes the template parser on initialization.<br />
<br />
The templates have {CONTAINERS} for the information from php. This {INFO} is replaced by the output of the php code.<br><br />
This means you have full control of where these containers are displayed or whether they are at all.<br />
<br />
Currently the only AddOn in the Roster core that uses templates is "News".<br><br />
All examples below are from the "News" AddOn.<br />
<br />
<br />
===Getting Started===<br />
Create a folder in roster/templates/default/ with your AddOn's basename<br><br />
Or create a templates/ folder in your addon folder<br><br />
This folder will hold all the templates for your AddOn<br />
<br />
<br />
===The PHP Side===<br />
In your php files, we will be calling the <span style="color:maroon;">$roster</span>->tpl object to insert data into your template<br />
<php>// Assign template vars<br />
$roster->tpl->assign_vars(array(<br />
'L_POSTEDBY' => $roster->locale->act['posted_by'],<br />
'L_EDIT' => $roster->locale->act['edit'],<br />
'L_ADD_NEWS' => $roster->locale->act['add_news'],<br />
<br />
'U_ADD_NEWS' => makelink('util-news-add'),<br />
'S_ADD_NEWS' => true,<br />
)<br />
);</php><br />
or<br />
<php>$roster->tpl->assign_var('VAR_NAME','value');</php><br />
What happens here is that we are making and setting template variables.<br><br />
Notice how the variables in available to the template are much simpler than the php variables<br><br />
'L_POSTEDBY' as opposed to <span style="color:maroon;">$roster</span>->locale->act['posted_by']<br />
<br />
<br />
This all all fine and good for variables, but what if you want a repeating section?<br><br />
This is quite easy actually.<br />
<br />
Here we will be reading from the database and creating a template block variable<br />
<php>while( $news = $roster->db->fetch($result) )<br />
{<br />
$roster->tpl->assign_block_vars('news_row', array(<br />
'TITLE' => $news['title'],<br />
'ID' => $news['news_id'],<br />
'CONTENT' => $news['content'],<br />
'COMMENT_COUNT' => $news['comm_count'],<br />
'AUTHOR' => $news['author'],<br />
'DATE' => $news['date_format'],<br />
<br />
'U_BORDER_S' => border('sorange','start',$news['title'],'60%'),<br />
'U_BORDER_E' => border('sorange','end'),<br />
'U_COMMENT' => makelink('util-news-comment&amp;id=' . $news['news_id']),<br />
'U_EDIT' => makelink('util-news-edit&amp;id=' . $news['news_id']),<br />
<br />
'L_COMMENT' => ($news['comm_count'] != 1 ?<br />
sprintf($roster->locale->act['n_comments'],$news['comm_count']) :<br />
sprintf($roster->locale->act['n_comment'],$news['comm_count'])),<br />
)<br />
);<br />
}</php><br />
This is very useful for tables with repeating rows.<br />
<br />
Now we want to select the template we want to display.<br />
<php>$roster->tpl->set_filenames(array('body' => $addon['basename'] . '/news.html'));<br />
$roster->tpl->display('body');</php><br />
What happens here is we are assigning a 'handle' to a template file<br><br />
Then we use that handle to display and output the template<br />
<br />
You can assign multiple templates, then display them<br />
<php>$roster->tpl->set_filenames(array(<br />
'newshead' => $addon['basename'] . '/news_head.html',<br />
'body' => $addon['basename'] . '/news.html',<br />
'newsfooter' => $addon['basename'] . '/news_head.html'<br />
)<br />
);<br />
$roster->tpl->display('newshead');<br />
$roster->tpl->display('body');<br />
$roster->tpl->display('newsfooter ');</php><br />
Or in the template file, you can include a template file<br />
<br />
<pre><!-- INCLUDE news/news_head.html --></pre><br />
(This is an html comment that the parser picks up, then includes this template)<br />
<br />
<br />
===The Template Side===<br />
Now we are ready to make the template<br><br />
This example is from the "News" AddOn<br />
<br />
roster/templates/default/news/news.html<br><br />
or<br><br />
roster/addons/news/templates/news.html<br />
<pre><!-- INCLUDE news/news_head.html --><br />
<br />
<!-- BEGIN news_row --><br />
<br />
{news_row.U_BORDER_S}<br />
<br />
{news_row.CONTENT}<br />
<hr /><br />
<div style="text-align:left;"><br />
<span style="float:right;"><br />
<a href="{news_row.U_COMMENT}">{news_row.L_COMMENT}</a> | <a href="{news_row.U_EDIT}">{L_EDIT}</a></span><br />
{L_POSTEDBY}: {news_row.AUTHOR} - {news_row.DATE}<br />
</div><br />
<br />
{news_row.U_BORDER_E}<br />
<br /><br />
<!-- END news_row --><br />
<br />
<!-- IF S_ADD_NEWS --><!-- INCLUDE news/news_foot.html --><!-- ENDIF --></pre><br />
See how all the variables are here, but wrapped in braces? { }<br><br />
These are the variables you assigned in the php file<br />
<br />
Notice the 'BEGIN news_row'?<br><br />
This is the beginning of our repeating section<br />
<br />
<php> $roster->tpl->assign_block_vars('news_row', array(<br />
'TITLE' => $news['title'],<br />
'ID' => $news['news_id'],</php><br />
The variables 'TITLE' and 'ID' are available in this loop by appending the loop name 'news_row' and a period to the variable<br />
<pre> <a href="{news_row.U_COMMENT}">{news_row.L_COMMENT}</a> | <a href="{news_row.U_EDIT}">{L_EDIT}</a></span></pre><br />
<br />
We will try to add more about templates, if anyone finds a good resource for phpbb, eqdkp, or DF templates, let us know...<br />
<br />
<br />
==AddOn Update Hook==<br />
The update hook is a file that ties into the lua upload process<br><br />
You can specify any additional lua files you may you need<br />
<br />
There are a few hook modes that an AddOn can make use of<br />
* update<br />
** This mode does not hook into the CharacterProfiler upload process and is a good way to parse and process data from lua files other than CharacterProfiler<br />
* char_pre<br />
** This mode is fired once per realm before any character is processed<br />
* char<br />
** This mode fires for every character that is processed<br />
* char_post<br />
** This mode is fired once per realm after every character is processed<br />
* guild_pre<br />
** This mode is fired for each guild processed before any guild members are processed<br />
* guild<br />
** This mode is fired for each guild member processed<br />
* guild_post<br />
** This mode is fired for each guild processed after guild members are processed<br />
<br />
<br />
<br />
===Properties===<br />
The following variables are required in the update hook class<br />
<br />
* var <span style="color:maroon;">$messages</span><br />
*: String, any messages or output.<br />
<br />
* var <span style="color:maroon;">$data</span><br />
*: Array, Addon data object, recieved in constructor.<br />
*: This holds the addon's data from the database<br />
<br />
* var <span style="color:maroon;">$files</span><br />
*: array, An array of additional lua files that your addon needs.<br />
*: If you are using CharacterProfiler for data, there is no need to list it here.<br />
<br />
<br />
<br />
===Methods===<br />
* addonUpdate()<br />
*: The constructor for the update hook<br />
*: This is the only required method in an update hook class<br />
*: The addons data is passed to this function, you should set the passed data to an internal property variable<br />
<php> function addonUpdate($data)<br />
{<br />
$this->data = $data;<br />
}</php><br />
<br />
The following methods are reserved for update hooks<br><br />
Descriptions for these methods are above and are not required<br />
<br />
These function fairly simmilar<br />
* update()<br />
* char_pre(<span style="color:maroon;">$characters</span>)<br />
** <span style="color:maroon;">$characters</span> - Array: All characters and their data in CharacterProfiler.lua<br />
* char(<span style="color:maroon;">$char</span>, <span style="color:maroon;">$memberid</span>)<br />
** <span style="color:maroon;">$char</span> - Array: Character data array for the current processed character<br />
** <span style="color:maroon;">$memberid</span> - Int: Member id from members table<br />
* char_post(<span style="color:maroon;">$characters</span>)<br />
** <span style="color:maroon;">$characters</span> - Array: All characters and their data in CharacterProfiler.lua<br />
* guild_pre(<span style="color:maroon;">$guild</span>)<br />
** <span style="color:maroon;">$guild</span> - Array: All guilds and their data in CharacterProfiler.lua<br />
* guild(<span style="color:maroon;">$char</span>, <span style="color:maroon;">$memberid</span>)<br />
** <span style="color:maroon;">$char</span> - Array: Member data array for the current processed member<br />
** <span style="color:maroon;">$memberid</span> - Int: Member id from members table<br />
* guild_post(<span style="color:maroon;">$guild</span>)<br />
** <span style="color:maroon;">$guild</span> - Array: All guilds and their data in CharacterProfiler.lua<br />
<br />
You can add other methods or properties as you wish, but be warned that Roster may implement more update hook methods in future versions<br />
<br />
<br />
<br />
===Additional LUA Files During Update===<br />
The update class in Roster allows an addon to add more lua files for upload during the update process.<br />
<br />
In your addon update hook class, add a member variable called $files.<br><br />
This is an array of lua files you would like to add to the update process.<br />
<br />
Specify the filename, without the .lua extension, in the update hook class constructor.<br />
{{Note|These file names must be lower case so they pass correctly through the parser.}}<br />
<br />
<php> function addonnameUpdate( $data )<br />
{<br />
$this->data = $data;<br />
$this->files[] = 'luafilename';<br />
$this->files[] = 'anotherluafilename';<br />
}</php><br />
The uploaded lua data is available in Update::uploadData<br />
<php>$update->uploadData['luafilename']<br />
$update->uploadData['anotherluafilename']</php><br />
<br />
<br />
===Example Update Hook File===<br />
This is an example update hook file<br><br />
Look at memberslist and pvplog (example of additional lua file upload and processing) for more complex examples<br />
<php><?php<br />
/**<br />
* WoWRoster.net WoWRoster<br />
*<br />
* LICENSE: Licensed under the Creative Commons<br />
* "Attribution-NonCommercial-ShareAlike 2.5" license<br />
*<br />
* @copyright 2002-2007 WoWRoster.net<br />
* @license http://creativecommons.org/licenses/by-nc-sa/2.5 Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"<br />
* @version SVN: $Id: update_hook.php 899 2007-05-06 10:16:36Z Zanix $<br />
* @link http://www.wowroster.net<br />
* @package AddOnName<br />
*/<br />
<br />
if ( !defined('IN_ROSTER') )<br />
{<br />
exit('Detected invalid access to this file!');<br />
}<br />
<br />
/**<br />
* Addon Update class<br />
* This MUST be the same name as the addon basename<br />
*/<br />
class addonUpdate<br />
{<br />
var $messages = ''; // Update messages<br />
var $data = array(); // Addon config data automatically pulled from the addon_config table<br />
var $files = array();<br />
<br />
<br />
/**<br />
* Class instantiation<br />
* The name of this function MUST be the same name as the class name<br />
*<br />
* @param array $data | Addon data<br />
* @return recipe<br />
*/<br />
function addonUpdate($data)<br />
{<br />
$this->data = $data;<br />
}<br />
<br />
/**<br />
* Resets addon messages<br />
*/<br />
function reset_messages()<br />
{<br />
$this->messages = '';<br />
}<br />
<br />
<br />
function update()<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"green\">This is a non CP hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
<br />
function guild_pre( $data )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"green\">This is a guild_pre hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
<br />
function guild( $data , $memberid )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"yellow\">This is a guild hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
<br />
function guild_post( $data )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"red\">This is a guild_post hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
<br />
function char_pre( $data )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"green\">This is a char_pre hook</span><br />\n";<br />
<br />
return true;<br />
<br />
}<br />
<br />
function char( $data , $memberid )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"yellow\">This is a char hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
<br />
function char_post( $data )<br />
{<br />
global $roster;<br />
<br />
$this->messages .= "<span class=\"red\">This is a char_post hook</span><br />\n";<br />
<br />
return true;<br />
}<br />
}</php><br />
<br />
<br />
<br />
==Variables and Functions for AddOns==<br />
There are many variables, functions, and classes available for Addons to use<br />
<br />
<br />
<br />
===Variables===<br />
This is a list of variables that are available for your Addons<br />
<br />
All variables are available whether during update hooks or in the framework<br />
<br />
* [[Roster:FunctionsOverview#.24roster-.3Edb|$roster->db]]<br />
** Database layer for roster<br />
* <span style="color:maroon;">$roster</span>->locale->wordings<br />
** Every locale array<br />
* <span style="color:maroon;">$roster</span>->locale->act<br />
** The current global locale string array<br />
* <span style="color:maroon;">$roster</span>->config<br />
** The roster configuration array<br />
* <span style="color:maroon;">$roster</span>->pages<br />
** Array of current pages accessed<br />
* <span style="color:maroon;">$roster</span>->data<br />
** Current scope data<br />
*: This contains data about the current scope<br />
** Realm - Only contains the Realm Name and Region Code<br />
** Guild - Contains all the data about a guild, Region Code, Realm Name, motd, update time, number of members, etc...<br />
** Character - Contains all the data about the character from the players table<br />
* DIR_SEP<br />
** OS specific directory separator<br />
* ROSTER_BASE<br />
** Full path to roster directory including DIR_SEP at the end<br />
* ROSTER_LIB<br />
** Full path to roster lib directory including DIR_SEP at the end<br />
* ROSTER_ADDONS<br />
** Full path to roster addons directory including DIR_SEP at the end<br />
* ROSTER_ADMIN<br />
** Full path to roster admin directory including DIR_SEP at the end<br />
* ROSTER_AJAX<br />
** Full path to rosters ajax directory including DIR_SEP at the end<br />
* ROSTER_LOCALE<br />
** Full path to roster localization directory including DIR_SEP at the end<br />
* ROSTER_VERSION<br />
** Current Version of Roster<br />
* ROSTER_URL<br />
** Full valid URL to roster's root directory<br />
* ROSTER_PATH<br />
** URL path to roster's root directory<br />
* IN_ROSTER<br />
** Constant saying that you are in the Roster framework<br />
* ROSTER_MAXCHARLEVEL<br />
*: Maximum level that a character in WoW can achieve<br />
* ROSTER_MAXSKILLLEVEL<br />
*: Maximum skill level that a character in WoW can achieve<br />
* <span style="color:maroon;">$roster</span>->db->prefix<br />
** Database table prefix<br />
* <span style="color:maroon;">$roster</span>->db->table(<span style="color:maroon;">$tablename</span>, <span style="color:maroon;">$addon</span>='')<br />
** Returns a table name including the database prefix<br />
*** This will return 'databaseprefix_tablename'<br />
** When $addon is passed, use the basename of the addon<br />
*** This will return 'databaseprefix_addon_basename_tablename'<br />
* <span style="color:maroon;">$addon</span>['addon_id']<br />
** Addon database id<br />
* <span style="color:maroon;">$addon</span>['basename']<br />
** Addon folder name<br />
* <span style="color:maroon;">$addon</span>['version']<br />
** Addon version<br />
* <span style="color:maroon;">$addon</span>['active']<br />
** 0 - if the Addon is disabled : 1 - if the Addon is enabled<br />
** Use addon_active('basename') to check if an addon is enabled<br />
* <span style="color:maroon;">$addon</span>['fullname']<br />
** Addon's full name for display<br />
* <span style="color:maroon;">$addon</span>['description']<br />
** Short description of the addon<br />
* <span style="color:maroon;">$addon</span>['credits']<br />
** Serialized array of credits<br />
* <span style="color:maroon;">$addon</span>['icon']<br />
** Addon's display icon<br />
* <span style="color:maroon;">$addon</span>['dir']<br />
** File path to the Addon's folder<br />
* <span style="color:maroon;">$addon</span>['url']<br />
** URL path from the Roster base folder to the Addon's folder, this is not the full url path<br />
* <span style="color:maroon;">$addon</span>['url_full']<br />
** URL to the Addon's folder, this is a full qualified url<br />
* <span style="color:maroon;">$addon</span>['url_path']<br />
** URL path to the Addon's folder, this is not the full url path<br />
* <span style="color:maroon;">$addon</span>['image_url']<br />
** URL to the Addon's images/ folder, this is a full qualified url<br />
* <span style="color:maroon;">$addon</span>['image_path']<br />
** URL path to the Addon's images/ folder, this is not the full url path<br />
* <span style="color:maroon;">$addon</span>['css_file']<br />
** File path to the Addon's [[#CSS_Styles|style.css]] file, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['css_url']<br />
** URL path to the Addon's css file, this is not the full url path, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['tpl_dir']<br />
** File path to the Addon's template directory, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['tpl_url']<br />
** URL to the Addon's template directory, this is a full qualified url, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['tpl_url_path']<br />
** URL path to the Addon's template directory, this is not the full url path, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['tpl_image_url']<br />
** URL to the Addon's template/images directory, this is a full qualified url<br />
* <span style="color:maroon;">$addon</span>['tpl_image_path']<br />
** URL path to the Addon's template/images directory, this is not the full url path<br />
* <span style="color:maroon;">$addon</span>['tpl_css_file']<br />
** File path to the Addon's template based [[#CSS_Styles|style.css]] file, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['tpl_css_url']<br />
** URL path to the Addon's template based css file, this is not the full url path, empty string if not exist<br />
* <span style="color:maroon;">$addon</span>['inc_dir']<br />
** Full path to the Addon's inc/ folder<br />
* <span style="color:maroon;">$addon</span>['conf_file']<br />
** Full path to the Addon's inc/conf.php file<br />
* <span style="color:maroon;">$addon</span>['search_file']<br />
** Full path to the Addon's inc/search.inc.php file<br />
* <span style="color:maroon;">$addon</span>['search_class']<br />
** Addon's search class name<br />
* <span style="color:maroon;">$addon</span>['locale_dir']<br />
** Full path to the Addon's locale directory<br />
* <span style="color:maroon;">$addon</span>['admin_dir']<br />
** Full path to the Addon's admin directory<br />
* <span style="color:maroon;">$addon</span>['trigger_file']<br />
** Full path to the Addon's [[#AddOn_Update_Hook|inc/update_hook.php]] file<br />
* <span style="color:maroon;">$addon</span>['ajax_file']<br />
** Full path to the Addon's ajax.php<br />
* <span style="color:maroon;">$addon</span>['config']<br />
** Addon's configuration array<br />
<br />
<br />
<br />
===Variable Calls===<br />
These are added to index.php for some additional support<br />
<br />
If you add these to your addon, you can turn off the header, footer and menu on the page, these are always enabled by default.<br />
<php>$roster->output['show_header'] = false; // Disable the roster header<br />
$roster->output['show_menu'] = false; // Disable roster menu<br />
$roster->output['show_footer'] = false; // Disable roster footer</php><br />
<br />
$roster->output['show_menu'] accepts a string or an array of button panel names to display<br><br />
When building an addon, you can build your own button listing that only displays on your addon pages<br><br />
Pass a string for only one set of buttons, or pass an array for multiple sets of buttons<br />
<php>$roster->output['show_menu'] = array('util' => 1); // Display only the util button panel, default opened<br />
$roster->output['show_menu'] = array('util' => 1,'char' => 0); // Display only the util and char button panels: util default opened, char default closed<br />
$roster->output['show_menu']['custom'] = 1; // Display the default panels and the custom button panel, default opened</php><br />
<br />
<php>$roster->output['html_head'] = 'string';</php><br />
Accepts any string needing to be in the html header for your addon, such as javascript inclusion<br><br />
roster_header.tpl will pick this variable up and place its contents in the header<br />
<br />
<php>$roster->output['body_attr'] = 'string';</php><br />
Accepts any string needing to be in the <body> tag in roster_header.tpl<br />
<br />
<php>$roster->output['body_onload'] = 'string';</php><br />
Accepts any string needing to be in <body onload=""> in roster_header.tpl<br />
<br />
<br />
Any output needed, just print or echo it<br><br />
Roster uses php's output buffering to capture all print or echo commands<br><br />
Then it echos the output where needed<br />
<br />
<br />
<br />
===Functions===<br />
This is a list of functions that are available for your Addons<br />
<br />
View [[Roster:FunctionsOverview]] for details on available Roster functions<br />
<br />
<br />
<br />
===Roster Authorization===<br />
Like those nifty log-in boxes in RosterCP?<br><br />
Now you can easily add one to your addon!<br />
<br />
This checks if the user has admin access<br />
<php>// ----[ Check log-in ]-------------------------------------<br />
// Disallow viewing of the page<br />
if( !$roster->auth->getAuthorized($required_level) )<br />
{<br />
print<br />
'<span class="title_text">Some Title</span><br />'.<br />
$roster->auth->getLoginForm();<br />
<br />
return; //Kicks out of the AddOn and back to the Roster framework<br />
}<br />
// ----[ End Check log-in ]---------------------------------</php><br />
* <span style="color:maroon;">$roster</span>->auth - Roster Auth class<br />
* <span style="color:maroon;">$roster</span>->auth->getAuthorized() - (bool) Returns access granted or denied<br />
* <span style="color:maroon;">$roster</span>->auth->getMessage() - (string) Message sent from Roster Login, such as "Logged Out" or "Wrong Password"<br />
* <span style="color:maroon;">$roster</span>->auth->getLoginForm() - (string) The Roster Log-in form<br />
<br />
Also note that there is a log in box in the menu.<br />
<br />
<br />
<br />
===Addon Credits===<br />
Link = http://[www.someurl.net]/roster/?p=credits (SEO: http://[www.someurl.net]/roster/credits.html)<br><br />
To get credits on the main credit page, set the $credits array in the AddOn's [[#Creating_the_Installer|inc/install.def.php]] file<br />
<php>var $credits = array(<br />
array( "name"=> "Author Name",<br />
"info"=> "Extra Info"),<br />
);</php><br />
Replace the following<br />
* "Addon Name" with your addon's name<br />
* "Author Name" with your (The addon's author) name<br />
* "Extra Info" with a short description or additional info<br />
(Use <nowiki><br></nowiki> for line breaks)<br />
<br />
You can add multiple arrays inside the main one to add more credits<br><br />
(Try not to add too many, we don't wanna clutter the credits page now do we?)<br />
<br />
<br />
<br />
===Tooltips===<br />
<php>/**<br />
* Makes a tootip and places it into the tooltip array<br />
*<br />
* @param string $var<br />
* @param string $content<br />
*/<br />
function setTooltip( $var , $content )</php><br />
Creates a js variable for use with overlib<br><br />
Instead of outputting text in the html, you can create a js variable that holds this instead<br />
<php>/**<br />
* Easy all in one function to make overlib tooltips<br />
* Creates a string for insertion into any html tag that has "onmouseover" and "onmouseout" events<br />
*<br />
* @param string $tooltip | Tooltip as a string (delimited by "\n" character)<br />
* @param string $caption | (optional) Text to set as a true OverLib caption<br />
* @param string $caption_color | (optional) Color for the caption<br />
* Default is 'ffffff' - white<br />
* @param bool $mode| (optional) Options 0=colorize,1=clean,2=pass through<br />
* Default 0 (colorize)<br />
* @param string $locale | Locale so color parser can work correctly<br />
* Only needed when $colorize is true<br />
* Default is $roster_conf['roster_lang']<br />
* @param string $extra_parameters | (optional) Extra OverLib parameters you wish to pass<br />
* @return unknown<br />
*/<br />
function makeOverlib( $tooltip , $caption='' , $caption_color='' , $mode=0 , $locale='' , $extra_parameters='' )</php><br />
Returns this string for use in any html tag that supports onmouseover and onmouseout events<br />
<pre>onmouseover="return overlib(overlib_'.$num_of_tips.$caption.$extra_parameters.');" onmouseout="return nd();"</pre><br />
For more info about makeOverlib() and its supporting functions, look at functions.lib.php<br />
<br />
<br />
<br />
===Message Boxes===<br />
Functions to draw message boxes<br />
<php>/**<br />
* Draw a message box with the specified border color.<br />
*<br />
* @param string $message | The message to display inside the box<br />
* @param string $title | The box title<br />
* @param string $style | The border style<br />
* @param string $width | Set a fixed width<br />
* @return string $html | The HTML for the messagebox<br />
*/<br />
function messagebox( $message , $title='Message' , $style='sgray' , $width='' )</php><br />
<br />
<php>/**<br />
* Draw a 300x550px scrolling messagebox with the specified border color.<br />
*<br />
* @param string $message | The message to display inside the box<br />
* @param string $title | The box title<br />
* @param string $style | The border style<br />
* @param string $width | Initial width with unit<br />
* @param string $height | Initial height with unit<br />
* @return string $html | The HTML for the messagebox<br />
*/<br />
function scrollbox($message, $title = 'Message', $style = 'sgray', $width = '550px', $height = '300px')</php><br />
<br />
<php>/**<br />
* Draw a message box with the specified border color.<br />
*<br />
* @param string $message | The message to display inside the box<br />
* @param string $title | The box title<br />
* @param string $style | The border style<br />
* @param boolean $open | True if initially open<br />
* @param string $width | Initial width with unit<br />
* @return string $html | The HTML for the messagebox<br />
*/<br />
function messageboxtoggle($message, $title = 'Message', $style = 'sgray', $open = false, $width = '550px')</php><br />
<br />
<php>/**<br />
* Draw a 300x550px scrolling messagebox with the specified border color.<br />
*<br />
* @param string $messages | The message to display inside the box<br />
* @param string $title | The box title<br />
* @param string $style | The border style<br />
* @param string $width | Initial width with unit<br />
* @param string $height | Initial height with unit<br />
* @return string $html | The HTML for the messagebox<br />
*/<br />
function scrollboxtoggle($message, $title = 'Message', $style = 'sgray', $open = false, $width = '550px', $height = '300px')</php><br />
<br />
[[Category:RosterAddon]]</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:MenuRoster:Menu2011-08-14T19:23:58Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer}}<br />
{{MainMenu|Roster}}<br />
<br />
==Roster Menu==<br />
...it is what it says, the main menu in Roster<br />
[[Image:Roster_mainmenu.png|none|thumb|700px|Roster Main Menu]]<br />
The menu is divided into 3 sections<br />
<br />
<br />
* The top section shows the current scope information<br />
*: This section can change depending on the current scope<br />
** Utility - Displays the defaults set in RosterCP<br />
** Realm - Displays the Region and Realm name<br />
** Guild - Displays the Guildname @ Region - Realmname then the last update time<br />
** Character - Displays Charactername @ Region - Realmname then the last update time<br />
** Also displays language select, login box, quick search, realmstatus<br />
<br />
<br />
* The middle section shows section links in Roster<br />
** Clicking on Guild Information button will open/close the guild scope buttons<br />
**: These buttons will remain shown when in the guild scope<br />
** Clicking on Realm Information button will open/close the realm scope buttons<br />
**: These buttons will remain shown when in the realm scope<br />
** Clicking on Utilities button will open/close the utility scope buttons, including RosterCP and Roster Search<br />
**: These buttons will remain shown when in the utility scope<br />
** Clicking the Update Profile button will show the update box<br />
<br />
<br />
* The bottom section shows links to the various pages in Roster<br />
*: The button positions are configurable from RosterCP<br />
** The Character buttons will display on every character scope page and cannot be hidden</div>Zanixhttp://www.wowroster.net/MediaWiki/Roster:ChangeLogRoster:ChangeLog2011-08-14T16:31:01Z<p>Zanix: </p>
<hr />
<div>__NOEDITSECTION__<br />
{{Disclaimer|NoLang}}<br />
{{MainMenu|Roster}}<br />
<br />
==WoWRoster Change Log==<br />
<br />
Last Release (v2.1.0) June 15, 2011<br />
<br />
You can view the open source project, and for corrections and/or suggestions, visit - http://www.wowroster.net<br />
<br />
Version 1.x changes are not shown here, please see the [[Roster:ChangeLog:1x|WoWRoster 1.x Change Log]]<br />
<br />
----<br />
Last Edit: [[User:Zanix|Zanix]] 11:31, 14 August 2011 (CDT)<br />
<br />
<br />
==v2.1.1==<br />
<span style="color:red;font-weight:bold;">In Development</span><br><br />
<span style="color:red;font-weight:bold;">Updated 11:31, 14 August 2011 (CDT)</span><br><br />
<span style="color:red;font-weight:bold;">Changes as of [http://code.google.com/p/wowroster/source/list SVN-2341]</span><br />
<br />
<span style="color:orange;font-weight:bold;">This can and will change at any moment</span><br><br />
<span style="color:orange;font-weight:bold;">This is to just inform about upcoming fixes/changes/enhancements</span><br />
===Important Changes===<br />
* WoWAPI, a interface to the Armory<br />
** Armory data now uses WoWAPI<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Fixed: Installation template error<br />
* Synced install css style with default style<br />
<br />
<br />
===Addon Framework===<br />
<br />
<br />
====Core AddOns====<br />
<br />
<br />
<br />
<br />
==v2.1.0==<br />
Released - June 15, 2011<br />
SVN Tagged build: 2337<br />
===Important Changes===<br />
* New license<br />
** WoWRoster is now licensed under GPL v3<br />
** All license pages are updated<br />
* New default theme, old one is gone forever<br />
** New look for the installer, matches the default theme!<br />
* New Interface Image Pack, png is now the default image type<br />
* Default location of Interface Images points to wowroster.net, no more downloading it!<br />
* Support for dual specs<br />
* Armory code updated<br />
* Talent ranks and data now come from the armory, update this information via RosterCP -> Armory Data<br />
* WoWRoster now requires a modified version of CharacterProfiler and GuildProfiler which is now updated by us<br />
** Called WoWRoster-Profiler<br />
** SavedVariables file is named: wowroster.lua<br />
** Calvin hasn't had the time to provide updates to CP and GP so we have taken over development<br />
** Ours supports Dual talents, multi-level reputation, and more data gathered for recipe reagent items<br />
* PHP 5.3 compatibility<br />
* WoWRoster is now restricted to PHP version 5.1 and higher<br />
* Updated download links for addons that use the WoWRoster.net download system<br />
* Split out some icon data for tpl use in item.php<br />
* More data is imported for recipe reagents<br />
* item::out() and recipe::out() are now depreciated, please use the following for output and build your own containers for item and recipe icons<br />
** item::out() and recipe::out() have a new parameter, $small (bool) - Default false<br />
*** Just in case you need small icons, and still use these functions<br />
** item::slot,<br />
** item::tpl_get_icon(), recipe::tpl_get_icon()<br />
** item::tpl_get_tooltip(), recipe::tpl_get_tooltip()<br />
** item::tpl_get_itemlink(), recipe::tpl_get_itemlink()<br />
** item::quantity, recipe::quantity<br />
** item::slot<br />
** Roster and the core addons have been updated to this new format<br />
** Any icon tooltips using the old class method will display for now, but might not in later versions<br />
* New centralized messaging system<br />
** $roster->set_message($text, $title, $type)<br />
** $text - the body of the message<br />
** $title (optional) The title of the message<br />
** $type (optional) the type of the message, currently two types 'status', 'error'<br />
* Added item.html template, an example of how to build an item container (not used in Roster)<br />
* New Item data<br />
** Store item_type, item_subtype (same as AH categories for item)<br />
** Store item_rarity (numeric indication of color)<br />
** item_level, the status of the existing item_level column.<br />
* Item data parsing has been updated<br />
* Menu is now initalized earlier, hopefully reducing menu errors when Roster errors<br />
* JQuery and JQuery-UI added<br />
** Old javascript functions still exist, some have been converted to use JQuery<br />
* Talent data is now fetched via the Armory<br />
** CP now only gathers talent point allocation<br />
** This makes the CP files MUCH smaller<br />
* Changed get_scope_data() to not die when data is not found<br />
** Instead, the scope and anchor are set to the util scope<br />
** Some addons will need to add some additional checks for data<br />
* Added RosterGD Library<br />
** Common GD image manipulation functions<br />
** Guild Info graph images, Realm Status, and MOTD image use this library<br />
* Added new parameters for makelink()<br />
** $anchor: (bool) allows you to disable the anchor tag in the link<br />
** $ext: (string) allows you to change the url extension for the link, default is 'html'<br />
* New realmstatus design!<br />
<br />
<br />
===General Fixes and Enhancements===<br />
* Removed trim on realm/character/guild name for upload rules<br />
** Apparently you can have spaces at the beginning and end of the realm/character/guild name<br />
* Updated class icons to 64px, up from 50px<br />
* New Quest Data (see other sections for additional info)<br />
** All quest links use quest_id now<br />
** Changes for lib/quest.php functions<br />
*** quest_get_many() updated for new tables<br />
*** quest_get_one($quest_name)<br />
*** quest_get_one_id($quest_id, $locale)<br />
* Fixed errors in lib/dbal/mysql.php<br />
* Changed behavior of db::error_die, will now just die() and not use die_quietly()<br />
** Roster starts with this enabled, then settings.php sets to false when framework initialization is done<br />
** We set db::error_die to false now, so db errors can be caught, instead of the db layer just dying<br />
* Some fixes to the item parser<br />
* Item and Profession search, changed Lv to localized Level name<br />
* Added "Account Bound" item binding type<br />
* Fixed 'maildateutc' error on CP.lua upload<br />
* Added a message to install.php for those trying to directly access it<br />
** Now says "Direct access to install.php is not allowed. Please go to index.php to install."<br />
* Added race and class icons<br />
* Moved much of the functionality from menu.php into header.php<br />
* Moved update instructions to the update page, removed from memberslist pages<br />
* Updates to the armory class<br />
* Item/recipe icons now have a "quality" glow, you will see what I mean<br />
* New scope based classes<br />
** Loads common data and template variable for each type of scope<br />
* Added new roster->data value<br />
** ['armoryurl'] Detects US or EU and sets this to their respective armory URL<br />
* Character Data update is now a pop-up, click on 'Update Instructions' button to see the full page<br />
* Removed WoWDigger from item and quest link lists as it seems it no longer exists<br />
* Removed Allakhazam from quest links as it seems it has outdated data<br />
* Changed the footer credits, they are now a link with a question mark icon<br />
* New aPrint class library<br />
** Shows MUCH more info than the old aprint.php() function<br />
** Much prettier than the old aprint, all arrays/objects/long strings are collapsed<br />
** Call with APrint::dump($var);<br />
** Old aprint.php() function is now a wrapper, second argument does nothing :(<br />
** New functions available<br />
** ::classes() Prints a list of all currently declared classes<br />
** ::interfaces() Prints a list of all currently declared interfaces<br />
** ::includes() Prints a list of all currently included (or required) files<br />
** ::functions() Prints a list of all currently declared functions<br />
** ::defines() Prints a list of all currently declared constants<br />
** ::extensions() Prints a list of all currently loaded PHP extensions<br />
** ::headers() Prints a list of all HTTP request headers<br />
** ::path() Prints a list of the specified directories under your include_path option<br />
** ::ini() Prints a list of all the values from an INI file<br />
* Fixed bug for adding upload rules, validator was only checking one field for emptyness<br />
* Menu Config<br />
** Adjusted sort and unused boxes<br />
** Fixed 'add menu button'<br />
*** Now has icon when added<br />
** Added help for adding menu buttons<br />
* Changed function die_quietly() to only print a border is there is information to print<br />
* Changed when the database is closed in die_quietly() and roster_die()<br />
* Changed detection of invalid addon url characters a bit sooner<br />
* Changed the tooltips a bit<br />
** Removed opacity javascript, now using a transparent png background image<br />
** Changed the bordering, it's round in ie9, chrome, and firefox<br />
* Changed realmstatus timestamp to a real unix timestamp<br />
* Merged Realm Status display and type into one config item<br />
* Item parser picks up Heroic now<br />
<br />
<br />
===LUA Update (update.lib.php)===<br />
* Added additional checks for missing data<br />
** Mail['Coin'], Mail['CoinIcon'], Spellbook['Rank']<br />
** Including more not listed<br />
* Pet talents data importing<br />
* Glyph data importing<br />
* Added processTime var for use with enforceRules()<br />
* Added <nowiki><br /></nowiki> when guild not found, just to clean up output<br />
* Added a bit more explanation for guild/character rejection message when rejected by upload rules<br />
* Fixed update to detect uniuploader user agent<br />
** Fix preg_match to be case insensitive<br />
<br />
<br />
===SQL/DB===<br />
* New tables: quest_data, pet_talents, pet_talenttree<br />
* Renamed tables: spellbook_pet -> pet_spellbook<br />
* Changed tables: quests<br />
* Dropped: pets.usedtp (not available in WoW 3.0), pets.loyalty (not available in WoW 3.0)<br />
* New Quest data<br />
** daily, group, reward_money, quest_id, description, objective, difficulty<br />
** Description and Objective are only available via an option in CP /cp questsfull on -- scan full info for quests (Description & Objective)<br />
<br />
<br />
===Locales===<br />
* Quest links updated to use quest id<br />
** frFR: WoWDBU FR seems to be in maintenance mode and Judgehype FR does not seem to support quest id links<br />
** Added WoWHead to all locales since it seems their site has data for them<br />
* Moved some strings from core addons to main locale files<br />
* Added locale strings for item quality<br />
<br />
<br />
===Template System===<br />
* Fixed a bug where iterating only the first element of an array resulted in the entire array being printed<br />
* Added new <nowiki><!-- TRANSLATE string --></nowiki> instruction<br />
** Looks up the 'string' key in the current active localization table<br />
** Check templates/default/memberslist/memberslist.html for usage examples<br />
* Added <nowiki><!-- TRANSLATE_F --></nowiki> based on <nowiki><!-- TRANSLATE --></nowiki> with printf() abilities.<br />
** First parameter is a locale key string<br />
** Further parameters are template variables. Can be inside loops.<br />
* Moved locale assignments to template to <nowiki><!-- TRANSLATE --></nowiki> calls in the template<br />
** Replaced many tpl variables with <nowiki><!-- TRANSLATE --></nowiki> instruction in templates<br />
** Leftover {L_*} keys are not strictly locale keys, mainly tooltips or other php set values<br />
** Some core addons may not have been updated<br />
* Added is_writeable() before template is written. Fixes issue in step 0 of install when the cache folder may not be writable<br />
** This has been tested very lightly. If there are any issues with caching, look here first<br />
* New, theme.js is used for theme specific javascript, such as tooltip styling<br />
* Refreshed look for RosterCP and Roster Diag<br />
<br />
<br />
===Addon Framework===<br />
* Install::add_menu_button() added 5th parameter - $active<br />
** Default true<br />
** Set to false to prevent button from being automatically added to the menu<br />
** Useful for "optional" buttons<br />
<br />
<br />
====Core AddOns====<br />
* Quest data changes<br />
** Quest List, Quest List Search, and Char-Info->Quests updated to not break and use some of the new data, not all though<br />
<br />
<br />
====Achievements====<br />
* New AddOn<br />
* Displays character achievements<br />
<br />
<br />
====Character Info====<br />
* Fix to spellbook sql<br />
* Char-Info->Quests new template data:<br />
** ID - int, INDEX - int, DIFFICULTY - int, DESCRIPTION - text, REWARD_MONEY_C - int, REWARD_MONEY_S - int, REWARD_MONEY_G - int, OBJECTIVE - text, DAILY - int, GROUP - int<br />
* Changed quest icon to look more like the game icon<br />
* Updated menu tooltips<br />
* Added companions and mounts<br />
* Added 3D Model Viewer from Armory<br />
** Might not work since Blizzard seems to have removed the functionality<br />
* Added reputation descriptions<br />
* New categorized inventory module<br />
* New inventory module<br />
* Added talent frame arrows<br />
* You can access any tab via the URL now<br />
** Append &t=tab_name<br />
** Valid tabs names are: profile, pets, companions, reputation, skills, talents, spellbook, currency<br />
** Members List uses this to direct to the talents tab<br />
* Fixed, char-info-recipes show collapse setting was reversed<br />
* Added, tooltips on quick links for char-info-bags/bank, char-info-recipes<br />
* Changed reputation info text to only show when hovering a ? icon<br />
* Changed alt indication in char-info<br />
** An icon appears next to the character name if they belong to/or have alts<br />
** Hovering over the icon shows a tooltip<br />
** Clicking the icon allows you to click the links in the tooltip<br />
* Talent Export now uses WoWHead<br />
<br />
<br />
<br />
====Guild Info====<br />
* Revamped addon<br />
* Now gathers more guild data present in Cataclysm<br />
* Needs to be enabled to gather most of the new data<br />
<br />
<br />
<br />
====Keys====<br />
* Patched for the memberslist changes<br />
* Patched for new quest data format<br />
<br />
<br />
====Professions====<br />
* Fixed sorting<br />
<br />
<br />
====PvPLog====<br />
* Updated frFR<br />
* Fixed SQL error<br />
* Changed win/loss text to image in PvPLog<br />
<br />
<br />
====Members List====<br />
* Simplified name_value()<br />
* Stripped out client sort<br />
* Fixed pagination<br />
* Alt grouping/ungrouping now client side<br />
* Lots of code cleanup<br />
* Removed template keys:<br />
** members_row.OPEN (use S_GROUP_ALTS eq 2)<br />
** members_row.alts.DISPLAY (actually the opposite. Use S_GROUP_ALTS neq 2)<br />
** S_TOOLBAR (used to include direction, but removed that usage. Use S_GROUP_ALTS ge 0)<br />
* Added HREF patching<br />
** When using the openAlts(), closeAlts(), or unGroupAlts() javascript functions, all <a> elements with the 'internal' class will have their link target patched, giving the 'alts=' parameter (if set) the appropriate value.<br />
* Mainless alts are not shown at the bottom in ungrouped mode<br />
* Reformatted all memberlist pages to align the FIELD definitions<br />
* Updated with multisort<br />
* Removed the separate makeToolBar call<br />
* Main/Alt matching<br />
** If the regex results in a member name with quotes, these are now properly escaped. thanks Athan.<br />
* Added inactive buttons for memberslist to all yet unlinked pages<br />
* Reformed $memberslist->prepareData() paramters<br />
* Added filter support by adding the GET string, with a GUI<br />
* Added ability to disable filtering for a column, hiding the box (set 'filter'=false)<br />
* Added ability to set an explicit mysql column definition for the default filter<br />
* Cleaned up javascript sort/filter specifications, since these are no longer used<br />
* Enabled filtering on stat-totals<br />
* Fixed HTML syntax<br />
* Added filter settings (disabled on key columns)<br />
* Made the professions subquery return less rows<br />
* Fixed a warning when the GROUP_CONCAT professions truncates due to field size<br />
* Switched some code around so addons can influence the template file used<br />
** Set the 'template' option to the name of the file to use<br />
* Added fix from http://www.wowroster.net/topic6231.html<br />
** "When clicking the next button in the Member log I get a bunch of errors."<br />
* Removed icon_size setting<br />
* Changed talent spec icons, both specs show in tooltip, main spec shows in list<br />
* Changed player tooltip, using localized word for 'level'<br />
** Removed : when player has no guild rank, removed 'in zone' when 'zone' is missing<br />
** Removed 'last online' if it is missing<br />
* If pagination was broke, it should work now<br />
<br />
<br />
====Vault====<br />
* Added Guild Vault search<br />
* Fixed missing 'requires_level' data in VaultItem class<br />
* Money no longer shows 0 amounts (eg. 100g 0s 0c now shows as 100g)<br />
* Made vault specific css style for each log action<br />
* Prettied up the money log<br />
<br />
<br />
<br />
<br />
==v2.0.2==<br />
Released - December 21, 2008<br />
===General Fixes and Enhancements===<br />
* Death Knight talent spec icons<br />
* Support for flying icons when skill > 150<br />
* Riding icon code changed, now includes flying icons<br />
* Memberslist now uses members.classid for class coloring<br />
* Pet info will only be saved for Hunters and Warlocks until CP is fixed<br />
<br />
<br />
<br />
<br />
==v2.0.1==<br />
Released - November 15, 2008<br />
===General Fixes and Enhancements===<br />
'''Maintenance release for WotLK for compatibility issues'''<br />
* Fixed notice error in installer<br />
* Updated EU realmstatus URL<br />
* Realmstatus fix for XML change for US feed<br />
* Talent import fixes<br />
* Fix style for file input fields in FF3<br />
** Now the style will have a white background with grey text and a grey border<br />
* Added Death Knight class icon<br />
* Added Death Knight class color<br />
** Updated other colors to standard Blizz colors (http://www.wowwiki.com/Class_colors)<br />
* Added class id for Death Knight = 6<br />
* Changed ROSTER_MAXCHARLEVEL to 80<br />
* Changed ROSTER_MAXSKILLLEVEL to 450<br />
* install.sh had the wrong path<br />
<br />
<br />
===Locales===<br />
* frFR fix for Warrior<br />
* New strings 'tag', 'daily'<br />
* Added locales for 'Runeforging' and 'Inscription'<br />
* Added Inscription icon<br />
* Added 'Death Knight' locale strings<br />
* Updated class colors<br />
<br />
<br />
===Addon Framework===<br />
* Fixed incorrect $addon variables<br />
** 'tpl_image_url' and 'tpl_image_path'<br />
<br />
<br />
====CharacterInfo====<br />
* New talent tiers for WotLK (WoW 3.0) will now show on talents page<br />
* Fixed talent export link for character talents<br />
<br />
<br />
<br />
<br />
==v2.0.0==<br />
Released - June 20, 2008<br />
===Important Notes===<br />
* '''Roster has changed drastically, there is so much new and different from the last version (1.7.3)'''<br />
*: '''We did our best to keep a log of every change, but there is so much that has been changed, that we could not list everything'''<br />
* The license has been modified, you must agree to the license before using WoWRoster!<br />
** The changes are nothing big, mostly a reformat of the layout<br />
** Also added a web viewable license ?p=license (SEO: license.html)<br />
* ROSTER 2.0 BRINGS MASSIVE CHANGES<br />
** There is no upgrade path to 2.0, you must make a clean install<br />
* THE INTERFACE IMAGE PACK MUST BE DELETED AND RE-DOWNLOADED<br />
*: Roster now converts all the image names to lowercase and removes spaces<br />
*: 'Interface/Icons/' is no longer being stored with the icon name in the database<br />
* Many Roster pages have been converted to addons (zeryl,zanix,pleegwat)<br />
** It is now possible to overwrite these addons with different/improved versions written by addon devs<br />
* Big changes to addon framework, please read the updated AddOn SDK<br />
** Addon folder names can only contain a-z 0-9 _<br />
** Access to addons are now like this > index.php?p=SCOPE-ADDONNAME-FILE (SEO: SCOPE/ADDONNAME/FILE.html)<br />
*** SCOPE is the addons scope (realm,guild,guildless,char,util)<br />
*** ADDONNAME is the addons name<br />
*** FILE is a file in the addons scope folder, FILE is optional<br />
** Make use of the functions makelink() and linkform()<br />
** AddOn triggers have been completely redesigned (pleegwat,zanix)<br />
*** Please read the AddOn SDK for details<br />
* Changed detection of ROSTER_INSTALLED to IN_ROSTER, so the installer can include some of the roster files<br />
** Please use IN_ROSTER from now on, ROSTER_INSTALLED is for installation purposes only<br />
** define('IN_ROSTER',true); needs to be added to files that are accessed directly before including settings.php<br />
* Roster now supports 3 auth levels (guild, officer, admin)<br />
** The auth fields were moved to the `roster_account` table<br />
* Many Database changes, see the rest of the change log<br />
** UTF-8 conversion<br />
*** Roster's database tables are now set to the utf-8 collation<br />
** Many tables changed quite a bit from 1.7.3, here are a few of those changes<br />
** guild table<br />
*** Removed `guild_dateupdatedutc` `update_time` is exactly the same<br />
**: `faction` changed from char(8) to char(32)<br />
**: Added `factionEn`<br />
** players table<br />
**: Added `raceEn`, `classEn`, `sexid`, `raceid`, `classid`<br />
**: Added 109 fields to the players table with all the new character data<br />
**:: Deleted or changed the meaning of 6 old fields. These mappings apply:<br />
**:: melee_rating -> melee_mhand_skill, melee_ohand_skill<br />
**:: melee_range -> melee_mhand_mindam, melee_mhand_maxdam, melee_ohand_mindam, melee_ohand_maxdam<br />
**:: melee_power -> melee_power_c<br />
**:: ranged_rating -> ranged_skill<br />
**:: ranged_range -> ranged_mindam, ranged_maxdam<br />
**:: ranged_power-> ranged_power_c<br />
** members table<br />
**: Removed `update_time`<br />
** items table<br />
**: Added `locale`<br />
** pet table<br />
**: Completely changed<br />
** pet spellbook, addon table, addon trigger, addon config, menu, menu_button, upload, gems<br />
**: All new for 2.0<br />
<br />
<br />
<br />
===Fixes===<br />
* Many locale changes/fixes<br />
* Edited the lua parser to read the lines directly from the file rather than caching it into memory (pleegwat)<br />
** This is about 5% faster, and saves about 2400k of memory with a 675k CP.lua<br />
* Duplicate keys error with quests on CharacterProfiler uploads (zeryl)<br />
* function escape_array($array) now uses addslashes(), not $wowdb->escape() (zanix)<br />
* set_magic_quotes_runtime is now set off in settings.php (zanix)<br />
* tradeskills fix > http://www.wowroster.net/Forums/viewtopic/p=15858.html#15858 (zanix)<br />
* Missing $wowdb->escape() when testing the number of alts (pleegwat)<br />
* Last Updated fix -> http://www.wowroster.net/ProjectsPro/report/report_id=47.html (zanix)<br />
* Character removal, set inactive process improved (pleegwat,zanix)<br />
* message_die() has been changed to roster_die() (zanix)<br />
** This is because phpbb uses message_die()<br />
* Memberlog is now updated with the guild updated time (zanix)<br />
* So very many notice errors removed (zeryl)<br />
* Fixed a possible problem with array based tooltips (zanix)<br />
* Fixed weird multi lined text in UU update log, text version (zanix)<br />
* Unspent talent icons are now transparent in Opera (zanix)<br />
* Added level check in rogue portion of keys.php (zeryl)<br />
* Item (and bag) class now gets the clientLocale itself instead of having to pass it (zanix)<br />
* c.php now uses Roster's link constant (zanix)<br />
* Config does not query the db when data is processed for saving (zanix)<br />
** Instead, it looks in the config array and dynamically updates it<br />
** This means the menu reflects the changes after the first load, you do not need to reload to see the change<br />
* Mail alternate row coloring fixed (zanix)<br />
* Settings aren't stored in DB with an extra set of slashes (pleegwat)<br />
* overlib.js reverted to default, we pass the settings to it in roster_header.tpl now (zanix)<br />
* DB link was getting terminated twice on most pages. Removing the one in footer (pleegwat)<br />
* Lua parser should now detect invalid SV files (pleewat)<br />
* Install should now fail when the db information is wrong (zanix)<br />
* setTooltip() now checks if the passed key is already set, if it is, it does not set a new tooltip (zanix)<br />
* Fixed extra wide die_quietly() messages (zanix)<br />
* Removed configurable hide/show for hslist and pvplist, they are now hidden by default (zainx)<br />
* Fixed transparent 'banding' in messageboxes (zanix)<br />
* Realms with an apostrophe in them will no longer cause upload errors (zanix,pleegwat)<br />
* luaparser fixed for magic_quotes_runtime (pleegwat)<br />
* Method do_buffs(). Remove stale buff data even if no new buff data is available (ds)<br />
* Method make_mail(). Would produce Undefined Index Errors if the mail did not have an Item attached (ds)<br />
* Tooltip parser converted tab characters wrong (zanix)<br />
* Fixed a caption coloring error in tooltips creation when there is a tab character in the first line (zanix)<br />
* Locale inclusion for button in menu is local to only the menu, this is to prevent addons overwriting other addons' locales (zanix)<br />
* Added stripslashes to $update.lib->tooltip (zanix)<br />
** Seems tooltips we being entered double escaped<br />
* added some data checking in do_pets() inupdate.lib.php. Would produce Undefined Indexes for pets that have not been scanned fully. (ds)<br />
* Character equipped item bonuses code has been re-vamped, it should be much easier to handle changes in blizz's data (ds)<br />
* Equipment bonuses are finally fixed, hopefully (ds)<br />
* minCPver and minGPver now use the actual CP and GP version numbers and not the dbversion number (zanix)<br />
* Guild motd will not show if it is empty (zanix)<br />
* Adjusted arc buttons to move standard buttons an additional 1000px off screen (zanix)<br />
<br />
<br />
<br />
===Changes===<br />
* Major re-vamp of the character pages<br />
** Way too much to list here<br />
* Roster Config is now the Roster Control Panel (RosterCP)<br />
** Addon config can now use a library to generate a config page accessible from RosterCP<br />
* The Roster member list is now an addon called memberslist (pleegwat)<br />
** AltMonitor functionality is now part of this addon<br />
** SortMembers is now part of this addon<br />
** Member log is part of memberslist<br />
* Converted all of Roster to run everything through index.php (zanix)<br />
** Supports extra lower levels on the p= parameter. They're in $roster_pages (array), or in ROSTER_PAGE_NAME (string) (pleegwat)<br />
** There is now a default page selection in Roster Config -> Main Settings<br />
** Addons can be set as the default page (pleegwat)<br />
** cmslink.lib.php contains defines and functions that can easily be changed for integration to other CMS's<br />
* All core WoWRoster pages have been moved out of the root directory (zanix)<br />
* $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS are now destroyed (zanix)<br />
* Moved the check for guild info into settings.php and out of every page (zanix)<br />
* Removed char.php compatibility mode setting (zanix)<br />
* Messages in update.php to use messagebox() functions (zanix)<br />
* WoWRoster is now XHTML 1.0 Transitional compliant (zeryl,zanix,pleegwat,anaxent)<br />
* char.php is now called like so ?p=char-info&a=c:## or or ?p=char-info&a=c:Name or ?p=char-info&a=c:Name@RC-Server (zanix)<br />
** SEO links /char/info/a=c:##.html or /char/info/a=c:Name.html or /char/info/a=c:Name@RC-Server.html<br />
** RC is the region code US, EU, etc...<br />
** All of Roster has been converted to link to members with the ID number<br />
* Merged both guildbanks into one addon (zanix)<br />
** The guildbank setting changes the default view<br />
* Roster menu is now included on char pages and error pages (zanix)<br />
* Changed Itemlinks, when you click on an item, a pop-up comes up with a list of available item link locations (zanix)<br />
** Updated all of roster to use new item linking<br />
* Moved the addon scanner makeAddonList() and DateDataUpdated() to commomfunctions.lib.php (zanix)<br />
* Moved around the keys in locale files (zanix)<br />
* "This page was generated.." message to just "time | queries" (zanix)<br />
* Quests sorting change -> http://www.wowroster.net/Forums/viewtopic/t=3016.html (zanix)<br />
* Locales have been changed (zanix,pleegwat)<br />
** All locale files are now included via a function add_locale_file()<br />
**: This prevents one locale form overwriting the other<br />
** All strings in the locale files are now just $lang['key'] = 'String';<br />
**: The new locale include function handles parsing the correct locale to the correct array<br />
** Locale works like so: $roster->locale->wordings['enUS']['some_key']<br />
* New locale access $roster->locale->act<br />
** $roster->locale->act['some_key']<br />
** This holds the locale array for the current locale<br />
** All of Roster has been converted to use this variable (where applicable)<br />
* Removed printing of every sql string in html comments, we have a sql message box for that (zanix)<br />
* Changed tab detection and conversion in colorTooltip() and cleanTooltip() to use div and span, not tables (zanix)<br />
* Removed SigGen sig and avatar display on character page (zanix,pleegwat)<br />
*: SigGen is an addon and should not be on this page<br />
* Moved character bonuses out to addons/info/inc/charbonus.lib.php (zanix)<br />
* Renamed lib/commonfunctions.lib.php to lib/functions.lib.php (zanix)<br />
* Changed img.php to work like c.php (zeryl)<br />
** Use img.php?CHARNAME now<br />
* Removed config settings for all js and css (zanix)<br />
** If users need to change these, they should edit the header file<br />
* Roster Config variable changes<br />
** Removed the config 'roster_dir' (zanix)<br />
*** It has been replaced with ROSTER_PATH<br />
** Removed 'server_name' and 'server_type'<br />
** Roster config variable 'roster_lang' is now 'locale' (zanix)<br />
** Roster config variables 'guild_name' and 'guild_desc' are now 'default_name' and 'default_desc'<br />
* Moved SVN remote url to constants.php, for easy updating (zanix)<br />
* Item quantity text css has been changed (zanix)<br />
** Old <pre><div class="item"><img class="icon" /><span class="quant_shadow">6</span><span class="quant">6</span></div></pre><br />
** New <pre><div class="item"><img class="icon" /><b>6</b><span>6</span></div></pre><br />
* hslist and pvplist have the hide/show default variable in their files, so they could be included elsewhere easily if needed (zanix)<br />
* Localization files now use sprintf() rather than variable inclusion (zeryl)<br />
* Comment code at the top of every file to phpdoc standards (zanix)<br />
* Renamed css/styles.css to css/style.css, to stay in line with addon css styles now being named style.css (zanix)<br />
* Removed $script_filename for addons, use the constant ROSTER_PAGE (zanix)<br />
* Realmstatus Changes<br />
** Added quite a few new config options (zanix)<br />
** Now saves all realms that are accessed<br />
** Can now be accessed "realmstatus.php?r=RC-REALMNAME"<br />
*** If "r=" isn't set, it tries to get the default guildname from config<br />
** You can now use the url parameter 'd' to set the output mode<br />
*** d=1 for image, d=0 for text<br />
* Many Roster global variables are now part of the $roster class<br />
** $act_words becomes $roster->locale->act<br />
** $wordings becomes $roster->locale->wordings<br />
** $roster_conf becomes $roster->config<br />
** $wowdb->fetch_* becomes $roster->db->fetch()<br />
** any other $wowdb becomes $roster->db-><br />
** $header_title becomes $roster->output['title']<br />
** $html_head becomes $roster->output['html_head']<br />
** $more_css becomes $roster->output['html_head']<br />
** $roster_show_(header, footer, menu) becomes $roster->output['show_(header, footer, menu)']<br />
** $body becomes $roster->output['body_onload'] and $roster->output['body_attr']<br />
* Changed function DateDataUpdated() to function readbleDate() (zanix)<br />
** Takes datetime field data from the db and makes a friendly time<br />
* Mass removal of DB table defines and renamed them to $roster->db->table('name') (zanix)<br />
* wowdb.php is no longer used<br />
** sql functions have been moved to lib/dbal/mysql.php<br />
*** Use $roster->db-> for SQL functions<br />
*** Lua updating is now handled by update.lib.php<br />
* die_quietly() file name passed should now be __FILE__, not basename(__FILE__) (zanix)<br />
** die_quietly() replaces the full path with a relative one<br />
* lib/hslist.php is now a function generateHsList() (zanix)<br />
* addons/pvplog/inc/pvplist.php is now a function generatePvpList() (zanix)<br />
* Changed the look of the back trace a bit (zanix)<br />
** Arguments are now a bullet list<br />
* Changed wiki links for when 2.0 is released (zanix)<br />
** From www.wowroster.net/wiki or www.wowroster.net/wiki/index.php/SOMEPAGE<br />
** To www.wowroster.net/wiki.html or www.wowroster.net/wiki/SOMEPAGE<br />
* Using version_compare() now on CPversion and GPversion version checking and now checks the actual CP/GPversion and not the DBversion (zanix)<br />
* Added DBversion to `roster_players` and `roster_guild` tables (zanix)<br />
** DBversion is the CP and GP data DBversion<br />
** CPversion and GPversion are now CP/GPversion<br />
* Border images are now css styles (adric)<br />
** This improves the loading time of most of the roster pages<br />
* MOTD text mode changed to look more like image version (adric)<br />
* Added add_ifvalue() to allow for checking of the value before insert in update.lib.php (zeryl)<br />
* function border() now accepts an optional 4th parameter, width (zanix)<br />
* Removed old tab selection in favor of the one used in RosterCP (zanix)<br />
** It allows the use of multiple tab groups on one page, and persistence on page re-loads<br />
* Installer changes (zanix)<br />
** You no longer need to go to install.php, just go to index.php<br />
* Upgraded tabcontent.js to v2.0 (zanix)<br />
** Tabs are initialized differently<br />
**: OLD: initializetabcontent('id');<br />
**: NEW: var id=new tabcontent('id');<br />
**: id.init();<br />
** Tab Content Documentation: http://www.dynamicdrive.com/dynamicindex17/tabcontent_suppliment.htm<br />
<br />
<br />
<br />
===Enhancements===<br />
* A hearty welcome to our new developers, DS and Adric!<br />
* Roster is now Multi Guild and/or public compatible (pleegwat,zanix)<br />
** Set guild and character upload rules in RosterCP<br />
* New page linking and SEO compatible links<br />
** SEO is disabled by default since IIS servers cannot use this feature<br />
** ?p=SCOPE-ADDON | /SCOPE/ADDON.html<br />
** You can also link to certain files in the addon folder<br />
*** ?p=SCOPE-ADDON-FILE | /SCOPE/ADDON/FILE.html<br />
* Added a template engine that addons can use (zanix)<br />
** Templates are coded very similar to phpbb, eqdkp, and dragonfly templates<br />
** (In fact, they all use basically the same template engine)<br />
* Made a new linking functions to help in CMS porting (zanix)<br />
** lib/cmslink.lib.php<br />
** function makelink( string $url="" , bool $full=false )<br />
*** ALL roster links run through this function to generate links<br />
*** This can easily be edited for integration into other CMS's<br />
*** Login functions expect a NON-makelink()'ed link<br />
**** login.php will convert the link for you<br />
** function linkform(array $array)<br />
*** This inserts the correct GET variables for html forms<br />
*** Pass an array of additional GET vars if you need them array('name'=>'value')<br />
* Item parsing (ds)<br />
** The items class has been enhanced to parse the tooltip to its separate elements<br />
** There is alot more data now that is available for an item<br />
** Check the wiki for more info<br />
* Gems support (ds)<br />
* Massively improved search system (anaxent)<br />
** Features include<br />
*** Able to search any installed, active addon that have a search.inc file within there inc directory<br />
*** Ability to search only with in a particular addon<br />
*** Advanced Search options per addon<br />
*** Addons can create their own search results display using the $item['html'] = variable in the search class<br />
* Roster now uses an error handler (zanix)<br />
** All php errors are saved and stored and displayed in the Roster footer if $roster->config['debug_mode'] is enabled<br />
** The footer MUST be enabled to display the php errors<br />
** You can get the current list of php errors at anytime with array() = $roster->error->report<br />
** E_USER_ERROR level will halt Roster with an error message<br />
* Added addon_active($addon_basename) (zanix)<br />
** Returns bool, true if the addon is active, false if it is not active or not even available<br />
** Use this if your addon requires another addon to function<br />
* Remote version checking for Roster and addons in Roster CP (zanix)<br />
* Brand new Roster Menu (adric,pleegwat)<br />
** Buttons can be added, removed, hidden, moved, etc...<br />
** Locale selector (zanix)<br />
*** You can also set the locale using url "locale=coDE"<br />
*** The local set is session based, and traverses to every page without the need for the url setting<br />
** Scope based id selector (zanix)<br />
*** Change the current id for the scope<br />
*** realm/guildless - List shows all realms<br />
*** guild - List shows all guilds<br />
*** char - List of uploaded characters in the guild (or realm if guildless)<br />
*** util - The list is not available<br />
** Menu title shows the 'default_name' and 'default_dec' when not in the guild scope<br />
** Possible to set an icon for buttons<br />
* Character page has been completely overhauled (pleegwat,zanix)<br />
** Way too many changes to list here<br />
* Added Pet Spellbooks (zanix)<br />
* Made tooltips transparent (85% opacity) (zanix)<br />
* Added SQL output for installer and upgrader (zanix)<br />
* Added ability to collapse or show recipe tables by default for characters (zanix)<br />
* Added last_online_value function for memberlist (zanix)<br />
** It shows last online in terms of hours/days/weeks/years ago<br />
* Added $wowdb->add_timestamp() function to wowdb to handle timestamp conversion to mysql datetime (zanix)<br />
* Guild and character update will reject uploads if the timestamp is lower that what is in the DB (zanix)<br />
* Converted luaparser to a class (zanix,pleegwat)<br />
** Added lua writer method<br />
* Added minixml library (zanix)<br />
* Added constant ROSTER_LOCALE_DIR, which is the location of the localization folder (zanix)<br />
* Added constant 'ROSTER_MAXQUESTS' (zanix)<br />
* Basic ajax framework that is available to addons as well (pleegwat)<br />
** Read the Roster AddOn SDK for more info<br />
* c.php can now accept a member id (zanix)<br />
* New define CAN_INI_SET, true if we can configure php ini settings via ini_set() (zanix)<br />
* Added urlgrabber() function for global usage that gets a url file contents as a string (zeryl)<br />
** This uses curl then file_get_contents() if curl fails<br />
* New scope system for Roster (pleegwat)<br />
** These load specific data for each scope<br />
** realm/guildless - url: ?p=realm-ADDON (SEO: realm/ADDON.html) | ?p=guildless-ADDON (SEO: guildless/ADDON.html)<br />
*** Set the realm with the a=r: parameter ?p=realm-ADDON&a=r:RC-RNAME (SEO: realm/ADDON/a=r:RC-RNAME.html)<br />
** guild - url: ?p=guild-ADDON (SEO: guild/ADDON.html)<br />
*** Set the guild with the a=g: parameter ?p=guild-ADDON&a=g:GID (SEO: guild/ADDON/a=g:GID.html) | ?p=guild-ADDON&a=g:GNAME@RC-RNAME (SEO: guild/ADDON/a=g:GNAME@RC-RNAME.html)<br />
*** RC is the region code<br />
** char - url: ?p=char-ADDON (SEO: char/ADDON.html)<br />
*** Set the member with the a=c: parameter ?p=char-ADDON&a=c:MID (SEO: char/ADDON/a=c:MID.html) | ?p=char-ADDON&a=c:NAME@RC-RNAME (SEO: char/ADDON/a=c:NAME@RC-RNAME.html)<br />
*** RC is the region code<br />
* Tradeskill icons are now clickable in memberslist (zanix)<br />
* New header logo (adric)<br />
* Eye of the Storm summary added to pvplog (zanix)<br />
* Added lua upload access control (zanix)<br />
** GP, CP, and other LUA data all have separate level restrictions<br />
* Added a news addon (pleegwat)<br />
* Added guild vault addon (zanix)<br />
* Added a shell-based install script. Tested on linux. Will probably work on anything that has bash. (pleegwat)</div>Zanix