%PDF- %PDF-
Direktori : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_baforms/models/ |
Current File : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_baforms/models/form.php |
<?php /** * @package BaForms * @author Balbooa http://www.balbooa.com/ * @copyright Copyright @ Balbooa * @license http://www.gnu.org/licenses/gpl.html GNU/GPL */ defined('_JEXEC') or die; jimport('joomla.application.component.modeladmin'); class baformsModelForm extends JModelAdmin { public function getTable($type = 'Forms', $prefix = 'formsTable', $config = array()) { return JTable::getInstance($type, $prefix, $config); } public function getForm($data = array(), $loadData = true) { $form = $this->loadForm( $this->option . '.form', 'form', array('control' => 'jform', 'load_data' => $loadData) ); if (empty($form)) { return false; } return $form; } protected function loadFormData() { $data = JFactory::getApplication()->getUserState($this->option . '.edit.form.data', array()); if (empty($data)) { $data = $this->getItem(); $id = $data->id; if (isset($id)) { $elem = ''; $column = ''; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select("settings"); $query->from("#__baforms_columns"); $query->where("form_id=" . $id); $query->order("id ASC"); $db->setQuery($query); $items = $db->loadObjectList(); foreach ($items as $item) { $elem .= $item->settings . '|'; } $data->form_columns = $elem; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select("settings"); $query->from("#__baforms_items"); $query->where("form_id=" . $id); $query->order("id ASC"); $db->setQuery($query); $items = $db->loadObjectList(); foreach ($items as $item) { $column .= $item->settings . '|_-_|'; } $data->form_content = $column; } } return $data; } public function save($data) { if(parent::save($data)) { $formId = $this->getState($this->getName() . '.id'); $db = JFactory::getDBO(); $query = 'DELETE FROM `#__baforms_columns` WHERE `form_id`=' . $formId; $db->setQuery($query); $db->query(); $query = 'DELETE FROM `#__baforms_items` WHERE `form_id`=' . $formId; $db->setQuery($query); $db->query(); $newdata = explode('|', $data['form_columns']); foreach ($newdata as $dat) { if ($dat != '') { $table = JTable::getInstance('Columns', 'FormsTable'); $table->bind(array('form_id'=>$formId, 'settings'=>$dat)); $table->store(); } } $newdata = explode('|_-_|', $data['form_content']); foreach ($newdata as $dat) { if ($dat != '') { $table = JTable::getInstance('Items', 'FormsTable'); $table->bind(array('form_id'=>$formId, 'column_id'=>'2','settings'=>$dat)); $table->store(); } } return true; } else { return false; } } public function delete(&$pks) { $pks = (array) $pks; foreach ($pks as $i => $pk) { $id = $pk; if (parent::delete($pk)) { $this->_db->setQuery("DELETE FROM #__baforms_items WHERE `form_id`=". $id); $this->_db->execute(); $this->_db->setQuery("DELETE FROM #__baforms_columns WHERE `form_id`=". $id); $this->_db->execute(); } else { return false; } } return true; } public function duplicate(&$pks) { $db = $this->getDbo(); foreach ($pks as $pk) { $table = $this->getTable(); $table->load($pk, true); $table->id = 0; $table->title .= ' (1)'; $table->published = 0; $table->store(); $formId = $this->getState($this->getName() . '.id'); $query = $db->getQuery(true); $query->select("*"); $query->from("#__baforms_columns"); $query->where("form_id=" . $pk); $query->order("id ASC"); $db->setQuery($query); $id = $table->id; //print_r($id);exit; $items = $db->loadObjectList(); foreach ($items as $item) { if ($item != '') { $table = JTable::getInstance('Columns', 'FormsTable'); $table->bind(array('form_id'=>$id, 'settings'=>$item->settings)); $table->store(); } } $query = $db->getQuery(true); $query->select("*"); $query->from("#__baforms_items"); $query->where("form_id=" . $pk); $query->order("id ASC"); $db->setQuery($query); $items = $db->loadObjectList(); foreach ($items as $item) { if ($item != '') { $table = JTable::getInstance('Items', 'FormsTable'); $table->bind(array('form_id'=>$id, 'column_id'=>'2','settings'=>$item->settings)); $table->store(); } } } } }