Пример #1
0
 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);
 }
Пример #2
0
 /**
  * Clear the failed validation object data for this object.
  *
  * @return void
  */
 public function clearFailedValidationData()
 {
     FormUtil::clearValidationFailedObjects($this->_objPath);
 }