<?php /** * @package RSForm! Pro * @copyright (C) 2007-2019 www.rsjoomla.com * @license GPL, http://www.gnu.org/copyleft/gpl.html */ defined('_JEXEC') or die; use Joomla\CMS\MVC\Model\AdminModel; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; class RsformModelCalculation extends AdminModel { public function getForm($data = array(), $loadData = true) { // Get the form. $form = $this->loadForm('com_rsform.calculation', 'calculation', array('control' => 'jform', 'load_data' => $loadData)); if (empty($form)) { return false; } return $form; } public function getItem($pk = null) { if ($pk === null) { $pk = Factory::getApplication()->input->getInt('cid'); } return parent::getItem($pk); } protected function loadFormData() { $app = Factory::getApplication(); // Check the session for previously entered form data. $data = $app->getUserState('com_rsform.edit.calculation.data', array()); if (empty($data)) { $data = $this->getItem(); } if (empty($data->formId)) { $data->formId = $this->getFormId(); } return $data; } public function getFormId() { return Factory::getApplication()->input->getInt('formId'); } public function getTable($type = 'Rsform_Calculations', $prefix = 'Table', $options = array()) { return parent::getTable($type, $prefix, $options); } public function getQuickfields() { require_once JPATH_ADMINISTRATOR . '/components/com_rsform/helpers/quickfields.php'; return RSFormProQuickFields::getFieldNames('all'); } public function save($data) { $row = $this->getTable(); $app = Factory::getApplication(); $saved = $row->save($data); if ($saved) { $app->enqueueMessage(Text::_('RSFP_CHANGES_SAVED')); return $row; } else { $app->enqueueMessage($row->getError(), 'error'); return false; } } }