Saludos comunidad,
Les cuento mi problema, resulta que tengo tengo una acción create para que al crear un usuario, encripte en MD5 su contraseña
public function actionCreate() {
$model = new Usuario('create');
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Usuario'])) {
$model->attributes = $_POST['Usuario'];
$model->password = md5($model->password); //Encriptar en MD5
if ($model->save()) {
$this->redirect(array('view', 'id' => $model->fun_id));
}
}
$this->render('create', array(
'model' => $model,
));
}
Todo está funcionando perfecto, el problema viene cuando quiero actualizar el usuario, ya que l textField que contiene el password, en primer lugar, encriptaba lo que ya estaba enscriptado (ESTO YA ESTA SOLUCIONADO), el problema que me queda, es que en el textField muestra toda la contraseña encriptada, por lo que busco, o mostrar la contraseña desencriptada, o mostrar el textField vacío, y si está vacío, que tome la pass de la DB y no guarde una nueva. Pero al poner algo como $model->password, me toma otro valor. Lo que tengo es lo siguiente.
public function actionUpdate($id) {
$model = $this->loadModel($id);
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Usuario'])) {
$old_pswd = $model->fun_password;
$model->attributes = $_POST['Usuario'];
if($model->password != $old_pswd)
$model->password = md5($model->password); //Encriptar en MD5
else
$model->password = $old_pswd;
if ($model->save()) {
$this->redirect(array('view', 'id' => $model->fun_id));
}
}
$this->render('update', array(
'model' => $model,
));
}
como lo podría solucionar?
Saludos!