%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_baforms/models/
Upload File :
Create Path :
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();
                }
            }
        }
        
    }
}

Zerion Mini Shell 1.0