Added buttons to edit cutomcode directly from where it is added in other areas around the component. This will improve the customcode workflow in JCB.
This commit is contained in:
parent
8cdf056ad4
commit
1a538e71d7
@ -144,11 +144,11 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 30th January, 2019
|
+ *Last Build*: 31st January, 2019
|
||||||
+ *Version*: 2.9.10
|
+ *Version*: 2.9.10
|
||||||
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **194699**
|
+ *Line count*: **195869**
|
||||||
+ *Field count*: **1089**
|
+ *Field count*: **1089**
|
||||||
+ *File count*: **1277**
|
+ *File count*: **1277**
|
||||||
+ *Folder count*: **201**
|
+ *Folder count*: **201**
|
||||||
|
@ -144,11 +144,11 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 30th January, 2019
|
+ *Last Build*: 31st January, 2019
|
||||||
+ *Version*: 2.9.10
|
+ *Version*: 2.9.10
|
||||||
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **194699**
|
+ *Line count*: **195869**
|
||||||
+ *Field count*: **1089**
|
+ *Field count*: **1089**
|
||||||
+ *File count*: **1277**
|
+ *File count*: **1277**
|
||||||
+ *Folder count*: **201**
|
+ *Folder count*: **201**
|
||||||
|
@ -45,6 +45,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
|||||||
$this->registerTask('getDynamicValues', 'ajax');
|
$this->registerTask('getDynamicValues', 'ajax');
|
||||||
$this->registerTask('checkFunctionName', 'ajax');
|
$this->registerTask('checkFunctionName', 'ajax');
|
||||||
$this->registerTask('usedin', 'ajax');
|
$this->registerTask('usedin', 'ajax');
|
||||||
|
$this->registerTask('getEditCustomCodeButtons', 'ajax');
|
||||||
$this->registerTask('getExistingValidationRuleCode', 'ajax');
|
$this->registerTask('getExistingValidationRuleCode', 'ajax');
|
||||||
$this->registerTask('getValidationRulesTable', 'ajax');
|
$this->registerTask('getValidationRulesTable', 'ajax');
|
||||||
$this->registerTask('checkRuleName', 'ajax');
|
$this->registerTask('checkRuleName', 'ajax');
|
||||||
@ -838,6 +839,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'getEditCustomCodeButtons':
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||||
|
$idValue = $jinput->get('id', NULL, 'INT');
|
||||||
|
if($idValue && $user->id != 0)
|
||||||
|
{
|
||||||
|
$result = $this->getModel('ajax')->getEditCustomCodeButtons($idValue);
|
||||||
|
}
|
||||||
|
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 'getExistingValidationRuleCode':
|
case 'getExistingValidationRuleCode':
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -4050,6 +4050,106 @@ abstract class ComponentbuilderHelper
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an edit text button
|
||||||
|
*
|
||||||
|
* @param string $text The button text
|
||||||
|
* @param int $item The item to edit
|
||||||
|
* @param string $view The type of item to edit
|
||||||
|
* @param string $views The list view controller name
|
||||||
|
* @param string $ref The return path
|
||||||
|
* @param string $component The component these views belong to
|
||||||
|
* @param string $headsup The message to show on click of button
|
||||||
|
*
|
||||||
|
* @return string On success the full html link
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getEditTextButton($text, &$item, $view, $views, $ref = '', $component = 'com_componentbuilder', $jRoute = true, $class = 'uk-button', $headsup = 'COM_COMPONENTBUILDER_ALL_UNSAVED_WORK_ON_THIS_PAGE_WILL_BE_LOST_ARE_YOU_SURE_YOU_WANT_TO_CONTINUE')
|
||||||
|
{
|
||||||
|
// make sure we have text
|
||||||
|
if (!self::checkString($text))
|
||||||
|
{
|
||||||
|
return self::getEditButton($item, $view, $views, $ref, $component, $headsup);
|
||||||
|
}
|
||||||
|
// get URL
|
||||||
|
$url = self::getEditURL($item, $view, $views, $ref, $component, $jRoute);
|
||||||
|
// check if we found any
|
||||||
|
if (self::checkString($url))
|
||||||
|
{
|
||||||
|
// get the global settings
|
||||||
|
if (!self::checkObject(self::$params))
|
||||||
|
{
|
||||||
|
self::$params = JComponentHelper::getParams('com_componentbuilder');
|
||||||
|
}
|
||||||
|
// get UIKIT version
|
||||||
|
$uikit = self::$params->get('uikit_version', 2);
|
||||||
|
// check that we have the ID
|
||||||
|
if (self::checkObject($item) && isset($item->id))
|
||||||
|
{
|
||||||
|
// check if the checked_out is available
|
||||||
|
if (isset($item->checked_out))
|
||||||
|
{
|
||||||
|
$checked_out = (int) $item->checked_out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif (self::checkArray($item) && isset($item['id']))
|
||||||
|
{
|
||||||
|
// check if the checked_out is available
|
||||||
|
if (isset($item['checked_out']))
|
||||||
|
{
|
||||||
|
$checked_out = (int) $item['checked_out'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// set the link title
|
||||||
|
$title = self::safeString(JText::_('COM_COMPONENTBUILDER_EDIT') . ' ' . $view, 'W');
|
||||||
|
// check that there is a check message
|
||||||
|
if (self::checkString($headsup))
|
||||||
|
{
|
||||||
|
if (3 == $uikit)
|
||||||
|
{
|
||||||
|
$href = 'onclick="UIkit.modal.confirm(\''.JText::_($headsup).'\').then( function(){ window.location.href = \'' . $url . '\' } )" href="javascript:void(0)"';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$href = 'onclick="UIkit2.modal.confirm(\''.JText::_($headsup).'\', function(){ window.location.href = \'' . $url . '\' })" href="javascript:void(0)"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$href = 'href="' . $url . '"';
|
||||||
|
}
|
||||||
|
// return UIKIT version 3
|
||||||
|
if (3 == $uikit)
|
||||||
|
{
|
||||||
|
// check if it is checked out
|
||||||
|
if (isset($checked_out) && $checked_out > 0)
|
||||||
|
{
|
||||||
|
// is this user the one who checked it out
|
||||||
|
if ($checked_out == JFactory::getUser()->id)
|
||||||
|
{
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return ' <a class="' . $class . '" href="#" disabled title="' . JText::sprintf('COM_COMPONENTBUILDER__HAS_BEEN_CHECKED_OUT_BY_S', self::safeString($view, 'W'), JFactory::getUser($checked_out)->name) . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// return normal edit link
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// check if it is checked out (return UIKIT version 2)
|
||||||
|
if (isset($checked_out) && $checked_out > 0)
|
||||||
|
{
|
||||||
|
// is this user the one who checked it out
|
||||||
|
if ($checked_out == JFactory::getUser()->id)
|
||||||
|
{
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return ' <a class="' . $class . '" href="#" disabled title="' . JText::sprintf('COM_COMPONENTBUILDER__HAS_BEEN_CHECKED_OUT_BY_S', self::safeString($view, 'W'), JFactory::getUser($checked_out)->name) . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// return normal edit link
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the edit URL
|
* Get the edit URL
|
||||||
*
|
*
|
||||||
|
@ -3718,6 +3718,7 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_PLACEHOLDERS_EXPLAINED_DESCRIPTION="<div c
|
|||||||
<div id='usedin-k' style='display:none;'><h2>Layouts</h2><div id='area-k'></div></div>
|
<div id='usedin-k' style='display:none;'><h2>Layouts</h2><div id='area-k'></div></div>
|
||||||
<div id='usedin-l' style='display:none;'><h2>Libraries</h2><div id='area-l'></div></div>
|
<div id='usedin-l' style='display:none;'><h2>Libraries</h2><div id='area-l'></div></div>
|
||||||
<div id='usedin-m' style='display:none;'><h2>Custom Code</h2><div id='area-m'></div></div>
|
<div id='usedin-m' style='display:none;'><h2>Custom Code</h2><div id='area-m'></div></div>
|
||||||
|
<div id='usedin-n' style='display:none;'><h2>Validation Rule</h2><div id='area-n'></div></div>
|
||||||
<div id='loading-usedin' style='display: none;'><h2>Scanning Database<span class='loading-dots'>..</span></h2></div>
|
<div id='loading-usedin' style='display: none;'><h2>Scanning Database<span class='loading-dots'>..</span></h2></div>
|
||||||
<div id='note-usedin-found' style='display: none;'><small>You can edit the above areas where this code is used.</small></div>
|
<div id='note-usedin-found' style='display: none;'><small>You can edit the above areas where this code is used.</small></div>
|
||||||
<div id='note-usedin-not' style='display: none;'><small>This code is not used in any area of the JCB custom code blocks at this time.</small></div>
|
<div id='note-usedin-not' style='display: none;'><small>This code is not used in any area of the JCB custom code blocks at this time.</small></div>
|
||||||
|
@ -50,6 +50,11 @@ class ComponentbuilderModelAdmin_fields_relations extends JModelAdmin
|
|||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return JTable::getInstance($type, $prefix, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getVDM()
|
||||||
|
{
|
||||||
|
return $this->vastDevMod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,6 +92,32 @@ class ComponentbuilderModelAdmin_fields_relations extends JModelAdmin
|
|||||||
$addrelations = new Registry;
|
$addrelations = new Registry;
|
||||||
$addrelations->loadString($item->addrelations);
|
$addrelations->loadString($item->addrelations);
|
||||||
$item->addrelations = $addrelations->toArray();
|
$item->addrelations = $addrelations->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($item->id))
|
||||||
|
{
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id = $item->id;
|
||||||
|
}
|
||||||
|
// set the id and view name to session
|
||||||
|
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
||||||
|
{
|
||||||
|
$this->vastDevMod = $vdm;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// set the vast development method key
|
||||||
|
$this->vastDevMod = ComponentbuilderHelper::randomkey(50);
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||||
|
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||||
|
// set a return value if found
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return = $jinput->get('return', null, 'base64');
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->id))
|
if (!empty($item->id))
|
||||||
|
@ -366,7 +366,7 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -1876,6 +1876,101 @@ class ComponentbuilderModelAjax extends JModelList
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Used in custom_code
|
// Used in custom_code
|
||||||
|
public function getEditCustomCodeButtons($id)
|
||||||
|
{
|
||||||
|
$view = $this->getViewID();
|
||||||
|
// only continue if this is a legitimate call
|
||||||
|
if (isset($view['a_id']) && $view['a_id'] == $id && isset($view['a_view']) && ($target = $this->getCodeSearchKeys($view['a_view'], 'query_')) !== false)
|
||||||
|
{
|
||||||
|
$db = JFactory::getDbo();
|
||||||
|
$query = $db->getQuery(true)
|
||||||
|
->select($db->quoteName($target['select']))
|
||||||
|
->from($db->quoteName('#__componentbuilder_' . $target['table'], 'a'))
|
||||||
|
->where('a.id = ' . (int) $id);
|
||||||
|
$db->setQuery($query);
|
||||||
|
$db->execute();
|
||||||
|
if ($db->loadRowList())
|
||||||
|
{
|
||||||
|
$data = $db->loadAssoc();
|
||||||
|
// some helper for some fields
|
||||||
|
$helper = array('xml' => 'note_select_field_type');
|
||||||
|
// reset the bucket
|
||||||
|
$bucket = array();
|
||||||
|
foreach ($data as $key => $value)
|
||||||
|
{
|
||||||
|
if ('id' !== $key && $target['name'] !== $key)
|
||||||
|
{
|
||||||
|
if (!isset($target['not_base64'][$key]))
|
||||||
|
{
|
||||||
|
$value = ComponentbuilderHelper::openValidBase64($value, null);
|
||||||
|
}
|
||||||
|
elseif ('json' === $target['not_base64'][$key] && 'xml' === $key) // just for field search
|
||||||
|
{
|
||||||
|
$value = json_decode($value);
|
||||||
|
}
|
||||||
|
// check if we should search for base64 string inside the text
|
||||||
|
if (isset($target['base64_search']) && isset($target['base64_search'][$key])
|
||||||
|
&& isset($target['base64_search'][$key]['start']) && strpos($value, $target['base64_search'][$key]['start']) !== false)
|
||||||
|
{
|
||||||
|
// search and open the base64 strings
|
||||||
|
$this->searchOpenBase64($value, $target['base64_search'][$key]);
|
||||||
|
}
|
||||||
|
// check if place holder set
|
||||||
|
if (strpos($value, '[CUSTOMC' . 'ODE=') !== false)
|
||||||
|
{
|
||||||
|
// get all custom codes in value
|
||||||
|
$bucket[$key] = ComponentbuilderHelper::getAllBetween($value, '[CUSTOMC' . 'ODE=', ']');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// check if any values found
|
||||||
|
if (ComponentbuilderHelper::checkArray($bucket))
|
||||||
|
{
|
||||||
|
// get input
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return_here = $jinput->get('return_here', null, 'base64');
|
||||||
|
// set the return here value if not found
|
||||||
|
if (ComponentbuilderHelper::checkString($return_here))
|
||||||
|
{
|
||||||
|
$return_here = '&return=' . $return_here;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$return_here = '&ref=' . $view['a_view'] . '&refid=' . (int) $id;
|
||||||
|
}
|
||||||
|
// reset the buttons bucket
|
||||||
|
$buttons = array();
|
||||||
|
foreach ($bucket as $field => $customcodes)
|
||||||
|
{
|
||||||
|
$edit_icon = '<span class="icon-edit" aria-hidden="true"></span> ';
|
||||||
|
// see if the field needs some help :)
|
||||||
|
if (isset($helper[$field]))
|
||||||
|
{
|
||||||
|
$field = $helper[$field];
|
||||||
|
}
|
||||||
|
$buttons[$field] = array();
|
||||||
|
foreach ($customcodes as $customcode)
|
||||||
|
{
|
||||||
|
$key = (array) explode('+', $customcode);
|
||||||
|
if (!isset($buttons[$field][$key[0]]) && ($_id = ComponentbuilderHelper::getVar('custom_code', $key[0], 'function_name')) !== false
|
||||||
|
&& ($button = ComponentbuilderHelper::getEditTextButton($edit_icon . $key[0], $_id, 'custom_code', 'custom_codes', $return_here, 'com_componentbuilder', false, 'btn btn-small button-edit" style="margin: 0 0 5px 0;'))
|
||||||
|
&& ComponentbuilderHelper::checkString($button))
|
||||||
|
{
|
||||||
|
$buttons[$field][$key[0]] = $button;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// only continue if we have buttons in array
|
||||||
|
if (ComponentbuilderHelper::checkArray($buttons, true))
|
||||||
|
{
|
||||||
|
return $buttons;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function checkFunctionName($name, $id)
|
public function checkFunctionName($name, $id)
|
||||||
{
|
{
|
||||||
$nameArray = (array) $this->splitAtUpperCase($name);
|
$nameArray = (array) $this->splitAtUpperCase($name);
|
||||||
@ -1970,10 +2065,26 @@ class ComponentbuilderModelAjax extends JModelList
|
|||||||
// check if any values found
|
// check if any values found
|
||||||
if (ComponentbuilderHelper::checkArray($bucket))
|
if (ComponentbuilderHelper::checkArray($bucket))
|
||||||
{
|
{
|
||||||
|
// get input
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return_here = $jinput->get('return_here', null, 'base64');
|
||||||
|
// set the return here value if not found
|
||||||
|
if (ComponentbuilderHelper::checkString($return_here))
|
||||||
|
{
|
||||||
|
$return_here = '&return=' . $return_here;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$return_here = '&ref=custom_code&refid=' . (int) $id;
|
||||||
|
}
|
||||||
$usedin = array();
|
$usedin = array();
|
||||||
foreach ($bucket as $editId => $values)
|
foreach ($bucket as $editId => $values)
|
||||||
{
|
{
|
||||||
$usedin[] = '<a href="index.php?option=com_componentbuilder&ref=custom_code&refid=' . (int) $id . '&view=' . $target['views'] . '&task=' . $target['table'] . '.edit&id=' . (int) $editId . '">' . $values['name'] . '</a> (' . implode(', ', $values['fields']) . ')';
|
if (($button = ComponentbuilderHelper::getEditTextButton($values['name'], $editId, $target['table'], $target['views'], $return_here, 'com_componentbuilder', false, ''))
|
||||||
|
&& ComponentbuilderHelper::checkString($button))
|
||||||
|
{
|
||||||
|
$usedin[] = $button. ' (' . implode(', ', $values['fields']) . ')';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$html = '<ul><li>' . implode('</li><li>', $usedin) . '</li></ul>';
|
$html = '<ul><li>' . implode('</li><li>', $usedin) . '</li></ul>';
|
||||||
return array('in' => $html, 'id' => $targeting);
|
return array('in' => $html, 'id' => $targeting);
|
||||||
@ -2156,6 +2267,13 @@ class ComponentbuilderModelAjax extends JModelList
|
|||||||
'views' => 'custom_codes',
|
'views' => 'custom_codes',
|
||||||
'not_base64' => array(),
|
'not_base64' => array(),
|
||||||
'name' => 'system_name'
|
'name' => 'system_name'
|
||||||
|
),
|
||||||
|
// #__componentbuilder_validation_rule (n)
|
||||||
|
'validation_rule' => array(
|
||||||
|
'search' => array('id', 'name', 'php'),
|
||||||
|
'views' => 'validation_rules',
|
||||||
|
'not_base64' => array(),
|
||||||
|
'name' => 'name'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -2188,7 +2306,7 @@ class ComponentbuilderModelAjax extends JModelList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// return result ready for a.query
|
// return result ready for a.query
|
||||||
if ('query' === $type && isset($this->codeSearchKeys[$target]))
|
if (('query' === $type || 'query_' === $type) && isset($this->codeSearchKeys[$target]))
|
||||||
{
|
{
|
||||||
// set the targets
|
// set the targets
|
||||||
$codeSearchTarget = $this->codeSearchKeys[$target];
|
$codeSearchTarget = $this->codeSearchKeys[$target];
|
||||||
|
@ -50,6 +50,11 @@ class ComponentbuilderModelComponent_dashboard extends JModelAdmin
|
|||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return JTable::getInstance($type, $prefix, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getVDM()
|
||||||
|
{
|
||||||
|
return $this->vastDevMod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,6 +100,31 @@ class ComponentbuilderModelComponent_dashboard extends JModelAdmin
|
|||||||
$item->dashboard_tab = $dashboard_tab->toArray();
|
$item->dashboard_tab = $dashboard_tab->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($item->id))
|
||||||
|
{
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id = $item->id;
|
||||||
|
}
|
||||||
|
// set the id and view name to session
|
||||||
|
if ($vdm = ComponentbuilderHelper::get('components_dashboard__'.$id))
|
||||||
|
{
|
||||||
|
$this->vastDevMod = $vdm;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// set the vast development method key
|
||||||
|
$this->vastDevMod = ComponentbuilderHelper::randomkey(50);
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod, 'components_dashboard__'.$id);
|
||||||
|
ComponentbuilderHelper::set('components_dashboard__'.$id, $this->vastDevMod);
|
||||||
|
// set a return value if found
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return = $jinput->get('return', null, 'base64');
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||||
|
}
|
||||||
// update the fields
|
// update the fields
|
||||||
$objectUpdate = new stdClass();
|
$objectUpdate = new stdClass();
|
||||||
$objectUpdate->id = (int) $item->id;
|
$objectUpdate->id = (int) $item->id;
|
||||||
|
@ -198,7 +198,7 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,11 @@ class ComponentbuilderModelCustom_code extends JModelAdmin
|
|||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return JTable::getInstance($type, $prefix, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getVDM()
|
||||||
|
{
|
||||||
|
return $this->vastDevMod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,6 +90,32 @@ class ComponentbuilderModelCustom_code extends JModelAdmin
|
|||||||
{
|
{
|
||||||
// base64 Decode code.
|
// base64 Decode code.
|
||||||
$item->code = base64_decode($item->code);
|
$item->code = base64_decode($item->code);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($item->id))
|
||||||
|
{
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id = $item->id;
|
||||||
|
}
|
||||||
|
// set the id and view name to session
|
||||||
|
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
||||||
|
{
|
||||||
|
$this->vastDevMod = $vdm;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// set the vast development method key
|
||||||
|
$this->vastDevMod = ComponentbuilderHelper::randomkey(50);
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||||
|
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||||
|
// set a return value if found
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return = $jinput->get('return', null, 'base64');
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->id))
|
if (!empty($item->id))
|
||||||
|
@ -196,7 +196,7 @@ class ComponentbuilderModelDynamic_get extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -124,7 +124,7 @@ class ComponentbuilderModelField extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,11 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
|
|||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return JTable::getInstance($type, $prefix, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getVDM()
|
||||||
|
{
|
||||||
|
return $this->vastDevMod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -89,6 +94,31 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
|
|||||||
$item->properties = $properties->toArray();
|
$item->properties = $properties->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (empty($item->id))
|
||||||
|
{
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id = $item->id;
|
||||||
|
}
|
||||||
|
// set the id and view name to session
|
||||||
|
if ($vdm = ComponentbuilderHelper::get('fieldtype__'.$id))
|
||||||
|
{
|
||||||
|
$this->vastDevMod = $vdm;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// set the vast development method key
|
||||||
|
$this->vastDevMod = ComponentbuilderHelper::randomkey(50);
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||||
|
ComponentbuilderHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||||
|
// set a return value if found
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
$return = $jinput->get('return', null, 'base64');
|
||||||
|
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||||
|
}
|
||||||
// check what type of properties array we have here (should be subform... but just incase)
|
// check what type of properties array we have here (should be subform... but just incase)
|
||||||
// This could happen due to huge data sets
|
// This could happen due to huge data sets
|
||||||
if (isset($item->properties) && isset($item->properties['name']))
|
if (isset($item->properties) && isset($item->properties['name']))
|
||||||
|
@ -11,6 +11,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(document).ready(function()
|
||||||
|
{
|
||||||
|
// check and load all the customcode edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
|
});
|
||||||
// little script to set the value
|
// little script to set the value
|
||||||
function getCodeGlueOptions(field) {
|
function getCodeGlueOptions(field) {
|
||||||
// get the ID
|
// get the ID
|
||||||
@ -67,4 +72,43 @@ function _isSet(val)
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1312,6 +1312,8 @@ jQuery(document).ready(function()
|
|||||||
addButtonID('admin_fields_relations','create_edit_buttons', 1); // <-- forth
|
addButtonID('admin_fields_relations','create_edit_buttons', 1); // <-- forth
|
||||||
// set button
|
// set button
|
||||||
addButtonID('admin_custom_tabs','addtabs-lbl', 1); // <-- fifth
|
addButtonID('admin_custom_tabs','addtabs-lbl', 1); // <-- fifth
|
||||||
|
// check and load all the customcode edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
|
|
||||||
function checkAliasField() {
|
function checkAliasField() {
|
||||||
@ -1370,80 +1372,6 @@ function getAjaxDisplay_server(type){
|
|||||||
function addData(result,where){
|
function addData(result,where){
|
||||||
jQuery(result).insertAfter(jQuery(where).closest('.control-group'));
|
jQuery(result).insertAfter(jQuery(where).closest('.control-group'));
|
||||||
}
|
}
|
||||||
|
|
||||||
function addButtonID_server(type, size){
|
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
|
||||||
if(token.length > 0 && type.length > 0 && size > 0){
|
|
||||||
var request = 'token='+token+'&type='+type+'&size='+size;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function addButtonID(type, where, size){
|
|
||||||
addButtonID_server(type, size).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
if (2 == size) {
|
|
||||||
jQuery('#'+where).html(result);
|
|
||||||
} else {
|
|
||||||
addData(result, '#jform_'+where);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function addButton_server(type, size){
|
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&raw=true&vdm="+vastDevMod);
|
|
||||||
if(token.length > 0 && type.length > 0){
|
|
||||||
var request = 'token='+token+'&type='+type+'&size='+size;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function addButton(type, where, size){
|
|
||||||
// just to insure that default behaviour still works
|
|
||||||
size = typeof size !== 'undefined' ? size : 1;
|
|
||||||
addButton_server(type, size).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
if (2 == size) {
|
|
||||||
jQuery('#'+where).html(result);
|
|
||||||
} else {
|
|
||||||
addData(result, '#jform_'+where);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLinked_server(type){
|
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
|
||||||
if(token.length > 0 && type > 0){
|
|
||||||
var request = 'token='+token+'&type='+type;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLinked(){
|
|
||||||
getLinked_server(1).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
jQuery('#display_linked_to').html(result);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getTableColumns_server(tableName){
|
function getTableColumns_server(tableName){
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.tableColumns&format=json&raw=true&vdm="+vastDevMod;
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.tableColumns&format=json&raw=true&vdm="+vastDevMod;
|
||||||
@ -1557,4 +1485,117 @@ function getDynamicScripts(id){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addButtonID_server(type, size){
|
||||||
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
||||||
|
if(token.length > 0 && type.length > 0 && size > 0){
|
||||||
|
var request = 'token='+token+'&type='+type+'&size='+size;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function addButtonID(type, where, size){
|
||||||
|
addButtonID_server(type, size).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
if (2 == size) {
|
||||||
|
jQuery('#'+where).html(result);
|
||||||
|
} else {
|
||||||
|
addData(result, '#jform_'+where);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function addButton_server(type, size){
|
||||||
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&raw=true&vdm="+vastDevMod);
|
||||||
|
if(token.length > 0 && type.length > 0){
|
||||||
|
var request = 'token='+token+'&type='+type+'&size='+size;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function addButton(type, where, size){
|
||||||
|
// just to insure that default behaviour still works
|
||||||
|
size = typeof size !== 'undefined' ? size : 1;
|
||||||
|
addButton_server(type, size).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
if (2 == size) {
|
||||||
|
jQuery('#'+where).html(result);
|
||||||
|
} else {
|
||||||
|
addData(result, '#jform_'+where);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked_server(type){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && type > 0){
|
||||||
|
var request = 'token='+token+'&type='+type;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked(){
|
||||||
|
getLinked_server(1).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
jQuery('#display_linked_to').html(result);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
@ -8,4 +8,50 @@
|
|||||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(document).ready(function()
|
||||||
|
{
|
||||||
|
// check and load all the customcode edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
|
});
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -440,6 +440,8 @@ jQuery(document).ready(function()
|
|||||||
{
|
{
|
||||||
// get the linked details
|
// get the linked details
|
||||||
getLinked();
|
getLinked();
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
|
|
||||||
function getLinked_server(type){
|
function getLinked_server(type){
|
||||||
@ -662,4 +664,43 @@ function setSnippets(array){
|
|||||||
jQuery('#jform_snippet').append('<option value="">'+create_a_snippet+'</option>');
|
jQuery('#jform_snippet').append('<option value="">'+create_a_snippet+'</option>');
|
||||||
}
|
}
|
||||||
jQuery('#jform_snippet').trigger('liszt:updated');
|
jQuery('#jform_snippet').trigger('liszt:updated');
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -232,6 +232,8 @@ jQuery(document).ready(function()
|
|||||||
jQuery('#html-comment-info').hide();
|
jQuery('#html-comment-info').hide();
|
||||||
jQuery('#phpjs-comment-info').show();
|
jQuery('#phpjs-comment-info').show();
|
||||||
}
|
}
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
function setCustomCodePlaceholder() {
|
function setCustomCodePlaceholder() {
|
||||||
var ide = jQuery('#jform_id').val();
|
var ide = jQuery('#jform_id').val();
|
||||||
@ -308,8 +310,8 @@ function usedin(functioName, ide) {
|
|||||||
jQuery('#note-usedin-not').hide();
|
jQuery('#note-usedin-not').hide();
|
||||||
jQuery('#note-usedin-found').hide();
|
jQuery('#note-usedin-found').hide();
|
||||||
jQuery('#loading-usedin').show();
|
jQuery('#loading-usedin').show();
|
||||||
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m']; // if you update this, also update (below 11) & [customcode-codeUsedInHtmlNote]!
|
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n']; // if you update this, also update (below 13) & [customcode-codeUsedInHtmlNote]!
|
||||||
var targetNumber = 12;
|
var targetNumber = 13;
|
||||||
var run = 0;
|
var run = 0;
|
||||||
var usedinChecker = setInterval(function(){
|
var usedinChecker = setInterval(function(){
|
||||||
var target = targets[run];
|
var target = targets[run];
|
||||||
@ -340,7 +342,7 @@ function usedin(functioName, ide) {
|
|||||||
function usedin_server(functioName, ide, target){
|
function usedin_server(functioName, ide, target){
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.usedin&format=json";
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.usedin&format=json";
|
||||||
if(token.length > 0){
|
if(token.length > 0){
|
||||||
var request = 'token='+token+'&functioName='+functioName+'&id='+ide+'&target='+target;
|
var request = 'token='+token+'&functioName='+functioName+'&id='+ide+'&target='+target+'&return_here='+return_here;
|
||||||
}
|
}
|
||||||
return jQuery.ajax({
|
return jQuery.ajax({
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
@ -349,4 +351,43 @@ function usedin_server(functioName, ide, target){
|
|||||||
data: request,
|
data: request,
|
||||||
jsonp: 'callback'
|
jsonp: 'callback'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1527,29 +1527,9 @@ jQuery(document).ready(function()
|
|||||||
var select_all = jQuery("#jform_select_all input[type='radio']:checked").val();
|
var select_all = jQuery("#jform_select_all input[type='radio']:checked").val();
|
||||||
// make sure the selection is correct
|
// make sure the selection is correct
|
||||||
setSelectAll(select_all);
|
setSelectAll(select_all);
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
|
|
||||||
function getLinked_server(type){
|
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
|
||||||
if(token.length > 0 && type > 0){
|
|
||||||
var request = 'token='+token+'&type='+type;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLinked(){
|
|
||||||
getLinked_server(1).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
jQuery('#display_linked_to').html(result);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function setSelectAll(select_all){
|
function setSelectAll(select_all){
|
||||||
// get source type
|
// get source type
|
||||||
@ -1744,4 +1724,65 @@ function getDynamicScripts(id){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked_server(type){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && type > 0){
|
||||||
|
var request = 'token='+token+'&type='+type;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked(){
|
||||||
|
getLinked_server(1).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
jQuery('#display_linked_to').html(result);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
@ -519,56 +519,9 @@ jQuery(document).ready(function()
|
|||||||
var fieldText = jQuery("#jform_fieldtype option:selected").text().toLowerCase();
|
var fieldText = jQuery("#jform_fieldtype option:selected").text().toLowerCase();
|
||||||
// now check if database input is needed
|
// now check if database input is needed
|
||||||
dbChecker(fieldText);
|
dbChecker(fieldText);
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
|
|
||||||
function getLinked_server(type){
|
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
|
||||||
if(token.length > 0 && type > 0){
|
|
||||||
var request = 'token='+token+'&type='+type;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLinked(){
|
|
||||||
getLinked_server(1).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
jQuery('#display_linked_to').html(result);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function addButton_server(type, size){
|
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&raw=true&vdm="+vastDevMod);
|
|
||||||
if(token.length > 0 && type.length > 0){
|
|
||||||
var request = 'token='+token+'&type='+type+'&size='+size;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function addButton(type, where, size){
|
|
||||||
// just to insure that default behaviour still works
|
|
||||||
size = typeof size !== 'undefined' ? size : 1;
|
|
||||||
addButton_server(type, size).done(function(result) {
|
|
||||||
if(result){
|
|
||||||
if (2 == size) {
|
|
||||||
jQuery('#'+where).html(result);
|
|
||||||
} else {
|
|
||||||
addData(result, '#jform_'+where);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// the options row id key
|
// the options row id key
|
||||||
var rowIdKey = 'properties';
|
var rowIdKey = 'properties';
|
||||||
@ -815,4 +768,92 @@ function dbChecker(type){
|
|||||||
jQuery('.note_no_database_settings_needed').closest('.control-group').hide();
|
jQuery('.note_no_database_settings_needed').closest('.control-group').hide();
|
||||||
jQuery('.note_database_settings_needed').closest('.control-group').show();
|
jQuery('.note_database_settings_needed').closest('.control-group').show();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked_server(type){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && type > 0){
|
||||||
|
var request = 'token='+token+'&type='+type;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLinked(){
|
||||||
|
getLinked_server(1).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
jQuery('#display_linked_to').html(result);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function addButton_server(type, size){
|
||||||
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButton&format=json&raw=true&vdm="+vastDevMod);
|
||||||
|
if(token.length > 0 && type.length > 0){
|
||||||
|
var request = 'token='+token+'&type='+type+'&size='+size;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function addButton(type, where, size){
|
||||||
|
// just to insure that default behaviour still works
|
||||||
|
size = typeof size !== 'undefined' ? size : 1;
|
||||||
|
addButton_server(type, size).done(function(result) {
|
||||||
|
if(result){
|
||||||
|
if (2 == size) {
|
||||||
|
jQuery('#'+where).html(result);
|
||||||
|
} else {
|
||||||
|
addData(result, '#jform_'+where);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -8,4 +8,50 @@
|
|||||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(document).ready(function($)
|
||||||
|
{
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
|
});
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -965,7 +965,8 @@ jQuery(document).ready(function()
|
|||||||
setTimeout(setDisplays2, 2500);
|
setTimeout(setDisplays2, 2500);
|
||||||
setTimeout(setDisplays3, 3500);
|
setTimeout(setDisplays3, 3500);
|
||||||
|
|
||||||
// very basic I know... but it will have to do for now.
|
// check and load all the customcode edit buttons
|
||||||
|
setTimeout(getEditCustomCodeButtons, 400);
|
||||||
});
|
});
|
||||||
|
|
||||||
function getAjaxDisplay(type){
|
function getAjaxDisplay(type){
|
||||||
@ -1011,6 +1012,45 @@ function dasboardSwitch(value){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function addButtonID_server(type, size){
|
function addButtonID_server(type, size){
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
||||||
if(token.length > 0 && type.length > 0 && size > 0){
|
if(token.length > 0 && type.length > 0 && size > 0){
|
||||||
|
@ -87,6 +87,50 @@ function isSet(val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(document).ready(function($)
|
||||||
|
{
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
|
});
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function getSnippetDetails_server(snippetId){
|
function getSnippetDetails_server(snippetId){
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json";
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json";
|
||||||
|
@ -410,11 +410,105 @@ jQuery(document).ready(function()
|
|||||||
// now load the displays
|
// now load the displays
|
||||||
getAjaxDisplay('library_config');
|
getAjaxDisplay('library_config');
|
||||||
getAjaxDisplay('library_files_folders_urls');
|
getAjaxDisplay('library_files_folders_urls');
|
||||||
|
|
||||||
|
// check and load all the customcode edit buttons
|
||||||
|
setTimeout(getEditCustomCodeButtons, 300);
|
||||||
});
|
});
|
||||||
|
|
||||||
function addData(result,where){
|
function addData(result,where){
|
||||||
jQuery(result).insertAfter(jQuery(where).closest('.control-group'));
|
jQuery(result).insertAfter(jQuery(where).closest('.control-group'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAjaxDisplay(type){
|
||||||
|
getAjaxDisplay_server(type).done(function(result) {
|
||||||
|
if (result) {
|
||||||
|
jQuery('#display_'+type).html(result);
|
||||||
|
}
|
||||||
|
// set button
|
||||||
|
addButtonID(type,'header_'+type+'_buttons', 2); // <-- little edit button
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getAjaxDisplay_server(type){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getAjaxDisplay&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if (token.length > 0 && type.length > 0) {
|
||||||
|
var request = 'token='+token+'&type=' + type;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFieldSelectOptions_server(fieldId){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.fieldSelectOptions&format=json&raw=true";
|
||||||
|
if (token.length > 0 && fieldId > 0) {
|
||||||
|
var request = 'token='+token+'&id='+fieldId;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFieldSelectOptions(fieldKey){
|
||||||
|
// first check if the field is set
|
||||||
|
if(jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field").length) {
|
||||||
|
var fieldId = jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field option:selected").val();
|
||||||
|
getFieldSelectOptions_server(fieldId).done(function(result) {
|
||||||
|
if(result) {
|
||||||
|
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val(result);
|
||||||
|
} else {
|
||||||
|
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function addButtonID_server(type, size){
|
function addButtonID_server(type, size){
|
||||||
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getButtonID&format=json&raw=true&vdm="+vastDevMod);
|
||||||
@ -488,56 +582,4 @@ function getLinked(){
|
|||||||
jQuery('#display_linked_to').html(result);
|
jQuery('#display_linked_to').html(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function getAjaxDisplay(type){
|
|
||||||
getAjaxDisplay_server(type).done(function(result) {
|
|
||||||
if (result) {
|
|
||||||
jQuery('#display_'+type).html(result);
|
|
||||||
}
|
|
||||||
// set button
|
|
||||||
addButtonID(type,'header_'+type+'_buttons', 2); // <-- little edit button
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAjaxDisplay_server(type){
|
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getAjaxDisplay&format=json&raw=true&vdm="+vastDevMod;
|
|
||||||
if (token.length > 0 && type.length > 0) {
|
|
||||||
var request = 'token='+token+'&type=' + type;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFieldSelectOptions_server(fieldId){
|
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.fieldSelectOptions&format=json&raw=true";
|
|
||||||
if (token.length > 0 && fieldId > 0) {
|
|
||||||
var request = 'token='+token+'&id='+fieldId;
|
|
||||||
}
|
|
||||||
return jQuery.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: getUrl,
|
|
||||||
dataType: 'json',
|
|
||||||
data: request,
|
|
||||||
jsonp: false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFieldSelectOptions(fieldKey){
|
|
||||||
// first check if the field is set
|
|
||||||
if(jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field").length) {
|
|
||||||
var fieldId = jQuery("#jform_addconditions__addconditions"+fieldKey+"__option_field option:selected").val();
|
|
||||||
getFieldSelectOptions_server(fieldId).done(function(result) {
|
|
||||||
if(result) {
|
|
||||||
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val(result);
|
|
||||||
} else {
|
|
||||||
jQuery('textarea#jform_addconditions__addconditions'+fieldKey+'__field_options').val('');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -481,6 +481,8 @@ jQuery(document).ready(function()
|
|||||||
{
|
{
|
||||||
// get the linked details
|
// get the linked details
|
||||||
getLinked();
|
getLinked();
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
});
|
});
|
||||||
|
|
||||||
function getLinked_server(type){
|
function getLinked_server(type){
|
||||||
@ -703,4 +705,43 @@ function setSnippets(array){
|
|||||||
jQuery('#jform_snippet').append('<option value="">'+create_a_snippet+'</option>');
|
jQuery('#jform_snippet').append('<option value="">'+create_a_snippet+'</option>');
|
||||||
}
|
}
|
||||||
jQuery('#jform_snippet').trigger('liszt:updated');
|
jQuery('#jform_snippet').trigger('liszt:updated');
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -87,6 +87,50 @@ function isSet(val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(document).ready(function($)
|
||||||
|
{
|
||||||
|
// check and load all the custom code edit buttons
|
||||||
|
getEditCustomCodeButtons();
|
||||||
|
});
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function getSnippetDetails_server(snippetId){
|
function getSnippetDetails_server(snippetId){
|
||||||
var getUrl = "index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json";
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json";
|
||||||
|
@ -26,6 +26,9 @@ jQuery(document).ready(function()
|
|||||||
|
|
||||||
// load the used in div
|
// load the used in div
|
||||||
// jQuery('#usedin').show();
|
// jQuery('#usedin').show();
|
||||||
|
|
||||||
|
// check and load all the customcode edit buttons
|
||||||
|
setTimeout(getEditCustomCodeButtons, 300);
|
||||||
});
|
});
|
||||||
|
|
||||||
function getExistingValidationRuleCode_server(rulefilename){
|
function getExistingValidationRuleCode_server(rulefilename){
|
||||||
@ -92,4 +95,43 @@ function checkRuleName_server(ruleName, ide){
|
|||||||
data: request,
|
data: request,
|
||||||
jsonp: 'callback'
|
jsonp: 'callback'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons_server(id){
|
||||||
|
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod;
|
||||||
|
if(token.length > 0 && id > 0){
|
||||||
|
var request = 'token='+token+'&id='+id+'&return_here='+return_here;
|
||||||
|
}
|
||||||
|
return jQuery.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: getUrl,
|
||||||
|
dataType: 'json',
|
||||||
|
data: request,
|
||||||
|
jsonp: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEditCustomCodeButtons(){
|
||||||
|
// get the id
|
||||||
|
id = jQuery("#jform_id").val();
|
||||||
|
getEditCustomCodeButtons_server(id).done(function(result) {
|
||||||
|
if(isObject(result)){
|
||||||
|
jQuery.each(result, function( field, buttons ) {
|
||||||
|
jQuery('<div class="control-group"><div class="control-label"><label>Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
|
||||||
|
jQuery.each(buttons, function( name, button ) {
|
||||||
|
jQuery(".control-customcode-buttons-"+field).append(button);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// check object is not empty
|
||||||
|
function isObject(obj) {
|
||||||
|
for(var prop in obj) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('joomla_component__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('joomla_component__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -1747,6 +1747,13 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
|||||||
'views' => 'custom_codes',
|
'views' => 'custom_codes',
|
||||||
'not_base64' => array(),
|
'not_base64' => array(),
|
||||||
'name' => 'system_name'
|
'name' => 'system_name'
|
||||||
|
),
|
||||||
|
// #__componentbuilder_validation_rule (n)
|
||||||
|
'validation_rule' => array(
|
||||||
|
'search' => array('id', 'name', 'php'),
|
||||||
|
'views' => 'validation_rules',
|
||||||
|
'not_base64' => array(),
|
||||||
|
'name' => 'name'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1779,7 +1786,7 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// return result ready for a.query
|
// return result ready for a.query
|
||||||
if ('query' === $type && isset($this->codeSearchKeys[$target]))
|
if (('query' === $type || 'query_' === $type) && isset($this->codeSearchKeys[$target]))
|
||||||
{
|
{
|
||||||
// set the targets
|
// set the targets
|
||||||
$codeSearchTarget = $this->codeSearchKeys[$target];
|
$codeSearchTarget = $this->codeSearchKeys[$target];
|
||||||
|
@ -108,7 +108,7 @@ class ComponentbuilderModelLanguage_translation extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('language_translation__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('language_translation__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -114,7 +114,7 @@ class ComponentbuilderModelLayout extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('layout__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('layout__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -116,7 +116,7 @@ class ComponentbuilderModelLibrary extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('library__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('library__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -198,7 +198,7 @@ class ComponentbuilderModelSite_view extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('site_view__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('site_view__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -114,7 +114,7 @@ class ComponentbuilderModelTemplate extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('template__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('template__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ class ComponentbuilderModelValidation_rule extends JModelAdmin
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('validation_rule__'.$id))
|
if ($vdm = ComponentbuilderHelper::get('validation_rule__'.$id))
|
||||||
{
|
{
|
||||||
|
@ -191,7 +191,11 @@ class ComponentbuilderViewAdmin_fields_relations extends JViewLegacy
|
|||||||
// Add Ajax Token
|
// Add Ajax Token
|
||||||
$this->document->addScriptDeclaration("var token = '".JSession::getFormToken()."';");
|
$this->document->addScriptDeclaration("var token = '".JSession::getFormToken()."';");
|
||||||
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/admin_fields_relations/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/admin_fields_relations/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
// add var key
|
||||||
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewAdmin_view extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -187,9 +187,15 @@ class ComponentbuilderViewComponent_dashboard extends JViewLegacy
|
|||||||
$this->document = JFactory::getDocument();
|
$this->document = JFactory::getDocument();
|
||||||
}
|
}
|
||||||
$this->document->setTitle(JText::_($isNew ? 'COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_NEW' : 'COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_EDIT'));
|
$this->document->setTitle(JText::_($isNew ? 'COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_NEW' : 'COM_COMPONENTBUILDER_COMPONENT_DASHBOARD_EDIT'));
|
||||||
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_componentbuilder/assets/css/component_dashboard.css", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_componentbuilder/assets/css/component_dashboard.css", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
// Add Ajax Token
|
||||||
|
$this->document->addScriptDeclaration("var token = '".JSession::getFormToken()."';");
|
||||||
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/component_dashboard/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/component_dashboard/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
// add var key
|
||||||
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewCustom_admin_view extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -201,6 +201,10 @@ class ComponentbuilderViewCustom_code extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/uikit.min.js' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/uikit.min.js' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
|
// add var key
|
||||||
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
// need to add some language strings
|
// need to add some language strings
|
||||||
JText::script('COM_COMPONENTBUILDER_FUNCTION_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN');
|
JText::script('COM_COMPONENTBUILDER_FUNCTION_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN');
|
||||||
JText::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_FUNCTION_NAME');
|
JText::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_FUNCTION_NAME');
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewDynamic_get extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewField extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
// add the libs for subform (since not adding it via xml but ajax)
|
// add the libs for subform (since not adding it via xml but ajax)
|
||||||
JHtml::_('jquery.ui', array('core', 'sortable'));
|
JHtml::_('jquery.ui', array('core', 'sortable'));
|
||||||
JHtml::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true));
|
JHtml::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true));
|
||||||
|
@ -191,6 +191,8 @@ class ComponentbuilderViewFieldtype extends JViewLegacy
|
|||||||
}
|
}
|
||||||
$this->document->setTitle(JText::_($isNew ? 'COM_COMPONENTBUILDER_FIELDTYPE_NEW' : 'COM_COMPONENTBUILDER_FIELDTYPE_EDIT'));
|
$this->document->setTitle(JText::_($isNew ? 'COM_COMPONENTBUILDER_FIELDTYPE_NEW' : 'COM_COMPONENTBUILDER_FIELDTYPE_EDIT'));
|
||||||
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_componentbuilder/assets/css/fieldtype.css", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_componentbuilder/assets/css/fieldtype.css", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
// Add Ajax Token
|
||||||
|
$this->document->addScriptDeclaration("var token = '".JSession::getFormToken()."';");
|
||||||
|
|
||||||
// Add the CSS for Footable
|
// Add the CSS for Footable
|
||||||
$this->document->addStyleSheet('https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');
|
$this->document->addStyleSheet('https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');
|
||||||
@ -202,7 +204,61 @@ class ComponentbuilderViewFieldtype extends JViewLegacy
|
|||||||
$this->document->addScriptDeclaration($footable);
|
$this->document->addScriptDeclaration($footable);
|
||||||
|
|
||||||
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . $this->script, (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/fieldtype/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
$this->document->addScript(JURI::root() . "administrator/components/com_componentbuilder/views/fieldtype/submitbutton.js", (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
|
||||||
|
// get Uikit Version
|
||||||
|
$this->uikitVersion = $this->params->get('uikit_version', 2);
|
||||||
|
// Load uikit options.
|
||||||
|
$uikit = $this->params->get('uikit_load');
|
||||||
|
$isAdmin = JFactory::getApplication()->isClient('administrator');
|
||||||
|
// Set script size.
|
||||||
|
$size = $this->params->get('uikit_min');
|
||||||
|
// Use Uikit Version 2
|
||||||
|
if (2 == $this->uikitVersion && ($isAdmin || $uikit != 2))
|
||||||
|
{
|
||||||
|
// Set css style.
|
||||||
|
$style = $this->params->get('uikit_style');
|
||||||
|
// only load if needed
|
||||||
|
if ($isAdmin || $uikit != 3)
|
||||||
|
{
|
||||||
|
// add the style sheets
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/uikit' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
}
|
||||||
|
// add the style sheets
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/accordion' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/tooltip' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/notify' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/form-file' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/progress' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/css/components/placeholder' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v2//css/components/upload' . $style . $size . '.css' , (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
// only load if needed
|
||||||
|
if ($isAdmin || $uikit != 3)
|
||||||
|
{
|
||||||
|
// add JavaScripts
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/uikit' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
}
|
||||||
|
// add JavaScripts
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/accordion' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/tooltip' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/upload' . $size . '.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
}
|
||||||
|
// Use Uikit Version 3
|
||||||
|
elseif (3 == $this->uikitVersion && ($isAdmin || $uikit != 2))
|
||||||
|
{
|
||||||
|
// add the style sheets
|
||||||
|
$this->document->addStyleSheet( JURI::root(true) .'/media/com_componentbuilder/uikit-v3/css/uikit'.$size.'.css', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
||||||
|
// add JavaScripts
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v3/js/uikit'.$size.'.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
// add icons
|
||||||
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v3/js/uikit-icons'.$size.'.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
||||||
|
}
|
||||||
|
// add var key
|
||||||
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewJoomla_component extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewLayout extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewLibrary extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewSite_view extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewTemplate extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
JText::script('view not acceptable. Error');
|
JText::script('view not acceptable. Error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ class ComponentbuilderViewValidation_rule extends JViewLegacy
|
|||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
$this->document->addScript( JURI::root(true) .'/media/com_componentbuilder/uikit-v2/js/components/notify.min.js', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript', (ComponentbuilderHelper::jVersion()->isCompatible('3.8.0')) ? array('type' => 'text/javascript', 'async' => 'async') : true);
|
||||||
// add var key
|
// add var key
|
||||||
$this->document->addScriptDeclaration("var vastDevMod = '".$this->get('VDM')."';");
|
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
|
||||||
|
// add return_here
|
||||||
|
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) JUri::getInstance())) . "';");
|
||||||
// need to add some language strings
|
// need to add some language strings
|
||||||
JText::script('COM_COMPONENTBUILDER_VALIDATION_RULE_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN');
|
JText::script('COM_COMPONENTBUILDER_VALIDATION_RULE_NAME_ALREADY_TAKEN_PLEASE_TRY_AGAIN');
|
||||||
JText::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME');
|
JText::script('COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME');
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<extension type="component" version="3.2" method="upgrade">
|
<extension type="component" version="3.2" method="upgrade">
|
||||||
<name>COM_COMPONENTBUILDER</name>
|
<name>COM_COMPONENTBUILDER</name>
|
||||||
<creationDate>30th January, 2019</creationDate>
|
<creationDate>31st January, 2019</creationDate>
|
||||||
<author>Llewellyn van der Merwe</author>
|
<author>Llewellyn van der Merwe</author>
|
||||||
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||||
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||||
|
@ -4050,6 +4050,106 @@ abstract class ComponentbuilderHelper
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an edit text button
|
||||||
|
*
|
||||||
|
* @param string $text The button text
|
||||||
|
* @param int $item The item to edit
|
||||||
|
* @param string $view The type of item to edit
|
||||||
|
* @param string $views The list view controller name
|
||||||
|
* @param string $ref The return path
|
||||||
|
* @param string $component The component these views belong to
|
||||||
|
* @param string $headsup The message to show on click of button
|
||||||
|
*
|
||||||
|
* @return string On success the full html link
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function getEditTextButton($text, &$item, $view, $views, $ref = '', $component = 'com_componentbuilder', $jRoute = true, $class = 'uk-button', $headsup = 'COM_COMPONENTBUILDER_ALL_UNSAVED_WORK_ON_THIS_PAGE_WILL_BE_LOST_ARE_YOU_SURE_YOU_WANT_TO_CONTINUE')
|
||||||
|
{
|
||||||
|
// make sure we have text
|
||||||
|
if (!self::checkString($text))
|
||||||
|
{
|
||||||
|
return self::getEditButton($item, $view, $views, $ref, $component, $headsup);
|
||||||
|
}
|
||||||
|
// get URL
|
||||||
|
$url = self::getEditURL($item, $view, $views, $ref, $component, $jRoute);
|
||||||
|
// check if we found any
|
||||||
|
if (self::checkString($url))
|
||||||
|
{
|
||||||
|
// get the global settings
|
||||||
|
if (!self::checkObject(self::$params))
|
||||||
|
{
|
||||||
|
self::$params = JComponentHelper::getParams('com_componentbuilder');
|
||||||
|
}
|
||||||
|
// get UIKIT version
|
||||||
|
$uikit = self::$params->get('uikit_version', 2);
|
||||||
|
// check that we have the ID
|
||||||
|
if (self::checkObject($item) && isset($item->id))
|
||||||
|
{
|
||||||
|
// check if the checked_out is available
|
||||||
|
if (isset($item->checked_out))
|
||||||
|
{
|
||||||
|
$checked_out = (int) $item->checked_out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif (self::checkArray($item) && isset($item['id']))
|
||||||
|
{
|
||||||
|
// check if the checked_out is available
|
||||||
|
if (isset($item['checked_out']))
|
||||||
|
{
|
||||||
|
$checked_out = (int) $item['checked_out'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// set the link title
|
||||||
|
$title = self::safeString(JText::_('COM_COMPONENTBUILDER_EDIT') . ' ' . $view, 'W');
|
||||||
|
// check that there is a check message
|
||||||
|
if (self::checkString($headsup))
|
||||||
|
{
|
||||||
|
if (3 == $uikit)
|
||||||
|
{
|
||||||
|
$href = 'onclick="UIkit.modal.confirm(\''.JText::_($headsup).'\').then( function(){ window.location.href = \'' . $url . '\' } )" href="javascript:void(0)"';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$href = 'onclick="UIkit2.modal.confirm(\''.JText::_($headsup).'\', function(){ window.location.href = \'' . $url . '\' })" href="javascript:void(0)"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$href = 'href="' . $url . '"';
|
||||||
|
}
|
||||||
|
// return UIKIT version 3
|
||||||
|
if (3 == $uikit)
|
||||||
|
{
|
||||||
|
// check if it is checked out
|
||||||
|
if (isset($checked_out) && $checked_out > 0)
|
||||||
|
{
|
||||||
|
// is this user the one who checked it out
|
||||||
|
if ($checked_out == JFactory::getUser()->id)
|
||||||
|
{
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return ' <a class="' . $class . '" href="#" disabled title="' . JText::sprintf('COM_COMPONENTBUILDER__HAS_BEEN_CHECKED_OUT_BY_S', self::safeString($view, 'W'), JFactory::getUser($checked_out)->name) . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// return normal edit link
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// check if it is checked out (return UIKIT version 2)
|
||||||
|
if (isset($checked_out) && $checked_out > 0)
|
||||||
|
{
|
||||||
|
// is this user the one who checked it out
|
||||||
|
if ($checked_out == JFactory::getUser()->id)
|
||||||
|
{
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return ' <a class="' . $class . '" href="#" disabled title="' . JText::sprintf('COM_COMPONENTBUILDER__HAS_BEEN_CHECKED_OUT_BY_S', self::safeString($view, 'W'), JFactory::getUser($checked_out)->name) . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
// return normal edit link
|
||||||
|
return ' <a class="' . $class . '" ' . $href . ' title="' . $title . '">' . $text . '</a>';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the edit URL
|
* Get the edit URL
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user