Пример #1
0
 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;
 }
Пример #2
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);
 }