Example #1
0
 /**
  * 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');
 }
 * 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)) {
        $eq->eq = $eqtmp->eq;
 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;
 }
Example #4
0
 /**
  * Crea un nuevo ecualizador en base a la información del usuario.
  *
  * @param Array $user arreglo con datos del usuario.
  */
 function _createNewDefaultEq($user)
 {
     /**
      * Objeto con información del usurio y ecualizador a crear
      */
     $eq = new stdClass();
     $eq->user_id = $user->id;
     $eq->nombre = $user->name;
     $eq->descripcion = 'Ecualizador de ' . $eq->nombre;
     $eq->observaciones = 'Ecualizador de ' . $eq->nombre;
     /**
      * Crea el ecualizador con los datos del nuevo usuario.
      */
     $eqId = $this->createEq($eq);
     if ($eqId === FALSE) {
         return;
     } else {
         $eq->id = $eqId;
         /**
          * Instancia las bandas por defecto para el ecualizador.
          */
         require_once JPATH_BASE . DS . 'components' . DS . 'com_eqzonales' . DS . 'controllers' . DS . 'band.php';
         $ctrlBand = new EqZonalesControllerBand();
         $ctrlBand->createDefaultBands($eq);
     }
     return array($eq);
 }