forked from joomla/Component-Builder
567 lines
25 KiB
PHP
567 lines
25 KiB
PHP
<?php
|
|
/**
|
|
* @package Joomla.Component.Builder
|
|
*
|
|
* @created 30th April, 2015
|
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\Router\Route;
|
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
|
use VDM\Joomla\Utilities\ArrayHelper;
|
|
use Joomla\CMS\Uri\Uri;
|
|
|
|
// No direct access to this file
|
|
defined('_JEXEC') or die;
|
|
|
|
Html::_('jquery.framework');
|
|
Html::_('bootstrap.tooltip');
|
|
Html::_('script', 'system/core.js', false, true);
|
|
Html::_('behavior.keepalive');
|
|
|
|
?>
|
|
<script type="text/javascript">
|
|
<?php if (isset($this->hasPackage) && $this->hasPackage && $this->dataType === 'smart_package'): ?>
|
|
Joomla.continueExtImport = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
jQuery('#loading').css('display', 'block');
|
|
form.gettype.value = 'continue-ext';
|
|
form.submit();
|
|
};
|
|
Joomla.cancelImport = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
jQuery('#loading').css('display', 'block');
|
|
form.gettype.value = 'cancel-ext';
|
|
form.submit();
|
|
};
|
|
<?php else: ?>
|
|
Joomla.submitbutton = function(task)
|
|
{
|
|
if ('joomla_component.refresh' === task){
|
|
jQuery('#loading').css('display', 'block');
|
|
// clear the history
|
|
jQuery.jStorage.flush();
|
|
// now start the update
|
|
autoJCBpackageInfo();
|
|
// also clear the session memory around the component list
|
|
Joomla.submitform(task);
|
|
} else {
|
|
var form = document.getElementById('adminForm');
|
|
// do field validation
|
|
if (form.import_package.value == "")
|
|
{
|
|
alert("<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_MSG_PLEASE_SELECT_A_FILE', true); ?>");
|
|
}
|
|
else
|
|
{
|
|
jQuery('#loading').css('display', 'block');
|
|
form.gettype.value = 'upload';
|
|
form.submit();
|
|
}
|
|
}
|
|
};
|
|
Joomla.submitbuttonDir = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
// do field validation
|
|
if (form.import_directory.value == ""){
|
|
alert("<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_MSG_PLEASE_SELECT_A_DIRECTORY', true); ?>");
|
|
}
|
|
else
|
|
{
|
|
jQuery('#loading').css('display', 'block');
|
|
form.gettype.value = 'folder';
|
|
form.submit();
|
|
}
|
|
};
|
|
Joomla.submitbuttonUrl = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
// do field validation
|
|
if (form.import_url.value == "" || form.import_url.value == "http://")
|
|
{
|
|
alert("<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_MSG_ENTER_A_URL', true); ?>");
|
|
}
|
|
else
|
|
{
|
|
jQuery('#loading').css('display', 'block');
|
|
form.gettype.value = 'url';
|
|
form.submit();
|
|
}
|
|
};
|
|
Joomla.submitbuttonVDM = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
// do field validation
|
|
if (form.vdm_package.value == "" || form.vdm_package.value == "http://")
|
|
{
|
|
alert("<?php echo Text::_('COM_COMPONENTBUILDER_SELECT_THE_COMPONENT_YOUR_WOULD_LIKE_TO_IMPORT', true); ?>");
|
|
}
|
|
else
|
|
{
|
|
// set the url
|
|
form.import_url.value = form.vdm_package.value;
|
|
jQuery('#loading').css('display', 'block');
|
|
jQuery('#noticeboard').show();
|
|
jQuery('#installer-import').hide();
|
|
form.checksum.value = 'vdm';
|
|
form.gettype.value = 'url';
|
|
form.submit();
|
|
}
|
|
};
|
|
Joomla.submitbuttonJCB = function()
|
|
{
|
|
var form = document.getElementById('adminForm');
|
|
// do field validation
|
|
if (form.jcb_package.value == "" || form.jcb_package.value == "http://")
|
|
{
|
|
alert("<?php echo Text::_('COM_COMPONENTBUILDER_SELECT_THE_COMPONENT_YOUR_WOULD_LIKE_TO_IMPORT', true); ?>");
|
|
}
|
|
else
|
|
{
|
|
// set the url
|
|
form.import_url.value = form.jcb_package.value;
|
|
jQuery('#loading').css('display', 'block');
|
|
jQuery('#noticeboard').show();
|
|
jQuery('#installer-import').hide();
|
|
form.checksum.value = 'jcb';
|
|
form.gettype.value = 'url';
|
|
form.submit();
|
|
}
|
|
};
|
|
<?php endif; ?>
|
|
|
|
|
|
// Add spindle-wheel for importations:
|
|
jQuery(document).ready(function($) {
|
|
|
|
// get page body
|
|
var outerBodyDiv = document.querySelector('body');
|
|
|
|
// start loading spinner
|
|
var loadingDiv = document.createElement('div');
|
|
loadingDiv.id = 'loading';
|
|
|
|
// Set CSS properties individually
|
|
loadingDiv.style.background = "rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/import.gif') 50% 15% no-repeat";
|
|
loadingDiv.style.top = (outerBodyDiv.getBoundingClientRect().top + window.pageYOffset) + "px";
|
|
loadingDiv.style.left = (outerBodyDiv.getBoundingClientRect().left + window.pageXOffset) + "px";
|
|
loadingDiv.style.width = outerBodyDiv.offsetWidth + "px";
|
|
loadingDiv.style.height = outerBodyDiv.offsetHeight + "px";
|
|
loadingDiv.style.position = 'fixed';
|
|
loadingDiv.style.opacity = '0.80';
|
|
loadingDiv.style.msFilter = "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
|
|
loadingDiv.style.filter = "alpha(opacity=80)";
|
|
loadingDiv.style.display = 'none';
|
|
|
|
// add to page body
|
|
outerBodyDiv.appendChild(loadingDiv);
|
|
});
|
|
</script>
|
|
|
|
<?php $formats = ($this->dataType === 'smart_package') ? '.zip' : 'none'; ?>
|
|
<div class="clearfix">
|
|
<form enctype="multipart/form-data" action="<?php echo Route::_('index.php?option=com_componentbuilder&view=import_joomla_components');?>" method="post" name="adminForm" id="adminForm" class="form-horizontal form-validate">
|
|
|
|
<?php if (!empty( $this->sidebar)) : ?>
|
|
<div id="j-sidebar-container" class="span2">
|
|
<?php echo $this->sidebar; ?>
|
|
</div>
|
|
<div id="j-main-container" class="span10">
|
|
<?php else : ?>
|
|
<div id="j-main-container">
|
|
<?php endif;?>
|
|
<div id="noticeboard" class="well well-small" style="display: none;">
|
|
<h2 class="module-title nav-header"><?php echo Text::_('COM_COMPONENTBUILDER_VDM_NOTICE_BOARD'); ?><span class="vdm-new-notice" style="display:none; color:red;"> (<?php echo Text::_('COM_COMPONENTBUILDER_NEW_NOTICE'); ?>)</span></h2>
|
|
<div class="noticeboard-md"><small><?php echo Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING'); ?><span class="loading-dots">.</span></small></div>
|
|
<div style="text-align:right;"><small><a href="https://github.com/Llewellynvdm" target="_blank" style="color:gray"><<ewe>>yn</a></small></div>
|
|
</div>
|
|
<div id="installer-import">
|
|
<?php if (isset($this->hasPackage) && $this->hasPackage && $this->dataType === 'smart_package') : ?>
|
|
<?php
|
|
if (isset($this->packageInfo['name']) && ArrayHelper::check($this->packageInfo['name']))
|
|
{
|
|
$cAmount = count($this->packageInfo['name']);
|
|
$comP = ($cAmount == 1) ? 'Component' : 'Components';
|
|
}
|
|
else
|
|
{
|
|
$cAmount = 1;
|
|
$comP = 'Component';
|
|
}
|
|
$hasOwner = (isset($this->packageInfo['getKeyFrom']) && ArrayHelper::check($this->packageInfo['getKeyFrom'])) ? true:false;
|
|
$class1 = ($hasOwner) ? 'span6' : 'span12';
|
|
?>
|
|
<h3 style="color: #1F73BA;"><?php echo Text::_('COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING'); ?></h3>
|
|
<p style="color: #1F73BA;"><?php echo Text::_('COM_COMPONENTBUILDER_YOU_SHOULD_ONLY_CONTINUE_THIS_IMPORT_IF_YOU_HAVE_BACKUP_YOUR_COMPONENTS_AND_INSURED_THAT_THE_PACKAGE_OWNER_IS_REPUTABLE'); ?></p>
|
|
<?php echo Html::_('bootstrap.startTabSet', 'jcbImportTab', array('active' => 'advanced')); ?>
|
|
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'advanced', Text::sprintf('COM_COMPONENTBUILDER_IMPORT_S', $comP)); ?>
|
|
<div class="<?php echo $class1; ?>">
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_('COM_COMPONENTBUILDER_SMART_PACKAGE_OPTIONS'); ?></legend>
|
|
<?php if ($this->formPackage): ?>
|
|
<?php foreach ($this->formPackage as $field): ?>
|
|
<div class="control-group">
|
|
<div class="control-label"><?php echo $field->label;?></div>
|
|
<div class="controls"><?php echo $field->input;?></div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|
|
<div class="form-actions">
|
|
<div class="btn-group">
|
|
<input class="btn btn-primary" type="button" value="<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_CONTINUE'); ?>" onclick="Joomla.continueExtImport()" />
|
|
<input class="btn" type="button" value="<?php echo Text::_('COM_COMPONENTBUILDER_CANCEL'); ?>" onclick="Joomla.cancelImport()" />
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<?php if (!$hasOwner): ?>
|
|
<p style="color: #922924;"><?php echo Text::_('COM_COMPONENTBUILDER_BE_CAUTIOUS_DO_NOT_CONTINUE_UNLESS_YOU_TRUST_THE_ORIGIN_OF_THIS_PACKAGE'); ?></p>
|
|
<?php endif; ?>
|
|
</div>
|
|
<?php if ($hasOwner): ?>
|
|
<div class="well span6">
|
|
<?php echo \VDM\Joomla\Componentbuilder\Package\Factory::_('Display.Details')->owner($this->packageInfo); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
|
|
<?php if (isset($this->packageInfo['name']) && ArrayHelper::check($this->packageInfo['name'])) : ?>
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'info', Text::sprintf('COM_COMPONENTBUILDER_S_BEING_IMPORTED', $comP)); ?>
|
|
<?php echo \VDM\Joomla\Componentbuilder\Package\Factory::_('Display.Details')->components($this->packageInfo); ?>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
<?php endif; ?>
|
|
|
|
<?php echo Html::_('bootstrap.endTabSet'); ?>
|
|
<input type="hidden" name="gettype" value="continue" />
|
|
<?php else: ?>
|
|
<?php if ($this->dataType === 'smart_package'): ?>
|
|
<h1 style="color: #922924;"><?php echo Text::_('COM_COMPONENTBUILDER_BACKUP_LOCAL_DATA_FIRST'); ?></h1>
|
|
<p style="color: #922924;"><?php echo Text::sprintf('COM_COMPONENTBUILDER_ALWAYS_INSURE_THAT_YOU_HAVE_YOUR_LOCAL_COMPONENTS_BACKED_UP_BY_MAKING_AN_EXPORT_OF_ALL_YOUR_LOCAL_COMPONENTS_BEFORE_IMPORTING_ANY_NEW_COMPONENTS_SMALLMAKE_BSUREB_TO_MOVE_THIS_ZIPPED_BACKUP_PACKAGE_OUT_OF_THE_TMP_FOLDER_BEFORE_DOING_AN_IMPORTSMALLBR_IF_YOU_ARE_IMPORTING_A_PACKAGE_OF_A_THREERD_PARTY_JCB_PACKAGE_DEVELOPER_BMAKE_SURE_IT_IS_A_REPUTABLE_JCB_PACKAGE_DEVELOPERSB_A_SFIND_OUT_WHYA', 'href="https://vdm.bz/jcb-package-import-safety" target="_blank" title="Watch tutorial"'); ?></p>
|
|
<?php endif; ?>
|
|
<?php echo Html::_('bootstrap.startTabSet', 'jcbImportTab', array('active' => 'upload')); ?>
|
|
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'upload', Text::_('COM_COMPONENTBUILDER_IMPORT_FROM_UPLOAD', true)); ?>
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_UPDATE_DATA'); ?></legend>
|
|
<div class="control-group">
|
|
<label for="import_package" class="control-label"><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE'); ?></label>
|
|
<div class="controls">
|
|
<input class="input_box" id="import_package" name="import_package" type="file" size="57" />
|
|
</div>
|
|
</div>
|
|
<div class="form-actions">
|
|
<input class="btn btn-primary" type="button" value="<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_UPLOAD_BOTTON'); ?>" onclick="Joomla.submitbutton()" /> <small><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_FORMATS_ACCEPTED'); ?> (<?php echo $formats; ?>)</small>
|
|
</div>
|
|
</fieldset>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'directory', Text::_('COM_COMPONENTBUILDER_IMPORT_FROM_DIRECTORY', true)); ?>
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_UPDATE_DATA'); ?></legend>
|
|
<div class="control-group">
|
|
<label for="import_directory" class="control-label"><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_DIRECTORY'); ?></label>
|
|
<div class="controls">
|
|
<input type="text" id="import_directory" name="import_directory" class="span5 input_box" size="70" value="<?php echo $this->state->get('import.directory'); ?>" />
|
|
</div>
|
|
</div>
|
|
<div class="form-actions">
|
|
<input type="button" class="btn btn-primary" value="<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_GET_BOTTON'); ?>" onclick="Joomla.submitbuttonDir()" /> <small><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_FORMATS_ACCEPTED'); ?> (<?php echo $formats; ?>)</small>
|
|
</div>
|
|
</fieldset>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'url', Text::_('COM_COMPONENTBUILDER_IMPORT_FROM_URL', true)); ?>
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_UPDATE_DATA'); ?></legend>
|
|
<div class="control-group">
|
|
<label for="import_url" class="control-label"><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_URL'); ?></label>
|
|
<div class="controls">
|
|
<input type="text" id="import_url" name="import_url" class="span5 input_box" size="70" value="http://" />
|
|
</div>
|
|
</div>
|
|
<div class="form-actions">
|
|
<input type="button" class="btn btn-primary" value="<?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_GET_BOTTON'); ?>" onclick="Joomla.submitbuttonUrl()" /> <small><?php echo Text::_('COM_COMPONENTBUILDER_IMPORT_FORMATS_ACCEPTED'); ?> (<?php echo $formats; ?>)</small>
|
|
</div>
|
|
</fieldset>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
|
|
<?php if (isset($this->vdmPackages) && ArrayHelper::check($this->vdmPackages)): ?>
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'url_vdm', Text::_('COM_COMPONENTBUILDER_VDM_PACKAGES', true)); ?>
|
|
<div class="span12" id="vdm_packages_installer">
|
|
<div class="alert alert-success">
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA', 'href="https://github.com/vdm-io/JCB-Packages" target="_blank" title="gitHub Reposetory"', 'href="http://vdm.bz/jcb-packages" target="_blank" title="get a key to import the paid packages."'); ?></p>
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_HOW_TO_GET_A_S_FREE_KEYSA_FROM_VDM', 'href="https://vdm.bz/how-to-get-free-vdm-package-keys" target="_blank" title="see how easy it is to get access keys from VDM"'); ?></p>
|
|
</div>
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_("COM_COMPONENTBUILDER_PACKAGES_FROM_VAST_DEVELOPMENT_METHOD"); ?></legend>
|
|
<?php foreach ($this->vdmPackages as $field): ?>
|
|
<div class="control-group">
|
|
<div class="control-label"><?php echo $field->label;?></div>
|
|
<div class="controls"><?php echo $field->input;?></div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<div class="form-actions">
|
|
<input type="button" class="btn btn-primary" value="<?php echo Text::_('COM_COMPONENTBUILDER_GET_PACKAGE'); ?>" onclick="Joomla.submitbuttonVDM()" /> <small><span class="icon-shield"> </span><?php echo Text::_('COM_COMPONENTBUILDER_OFFICIAL_VDM_PACKAGES'); ?></small>
|
|
</div>
|
|
<div class="control-group"><small><?php echo Text::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
|
|
</fieldset>
|
|
</div>
|
|
<div id="vdm_packages_display">
|
|
<div id="vdm_packages_details">
|
|
</div><br />
|
|
<div id="vdm_package_owner_details">
|
|
</div>
|
|
</div>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
<?php endif; ?>
|
|
|
|
<?php if (isset($this->jcbPackages) && ArrayHelper::check($this->jcbPackages)) : ?>
|
|
<?php echo Html::_('bootstrap.addTab', 'jcbImportTab', 'url_jcb', Text::_('COM_COMPONENTBUILDER_JCB_COMMUNITY_PACKAGES', true)); ?>
|
|
<div class="span12" id="jcb_packages_installer">
|
|
<div class="alert alert-success">
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know, some need a key of course."'); ?></p>
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE', 'href="https://github.com/vdm-io/JCB-Community-Packages" target="_blank" title="gitHub Reposetory"'); ?></p>
|
|
<p><?php echo Text::sprintf('COM_COMPONENTBUILDER_ADD_YOUR_OWN_JCB_PACKAGES_TO_THE_COMMUNITY_A_S_GITHUBA_REPOSITORYBR_WATCH_THIS_A_S_TUTORIALA_TO_SEE_HOW', 'href="https://github.com/vdm-io/JCB-Community-Packages" target="_blank" title="gitHub Reposetory"', 'href="https://vdm.bz/add-jcb-community-package" target="_blank" title="watch the quick tutorial on how to add your own packages to this list of community packages"'); ?></p>
|
|
</div>
|
|
<fieldset class="uploadform">
|
|
<legend><?php echo Text::_("COM_COMPONENTBUILDER_PACKAGES_FROM_JCB_COMMUNITY"); ?></legend>
|
|
<?php foreach ($this->jcbPackages as $field): ?>
|
|
<div class="control-group">
|
|
<div class="control-label"><?php echo $field->label;?></div>
|
|
<div class="controls"><?php echo $field->input;?></div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<div class="form-actions">
|
|
<input type="button" class="btn btn-primary" value="<?php echo Text::_('COM_COMPONENTBUILDER_GET_PACKAGE'); ?>" onclick="Joomla.submitbuttonJCB()" /> <small><span class="icon-shield"> </span><?php echo Text::_('COM_COMPONENTBUILDER_COMMUNITY_PACKAGES'); ?></small>
|
|
</div>
|
|
<div class="control-group"><small><?php echo Text::sprintf('COM_COMPONENTBUILDER_A_S_SPAN_CLASSICONFLAG_SPANREPORT_BROKEN_PACKAGEA', 'href="https://www.joomlacomponentbuilder.com/package-support" target="_blank" title="Should any of these packages fail to import please let us know"'); ?></small></div>
|
|
</fieldset>
|
|
</div>
|
|
<div id="jcb_packages_display">
|
|
<div id="jcb_packages_details">
|
|
</div><br />
|
|
<div id="jcb_package_owner_details">
|
|
</div>
|
|
</div>
|
|
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
<?php endif; ?>
|
|
|
|
<?php echo Html::_('bootstrap.endTabSet'); ?>
|
|
<input type="hidden" name="gettype" value="upload" />
|
|
<input type="hidden" name="checksum" value="0" />
|
|
<?php endif; ?>
|
|
<input type="hidden" name="task" value="import_joomla_components.import" />
|
|
<?php echo Html::_('form.token'); ?>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<script type="text/javascript">
|
|
<?php if ((isset($this->vdmPackages) && $this->vdmPackages && ArrayHelper::check($this->vdmPackages)) || (isset($this->jcbPackages) && $this->jcbPackages && ArrayHelper::check($this->jcbPackages))): ?>
|
|
// set packages that are on the page
|
|
var packages = {};
|
|
jQuery(document).ready(function($)
|
|
{
|
|
<?php if (isset($this->jcbPackages) && $this->jcbPackages && ArrayHelper::check($this->jcbPackages)): ?>
|
|
// get all jcb packages
|
|
jQuery("#jcb_package option").each(function()
|
|
{
|
|
var package = jQuery(this).val();
|
|
packages[package] = 'jcb';
|
|
});
|
|
<?php endif; ?>
|
|
<?php if (isset($this->vdmPackages) && $this->vdmPackages && ArrayHelper::check($this->vdmPackages)): ?>
|
|
// get all vdm packages
|
|
jQuery("#vdm_package option").each(function()
|
|
{
|
|
var package = jQuery(this).val();
|
|
packages[package] = 'vdm';
|
|
});
|
|
<?php endif; ?>
|
|
// no start behind the scene getting of package info
|
|
autoJCBpackageInfo();
|
|
});
|
|
|
|
function autoJCBpackageInfo(){
|
|
jQuery.each( packages, function( package, type ) {
|
|
// check if the values are local
|
|
var result = jQuery.jStorage.get('JCB-packages-details' + package, null);
|
|
if (!result && package.length > 0) {
|
|
autoJCBpackageInfoAgain(package, type);
|
|
}
|
|
});
|
|
}
|
|
|
|
function autoJCBpackageInfoAgain(package, type){
|
|
getJCBpackageInfo_server(package).done(function(result) {
|
|
if(result.owner || result.packages){
|
|
jQuery.jStorage.set('JCB-packages-details' + package, result, {TTL: expire});
|
|
}
|
|
});
|
|
}
|
|
|
|
function getJCBpackageInfo(type){
|
|
// show spinner
|
|
jQuery('#loading').css('display', 'block');
|
|
jQuery('#noticeboard').show();
|
|
jQuery('#installer-import').hide();
|
|
// get value
|
|
var package = jQuery('#'+type+'_package').val();
|
|
if (package) {
|
|
// check if the values are local
|
|
var result = jQuery.jStorage.get('JCB-packages-details'+package, null);
|
|
if (result) {
|
|
showJCBpackageInfo(result, package, type);
|
|
} else {
|
|
getJCBpackageInfoAgain(package, type);
|
|
}
|
|
} else {
|
|
// hide spinner
|
|
jQuery('#loading').hide();
|
|
jQuery('#noticeboard').hide();
|
|
jQuery('#installer-import').show();
|
|
jQuery('#'+type+'_package_owner_details').html(' ');
|
|
jQuery('#'+type+'_packages_details').html(' ');
|
|
// some display moves
|
|
jQuery('#'+type+'_packages_installer').removeClass('span6').addClass('span12');
|
|
jQuery('#'+type+'_packages_display').removeClass('span6');
|
|
}
|
|
}
|
|
|
|
function getJCBpackageInfoAgain(package, type){
|
|
getJCBpackageInfo_server(package).done(function(result) {
|
|
showJCBpackageInfo(result, package, type);
|
|
});
|
|
}
|
|
|
|
function showJCBpackageInfo(result, package, type){
|
|
if(result.owner || result.packages){
|
|
jQuery('#'+type+'_packages_details').html(result.packages);
|
|
jQuery('#'+type+'_package_owner_details').html(result.owner);
|
|
jQuery.jStorage.set('JCB-packages-details'+package, result, {TTL: expire});
|
|
// some display moves
|
|
jQuery('#'+type+'_packages_installer').removeClass('span12').addClass('span6');
|
|
jQuery('#'+type+'_packages_display').addClass('span6');
|
|
} else {
|
|
if (result.error) {
|
|
jQuery('#'+type+'_packages_details').html(result.error);
|
|
}
|
|
jQuery('#'+type+'_package_owner_details').html(' ');
|
|
jQuery('#'+type+'_noticeboard').show();
|
|
// some display moves
|
|
jQuery('#'+type+'_packages_installer').removeClass('span6').addClass('span12');
|
|
jQuery('#'+type+'_packages_display').removeClass('span6');
|
|
}
|
|
// stop spinner
|
|
jQuery('#loading').hide();
|
|
jQuery('#noticeboard').hide();
|
|
jQuery('#installer-import').show();
|
|
}
|
|
|
|
function getJCBpackageInfo_server(package){
|
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getJCBpackageInfo&format=json";
|
|
if(token.length > 0 && package.length > 0){
|
|
var request = token + '=1&package=' + package;
|
|
}
|
|
return jQuery.ajax({
|
|
type: 'GET',
|
|
url: getUrl,
|
|
dataType: 'jsonp',
|
|
data: request,
|
|
jsonp: 'callback'
|
|
});
|
|
}
|
|
<?php endif; ?>
|
|
|
|
|
|
var noticeboard = "https://www.vdm.io/componentbuilder-noticeboard-md";
|
|
jQuery(document).ready(function () {
|
|
jQuery.get(noticeboard)
|
|
.success(function(board) {
|
|
if (board.length > 5) {
|
|
jQuery(".noticeboard-md").html(marked.parse(board));
|
|
getIS(1,board).done(function(result) {
|
|
if (result){
|
|
jQuery(".vdm-new-notice").show();
|
|
getIS(2,board);
|
|
}
|
|
});
|
|
} else {
|
|
jQuery(".noticeboard-md").html(all_is_good);
|
|
}
|
|
})
|
|
.error(function(jqXHR, textStatus, errorThrown) {
|
|
jQuery(".noticeboard-md").html(all_is_good);
|
|
});
|
|
});
|
|
// to check is READ/NEW
|
|
function getIS(type,notice){
|
|
if(type == 1){
|
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true");
|
|
} else if (type == 2) {
|
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true");
|
|
}
|
|
if(token.length > 0 && notice.length){
|
|
var request = token+"=1¬ice="+notice;
|
|
}
|
|
return jQuery.ajax({
|
|
type: "POST",
|
|
url: getUrl,
|
|
dataType: "json",
|
|
data: request,
|
|
jsonp: false
|
|
});
|
|
}
|
|
|
|
jQuery('#adminForm').on('change', '#haskey',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var haskey = jQuery("#haskey input[type='radio']:checked").val();
|
|
if (haskey == 1) {
|
|
jQuery("#sleutle").closest('.control-group').show();
|
|
} else {
|
|
jQuery("#sleutle").closest('.control-group').hide();
|
|
}
|
|
});
|
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
|
document.querySelectorAll(".loading-dots").forEach(function(loading_dots) {
|
|
let x = 0;
|
|
let intervalId = setInterval(function() {
|
|
if (!loading_dots.classList.contains("loading-dots")) {
|
|
clearInterval(intervalId);
|
|
return;
|
|
}
|
|
let dots = ".".repeat(x % 8);
|
|
loading_dots.textContent = dots;
|
|
x++;
|
|
}, 500);
|
|
});
|
|
});
|
|
|
|
<?php
|
|
$app = Factory::getApplication();
|
|
?>
|
|
function JRouter(link) {
|
|
<?php
|
|
if ($app->isClient('site'))
|
|
{
|
|
echo 'var url = "'. Uri::root() . '";';
|
|
}
|
|
else
|
|
{
|
|
echo 'var url = "";';
|
|
}
|
|
?>
|
|
return url+link;
|
|
}
|
|
</script>
|