<?php class Funciones extends CApplicationComponent{ public $someconfig='somedefault'; public function init() { // Init this component } /******************************** MIS FUNCIONES ****************************************/ public function cutString($string, $largo){ if (strlen($string) > $largo) { $mString = substr(strip_tags(html_entity_decode($string)), 0, $largo); return $mString."..."; }else{ return strip_tags($string); } } public function cortarString($string, $largo){ $marca = "<!--corte-->"; 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 = "<br>"; $string = wordwrap($string, $largo, $marca); return $string; } function invFecha($fecha){ $arrFecha=explode('-',$fecha); return implode('-',array_reverse($arrFecha)); } public function listaCategoriasPub(){ $model = CategoriasPub::model()->findAll(array("condition"=>"activo = 1", "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id] = $item->nombre; } return $returnArr; } public function listaCategoriasProy(){ $model = CategoriasProy::model()->findAll(array("condition"=>"activo = 1", "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id] = $item->nombre; } return $returnArr; } public function listaCategoriasDes(){ $model = CategoriasDes::model()->findAll(array("condition"=>"activo = 1", "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id] = $item->nombre; } return $returnArr; } public function listaCategoriasInt(){ $model = CategoriasInt::model()->findAll(array("condition"=>"activo = 1", "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id] = $item->nombre; } return $returnArr; } public function listaIntegrantes($id){ $model = Integrantes::model()->findAll(array("condition"=>"activo = 1 AND id_categoria = ".$id, "order"=>"nombre ASC")); $returnArr = array(); foreach($model as $item){ $returnArr[$item->id] = $item->nombre; } return $returnArr; } public function IntegrantesContains($id, $word){ $model = Integrantes::model()->findByPk($id); $modelInfo = IntegrantesInfo::model()->findAll(array('condition'=>'id_integrante = '.$id)); if (strpos($model->info_cont, $word) !== false) return true; else return false; } 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 ultimasPublicaciones(){ $publicaciones = Publicaciones::model()->findAll(array('condition'=>'activo = 1', 'order'=> 'log DESC', 'limit'=>3)); $returnArr = array(); foreach($publicaciones as $item){ $returnArr[$item->id] = $item->titulo; } 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; } 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 getIgnoredValues($ejey, $tbl){ $if_snt = ""; $rtrn_val = ""; $dataReader = Yii::app()->db->createCommand('SELECT ignorar FROM enc_'.$tbl.' WHERE encabezado = "'.$ejey.'"')->query(); while(($row = $dataReader->read())!==false){ $informacion = $row["ignorar"]; } if(!empty($informacion)){ $ign_arr = explode(",", $informacion); foreach ($ign_arr as $key => $value) { $if_snt .= 'IF('.$ejey.' != "'.$value.'", '.$ejey.'*1,0) OR '; } $rtrn_val = substr($if_snt,0,-4); }else{ $rtrn_val = $ejey; }//end else return $rtrn_val; } } ?>