HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/document-library-pro/src/Document_Expirator.php
<?php

namespace Barn2\Plugin\Document_Library_Pro;

use Barn2\Plugin\Document_Library_Pro\Dependencies\Lib\Service\Standard_Service;
use Barn2\Plugin\Document_Library_Pro\Dependencies\Lib\Registerable;

defined( 'ABSPATH' ) || exit;

/**
 * Schedule once-off cron jobs at the time of expiry to
 *
 * @package   Barn2\document-library-pro
 * @author    Barn2 Plugins <support@barn2.com>
 * @license   GPL-3.0
 * @copyright Barn2 Media Ltd
 */
class Document_Expirator implements Registerable, Standard_Service {

	/**
	 * {@inheritdoc}
	 */
	public function register() {
		add_action( 'document_library_pro_expire_document', [ $this, 'run' ], 10, 1 );
	}

	/**
	 * Run the cron job to expire the document (move to Private status)
	 *
	 * @param int $document_id
	 */
	public function run( $document_id ) {
		wp_update_post(
			[
				'ID'          => $document_id,
				'post_status' => 'private',
			]
		);
	}
}