From WoWRosterWiKi
(Difference between revisions)
Jump to: navigation, search
m (Removed "|NoLang" from {{Disclaimer}} to show translated versions of the site.)
Line 1: Line 1:

Revision as of 18:08, 5 June 2012

Important note: When you edit this page, you agree to release your contribution into the public domain.
If you do not want this or can not do this because of license restrictions, please do not edit.


Plugin SDK

Most of the Plugin install system is like the Addon system see the AddOn SDK for more info some changes are as such

Each install.def.php for each plugin has to have these vars at the top after the class is started

class eventsInstall
	*	These Vars are used with the new Plugin installer 
	*	@var name - unique name for the plugin
	*	@var parent - the intended addon to use this plugin
	var $active = true;
	var $name = 'events';
	var $filename = 'events.php';
	var $parent = 'main';
	var $scope = 'guild';
	var $icon = 'achievement_worldevent_childrensweek';
	var $version = '1.0';
	var $oldversion = '';
	var $wrnet_id = '';
	var $fullname = 'WoW Events';
	var $description = 'Creates a display of the current ingame event.';
	var $credits = array(
		array(	"name"=>	"Ulminia <>",
			"info"=>	"WoW Events (Alpha Release)"),

Install Class

function install()

All the same functions you can use in addon install class work here BUT you cannot create menu buttons this is the only limitation

Addon Plugin Init

This function is customized for each addon and is included in the functions or main file for the addon to get plugin data

This is the Function used in the new WoWRoster Portal

function _initPlugins()
	global $roster, $addon;
	$plugins = $roster->plugin_data;
	if( !empty($plugins) )
		foreach( $plugins as $plugin_name => $plugin )
			if ($plugin['parent'] == $addon['basename'])
				if ($roster->plugin_data[$plugin_name]['active'] == '1')
					$xplugin = getplugin($plugin_name);
					foreach( $roster->multilanguages as $lang )
						$roster->locale->add_locale_file($xplugin['locale_dir'] . $lang . '.php', $lang);
					$plugin['scope'] = explode('|',$plugin['scope']);
					if (in_array( $roster->scope, $plugin['scope'] ) )
						$classfile = ROSTER_PLUGINS . $plugin_name . DIR_SEP . $plugin_name . '.php';
						$pluginstuff = new $plugin_name($xplugin);
							$this->block[] = array(
							'name'   => $roster->locale->act[$plugin_name]['title'],//$pluginstuff->fullname,
							'output' => $pluginstuff->output,
							'icon'   => $pluginstuff->icon
	return true;

after $pluginstuff = new $plugin_name($xplugin); is where custom variables are declared for each addon these do change from addon to addon $this->block is passed to the index.php and looped to output the custom blocks for this plugin.

Personal tools
Preview Roster