first commit - v1.0.0
This commit is contained in:
commit
761921fb89
63
componentbuilderlanguagetabs.php
Normal file
63
componentbuilderlanguagetabs.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
use Joomla\CMS\Application\CMSApplication;
|
||||
use Joomla\CMS\Plugin\CMSPlugin;
|
||||
use Joomla\Registry\Registry;
|
||||
use Joomla\CMS\Form\Form;
|
||||
|
||||
JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php');
|
||||
|
||||
/**
|
||||
* Content - Componentbuilder Language Tabs plugin.
|
||||
*
|
||||
* @package ComponentbuilderLanguageTabs
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class PlgContentComponentbuilderLanguageTabs extends CMSPlugin
|
||||
{
|
||||
/**
|
||||
* Affects constructor behavior. If true, language files will be loaded automatically.
|
||||
*
|
||||
* @var boolean
|
||||
* @since 1.0
|
||||
*/
|
||||
protected $autoloadLanguage = true;
|
||||
|
||||
/**
|
||||
* Runs on content preparation of form.
|
||||
*
|
||||
* @param JForm $form The form
|
||||
* @param stdClass $data The data
|
||||
*
|
||||
* @return boolean
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
public function onContentPrepareForm(Form $form, $data)
|
||||
{
|
||||
$context = $form->getName();
|
||||
|
||||
// When this is componentbuilder admin view
|
||||
if (strpos($context, 'com_componentbuilder.joomla_component') === 0)
|
||||
{
|
||||
// Add the forms path
|
||||
Form::addFormPath(__DIR__ . '/forms');
|
||||
// add the admin view params for privacy integration
|
||||
$form->loadFile('joomla_component');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
31
componentbuilderlanguagetabs.xml
Normal file
31
componentbuilderlanguagetabs.xml
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="plugin" version="3.8" group="content" method="upgrade">
|
||||
<name>PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS</name>
|
||||
<creationDate>20th February, 2021</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<version>1.0.0</version>
|
||||
<description>PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_XML_DESCRIPTION</description>
|
||||
|
||||
<!-- Scripts to run on installation -->
|
||||
<scriptfile>script.php</scriptfile>
|
||||
|
||||
<!-- Language files -->
|
||||
<languages folder="language">
|
||||
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderlanguagetabs.ini</language>
|
||||
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderlanguagetabs.sys.ini</language>
|
||||
</languages>
|
||||
|
||||
<!-- Plugin files -->
|
||||
<files>
|
||||
<filename plugin="componentbuilderlanguagetabs">componentbuilderlanguagetabs.php</filename>
|
||||
<filename>index.html</filename>
|
||||
<folder>language</folder>
|
||||
<folder>fields</folder>
|
||||
<folder>forms</folder>
|
||||
<folder>rules</folder>
|
||||
</files>
|
||||
</extension>
|
176
fields/excludedlanguages.php
Normal file
176
fields/excludedlanguages.php
Normal file
@ -0,0 +1,176 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
JFormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Excludedlanguages Form Field class for the Componentbuilder component
|
||||
*/
|
||||
class JFormFieldExcludedlanguages extends JFormFieldList
|
||||
{
|
||||
/**
|
||||
* The excludedlanguages field type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $type = 'excludedlanguages';
|
||||
|
||||
/**
|
||||
* Override to add new button
|
||||
*
|
||||
* @return string The field input markup.
|
||||
*
|
||||
* @since 3.2
|
||||
*/
|
||||
protected function getInput()
|
||||
{
|
||||
// see if we should add buttons
|
||||
$set_button = $this->getAttribute('button');
|
||||
// get html
|
||||
$html = parent::getInput();
|
||||
// if true set button
|
||||
if ($set_button === 'true')
|
||||
{
|
||||
$button = array();
|
||||
$script = array();
|
||||
$button_code_name = $this->getAttribute('name');
|
||||
// get the input from url
|
||||
$app = JFactory::getApplication();
|
||||
$jinput = $app->input;
|
||||
// get the view name & id
|
||||
$values = $jinput->getArray(array(
|
||||
'id' => 'int',
|
||||
'view' => 'word'
|
||||
));
|
||||
// check if new item
|
||||
$ref = '';
|
||||
$refJ = '';
|
||||
if (!is_null($values['id']) && strlen($values['view']))
|
||||
{
|
||||
// only load referral if not new item.
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) JUri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
$refJ .= '&return=' . $_return;
|
||||
}
|
||||
// get button label
|
||||
$button_label = trim($button_code_name);
|
||||
$button_label = preg_replace('/_+/', ' ', $button_label);
|
||||
$button_label = preg_replace('/\s+/', ' ', $button_label);
|
||||
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
|
||||
$button_label = ucfirst(strtolower($button_label));
|
||||
// get user object
|
||||
$user = JFactory::getUser();
|
||||
// only add if user allowed to create language
|
||||
if ($user->authorise('language.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
|
||||
{
|
||||
// build Create button
|
||||
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
|
||||
href="index.php?option=com_componentbuilder&view=language&layout=edit'.$ref.'" >
|
||||
<span class="icon-new icon-white"></span></a>';
|
||||
}
|
||||
// only add if user allowed to edit language
|
||||
if ($user->authorise('language.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area.
|
||||
{
|
||||
// build edit button
|
||||
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
|
||||
<span class="icon-edit"></span></a>';
|
||||
// build script
|
||||
$script[] = "
|
||||
jQuery(document).ready(function() {
|
||||
jQuery('#adminForm').on('change', '#jform_".$button_code_name."',function (e) {
|
||||
e.preventDefault();
|
||||
var ".$button_code_name."Value = jQuery('#jform_".$button_code_name."').val();
|
||||
".$button_code_name."Button(".$button_code_name."Value);
|
||||
});
|
||||
var ".$button_code_name."Value = jQuery('#jform_".$button_code_name."').val();
|
||||
".$button_code_name."Button(".$button_code_name."Value);
|
||||
});
|
||||
function ".$button_code_name."Button(value) {
|
||||
if (value > 0) {
|
||||
// hide the create button
|
||||
jQuery('#".$button_code_name."Create').hide();
|
||||
// show edit button
|
||||
jQuery('#".$button_code_name."Edit').show();
|
||||
var url = 'index.php?option=com_componentbuilder&view=languages&task=language.edit&id='+value+'".$refJ."';
|
||||
jQuery('#".$button_code_name."Edit').attr('href', url);
|
||||
} else {
|
||||
// show the create button
|
||||
jQuery('#".$button_code_name."Create').show();
|
||||
// hide edit button
|
||||
jQuery('#".$button_code_name."Edit').hide();
|
||||
}
|
||||
}";
|
||||
}
|
||||
// check if button was created for language field.
|
||||
if (is_array($button) && count($button) > 0)
|
||||
{
|
||||
// Load the needed script.
|
||||
$document = JFactory::getDocument();
|
||||
$document->addScriptDeclaration(implode(' ',$script));
|
||||
// return the button attached to input field.
|
||||
return '<div class="input-append">' .$html . implode('',$button).'</div>';
|
||||
}
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get a list of options for a list input.
|
||||
*
|
||||
* @return array An array of JHtml options.
|
||||
*/
|
||||
protected function getOptions()
|
||||
{
|
||||
$db = JFactory::getDBO();
|
||||
$query = $db->getQuery(true);
|
||||
$query->select($db->quoteName(array('a.langtag','a.name'),array('langtag','languages_name')));
|
||||
$query->from($db->quoteName('#__componentbuilder_language', 'a'));
|
||||
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||
$query->order('a.langtag ASC');
|
||||
$db->setQuery((string)$query);
|
||||
$items = $db->loadObjectList();
|
||||
// add the main language
|
||||
$main_lang = trim(JComponentHelper::getParams('com_componentbuilder')->get('language', 'en-GB'));
|
||||
// check if any language was added
|
||||
$wasAdded = false;
|
||||
$options = array();
|
||||
if ($items)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', 'Select an option');
|
||||
foreach($items as $item)
|
||||
{
|
||||
$item->langtag = trim($item->langtag);
|
||||
// do not add main language
|
||||
if ($main_lang !== $item->langtag)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $item->langtag, $item->languages_name . ' (' .$item->langtag.')');
|
||||
$wasAdded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// now if none was added give notice
|
||||
if (!$wasAdded)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', 'Add languages to select');
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
}
|
1
fields/index.html
Normal file
1
fields/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
1
forms/index.html
Normal file
1
forms/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
73
forms/joomla_component.xml
Normal file
73
forms/joomla_component.xml
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- default paths of joomla_component form points to componentbuilder -->
|
||||
<form>
|
||||
<fields name="params">
|
||||
<!-- default paths of language_options fieldset points to the plugin -->
|
||||
<fieldset name="language_options" label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGE_OPTIONS"
|
||||
addrulepath="/plugins/content/componentbuilderlanguagetabs/rules"
|
||||
addfieldpath="/plugins/content/componentbuilderlanguagetabs/fields"
|
||||
>
|
||||
<fields name="language_options">
|
||||
<!-- Note_language_note Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_language_note" label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_LABEL" description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_DESCRIPTION" heading="h2" class="alert alert-info note_language_note" />
|
||||
<!-- Activate Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="activate"
|
||||
label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_LABEL"
|
||||
description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="0"
|
||||
required="true">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_YES</option>
|
||||
<option value="0">
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NO</option>
|
||||
</field>
|
||||
<!-- Use_percentagelanguageadd Field. Type: Radio. (joomla) -->
|
||||
<field
|
||||
type="radio"
|
||||
name="use_percentagelanguageadd"
|
||||
label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_LABEL"
|
||||
description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_DESCRIPTION"
|
||||
class="btn-group btn-group-yesno"
|
||||
default="1"
|
||||
showon="activate:1">
|
||||
<!-- Option Set. -->
|
||||
<option value="1">
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_GLOBAL</option>
|
||||
<option value="2">
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LOCAL</option>
|
||||
</field>
|
||||
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
|
||||
<field
|
||||
type="number"
|
||||
name="percentagelanguageadd"
|
||||
label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_LABEL"
|
||||
default="50"
|
||||
description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_DESCRIPTION"
|
||||
class="text_area"
|
||||
min="10"
|
||||
max="100"
|
||||
step="10"
|
||||
showon="use_percentagelanguageadd:2[AND]activate:1"
|
||||
/>
|
||||
<!-- Note_languages_keep Field. Type: Note. A None Database Field. (joomla) -->
|
||||
<field type="note" name="note_languages_keep" label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_LABEL" description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_DESCRIPTION" heading="h2" class="alert alert-info note_languages_keep" showon="activate:1" />
|
||||
<!-- Languages Field. Type: Excludedlanguages. (custom) -->
|
||||
<field
|
||||
type="excludedlanguages"
|
||||
name="languages"
|
||||
label="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_LABEL"
|
||||
description="PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_DESCRIPTION"
|
||||
class="list_class"
|
||||
multiple="true"
|
||||
default="en-GB"
|
||||
showon="activate:1"
|
||||
button="true"
|
||||
/>
|
||||
</fields>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</form>
|
1
index.html
Normal file
1
index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
@ -0,0 +1,20 @@
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS="Content - Componentbuilder Language Tabs"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_DESCRIPTION="This plugin is used to link your components to the language packaging and extending options, so you can set all the required details for the integration."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Language Tabs (v.1.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to link your components to the language packaging and extending options, so you can set all the required details for the integration.</p><p>Created by <a href='http://www.joomlacomponentbuilder.com' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 19th March, 2020</small></p>"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGE_OPTIONS="Language Options"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_LABEL="Would you like to move languages to their own packages?"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_DESCRIPTION="<p>Adding all your translations to your component can increase its size dramatically, so now you are able to move each extra language translation to its own installing package, leaving just your main language in the component.</p><p>Please note that this is only relevant if you actually have added extra translations to your component in the <b>Language Translations</b> area of JCB.</p>"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_LABEL="Activate"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_DESCRIPTION="Turn on the integration."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_YES="Yes"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NO="No"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_LABEL="Add Language Settings"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_DESCRIPTION="Select what option should be used"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_GLOBAL="Global"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LOCAL="Local"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_LABEL="Add Language if %? ready."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_DESCRIPTION="Select percentage any language should be translated before the system should add the language to the component during compilation."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_LABEL="Do want to keep some languages in your component?"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_DESCRIPTION="The JCB system <b>main language</b> will always be <b>kept in</b> your component. Select any of the other languages you would like to keep <b>in</b> your component. They will then be excluded from this language packaging option. (or leave blank for none)"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_LABEL="Languages"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_DESCRIPTION="The JCB system <b>main language</b> will always be <b>kept in</b> your component. Select any of the other languages you would like to keep <b>in</b> your component. They will then be excluded from this language packaging option. (or leave blank for none)"
|
@ -0,0 +1,20 @@
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS="Content - Componentbuilder Language Tabs"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_DESCRIPTION="This plugin is used to link your components to the language packaging and extending options, so you can set all the required details for the integration."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Language Tabs (v.1.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to link your components to the language packaging and extending options, so you can set all the required details for the integration.</p><p>Created by <a href='http://www.joomlacomponentbuilder.com' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 19th March, 2020</small></p>"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGE_OPTIONS="Language Options"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_LABEL="Would you like to move languages to their own packages?"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGE_NOTE_DESCRIPTION="<p>Adding all your translations to your component can increase its size dramatically, so now you are able to move each extra language translation to its own installing package, leaving just your main language in the component.</p><p>Please note that this is only relevant if you actually have added extra translations to your component in the <b>Language Translations</b> area of JCB.</p>"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_LABEL="Activate"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_ACTIVATE_DESCRIPTION="Turn on the integration."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_YES="Yes"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NO="No"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_LABEL="Add Language Settings"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_USE_PERCENTAGELANGUAGEADD_DESCRIPTION="Select what option should be used"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_GLOBAL="Global"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LOCAL="Local"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_LABEL="Add Language if %? ready."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_PERCENTAGELANGUAGEADD_DESCRIPTION="Select percentage any language should be translated before the system should add the language to the component during compilation."
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_LABEL="Do want to keep some languages in your component?"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_NOTE_LANGUAGES_KEEP_DESCRIPTION="The JCB system <b>main language</b> will always be <b>kept in</b> your component. Select any of the other languages you would like to keep <b>in</b> your component. They will then be excluded from this language packaging option. (or leave blank for none)"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_LABEL="Languages"
|
||||
PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_LANGUAGES_DESCRIPTION="The JCB system <b>main language</b> will always be <b>kept in</b> your component. Select any of the other languages you would like to keep <b>in</b> your component. They will then be excluded from this language packaging option. (or leave blank for none)"
|
1
language/en-GB/index.html
Normal file
1
language/en-GB/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
1
language/index.html
Normal file
1
language/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
1
rules/index.html
Normal file
1
rules/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
79
script.php
Normal file
79
script.php
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
/**
|
||||
* Content - Componentbuilder Language Tabs script file.
|
||||
*
|
||||
* @package PlgContentComponentbuilderLanguageTabs
|
||||
*/
|
||||
class plgContentComponentbuilderLanguageTabsInstallerScript
|
||||
{
|
||||
|
||||
/**
|
||||
* Called before any type of action
|
||||
*
|
||||
* @param string $route Which action is happening (install|uninstall|discover_install|update)
|
||||
* @param JAdapterInstance $adapter The object responsible for running this script
|
||||
*
|
||||
* @return boolean True on success
|
||||
*/
|
||||
public function preflight($route, JAdapterInstance $adapter)
|
||||
{
|
||||
// get application
|
||||
$app = JFactory::getApplication();
|
||||
|
||||
// the default for both install and update
|
||||
$jversion = new JVersion();
|
||||
if (!$jversion->isCompatible('3.8.0'))
|
||||
{
|
||||
$app->enqueueMessage('Please upgrade to at least Joomla! 3.8.0 before continuing!', 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('install' === $route)
|
||||
{
|
||||
// check that componentbuilder is installed
|
||||
$pathToCore = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php';
|
||||
if (!JFile::exists($pathToCore))
|
||||
{
|
||||
$app->enqueueMessage('Joomla Component Builder must first be installed from <a href="https://www.joomlacomponentbuilder.com/ " target="_blank">Joomla Component Builder</a>.', 'error');
|
||||
return false;
|
||||
}
|
||||
// load the helper class
|
||||
JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php');
|
||||
// block install
|
||||
$blockInstall = true;
|
||||
// check the version of JCB
|
||||
$manifest = ComponentbuilderHelper::manifest();
|
||||
if (isset($manifest->version) && strpos($manifest->version, '.') !== false)
|
||||
{
|
||||
// get the version
|
||||
$jcbVersion = explode('.', $manifest->version);
|
||||
// check that we have JCB 2.10.13 or higher installed
|
||||
if (count($jcbVersion) == 3 && $jcbVersion[0] >= 2 && $jcbVersion[1] >= 10 && (($jcbVersion[1] == 10 && $jcbVersion[2] >= 13) || ($jcbVersion[1] > 10)))
|
||||
{
|
||||
$blockInstall = false;
|
||||
}
|
||||
}
|
||||
// allow install if all conditions are met
|
||||
if ($blockInstall)
|
||||
{
|
||||
$app->enqueueMessage('Please upgrade to JCB 2.10.13 or higher before installing this plugin.', 'error');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user