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; }
<?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' : ''; ?> ">
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(); }