gnu-social/plugins/Cronish/CronishPlugin.php

62 lines
1.7 KiB
PHP

<?php
/**
* GNU social cronish plugin, to imitate cron actions
*
* @category Cron
* @package GNUsocial
* @author Mikael Nordfeldth <mmn@hethane.se>
* @copyright 2013 Free Software Foundation, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://gnu.io/social/
*/
if (!defined('GNUSOCIAL')) { exit(1); }
class CronishPlugin extends Plugin {
const PLUGIN_VERSION = '2.0.0';
public function onCronMinutely()
{
common_debug('CRON: Running near-minutely cron job!');
}
public function onCronHourly()
{
common_debug('CRON: Running near-hourly cron job!');
}
public function onCronDaily()
{
common_debug('CRON: Running near-daily cron job!');
}
public function onCronWeekly()
{
common_debug('CRON: Running near-weekly cron job!');
}
/**
* When the page has finished rendering, let's do some cron jobs
* if we have the time.
*/
public function onEndActionExecute(Action $action)
{
$cron = new Cronish();
$cron->callTimedEvents();
return true;
}
public function onPluginVersion(array &$versions): bool
{
$versions[] = array('name' => 'Cronish',
'version' => self::PLUGIN_VERSION,
'author' => 'Mikael Nordfeldth',
'homepage' => GNUSOCIAL_ENGINE_URL,
'description' =>
// TRANS: Plugin description.
_m('Cronish plugin that executes events on a near-minutely/hour/day/week basis.'));
return true;
}
}