Component-Builder/admin/views/custom_code/tmpl/edit.php
Llewellyn van der Merwe f15b67cff1
Added notice of language (tanslations) added or not added with details to compiler
Resolved gh-146 compiler error on joined db in dinamic get thanks to @mwweb & @ro-ot
Resolved gh-147 by adding the sort of fields back into the save method
Resolved gh-144 to ensure that the published tab (fields overwriting and adding) option is available again.
Resolved gh-145 by moving the subforms to their own tab in dynamic get view
Converted all repeatable fields to subform fields in Joomla component view
Moved 9 subforms and other fields to their own table and view (decopuling them fom Joomla component view), that means we added 9 more views and tables to JCB
Added all the ajax for buttons and display views to Joomla component view
Added tmp scripts all across the new areas with subforms to ensure all repeatable fields are converted. Will be removed in v2.7.0
Added synced copy, change state and delete in Joomla components view in relation to all tables linked to it (same as with admin views)
2017-10-26 18:43:51 +02:00

281 lines
10 KiB
PHP

<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 84 of this MVC
@build 13th October, 2017
@created 11th October, 2016
@package Component Builder
@subpackage edit.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
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
$componentParams = JComponentHelper::getParams('com_componentbuilder');
?>
<script type="text/javascript">
// waiting spinner
var outerDiv = jQuery('body');
jQuery('<div id="loading"></div>')
.css("background", "rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/import.gif') 50% 15% no-repeat")
.css("top", outerDiv.position().top - jQuery(window).scrollTop())
.css("left", outerDiv.position().left - jQuery(window).scrollLeft())
.css("width", outerDiv.width())
.css("height", outerDiv.height())
.css("position", "fixed")
.css("opacity", "0.80")
.css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity = 80)")
.css("filter", "alpha(opacity = 80)")
.css("display", "none")
.appendTo(outerDiv);
jQuery('#loading').show();
// when page is ready remove and show
jQuery(window).load(function() {
jQuery('#componentbuilder_loader').fadeIn('fast');
jQuery('#loading').hide();
});
</script>
<div id="componentbuilder_loader" style="display: none;">
<form action="<?php echo JRoute::_('index.php?option=com_componentbuilder&layout=edit&id='.(int) $this->item->id.$this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
<?php echo JLayoutHelper::render('custom_code.details_above', $this); ?>
<div class="form-horizontal">
<?php echo JHtml::_('bootstrap.startTabSet', 'custom_codeTab', array('active' => 'details')); ?>
<?php echo JHtml::_('bootstrap.addTab', 'custom_codeTab', 'details', JText::_('COM_COMPONENTBUILDER_CUSTOM_CODE_DETAILS', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span6">
<?php echo JLayoutHelper::render('custom_code.details_left', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('custom_code.details_right', $this); ?>
</div>
</div>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<?php echo JLayoutHelper::render('custom_code.details_fullwidth', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php if ($this->canDo->get('custom_code.delete') || $this->canDo->get('custom_code.edit.created_by') || $this->canDo->get('custom_code.edit.state') || $this->canDo->get('custom_code.edit.created')) : ?>
<?php echo JHtml::_('bootstrap.addTab', 'custom_codeTab', 'publishing', JText::_('COM_COMPONENTBUILDER_CUSTOM_CODE_PUBLISHING', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span6">
<?php echo JLayoutHelper::render('custom_code.publishing', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('custom_code.publlshing', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php if ($this->canDo->get('core.admin')) : ?>
<?php echo JHtml::_('bootstrap.addTab', 'custom_codeTab', 'permissions', JText::_('COM_COMPONENTBUILDER_CUSTOM_CODE_PERMISSION', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<fieldset class="adminform">
<div class="adminformlist">
<?php foreach ($this->form->getFieldset('accesscontrol') as $field): ?>
<div>
<?php echo $field->label; echo $field->input;?>
</div>
<div class="clearfix"></div>
<?php endforeach; ?>
</div>
</fieldset>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
<div>
<input type="hidden" name="task" value="custom_code.edit" />
<?php echo JHtml::_('form.token'); ?>
</div>
</div>
</div>
<div class="clearfix"></div>
<?php echo JLayoutHelper::render('custom_code.details_under', $this); ?>
</form>
</div>
<script type="text/javascript">
// #jform_target listeners for target_vvvvvzq function
jQuery('#jform_target').on('keyup',function()
{
var target_vvvvvzq = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzq(target_vvvvvzq);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target_vvvvvzq = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzq(target_vvvvvzq);
});
// #jform_target listeners for target_vvvvvzr function
jQuery('#jform_target').on('keyup',function()
{
var target_vvvvvzr = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzr(target_vvvvvzr);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target_vvvvvzr = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzr(target_vvvvvzr);
});
// #jform_target listeners for target_vvvvvzs function
jQuery('#jform_target').on('keyup',function()
{
var target_vvvvvzs = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvvzs = jQuery("#jform_type input[type='radio']:checked").val();
vvvvvzs(target_vvvvvzs,type_vvvvvzs);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target_vvvvvzs = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvvzs = jQuery("#jform_type input[type='radio']:checked").val();
vvvvvzs(target_vvvvvzs,type_vvvvvzs);
});
// #jform_type listeners for type_vvvvvzs function
jQuery('#jform_type').on('keyup',function()
{
var target_vvvvvzs = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvvzs = jQuery("#jform_type input[type='radio']:checked").val();
vvvvvzs(target_vvvvvzs,type_vvvvvzs);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var target_vvvvvzs = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvvzs = jQuery("#jform_type input[type='radio']:checked").val();
vvvvvzs(target_vvvvvzs,type_vvvvvzs);
});
// #jform_type listeners for type_vvvvvzt function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvvzt = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvvzt = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzt(type_vvvvvzt,target_vvvvvzt);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvvzt = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvvzt = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzt(type_vvvvvzt,target_vvvvvzt);
});
// #jform_target listeners for target_vvvvvzt function
jQuery('#jform_target').on('keyup',function()
{
var type_vvvvvzt = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvvzt = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzt(type_vvvvvzt,target_vvvvvzt);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var type_vvvvvzt = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvvzt = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvzt(type_vvvvvzt,target_vvvvvzt);
});
jQuery('#adminForm').on('change', '#jform_function_name',function (e)
{
e.preventDefault();
var target = jQuery("#jform_target input[type='radio']:checked").val();
if (target == 2) {
jQuery('#usedin').show();
var functioName = jQuery('#jform_function_name').val();
// check if this function name is taken
checkFunctionName(functioName);
} else {
jQuery('#usedin').hide();
}
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target = jQuery("#jform_target input[type='radio']:checked").val();
if (target == 2) {
jQuery('#usedin').show();
var functioName = jQuery('#jform_function_name').val();
// check if this function name is taken
checkFunctionName(functioName);
} else {
jQuery('#usedin').hide();
}
});
jQuery('#adminForm').on('change', '#jform_comment_type',function (e)
{
e.preventDefault();
var type = jQuery("#jform_comment_type input[type='radio']:checked").val();
if (type == 2) {
jQuery('#html-comment-info').show();
jQuery('#phpjs-comment-info').hide();
} else {
jQuery('#html-comment-info').hide();
jQuery('#phpjs-comment-info').show();
}
});
// nice little dot trick :)
jQuery(document).ready( function($) {
var x=0;
setInterval(function() {
var dots = "";
x++;
for (var y=0; y < x%8; y++) {
dots+=".";
}
$(".loading-dots").text(dots);
} , 500);
});
</script>