public function geolocationAction() { $this->_helper->layout->setLayout('iframe'); $form = new Admin_Form_Geolocation(); $user = $this->getUser(); $form->setDefaultsFromEntity($user); $request = $this->getRequest(); if ($request->isPost() && $form->isValid($request->getPost())) { $values = $form->getValues(); try { $values['attributes']['geolocation'] = $values['geolocation']; unset($values['geolocation']); $this->_helper->service('user')->save($values, $user); $this->view->close = true; } catch (\InvalidArgumentException $e) { $form->image->addError($e->getMessage()); } } $this->view->form = $form; }