**************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Registry; use Tygh\Mailer; if (!defined('BOOTSTRAP')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $suffix = ''; // // Create/Update usergroups // if ($mode == 'update') { $usergroup_id = fn_update_usergroup($_REQUEST['usergroup_data'], $_REQUEST['usergroup_id'], DESCR_SL); if ($usergroup_id == false) { fn_delete_notification('changes_saved'); } $suffix .= '.manage'; } // // Delete selected usergroups // if ($mode == 'm_delete') { if (!empty($_REQUEST['usergroup_ids'])) { fn_delete_usergroups($_REQUEST['usergroup_ids']); } $suffix .= '.manage'; } if ($mode == 'bulk_update_status') {
protected function createOrUpdate($params, $id = null) { $data = array(); $status = Response::STATUS_BAD_REQUEST; $lang_code = $this->safeGet($params, 'lang_code', DEFAULT_LANGUAGE); unset($params['lang_code']); if ($this->getParentName() == 'users') { if (!empty($id)) { return $this->changeUserToGroupLink($id, $params); } else { return array('status' => Response::STATUS_BAD_REQUEST); } } $valid_params = true; if (empty($params['status'])) { $data['message'] = __('api_required_field', array('[field]' => 'status')); $valid_params = false; } if (empty($params['type'])) { $data['message'] = __('api_required_field', array('[field]' => 'type')); $valid_params = false; } if ($valid_params) { // We shouldn't allow to change or specify an ID of record unset($params['usergroup_id']); // Sanitize and make input data compatible with fn_update_usergroup internals if (isset($params['privileges'])) { $params['privileges'] = array_unique($params['privileges']); foreach ($params['privileges'] as $k => &$privilege) { $privilege = (string) $privilege; if (empty($privilege)) { unset($params['privileges'][$k]); } } $params['privileges'] = array_flip($params['privileges']); } $usergroup_id = fn_update_usergroup($params, $id, $lang_code); if ($usergroup_id == false) { return array('status' => Response::STATUS_INTERNAL_SERVER_ERROR); } return array('status' => $id == null ? Response::STATUS_CREATED : Response::STATUS_OK, 'data' => $id == null ? array('usergroup_id' => (int) $usergroup_id) : array('message' => 'OK')); } return array('data' => $data, 'status' => $status); }