• cxk123
    社区相册
    ID community_album版本 1.0.1插件制作者 cxk123售价 30 积分1099 行 / 59.6 KBHook / 路由 / 后台页
    把用户上传过的图片附件组织成相册,用图片墙浏览:相册列表(网格 + 封面缩略图 + 张数)、
    收费插件安装说明购买后点击“授权码”获取一次性授权码;在后台 > 插件广场点击在线安装或更新,并填写该授权码。已购买用户更新免费:每次在线安装或更新前,重新点击“授权码”获取新的一次性授权码即可,无需再次购买;也可直接下载新版后用后台“插件上传”更新。尊重并感谢他人劳动,请勿传播代码。
    app/plugins/community_album/plugin.php
    开发日志已有 2 条

    此项目接受所有登录用户协助维护和提交更新。

    • cxk123
      cxk123
      版本 1.0.1 0d98d6dd63d2 更新:1.0.1:修掉 4 条由独立验收线实测上报的缺陷。**不涉数据结构变更**(三张自有表与结构戳 1 都不动), 老站点覆盖文件即生效。 ① 相册列表卡片现在有封面缩略图 原来卡片只有「标题 / 作者 / 张数」三行文字,封面只在详情页以角标体现(community_album_cover_url() 定义了却没人调用)。 现在列表与个人主页页签的卡片都渲染封面缩略图;封面附件行由**一次 IN release
    • cxk123
      cxk123
      版本 1.0.0 9425caf942af 更新:首次上架(1.0.0)。 市场里 相册 / album / gallery 此前 0 命中:论坛的图片一直只能靠「主题里贴的附件」散着看,没有「把同一组图收成一本、 以后还能翻回来」的地方。这一款补的就是这个:把**用户上传过的图片附件**组织成相册,用图片墙浏览。 - **相册列表**:网格 + 作者 + 张数,按最近更新排序 + 分页;游客可看公开相册(站长可关)。 - **相册详情图片墙**
    主楼
  • 质量报告

    插件质量报告

    插件:community_album

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    app.boot全站请求启动否5---写 plugin_community_album_albums, plugin_community_album_photos, plugin_community_album_audit
    sidebar.feature_links首页/侧栏快捷功能否5----
    user.menu_links个人卡片/移动端我的菜单(展示位置:个人卡片)否4----
    user.profile_tab_allowed用户资料页标签页可见性判定否3----
    user.profile_tab_data用户资料页标签数据否3----
    user.profile_tabs用户资料页标签栏(展示位置:个人主页Tab)否3----
    topic.index_template非系统hook否1--app_attachments读 plugin_community_album_photos, plugin_community_album_albums

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    plugin_community_album_albums

    字段类型可空默认值约束
    -动态定义--无法静态解析

    plugin_community_album_photos

    字段类型可空默认值约束
    -动态定义--无法静态解析

    plugin_community_album_audit

    字段类型可空默认值约束
    -动态定义--无法静态解析
    #1
  • cxk123

    版本 1.0.0 更新:
    首次上架(1.0.0)。

    市场里 相册 / album / gallery 此前 0 命中:论坛的图片一直只能靠「主题里贴的附件」散着看,没有「把同一组图收成一本、
    以后还能翻回来」的地方。这一款补的就是这个:把用户上传过的图片附件组织成相册,用图片墙浏览。

    • 相册列表:网格 + 作者 + 张数,按最近更新排序 + 分页;游客可看公开相册(站长可关)。
    • 相册详情图片墙:一屏铺开整册图片、点开原图看大图;封面那张带「封面」角标。
    • 管理自己的相册:建册(标题 / 简介 / 「仅自己」勾选)、改信息、从本人已上传的图片里勾选加入、

    移除所选、删册(先删图片再删相册,不留孤儿行)。

    • 封面:每本相册有一张封面,图片墙上用「封面」角标标出来(自动落第一张,也可由动作接口改成任意一张)。
    • 个人主页「相册」页签:点进某个人的主页就能看他公开的相册,与详情页同一套可见性口径。
    • 可见性:「公开 / 仅自己」两档;「仅自己」不出现在任何列表与页面(管理团队也不放行,偏严不偏松);

    只接受本人上传的图片入册,不替别人泄露附件路径。页面上写清「文件是静态直出、不是加密存储」。

    • 后台一个 Tab:相册 / 图片 / 已下架三行统计 + 开关(启用、允许「仅自己」、允许游客浏览、个人主页页签、导航入口)

    + 三个上限(每人相册数、每册张数、列表每页)+ 一键校准计数(按真实行数重算 photo_count 与失效封面)
    + 最近操作审计表(建册 / 改信息 / 入册 / 移除 / 设封面 / 删册都留痕)。

    不重复造轮子:不复制文件、不接管上传,只引用核心 app_attachments 里 is_image=1 的本人图片行,
    所以与任何上传后端(对象存储 / 图床 / 网盘)都能共存;核心 app_* 表一列都不加,自有三张表全 plugin_community_album_ 前缀。

    查询预算(实测):相册列表 ≤4 条、相册详情 ≤5 条(图片行一次 IN 批查,图多也不放大)、首页 0 条(不挂首页槽位)。
    并发:并排请求同一附件入册只会得到 1 行、计数只 +1,唯一键冲突就地吞掉,不会把插件打下线。

    验收:tools/lab_verify_community_album.sh 481 项通过 / 0 失败(私有站点副本 + 独占端口);
    六道静态门禁全绿。已知边界(1.0.0 首版,如实写明):① 相册列表的卡片只有标题 / 作者 / 张数,
    不显示封面缩略图(封面目前只体现在详情页的「封面」角标);② 「设封面」有服务端动作与角标,
    但前台还没有按钮,需要时得直接发 community_album_do=cover。

    #2
  • cxk123

    版本 1.0.1 更新:
    1.0.1:修掉 4 条由独立验收线实测上报的缺陷。不涉数据结构变更(三张自有表与结构戳 1 都不动),
    老站点覆盖文件即生效。

    ① 相册列表卡片现在有封面缩略图
    原来卡片只有「标题 / 作者 / 张数」三行文字,封面只在详情页以角标体现(community_album_cover_url() 定义了却没人调用)。
    现在列表与个人主页页签的卡片都渲染封面缩略图;封面附件行由一次 IN 批查取回(不按册逐条查,
    行数翻倍语句数不涨),封面缺失时在 SQL 里回退到本册第一张,附件行已被删时渲染占位块而不是 <img>
    —— 前端不会出现破图。

    ② 详情页有「设为封面」按钮了
    工具区新增「设为封面」下拉(当前封面 selected + 文案标注「(当前封面)」),图片墙上每张图另有内联「设为封面」按钮
    (HTML5 form= 指回同一张表单,不生成 N 张表单)。两条入口都走原有 cover 动作(POST + CSRF + 审计留痕);
    不是本人 / 不是本册的提交仍是 404 且零写入。

    ③ 个人主页「相册」页签不再吞掉整页外壳(重要修复)
    1.0.0 拿到的是整壳 shell_html(...),却只返回自己的区块 → 点进「相册」页签后页面上没有页签栏,也就切不回别的页签。
    现在只替换列表区块(<ul class="post-list">),页签栏 / 侧栏 / 外壳原样保留;结构对不上时原样返回,绝不整页替换。

    ④ 后台新增「下架 / 恢复上架」入口
    hidden=1 的过滤口径早就在,但没有写路径(该字段恒为 0)。后台现在可按相册 id 下架 / 恢复(POST + CSRF +
    审计 hide/restore 留痕):下架后公开列表与详情对非管理团队不可见、本人详情 404(「我的相册」里仍有该行并标「已被下架」),
    管理团队可见并标「已被管理团队下架」;恢复即回到公开列表。重复下架给「本来就已经下架」回执且不重复写审计;
    不存在的 id 给明确回执、零写入。

    同步:manifest 版本 1.0.1(dist 冻结产物 plugin/dist/community_album_1.0.1.php1)。
    验收套件补了「列表封面 / 一次 IN 批查 / 无封面与附件缺失的优雅降级 / 设封面两条入口 / 页签整壳保留硬断言 /
    下架恢复产品路径与越权」等断言:593 项通过 / 0 项失败;七道静态门禁全绿,首页查询预算差值仍为 0。
    查询预算(实测):相册列表 4 条(含封面批查)、相册详情 3 条、个人主页页签 2 条、首页 0 条。

    #3
  • 8

    不错不错,刚好需要这个个人相册插件👏

    #4
  • 8

    图片描述

    #5

发表回复

登录后回复