function edititem() { // Confirm the forms authorisation key $this->checkCsrfToken(); // get passed values $ot = FormUtil::getPassedValue('ot', 'address', 'POST'); $startnum = FormUtil::getPassedValue('startnum', 1, 'GET'); $letter = FormUtil::getPassedValue('letter', 0); $sort = FormUtil::getPassedValue('sort', ModUtil::getVar('AddressBook', 'addressbooktype') == 1 ? 'sortname ASC' : 'sortcompany ASC'); $search = FormUtil::getPassedValue('search', 0); $category = FormUtil::getPassedValue('category', 0); $private = FormUtil::getPassedValue('private', 0); $returnid = FormUtil::getPassedValue('returnid', 0, 'POST'); // build standard return url if (!empty($returnid)) { $url = ModUtil::url('AddressBook', 'user', 'display', array('id' => $returnid, 'ot' => $ot, 'startnum' => $startnum, 'letter' => $letter, 'sort' => $sort, 'search' => $search, 'category' => $category, 'private' => $private)); } else { $url = ModUtil::url('AddressBook', 'user', 'view', array('ot' => $ot, 'startnum' => $startnum, 'letter' => $letter, 'sort' => $sort, 'search' => $search, 'category' => $category, 'private' => $private)); } $object = new AddressBook_DBObject_Address(); //$data =& $object->getDataFromInput(); $data = $object->getDataFromInput(); // permission check if (UserUtil::isLoggedIn()) { $user_id = UserUtil::getVar('uid'); } else { $user_id = 0; } if (!(SecurityUtil::checkPermission('AddressBook::', '::', ACCESS_EDIT) || $user_id > 0 && $user_id == $data['user_id'])) { return LogUtil::registerPermissionError(); } // validation if (!$object->validate()) { return System::redirect(ModUtil::url('AddressBook', 'user', 'edit')); } // check for duplication request and return to the form if (FormUtil::getPassedValue('btn_duplicate', null, 'POST')) { $url = ModUtil::url('AddressBook', 'user', 'edit', array('ot' => $ot, 'id' => $data['id'], 'duplicate' => 1, 'startnum' => $startnum, 'letter' => $letter, 'sort' => $sort, 'search' => $search, 'category' => $category, 'private' => $private)); return System::redirect($url); } // check for company update - part 1: get the old data if (isset($data['id']) && $data['id']) { $oldObject = DBUtil::selectObjectByID('addressbook_address', $data['id']); if ($oldObject['company'] && ($oldObject['company'] != $data['company'] || $oldObject['address1'] != $data['address1'] || $oldObject['address2'] != $data['address2'] || $oldObject['zip'] != $data['zip'] || $oldObject['city'] != $data['city'] || $oldObject['state'] != $data['state'] || $oldObject['country'] != $data['country'])) { $companyHasChanged = true; $url = ModUtil::url('AddressBook', 'user', 'change_company', array('ot' => $ot, 'id' => $data['id'], 'oldvalue' => $oldObject['company'], 'startnum' => $startnum, 'letter' => $letter, 'sort' => $sort, 'search' => $search, 'category' => $category, 'private' => $private)); } } // save or update the object $object->save(); // create a status message LogUtil::registerStatus($this->__('Done! The address was saved.')); // clear respective cache ModUtil::apiFunc('AddressBook', 'user', 'clearItemCache', $data); // clear the the session from FailedObjects FormUtil::clearValidationFailedObjects('address'); // check for save and duplicate request and return to the form if (FormUtil::getPassedValue('btn_save_duplicate', null, 'POST')) { $url = ModUtil::url('AddressBook', 'user', 'edit', array('ot' => $ot, 'id' => $data['id'], 'duplicate' => 1, 'startnum' => $startnum, 'letter' => $letter, 'sort' => $sort, 'search' => $search, 'category' => $category, 'private' => $private)); } // return to standard return url return System::redirect($url); }
/** * Clear the failed validation object data for this object. * * @return void */ public function clearFailedValidationData() { FormUtil::clearValidationFailedObjects($this->_objPath); }