throw new CiviCRM_API3_Exception($result['error_message'], CRM_Utils_Array::value('error_code', $result, 'undefined'), $result);
}
- // call (undocumented possibly deprecated) hook
- CRM_Utils_Hook::enableDisable('CRM_Contact_BAO_Relationship', $id, $is_active);
-
return TRUE;
}
CRM_Utils_System::civiExit();
}
- /**
- * Perform enable / disable actions on record.
- */
- public static function enableDisable() {
- $op = CRM_Utils_Type::escape($_REQUEST['op'], 'String');
- $recordID = CRM_Utils_Type::escape($_REQUEST['recordID'], 'Positive');
- $recordBAO = CRM_Utils_Type::escape($_REQUEST['recordBAO'], 'String');
-
- $isActive = NULL;
- if ($op == 'disable-enable') {
- $isActive = TRUE;
- }
- elseif ($op == 'enable-disable') {
- $isActive = FALSE;
- }
- $status = array('status' => 'record-updated-fail');
- if (isset($isActive)) {
- // first munge and clean the recordBAO and get rid of any non alpha numeric characters
- $recordBAO = CRM_Utils_String::munge($recordBAO);
- $recordClass = explode('_', $recordBAO);
-
- // make sure recordClass is namespaced (we cant check CRM since extensions can also use this)
- // but it should be at least 3 levels deep
- if (count($recordClass) >= 3) {
- require_once str_replace('_', DIRECTORY_SEPARATOR, $recordBAO) . ".php";
- $method = 'setIsActive';
-
- if (method_exists($recordBAO, $method)) {
- $updated = call_user_func_array(array($recordBAO, $method),
- array($recordID, $isActive)
- );
- if ($updated) {
- $status = array('status' => 'record-updated-success');
- }
-
- // call hook enableDisable
- CRM_Utils_Hook::enableDisable($recordBAO, $recordID, $isActive);
- }
- }
- CRM_Utils_JSON::output($status);
- }
- }
-
/**
* check the CMS username.
*/
<access_arguments>access CiviCRM</access_arguments>
<page_type>3</page_type>
</item>
-<item>
- <path>civicrm/ajax/ed</path>
- <page_callback>CRM_Contact_Page_AJAX::enableDisable</page_callback>
- <access_arguments>access CiviCRM</access_arguments>
- <page_type>3</page_type>
-</item>
<item>
<path>civicrm/ajax/cmsuser</path>
<page_callback>CRM_Contact_Page_AJAX::checkUserName</page_callback>
);
}
- /**
- * @param $recordBAO
- * @param int $recordID
- * @param $isActive
- *
- * @return mixed
- */
- public static function enableDisable($recordBAO, $recordID, $isActive) {
- return self::singleton()->invoke(3, $recordBAO, $recordID, $isActive,
- self::$_nullObject, self::$_nullObject, self::$_nullObject,
- 'civicrm_enableDisable'
- );
- }
-
/**
* This hooks allows to change option values.
*