All Content Items, Comments, and Reviews that implement the \IPS\Content\Hideable interface will automatically work with the Delayed Deletes system. The information below is just for reference only.
The \IPS\core\DeletionLog class is an Active Record class that handles content queued for deletion.
namespace IPS\core; /** * Deletion Log Model */ class _DeletionLog extends \IPS\Patterns\ActiveRecord { /** * @brief Database Table */ public static $databaseTable = 'core_deletion_log'; /** * @brief Database Prefix */ public static $databasePrefix = 'dellog_'; /** * @brief [ActiveRecord] ID Database Column */ public static $databaseColumnId = 'id'; /** * Set Default Values * * @return void */ public function setDefaultValues() /** * Set deleted date * * @param \IPS\DateTime A DateTime object * @return void */ public function set_deleted_date( \IPS\DateTime $time ) /** * Get deleted date * * @return \IPS\DateTime */ public function get_deleted_date() /** * Set Deleted By * * @param \IPS\Member The member * @return void */ public function set_deleted_by( \IPS\Member $member ) /** * Get Deleted By * * @return \IPS\Member */ public function get__deleted_by() /** * Get Permissions * * @return array|string */ public function get_content_permissions() /** * Get the date the content will be permanently removed on * * @return \IPS\DateTime */ public function get_deletion_date() /** * Set Content and Member * * @param \IPS\Content The content being deleted. * @param \IPS\Member|NULL The member performing the deletion, or NULL for the currently logged in member * @return void * @note Convenience ftw */ public function setContentAndMember( \IPS\Content $content, \IPS\Member $member = NULL ) /** * Save * * @return void */ public function save() /** * Load and check perms * * @param int ID * @return static * @throws * @li \OutOfRangeException */ public static function loadAndCheckPerms( $id ) /** * Can View the deleted content * * @param \IPS\Member|NULL The member, or NULL for currently logged in * @return bool */ public function canView( \IPS\Member $member = NULL ) /** * URL to the deleted content * * @param string|NULL "action" parameter or NULL to go to the content * @return \IPS\Http\Url */ public function url( $action=NULL ) }
A new method was added to \IPS\Content which will queue the content for deletion.
/** * Log for deletion later * * \IPS\Member|NULL $member The member or NULL for currently logged in * @return void */ public function logDelete( $member = NULL )
To identify content queued for deletion, the \IPS\Content::hidden() method now has the following return values:
- 1 - This content is currently hidden requiring moderator approval.
- 0 - This content is visible
- -1 - This content has been hidden by a moderator
- -2 - This content has been deleted by a moderator, and will be permanently removed at a later date.
Report Document