/** * Informacion del perfil del usuario. * @param string $usuario ID o nick del usuario. */ public function action_informacion($usuario) { // Cargamos el usuario. $this->cargar_usuario($usuario); // Cargamos la vista de información. $information_view = View::factory('perfil/index'); // Campos a cargar. $fields = array('general' => array('nombre', 'web', 'twitter', 'facebook', 'estudios'), 'vida_personal' => array('hacer_amigos', 'conocer_gente_intereses', 'conocer_gente_negocios', 'encontrar_pareja', 'de_todo', 'estado_civil', 'hijos', 'vivo_con'), 'idioma' => array('idioma_espanol', 'idioma_ingles', 'idioma_portugues', 'idioma_frances', 'idioma_italiano', 'idioma_aleman', 'idioma_otro'), 'datos_profesionales' => array('profesion', 'empresa', 'sector', 'nivel_ingresos', 'intereses_personales', 'habilidades_profesionales'), 'como_es' => array('mi_altura', 'mi_peso', 'color_pelo', 'color_ojos', 'complexion', 'tatuajes', 'piercings'), 'habitos_personales' => array('mi_dieta', 'fumo', 'tomo_alcohol'), 'intereses_y_preferencias' => array('mis_intereses', 'hobbies', 'series_tv_favoritas', 'musica_favorita', 'deportes_y_equipos_favoritos', 'libros_favoritos', 'peliculas_favoritas', 'comida_favorita', 'mis_heroes')); // Cargamos todos los datos del perfil. $load_array = array(); foreach ($fields as $ff) { $load_array = array_merge($load_array, $ff); } $this->usuario->perfil()->load_list($load_array); unset($load_array); // Obtenemos el valor de los campos. foreach ($fields as $k => $field) { $aa = array(); foreach ($field as $v) { if (isset($this->usuario->perfil()->{$v})) { $aa[$v] = $this->usuario->perfil()->{$v}; } } $information_view->assign($k, $aa); } $information_view->assign('usuario', $this->usuario->as_array()); // Procesamos pais. $country = Utils::prop($this->usuario->perfil(), 'origen'); if ($country !== NULL) { $lista_pais = configuracion_obtener(CONFIG_PATH . DS . 'geonames.' . FILE_EXT); $country = explode('.', $country); $information_view->assign('origen', $lista_pais[$country[0]][0] . ', ' . $lista_pais[$country[0]][1][$country[1]]); unset($lista_pais); } unset($country); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $this->header_block($information_view->parse())); unset($information_view); // Seteamos el titulo. $this->template->assign('title', 'Perfil - ' . $this->usuario->get('nick')); }