Robot
88104fd483
Move all JText to use the namespaced class Text directly. Move all JHtml to use the namespaced class Html directly. Move all JFactory to use the namespaced class Factory directly. Move all JRoute to use the namespaced class Route directly. Move all JFormHelper to use the namespaced class FormHelper directly. Move all JLayout to use the namespaced class FileLayout directly. Move all JLanguageMultilang to use the namespaced class Multilanguage directly. Move all JComponentHelper to use the namespaced class ComponentHelper directly. Move all JCategoryNode to use the namespaced class CategoryNode directly. Move all JComponentHelper to use the namespaced class ComponentHelper directly. Move all JToolbar to use the namespaced class Toolbar directly. Move all JToolbarHelper to use the namespaced class ToolbarHelper directly. Convert all addStyleSheet to make use of Html class instead. Convert all addScript to make use of Html class instead.
216 lines
6.4 KiB
PHP
216 lines
6.4 KiB
PHP
<?php
|
|
/*----------------------------------------------------------------------------------| io.vdm.dev |----/
|
|
Vast Development Method
|
|
/-------------------------------------------------------------------------------------------------------/
|
|
|
|
@package getBible.net
|
|
|
|
@created 3rd December, 2015
|
|
@author Llewellyn van der Merwe <https://getbible.net>
|
|
@git Get Bible <https://git.vdm.dev/getBible>
|
|
@github Get Bible <https://github.com/getBible>
|
|
@support Get Bible <https://git.vdm.dev/getBible/support>
|
|
@copyright Copyright (C) 2015. All Rights Reserved
|
|
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
|
|
|
/------------------------------------------------------------------------------------------------------*/
|
|
|
|
// No direct access to this file
|
|
defined('_JEXEC') or die('Restricted access');
|
|
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\Form\FormHelper;
|
|
use Joomla\CMS\Session\Session;
|
|
use Joomla\CMS\Uri\Uri;
|
|
use Joomla\CMS\Toolbar\Toolbar;
|
|
use Joomla\CMS\Component\ComponentHelper;
|
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
|
use Joomla\CMS\Layout\FileLayout;
|
|
use Joomla\CMS\MVC\View\HtmlView;
|
|
use Joomla\CMS\Plugin\PluginHelper;
|
|
use Joomla\CMS\Toolbar\ToolbarHelper;
|
|
use VDM\Joomla\Utilities\StringHelper;
|
|
|
|
/**
|
|
* Note Html View class
|
|
*/
|
|
class GetbibleViewNote extends HtmlView
|
|
{
|
|
/**
|
|
* display method of View
|
|
* @return void
|
|
*/
|
|
public function display($tpl = null)
|
|
{
|
|
// set params
|
|
$this->params = ComponentHelper::getParams('com_getbible');
|
|
// Assign the variables
|
|
$this->form = $this->get('Form');
|
|
$this->item = $this->get('Item');
|
|
$this->script = $this->get('Script');
|
|
$this->state = $this->get('State');
|
|
// get action permissions
|
|
$this->canDo = GetbibleHelper::getActions('note', $this->item);
|
|
// get input
|
|
$jinput = Factory::getApplication()->input;
|
|
$this->ref = $jinput->get('ref', 0, 'word');
|
|
$this->refid = $jinput->get('refid', 0, 'int');
|
|
$return = $jinput->get('return', null, 'base64');
|
|
// set the referral string
|
|
$this->referral = '';
|
|
if ($this->refid && $this->ref)
|
|
{
|
|
// return to the item that referred to this item
|
|
$this->referral = '&ref=' . (string)$this->ref . '&refid=' . (int)$this->refid;
|
|
}
|
|
elseif($this->ref)
|
|
{
|
|
// return to the list view that referred to this item
|
|
$this->referral = '&ref=' . (string)$this->ref;
|
|
}
|
|
// check return value
|
|
if (!is_null($return))
|
|
{
|
|
// add the return value
|
|
$this->referral .= '&return=' . (string)$return;
|
|
}
|
|
|
|
// Set the toolbar
|
|
$this->addToolBar();
|
|
|
|
// Check for errors.
|
|
if (count($errors = $this->get('Errors')))
|
|
{
|
|
throw new Exception(implode("\n", $errors), 500);
|
|
}
|
|
|
|
// Display the template
|
|
parent::display($tpl);
|
|
|
|
// Set the document
|
|
$this->setDocument();
|
|
}
|
|
|
|
|
|
/**
|
|
* Setting the toolbar
|
|
*/
|
|
protected function addToolBar()
|
|
{
|
|
Factory::getApplication()->input->set('hidemainmenu', true);
|
|
$user = Factory::getUser();
|
|
$userId = $user->id;
|
|
$isNew = $this->item->id == 0;
|
|
|
|
ToolbarHelper::title( Text::_($isNew ? 'COM_GETBIBLE_NOTE_NEW' : 'COM_GETBIBLE_NOTE_EDIT'), 'pencil-2 article-add');
|
|
// Built the actions for new and existing records.
|
|
if (StringHelper::check($this->referral))
|
|
{
|
|
if ($this->canDo->get('note.create') && $isNew)
|
|
{
|
|
// We can create the record.
|
|
ToolbarHelper::save('note.save', 'JTOOLBAR_SAVE');
|
|
}
|
|
elseif ($this->canDo->get('note.edit'))
|
|
{
|
|
// We can save the record.
|
|
ToolbarHelper::save('note.save', 'JTOOLBAR_SAVE');
|
|
}
|
|
if ($isNew)
|
|
{
|
|
// Do not creat but cancel.
|
|
ToolbarHelper::cancel('note.cancel', 'JTOOLBAR_CANCEL');
|
|
}
|
|
else
|
|
{
|
|
// We can close it.
|
|
ToolbarHelper::cancel('note.cancel', 'JTOOLBAR_CLOSE');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ($isNew)
|
|
{
|
|
// For new records, check the create permission.
|
|
if ($this->canDo->get('note.create'))
|
|
{
|
|
ToolbarHelper::apply('note.apply', 'JTOOLBAR_APPLY');
|
|
ToolbarHelper::save('note.save', 'JTOOLBAR_SAVE');
|
|
ToolbarHelper::custom('note.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
|
|
};
|
|
ToolbarHelper::cancel('note.cancel', 'JTOOLBAR_CANCEL');
|
|
}
|
|
else
|
|
{
|
|
if ($this->canDo->get('note.edit'))
|
|
{
|
|
// We can save the new record
|
|
ToolbarHelper::apply('note.apply', 'JTOOLBAR_APPLY');
|
|
ToolbarHelper::save('note.save', 'JTOOLBAR_SAVE');
|
|
// We can save this record, but check the create permission to see
|
|
// if we can return to make a new one.
|
|
if ($this->canDo->get('note.create'))
|
|
{
|
|
ToolbarHelper::custom('note.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
|
|
}
|
|
}
|
|
$canVersion = ($this->canDo->get('core.version') && $this->canDo->get('note.version'));
|
|
if ($this->state->params->get('save_history', 1) && $this->canDo->get('note.edit') && $canVersion)
|
|
{
|
|
ToolbarHelper::versions('com_getbible.note', $this->item->id);
|
|
}
|
|
if ($this->canDo->get('note.create'))
|
|
{
|
|
ToolbarHelper::custom('note.save2copy', 'save-copy.png', 'save-copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false);
|
|
}
|
|
ToolbarHelper::cancel('note.cancel', 'JTOOLBAR_CLOSE');
|
|
}
|
|
}
|
|
ToolbarHelper::divider();
|
|
// set help url for this view if found
|
|
$this->help_url = GetbibleHelper::getHelpUrl('note');
|
|
if (StringHelper::check($this->help_url))
|
|
{
|
|
ToolbarHelper::help('COM_GETBIBLE_HELP_MANAGER', false, $this->help_url);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Escapes a value for output in a view script.
|
|
*
|
|
* @param mixed $var The output to escape.
|
|
*
|
|
* @return mixed The escaped value.
|
|
*/
|
|
public function escape($var)
|
|
{
|
|
if(strlen($var) > 30)
|
|
{
|
|
// use the helper htmlEscape method instead and shorten the string
|
|
return StringHelper::html($var, $this->_charset, true, 30);
|
|
}
|
|
// use the helper htmlEscape method instead.
|
|
return StringHelper::html($var, $this->_charset);
|
|
}
|
|
|
|
/**
|
|
* Method to set up the document properties
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function setDocument()
|
|
{
|
|
$isNew = ($this->item->id < 1);
|
|
if (!isset($this->document))
|
|
{
|
|
$this->document = Factory::getDocument();
|
|
}
|
|
$this->document->setTitle(Text::_($isNew ? 'COM_GETBIBLE_NOTE_NEW' : 'COM_GETBIBLE_NOTE_EDIT'));
|
|
Html::_('stylesheet', "administrator/components/com_getbible/assets/css/note.css", ['version' => 'auto']);
|
|
Html::_('script', $this->script, ['version' => 'auto']);
|
|
Html::_('script', "administrator/components/com_getbible/views/note/submitbutton.js", ['version' => 'auto']);
|
|
Text::script('view not acceptable. Error');
|
|
}
|
|
}
|