"; if (strlen($string) > $largo) { $string = wordwrap($string, $largo, $marca); $string = explode($marca, $string); $string = $string[0]; return $string.'...'; }else{ return $string; } } public function listaCategorias1($id){ if(!empty($id)){ $model = Categorias::model()->findAll(array("condition"=>"activo = 1 AND id_categoria <> ".$id, "order"=>"nombre ASC")); }else{ $model = Categorias::model()->findAll(array("condition"=>"activo = 1", "order"=>"nombre ASC")); } $returnArr = array(); foreach($model as $item){ $returnArr[$item->id_categoria] = $item->nombre; } return $returnArr; } 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 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 getNivelesCategorias(){ $niveles = array(); $criteria = new CDbCriteria; $criteria->select='t.nivel'; $criteria->condition = 'activo = 1'; $criteria->order = "nivel"; $criteria->distinct=true; //Apply To Model $model = Categorias::model()->findAll($criteria); foreach ($model as $nivel) { $niveles[] = $nivel->nivel; } return $niveles; } public function getCategoriasObs($nivel, $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; } 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; } 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; } /** * 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) { return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ', 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY'); } //end function /* public function categoriasRecursivo(){ //se declara la variable global $nivel para tener una referencia fuera de la función recursiva que indique el nivel de profundidad de subfamilia actual $nivel = ""; global $nivel; ///funcion recursiva que recorre el menu function recorrer_menu_familias($padre, $nivel_anterior){ //la consulta a la tabla familias busca los hijos del padre que entró como parametro a esta función $sql="SELECT id_familia, padre, nivel, nombre_es FROM familias WHERE padre = $padre"; $result=mysql_query($sql); while($row = mysql_fetch_array($result)){ if($GLOBALS['nivel']=="") //si la goblal nivel está vacia es que acaba de empecar el ciclo recursivo echo "
  • \n"; else{ //según la diferencia de nivel actual con el anterior guardada en $GLOBALS['nivel'] se cierran o abren etiquetas
  • $diferencia = $row['nivel'] - $GLOBALS['nivel']; if($diferencia==0) echo "
  • \n
  • \n"; //no ha cambiado de nivel de subfamilia respecto al anterior if($diferencia==1) echo "\n
  • \n"; //ha bajado un nivel de subfamilia respecto al anterior if($diferencia < (-1)){ //baja varios niveles de subfamilia respecto al anterior echo "
  • "; for($i=$diferencia;$i<0;$i++) echo "\n\n"; echo "
  • \n"; } } //crea el enlace echo "".$row['nombre_es'].""; //actualiza $GLOBALS['nivel'] al nivel actual $GLOBALS['nivel'] = $row['nivel']; //se llama a si mismo para comprovar quienes son los hijos de la familia actual recorrer_menu_familias($row['id_familia'],$row['nivel']); } } //muestra menu function muestra_menu_familias(){ recorrer_menu_familias(0, ""); echo "
  • \n"; for($i=0;$i==$GLOBALS['nivel'];$i++) echo "\n\n"; } }*/ /********************** BASES DE DATOS *******************************/ //CONECCION A LA BD public function connectDB(){ /*$servername = "localhost"; $username = "root"; $password = "PkJXPQFykKLmS3cWhqmZKNYE"; $dbname = "PPD";*/ $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ppd"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); $conn->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){ $conn = $this->connectDB(); $sql = 'CREATE TABLE IF NOT EXISTS '.$tbl.'('.$clmn.' VARCHAR(5) ) ROW_FORMAT=COMPRESSED;'; if ($conn->query($sql) !== TRUE) { echo "Error creating table: " . $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 insert into table ".$tbl.": ".$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; } } ?>