Example #1
0
****************************************************************************
* 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') {
Example #2
0
 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);
 }