Exemple #1
0
 /**
  *
  * @param <type> $eq_id
  * @param <type> $params
  * @return <type>
  */
 function modifyEqImpl($params = null)
 {
     // Chequea que el usuario haya iniciado sesión
     $user =& JFactory::getUser();
     if ($user->guest) {
         return;
     }
     $eq_id = property_exists($params, 'eq_id') ? $params->id : NULL;
     // Chequea que el usuario indicado sea valido
     if ($eq_id <= 0) {
         return;
     }
     // Crea nueva instancia del ecualizador
     $eqData = array('id' => $eq_id, 'nombre' => property_exists($params, 'nombre') ? $params->nombre : NULL, 'descripcion' => property_exists($params, 'descripcion') ? $params->descripcion : NULL, 'observaciones' => property_exists($params, 'observaciones') ? $params->observaciones : NULL, 'solrquery_bq' => property_exists($params, 'solrquery_bq') ? $params->solrquery_bq : NULL);
     // Almacena el ecualizador
     $model =& $this->getModel('Eq');
     if (!$model->store(false, false, $eqData)) {
         $jtext = new JText();
         $message = $jtext->sprintf('ZONALES_EQ_UPDATE_FAILURE', JText::_('ZONALES_EQ_EQ'));
         return $this->helper->getEqJsonResponse(comEqZonalesHelper::FAILURE, $message);
     }
     $jtext = new JText();
     $message = $jtext->sprintf('ZONALES_EQ_UPDATE_SUCCESS', JText::_('ZONALES_EQ_EQ'));
     return $this->helper->getEqJsonResponse(comEqZonalesHelper::SUCCESS, $message);
     //        if (!$model->store(false, false, $eqData)) {
     //            echo "<script> alert('".$model->getError()."'); window.history.go(-1); </script>\n";
     //            exit();
     //        }
 }
Exemple #2
0
 /**
  * Crea o modifica un conjunto de bandas. La función esta pensada para ser
  * invocada mediante Ajax desde el frontend. Espera recuperar como variable
  * POST un mensaje JSON con los datos necesarios para la creación del nuevo
  * ecualizador.
  *
  * Debido a que esta pensando para ejecutarse por medio de AJAX agrega
  * chequeos de cuestiones de seguridad, tales como si el usuario esta
  * registrado e inicio sesión.
  *
  * @return JSON con información acerca del resultado de la operación.
  */
 function modifyBandAjax()
 {
     // Controla que el request haya sido enviado por un usuario registrado.
     $user =& JFactory::getUser();
     $jtext = new JText();
     /**
      * Recupera los parametros desde POST
      */
     $bands = JRequest::getVar('slider', NULL, 'post', 'array');
     $eqid = JRequest::getVar('eqid', NULL, 'post', 'int');
     /**
      * Genera un arreglo (bandsArray) con instancias de stdClass que
      * contienen los parametros necesarios para las bandas.
      */
     $bandsArray = array();
     foreach ($bands as $band) {
         list($id, $valueId, $peso, $operation) = explode("-", $band);
         $bandsArray[] = (object) array('id' => $id, 'cp_value_id' => $valueId, 'peso' => $peso, 'eq_id' => $eqid, 'operation' => $operation);
     }
     /**
      * Crea/modifica las bandas del ecualizador según la configuración
      * especificada.
      */
     $result = $user->guest ? $this->modifyBandAnonImpl($bandsArray) : $this->modifyBandImpl($bandsArray);
     // Según la operación selecciona el tipo de mensaje de respuesta - ver com_eqzonales.ini
     switch ($operation) {
         case REMOVE:
             $op = 'DEL';
             break;
         case ADD:
             $op = 'CREATE';
             break;
         case MOD:
             $op = 'UPDATE';
             break;
     }
     if (!$result) {
         echo $this->helper->getEqJsonResponse(comEqZonalesHelper::FAILURE, $jtext->sprintf('ZONALES_EQ_' . $op . '_FAILURE', JText::_('ZONALES_EQ_BAND')));
     } else {
         echo $this->helper->getEqJsonResponse(comEqZonalesHelper::SUCCESS, $jtext->sprintf('ZONALES_EQ_' . $op . '_SUCCESS', JText::_('ZONALES_EQ_BAND')));
     }
     return;
 }