public function authenticate()
 {
     // Special case for admin account
     if ($this->username == 'ccplus1') {
         $model = Meta::model()->findByAttributes(array('field' => 'adminpass'));
         if ($this->password == $model->value) {
             $this->errorCode = self::ERROR_NONE;
         } else {
             $this->errorCode = self::ERROR_PASSWORD_INVALID;
         }
     } else {
         $user = Customer::model()->findByAttributes(array('billogin' => $this->username));
         if ($user === null) {
             $this->errorCode = self::ERROR_USERNAME_INVALID;
         } else {
             if ($user->bilpass !== $this->password) {
                 $this->errorCode = self::ERROR_PASSWORD_INVALID;
             } else {
                 $this->_id = $user->bilkey;
                 $this->errorCode = self::ERROR_NONE;
             }
         }
     }
     return !$this->errorCode;
 }
Example #2
0
 
			<?php 
echo $form->error($model, 'ciudad_id');
?>
		</div>
	</div>
	<div class="control-group">
		<?php 
echo $form->label($model, 'barrio_id', array('class' => 'control-label'));
?>
		<div class="controls <?php 
echo $model->isAttributeRequired('barrio_id') ? 'required' : '';
?>
">
			<?php 
echo $form->dropDownList($model, 'barrio_id', CHtml::listData(Meta::model()->findAllByAttributes(array('parent_id' => 85)), 'id', 'nombre'), array('prompt' => 'Selecciona un barrio de Medellín', 'disabled' => $model->ciudad_id == 835 ? false : true));
?>
 
			<?php 
echo $form->error($model, 'barrio_id');
?>
		</div>
	</div>
	<div class="control-group">
		<?php 
echo $form->label($model, 'cableoperador_id', array('class' => 'control-label'));
?>
		<div class="controls <?php 
echo $model->isAttributeRequired('cableoperador_id') ? 'required' : '';
?>
">
Example #3
0
 public function guardar_datos_usuario($usuario_cruge, $datos_usuario)
 {
     if ($usuario_cruge == null || $usuario_cruge == false) {
         return false;
     }
     $u = Usuario::model()->findByAttributes(array('cruge_user_id' => $usuario_cruge->iduser));
     //if( $u ) return $u;
     try {
         if (isset($datos_usuario->anio)) {
             $nacimiento = $datos_usuario->anio . '-' . $datos_usuario->mes . '-' . $datos_usuario->dia;
         } elseif (isset($datos_usuario->nacimiento)) {
             $nacimiento = date('Y-m-d', strtotime($datos_usuario->nacimiento));
         }
         if (strlen($datos_usuario->sexo) > 1) {
             $datos_usuario->sexo = $datos_usuario->sexo == 'female' ? 'F' : 'M';
         }
         $this->cruge_user_id = $usuario_cruge->primaryKey;
         if (isset($datos_usuario->nombres)) {
             $this->nombres = $datos_usuario->nombres;
         }
         if (isset($datos_usuario->apellidos)) {
             $this->apellidos = $datos_usuario->apellidos;
         }
         if (isset($datos_usuario->sexo)) {
             $this->sexo = $datos_usuario->sexo;
         }
         if (isset($datos_usuario->tipo_documento)) {
             $this->tipo_documento = $datos_usuario->tipo_documento;
         }
         if (isset($datos_usuario->documento)) {
             $this->documento = $datos_usuario->documento;
         }
         if (isset($nacimiento)) {
             $this->nacimiento = $nacimiento;
         }
         if (isset($datos_usuario->nivel_educacion_id)) {
             $this->nivel_educacion_id = $datos_usuario->nivel_educacion_id;
         }
         if (isset($datos_usuario->ocupacion_id)) {
             $this->ocupacion_id = $datos_usuario->ocupacion_id;
         }
         if (isset($datos_usuario->telefono_fijo)) {
             $this->telefono_fijo = $datos_usuario->telefono_fijo;
         }
         if (isset($datos_usuario->celular)) {
             $this->celular = $datos_usuario->celular;
         }
         if (isset($datos_usuario->pais_id)) {
             $this->pais_id = $datos_usuario->pais_id;
         }
         if (isset($datos_usuario->region_id)) {
             $this->region_id = $datos_usuario->region_id;
         }
         if (isset($datos_usuario->ciudad_id)) {
             $this->ciudad_id = $datos_usuario->ciudad_id;
         }
         if (isset($datos_usuario->barrio_id)) {
             $this->barrio_id = $datos_usuario->barrio_id;
         }
         if (isset($datos->cableoperador_id)) {
             $this->cableoperador_id = $datos_usuario->cableoperador_id;
         }
         if ($this->save(false)) {
             $datosMC = array('MERGE1' => $datos_usuario->nombres, 'MERGE2' => $datos_usuario->apellidos, 'MERGE3' => $datos_usuario->sexo, 'MERGE4' => Meta::model()->findByPk($datos_usuario->tipo_documento)->nombre, 'MERGE5' => $datos_usuario->documento, 'MERGE6' => date('m/d', strtotime($nacimiento)), 'MERGE10' => Meta::model()->findByPk($datos_usuario->nivel_educacion_id)->nombre, 'MERGE11' => Meta::model()->findByPk($datos_usuario->ocupacion_id)->nombre, 'MERGE7' => $datos_usuario->telefono_fijo, 'MERGE8' => $datos_usuario->celular, 'MERGE9' => Meta::model()->findByPk($datos_usuario->barrio_id)->nombre);
             if (Yii::app()->mailchimp->emailExists($usuario_cruge->email)) {
                 $mc_response = Yii::app()->mailchimp->listUpdateMember($usuario_cruge->email, $datosMC);
                 Yii::log('mailchimp->listUpdateMember: ' . serialize($mc_response), 'info');
             } else {
                 $mc_response = Yii::app()->mailchimp->listSubscribe($usuario_cruge->email, $datosMC, false);
                 Yii::log('mailchimp->listSubscribe: ' . serialize($mc_response), 'info');
             }
             return $this->getPrimaryKey();
         } else {
             throw new Exception("El usuario {$usuario_cruge->email} no se pudo almacenar totalmente");
         }
     } catch (Exception $e) {
         Yii::log(PHP_EOL . '<--->' . PHP_EOL . $e->getMessage() . PHP_EOL, 'warning');
         return false;
     }
 }
 public function actionFronteditor()
 {
     $this->layout = 'admin';
     $model = Meta::model()->findByAttributes(array('field' => 'frontpage'));
     if (isset($_POST['submit'])) {
         $model->value = $_POST['value'];
         $model->update();
     }
     $this->render('fronteditor', array('value' => $model->value));
 }
 protected function loadExistModel()
 {
     return Meta::model()->findByPk($this->getOwner()->metaId);
 }
 public function actionImportarusuarios()
 {
     //Guardo la conexión a la base de datos
     $conexion = Yii::app()->db;
     //Creo una tabla temporal para almacenar los datos que vienen de Mailchimp
     $tabla_temporal = "\n\t\tCREATE TEMPORARY TABLE tmp (\n\t\t  email varchar(45) DEFAULT NULL,\n\t\t  nombres varchar(100) DEFAULT NULL,\n\t\t  apellidos varchar(100) DEFAULT NULL,\n\t\t  sexo varchar(1) DEFAULT NULL,\n\t\t  tipo_documento varchar(45) DEFAULT NULL,\n\t\t  documento varchar(10) DEFAULT NULL,\n\t\t  nivel_educacion_id varchar(45) DEFAULT NULL,\n\t\t  ocupacion_id varchar(45) DEFAULT NULL,\n\t\t  telefono_fijo varchar(15) DEFAULT NULL,\n\t\t  celular varchar(10) DEFAULT NULL,\n\t\t  barrio_id varchar(45) DEFAULT NULL\n\t\t)DEFAULT CHARSET=utf8;\n\t\t";
     $conexion->createCommand($tabla_temporal)->execute();
     /**/
     //Cargo los datos del csv de Mailchimp a la tabla temporal, puedo probar la función de MySQL o PHP
     $dump = "\n\t\tLOAD DATA LOCAL INFILE '/home4/med2018/test1.csv' \n\t\tINTO TABLE tmp \n\t\tFIELDS TERMINATED BY ';' ENCLOSED BY '\"'\n\t\tLINES TERMINATED BY '\n'\n\t\tIGNORE 2 ROWS \n\t\t(\n\t\t\temail, \n\t\t\tnombres, \n\t\t\tapellidos, \n\t\t\tsexo, \n\t\t\ttipo_documento, \n\t\t\tdocumento, \n\t\t\tnivel_educacion_id,\n\t\t\tocupacion_id,\n\t\t\ttelefono_fijo, \n\t\t\tcelular, \n\t\t\tbarrio_id\n\t\t);\n\t\t";
     $conexion->createCommand($dump)->execute();
     //Consulto los datos de la tabla temporal
     $select = "\n\t\tSELECT * FROM tmp;\n\t\t";
     $tmp_result = $conexion->createCommand($select)->queryAll();
     echo 'Iniciando la creación de perfiles' . PHP_EOL;
     echo "\n\r";
     //Por cada fila registro un usuario de Cruge
     foreach ($tmp_result as $row) {
         $usuario = new Usuario('insert');
         echo 'Registrando el usuario en cruge con el correo ' . $row['email'] . PHP_EOL;
         $usuario_cruge = $usuario->registrar_usuario_cruge($row['email']);
         if (!$usuario_cruge) {
             echo 'Ocurrió un error registrando el correo ' . $row['email'] . PHP_EOL;
             break;
         }
         //Normalizo los datos cambiandolos por los id respectivos
         $tipo_documento = CHtml::listData(Meta::model()->findAllByAttributes(array('parent_id' => 1)), 'id', 'nombre');
         $nivel_educacion = CHtml::listData(Meta::model()->findAllByAttributes(array('parent_id' => 2)), 'id', 'nombre');
         $ocupacion = CHtml::listData(Meta::model()->findAllByAttributes(array('parent_id' => 3)), 'id', 'nombre');
         $barrio = CHtml::listData(Meta::model()->findAllByAttributes(array('parent_id' => 85)), 'id', 'nombre');
         $barrio = array_map('strtolower', $barrio);
         if ($td = array_search($row['tipo_documento'], $tipo_documento)) {
             $row['tipo_documento'] = $td;
         }
         if ($ne = array_search($row['nivel_educacion_id'], $nivel_educacion)) {
             $row['nivel_educacion_id'] = $ne;
         }
         if ($o = array_search($row['ocupacion_id'], $ocupacion)) {
             $row['ocupacion_id'] = $o;
         }
         if ($b = array_search(strtolower(trim($row['barrio_id'])), $barrio)) {
             if ($b > 0) {
                 $row['pais_id'] = 97;
                 $row['region_id'] = 79;
                 $row['ciudad_id'] = 4080;
                 $row['barrio_id'] = $b;
             }
         }
         $fieldmap = array('nombres' => 'nombres', 'apellidos' => 'apellidos', 'sexo' => 'sexo', 'tipo_documento' => 'tipo_documento', 'documento' => 'documento', 'nivel_educacion_id' => 'nivel_educacion_id', 'ocupacion_id' => 'ocupacion_id', 'telefono_fijo' => 'telefono_fijo', 'celular' => 'celular', 'pais_id' => 'pais_id', 'region_id' => 'region_id', 'ciudad_id' => 'ciudad_id', 'barrio_id' => 'barrio_id');
         $mapped_values = new stdClass();
         foreach ($fieldmap as $localfield => $remotefield) {
             $mapped_values->{$localfield} = '';
             if (isset($row[$remotefield])) {
                 $mapped_values->{$localfield} = $row[$remotefield];
             }
         }
         echo 'Guardando los datos del usuario ' . $row['email'] . PHP_EOL;
         print_r($mapped_values);
         echo PHP_EOL;
         $usuario_id = $usuario->guardar_datos_usuario($usuario_cruge, $mapped_values);
         if (!$usuario_id) {
             echo 'Ocurrió un error guardando los datos del usuario ' . $row['email'] . PHP_EOL;
             break;
         }
         Yii::app()->getModule('usuario')->crugemailer->crear_clave($usuario_cruge);
         echo 'Se guardó correctamente la información del usuario ' . $row['email'] . PHP_EOL;
         echo PHP_EOL;
         echo '<-------------------------------------------------->' . PHP_EOL;
         echo PHP_EOL;
         echo PHP_EOL;
     }
     $borrar_temporal = "DROP TEMPORARY TABLE IF EXISTS tmp;";
     $conexion->createCommand($borrar_temporal)->execute();
 }