public static function update_permissions($changes = array(), $profile_id = 0, $user_id = 0) { if (!is_array($changes)) { return; } foreach ($changes as $key => $value) { $key = str_replace(array('[', ']'), '', $key); $ws = null; if (strpos($key, "wid") === 0) { list($ws, $key) = explode('.', $key, 2); $ws = str_replace("wid", "", $ws); } $permission = new permission(); $permission->load($key, intval($profile_id), intval($user_id), $ws); $permission->value = $value; $permission->save(); } }