/** * Modificación perfil de usuario. * Metodo Obsoleto porque esto lo hacen en el dashboard */ public function edit() { $user = $_SESSION['user']; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $errors = array(); // E-mail if ($_POST['change_email']) { if (empty($_POST['user_nemail'])) { $errors['email'] = Text::get('error-user-email-empty'); } elseif (!\Goteo\Library\Check::mail($_POST['user_nemail'])) { $errors['email'] = Text::get('error-user-email-invalid'); } elseif (empty($_POST['user_remail'])) { $errors['email']['retry'] = Text::get('error-user-email-empty'); } elseif (strcmp($_POST['user_nemail'], $_POST['user_remail']) !== 0) { $errors['email']['retry'] = Text::get('error-user-email-confirm'); } else { $user->email = $_POST['user_nemail']; } } // Contraseña if ($_POST['change_password']) { /* * Quitamos esta verificacion porque los usuarios que acceden mediante servicio no tienen contraseña * if(empty($_POST['user_password'])) { $errors['password'] = Text::get('error-user-password-empty'); } else */ if (!Model\User::login($user->id, $_POST['user_password'])) { $errors['password'] = Text::get('error-user-wrong-password'); } elseif (empty($_POST['user_npassword'])) { $errors['password']['new'] = Text::get('error-user-password-empty'); } elseif (!\Goteo\Library\Check::password($_POST['user_npassword'])) { $errors['password']['new'] = Text::get('error-user-password-invalid'); } elseif (empty($_POST['user_rpassword'])) { $errors['password']['retry'] = Text::get('error-user-password-empty'); } elseif (strcmp($_POST['user_npassword'], $_POST['user_rpassword']) !== 0) { $errors['password']['retry'] = Text::get('error-user-password-confirm'); } else { $user->password = $_POST['user_npassword']; } } // Avatar if (!empty($_FILES['user_avatar']['name'])) { $user->avatar = $_FILES['user_avatar']; } // tratar si quitan la imagen if (!empty($_POST['avatar-' . $user->avatar->id . '-remove'])) { $user->avatar->remove('user'); $user->avatar = ''; } // Perfil público $user->name = $_POST['user_name']; $user->about = $_POST['user_about']; $user->keywords = $_POST['user_keywords']; $user->contribution = $_POST['user_contribution']; $user->twitter = $_POST['user_twitter']; $user->facebook = $_POST['user_facebook']; $user->linkedin = $_POST['user_linkedin']; // Intereses $user->interests = $_POST['user_interests']; // Páginas Web if (!empty($_POST['user_webs']['remove'])) { $user->webs = array('remove' => $_POST['user_webs']['remove']); } elseif (!empty($_POST['user_webs']['add']) && !empty($_POST['user_webs']['add'][0])) { $user->webs = array('add' => $_POST['user_webs']['add']); } else { $user->webs = array('edit', $_POST['user_webs']['edit']); } if ($user->save($errors)) { // Refresca la sesión. $user = Model\User::flush(); if (isset($_POST['save'])) { throw new Redirection('/dashboard'); } else { throw new Redirection('/user/edit'); } } } return new View('view/user/edit.html.php', array('user' => $user, 'errors' => $errors)); }