set_charset("utf8"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } return $conn; } //CREAR UNA NUEVA TABLA public function createDB($tbl, $clmn, $long){ $conn = $this->connectDB(); $sql = 'CREATE TABLE IF NOT EXISTS '.$tbl.'('.$clmn.' VARCHAR('.$long.') NOT NULL) DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;'; if ($conn->query($sql) !== TRUE) { echo "Error creating database: " . $conn->error; //echo "Database created successfully"; } $conn->close(); return true; } //INSERTAR DATOS EN LA TABLA public function insertDB($tbl, $clmn, $value){ $conn = $this->connectDB(); $sql = 'INSERT INTO '.$tbl.'('.$clmn.') values("'.$value.'")'; if ($conn->query($sql) !== TRUE) { echo "Error: " . $sql . "
" . $conn->error; //echo "New record created successfully"; } $conn->close(); return true; } //VERIFICAR SI ES NUMERICO O STRING public function checkBD($tbl, $columna){ $tipo = 0; $sql = 'SELECT SUM('.$columna.') AS total FROM '.$tbl; $total = Yii::app()->db->createCommand($sql)->queryScalar(); if($total > 0){ $tipo = 1; } return $tipo; } //VERIFICA SI YA EXISTE LA BD public function existsBD($tbl){ $conn = $this->connectDB(); $return = 0; $sql = 'SHOW TABLES LIKE '.$tbl; if ($result = $conn->query($sql)) { $return = $result->num_rows; } $conn->close(); return $return; } //ELIMINAR TABLA DE LA BD public function deleteBD($tbl){ $return = false; $conn = $this->connectDB(); $consulta = "DROP TABLE ".$tbl; $resultado = $conn -> query($consulta); if ($resultado){ $return = true; } $conn->close(); return $return; } //mostrar tablas de la BD public function get_tables(){ $tableList = array(); $conn = $this->connectDB(); $res = mysqli_query($conn,"SHOW TABLES"); while($cRow = mysqli_fetch_array($res)){ $tableList[] = $cRow[0]; } return $tableList; } /******************************** MIS FUNCIONES ****************************************/ public function cortarString($string, $largo){ $marca = ""; if (strlen($string) > $largo){ $string = wordwrap($string, $largo, $marca); $string = explode($marca, $string); $string = $string[0]; return $string.'...'; }else{ return $string; } } public function saltosString($string, $largo){ $marca = "
"; $string = wordwrap($string, $largo, $marca); return $string; } function invFecha($fecha){ $arrFecha=explode('-',$fecha); return implode('-',array_reverse($arrFecha)); } public function listaCategorias(){ $model = Categorias::model()->findAll(array("condition"=>"activo = 1 and parent_id IS NULL", "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_categoria] = $item->nombre; } return $returnArr; } public function listaSubcategorias($id){ $model = Categorias::model()->findAll(array("condition"=>"activo = 1 and parent_id = ".$id, "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_categoria] = $item->nombre; } return $returnArr; } public function listaBaseCategorias($id){ $modelCategorias = BasesCategorias::model()->findAll(array('condition'=>'id_base_encuesta = '.$id)); $returnArr = array(); foreach($modelCategorias as $item){ $model = Categorias::model()->findByPk($item->id_categoria); $returnArr[$model->id_categoria] = $model->nombre; } return $returnArr; } public function listaTiposDocumentos(){ $model = TiposDocumentos::model()->findAll(); $returnArr = array(); foreach($model as $item){ //$returnArr[$item->id_tipo_documento] = $item->nombre; if($item->activo == 1) $returnArr[$item->id_tipo_documento] = $item->nombre; } return $returnArr; } public function listaColaboradores(){ /* $model = Colaboladores::model()->findAll(array('condition' => 'activo = 1', 'order' => 'nombre_completo ASC')); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_colaborador] = $item->nombre_completo; } return $returnArr; */ $model = Colaboladores::model()->findAll(array('condition' => 'activo = 1', 'order' => 'nombre_completo ASC')); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_colaborador] = array($item->nombre_completo,$item->puesto); // $returnArr[$item->id_colaborador] = $item->nombre_completo; } return $returnArr; } public function listaImagenesColaboradores(){ $model = Colaboladores::model()->findAll(array('condition' => 'activo = 1', 'order' => 'nombre_completo ASC')); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_colaborador] = $item->imagen; } return $returnArr; } public function connectDBBDD(){ $servername = "localhost"; $username = "root"; $password = "PkJXPQFykKLmS3cWhqmZKNYE"; $dbname = "PPD"; $conn = new mysqli($servername, $username, $password, $dbname); $conn->set_charset("utf8"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } return $conn; return 2; } public function readtableDB2($tbl){ $conn = $this->connectDBBDD(); $res = mysqli_query($conn,"SELECT * FROM ".$tbl.";"); $info = array(); while($cRow = mysqli_fetch_array($res)){ $info[$cRow[0]] = $cRow[2]; } $conn->close(); //echo "
";print_r($info);echo "
"; return $info; } public function readtableDB3(){ $conn = $this->connectDBBDD(); $res = mysqli_query($conn,"SELECT * FROM tbl_colaboladores;"); $info = array(); while($cRow = mysqli_fetch_array($res)){ $info[$cRow[0]] = $cRow[12]; } $conn->close(); //echo "
";print_r($info);echo "
"; return $info; } public function listaTipoArchivos(){ $model = TiposArchivos::model()->findAll(); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_tipo_archivo] = $item->nombre; } return $returnArr; } public function eliminarHtml($cadena){ $return = strip_tags($cadena); return $return; } public function cleanText($text){ //$text = htmlentities($text); //$text = preg_replace('/\&(.)[^;]*;/', '\\1', $text); $text = $this->cleanString($text); $text = str_replace(' ', '_', $text); //$text = preg_replace('/[^A-Z0-9]+/i', '_', $text); $text = strtolower(trim($text, '_')); //$text = preg_replace('@[\s!:;_\?=\\\+\*/%&#]+@', '-', $text); return $text; } public function cleanColumns($text){ //$text = htmlentities($text); //$text = preg_replace('/\&(.)[^;]*;/', '\\1', $text); $text = $this->cleanString($text); $text = str_replace(' ', '_', $text); //$text = preg_replace('/[^A-Z0-9]+/i', '_', $text); $text = strtolower(trim($text, '_')); $text = str_replace('.', '_', $text); //$text = preg_replace('@[\s!:;_\?=\\\+\*/%&#]+@', '-', $text); return $text; } /** * Reemplaza todos los caracteres con acentos y tildes por sus equivalentes sin ellos * * @param $string * string la cadena a limpiar * * @return $string * string limpia */ public function cleanString($string){ $string = trim($string); $string = str_replace( array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'), array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'), $string ); $string = str_replace( array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'), array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'), $string ); $string = str_replace( array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'), array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'), $string ); $string = str_replace( array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'), array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'), $string ); $string = str_replace( array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'), array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'), $string ); $string = str_replace( array('ñ', 'Ñ', 'ç', 'Ç'), array('n', 'N', 'c', 'C',), $string ); //eliminar cualquier caracter extraño $string = str_replace( array("\\", "¨", "º", "-", "~", "#", "@", "|", "!", "\"", "·", "$", "%", "&", "/", "(", ")", "?", "'", "¡", "¿", "[", "^", "`", "]", "+", "}", "{", "¨", "´", ">", "< ", ";", ",", ":", ), '', $string ); return $string; } //end function public function getEncuestaById($id){ $conn = $this->connectDBBDD(); $res = mysqli_query($conn, "SELECT * FROM tbl_bases_encuestas WHERE id_encuesta_base = ".$id.";"); $row = mysqli_fetch_array($res); $conn->close(); $encuesta_name = $row[1]; $descargable = $row['descargable']; $categoria = $this->getCategoriaFromEncuestas($id); return array($categoria[0], $categoria[1], $encuesta_name, $descargable); } public function getCategoriaFromEncuestas($id){ $conn = $this->connectDBBDD(); $res = mysqli_query($conn, "SELECT tbl_categorias.id_categoria, tbl_categorias.nombre FROM tbl_categorias, tbl_bases_categorias, tbl_bases_encuestas WHERE tbl_categorias.id_categoria = tbl_bases_categorias.id_categoria AND tbl_bases_categorias.id_base_encuesta = tbl_bases_encuestas.id_encuesta_base AND tbl_bases_encuestas.id_encuesta_base = ".$id.";"); $row = mysqli_fetch_array($res); $conn->close(); return array($row['id_categoria'], $row['nombre']); } public function checkIfTableExist($tbl){ $conn = $this->connectDBBDD(); if(mysqli_num_rows(mysqli_query($conn, "SHOW TABLES LIKE '".$tbl."'"))==1) return true; else return false; } } ?>