<?php
// No direct access
defined('ABSPATH') or die('No script kiddies please!');
jimport('joomla.application.component.view');
jimport('adapter.acl.access');
/**
* VikBooking Shortcode view.
* @wponly
*
* @since 1.0
*/
class VikBookingViewShortcode extends JView
{
/**
* @override
* View display method.
*
* @return void
*/
public function display($tpl = null)
{
$app = JFactory::getApplication();
$input = $app->input;
$dbo = JFactory::getDbo();
$model = $this->getModel();
$type = $input->getString('type');
$return = $input->getBase64('return', '');
$shortcode = (array) $model->loadFormData();
JLoader::import('adapter.filesystem.folder');
// views
$views = array();
// get all the views that contain a default.xml file
// [0] : base path
// [1] : query
// [2] : true for recursive search
// [3] : true to return full paths
$files = JFolder::files(VBO_SITE_PATH . DIRECTORY_SEPARATOR . 'views', 'default.xml', true, true);
foreach ($files as $f)
{
// retrieve the view ID from the path: /views/[ID]/tmpl/default.xml
if (preg_match("/[\/\\\\]views[\/\\\\](.*?)[\/\\\\]tmpl[\/\\\\]default\.xml$/i", $f, $matches))
{
$id = $matches[1];
// load the XML form
$form = JForm::getInstance($id, $f);
// get the view title
$views[$id] = array(
'name' => (string) $form->getXml()->layout->attributes()->title,
'desc' => (string) $form->getXml()->layout->message,
);
}
}
$this->shortcode = $shortcode;
$this->views = $views;
$this->returnLink = $return;
$this->form = $form;
$this->shortcodesList = JModel::getInstance('vikbooking', 'shortcodes', 'admin')->all();
$this->addToolbar($type);
// display parent
parent::display($tpl);
}
/**
* Helper method to setup the toolbar.
*
* @return void
*/
public function addToolbar($type)
{
if ($type == 'edit')
{
JToolbarHelper::title(JText::translate('VBOEDITSHORTCDMENUTITLE'));
}
else
{
JToolbarHelper::title(JText::translate('VBONEWSHORTCDMENUTITLE'));
}
JToolbarHelper::apply('shortcode.save');
JToolbarHelper::save('shortcode.saveclose');
JToolbarHelper::save2new('shortcode.savenew');
JToolbarHelper::cancel('shortcodes.cancel');
}
}