function __construct() { require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'eq.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'tables'); // controladores $this->_ctrlEq = new EqZonalesControllerEq(); $this->_ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); }
/** * Constructor * * For php4 compatability we must not use the __constructor as a * constructor for plugins because func_get_args ( void ) returns a * copy of all passed arguments NOT references. This causes problems * with cross-referencing necessary for the observer design pattern. * * @param object $subject The object to observe * @param array $config An array that holds the plugin configuration * @since 1.0 */ function plgUserEqevents(&$subject, $config) { parent::__construct($subject, $config); // No ejecutar si se accede al backend administrativo $app = JFactory::getApplication(); if ($app->isAdmin()) { return true; } /** * Realiza el include de los controladores del componente EqZonales */ require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'eq.php'; require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'band.php'; require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'helper' . DS . 'helper.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'tables'); /** * Crea instancias de los controladores del componente EqZonales, * y les setea el path correcto hacia sus respectivos modelos. */ $this->_ctrlEq = new EqZonalesControllerEq(); $this->_ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); $this->_ctrlBand = new EqZonalesControllerBand(); $this->_ctrlBand->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); }
/** * Recupera los valores del tag indicado * * @param int id identificador del tag * @return array Arreglo de objetos value */ function getMenuValues($id, $eq = false) { if (is_null($id)) { return null; } $dbo =& JFactory::getDBO(); $query = 'SELECT ' . $dbo->nameQuote('v.id') . ', ' . $dbo->nameQuote('v.name') . ', ' . $dbo->nameQuote('v.label') . ', ' . $dbo->nameQuote('jm.link') . ', ' . $dbo->nameQuote('zm.menu_id') . ($eq ? ', b.peso' : '') . ' FROM ' . $dbo->nameQuote('#__custom_properties_values') . ' v' . ' INNER JOIN ' . $dbo->nameQuote('#__zonales_menu') . ' zm' . ' ON ' . $dbo->nameQuote('zm.value_id') . ' = ' . $dbo->nameQuote('v.id') . ' INNER JOIN ' . $dbo->nameQuote('#__menu') . ' jm' . ' ON ' . $dbo->nameQuote('jm.id') . ' = ' . $dbo->nameQuote('zm.menu_id'); // ecualiza if ($eq) { require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'eq.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'tables'); $ctrlEq = new EqZonalesControllerEq(); $ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); // recupera ecualizador del usuario $user =& JFactory::getUser(); $result = $ctrlEq->retrieveUserEqImpl($user->id); if (!is_null($result) && !empty($result)) { $eq = $result[0]; $query .= ' LEFT JOIN ' . $dbo->nameQuote('#__eqzonales_banda') . ' b' . ' ON ' . $dbo->nameQuote('v.id') . ' = ' . $dbo->nameQuote('b.cp_value_id') . ' AND ' . $dbo->nameQuote('b.eq_id') . ' = ' . $eq->eq->id; } } // where $query .= ' WHERE ' . $dbo->nameQuote('v.field_id') . ' = ' . $id; // ordena según ecualización if ($eq) { $query .= ' ORDER BY b.peso DESC'; } $dbo->setQuery($query); return $this->_cache->get(array($dbo, 'loadObjectList'), array()); }
* 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. * See COPYRIGHT.php for copyright notices and details. */ // no direct access defined('_JEXEC') or die('Restricted access'); require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'eq.php'; require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'band.php'; require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'helper' . DS . 'helper.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'tables'); // helper $helper = new comEqZonalesHelper(); // controladores $ctrlEq = new EqZonalesControllerEq(); $ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); $ctrlBand = new EqZonalesControllerBand(); $ctrlBand->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); // template $app =& JFactory::getApplication(); $template = $app->getTemplate(); // parametros $menu_item = JFactory::getApplication()->getMenu()->getItem($params->get('menu_joomla')); // recupera el usuario $user =& JFactory::getUser(); $eq = null; // recupera ecualizador del usuario $result = $ctrlEq->retrieveUserEqImpl($user->id); if (!is_null($result) && !empty($result)) { $eqtmp = $result[0]; if (!empty($eqtmp)) {
function addAnonDefaultEq() { global $option; // Según valor de retorno el estilo de msg será de exito o error $return = false; $link = 'index.php?option=' . $option; $paramsEq =& JComponentHelper::getParams('com_eqzonales'); $eq_anon_id = $paramsEq->get('eq_anon_id', null); $eq_anon_name = $paramsEq->get('eq_anon_name', null); if (is_null($eq_anon_id)) { $msg = 'No se especifico un id para el Ecualizador Anónimo'; $this->setRedirect($link, $msg); return $return; } /** * Crea instancias de los controladores del componente EqZonales, * y les setea el path correcto hacia sus respectivos modelos. */ $ctrlEq = new EqZonalesControllerEq(); $ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); $ctrlBand = new EqZonalesControllerBand(); $ctrlBand->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); $params = new stdClass(); $params->id = $eq_anon_id; $params->user_id = 0; $params->nombre = $eq_anon_name; $params->descripcion = $eq_anon_name; $params->observaciones = $eq_anon_name; /** * Crea el ecualizador con los datos del nuevo usuario. * ---- * NOTA: Al especificar id en $params, JTable realiza un update * sobre la base de datos. Como no se encontro forma de evitar este * comportamiento se decidió interactuar directamente con la base de * datos. */ //$eqId = $ctrlEq->createEq($params); $eqRow =& JTable::getInstance('eq', 'Table'); if ($eqRow->load($eq_anon_id)) { $msg = 'Error al crear el Ecualizador Anónimo - El ID especificado ya existe'; } else { // Insertamos el EQ anonimo $db =& JFactory::getDBO(); $query = "INSERT INTO #__eqzonales_eq (id,user_id,nombre,descripcion,observaciones)" . " VALUES ({$params->id}, {$params->user_id}, '{$params->nombre}', '{$params->descripcion}', '{$params->observaciones}')"; $db->setQuery($query); $result = $db->query(); //if ($eqId === FALSE) { if ($result === FALSE) { $msg = 'Error al crear el Ecualizador Anónimo - No se pudo almacenar en la BD'; } else { /** * Instancia las bandas por defecto para el ecualizador. */ $ctrlBand->createDefaultBands($params); $msg = 'Ecualizador Anónimo creado exitosamente'; $return = true; } } $this->setRedirect($link, $msg); return $return; }
/** * * @return <type> */ function getEqPreferences() { require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'eq.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'tables'); // controladores $ctrlEq = new EqZonalesControllerEq(); $ctrlEq->addModelPath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_eqzonales' . DS . 'models'); // recupera el usuario $user =& JFactory::getUser(); $bq = ""; if (!$user->guest) { // recupera ecualizador del usuario $result = $ctrlEq->retrieveUserEqImpl($user->id); if (!is_null($result) && !empty($result)) { $eq = $result[0]; foreach ($eq->bands as $band) { $bq .= " tags_values:{$band->band_name}^{$band->peso}"; } } } else { $session =& JFactory::getSession(); if ($session->has('eq')) { $eq = $session->get('eq'); foreach ($eq->bands as $band) { $bq .= " tags_values:{$band->band_name}^{$band->peso}"; } } } return $bq; }