group.func.php API参考文档
# group.func.php API 参考文档
## 概述
`group.func.php` 是 Xiuno BBS 的用户组模型层,提供了用户组的 CRUD 操作、列表缓存、权限过滤等核心功能。
## 原始 CURD 操作
### `group__create()`
#### 说明
```php
function group__create(array $arr): int|false
```
创建用户组记录,最原生的插入操作,无关联其他数据。
#### 参数
- `$arr`: 要插入的用户组数据数组,键为字段名,值为字段值
#### 返回值
- 成功返回插入的用户组 ID
- 失败返回 FALSE
#### 示例
```php
$arr = array(
'name' => '测试用户组',
'rank' => 100,
'allowread' => 1,
'allowpost' => 1
);
$gid = group__create($arr);
```
### `group__update()`
#### 说明
```php
function group__update(int $gid, array $arr): int|false
```
更新用户组记录,最原生的更新操作。
#### 参数
- `$gid`: 用户组 ID
- `$arr`: 要更新的数据数组
#### 返回值
- 成功返回受影响的行数
- 失败返回 FALSE
#### 示例
```php
$update = array('name' => '新用户组名称');
$r = group__update(1, $update);
```
### `group__read()`
#### 说明
```php
function group__read(int $gid): array|false
```
读取用户组记录,最原生的查询操作。
#### 参数
- `$gid`: 用户组 ID
#### 返回值
- 成功返回用户组数组
- 失败返回 FALSE
#### 示例
```php
$group = group__read(1);
```
### `group__delete()`
#### 说明
```php
function group__delete(int $gid): int|false
```
删除用户组记录,最原生的删除操作。
#### 参数
- `$gid`: 用户组 ID
#### 返回值
- 成功返回受影响的行数
- 失败返回 FALSE
#### 示例
```php
$r = group__delete(1);
```
### `group__find()`
#### 说明
```php
function group__find(array $cond = array(), array $orderby = array(), int $page = 1, int $pagesize = 1000): array
```
查找用户组列表,最原生的查询操作。
#### 参数
- `$cond`: 条件数组
- `$orderby`: 排序数组
- `$page`: 页码
- `$pagesize`: 每页数量
#### 返回值
- 返回用户组列表数组
#### 示例
```php
$grouplist = group__find(array(), array('gid' => 1), 1, 1000);
```
## 关联 CURD 操作
### `group_create()`
#### 说明
```php
function group_create(array $arr): int|false
```
创建用户组,包含缓存清理和权限填充等关联操作。
#### 参数
- `$arr`: 要插入的用户组数据数组
#### 返回值
- 成功返回插入的用户组 ID
- 失败返回 FALSE
#### 示例
```php
$arr = array(
'name' => '测试用户组',
'rank' => 100,
'allowread' => 1,
'allowpost' => 1
);
$gid = group_create($arr);
```
### `group_update()`
#### 说明
```php
function group_update(int $gid, array $arr): int|false
```
更新用户组,包含缓存清理等关联操作。
#### 参数
- `$gid`: 用户组 ID
- `$arr`: 要更新的数据数组
#### 返回值
- 成功返回受影响的行数
- 失败返回 FALSE
#### 示例
```php
$update = array('name' => '新用户组名称');
$r = group_update(1, $update);
```
### `group_read()`
#### 说明
```php
function group_read(int $gid): array
```
读取用户组,包含数据格式化。
#### 参数
- `$gid`: 用户组 ID
#### 返回值
- 返回格式化后的用户组数组
#### 示例
```php
$group = group_read(1);
```
### `group_delete()`
#### 说明
```php
function group_delete(int $gid): int|false
```
删除用户组,包含缓存清理和权限删除等关联操作。
#### 参数
- `$gid`: 用户组 ID
#### 返回值
- 成功返回受影响的行数
- 失败返回 FALSE
#### 示例
```php
$r = group_delete(1);
```
### `group_find()`
#### 说明
```php
function group_find(array $cond = array(), array $orderby = array('gid'=>1), int $page = 1, int $pagesize = 1000): array
```
查找用户组列表,包含数据格式化。
#### 参数
- `$cond`: 条件数组
- `$orderby`: 排序数组,默认按 gid 升序
- `$page`: 页码
- `$pagesize`: 每页数量
#### 返回值
- 返回格式化后的用户组列表数组
#### 示例
```php
$grouplist = group_find(array(), array('gid' => 1), 1, 1000);
```
## 其他方法
### `group_format()`
#### 说明
```php
function group_format(array &$group): void
```
格式化用户组数据。
#### 参数
- `$group`: 用户组数组(引用传递)
#### 返回值
- 无返回值,直接修改传入的数组
#### 示例
```php
$group = group__read(1);
group_format($group);
```
### `group_name()`
#### 说明
```php
function group_name(int $gid): string
```
获取用户组名称。
#### 参数
- `$gid`: 用户组 ID
#### 返回值
- 返回用户组名称,如果不存在返回空字符串
#### 示例
```php
$group_name = group_name(1);
```
### `group_count()`
#### 说明
```php
function group_count(array $cond = array()): int
```
统计用户组数量。
#### 参数
- `$cond`: 条件数组
#### 返回值
- 返回用户组数量
#### 示例
```php
$count = group_count();
```
### `group_maxid()`
#### 说明
```php
function group_maxid(): int|false
```
获取用户组最大 ID。
#### 参数
- 无参数
#### 返回值
- 成功返回最大用户组 ID
- 失败返回 FALSE
#### 示例
```php
$maxid = group_maxid();
```
### `group_list_cache()`
#### 说明
```php
function group_list_cache(): array
```
从缓存中读取用户组列表。
#### 参数
- 无参数
#### 返回值
- 返回用户组列表数组
#### 示例
```php
$grouplist = group_list_cache();
```
### `group_list_cache_delete()`
#### 说明
```php
function group_list_cache_delete(): bool
```
删除用户组列表缓存。
#### 参数
- 无参数
#### 返回值
- 返回删除结果
#### 示例
```php
group_list_cache_delete();
```