iionly/expirationdate

提供了一种为实体设置过期日期并在该日期后删除实体的方法。

安装: 15

依赖项: 0

建议者: 1

安全: 0

星级: 2

关注者: 2

分支: 1

开放问题: 0

类型:elgg-plugin

3.3.0 2021-02-14 16:26 UTC

This package is auto-updated.

Last update: 2024-09-14 23:56:10 UTC


README

最新版本:3.3.0
发布日期:2021-02-14
联系: iionly@gmx.de
许可证:GNU通用公共许可证版本2
版权:© Brett Profitt(原始开发者)/ iionly(Elgg 1.8及其以后版本)

描述

Expirationdate 插件可以用来为实体定义一个过期日期,并通过 cron 作业自动删除它们。该插件在你的网站上不提供用户界面(除了在管理员部分设置所需的 cron 间隔之外)。

例如,此插件可以选择与 Elggx Userpoints 插件一起使用。

如果你只想使用 Expirationdate 插件与已经实现过期日期机制的另一个插件一起使用,你只需像其他 Elgg 插件一样启用它,并在插件设置中设置所需的 cron 间隔。此外,你的服务器上至少必须配置了此间隔的 cron 作业!

如果你打算在你的插件开发中使用 Expirationdate 插件包含的方法,请继续阅读。

安装

  1. 如果你已安装 Expirationdate 插件的先前版本,请在你的网站管理员部分禁用该插件,然后从 Elgg 安装模式的 mod 目录中删除 expirationdate 文件夹,
  2. 将 expirationdate 文件夹复制到 Elgg 安装模式的 mod 目录中,
  3. 在你的网站管理员部分启用 Expirationdate 插件,并在 Expirationdate 插件设置中设置所需的 cron 间隔。

使用方法

按照 Elgg 文档中的说明配置 Elgg 的 cron。

安装并启用 Expirationdate 插件。请确保将插件周期设置为与你的 cron 作业相匹配的内容。

在你的插件中,通过以下方式设置实体的过期日期

expirationdate_set($entity->guid, $expiration_date_string, bool);

其中 $expiration_date_string 是一个有效的 strtotime() 字符串。如果第 3 个参数为 true,则实体将被禁用而不是删除。

通过以下方式取消设置过期日期

expirationdate_unset($entity->guid);

在实体被删除之前,将调用插件钩子 expirationdate:expirate_entity,并将 $param 设置为

array('entity' => 实体对象)

如果你为此钩子注册了一个函数,除非该函数返回 true,否则实体将不会删除/禁用。

每个具有过期日期的实体将通过插件钩子 expirationdate:will_expire_entity 传递,并将 $param 设置为

array('expirationdate' => 过期时间的戳,'entity' => 实体对象)

这可以用来发送警告电子邮件等。