function do_upload() { // Setup $config['upload_path'] = APPPATH . '../photos/'; $config['allowed_types'] = 'gif|jpg|png|jpeg'; $config['max_size'] = '400'; $config['max_width'] = '1024'; $config['max_height'] = '1024'; $config['encrypt_name'] = TRUE; $this->load->library('upload', $config); // El campo tipo file a enviarse $field_name = "selectedImageFile"; // Lo cargo y actuo segun el error. if (!$this->upload->do_upload($field_name)) { $error = array('error' => $this->upload->display_errors()); $outMessage =& $this->DTO->getOutMessage(); $error['error'] = strip_tags($error['error']); $processError = new TSLProcessErrorMessage(80000, $error['error'], null); $outMessage->addProcessError($processError); } else { $data = array('imageUrl' => '../../photos/' . $this->upload->data()['file_name']); $this->DTO->getOutMessage()->setSuccess(true); $this->DTO->getOutMessage()->setResultData($data); } $data['data'] =& $this->responseProcessor->process($this->DTO); $this->load->view($this->getView(), $data); }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new RegionesModel(); $model->set_regiones_codigo($dto->getParameterValue('regiones_codigo')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new CompetenciaTipoModel(); $model->set_competencia_tipo_codigo($dto->getParameterValue('competencia_tipo_codigo')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new EntrenadoresNivelModel(); $model->set_entrenadores_nivel_codigo($dto->getParameterValue('entrenadores_nivel_codigo')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new UsuariosPerfilModel(); $model->set_usuario_perfil_id($dto->getParameterValue('usuario_perfil_id')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new AtletasCarnetsModel(); $model->set_atletas_carnets_id($dto->getParameterValue('atletas_carnets_id')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new LigasClubesModel(); $model->set_ligasclubes_id($dto->getParameterValue('ligasclubes_id')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new PruebasClasificacionModel(); $model->set_pruebas_clasificacion_codigo($dto->getParameterValue('pruebas_clasificacion_codigo')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new UnidadMedidaModel(); $model->set_unidad_medida_codigo($dto->getParameterValue('unidad_medida_codigo')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * * @param \TSLIDataTransferObj $dto * @return \TSLDataModel */ protected function &getModelToDelete(\TSLIDataTransferObj $dto) { $model = new PruebasDetalleModel(); $model->set_pruebas_detalle_id($dto->getParameterValue('pruebas_detalle_id')); $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
protected function &getModelToUpdate(\TSLIDataTransferObj $dto) { $model = new \app\common\model\impl\TSLAppPerfilDetalleModel(); $model->set_perfdet_id($dto->getParameterValue('perfdet_id')); $model->set_perfil_id($dto->getParameterValue('perfil_id')); $model->set_perfdet_accessdef($dto->getParameterValue('perfdet_accessdef')); $model->set_perfdet_accagregar($dto->getParameterValue('perfdet_accagregar')); $model->set_perfdet_accactualizar($dto->getParameterValue('perfdet_accactualizar')); $model->set_perfdet_accleer($dto->getParameterValue('perfdet_accleer')); $model->set_perfdet_acceliminar($dto->getParameterValue('perfdet_acceliminar')); $model->set_perfdet_accimprimir($dto->getParameterValue('perfdet_accimprimir')); $model->set_menu_id($dto->getParameterValue('menu_id')); if ($dto->getParameterValue('activo') != NULL) { $model->setActivo($dto->getParameterValue('activo')); } $model->setVersionId($dto->getParameterValue('versionId')); $model->set_Usuario_mod($dto->getSessionUser()); return $model; }
/** * Genera la salida en JSON. * * @param TSLIDataTransferObj con el Data Transfer Object a procesar * @return un String con el DTO en formato JSON */ public function &process(TSLIDataTransferObj &$DTO) { if (isset($DTO)) { /* @var $outMessage TSLOutMessage */ $outMessage =& $DTO->getOutMessage(); $out = '"success":' . ($outMessage->isSuccess() == FALSE ? '"false"' : '"true"'); if (strlen($outMessage->getAnswerMesage()) > 0) { $out .= ',"am":[{"msg": "' . $outMessage->getAnswerMesage() . '","ce":"' . $outMessage->getErrorCode() . '"}]'; } if ($outMessage->isSuccess() == FALSE) { if ($outMessage->hasFieldErrors()) { $fldErrors =& $outMessage->getFieldErrors(); // Si ya tiene longitud , ponemos una coma para indicar // un nuevo elemento. if (isset($out) and strlen($out) > 0) { $out .= ','; } // la lista de field errors. $out .= '"errors":{'; $count = count($fldErrors); for ($i = 0; $i < $count; $i++) { $out .= $fldErrors[$i]->getField() . ':"' . $fldErrors[$i]->getErrorMessage() . '"'; if ($i < $count - 1) { $out .= ','; } } $out .= '}'; } else { if ($outMessage->hasProcessErrors()) { $processErrors =& $outMessage->getProcessErrors(); // Si ya tiene longitud , ponemos una coma para indicar // un nuevo elemento. if (isset($out) and strlen($out) > 0) { $out .= ','; } // la lista de process errors. $out .= '"pe":['; $count = count($processErrors); for ($i = 0; $i < $count; $i++) { $perr = str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $processErrors[$i]->getErrorMessage()); // Si tiene excepcion procesamos. $ex = $processErrors[$i]->getException(); if (isset($ex)) { if (isset($perr)) { $out .= '{"msg":"' . $perr . ' - ' . str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . '","ce":"' . $processErrors[$i]->getErrorCode() . '"'; } else { $out .= '{"msg":"' . str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . '","ce":"' . $processErrors[$i]->getErrorCode() . '"'; } } else { $out .= '{"msg":"' . $perr . '","ce":"' . $processErrors[$i]->getErrorCode() . '"'; } $out .= '}'; if ($i < $count - 1) { $out .= ','; } } $out .= ']'; } } } // Si tiene parametros de salida los agregamos antres de la data. $outParams =& $outMessage->getOutputparameters(); if (is_array($outParams)) { foreach ($outParams as $i => $value) { $out .= ',' . $i . ':' . $value; } } // Procesamos la data $data = $outMessage->getResultData(); if (isset($data)) { $out .= ',"data":'; $this->_processExtraData($outMessage->getResultData()); $out .= json_encode(TSLUtilsHelper::array_ut8_encode_recursive($outMessage->getResultData())); } $out = '{' . $out . '}'; return $out; } else { $out = '?????????????????'; return $out; } }
/** * Agrega un registro a la persistencia. * * @param \TSLIDataTransferObj $dto EL DATA TRANSFER OBJECT contendra todos los * datos requeridos del registro a agregar, se espera como parte de los parametros * los datos a usarse para crear el modelo a actualizar. * * Ya sea en caso de error o no , la respuesta estara contenida en el DTO. * * @see \TSLIBasicRecordDAO * @see \TSLBasicRecordDAO */ private function add(\TSLIDataTransferObj $dto) { // Obtengo referencia a los constraints $constraints =& $dto->getConstraints(); // el modelo $model =& $this->getModelToAdd($dto); /* @var $outMessage TSLOutMessage */ $outMessage =& $dto->getOutMessage(); $tmg = NULL; try { $tmg = \TSLTrxFactoryManager::instance()->getTrxManager(); $tmg->init(); /* @var $dao \TSLIBasicRecordDAO */ $dao = \TSLDAOLoaderHelper::loadDAO($this->IdDAOName); /* @var $ret string */ $ret = $dao->add($model, $constraints); $CI =& get_instance(); if ($ret === DB_ERR_ALLOK) { $outMessage->setSuccess(true); // El resultado es el modelo mismo con los datos pero el campo de version modificado. $outMessage->setResultData($model); } else { if ($ret == DB_ERR_RECORDEXIST) { $outMessage->setSuccess(false); // El resultado es el modelo mismo con los datos del registro modificados $outMessage->setResultData($model); $CI->lang->load($this->IdMSGLanguage); $outMessage->setAnswerMessage($CI->lang->line($this->msgPrefix . '_rec_alreadyexist'), $ret); } else { if ($ret == DB_ERR_FOREIGNKEY) { $outMessage->setSuccess(false); $CI->lang->load($this->IdMSGLanguage); $outMessage->setAnswerMessage($CI->lang->line($this->msgPrefix . '_rec_foreignkey_add'), $ret); } else { $CI->lang->load($this->IdMSGLanguage); $outMessage->setSuccess(false); // Si es iactivo enviamos el mensaje respectivo if ($ret == DB_ERR_RECORDINACTIVE) { $outMessage->setAnswerMessage($CI->lang->line($this->msgPrefix . '_rec_inactivo'), $ret); } else { $outMessage->setAnswerMessage($CI->lang->line($this->msgPrefix . '_servererror'), $ret); } } } } } catch (\Exception $ex) { // Coloco la excepcion en el DTO. // TODO: Internacionalizar. $processError = new \TSLProcessErrorMessage($ex->getCode(), 'Error Interno', $ex); $outMessage->addProcessError($processError); } if ($tmg !== NULL) { $tmg->end(); } }
/** * Genera la salida en JSON. * * @param TSLIDataTransferObj con el Data Transfer Object a procesar * @return un String con el DTO en formato JSON */ public function &process(TSLIDataTransferObj &$DTO) { $out = NULL; if (isset($DTO)) { /* @var $outMessage TSLOutMessage */ $outMessage =& $DTO->getOutMessage(); if (strlen($outMessage->getAnswerMesage()) > 0) { // STATUS_OK = 0 $out = 'status:-1'; $out .= ',error:"' . $outMessage->getAnswerMesage() . '- Cod.Error: ' . $outMessage->getErrorCode() . '"'; } if ($outMessage->isSuccess() == FALSE) { if ($outMessage->hasProcessErrors()) { // STATUS_FAILURE = -1 $out = 'status:-1'; $processErrors =& $outMessage->getProcessErrors(); // Si ya tiene longitud , ponemos una coma para indicar // un nuevo elemento. if (isset($out) and strlen($out) > 0) { $out .= ','; } // la lista de process errors. $out .= 'error:'; $count = count($processErrors); for ($i = 0; $i < $count; $i++) { if ($i > 0) { $out .= '\\n'; } $out .= '"'; $perr = str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $processErrors[$i]->getErrorMessage()); // Si tiene excepcion procesamos. $ex = $processErrors[$i]->getException(); if (isset($ex)) { if (isset($perr)) { $out .= $perr . ' - ' . str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . ' ** CodError = ' . $processErrors[$i]->getErrorCode(); } else { $out .= str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . ' ** CodError =' . $processErrors[$i]->getErrorCode(); } } else { $out .= $perr . ' ** CodError =' . $processErrors[$i]->getErrorCode(); } $out .= '"'; if ($i < $count - 1) { $out .= ','; } } $out .= ''; } } else { // STATUS_OK = 0 $out = 'status:0'; } // Si no hay errores de proceso evaluamos la data if ($outMessage->hasProcessErrors() == FALSE && strlen($outMessage->getAnswerMesage()) == 0) { // Procesamos la data $data = $outMessage->getResultData(); if (isset($data)) { $prefixArray = '['; $count = 0; $out .= ',seriesTitles:['; foreach ($data as $row) { if ($count == 0) { $out .= '"' . $row['records_tipo_descripcion']; $out .= '"]'; $out .= ',prueba:"' . $data[0]['apppruebas_descripcion'] . '"'; $out .= ',um:"' . $data[0]['unidad_medida_codigo'] . '"'; $out .= ',seriesData:['; } $count++; $out .= $prefixArray . '{atleta:"' . $row['atletas_nombre_completo'] . '",'; $out .= 'lugar:"' . $row['lugar'] . '",'; $out .= 'comentario:"' . $row['comentario'] . '",'; $out .= 'fecha:"' . $row['competencias_pruebas_fecha'] . '",'; $out .= 'tresultado:"' . $row['norm_resultado'] . '",'; $out .= 'nresultado: ' . $row['numb_resultado'] . ','; $out .= 'manual:"' . $row['competencias_pruebas_manual'] . '",'; $out .= 'altura:"' . $row['ciudades_altura'] . '"}'; $prefixArray = ','; } if ($count > 0) { $out .= ']]'; } else { $out .= ']'; } } else { if ($out == NULL) { // STATUS_OK = 0 $out = 'status:-1'; $out .= ',error:"Error Desconocido"'; } } } $out = '{response:{' . $out . '}}'; return $out; } else { $out = '?????????????????'; return $out; } }
protected final function validateInputData(TSLIDataTransferObj $DTO, $langId, $validationId, $validationGroupId, $validationRulesId) { // IMPORTANTE , solo funciona si hay POST data!!!! $this->lang->load($langId); // Load validations rules from an own validation file $this->load->config('validation/' . $validationId); $rules = $this->config->item($validationGroupId); // cargamos la libreria de validacion $this->load->library('form_validation'); // Ejecutar validacion. $this->form_validation->set_error_delimiters('', ''); $this->form_validation->set_rules($rules[$validationRulesId]); // Si hay errores se agregan al DTO if ($this->form_validation->run() === FALSE) { $outMsg = $DTO->getOutMessage(); $flderrs = $rules[$validationRulesId]; $count = count($flderrs); for ($i = 0; $i < $count; $i++) { $currentErrorMsg = $this->form_validation->error($flderrs[$i]['field']); // Solo agregamos el error si existe un mensaje de error if (isset($currentErrorMsg) && strlen($currentErrorMsg) > 0) { // Crea el error de campo y lo agrega al mensaje de salida. $fldError = new TSLFieldErrorMessage($flderrs[$i]['field'], $this->form_validation->error($flderrs[$i]['field'])); $outMsg->addFieldError($fldError); unset($fldError); } unset($currentErrorMsg); } unset($flderrs); return FALSE; } return TRUE; }
/** * Genera la salida en JSON. * * @param TSLIDataTransferObj con el Data Transfer Object a procesar * @return un String con el DTO en formato JSON */ public function &process(TSLIDataTransferObj &$DTO) { $out = NULL; if (isset($DTO)) { /* @var $outMessage TSLOutMessage */ $outMessage =& $DTO->getOutMessage(); if (strlen($outMessage->getAnswerMesage()) > 0) { // STATUS_OK = 0 $out = 'status:-1'; $out .= ',data:"' . $outMessage->getAnswerMesage() . '- Cod.Error: ' . $outMessage->getErrorCode() . '"'; } if ($outMessage->isSuccess() == FALSE) { if ($outMessage->hasFieldErrors()) { // VALIDATION ERRORS $out = 'status:"-4"'; $fldErrors =& $outMessage->getFieldErrors(); // Si ya tiene longitud , ponemos una coma para indicar // un nuevo elemento. if (isset($out) and strlen($out) > 0) { $out .= ','; } // la lista de field errors. $out .= '"errors":{'; $count = count($fldErrors); for ($i = 0; $i < $count; $i++) { $out .= $fldErrors[$i]->getField() . ':"' . $fldErrors[$i]->getErrorMessage() . '"'; if ($i < $count - 1) { $out .= ','; } } $out .= '}'; } else { if ($outMessage->hasProcessErrors()) { // STATUS_FAILURE = -1 $out = 'status:-1'; $processErrors =& $outMessage->getProcessErrors(); // Si ya tiene longitud , ponemos una coma para indicar // un nuevo elemento. if (isset($out) and strlen($out) > 0) { $out .= ','; } // la lista de process errors. $out .= 'data:'; $count = count($processErrors); for ($i = 0; $i < $count; $i++) { if ($i > 0) { $out .= '\\n'; } $out .= '"'; $perr = str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $processErrors[$i]->getErrorMessage()); // Si tiene excepcion procesamos. $ex = $processErrors[$i]->getException(); if (isset($ex)) { if (isset($perr)) { $out .= $perr . ' - ' . str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . ' ** CodError = ' . $processErrors[$i]->getErrorCode(); } else { $out .= str_replace(array("\"", "\r", "\n", "\r\n"), ' ', $ex->getMessage()) . ' ** CodError =' . $processErrors[$i]->getErrorCode(); } } else { $out .= $perr . ' ** CodError =' . $processErrors[$i]->getErrorCode(); } $out .= '"'; if ($i < $count - 1) { $out .= ','; } } $out .= ''; } } } else { // STATUS_OK = 0 $out = 'status:0'; } // Si tiene parametros de salida los agregamos antres de la data. $outParams =& $outMessage->getOutputparameters(); if (is_array($outParams)) { foreach ($outParams as $i => $value) { $out .= ',' . $i . ':' . $value; } } // Si no hay errores de proceso evaluamos la data if ($outMessage->hasProcessErrors() == FALSE && strlen($outMessage->getAnswerMesage()) == 0) { $oneRecord = false; // Procesamos la data $data = $outMessage->getResultData(); if (isset($data)) { // Si no es un arreglo solo posee un registro if (!is_array($data)) { $oneRecord = true; } $out .= ',data:'; $this->_processExtraData($outMessage->getResultData()); $dataResults = TSLUtilsHelper::array_ut8_encode_recursive($outMessage->getResultData()); $out .= json_encode($dataResults); // Numero de registros = al numero de registros leidos + la posicion inicial en el set // siempre que haya mas de una respuesta $constraints =& $DTO->getConstraints(); if ($oneRecord === FALSE) { $numRecords = $constraints->getStartRow() + count($dataResults); } else { $numRecords = 1; } // SE hace de tal forma que si no es el ultimo registro osea numRecords es menor a la ultima fila solicitada // Ponemos como el total de registros una pagina mas (esto para evitar hacer un count) $out .= ',endRow : "' . $numRecords . '"'; $out .= ',totalRows: "' . ($numRecords < $constraints->getEndRow() || $constraints->getEndRow() == 0 ? $numRecords : $constraints->getEndRow() + ($constraints->getEndRow() - $constraints->getStartRow())) . '"'; // $out .= ',totalRows: "'. ( $numRecords < 1000 ? ($numRecords) : 1000 + (1000 - $constraints->getStartRow())) .'"'; } else { if ($out == NULL) { // STATUS_OK = 0 $out = 'status:-1'; $out .= ',data:"Error Desconocido"'; } } } $out = '{response:{' . $out . '}}'; return $out; } else { $out = '?????????????????'; return $out; } }