Initial JCB API #110

Merged
Llewellyn merged 4 commits from staging into master 2017-08-21 12:13:58 +00:00
253 changed files with 6103 additions and 612 deletions

View File

@ -3,13 +3,13 @@
This is a [Joomla 3.x](http://www.joomla.org/) component.
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/component-300.jpg "The Component Builder")
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/vdm-component.jpg "The Component Builder")
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time.
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.10) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.5.0) with **ALL** its features and **ALL** concepts totally open-source and free!
Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -108,13 +108,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 12th August, 2017
+ *Version*: 2.4.10
+ *Last Build*: 21st August, 2017
+ *Version*: 2.5.0
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **106298**
+ *File count*: **651**
+ *Folder count*: **115**
+ *Line count*: **111648**
+ *File count*: **663**
+ *Folder count*: **117**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
@ -123,5 +123,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -3,13 +3,13 @@
This is a [Joomla 3.x](http://www.joomla.org/) component.
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/component-300.jpg "The Component Builder")
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/vdm-component.jpg "The Component Builder")
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time.
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.10) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.5.0) with **ALL** its features and **ALL** concepts totally open-source and free!
Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -108,13 +108,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 12th August, 2017
+ *Version*: 2.4.10
+ *Last Build*: 21st August, 2017
+ *Version*: 2.5.0
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **106298**
+ *File count*: **651**
+ *Folder count*: **115**
+ *Line count*: **111648**
+ *File count*: **663**
+ *Folder count*: **117**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
@ -123,5 +123,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -101,6 +101,7 @@
<action name="help_document.export" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC" />
<action name="help_document.import" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC" />
<action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" />
<action name="joomla_component.backup" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC" />
<action name="joomla_component.export_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS_DESC" />
<action name="joomla_component.import_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS_DESC" />
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage dashboard.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC
@build 7th August, 2017
@version @update number 355 of this MVC
@build 21st August, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC
@build 7th August, 2017
@version @update number 355 of this MVC
@build 21st August, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_components.css

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -157,7 +157,14 @@ abstract class ###Component###Helper
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -440,12 +447,20 @@ abstract class ###Component###Helper
**/
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = '###component###')
{
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// load the model file
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath( $path . '/models' );
// get instance
$model = JModelLegacy::getInstance( $name, $component.'Model' );
// if model not found
if ($model == false)
{
// build class name
$class = $prefix.$name;
// initilize the model
new $class();
$model = JModelLegacy::getInstance($name, $prefix);
}
return $model;
}
/**
@ -652,10 +667,16 @@ abstract class ###Component###Helper
return false;
}
// typo sorry!
public static function sorten($string, $length = 40, $addTip = true)
{
return self::shorten($string, $length, $addTip);
}
public static function shorten($string, $length = 40, $addTip = true)
{
if (self::checkString($string))
{
{
$initial = strlen($string);
$words = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
$words_count = count($words);
@ -675,7 +696,7 @@ abstract class ###Component###Helper
$final = strlen($newString);
if ($initial != $final && $addTip)
{
$title = self::sorten($string, 400 , false);
$title = self::shorten($string, 400 , false);
return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>';
}
elseif ($initial != $final && !$addTip)
@ -774,15 +795,15 @@ abstract class ###Component###Helper
return '';
}
public static function htmlEscape($var, $charset = 'UTF-8', $sorten = false, $length = 40)
public static function htmlEscape($var, $charset = 'UTF-8', $shorten = false, $length = 40)
{
if (self::checkString($var))
{
$filter = new JFilterInput();
$string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML');
if ($sorten)
if ($shorten)
{
return self::sorten($string,$length);
return self::shorten($string,$length);
}
return $string;
}

View File

@ -114,6 +114,8 @@ abstract class ###Component###Email
$sendmail = $globalConf->get('sendmail');
$mailfrom = $globalConf->get('mailfrom');
$fromname = $globalConf->get('fromname');
$replyto = $globalConf->get('replyto');
$replytoname = $globalConf->get('replytoname');
}
else
{
@ -126,15 +128,15 @@ abstract class ###Component###Email
$sendmail = $conf->get('sendmail');
$mailfrom = $conf->get('mailfrom');
$fromname = $conf->get('fromname');
$mailreply = $conf->get('mailreply');
$replyname = $conf->get('replyname');
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// set the global reply-to
if ($mailreply && $fromname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $mailreply, $replyname ) );
}
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
}
// Set global sender
@ -276,4 +278,74 @@ abstract class ###Component###Email
return $sendmail;
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />
* in your html that you pass to this method
* since it is a table row it does not
* work well with paragraphs
*
* @return string on success
*
*/
public static function setTableBody($html, $subject)
{
$body = array();
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
$body[] = "<head>";
$body[] = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$body[] = "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>";
$body[] = "<title>".$subject."</title>";
$body[] = "<style type=\"text/css\">";
$body[] = "#outlook a {padding:0;}";
$body[] = ".ExternalClass {width:100%;}";
$body[] = ".ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} ";
$body[] = "p {margin: 0; padding: 0; font-size: 0px; line-height: 0px;} ";
$body[] = "table td {border-collapse: collapse;}";
$body[] = "table {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }";
$body[] = "img {display: block; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;}";
$body[] = "a img {border: none;}";
$body[] = "a {text-decoration: none; color: #000001;}";
$body[] = "a.phone {text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}";
$body[] = "span {font-size: 13px; line-height: 17px; font-family: monospace; color: #000001;}";
$body[] = "</style>";
$body[] = "<!--[if gte mso 9]>";
$body[] = "<style>";
$body[] = "/* Target Outlook 2007 and 2010 */";
$body[] = "</style>";
$body[] = "<![endif]-->";
$body[] = "</head>";
$body[] = "<body style=\"width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;\">";
$body[] = "\n<!-- body wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin:0; padding:0; width:100%; line-height: 100% !important;\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- edge wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"800\" >";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- content wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"780\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\" style=\"vertical-align: top;\">";
$body[] = $html;
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / content wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / edge wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / page wrapper -->";
$body[] = "</body>";
$body[] = "</html>";
return implode("\n", $body);
}
}

View File

@ -118,12 +118,23 @@ abstract class ###Component###Helper
**/
public static function getModel($name, $path = JPATH_COMPONENT_SITE, $component = '###component###')
{
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// full path
$fullPath = $path . '/models';
// load the model file
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath($fullPath);
// get instance
$model = JModelLegacy::getInstance( $name, $component.'Model' );
// if model not found
if ($model == false)
{
require_once $fullPath.'/'.strtolower($name).'.php';
// build class name
$class = $prefix.$name;
// initialize the model
new $class();
$model = JModelLegacy::getInstance($name, $prefix);
}
return $model;
}
/**
@ -331,7 +342,14 @@ abstract class ###Component###Helper
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -644,7 +662,13 @@ abstract class ###Component###Helper
return false;
}
// typo sorry!
public static function sorten($string, $length = 40, $addTip = true)
{
return self::shorten($string, $length, $addTip);
}
public static function shorten($string, $length = 40, $addTip = true)
{
if (self::checkString($string))
{
@ -667,7 +691,7 @@ abstract class ###Component###Helper
$final = strlen($newString);
if ($initial != $final && $addTip)
{
$title = self::sorten($string, 400 , false);
$title = self::shorten($string, 400 , false);
return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>';
}
elseif ($initial != $final && !$addTip)
@ -766,15 +790,15 @@ abstract class ###Component###Helper
return '';
}
public static function htmlEscape($var, $charset = 'UTF-8', $sorten = false, $length = 40)
public static function htmlEscape($var, $charset = 'UTF-8', $shorten = false, $length = 40)
{
if (self::checkString($var))
{
$filter = new JFilterInput();
$string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML');
if ($sorten)
if ($shorten)
{
return self::sorten($string,$length);
return self::shorten($string,$length);
}
return $string;
}

View File

@ -30,7 +30,7 @@ defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<img alt="<?php echo JText::_('COM_###COMPONENT###'); ?>" src="components/com_###component###/assets/images/component-300.###COMP_IMAGE_TYPE###">
<img alt="<?php echo JText::_('COM_###COMPONENT###'); ?>" src="components/com_###component###/assets/images/vdm-component.###COMP_IMAGE_TYPE###">
<ul class="list-striped">
<li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?>&nbsp;&nbsp;<span class="update-notice"></span></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li>

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php
@ -44,6 +44,7 @@ $document->addScript('components/com_componentbuilder/assets/js/admin.js');
// require helper files
JLoader::register('ComponentbuilderHelper', dirname(__FILE__) . '/helpers/componentbuilder.php');
JLoader::register('ComponentbuilderEmail', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/componentbuilderemail.php');
JLoader::register('JHtmlBatch_', dirname(__FILE__) . '/helpers/html/batch_.php');
// Triger the Global Admin Event

View File

@ -76,6 +76,15 @@
/>
<!-- Spacer_hr_a Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_a" hr="true" class="spacer_hr_a" />
<!-- Api Field. Type: User. (joomla) -->
<field
type="user"
name="api"
label="COM_COMPONENTBUILDER_CONFIG_API_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION"
/>
<!-- Spacer_hr_b Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_b" hr="true" class="spacer_hr_b" />
<field name="autorTitle"
type="spacer"
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
@ -146,6 +155,340 @@
COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD</option>"
</field>
</fieldset>
<fieldset
name="mail_configuration_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_MAIL_CONFIGURATION">
<!-- Mailonline Field. Type: Radio. (joomla) -->
<field
type="radio"
name="mailonline"
label="COM_COMPONENTBUILDER_CONFIG_MAILONLINE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MAILONLINE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_ON</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_OFF</option>
</field>
<!-- Mailer Field. Type: List. (joomla) -->
<field
type="list"
name="mailer"
label="COM_COMPONENTBUILDER_CONFIG_MAILER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MAILER_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
required="true"
default="global">
<!-- Option Set. -->
<option value="global">
COM_COMPONENTBUILDER_CONFIG_GLOBAL</option>
<option value="default">
COM_COMPONENTBUILDER_CONFIG_PHP_MAIL</option>
<option value="sendmail">
COM_COMPONENTBUILDER_CONFIG_SENDMAIL</option>
<option value="smtp">
COM_COMPONENTBUILDER_CONFIG_SMTP</option>
</field>
<!-- Emailfrom Field. Type: Text. (joomla) -->
<field
type="text"
name="emailfrom"
label="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Fromname Field. Type: Text. (joomla) -->
<field
type="text"
name="fromname"
label="COM_COMPONENTBUILDER_CONFIG_FROMNAME_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_FROMNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add some name here."
hint="COM_COMPONENTBUILDER_CONFIG_FROMNAME_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Email reply to Field. Type: Text. (joomla) -->
<field
type="text"
name="replyto"
label="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Reply to name Field. Type: Text. (joomla) -->
<field
type="text"
name="replytoname"
label="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add some name here."
hint="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Sendmail Field. Type: Text. (joomla) -->
<field
type="text"
name="sendmail"
label="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_DESCRIPTION"
class="text_area"
required="false"
filter="PATH"
message="Error! Please add path to you local sendmail here."
hint="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_HINT"
showon="mailer:sendmail"
/>
<!-- Smtpauth Field. Type: Radio. (joomla) -->
<field
type="radio"
name="smtpauth"
label="COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
showon="mailer:smtp">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Smtpsecure Field. Type: List. (joomla) -->
<field
type="list"
name="smtpsecure"
label="COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
default="none"
showon="mailer:smtp">
<!-- Option Set. -->
<option value="none">
COM_COMPONENTBUILDER_CONFIG_NONE</option>
<option value="ssl">
COM_COMPONENTBUILDER_CONFIG_SSL</option>
<option value="tls">
COM_COMPONENTBUILDER_CONFIG_TLS</option>
</field>
<!-- Smtpport Field. Type: Text. (joomla) -->
<field
type="text"
name="smtpport"
label="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_LABEL"
size="60"
maxlength="150"
default="25"
description="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_DESCRIPTION"
class="text_area"
filter="INT"
message="Error! Please add the port number of your SMTP server here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_HINT"
showon="mailer:smtp"
/>
<!-- Smtpuser Field. Type: Text. (joomla) -->
<field
type="text"
name="smtpuser"
label="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add the username for SMTP server here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT"
showon="mailer:smtp"
/>
<!-- Smtppass Field. Type: Password. (joomla) -->
<field
type="password"
name="smtppass"
label="COM_COMPONENTBUILDER_CONFIG_SMTPPASS_LABEL"
size="60"
description="COM_COMPONENTBUILDER_CONFIG_SMTPPASS_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add the password for SMTP server here."
showon="mailer:smtp"
/>
<!-- Smtphost Field. Type: Text. (joomla) -->
<field
type="text"
name="smtphost"
label="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_LABEL"
size="60"
maxlength="150"
default="localhost"
description="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add the name of the SMTP host here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_HINT"
showon="mailer:smtp"
/>
</fieldset>
<fieldset
name="dkim_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_DKIM">
<!-- Dkim Field. Type: Radio. (joomla) -->
<field
type="radio"
name="dkim"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Dkim_domain Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_domain"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add DKIM Domain here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_HINT"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Dkim_selector Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_selector"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_LABEL"
size="60"
maxlength="150"
default="vdm"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add DKIM/DNS selector here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_HINT"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Dkim_passphrase Field. Type: Password. (joomla) -->
<field
type="password"
name="dkim_passphrase"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_LABEL"
size="60"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add passphrase here."
showon="dkim:1"
/>
<!-- Dkim_identity Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_identity"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add DKIM Identity here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_HINT"
showon="dkim:1"
/>
<!-- Dkim_private_key Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="dkim_private_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_LABEL"
rows="15"
cols="5"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_DESCRIPTION"
class="input-xxlarge span12"
showon="dkim:1"
/>
<!-- Dkim_public_key Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="dkim_public_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_LABEL"
rows="5"
cols="5"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_DESCRIPTION"
class="input-xxlarge span12"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Note_dkim_use Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_dkim_use" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION" heading="h4" class="note_dkim_use" showon="dkim:1" />
<!-- Dkim_key Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add KEY here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_HINT"
showon="dkim:1"
/>
<!-- Dkim_value Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_value"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL"
size="80"
maxlength="350"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add TXT record here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT"
showon="dkim:1"
/>
</fieldset>
<fieldset
name="encryption_config"
label="COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL"
@ -159,6 +502,62 @@
default=""
/>
</fieldset>
<fieldset
name="cronjob_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB">
<!-- Backupcronjob_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="backupcronjob_note" label="COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_DESCRIPTION" heading="h4" class="backupcronjob_note" />
<!-- Cronjob_backup_folder_path Field. Type: Text. (joomla) -->
<field
type="text"
name="cronjob_backup_folder_path"
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="PATH"
message="Error! Please add some text here."
hint="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_HINT"
/>
<!-- Backup_email Field. Type: Text. (joomla) -->
<field
type="text"
name="backup_email"
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_LABEL"
size="10"
maxlength="50"
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_HINT"
/>
<!-- Package_name_plaeholders Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="package_name_plaeholders" label="COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_LABEL" description="COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION" heading="h4" class="package_name_plaeholders" />
<!-- Backup_package_name Field. Type: Text. (joomla) -->
<field
type="text"
name="backup_package_name"
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_LABEL"
size="40"
maxlength="150"
default="JCB_Backup_[YEAR]_[MONTH]_[DAY]"
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="Error! Please add name here."
hint="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_HINT"
/>
</fieldset>
<fieldset
name="folder_paths_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_FOLDER_PATHS">

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage controller.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage ajax.json.php
@ -45,6 +45,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('isNew', 'ajax');
$this->registerTask('isRead', 'ajax');
$this->registerTask('getComponentDetails', 'ajax');
$this->registerTask('getCronPath', 'ajax');
$this->registerTask('tableColumns', 'ajax');
$this->registerTask('fieldSelectOptions', 'ajax');
$this->registerTask('getImportScripts', 'ajax');
@ -188,6 +189,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
}
}
break;
case 'getCronPath':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$getTypeValue = $jinput->get('getType', NULL, 'WORD');
if($getTypeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getCronPath($getTypeValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'tableColumns':
try
{

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage help.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import_joomla_components.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC
@build 7th August, 2017
@version @update number 355 of this MVC
@build 21st August, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC
@build 7th August, 2017
@version @update number 355 of this MVC
@build 21st August, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_components.php
@ -114,8 +114,8 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if import is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('joomla_component.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
$model->user = JFactory::getUser();
if ($model->user->authorise('joomla_component.import', 'com_componentbuilder') && $model->user->authorise('core.import', 'com_componentbuilder'))
{
$session = JFactory::getSession();
$session->set('backto_VDM_IMPORT', 'joomla_components');
@ -135,9 +135,11 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// Get the model
$model = $this->getModel('Joomla_components');
// check if export is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('joomla_component.export', 'com_componentbuilder') && $user->authorise('core.export', 'com_componentbuilder'))
$model->user = JFactory::getUser();
if ($model->user->authorise('joomla_component.export', 'com_componentbuilder') && $model->user->authorise('core.export', 'com_componentbuilder'))
{
// Get the input
$input = JFactory::getApplication()->input;
@ -152,8 +154,6 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return;
}
// Get the model
$model = $this->getModel('Joomla_components');
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// get the data to export
@ -239,4 +239,154 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return;
}
public function backup()
{
// get params
if (!isset($this->params) || !ComponentbuilderHelper::checkObject($this->params))
{
$this->params = JComponentHelper::getParams('com_componentbuilder');
}
// get all component IDs to backup
$pks = componentbuilderHelper::getComponentIDs();
// Get the model
$model = componentbuilderHelper::getModel('joomla_components', JPATH_ADMINISTRATOR . '/components/com_componentbuilder');
// set user
$model->user = $this->getApiUser();
// make sure to set active type to backup
$model->activeType = 'manualBackup';
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// manual backup message
$backupNotice = array();
// get the data to export
if (ComponentbuilderHelper::checkArray($pks) && $model->getSmartExport($pks))
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY');
$backupNoticeStatus = 'Success';
// set the key string
if (componentbuilderHelper::checkString($model->key) && strlen($model->key) == 32)
{
$textNotice = array();
$keyNotice = '<h1>' . JText::sprintf('COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE', $model->key) . '</h1>';
$textNotice[] = JText::sprintf('COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S', $model->key);
$keyNotice .= JText::_('COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY_UNLESS_THEY_HAVE_THIS_KEY_ABOVE_SO_DO_KEEP_IT_SAFE') . '<br />';
// set the package owner info
if ((isset($model->info['getKeyFrom']['company']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['company'])) || (isset($model->info['getKeyFrom']['owner']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['owner'])))
{
$ownerDetails = '<h2>' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS') . '</h2>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS');
$ownerDetails .= '<ul>';
if (isset($model->info['getKeyFrom']['company']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['company']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMCOMPANYEM_BSB', $model->info['getKeyFrom']['company']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_COMPANY_S', $model->info['getKeyFrom']['company']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['owner']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['owner']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMOWNEREM_BSB', $model->info['getKeyFrom']['owner']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_OWNER_S', $model->info['getKeyFrom']['owner']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['website']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['website']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMWEBSITEEM_BSB', $model->info['getKeyFrom']['website']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_WEBSITE_S', $model->info['getKeyFrom']['website']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['email']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['email']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMEMAILEM_BSB', $model->info['getKeyFrom']['email']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_EMAIL_S', $model->info['getKeyFrom']['email']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['license']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['license']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMLICENSEEM_BSB', $model->info['getKeyFrom']['license']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_LICENSE_S', $model->info['getKeyFrom']['license']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['copyright']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['copyright']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMCOPYRIGHTEM_BSB', $model->info['getKeyFrom']['copyright']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_COPYRIGHT_S', $model->info['getKeyFrom']['copyright']);
}
$ownerDetails .= '</ul>';
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_OWNER_DETAILS_WAS_SET');
}
else
{
$ownerDetails = '<h2>' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_NOT_SET') . '</h2>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS');
$ownerDetails .= JText::_('COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_BJCB_GLOBAL_OPTIONSB_GO_TO_THE_BCOMPANYB_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE');
$ownerDetails .= '<h3>' . JText::_('COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS') . '</h3>';
$textNotice[] = '## ' . JText::_('COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS');
$ownerDetails .= JText::_('COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_BIMPORT_PROCESSB_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_BDOES_NOTB_HAVE_THE_KEY_THEY_CAN_SEE_BWHERE_TO_GET_ITB') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_IMPORT_PROCESS_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_DOES_NOT_HAVE_THE_KEY_THEY_CAN_SEE_WHERE_TO_GET_IT');
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE');
}
}
else
{
$keyNotice = '<h1>' . JText::_('COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY') . '</h1>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY');
$ownerDetails = JText::_('COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_BSETTINGSB_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_BEXPORT_KEYB') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY');
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_NO_KEYS_WERE_FOUND_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY');
}
// get email
if ($email = $this->params->get('backup_email', null))
{
// plain text
$plainText = implode("\n", $textNotice);
// set hash to track changes
$hashTracker = md5($plainText);
if (ComponentbuilderHelper::newHash($hashTracker))
{
// Build final massage.
$message = $keyNotice . $ownerDetails . '<br /><small>HASH: ' . $hashTracker . '</small>';
// set the subject
$subject = JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDER_BACKUP_KEY');
// email the message
componentbuilderEmail::send($email, $subject, componentbuilderEmail::setTableBody($message, $subject), $plainText, 1);
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SEND');
}
else
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_KEY_HAS_NOT_CHANGED');
}
}
}
else
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_BACKUP_FAILED_PLEASE_TRY_AGAIN_IF_THE_ERROR_CONTINUE_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR');
$backupNoticeStatus = 'Error';
if (componentbuilderHelper::checkString($model->packagePath))
{
// clear all if not successful
ComponentbuilderHelper::removeFolder($model->packagePath);
}
if (componentbuilderHelper::checkString($model->zipPath))
{
// clear all if not successful
JFile::delete($model->zipPath);
}
}
// quite only if auto backup (adding this script from custom code :)
if ('backup' === 'manualBackup')
{
echo "# " . $backupNoticeStatus . "\n" .implode("\n", $backupNotice);
jexit();
}
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), implode("<br />", $backupNotice), $backupNoticeStatus);
return;
}
protected function getApiUser()
{
// admin area does not have API user, only front-end (so we fallback on login user)
return JFactory::getUser();
}
}

View File

@ -92,6 +92,7 @@ class Interpretation extends Fields
{
// set email helper in place with component name
$component = $this->fileContentStatic['###component###'];
$Component = $this->fileContentStatic['###Component###'];
$target = array('admin' => 'emailer');
$done = $this->buildDynamique($target,'emailer',$component);
if ($done)
@ -99,7 +100,7 @@ class Interpretation extends Fields
// the text for the file ###BAKING###
$this->fileContentDynamic['emailer_'.$component]['###BAKING###'] = ''; // <<-- to insure it gets updated
// return the code need to load the abstract class
return PHP_EOL."JLoader::register('".$component."Email', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/".$component."email.php'); ";
return PHP_EOL."JLoader::register('".$Component."Email', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/".$component."email.php'); ";
}
}
return '';
@ -3946,7 +3947,7 @@ class Interpretation extends Fields
if (ComponentbuilderHelper::checkString($script))
{
$script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$component.'/assets/images/component-300.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$component.'/assets/images/vdm-component.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'</a>\';';
return $script;
@ -3963,7 +3964,7 @@ class Interpretation extends Fields
if (isset($this->componentData->admin_views) && ComponentbuilderHelper::checkArray($this->componentData->admin_views))
{
$script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$this->fileContentStatic['###component###'].'/assets/images/component-300.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$this->fileContentStatic['###component###'].'/assets/images/vdm-component.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'</a>';
$script .= PHP_EOL."\t\t\t\t<h3>Upgrade to Version ".$this->fileContentStatic['###VERSION###']." Was Successful! Let us know if anything is not working as expected.</h3>';";
}
@ -11232,7 +11233,7 @@ class Interpretation extends Fields
{
$imagePath = $this->componentPath.'/admin/assets/images';
// move the image to its place
JFile::copy(JPATH_SITE.'/'.$path, $imagePath.'/component-300.'.$type,'',true);
JFile::copy(JPATH_SITE.'/'.$path, $imagePath.'/vdm-component.'.$type,'',true);
// now set the type to global for re-use
$this->componentImageType = $type;
// return image type
@ -12740,10 +12741,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->langContent[$this->lang][$lang.'_FROMNAME_LABEL'] = "From Name";
$this->langContent[$this->lang][$lang.'_FROMNAME_DESCRIPTION'] = "Text displayed in the header &quot;From:&quot; field when sending a site email. Usually the site name.";
$this->langContent[$this->lang][$lang.'_FROMNAME_HINT'] = "From Name Here";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_LABEL'] = " Reply Email";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_LABEL'] = " Reply to Email";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_DESCRIPTION'] = "The global email address that will be used to set as the reply email. (leave blank for none)";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_HINT'] = "Email Address Here";
$this->langContent[$this->lang][$lang.'_REPLYNAME_LABEL'] = "Reply Name";
$this->langContent[$this->lang][$lang.'_REPLYNAME_LABEL'] = "Reply to Name";
$this->langContent[$this->lang][$lang.'_REPLYNAME_DESCRIPTION'] = "Text displayed in the header &quot;Reply To:&quot; field when replying to the site email. Usually the the person that receives the response. (leave blank for none)";
$this->langContent[$this->lang][$lang.'_REPLYNAME_HINT'] = "Reply Name Here";
$this->langContent[$this->lang][$lang.'_SENDMAIL_LABEL'] = "Sendmail Path";
@ -12835,10 +12836,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\thint=\"".$lang."_FROMNAME_HINT\"";
$this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\"";
$this->configFieldSets[] = "\t\t/>\t\t";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Emailreply Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Email reply to Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<field";
$this->configFieldSets[] = "\t\t\ttype=\"text\"";
$this->configFieldSets[] = "\t\t\tname=\"emailreply\"";
$this->configFieldSets[] = "\t\t\tname=\"replyto\"";
$this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_EMAILREPLY_LABEL\"";
$this->configFieldSets[] = "\t\t\tsize=\"60\"";
$this->configFieldSets[] = "\t\t\tmaxlength=\"150\"";
@ -12850,10 +12851,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\thint=\"".$lang."_EMAILREPLY_HINT\"";
$this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\"";
$this->configFieldSets[] = "\t\t/>\t\t";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Replyname Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Reply to name Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<field";
$this->configFieldSets[] = "\t\t\ttype=\"text\"";
$this->configFieldSets[] = "\t\t\tname=\"replyname\"";
$this->configFieldSets[] = "\t\t\tname=\"replytoname\"";
$this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_REPLYNAME_LABEL\"";
$this->configFieldSets[] = "\t\t\tsize=\"60\"";
$this->configFieldSets[] = "\t\t\tmaxlength=\"150\"";

View File

@ -1061,6 +1061,11 @@ class Infusion extends Interpretation
// setup the templates
$this->setCustomViewTemplateBody($view);
}
// if no default site view was set, the redirect to root
if (!isset($this->fileContentStatic['###SITE_DEFAULT_VIEW###']))
{
$this->fileContentStatic['###SITE_DEFAULT_VIEW###'] = '';
}
// set site custom script to helper class
// ###SITE_CUSTOM_HELPER_SCRIPT###
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###']

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php
@ -41,6 +41,27 @@ abstract class ComponentbuilderHelper
self::loadSession();
}
/*
* get all component IDs
*/
public static function getComponentIDs()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName(array('id')));
$query->from($db->quoteName('#__componentbuilder_joomla_component'));
$query->where($db->quoteName('published') . ' >= 1'); // do not backup trash
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
return $db->loadColumn();
}
return false;
}
/*
* Autoloader
*/
@ -79,6 +100,41 @@ abstract class ComponentbuilderHelper
}
/**
* Remove folders with files
*
* @param string $dir The path to folder to remove
* @param boolean $git if there is a git folder in that must not be removed
*
* @return boolean True in all is removed
*
*/
public static function removeFolder($dir, $git = false)
{
if (JFolder::exists($dir))
{
$it = new RecursiveDirectoryIterator($dir);
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($it as $file)
{
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
if ($file->isDir())
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFolder::delete($file->getPathname());
}
else
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFile::delete($file->getPathname());
}
}
if (!$git && JFolder::delete($dir))
{
return true;
}
}
return false;
} /**
* The dynamic builder of views, tables and fields
**/
public static function dynamicBuilder(&$data, $type)
@ -131,62 +187,27 @@ abstract class ComponentbuilderHelper
return false;
}
/**
* Remove folders with files
*
* @param string $dir The path to folder to remove
* @param boolean $git if there is a git folder in that must not be removed
*
* @return boolean True in all is removed
*
*/
public static function removeFolder($dir, $git = false)
{
if (JFolder::exists($dir))
{
$it = new RecursiveDirectoryIterator($dir);
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($it as $file)
{
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
if ($file->isDir())
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFolder::delete($file->getPathname());
}
else
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFile::delete($file->getPathname());
}
}
if (!$git && JFolder::delete($dir))
{
return true;
}
}
return false;
}
/**
* Create file and write data to the file
**/
public static function writeFile($path, $data)
{
$klaar = false;
// open the file
$fh = fopen($path, "w");
if (!is_resource($fh))
{
return false;
return $klaar;
}
// write to the file
if (fwrite($fh, $data))
{
// close file.
fclose($fh);
return true;
// has been done
$klaar = true;
}
// close file.
fclose($fh);
return false;
return $klaar;
}
/**
@ -194,6 +215,11 @@ abstract class ComponentbuilderHelper
**/
protected static $usernotice = false;
/**
* The backup hash file name
**/
protected static $backuphash = false;
public static function getFilePath($type, $name = 'listing', $key = '', $fileType = '.json', $PATH = JPATH_COMPONENT_SITE)
{
if (!self::checkString(self::${$type.$name}))
@ -1132,6 +1158,30 @@ abstract class ComponentbuilderHelper
return self::$localSession[$key];
}
/**
* check if it is a new hash
**/
public static function newHash($hash, $name = 'backup', $type = 'hash', $key = '', $fileType = '.txt')
{
// make sure we have a hash
if (self::checkString($hash))
{
// first get the file path
$path_filename = self::getFilePath($name, $type, $key, $fileType, JPATH_COMPONENT_ADMINISTRATOR);
// set as read if not already set
if (($content = @file_get_contents($path_filename)) !== FALSE)
{
if ($hash == $content)
{
return false;
}
}
// set the hash
return self::writeFile($path_filename, $hash);
}
return false;
}
/**
* Load the Component xml manifest.
**/
@ -1670,7 +1720,14 @@ abstract class ComponentbuilderHelper
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -1953,12 +2010,20 @@ abstract class ComponentbuilderHelper
**/
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = 'componentbuilder')
{
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// load the model file
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath( $path . '/models' );
// get instance
$model = JModelLegacy::getInstance( $name, $component.'Model' );
// if model not found
if ($model == false)
{
// build class name
$class = $prefix.$name;
// initilize the model
new $class();
$model = JModelLegacy::getInstance($name, $prefix);
}
return $model;
}
/**
@ -2165,10 +2230,16 @@ abstract class ComponentbuilderHelper
return false;
}
// typo sorry!
public static function sorten($string, $length = 40, $addTip = true)
{
return self::shorten($string, $length, $addTip);
}
public static function shorten($string, $length = 40, $addTip = true)
{
if (self::checkString($string))
{
{
$initial = strlen($string);
$words = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
$words_count = count($words);
@ -2188,7 +2259,7 @@ abstract class ComponentbuilderHelper
$final = strlen($newString);
if ($initial != $final && $addTip)
{
$title = self::sorten($string, 400 , false);
$title = self::shorten($string, 400 , false);
return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>';
}
elseif ($initial != $final && !$addTip)
@ -2287,15 +2358,15 @@ abstract class ComponentbuilderHelper
return '';
}
public static function htmlEscape($var, $charset = 'UTF-8', $sorten = false, $length = 40)
public static function htmlEscape($var, $charset = 'UTF-8', $shorten = false, $length = 40)
{
if (self::checkString($var))
{
$filter = new JFilterInput();
$string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML');
if ($sorten)
if ($shorten)
{
return self::sorten($string,$length);
return self::shorten($string,$length);
}
return $string;
}

View File

@ -0,0 +1,348 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilderemail.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/**
* Componentbuilder component email helper
*/
abstract class ComponentbuilderEmail
{
/**
* Configuraiton object
*
* @var JConfig
*/
public static $config = null;
/**
* Mailer object
*
* @var JMail
*/
public static $mailer = null;
/**
* Get a configuration object
*
*/
public static function getConfig()
{
if (!self::$config)
{
self::$config = JComponentHelper::getParams('com_componentbuilder');
}
return self::$config;
}
/**
* Get a mailer object.
*
* Returns the global {@link JMail} object, only creating it if it doesn't already exist.
*
* @return JMail object
*
* @see JMail
*/
public static function getMailer()
{
if (!self::$mailer)
{
self::$mailer = self::createMailer();
}
$copy = clone self::$mailer;
return $copy;
}
/**
* Create a mailer object
*
* @return JMail object
*
* @see JMail
*/
protected static function createMailer()
{
// set component params
$conf = self::getConfig();
// now load the mailer
$mailer = $conf->get('mailer', 'global');
// Create a JMail object
$mail = JMail::getInstance();
// check if set to global
if ('global' == $mailer)
{
// get the global details
$globalConf = JFactory::getConfig();
$mailer = $globalConf->get('mailer');
ro-ot commented 2017-08-20 19:26:39 +00:00 (Migrated from github.com)
Review

There are some new values that could be used from the global mailer.

There are some new values that could be used from the global mailer.
$smtpauth = ($globalConf->get('smtpauth') == 0) ? null : 1;
$smtpuser = $globalConf->get('smtpuser');
$smtppass = $globalConf->get('smtppass');
$smtphost = $globalConf->get('smtphost');
$smtpsecure = $globalConf->get('smtpsecure');
$smtpport = $globalConf->get('smtpport');
$sendmail = $globalConf->get('sendmail');
$mailfrom = $globalConf->get('mailfrom');
$fromname = $globalConf->get('fromname');
$replyto = $globalConf->get('replyto');
$replytoname = $globalConf->get('replytoname');
}
else
{
$smtpauth = ($conf->get('smtpauth') == 0) ? null : 1;
$smtpuser = $conf->get('smtpuser');
$smtppass = $conf->get('smtppass');
$smtphost = $conf->get('smtphost');
$smtpsecure = $conf->get('smtpsecure');
$smtpport = $conf->get('smtpport');
$sendmail = $conf->get('sendmail');
$mailfrom = $conf->get('mailfrom');
$fromname = $conf->get('fromname');
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// Default mailer is to use PHP's mail function
switch ($mailer)
{
case 'smtp':
// set the SMTP option
$mail->useSMTP($smtpauth, $smtphost, $smtpuser, $smtppass, $smtpsecure, $smtpport);
break;
case 'sendmail':
// set the sendmail option
$mail->useSendmail($sendmail);
$mail->IsSendmail();
break;
default:
$mail->IsMail();
break;
}
return $mail;
}
/**
* Send an email
*
* @return bool on success
*
*/
public static function send($recipient, $subject, $body, $textonly, $mode = 0, $bounce_email = null, $idsession = null, $mailreply = null, $replyname = null , $mailfrom = null, $fromname = null, $cc = null, $bcc = null, $attachment = null, $embeded = null , $embeds = null)
{
// Get a JMail instance
$mail = self::getMailer();
// set component params
$conf = self::getConfig();
// do some house cleaning
$mail->ClearReplyTos();
// set if we have override
if ($mailfrom && $fromname)
{
$mail->setSender(array($mailfrom, $fromname));
}
// load the bounce email as sender if set
if (!is_null($bounce_email))
{
$mail->Sender = $bounce_email;
}
// Add tag to email to identify it
if (!is_null($idsession))
{
$mail->addCustomHeader('X-VDMmethodID:'.$idsession);
}
// set the subject & Body
$mail->setSubject($subject);
$mail->setBody($body);
// Are we sending the email as HTML?
if ($mode)
{
$mail->IsHTML(true);
$mail->AltBody = $textonly;
}
//embed images
if ($embeded)
{
if(ComponentbuilderHelper::checkArray($embeds))
{
foreach($embeds as $embed)
{
$mail->AddEmbeddedImage($embed->Path,$embed->FileName);
}
}
}
$mail->addRecipient($recipient);
$mail->addCC($cc);
$mail->addBCC($bcc);
$mail->addAttachment($attachment);
// Take care of reply email addresses
if (is_array($mailreply))
{
$mail->ClearReplyTos();
$numReplyTo = count($mailreply);
for ($i=0; $i < $numReplyTo; $i++)
{
$mail->addReplyTo($mailreply[$i], $replyname[$i]);
}
}
elseif (!empty($mailreply))
{
$mail->ClearReplyTos();
$mail->addReplyTo($mailreply, $replyname);
}
// check if we can add the DKIM to email
if ($conf->get('enable_dkim'))
{
if (!empty($conf->get('dkim_domain')) && !empty($conf->get('dkim_selector')) && !empty($conf->get('dkim_private')) && !empty($conf->get('dkim_public')))
{
$mail->DKIM_domain = $conf->get('dkim_domain');
$mail->DKIM_selector = $conf->get('dkim_selector');
$mail->DKIM_identity = $conf->get('dkim_identity');
$mail->DKIM_passphrase = $conf->get('dkim_passphrase');
$tmp = tempnam(sys_get_temp_dir(), 'VDM');
$h = fopen($tmp, 'w');
fwrite($h, $conf->get('dkim_private'));
fclose($h);
$mail->DKIM_private = $tmp;
}
}
$sendmail = $mail->Send();
if ($conf->get('enable_dkim') && !empty($conf->get('dkim_domain')) && !empty($conf->get('dkim_selector')) && !empty($conf->get('dkim_private')) && !empty($conf->get('dkim_public')))
{
@unlink($tmp);
}
if (method_exists('ComponentbuilderHelper','storeMessage'))
{
// store the massage if the method is set
ComponentbuilderHelper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
}
return $sendmail;
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />
* in your html that you pass to this method
* since it is a table row it does not
* work well with paragraphs
*
* @return string on success
*
*/
public static function setTableBody($html, $subject)
{
$body = array();
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
$body[] = "<head>";
$body[] = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$body[] = "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>";
$body[] = "<title>".$subject."</title>";
$body[] = "<style type=\"text/css\">";
$body[] = "#outlook a {padding:0;}";
$body[] = ".ExternalClass {width:100%;}";
$body[] = ".ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} ";
$body[] = "p {margin: 0; padding: 0; font-size: 0px; line-height: 0px;} ";
$body[] = "table td {border-collapse: collapse;}";
$body[] = "table {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }";
$body[] = "img {display: block; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;}";
$body[] = "a img {border: none;}";
$body[] = "a {text-decoration: none; color: #000001;}";
$body[] = "a.phone {text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}";
$body[] = "span {font-size: 13px; line-height: 17px; font-family: monospace; color: #000001;}";
$body[] = "</style>";
$body[] = "<!--[if gte mso 9]>";
$body[] = "<style>";
$body[] = "/* Target Outlook 2007 and 2010 */";
$body[] = "</style>";
$body[] = "<![endif]-->";
$body[] = "</head>";
$body[] = "<body style=\"width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;\">";
$body[] = "\n<!-- body wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin:0; padding:0; width:100%; line-height: 100% !important;\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- edge wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"800\" >";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- content wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"780\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\" style=\"vertical-align: top;\">";
$body[] = $html;
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / content wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / edge wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / page wrapper -->";
$body[] = "</body>";
$body[] = "</html>";
return implode("\n", $body);
}
}

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage headercheck.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage batch_.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage indenter.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage js.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage minify.php

View File

@ -705,7 +705,10 @@ COM_COMPONENTBUILDER_AUTHOR="Author"
COM_COMPONENTBUILDER_A_FEW_CLOSED_ISSUES_FROM_GITHUB_IS_LOADING="A few closed issues from Github is loading"
COM_COMPONENTBUILDER_A_FEW_OPEN_ISSUES_FROM_GITHUB_IS_LOADING="A few open issues from Github is loading"
COM_COMPONENTBUILDER_BACK="Back"
COM_COMPONENTBUILDER_BACKUP="Backup"
COM_COMPONENTBUILDER_BACKUP_FAILED_PLEASE_TRY_AGAIN_IF_THE_ERROR_CONTINUE_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR="Backup failed, please try again. If the error continue, please contact your system administrator."
COM_COMPONENTBUILDER_BACKUP_LOCAL_DATA_FIRST="Backup Local Data First"
COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY="Backup was done successfully"
COM_COMPONENTBUILDER_BADMIN_VIEW_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BADMIN_VIEWB_SO_THE_IDS_WAS_REMOVED="<b>Admin view in %s</b> has id mismatch of selected <b>admin view</b>. So the id:%s was removed!"
COM_COMPONENTBUILDER_BASIC_METHOD="Basic Method"
COM_COMPONENTBUILDER_BCOMPONENT_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BCOMPONENTB_SO_THE_IDS_WAS_REMOVED="<b>Component in %s</b> has id mismatch of selected <b>component</b>. So the id:%s was removed!"
@ -731,8 +734,10 @@ COM_COMPONENTBUILDER_BSB_HAS_ID_MISMATCH_OF_SELECTED_BFIELDB_SO_THE_IDS_WAS_REMO
COM_COMPONENTBUILDER_BSITE_VIEW_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BSITE_VIEWB_SO_THE_IDS_WAS_REMOVED="<b>Site view in %s</b> has id mismatch of selected <b>site view</b>. So the id:%s was removed!"
COM_COMPONENTBUILDER_BSNIPPETB_IDS_MISMATCH_IN_BSB="<b>Snippet</b> id:%s mismatch in <b>%s</b>."
COM_COMPONENTBUILDER_BVIEW_TABLE_MAINB_IDS_MISMATCH_IN_BSB="<b>View table main</b> id:%s mismatch in <b>%s</b>."
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
COM_COMPONENTBUILDER_CLEAR_TMP="Clear tmp"
COM_COMPONENTBUILDER_COMPANY="Company"
COM_COMPONENTBUILDER_COMPANY_S="Company: %s"
COM_COMPONENTBUILDER_COMPILER="Compiler"
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC=" Allows the users in this group to access compiler."
@ -747,15 +752,76 @@ COM_COMPONENTBUILDER_COMPILE_COMPONENT="Compile Component"
COM_COMPONENTBUILDER_COMPONENTS="Components"
COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS="Component Global Settings"
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION="This User will be used to log the API call."
COM_COMPONENTBUILDER_CONFIG_API_LABEL="API User"
COM_COMPONENTBUILDER_CONFIG_AUTHOR="Author Info"
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component."
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_LABEL="Author Email"
COM_COMPONENTBUILDER_CONFIG_AUTHOR_NAME_DESC="The name of the author of this component."
COM_COMPONENTBUILDER_CONFIG_AUTHOR_NAME_LABEL="Author Name"
COM_COMPONENTBUILDER_CONFIG_AUTO_LOAD="Auto"
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_DESCRIPTION="You can run a cronjob that will backup all your components as they are mapped in JCB.<br /><br /><b>USE THE FOLLOWING:</b> <span id='cronjob-backup'>loading...<span class='loading-dots' ></span></span><br /><br />Please not that if your Joomla website has a Firewall installed, it will not allow cronjob via direct URL (most of the time), you will then need to adapt the cornjob request to look like a browser. For more info please read https://stackoverflow.com/a/31597823/1429677
<script type='text/javascript'>
jQuery(document).ready(function($) {
// get token from the form
$('form :input').each(function(index, elm){
if (elm.name.length == 32 && elm.type == 'hidden')
{
value = $(elm).val();
if (1 == value)
{
token = elm.name;
}
}
});
// nice little dot trick :)
var x=0;
setInterval(function() {
var dots = '';
x++;
for (var y=0; y < x%11; y++) {
dots+='.';
}
jQuery('.loading-dots').text(dots);
} , 500);
// now get the Cron Path
getCronPath('backup', token);
});
function getCronPath_server(getType, token){
var getUrl = 'index.php?option=com_componentbuilder&task=ajax.getCronPath&format=json';
if(token.length > 0 && getType.length > 0){
var request = 'token='+token+'&getType='+getType;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getCronPath(getType, token){
getCronPath_server(getType, token).done(function(result) {
if(result.path){
jQuery('#cronjob-'+getType).html(result.path);
} else if (result.error) {
jQuery('#cronjob-'+getType).html(result.error);
} else {
jQuery('#cronjob-'+getType).html('<span style=\'color: red;\'>Error loading path!</span>');
}
})
}
</script>"
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_LABEL="Backup JCB Mapped Components"
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_DESCRIPTION="Enter the email where the <b>backup key</b> should be send. It will only send an email if a key change is detected, and not on every backup."
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_HINT="Email Address Here"
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_LABEL="Email (backup key)"
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to the backup folder."
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_HINT="/home/user/backup"
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_LABEL="Backup Folder Path"
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_DESCRIPTION="Enter Package Name Here"
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_HINT="JCB_Backup_[YEAR]_[MONTH]_[DAY]"
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_LABEL="Package Name"
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_DESC="Set the basic local key here."
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_LABEL="Basic Key <small>(basic encryption)</small>"
COM_COMPONENTBUILDER_CONFIG_BASIC_KEY_NOTE_DESC="When using the basic encryption please use a 32 character passphrase.<br />Never change this passphrase once it is set! <b>DATA WILL GET CORRUPTED IF YOU DO!</b>"
@ -791,10 +857,44 @@ COM_COMPONENTBUILDER_CONFIG_CONTRIBUTOR_USE_EMAIL="Email"
COM_COMPONENTBUILDER_CONFIG_CONTRIBUTOR_USE_LABEL="Use"
COM_COMPONENTBUILDER_CONFIG_CONTRIBUTOR_USE_NONE="None"
COM_COMPONENTBUILDER_CONFIG_CONTRIBUTOR_USE_WWW="Website"
COM_COMPONENTBUILDER_CONFIG_CRONJOB="CronJob"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to where all components are backed up to."
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_HINT="/home/user/fullbackup"
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL="Cronjob Backup Folder Path"
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION="Here you can set the path to the custom folder"
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_HINT="/home/user/custom"
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL="Custom Folder Path"
COM_COMPONENTBUILDER_CONFIG_DKIM="DKIM"
COM_COMPONENTBUILDER_CONFIG_DKIM_DESCRIPTION="Set this option to Yes if you want to sign your emails using DKIM."
COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_DESCRIPTION="Set the domain. Eg. domain.com"
COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_HINT="domain.com"
COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_LABEL="Domain"
COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_DESCRIPTION="Set DKIM identity. This can be in the format of an email address 'you@yourdomain.com' typically used as the source of the email."
COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_HINT="you@yourdomain.com"
COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_LABEL="Identity"
COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_DESCRIPTION="This is the KEY to use in the DNS record."
COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_HINT="vdm._domainkey"
COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_LABEL="Key"
COM_COMPONENTBUILDER_CONFIG_DKIM_LABEL="Enable DKIM"
COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_DESCRIPTION="Enter your passphrase here."
COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_LABEL="Passphrase"
COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_DESCRIPTION="set private key"
COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_LABEL="Private key"
COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_DESCRIPTION="set public key"
COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_LABEL="Public key"
COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_DESCRIPTION="Set your DKIM/DNS selector."
COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_HINT="vdm"
COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_LABEL="Selector"
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION="This is the TXT value to use in the DNS. Replace the PUBLICKEY with your public key."
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT="v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY"
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL="Value"
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
COM_COMPONENTBUILDER_CONFIG_EMAILFROM_DESCRIPTION="The global email address that will be used to send system email."
COM_COMPONENTBUILDER_CONFIG_EMAILFROM_HINT="Email Address Here"
COM_COMPONENTBUILDER_CONFIG_EMAILFROM_LABEL=" From Email"
COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_DESCRIPTION="The global email address that will be used to set as the reply email. (leave blank for none)"
COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_HINT="Email Address Here"
COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_LABEL=" Reply to Email"
COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_DESC="The encription key for the field encryption is set here."
COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL="Encryption Settings"
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_DESCRIPTION="Enter link where your JCB package key can be bought."
@ -821,26 +921,94 @@ COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL="Website"
COM_COMPONENTBUILDER_CONFIG_FLAT_LOAD="Flat"
COM_COMPONENTBUILDER_CONFIG_FOLDER_PATHS="Folder Paths"
COM_COMPONENTBUILDER_CONFIG_FORCE_LOAD="Force"
COM_COMPONENTBUILDER_CONFIG_FROMNAME_DESCRIPTION="Text displayed in the header &quot;From:&quot; field when sending a site email. Usually the site name."
COM_COMPONENTBUILDER_CONFIG_FROMNAME_HINT="From Name Here"
COM_COMPONENTBUILDER_CONFIG_FROMNAME_LABEL="From Name"
COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_DESCRIPTION="Here you can set the path to the git folder."
COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_HINT="/home/user/git"
COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_LABEL="Git Folder Path"
COM_COMPONENTBUILDER_CONFIG_GLOBAL="Global"
COM_COMPONENTBUILDER_CONFIG_GLOBAL_DESC="The Global Parameters"
COM_COMPONENTBUILDER_CONFIG_GLOBAL_LABEL="Global"
COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD="Gradient"
COM_COMPONENTBUILDER_CONFIG_MAILER_DESCRIPTION="Select what mailer you would like to use to send emails."
COM_COMPONENTBUILDER_CONFIG_MAILER_LABEL="Mailer"
COM_COMPONENTBUILDER_CONFIG_MAILONLINE_DESCRIPTION="Warning this will stop all emails from going out."
COM_COMPONENTBUILDER_CONFIG_MAILONLINE_LABEL="Mailer Status"
COM_COMPONENTBUILDER_CONFIG_MAIL_CONFIGURATION="Mail Configuration"
COM_COMPONENTBUILDER_CONFIG_MINIFY_DESCRIPTION="Should the JavaScript be minified when compiled."
COM_COMPONENTBUILDER_CONFIG_MINIFY_LABEL="Minify JS"
COM_COMPONENTBUILDER_CONFIG_NO="No"
COM_COMPONENTBUILDER_CONFIG_NONE="None"
COM_COMPONENTBUILDER_CONFIG_NOTE_BACKUP_FOLDER_PATH_DESCRIPTION="You components will be placed as zip files inside this folder."
COM_COMPONENTBUILDER_CONFIG_NOTE_BACKUP_FOLDER_PATH_LABEL="Adding a backup folder export option"
COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_DESCRIPTION="The compiler folder is where all files and folders that is used to build your component is stored, the default location is [administrator/components/com_componentbuilder/compiler]. You can move this folder by adding your own path here. Remember to move all the content of the compiler folder to this new location or it will not work."
COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_LABEL="Moving The Compiler Folder"
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_DESCRIPTION="The custom folder is where all files and folders that you would like to include in your components are stored, the default location is [administrator/components/com_componentbuilder/custom]. You can move this folder by adding your own path here. Remember to move the content of the default custom folder to this new location."
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_LABEL="Moving The Custom Folder"
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION="<p>Using the below details, you need to configure your DNS by adding a TXT record on your domain: <b><span id='a_dkim_domain'></span></b></p>
<script>
jQuery(document).ready(function()
{
// house cleaning
if( !jQuery('#jform_dkim_domain').val() ) {
jQuery('#jform_dkim_domain').val(window.location.hostname);
}
jQuery('#jform_dkim_key').click(function(){
jQuery(this).select();
});
jQuery('#jform_dkim_value').click(function(){
jQuery(this).select();
});
vdm_dkim();
});
function vdm_dkim() {
jQuery('#a_dkim_domain').text(jQuery('#jform_dkim_domain').val());
jQuery('#jform_dkim_key').val(jQuery('#jform_dkim_selector').val() + '._domainkey');
if( !jQuery('#jform_dkim_public_key').val() ) {
jQuery('#jform_dkim_value').val('v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY');
} else {
jQuery('#jform_dkim_value').val('v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=' + jQuery('#jform_dkim_public_key').val());
}
}
</script>"
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_LABEL="Server Configuration"
COM_COMPONENTBUILDER_CONFIG_NOTE_GIT_FOLDER_PATH_DESCRIPTION="You must set the folder where all the components should be deployed for git. You will have to still do your git commit and other git commands yourself. Each component will create their own folder inside this git folder."
COM_COMPONENTBUILDER_CONFIG_NOTE_GIT_FOLDER_PATH_LABEL="Adding git to your compiler method"
COM_COMPONENTBUILDER_CONFIG_OFF="Off"
COM_COMPONENTBUILDER_CONFIG_ON="On"
COM_COMPONENTBUILDER_CONFIG_ONLY_EXTRA="Only Extra"
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION="<code>[YEAR]</code> <code>[MONTH]</code> <code>[DAY]</code> <code>[HOUR]</code> <code>[MINUTE]</code>"
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_LABEL="Package Name Placeholders"
COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION="Select percentage any language should be translated before the system should add the language to the component during compilation."
COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL="Add Language if %? ready."
COM_COMPONENTBUILDER_CONFIG_PHP_MAIL="PHP Mail"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION="Text displayed in the header &quot;Reply To:&quot; field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT="Reply Name Here"
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL="Reply to Name"
COM_COMPONENTBUILDER_CONFIG_SENDMAIL="Sendmail"
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_DESCRIPTION="Enter the path to the sendmail program directory on your host server."
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_HINT="/usr/sbin/sendmail"
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_LABEL="Sendmail Path"
COM_COMPONENTBUILDER_CONFIG_SMTP="SMTP"
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION="Select yes if your SMTP host requires SMTP Authentication."
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL="SMTP Authentication"
COM_COMPONENTBUILDER_CONFIG_SMTPHOST_DESCRIPTION="Enter the name of the SMTP host."
COM_COMPONENTBUILDER_CONFIG_SMTPHOST_HINT="localhost"
COM_COMPONENTBUILDER_CONFIG_SMTPHOST_LABEL="SMTP Host"
COM_COMPONENTBUILDER_CONFIG_SMTPPASS_DESCRIPTION="Enter the password for access to the SMTP host."
COM_COMPONENTBUILDER_CONFIG_SMTPPASS_LABEL="SMTP Password"
COM_COMPONENTBUILDER_CONFIG_SMTPPORT_DESCRIPTION="Enter the port number of your SMTP server. Use 25 for most unsecured servers and 465 for most secure servers."
COM_COMPONENTBUILDER_CONFIG_SMTPPORT_HINT="25"
COM_COMPONENTBUILDER_CONFIG_SMTPPORT_LABEL="SMTP Port"
COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_DESCRIPTION="Select the security model that your SMTP server uses."
COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_LABEL="SMTP Security"
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION="Enter the username for access to the SMTP host."
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT="email@demo.com"
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL="SMTP Username"
COM_COMPONENTBUILDER_CONFIG_SSL="SSL"
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
COM_COMPONENTBUILDER_CONFIG_UIKIT_DESC="<b>The Parameters for the uikit are set here.</b><br />Uikit is a lightweight and modular front-end framework
for developing fast and powerful web interfaces. For more info visit <a href="http://getuikit.com/" >http://getuikit.com/</a>"
COM_COMPONENTBUILDER_CONFIG_UIKIT_LABEL="Uikit Settings"
@ -855,6 +1023,7 @@ COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Befor
COM_COMPONENTBUILDER_CONTRIBUTOR="Contributor"
COM_COMPONENTBUILDER_CONTRIBUTORS="Contributors"
COM_COMPONENTBUILDER_COPYRIGHT="Copyright"
COM_COMPONENTBUILDER_COPYRIGHT_S="Copyright: %s"
COM_COMPONENTBUILDER_CREATE_NEW_S="Create New %s"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW="Custom Admin View"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS="Custom Admin Views"
@ -1809,6 +1978,8 @@ COM_COMPONENTBUILDER_EDIT_S="Edit %s"
COM_COMPONENTBUILDER_EDIT_VERSIONS="Edit Version"
COM_COMPONENTBUILDER_EDIT_VERSIONS_DESC=" Allows users in this group to edit versions."
COM_COMPONENTBUILDER_EMAIL="Email"
COM_COMPONENTBUILDER_EMAIL_S="Email: %s"
COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SEND="Email with the new key was send"
COM_COMPONENTBUILDER_EMAUTHOREM_BSB="<em>Author</em>: <b>%s</b>"
COM_COMPONENTBUILDER_EMCOMPANYEM_BSB="<em>Company:</em> <b>%s</b>"
COM_COMPONENTBUILDER_EMCOMPANY_NAMEEM_BSB="<em>Company Name</em>: <b>%s</b>"
@ -2440,6 +2611,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION="The Author's Name &amp
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT="Author Name &amp; Surname Here"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL="Author"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACK="Back"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS="Joomla Component Backup Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the backup button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKWARD_CIRCLE="Backward Circle"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BAN_CIRCLE="Ban Circle"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BARS="Bars"
@ -2466,6 +2639,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT="// Add MySQL Table Dump
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL="MySQL"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION="To build the component fields and back-end views dynamically using a mySQL table file."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL="Build Backend-views Dynamically"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDER_BACKUP_KEY="Joomla Component Builder - Backup Key"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CALENDAR="Calendar"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CALENDAR_THREE="Calendar 3"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CALENDAR_TWO="Calendar 2"
@ -2776,7 +2950,7 @@ Project duration: **###projectWeekTime### weeks** or **###projectMonthTime### mo
<br />
If you want to support this project, please consider donating:<br />
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)<br />
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s<br />
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa<br />
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823
</code></div>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL="Demo README (with all place-holders)"
@ -3019,6 +3193,7 @@ COM_COMPONENTBUILDER_KEEP_ORIGINAL_ACCESS="- Keep Original Access -"
COM_COMPONENTBUILDER_KEEP_ORIGINAL_CATEGORY="- Keep Original Category -"
COM_COMPONENTBUILDER_KEEP_ORIGINAL_STATE="- Keep Original State -"
COM_COMPONENTBUILDER_KEY="Key"
COM_COMPONENTBUILDER_KEY_HAS_NOT_CHANGED="Key has not changed"
COM_COMPONENTBUILDER_LANGUAGE="Language"
COM_COMPONENTBUILDER_LANGUAGES="Languages"
COM_COMPONENTBUILDER_LANGUAGES_ACCESS="Languages Access"
@ -3273,19 +3448,26 @@ COM_COMPONENTBUILDER_LAYOUT_VERSION_DESC="A count of the number of times this La
COM_COMPONENTBUILDER_LAYOUT_VERSION_LABEL="Revision"
COM_COMPONENTBUILDER_LAYOUT_YES="Yes"
COM_COMPONENTBUILDER_LICENSE="License"
COM_COMPONENTBUILDER_LICENSE_S="License: %s"
COM_COMPONENTBUILDER_NEW="New"
COM_COMPONENTBUILDER_NEW_ISSUE="New Issue"
COM_COMPONENTBUILDER_NEW_NOTICE="New Notice"
COM_COMPONENTBUILDER_NO="No"
COM_COMPONENTBUILDER_NOTRANSLATION="no-translation"
COM_COMPONENTBUILDER_NOT_FOUND_OR_ACCESS_DENIED="Not found, or access denied."
COM_COMPONENTBUILDER_NO_ACCESS_GRANTED="No Access Granted!"
COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN="No components were selected, please make a selection and try again!"
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_FOR_S="No cronjob path found for (%s)"
COM_COMPONENTBUILDER_NO_CRONJOB_PATH_FOUND_SINCE_INCORRECT_TYPE_REQUESTED="No cronjob path found since incorrect type requested."
COM_COMPONENTBUILDER_NO_KEYS_WERE_FOUND_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY="No keys were found. To add an export key simply open the component, go to the tab called settings, bottom right there is a field called Export Key."
COM_COMPONENTBUILDER_ON_GITHUB="on Github"
COM_COMPONENTBUILDER_OPEN="Open"
COM_COMPONENTBUILDER_OPENED="opened"
COM_COMPONENTBUILDER_OPENED_THIS="opened this"
COM_COMPONENTBUILDER_OPEN_ON_GITHUB="Open on Github"
COM_COMPONENTBUILDER_OUT_OF_DATE="Out of date"
COM_COMPONENTBUILDER_OWNER_DETAILS_WAS_SET="Owner details was set"
COM_COMPONENTBUILDER_OWNER_S="Owner: %s"
COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS="Package Owner Details"
COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS_NOT_FOUND="Package owner details not found!"
COM_COMPONENTBUILDER_PACKAGE_OWNER_NOT_SET="Package Owner Not Set"
@ -3307,6 +3489,7 @@ COM_COMPONENTBUILDER_SHOULD_THE_COMPONENT_BE_MOVED_TO_YOUR_LOCAL_GIT_FOLDER="Sho
COM_COMPONENTBUILDER_SHOULD_THE_ZIPPED_PACKAGE_OF_THE_COMPONENT_BE_MOVED_TO_THE_LOCAL_BACKUP_AND_REMOTE_SALES_SERVER_THIS_IS_ONLY_APPLICABLE_IF_THIS_COMPONENT_HAS_THOSE_VALUES_SET="Should the zipped package of the component be moved to the local backup and remote sales server? This is only applicable if this component has those values set."
COM_COMPONENTBUILDER_SHOULD_WE_FORCE_THE_UPDATE_OF_ALL_LOCAL_DATA_EVEN_IF_IT_IS_NEWER_THEN_THE_DATA_BEING_IMPORTED="Should we force the update of all local data, even if it is newer then the data being imported."
COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_BIMPORT_PROCESSB_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_BDOES_NOTB_HAVE_THE_KEY_THEY_CAN_SEE_BWHERE_TO_GET_ITB="Since the owner details are displayed during <b>import process</b> before adding the key, this way if the user/dev <b>does not</b> have the key they can see <b>where to get it</b>."
COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_IMPORT_PROCESS_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_DOES_NOT_HAVE_THE_KEY_THEY_CAN_SEE_WHERE_TO_GET_IT="Since the owner details are displayed during import process before adding the key, this way if the user/dev does not have the key they can see where to get it."
COM_COMPONENTBUILDER_SITE_VIEW="Site View"
COM_COMPONENTBUILDER_SITE_VIEWS="Site Views"
COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS="Site Views Access"
@ -3968,14 +4151,17 @@ COM_COMPONENTBUILDER_TEMPLATE_VERSION_DESC="A count of the number of times this
COM_COMPONENTBUILDER_TEMPLATE_VERSION_LABEL="Revision"
COM_COMPONENTBUILDER_TEMPLATE_YES="Yes"
COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_BSETTINGSB_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_BEXPORT_KEYB="That means anyone who has this package can install it into JCB. To add an export key simply open the component, go to the tab called <b>settings</b>, bottom right there is a field called <b>Export Key</b>."
COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY="That means anyone who has this package can install it into JCB. To add an export key simply open the component, go to the tab called settings, bottom right there is a field called Export Key."
COM_COMPONENTBUILDER_THE_KEY_OF_THIS_PACKAGE="The key of this package."
COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING="The notice board is loading"
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s</code>"
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
COM_COMPONENTBUILDER_THE_WIKI_IS_LOADING="The wiki is loading"
COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY="This package has no key."
COM_COMPONENTBUILDER_TOTAL_DOWNLOADS="total downloads"
COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_BJCB_GLOBAL_OPTIONSB_GO_TO_THE_BCOMPANYB_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="To change the package owner defaults. Open the <b>JCB Global Options</b>, go to the <b>Company</b> tab and add the correct company details there."
COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="To change the package owner defaults. Open the JCB Global Options, go to the Company tab and add the correct company details there."
COM_COMPONENTBUILDER_TRANSLATION="Translation"
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
COM_COMPONENTBUILDER_USED_IN="used in"
@ -3987,8 +4173,10 @@ COM_COMPONENTBUILDER_VERSION="Version"
COM_COMPONENTBUILDER_VIEW_MORE_ISSUES_ON_GITHUB="View more issues on Github"
COM_COMPONENTBUILDER_VIEW_MORE_RELEASES_ON_GITHUB="View more releases on Github"
COM_COMPONENTBUILDER_WEBSITE="Website"
COM_COMPONENTBUILDER_WEBSITE_S="Website: %s"
COM_COMPONENTBUILDER_YES="Yes"
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEYBR_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY="Your data is encrypted with a AES 128 bit encryption using the above 32 character key.<br />Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically."
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY_UNLESS_THEY_HAVE_THIS_KEY_ABOVE_SO_DO_KEEP_IT_SAFE="Your data is encrypted with a AES 128 bit encryption using the above 32 character key. Without this key it will take the current technology with a brute force attack method more then <a href="http://random-ize.com/how-long-to-hack-pass/" target="_blank" title="How long to hack pass">700 000 000 000 000 000 000 000 000 000 000</a> years to crack theoretically. Unless they have this key above, so do keep it safe."
COM_COMPONENTBUILDER_YOU_CAN_NOW_SELECT_THE_COMPONENT_BZIPB_PACKAGE_YOU_WOULD_LIKE_TO_IMPORTBR_SMALLPLEASE_NOTE_THAT_SMART_COMPONENT_IMPORT_ONLY_WORKS_WITH_THE_FOLLOWING_FORMAT_BZIPBSMALL="You can now select the component <b>zip</b> package you would like to import.<br /><small>Please note that smart component import only works with the following format: <b>(.zip)</b></small>"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT="You must select a component!"

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage css_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_import_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage javascript_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_components_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage mysql_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage mysql_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage php_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_above.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage settings_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage batchselection.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_script_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_rightside.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_components_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage abacus_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage abacus_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_script_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_above.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage gettable_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_admin_views_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage scripts_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage scripts_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_above.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_right.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage details_under.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publishing.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10
@build 12th August, 2017
@version 2.5.0
@build 21st August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage publlshing.php

Some files were not shown because too many files have changed in this diff Show More