Datei #jrwdcm17-2863
Hochgeladen von einem anonymen Benutzer - 07/03/2010 12:22 - 38 Zugriffe
Quellcode
<?php//----------------------------------------------------------------------// JBudgetsMagic// JBudgetsMagic by Fernando Hidalgo - http://www.sopinet.com//----------------------------------------------------------------------//----------------------------------------------------------------------// Author: Fernando Hidalgo - http://www.sopinet.com// Copyright: copyright (C) 2009 - Fernando Hidalgo.// License: GNU/GPL, http://www.gnu.org/copyleft/gpl.html// Pack: JBudgetsMagic// File: form.php//----------------------------------------------------------------------//----------------------------------------------------------------------// JBudgetsMagic is free software. This version may have been modified pursuant// to the GNU General Public License, and as distributed it includes or// is derivative of works licensed under the GNU General Public License or// other free or open source software licenses.//----------------------------------------------------------------------defined( '_JEXEC' ) or die( 'Restricted access' );
//jimport( 'joomla.application.component.model' );$upload = JFactory::getDate();
$budget->upload = $upload->toMySQL();
class bdgModelForm extends JModel
{function __construct()
{parent::__construct();
}function getForm() {
$params = &JComponentHelper::getParams( 'com_jbudgetsmagic' );
$type_id = $params->get('type_id', '1');
$form =& $this->getTable('type');
$form->load($type_id);
return $form;
}function sendForm($data) {
// Grabamos el Prespuesto$user = JFactory::getUser();
$budget->user_id = $user->id;
$budget->upload = JFactory::getDate()->toMySQL();
$budget->type_id = $data['form_id'];
$budget->title = $data['title'];
$budget->description = $data['description'];
$budget->state = "New";
$budget->price = substr($data['total'],0,strlen($data['total'])-3);
$rbudget =& $this->getTable('budgets');
if (!$rbudget->bind($budget)) {
return JError::raiseError( 500, $rbudget->getError() );
}if (!$rbudget->store()) {
JError::raiseError(500, $rbudget->getError() );
}// Grabamos los elementos del Presupuesto$elements = $this->getElements($data['form_id']);
foreach ($elements as $e) {
$el->element_amount = $data['cant_'.$e->id];
eval("\$el->element_amount = \"$el->element_amount\";");
$el->element_price = $e->price;
$el->element_title = $e->title;
$el->element_description = $e->description;
$el->element_type = $e->type;
$el->element_id = $e->id;
$el->budget_id = $rbudget->id;
$el->revision_id = 0;
$el->element_total = $el->element_amount * $el->element_price;
$rel =& $this->getTable('budgets_elements');
if (!$rel->bind($el)) {
return JError::raiseError( 500, $rel->getError() );
}if (!$rel->store()) {
JError::raiseError(500, $rel->getError() );
}}// Si todo ha ido bien, enviamos un email de confirmaciónif (bdgHelperConfig::getConfig('email_notification', '1')) {
global $mainframe;
$email_users = bdgHelperConfig::getConfig('email_users');
$sitename = $mainframe->getCfg( 'sitename' );
$mailfrom = $mainframe->getCfg( 'mailfrom' );
$fromname = $mainframe->getCfg( 'fromname' );
$email_users = explode( ',', $email_users );
foreach ($email_users as $eu) {
$user = JFactory::getUser($eu);
$emailto = $user->email;
$message = sprintf(JText::_( 'Budget New Notification' ), $user->username, $user->id);
$message = html_entity_decode($message, ENT_QUOTES);
JUtility::sendMail($mailfrom, $fromname, $emailto, $sitename, $message);
}}}function getElements($type_id) {
$db = &JFactory::getDBO();
$query = ' SELECT b.id, b.price, e.group, e.type_id, b.type, b.title, e.ordering, e.min, e.max, e.def, b.description'
. ' FROM #__bdg_types_elements AS e, #__bdg_items AS b WHERE e.item_id = b.id AND e.type_id = '.$type_id.' ORDER BY e.ordering ASC';
$db->setQuery($query);
$rows = $db->loadObjectList();
return $rows;
}function getIDs($elements) {
$ids = array();
foreach ($elements as $e) {
$ids[] = $e->id;
}return $ids;
}function getItemsDSC($elements) {
$items_dsc = array();
$db = &JFactory::getDBO();
foreach ($elements as $e) {
$query = "SELECT * FROM #__bdg_items_dsc WHERE item_id = ".$e->id;
$db->setQuery($query);
$rows = $db->loadObjectList();
if (count($rows) != NULL)
$items_dsc[$e->id] = $rows;
}return $items_dsc;
}function getIDCS($elements) {
$ids = array();
foreach ($elements as $el) {
foreach ($el as $e) {
$ids[] = $e->id;
}}return $ids;
}function getTYPEs($elements) {
$types = array();
foreach ($elements as $e) {
$types[] = $e->type;
}return $types;
}}
