«

EMLOG博客代码解读(7)、 admin目录article_save.php文件解读

星沙 • 2024-02-05 23:40 • 16 次点击 •


这段PHP代码是EMLOG博客管理系统中处理文章保存和更新的部分。它允许用户创建新文章或编辑现有文章,并提供了草稿保存、自动摘要生成、文章发布等功能。以下是对代码的详细解读:

  1. 全局配置和模型初始化

    • require_once 'globals.php';:包含全局配置文件。
    • 初始化日志(Log_Model)和标签(Tag_Model)模型。
  2. 获取POST请求参数

    • 获取文章标题、发布日期、分类、标签、内容、摘要、别名、置顶状态、排序操作、允许评论、密码保护、模板、封面、链接、作者、是否隐藏、博客ID、是否直接发布、自动摘要等参数。
  3. 自动生成摘要

    • 如果启用了自动摘要功能,使用Parsedown库解析文章内容并提取摘要。
  4. 处理发布状态

    • 如果用户选择了直接发布文章,将ishide设置为不隐藏('n')。
  5. 检查别名冲突

    • 如果提供了别名,检查是否与现有文章冲突。
  6. 构建文章数据数组

    • 将所有文章信息组装成一个数组,包括标题、内容、摘要等。
  7. 用户权限检查

    • 如果用户是普通用户,且系统设置了文章审核开关,将文章设置为待审核状态('n')。
  8. 文章发布限制

    • 如果用户是作家,检查当天发布文章的数量是否超过限制。
  9. 更新或创建文章

    • 如果提供了博客ID,更新现有文章;否则,创建新文章。
    • 更新或添加标签。
  10. 更新缓存

    • 更新文章缓存。
  11. 执行动作钩子

    • 执行save_log动作钩子,可能用于记录日志或执行其他操作。
  12. 异步保存

    • 如果操作是autosave,直接退出并返回文章ID。
  13. 保存草稿

    • 如果文章被设置为隐藏(草稿),重定向到草稿列表页面。
  14. 文章发布

    • 如果用户选择了直接发布,并且用户有编辑权限,重定向到文章列表页面。
    • 如果用户没有编辑权限,发送新文章邮件通知。
  15. 编辑文章

    • 如果操作是编辑文章,重定向回文章编辑页面,并显示保存成功的提示。

这段代码提供了一个完整的文章编辑和发布流程,包括数据验证、权限控制、缓存更新等。通过这些功能,用户可以方便地管理自己的博客文章。


扫描二维码,在手机上阅读