Skip to content
Code-Schnipsel Gruppen Projekte
Commit 9e953378 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

Merge branch 'dev'

Übergeordnete 00be3ed4 bb6c3cda
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
werden angezeigt mit 172 Ergänzungen und 206 Löschungen
......@@ -2,13 +2,13 @@
QUIQQER Cron (Aufgaben)
========
Cron Package erweitert QUIQQER um eine Aufgaben Verwaltung.
Cron Paket erweitert QUIQQER um eine Aufgaben Verwaltung.
Crons sind sich wiederhohlende Aufgaben.
Jedes Plugin kann eigene Crons / Tasks zur Verfügung stellen
mit dem Cron Manager können diese Tasks in intervallen ausgeführt werden.
Packetname:
Paketname:
quiqqer/cron
......
......@@ -11,23 +11,15 @@
* @param String $dayOfWeek
* @param string $params
*/
function package_quiqqer_cron_ajax_add(
$cron,
$min,
$hour,
$day,
$month,
$dayOfWeek,
$params
) {
$params = json_decode($params, true);
$Manager = new QUI\Cron\Manager();
$Manager->add($cron, $min, $hour, $day, $month, $dayOfWeek, $params);
}
QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_add',
function ($cron, $min, $hour, $day, $month, $dayOfWeek, $params) {
$params = json_decode($params, true);
$Manager = new QUI\Cron\Manager();
$Manager->add($cron, $min, $hour, $day, $month, $dayOfWeek, $params);
},
array('cron', 'min', 'hour', 'day', 'month', 'dayOfWeek', 'params'),
'Permission::checkAdminUser'
);
......@@ -3,16 +3,14 @@
/**
* activate a cron
*
* @param Integer $cronId - Cron-ID
* @param integer $cronId - Cron-ID
*/
function package_quiqqer_cron_ajax_cron_activate($cronId)
{
$Manager = new \QUI\Cron\Manager();
$Manager->activateCron($cronId);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_cron_activate',
function ($cronId) {
$Manager = new QUI\Cron\Manager();
$Manager->activateCron($cronId);
},
array('cronId'),
'Permission::checkAdminUser'
);
......@@ -3,16 +3,14 @@
/**
* deactivate a cron
*
* @param Integer $cronId - Cron-ID
* @param integer $cronId - Cron-ID
*/
function package_quiqqer_cron_ajax_cron_deactivate($cronId)
{
$Manager = new \QUI\Cron\Manager();
$Manager->deactivateCron($cronId);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_cron_deactivate',
function ($cronId) {
$Manager = new QUI\Cron\Manager();
$Manager->deactivateCron($cronId);
},
array('cronId'),
'Permission::checkAdminUser'
);
......@@ -3,16 +3,14 @@
/**
* deactivate a cron
*
* @param Integer $cronId - Cron-ID
* @param integer $cronId - Cron-ID
*/
function package_quiqqer_cron_ajax_cron_executeCron($cronId)
{
$Manager = new \QUI\Cron\Manager();
$Manager->executeCron($cronId);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_cron_executeCron',
function ($cronId) {
$Manager = new QUI\Cron\Manager();
$Manager->executeCron($cronId);
},
array('cronId'),
'Permission::checkAdminUser'
);
......@@ -3,19 +3,17 @@
/**
* activate a cron
*
* @param Integer $cronId - Cron-ID
* @param integer $cronId - Cron-ID
*
* @return array
*/
function package_quiqqer_cron_ajax_cron_get($cronId)
{
$Manager = new \QUI\Cron\Manager();
return $Manager->getCronById($cronId);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_cron_get',
function ($cronId) {
$Manager = new QUI\Cron\Manager();
return $Manager->getCronById($cronId);
},
array('cronId'),
'Permission::checkAdminUser'
);
......@@ -3,28 +3,26 @@
/**
* Toggle the status of a cron
*
* @param Integer $cronId
* @param integer $cronId
*
* @throws \QUI\Exception
*/
function package_quiqqer_cron_ajax_cron_toggle($cronId)
{
$Manager = new \QUI\Cron\Manager();
$data = $Manager->getCronById($cronId);
if (!$data) {
throw new \QUI\Exception('Cron not exists', 404);
}
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_cron_toggle',
function ($cronId) {
$Manager = new QUI\Cron\Manager();
$data = $Manager->getCronById($cronId);
if ($data['active'] == 1) {
$Manager->deactivateCron($cronId);
} else {
$Manager->activateCron($cronId);
}
}
if (!$data) {
throw new QUI\Exception('Cron not exists', 404);
}
\QUI::$Ajax->register(
'package_quiqqer_cron_ajax_cron_toggle',
if ($data['active'] == 1) {
$Manager->deactivateCron($cronId);
} else {
$Manager->activateCron($cronId);
}
},
array('cronId'),
'Permission::checkAdminUser'
);
......@@ -5,16 +5,15 @@
*
* @param string $ids - json array
*/
function package_quiqqer_cron_ajax_delete($ids)
{
$ids = json_decode($ids, true);
$Manager = new \QUI\Cron\Manager();
$Manager->deleteCronIds($ids);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_delete',
function ($ids) {
$ids = json_decode($ids, true);
$Manager = new QUI\Cron\Manager();
$Manager->deleteCronIds($ids);
},
array('ids'),
'Permission::checkAdminUser'
);
......@@ -12,24 +12,15 @@
* @param String $dayOfWeek
* @param String $params
*/
function package_quiqqer_cron_ajax_edit(
$cronId,
$cron,
$min,
$hour,
$day,
$month,
$dayOfWeek,
$params
) {
$params = json_decode($params, true);
$Manager = new QUI\Cron\Manager();
$Manager->edit($cronId, $cron, $min, $hour, $day, $month, $dayOfWeek, $params);
}
QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_edit',
function ($cronId, $cron, $min, $hour, $day, $month, $dayOfWeek, $params) {
$params = json_decode($params, true);
$Manager = new QUI\Cron\Manager();
$Manager->edit($cronId, $cron, $min, $hour, $day, $month, $dayOfWeek, $params);
},
array('cronId', 'cron', 'min', 'hour', 'day', 'month', 'dayOfWeek', 'params'),
'Permission::checkAdminUser'
);
......@@ -3,23 +3,22 @@
/**
* Execute the cron list
*/
function package_quiqqer_cron_ajax_execute()
{
try {
$Manager = new QUI\Cron\Manager();
$Manager->execute();
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError(
'package_quiqqer_cron_ajax_execute() :: ' . $Exception->getMessage()
);
}
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_execute',
function () {
try {
$Manager = new QUI\Cron\Manager();
$Manager->execute();
QUI::getMessagesHandler()->clear();
}
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError(
'package_quiqqer_cron_ajax_execute() :: ' . $Exception->getMessage()
);
}
QUI::$Ajax->register(
'package_quiqqer_cron_ajax_execute',
QUI::getMessagesHandler()->clear();
},
false,
'Permission::checkAdminUser'
);
......@@ -5,15 +5,13 @@
*
* @return array
*/
function package_quiqqer_cron_ajax_getAvailableCrons()
{
$CronManager = new \QUI\Cron\Manager();
return $CronManager->getAvailableCrons();
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_getAvailableCrons',
function () {
$CronManager = new QUI\Cron\Manager();
return $CronManager->getAvailableCrons();
},
false,
'Permission::checkAdminUser'
);
......@@ -5,15 +5,13 @@
*
* @return array
*/
function package_quiqqer_cron_ajax_getList()
{
$CronManager = new QUI\Cron\Manager();
return $CronManager->getList();
}
QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_getList',
function () {
$CronManager = new QUI\Cron\Manager();
return $CronManager->getList();
},
false,
'Permission::checkAdminUser'
);
......@@ -2,21 +2,22 @@
/**
* return the cron history
*
* @param {array} $params - filter params
* @return array
*/
function package_quiqqer_cron_ajax_history_get($params)
{
$CronManager = new \QUI\Cron\Manager();
$params = json_decode($params, true);
return array(
'page' => (int)$params['page'],
'data' => $CronManager->getHistoryList($params),
'total' => $CronManager->getHistoryCount()
);
}
\QUI::$Ajax->register(
QUI::$Ajax->registerFunction(
'package_quiqqer_cron_ajax_history_get',
function ($params) {
$CronManager = new QUI\Cron\Manager();
$params = json_decode($params, true);
return array(
'page' => (int)$params['page'],
'data' => $CronManager->getHistoryList($params),
'total' => $CronManager->getHistoryCount()
);
},
array('params'),
'Permission::checkAdminUser'
);
......@@ -23,7 +23,7 @@
"autoload": {
"psr-0" : {
"QUI" : "lib/"
"QUI" : "src/"
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<events>
<event on="onAdminLoad" fire="\QUI\Cron\Events::onAdminLoad" />
<event on="onAdminLoadFooter" fire="\QUI\Cron\Events::adminLoadFooter" />
<event on="onAdminLoad" fire="\QUI\Cron\EventHandler::onAdminLoad" />
<event on="onAdminLoadFooter" fire="\QUI\Cron\EventHandler::adminLoadFooter" />
</events>
\ No newline at end of file
......@@ -11,7 +11,7 @@ use QUI;
/**
* Cron Console Manager
*
* @author www.namerobot.com (Henning Leutz)
* @author www.pcsg.de (Henning Leutz)
*/
class Console extends QUI\System\Console\Tool
{
......
......@@ -11,55 +11,53 @@ use QUI;
/**
* Cron Main Events
*
* @author www.namerobot.com (Henning Leutz)
* @author www.pcsg.de (Henning Leutz)
*/
class Events
class EventHandler
{
/**
* event : on admin header loaded
*/
static function onAdminLoad()
public static function onAdminLoad()
{
if ( !defined( 'ADMIN' ) ) {
if (!defined('ADMIN')) {
return;
}
if ( !ADMIN ) {
if (!ADMIN) {
return;
}
$User = QUI::getUserBySession();
if ( !$User->isSU() ) {
if (!$User->isSU()) {
return;
}
$Package = QUI::getPackageManager()->getInstalledPackage( 'quiqqer/cron' );
$Package = QUI::getPackageManager()->getInstalledPackage('quiqqer/cron');
$Config = $Package->getConfig();
// send admin info
if ( !$Config->get( 'settings', 'showAdminMessageIfCronNotRun' ) ) {
if (!$Config->get('settings', 'showAdminMessageIfCronNotRun')) {
return;
}
// check last cron execution
$CronManager = new Manager();
$result = $CronManager->getHistoryList(array(
'page' => 1,
'page' => 1,
'perPage' => 1
));
if ( !isset( $result[ 0 ] ) )
{
if (!isset($result[0])) {
self::sendAdminInfoCronError();
return;
}
$date = strtotime( $result[ 0 ][ 'lastexec' ] );
$date = strtotime($result[0]['lastexec']);
// in 24h no cron??
if ( time() - 86400 > $date ) {
if (time() - 86400 > $date) {
self::sendAdminInfoCronError();
}
}
......@@ -67,14 +65,13 @@ class Events
/**
* event : on admin loaded -> footer output
*/
static function adminLoadFooter()
public static function adminLoadFooter()
{
$Package = QUI::getPackageManager()->getInstalledPackage( 'quiqqer/cron' );
$Package = QUI::getPackageManager()->getInstalledPackage('quiqqer/cron');
$Config = $Package->getConfig();
// execute cron ?
if ( $Config->get( 'settings', 'executeOnAdminLogin' ) )
{
if ($Config->get('settings', 'executeOnAdminLogin')) {
echo '
<script>window.addEvent("load", function()
{
......@@ -96,11 +93,11 @@ class Events
* send a message to the user, maybe an error in the crons exist
* last 24h was no cron sended
*/
static function sendAdminInfoCronError()
public static function sendAdminInfoCronError()
{
QUI::getMessagesHandler()->sendAttention(
QUI::getUserBySession(),
QUI::getLocale()->get( 'quiqqer/cron', 'message.cron.admin.info.24h' )
QUI::getLocale()->get('quiqqer/cron', 'message.cron.admin.info.24h')
);
}
}
......@@ -23,13 +23,14 @@ class Manager
/**
* Add a cron
*
* @param String $cron - Name of the Cron
* @param String $min - On which minute should it start
* @param String $hour - On which hour should it start
* @param String $day - On which day should it start
* @param String $month - On which month should it start
* @param String $dayOfWeek - day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
* @param Array $params - Cron Parameter
* @param string $cron - Name of the Cron
* @param string $min - On which minute should it start
* @param string $hour - On which hour should it start
* @param string $day - On which day should it start
* @param string $month - On which month should it start
* @param string $dayOfWeek - day of week (0 - 6) (0 to 6 are Sunday to Saturday,
* or use names; 7 is Sunday, the same as 0)
* @param array $params - Cron Parameter
*
* @throws QUI\Exception
*/
......@@ -37,7 +38,7 @@ class Manager
{
Permission::checkPermission('quiqqer.cron.add');
if (!$this->_cronExists($cron)) {
if (!$this->cronExists($cron)) {
throw new QUI\Exception(
QUI::getLocale()->get('quiqqer/cron', 'exception.cron.1001'),
1001
......@@ -73,14 +74,14 @@ class Manager
/**
* Edit the cron
*
* @param String $cron - Name of the Cron
* @param Integer $cronId
* @param String $min
* @param String $hour
* @param String $day
* @param String $month
* @param String $dayOfWeek
* @param Array $params
* @param string $cron - Name of the Cron
* @param integer $cronId
* @param string $min
* @param string $hour
* @param string $day
* @param string $month
* @param string $dayOfWeek
* @param array $params
*
* @throws QUI\Exception
*/
......@@ -96,7 +97,7 @@ class Manager
) {
Permission::checkPermission('quiqqer.cron.edit');
if (!$this->_cronExists($cron)) {
if (!$this->cronExists($cron)) {
throw new QUI\Exception(
QUI::getLocale()->get('quiqqer/cron', 'exception.cron.1002'),
1002
......@@ -139,7 +140,7 @@ class Manager
/**
* activate a cron in the cron list
*
* @param Integer $cronId - ID of the cron
* @param integer $cronId - ID of the cron
*/
public function activateCron($cronId)
{
......@@ -155,7 +156,7 @@ class Manager
/**
* deactivate a cron in the cron list
*
* @param Integer $cronId - ID of the cron
* @param integer $cronId - ID of the cron
*/
public function deactivateCron($cronId)
{
......@@ -171,7 +172,7 @@ class Manager
/**
* Delete the crons
*
* @param Array $ids - Array of the Cron-Ids
* @param array $ids - Array of the Cron-Ids
*/
public function deleteCronIds($ids)
{
......@@ -250,7 +251,7 @@ class Manager
/**
* Execute a cron
*
* @param Integer $cronId - ID of the cron
* @param integer $cronId - ID of the cron
*
* @return \QUI\Cron\Manager
* @throws QUI\Exception
......@@ -290,7 +291,7 @@ class Manager
)
);
QUI::getDataBase()->insert(self::TableHistory(), array(
QUI::getDataBase()->insert(self::tableHistory(), array(
'cronid' => $cronId,
'lastexec' => date('Y-m-d H:i:s'),
'uid' => QUI::getUserBySession()->getId()
......@@ -309,7 +310,7 @@ class Manager
/**
* Return the Crons which are available and from other Plugins provided
*
* @return Array
* @return array
*/
public function getAvailableCrons()
{
......@@ -338,9 +339,9 @@ class Manager
/**
* Return the data of a inserted cron
*
* @param Integer $cronId - ID of the Cron
* @param integer $cronId - ID of the Cron
*
* @return Array|false - Cron Data
* @return array|false - Cron Data
*/
public function getCronById($cronId)
{
......@@ -363,9 +364,9 @@ class Manager
* Return the data of a specific cron from the available cron list
* This cron is not in the cron list
*
* @param String $cron - Name of the Cron
* @param string $cron - Name of the Cron
*
* @return Array|false - Cron Data
* @return array|false - Cron Data
*/
public function getCronData($cron)
{
......@@ -399,7 +400,7 @@ class Manager
}
$data = QUI::getDataBase()->fetch(array(
'from' => self::TableHistory(),
'from' => self::tableHistory(),
'limit' => $limit,
'order' => $order
));
......@@ -430,7 +431,6 @@ class Manager
$entry['username'] = $Users->get($entry['uid'])->getName();
} catch (QUI\Exception $Exception) {
}
$result[] = $entry;
......@@ -442,12 +442,12 @@ class Manager
/**
* Return the history count, how many history entries exist
*
* @return Integer
* @return integer
*/
public function getHistoryCount()
{
$result = QUI::getDataBase()->fetch(array(
'from' => self::TableHistory(),
'from' => self::tableHistory(),
'count' => 'id'
));
......@@ -457,7 +457,7 @@ class Manager
/**
* Return the cron list
*
* @return Array
* @return array
*/
public function getList()
{
......@@ -473,7 +473,7 @@ class Manager
*
* @return Bool
*/
protected function _cronExists($cron)
protected function cronExists($cron)
{
return $this->getCronData($cron) === false ? false : true;
}
......@@ -485,9 +485,9 @@ class Manager
/**
* Return the cron tabe
*
* @return String
* @return string
*/
static function Table()
public static function TABLE()
{
return QUI_DB_PRFX . 'cron';
}
......@@ -495,9 +495,9 @@ class Manager
/**
* Return the cron tabe
*
* @return String
* @return string
*/
static function TableHistory()
public static function tableHistory()
{
return QUI_DB_PRFX . 'cron_history';
}
......@@ -505,11 +505,11 @@ class Manager
/**
* Return the Crons from a XML File
*
* @param String $file
* @param string $file
*
* @return Array
* @return array
*/
static function getCronsFromFile($file)
public static function getCronsFromFile($file)
{
if (!file_exists($file)) {
return array();
......@@ -554,6 +554,7 @@ class Manager
if ($Params->length) {
foreach ($Params as $Param) {
/* @var $Param \DOMElement */
$params[] = array(
'name' => $Param->getAttribute('name'),
'type' => $Param->getAttribute('type')
......@@ -577,7 +578,7 @@ class Manager
*
* @param String $message - Message
*/
static function log($message)
public static function log($message)
{
QUI\System\Log::addInfo($message, array(), 'cron');
}
......
......@@ -18,7 +18,7 @@ class QuiqqerCrons
/**
* Clear the temp folder
*/
static function clearTempFolder()
public static function clearTempFolder()
{
$Temp = QUI::getTemp();
$Temp->clear();
......@@ -27,7 +27,7 @@ class QuiqqerCrons
/**
* Clear complete cache
*/
static function clearCache()
public static function clearCache()
{
QUI\Cache\Manager::clearAll();
}
......@@ -35,7 +35,7 @@ class QuiqqerCrons
/**
* Purge the cache
*/
static function purgeCache()
public static function purgeCache()
{
QUI\Cache\Manager::purge();
}
......@@ -43,7 +43,7 @@ class QuiqqerCrons
/**
* Clear the media cache of the administration
*/
static function clearAdminMediaCache()
public static function clearAdminMediaCache()
{
QUI\Utils\System\File::unlink(VAR_DIR . 'cache/admin/media/');
}
......@@ -52,12 +52,12 @@ class QuiqqerCrons
* Check project sites release dates
* Activate or deactivate sites
*
* @param Array $params - Cron Parameter
* @param array $params - Cron Parameter
* @param \QUI\Cron\Manager $CronManager
*
* @throws QUI\Exception
*/
static function realeaseDate($params, $CronManager)
public static function realeaseDate($params, $CronManager)
{
if (!isset($params['project'])) {
throw new QUI\Exception('Need a project parameter to search release dates');
......@@ -159,7 +159,7 @@ class QuiqqerCrons
* @param array $params
* @param \QUI\Cron\Manager $CronManager
*/
static function mailQueue($params, $CronManager)
public static function mailQueue($params, $CronManager)
{
$MailQueue = new QUI\Mail\Queue();
......@@ -167,4 +167,4 @@ class QuiqqerCrons
$MailQueue->send();
}
}
}
\ No newline at end of file
}
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren