Datei #jrwdcm17-2863

Hochgeladen von einem anonymen Benutzer - 07/03/2010 12:22 - 38 Zugriffe
Versionen vergleichen
07/03/2010 - 12:22    1 - jrwdcm17-2863
07/03/2010 - 12:36      1.1 - rvmtla22-2864
Quellcode
  1. <?php
  2.   //----------------------------------------------------------------------
  3.  
  4.   // JBudgetsMagic
  5.  
  6.   // JBudgetsMagic by Fernando Hidalgo - http://www.sopinet.com
  7.  
  8.   //----------------------------------------------------------------------
  9.  
  10.  
  11.  
  12.   //----------------------------------------------------------------------
  13.  
  14.   // Author: 	Fernando Hidalgo - http://www.sopinet.com
  15.  
  16.   // Copyright: copyright (C) 2009 - Fernando Hidalgo.
  17.  
  18.   // License: 	GNU/GPL, http://www.gnu.org/copyleft/gpl.html
  19.  
  20.   // Pack: 	JBudgetsMagic
  21.  
  22.   // File: 	form.php
  23.  
  24.   //----------------------------------------------------------------------  
  25.  
  26.  
  27.  
  28.   //----------------------------------------------------------------------    
  29.  
  30.   // JBudgetsMagic is free software. This version may have been modified pursuant
  31.  
  32.   // to the GNU General Public License, and as distributed it includes or
  33.  
  34.   // is derivative of works licensed under the GNU General Public License or
  35.  
  36.   // other free or open source software licenses.  
  37.  
  38.   //----------------------------------------------------------------------
  39.  
  40.  
  41.  
  42. defined( '_JEXEC' ) or die( 'Restricted access' );
  43.  
  44.  
  45.  
  46. //jimport( 'joomla.application.component.model' );
  47.  
  48. $upload = JFactory::getDate();
  49. $budget->upload = $upload->toMySQL();
  50.  
  51.  
  52. class bdgModelForm extends JModel
  53.  
  54. {
  55.  
  56. 	function __construct()
  57.  
  58. 	{
  59.  
  60. 		parent::__construct();
  61.  
  62. 	}
  63.  
  64. 	function getForm() {
  65. 		$params = &JComponentHelper::getParams( 'com_jbudgetsmagic' );
  66. 		$type_id = $params->get('type_id', '1');
  67.  
  68. 		$form =& $this->getTable('type');
  69. 		$form->load($type_id);
  70. 		return $form;
  71. 	}
  72.  
  73. 	function sendForm($data) {
  74. 		// Grabamos el Prespuesto
  75. 		$user = JFactory::getUser();
  76. 		$budget->user_id = $user->id;
  77. 		$budget->upload = JFactory::getDate()->toMySQL();
  78. 		$budget->type_id = $data['form_id'];
  79. 		$budget->title = $data['title'];
  80. 		$budget->description = $data['description'];
  81. 		$budget->state = "New";
  82. 		$budget->price = substr($data['total'],0,strlen($data['total'])-3);
  83. 		$rbudget =& $this->getTable('budgets');
  84. 		if (!$rbudget->bind($budget)) {
  85.         	return JError::raiseError( 500, $rbudget->getError() );
  86. 		}
  87. 		if (!$rbudget->store()) {
  88.         	JError::raiseError(500, $rbudget->getError() );
  89. 		}
  90.  
  91. 		// Grabamos los elementos del Presupuesto
  92. 		$elements = $this->getElements($data['form_id']);
  93. 		foreach ($elements as $e) {
  94. 			$el->element_amount = $data['cant_'.$e->id];
  95. 			eval("\$el->element_amount = \"$el->element_amount\";");
  96. 			$el->element_price = $e->price;
  97. 			$el->element_title = $e->title;
  98. 			$el->element_description = $e->description;
  99. 			$el->element_type = $e->type;
  100. 			$el->element_id = $e->id;
  101. 			$el->budget_id = $rbudget->id;
  102. 			$el->revision_id = 0;
  103. 			$el->element_total = $el->element_amount * $el->element_price;
  104.  
  105. 			$rel =& $this->getTable('budgets_elements');
  106. 			if (!$rel->bind($el)) {
  107.         		return JError::raiseError( 500, $rel->getError() );
  108. 			}
  109. 			if (!$rel->store()) {
  110.         		JError::raiseError(500, $rel->getError() );
  111. 			}
  112. 		}
  113.  
  114. 		// Si todo ha ido bien, enviamos un email de confirmación
  115. 		if (bdgHelperConfig::getConfig('email_notification', '1')) {
  116. 			global $mainframe;
  117. 			$email_users = bdgHelperConfig::getConfig('email_users');
  118.  
  119. 			$sitename 		= $mainframe->getCfg( 'sitename' );
  120. 			$mailfrom 		= $mainframe->getCfg( 'mailfrom' );
  121. 			$fromname 		= $mainframe->getCfg( 'fromname' );			
  122.  
  123. 			$email_users = explode( ',', $email_users );
  124.  
  125. 			foreach ($email_users as $eu) {
  126. 				$user = JFactory::getUser($eu);
  127. 				$emailto = $user->email; 
  128. 				$message = sprintf(JText::_( 'Budget New Notification' ), $user->username, $user->id);
  129. 				$message = html_entity_decode($message, ENT_QUOTES);
  130.  
  131. 				JUtility::sendMail($mailfrom, $fromname, $emailto, $sitename, $message);
  132. 			}
  133. 		}
  134. 	}
  135.  
  136. 	function getElements($type_id) {
  137. 		$db = &JFactory::getDBO();
  138. 		$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'
  139.  
  140. 				. ' 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';
  141. 		$db->setQuery($query);
  142. 		$rows = $db->loadObjectList();
  143. 		return $rows;
  144. 	}
  145.  
  146. 	function getIDs($elements) {
  147. 		$ids = array();
  148. 		foreach ($elements as $e) {
  149. 			$ids[] = $e->id;
  150. 		}
  151. 		return $ids;
  152. 	}
  153.  
  154. 	function getItemsDSC($elements) {
  155. 		$items_dsc = array();
  156. 		$db = &JFactory::getDBO();
  157. 		foreach ($elements as $e) {
  158. 			$query = "SELECT * FROM #__bdg_items_dsc WHERE item_id = ".$e->id;
  159. 			$db->setQuery($query);
  160. 			$rows = $db->loadObjectList();
  161. 			if (count($rows) != NULL)
  162. 				$items_dsc[$e->id] = $rows;
  163. 		}
  164. 		return $items_dsc;
  165. 	}
  166.  
  167. 	function getIDCS($elements) {
  168. 		$ids = array();
  169. 		foreach ($elements as $el) {
  170. 			foreach ($el as $e) {
  171. 				$ids[] = $e->id;
  172. 			}
  173. 		}
  174. 		return $ids;
  175. 	}
  176.  
  177. 	function getTYPEs($elements) {
  178. 		$types = array();
  179. 		foreach ($elements as $e) {
  180. 			$types[] = $e->type;
  181. 		}
  182. 		return $types;
  183. 	}
  184. }