From 7c33ae00002edd46b787d6b44de3a787b4c92f6b Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Wed, 4 May 2005 15:46:29 +0000 Subject: [PATCH] =?utf8?q?Se=20agrega=20el=20upload=20de=20foto=20en=20la?= =?utf8?q?=20registraci=C3=B3n=20y=20se=20implementa=20una=20versi=C3=B3n?= =?utf8?q?=20preliminar=20de=20Usuario::toHtml()=20que=20muestra=20la=20fo?= =?utf8?q?to.=20Se=20usa=20en=20la=20p=C3=A1gina=20de=20entrada=20de=20eje?= =?utf8?q?mplo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/admin.asociarse.php | 17 ++++++++++++----- src/admin.logged.php | 2 +- src/lib/Usuario.php | 12 ++++++++++-- src/lib/admin.forms.php | 9 +++++++-- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/admin.asociarse.php b/src/admin.asociarse.php index c888bfe..0d50bb5 100644 --- a/src/admin.asociarse.php +++ b/src/admin.asociarse.php @@ -17,20 +17,26 @@ pagina_cabecera('Asociarse'); // Si me llegó el form completo if (isset($_POST['admin_id']) and isset($_POST['admin_pass1']) - and isset($_POST['admin_pass1']) and isset($_POST['admin_email'])) + and isset($_POST['admin_pass1']) and isset($_POST['admin_email']) + and isset($_FILES['admin_foto'])) { // Chequeamos si debe ser administrador $admin = Usuario::checkAdmins() ? false : true; + // Validamos el formulario if (check_min_max_cant($_POST['admin_pass1'], 'Contraseña', 5, 20) and check_min_max_cant($_POST['admin_pass2'], 'Contraseña', 5, 20) and check_iguales($_POST['admin_pass1'], $_POST['admin_pass2'], - 'Contraseña') and check_email($_POST['admin_email'], 'E-Mail')) + 'Contraseña') and check_email($_POST['admin_email'], 'E-Mail') + and check_file_upload($_FILES['admin_foto'], 'La foto', + array('image/png', 'image/jpeg', 'image/gif'))) { if ($usr = Usuario::asociar($_POST['admin_id'], - $_POST['admin_pass1'], $_POST['admin_email'], $admin)) + $_POST['admin_pass1'], $_POST['admin_email'], + $_FILES['admin_foto']['tmp_name'], $admin)) { error($usr); // Hubo un error al trata de asociar al usuario. - admin_form_asociarse($admin, $_POST['admin_id'], $_POST['admin_email']); + admin_form_asociarse($admin, $_POST['admin_id'], + $_POST['admin_email'], $_FILES['admin_foto']['name']); } else // Se asoció bien el usuario. { @@ -40,7 +46,8 @@ if (isset($_POST['admin_id']) and isset($_POST['admin_pass1']) } else // No validan algunos campos, muestro el formulario de nuevo { - admin_form_asociarse($admin, $_POST['admin_id'], $_POST['admin_email']); + admin_form_asociarse($admin, $_POST['admin_id'], $_POST['admin_email'], + $_FILES['admin_foto']['name']); } } else // Si no me viene el form, se lo muestro diff --git a/src/admin.logged.php b/src/admin.logged.php index c58a3a8..04f29af 100644 --- a/src/admin.logged.php +++ b/src/admin.logged.php @@ -12,7 +12,7 @@ require_once 'lib/pagina.php'; pagina_check_login(); pagina_cabecera(); -ok('Hola Mundo!'); +ok('Hola '.$_SESSION['user']->toHtml().'!'); printf('ID: %s
', $_SESSION['user']->getId()); printf('Nombre: %s
', $_SESSION['user']->getNombre()); printf('Apellido: %s
', $_SESSION['user']->getApellido()); diff --git a/src/lib/Usuario.php b/src/lib/Usuario.php index 181feb6..415d22e 100644 --- a/src/lib/Usuario.php +++ b/src/lib/Usuario.php @@ -68,6 +68,11 @@ class Usuario return $d[1]; } + function getFotoFilename() + { + return 'fotos/'.$this->_id; + } + function esAdmin() { return file_admins_es_admin($this->_id); @@ -86,7 +91,8 @@ class Usuario */ function toHTML() { - return 'FALTA IMPLEMENTAR! Hay que poner la Foto. ID = ' . $this->_id; + return sprintf('Foto de %s %s', + $this->getFotoFilename(), $this->getNombre(), $this->getNombre()); } /** @@ -118,8 +124,9 @@ class Usuario * @return mixed Si hubo error, retorna un string con el error, si no retorna ''. * @static */ - function asociar($id, $pass, $email, $admin = false) + function asociar($id, $pass, $email, $foto, $admin = false) { + $ase = false; if (!file_int_get($id) and !($ase = file_ase_get($id))) return 'El número de registro no existe! No se puede asociar al grupo!'; if (@file_users_get($id)) @@ -138,6 +145,7 @@ class Usuario if (!file_creditos_crear($id)) return 'No se pudo crear el archivo de créditos!'; } + if (!copy($foto, "fotos/$id")) return 'No se pudo copiar la foto!'; return ''; } diff --git a/src/lib/admin.forms.php b/src/lib/admin.forms.php index 0669692..be68f9f 100644 --- a/src/lib/admin.forms.php +++ b/src/lib/admin.forms.php @@ -34,11 +34,12 @@ function admin_form_login($id = '')
+ method="post" onSubmit="return admin_validar_asociarse(this);" + enctype="multipart/form-data">