Roster main database tables are not edited, unless you provide a clean way to revert the data in your uninstall

Basics of an AddOn

The following are required to run the WoWRoster back-end and to be able to run any AddOns
>Roster Requirements<

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.
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.

We will be constantly refining the system as we go along.
So with each new version of Roster, some AddOns may break (not work in the new WoWRoster)

Important:

DO NOT use php short tags in your php files
This is also stated in the WoWRoster Coding StandardsNO!<? ?>YES<?php ?>NO!<?=$var; ?>YES<?php echo $var; ?>
Use the "long tags" as the short ones can break web servers with short_tags set to "off"

Changes Since 1.7.3

All AddOns need to be installed using an install definition file inc/install.def.php.

During install, database tables, graphical configuration, menu buttons, and update hooks can be registered with the main framework.

menu.php file is no longer required.

conf.php is still used because there may be more to initialize than just settings.

conf.php has been moved to addonname/inc/conf.php

Several variables in addon.php, most notably $addonDir, have changed names.

localization.php is no longer used.

Locale files are now placed in the locale subfolder of the addon and are named for the locale they are made for

Configuration from database is automatically added. Addons are initialized in this order:

guild Folder

Files for use in the Guild scope
Data for the requested guild is passed to the AddOn
If guild= is not specified, the default guild/realm name set in Roster CP will show
If the guild does not exist or if there is no data for this guild, an error message will display

inc Folder

This folder houses special files not meant for direct access by the AddOn Framework
These files are conf.php, install.def.php, and update_hook.php
You can also use this folder for lib, library, and/or functions files

Place any files here that you do not or should not be accessed directly by the AddOn Framework

locale Folder

Where locale translation files go
See below for more info Locale Files

realm Folder

Files for use in the Realm scope
Data for the requested realm is passed to the AddOn
If realm= is not specified, the default realm name set in Roster CP will show
If the realm does not exist or if there is no data for this realm, an error message will display

AddOn Config Function File

Both function types call functions that can be defined in a file called 'config.func.php' in your AddOn's admin/ directory.

If this file has a function named topBox(), the html returned by this function will be put above the options in the middle column.

Locale Files

These are used in translating any text in your AddOn if you want to support multi-langages.
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.

Roster currently supports deDE, enUS, frFR, and esES, these are taken out of character profiler based on what region of WOW they are using.

$roster->output['show_menu'] can accept a string or an array of button listings to display
When building an addon, you can build your own button listing that only displays on your addon pages
Pass a string for only one set of buttons, or pass an array for multiple sets of buttons

/**
* This will remove HTML tags, javascript sections and white space
* It will also convert some common HTML entities to their text equivalent
*
* @param string $file
*/function stripAllHtml($string)

/**
* This will check if the given Filename is an image
*
* @param imagefile $file
* @return mixed The extentsion if the filetype is an image, false if it is not
*/function check_if_image($imagefilename)

Addon Credits

Link = http://[www.someurl.net]/roster/?p=credits (SEO: http://[www.someurl.net]/roster/credits.html)
To get credits on the main credit page, set the $credits array in the AddOn's inc/install.def.php file