beingsane
5/13/2014 - 3:01 PM

joomla_components.xml

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<snippets>
    <category filters="*" id="category_1275479375591" initial_state="1" label="Joomla Components" largeicon="" smallicon="">
        <description><![CDATA[Snippets that support the general needs for any Joomla component.]]></description>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275479460203" label="PHP File Header" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[The standard header for a PHP file.]]></description>
            <content><![CDATA[<?php
/**
 * @version     $Id$
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @copyright   Copyright ${COPYRIGHT}. All rights reserved.
 * @license     GNU General Public License version 2 or later.
 */

// No direct access
defined('_JEXEC') or die;

]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="2011 New Life in IT Pty Ltd" id="name_3" name="COPYRIGHT">
                <description><![CDATA[The copyright statement.]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275479635542" label="XML Installation File (Component)" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[A basic XML manifest for a component.]]></description>
            <content><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<!-- $Id$ -->
<extension type="component" version="1.6.0" method="upgrade">
	<name>COM_${NAME}</name>
	<author>Andrew Eddie</author>
	<creationDate>${DATE}</creationDate>
	<copyright>Copyright ${COPYRIGHT}. All rights reserved.	</copyright>
	<license>GNU General Public License version 2 or later.</license>
	<authorEmail>${EMAIL}</authorEmail>
	<authorUrl>${URL}</authorUrl>
	<version>${VERSION}</version>
	<description>COM_${NAME}_XML_DESCRIPTION</description>
	<administration>
		<files>
			<filename>index.html</filename>
			<filename>${NAME}.php</filename>
		</files>
		<menu>COM_${NAME}</menu>
	</administration>
</extension>
]]></content>
            <variable default="" id="name_1" name="NAME">
                <description><![CDATA[The lower case name of the component (without com_).]]></description>
            </variable>
            <variable default="" id="name_2" name="DATE">
                <description><![CDATA[The deployment date of the component.]]></description>
            </variable>
            <variable default="2011 New Life in IT Pty Ltd" id="name_3" name="COPYRIGHT">
                <description><![CDATA[The copyright statement.]]></description>
            </variable>
            <variable default="andrew.eddie@newlifeinit.com" id="name_4" name="EMAIL">
                <description><![CDATA[The author email.]]></description>
            </variable>
            <variable default="www.newlifeinit.com" id="name_5" name="URL">
                <description><![CDATA[The author web site.]]></description>
            </variable>
            <variable default="1.0" id="name_6" name="VERSION">
                <description><![CDATA[The component version.]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275479391879" label="INI File Header" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[The standard header for an INI language file.]]></description>
            <content><![CDATA[; $Id$
; Copyright 2010 New Life in IT Pty Ltd. All rights reserved.
; License GNU General Public License version 2 or later.
; Note : All ini files need to be saved as UTF-8 - No BOM

]]></content>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275909113860" label="Master Component File" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This snippet provides the access check for the component, then instantiates the controller and executes the task in the request.]]></description>
            <content><![CDATA[// Access check.
if (!JFactory::getUser()->authorise('core.manage', 'com_${NAME}')) {
	return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
}

// Include dependencies
jimport('joomla.application.component.controller');

$controller = JController::getInstance('${NAME}');
$controller->execute(JRequest::getVar('task'));
$controller->redirect();]]></content>
            <variable default="" id="name_1" name="NAME">
                <description><![CDATA[The lower case name of the component (without com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275909640352" label="Master Controller" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[The master display controller for the component.]]></description>
            <content><![CDATA[jimport('joomla.application.component.controller');

/**
 * ${NAME} Component Controller
 *
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @since       ${SINCE}
 */
class ${NAME}Controller extends JController
{
}]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="" id="name_3" name="NAME">
                <description><![CDATA[The proper case name of the component (without com_).]]></description>
            </variable>
            <variable default="1.0" id="name_4" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275909822586" label="Basic View" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[A basic view for a component.]]></description>
            <content><![CDATA[jimport('joomla.application.component.view');

/**
 * ${VIEW} view.
 *
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @since       ${SINCE}
 */
class ${NAME}View${VIEW} extends JView
{
}]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="" id="name_3" name="NAME">
                <description><![CDATA[The proper case name of the component (without com_).]]></description>
            </variable>
            <variable default="" id="name_4" name="VIEW">
                <description><![CDATA[The proper case name of the view.]]></description>
            </variable>
            <variable default="1.0" id="name_5" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275909964972" label="Basic Model" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[A basic model for a component.]]></description>
            <content><![CDATA[jimport('joomla.application.component.model');

/**
 * ${MODEL} model.
 *
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @since       ${SINCE}
 */
class ${NAME}Model${MODEL} extends JModel
{
}]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="" id="name_3" name="NAME">
                <description><![CDATA[The proper case name of the component.]]></description>
            </variable>
            <variable default="" id="name_4" name="MODEL">
                <description><![CDATA[The proper case name of the model.]]></description>
            </variable>
            <variable default="1.0" id="name_5" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275992666831" label="Basic View with Toolbar" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This snippet adds a simple override to the display method for a view, and adds a toolbar method to display the title of the view and test whether the Options button can be added.]]></description>
            <content><![CDATA[	/**
	 * Override the display method for the view.
	 *
	 * @return  void
	 * @since   ${SINCE}
	 */
	public function display()
	{
		$this->addToolbar();
		parent::display();
	}

	/**
	 * Add the page title and toolbar.
	 *
	 * @return  void
	 * @since   ${SINCE}
	 */
	protected function addToolbar()
	{
		$canDo	= ${NAME}Helper::getActions();

		// Add the view title.
		JToolBarHelper::title(JText::_('COM_${NAME}_${VIEW}_TITLE'));

		// Check if the Options button can be added.
		if ($canDo->get('core.admin')) {
			JToolBarHelper::preferences('${OPTION}');
		}
	}]]></content>
            <variable default="" id="name_1" name="NAME">
                <description><![CDATA[The proper case name of the component (without COM_).]]></description>
            </variable>
            <variable default="" id="name_2" name="VIEW">
                <description><![CDATA[The upper case name of the view.]]></description>
            </variable>
            <variable default="1.0" id="name_3" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
            <variable default="" id="name_4" name="OPTION">
                <description><![CDATA[The lower case option for the component (with com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275994786665" label="Basic Controller Display Override" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This snippet adds a basic display method override to the controller to load the component helper.]]></description>
            <content><![CDATA[	/**
	 * Override the display method for the controller.
	 *
	 * @return  void
	 * @since   ${SINCE}
	 */
	function display()
	{
		// Load the component helper.
		require_once JPATH_COMPONENT.'/helpers/${NAME}.php';

		// Display the view.
		parent::display();
	}]]></content>
            <variable default="1.0" id="name_1" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
            <variable default="" id="name_2" name="NAME">
                <description><![CDATA[The lower case name of the component (without com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275993353265" label="Basic Component Helper" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This snippet adds the basic component helper class.]]></description>
            <content><![CDATA[/**
 * ${NAME} display helper.
 *
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @since       ${SINCE}
 */
class ${NAME}Helper
{
	/**
	 * Gets a list of the actions that can be performed.
	 *
	 * @return  JObject
	 * @since   1.6
	 */
	public static function getActions()
	{
		$user	= JFactory::getUser();
		$result	= new JObject;

		$actions = array(
			'core.admin', 'core.manage', 'core.create', 'core.edit', 'core.edit.state', 'core.delete'
		);

		foreach ($actions as $action) {
			$result->set($action, $user->authorise($action, '${OPTION}'));
		}

		return $result;
	}
}]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="1.0" id="name_3" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
            <variable default="" id="name_4" name="NAME">
                <description><![CDATA[The propercase name of the component (without com_).]]></description>
            </variable>
            <variable default="" id="name_5" name="OPTION">
                <description><![CDATA[The lowercase option for the component (with com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275994131378" label="Basic config.xml" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This is a basic component config.xml that has sufficient information to support the component permissions.]]></description>
            <content><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<!-- $Id$ -->
<config>
	<fieldset
		name="permissions"
		label="JCONFIG_PERMISSIONS_LABEL"
		description="JCONFIG_PERMISSIONS_DESC"
		>

		<field
			name="rules"
			type="rules"
			label="JCONFIG_PERMISSIONS_LABEL"
			class="inputbox"
			filter="rules"
			component="${OPTION}"
			section="component" />
	</fieldset>
</config>]]></content>
            <variable default="" id="name_1" name="OPTION">
                <description><![CDATA[The lower case option for the component (with com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1275994266858" label="Basic access.xml" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This is a basic component access.xml that has sufficient information to support the component permissions.]]></description>
            <content><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
<!-- $Id$ -->
<access component="${OPTION}">
	<section name="component">
		<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
		<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
		<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
		<action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
		<action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
		<action name="core.edit.state" title="JACTION_EDIT_STATE" description="JACTION_EDIT_STATE_COMPONENT_DESC" />
	</section>
</access>]]></content>
            <variable default="" id="name_1" name="OPTION">
                <description><![CDATA[The lower case option for the component (with com_).]]></description>
            </variable>
        </item>
        <item category="category_1275479375591" class="" editorclass="" id="item_1276476050476" label="Basic Table Class" largeicon="" smallicon="" snippetProvider="org.eclipse.wst.common.snippets.ui.TextSnippetProvider">
            <description><![CDATA[This snippet adds a basic table class.  You would add custom bind, check, store, et al methods to suit your data model.]]></description>
            <content><![CDATA[jimport('joomla.database.table');

/**
 * ${TABLE} table.
 *
 * @package     ${PACKAGE}
 * @subpackage  ${SUBPACKAGE}
 * @since       ${SINCE}
 */
class ${NAME}Table${TABLE} extends JTable
{
	/**
	 * Constructor.
	 *
	 * @param   JDatabase  $db  A database connector object.
	 *
	 * @return  ${NAME}Table${TABLE}
	 * @since   ${SINCE}
	 */
	public function __construct($db)
	{
		parent::__construct('#__${DBTABLE}', '${PRIMARYKEY}', $db);
	}

	/**
	 * Overloaded bind function to pre-process the params.
	 *
	 * @param   array   $array   The input array to bind.
	 * @param   string  $ignore  A list of fields to ignore in the binding.
	 *
	 * @return  null|string	null is operation was satisfactory, otherwise returns an error
	 * @see     JTable:bind
	 * @since   ${SINCE}
	 */
	public function bind($array, $ignore = '')
	{
		if (isset($array['params']) && is_array($array['params'])) {
			$registry = new JRegistry();
			$registry->loadArray($array['params']);
			$array['params'] = (string) $registry;
		}

		return parent::bind($array, $ignore);
	}

	/**
	 * Overloaded check method to ensure data integrity.
	 *
	 * @return  boolean  True on success.
	 * @since   ${SINCE}
	 */
	public function check()
	{
		// Check for valid name.
		if (trim($this->title) === '') {
			$this->setError(JText::_('COM_${NAME}_ERROR_${TABLE}_TITLE'));
			return false;
		}

		return true;
	}

	/**
	 * Overload the store method for the Weblinks table.
	 *
	 * @param   boolean  $updateNulls  Toggle whether null values should be updated.
	 *
	 * @return  boolean  True on success, false on failure.
	 * @since   ${SINCE}
	 */
	public function store($updateNulls = false)
	{
		// Initialiase variables.
		$date	= JFactory::getDate()->toMySQL();
		$userId	= JFactory::getUser()->get('id');

		if (empty($this->id)) {
			// New record.
			$this->created_time		= $date;
			$this->created_user_id	= $userId;
		} 
		else {
			// Existing record.
			$this->modified_time	= $date;
			$this->modified_user_id	= $userId;
		}

		// Attempt to store the data.
		return parent::store($updateNulls);
	}
}]]></content>
            <variable default="" id="name_1" name="PACKAGE">
                <description><![CDATA[The API package.]]></description>
            </variable>
            <variable default="" id="name_2" name="SUBPACKAGE">
                <description><![CDATA[The API subpackage.]]></description>
            </variable>
            <variable default="1.0" id="name_3" name="SINCE">
                <description><![CDATA[The version this feature was added.]]></description>
            </variable>
            <variable default="" id="name_4" name="NAME">
                <description><![CDATA[The proper case name of the component (without com_).]]></description>
            </variable>
            <variable default="" id="name_5" name="TABLE">
                <description><![CDATA[The proper case name of the table. Usually singular form.]]></description>
            </variable>
            <variable default="" id="name_6" name="DBTABLE">
                <description><![CDATA[The name of the actual database table (without prefix). Usually plural form.]]></description>
            </variable>
            <variable default="id" id="name_7" name="PRIMARYKEY">
                <description><![CDATA[The name of the primary key field in the database table.]]></description>
            </variable>
        </item>
    </category>
</snippets>