public function UpdateProfile(Profile $profile) { $data = $profile->GetArrayCopy(); // // Remove any null values and unset the username just in case // foreach ($data as $key => $datum) { if (is_null($datum)) { unset($data[$key]); } } if (isset($data['username'])) { unset($data['username']); } $this->tableGateway->update($data, array('id' => $profile->id)); }
public function editAction() { $request = $this->getRequest(); if ($request->isPost()) { $profile = new Profile(); $profileForm = new ProfileForm(); $profileForm->setInputFilter($profile->getInputFilter()); if ($request->getPost('new_password') === $request->getPost('confirm_password')) { $postData = $request->getPost(); $postData['new_pasword'] = sha1($postData['new_password']); $profileForm->setData($postData); if ($profileForm->isValid()) { $profile->ExchangeArray($profileForm->getData()); $this->GetProfileModel()->UpdateProfile($profile); return new JsonModel(array('success' => true, 'id' => $profile->id, 'username' => $profile->username, 'id_default_role' => $profile->id_default_role)); } else { return new JsonModel(array('success' => false, 'message' => $profileForm->getMessages())); } } return new JsonModel(array('success' => false, 'message' => 'Password and Password Confirmation do not match')); } }