Newer
Older
<?php
/**
* This file contains QUI\Cron\Events
*/
namespace QUI\Cron;
use QUI;
/**
* Cron Main Events
*

Patrick Müller
committed
/**
* event: onPackageSetup
*
* @param QUI\Package\Package $Package

Patrick Müller
committed
*/
public static function onPackageSetup(QUI\Package\Package $Package)

Patrick Müller
committed
{
if ($Package->getName() === 'quiqqer/cron') {
self::checkCronTable();
}

Patrick Müller
committed
}
/**
* Checks if the table cron is correct
*
* @return void
*/
protected static function checkCronTable()
{
$categoryColumn = QUI::getDataBase()->table()->getColumn('cron', 'title');
if ($categoryColumn['Type'] === 'varchar(1000)') {
return;
}
$Stmnt = QUI::getDataBase()->getPDO()->prepare("ALTER TABLE cron MODIFY `title` VARCHAR(1000)");
$Stmnt->execute();
}
/**
* event : on admin header loaded
*/
return;
}
$User = QUI::getUserBySession();
$Package = QUI::getPackageManager()->getInstalledPackage('quiqqer/cron');
$Config = $Package->getConfig();
// send admin info
// check last cron execution
$CronManager = new Manager();
$result = $CronManager->getHistoryList(array(
self::sendAdminInfoCronError();
return;
}
self::sendAdminInfoCronError();
}
}
/**
* event : on admin loaded -> footer output
*/
$Package = QUI::getPackageManager()->getInstalledPackage('quiqqer/cron');
$Config = $Package->getConfig();
// execute cron ?
echo '
<script>window.addEvent("load", function()
{
require(["Ajax"], function(QUIAjax)
{
QUIAjax.post("package_quiqqer_cron_ajax_execute", function()
{
}, {
"package" : "quiqqer/cron"
});
});
});
</script>';
}
}
/**
* send a message to the user, maybe an error in the crons exist
* last 24h was no cron sended
*/
{
QUI::getMessagesHandler()->sendAttention(
QUI::getUserBySession(),
QUI::getLocale()->get('quiqqer/cron', 'message.cron.admin.info.24h')