/** * @private */ function _deleteFields() { // otherwise, go through all the selected fields and remove them one by one, // also removing the rows that contain the values $customFields = new CustomFields(); $errorMessage = ""; $successMessage = ""; $totalOk = 0; $this->_view = new AdminCustomFieldsListView($this->_blogInfo); foreach ($this->_fieldIds as $fieldId) { $field = $customFields->getCustomField($fieldId); if ($field) { // fire the pre-event $this->notifyEvent(EVENT_PRE_CUSTOM_FIELD_DELETE, array("field" => &$field)); $result = $customFields->removeCustomField($fieldId); if ($result) { $totalOk++; if ($totalOk > 1) { $successMessage = $this->_locale->pr("fields_deleted_ok", $totalOk); } else { $successMessage = $this->_locale->pr("field_deleted_ok", $field->getName()); } // fire the post-event $this->notifyEvent(EVENT_POST_CUSTOM_FIELD_DELETE, array("field" => &$field)); } else { $errorMessage .= $this->_locale->pr("error_deleting_field", $field->getName()) . "<br/>"; } } else { $errorMessage .= $this->_locale->pr("error_deleting_field2", $fieldId) . "<br/>"; } } if ($errorMessage != "") { $this->_view->setErrorMessage($errorMessage); } if ($successMessage != "") { $this->_view->setSuccessMessage($successMessage); } $this->setCommonData(); return true; }