<?php


class Gestor extends CActiveRecord
{
	
	public function tableName()
	{
		return 'gestor';
	}

	public function rules()
	{
		
		return array(
			array('descripcion', 'required','on'=> 'create,update'),
                        array(
                                "descripcion",
                                "match",
                                "pattern" => "/^[a-zA-Z ñÑáéíóúüç]*$/",
                                "message"=>"Solo puede utilizar letras"
                            ),
                        array('descripcion','validar_create','on'=> 'create'),
                        array('descripcion','validar_update','on'=> 'update'), 
			array('descripcion', 'length', 'max'=>100),
			array('borrado', 'length', 'max'=>1),
			array('id_gestor, descripcion, borrado', 'safe', 'on'=>'search'),
		);
	}

	 public function validar_create($attributes,$params){
            $reg=Gestor::model()->find('LOWER(descripcion)=? and borrado="0"',array(strtolower(htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->descripcion))))))));
            if($reg != NULL){
                 $this->addError('descripcion','Gestor ya esta registrado en el sistema.'); 
            }
        }

        public function validar_update($attributes,$params){
            $reg=Gestor::model()->find('LOWER(descripcion)=? and borrado="0" and  id_gestor<>?',array(strtolower(htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->descripcion)))))),htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->id_gestor)))))));
            if($reg != NULL){
                 $this->addError('descripcion','Gestor ya esta registrado en el sistema.');
            }
        }
        
        
	public function relations()
	{
		return array(
		);
	}


	public function attributeLabels()
	{
		return array(
			'id_gestor' => 'ID',
			'descripcion' => 'Gestor',
			'borrado' => 'Borrado',
		);
	}


	public function search()
	{
		
		$criteria=new CDbCriteria;

		$criteria->compare('id_gestor',$this->id_gestor);
		$criteria->compare('LOWER(descripcion)',strtolower($this->descripcion),true);
		$criteria->compare('borrado',0,true);
		$sort = new CSort();
                $sort->defaultOrder = 'id_gestor DESC';
           
                return new CActiveDataProvider($this, array(
                    'criteria' => $criteria,
                    'pagination' => array(
                        'pageSize' => Yii::app()->user->getState('pageSize', Yii::app()->params['defaultPageSize']),
                    ),
                    'sort' => $sort,
                ));
	}

      
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
        
         public static function add() {
        $insert = Yii::app()->db->createCommand()->
                insert("gestor", array(
                "descripcion" =>$_POST['Gestor']['descripcion']!=NULL?Utility::mayuscula($_POST['Gestor']['descripcion']):'', 
                "borrado"=>"0"    
            ));
            return $insert;
        }
        
    public static function edit($id) {
        $update = Yii::app()->db->createCommand()->
            update("gestor", array(   
            "descripcion" =>$_POST['Gestor']['descripcion']!=NULL?Utility::mayuscula($_POST['Gestor']['descripcion']):'',  
            ), "id_gestor=$id");
        return $update;
    }
       public static function borrar($id) {
        $update = Yii::app()->db->createCommand()->
            update("gestor", array(   
            "borrado" =>'1',  
            ), "id_gestor=$id");
        return $update;
    }  
        
        public static function lista(){
            
            
             if(!empty($_SESSION['perfil'])and !empty($_SESSION['gestor'])  ){
                
                
               $lista=array($_SESSION['gestor']=>$_SESSION['nombre']);
                
                
                }else{
                    
                     
           $lista=  CHtml::listData(Gestor::model()->findAll(array("condition"=>"borrado=0","order"=>"descripcion")), 'id_gestor', 'descripcion');
           
                }
            
            
            
            
          
           
           
           
           return $lista;
        }
        
        
        
        
        public static function listaid($id){
           $lista=  CHtml::listData(Gestor::model()->findAll(array("condition"=>"id_gestor=$id  AND borrado=0  ","order"=>"descripcion")), 'id_gestor', 'descripcion');
           return $lista;
        }
        
        
        public static function descripcion($id){
           $descripcion='';
            if(!empty($id)){
            $row= Gestor::model()->find('id_gestor=?',array($id));
            if(!empty($row)){
               $descripcion=Utility::mayuscula($row->descripcion) ; 
            }
            }
           return $descripcion;  
       }
        
        public static function lista2(){
           $lista=Gestor::model()->findAll(array("condition"=>"borrado=0","order"=>"descripcion"));
           return $lista;
        }
        
        public static function lista3(){
           $lista=  CHtml::listData(Gestor::model()->findAll(array("condition"=>" borrado=0","order"=>"descripcion")), 'descripcion', 'descripcion');
           return $lista;
        }
        
}
