DZ全局变量与配置说明

需积分: 12 3 下载量 79 浏览量 更新于2024-09-17 收藏 28KB TXT 举报
"本文档详细介绍了Discuz! (DZ) 框架中的全局变量、常量和数组,这些是Discuz! 系统运行过程中用于控制和配置的关键元素。" 在Discuz! 中,全局变量、常量和数组扮演着至关重要的角色,它们用于控制系统的各种功能和权限设置,确保论坛的正常运行和用户交互的安全性。以下是一些重要的变量和常量的详细说明: 1. `$action`:这个变量通常用来标识当前执行的操作或页面,例如用户访问的模块或功能。 2. `$adminid`:这个变量存储管理员的ID,它用于确定用户是否具有管理员权限,值为1代表超级管理员,2-23代表不同级别的管理员。 3. `$adminemail`:在`config.inc.php`配置文件中定义的管理员邮箱地址,用于系统通知和其他管理通信。 4. `$allowanonymous`:此常量决定是否允许匿名发帖,如果设置为真,则允许用户在不登录的情况下发表内容。 5. `$allowavatar`:控制用户是否可以使用和显示头像,如果设为真,用户可以上传和展示个人头像。 6. `$allowbanip` 和 `$allowbanuser`:分别用于控制是否允许管理员禁止IP和禁用用户账户。 7. `$allowviewip`:决定是否允许查看用户IP,如果为真,用户可以查看其他用户的IP地址。 8. `$allowgetattach`:允许用户下载附件的开关,如果设为真,则用户可以下载论坛上的附件。 9. `$allowpostannounce`:控制用户是否可以发布公告,只有管理员和特定权限的用户才能发布。 10. `$allowcensorword`:决定是否启用敏感词过滤,防止不当言论的发布。 11. `$allow`系列变量:如`$allowvisit`、`$allowpost`、`$allowreply`等,用于控制用户的基本权限,如访问、发帖、回帖等。 12. `$attachdir`:指定附件存储的目录,这是上传文件的路径。 13. `$attachextensions`:定义允许上传的附件扩展名,用于限制用户上传的文件类型。 14. `$attachimgpost`:控制是否在帖子中显示图片附件,如果设为真,图片附件会直接显示在帖子内容中。 15. `$attachrefcheck`:是否开启附件防盗链,如果开启,将检查附件请求来源,防止外站盗取资源。 16. `$attachsave`:配置附件的保存方式,可能包括本地存储或云存储等。 17. `$attachurl`:附件URL的前缀,用于构建附件的完整URL。 18. `$attackevasive`:配置防DDoS攻击策略,保护服务器免受大量无效请求的冲击。 19. `$authkey`:安全认证密钥,用于数据传输过程中的加密,保障用户数据安全。 20. `$avatarshow_`系列变量:如`$avatarshow_license`、`$avatarshowdefault`等,用于控制头像的显示方式和默认设置。 21. `$archiverstatus`:开启或关闭Archiver模式,即论坛的简洁版,适合手机或低配设备访问。 22. `$allowinvisible`:允许用户隐藏在线状态。 23. `$allowtransfer`:允许用户转移帖子到其他版块。 24. `$allowsetreadperm` 和 `$allowsetattachperm`:分别控制用户设置阅读权限和附件下载权限的能力。 25. `$allowhidecode`、`$allowhtml` 和 `$allowcusbbcode`:分别控制使用代码隐藏、HTML和自定义BBCode标签的权限。 26. `$allowanonymous`:允许用户匿名登录或操作。 27. `$allownickname`:允许用户使用昵称而非用户名进行活动。 以上只是部分关键的全局变量和常量,实际上Discuz! 系统中还有更多此类设置,用于实现论坛的复杂功能和精细化管理。了解并正确配置这些变量,对于管理和优化Discuz! 论坛至关重要。

优化这段代码 int Lcd_Modify_Param(int ikey,unsigned char mode,int _boardid,int gapid,int ioa,int digit) { float param; int len; int index = digit - 1; const float add_arr[3][8] = { {pow(10,0), 0 ,pow(10,-1),pow(10,-2), pow(10,-3),pow(10,-4)}, {pow(10,1),pow(10,0), 0 , pow(10,-1), pow(10,-2),pow(10,-3),pow(10,-4)}, {pow(10,2),pow(10,1),pow(10,0), 0 , pow(10,-1),pow(10,-2),pow(10,-3),pow(10,-4)} }; if(mode == ALTER_RUNPARAM) param = get_RunParaInfo_val(_boardid,gapid,ioa); else if (mode == ALTER_PROTECT) param = get_ActionDZInfo_val(_boardid,gapid,ioa); else if (mode == ALTER_SERI) param = gRunPara.COMMS_SerialInfo[gapid][ioa].val; if ((mode == ALTER_SERI) || (mode == ALTER_PROTECT&&(ioa == RT1064KZZ_UAB_CH || ioa == RT1064KZZ_UBC_CH || ioa == RT1064_DZ_CHZCS))) { printf("szName:%s\n",gRunPara.gap_ActionDZInfo[gapid][ioa].szName); param = SetInteger(ikey,param,digit); printf("param:%f\n", param); } else { len = snprintf(NULL, 0, "%0.3f", param); // 获取字符串长度 char buf[len+1]; // 创建缓冲区 snprintf(buf, len+1, "%0.3f", param); // 将浮点数转换为字符串 if (ikey == LCD_KEY_ADD) { if (len >= 5 && len <= 7 && index >= 0 && index <= 7) param += add_arr[len-5][index]; } else if(ikey == LCD_KEY_DECREASE) { if (len >= 5 && len <= 7 && index >= 0 && index <= 7) param -= add_arr[len-5][index]; } } if (param >= 0) { if(mode == ALTER_RUNPARAM) { if (_boardid == UNIT_PUBLIC_MX6) { if(gRunPara.ALLptRunParaInfo[ioa].IDbyBoard == 0) { if(gRunPara.ALLptRunParaInfo[ioa].IDbyPt < MX6RUN_TOTALSUM) { gRunPara.pub_RunParaInfo[gRunPara.ALLptRunParaInfo[ioa].IDbyPt].val= param; } } else { if (gRunPara.ALLptRunParaInfo[ioa].IDbyPt != RT1064KZZ_PTDX && gRunPara.ALLptRunParaInfo[ioa].IDbyPt < RUN_INNER_PARA_SIZE) { gRunPara.gap_RunParaInfo[1][gRunPara.ALLptRunParaInfo[ioa].IDbyPt].val= param; } else if ((gRunPara.ALLptRunParaInfo[ioa].IDbyPt == RT1064KZZ_PTDX || gRunPara.ALLptRunParaInfo[ioa].IDbyPt >= RT1064_DZ_YY) && gRunPara.ALLptRunParaInfo[ioa].IDbyPt < RT1064_YS_TOTALSUM) //--四个参数在 内部动作参数区 { gRunPara.gap_ActionDZInfo[1][gRunPara.ALLptRunParaInfo[ioa].IDbyPt].val= param; } } } else if (_boardid == UNIT_GAP_RT1064) gRunPara.gap_RunParaInfo[gapid][ioa].val= param; } else if (mode == ALTER_PROTECT) { if (_boardid == UNIT_PUBLIC_MX6) gRunPara.pub_ActionDZInfo[ioa].val = param; else { if (param <= 999999) gRunPara.gap_ActionDZInfo[gapid][ioa].val = param; } } else if (mode == ALTER_SERI) { if (param <= 999999) gRunPara.COMMS_SerialInfo[gapid][ioa].val = param; } } return 1; }

139 浏览量
443 浏览量
2025-02-19 上传