Index: admin/system_presets/simple/agents_agent.php
===================================================================
--- admin/system_presets/simple/agents_agent.php (revision 14858)
+++ admin/system_presets/simple/agents_agent.php (working copy)
@@ -4,26 +4,26 @@
// section removal
$remove_sections = Array (
- 'in-portal:agents',
+ 'in-portal:scheduled_tasks',
);
// sections shown with debug on
$debug_only_sections = Array (
-// 'in-portal:agents',
+// 'in-portal:scheduled_tasks',
);
// toolbar buttons
$remove_buttons = Array (
-// list of agents
-// 'agent_list' => Array ('new_item', 'edit', 'delete', 'approve', 'decline', 'process', 'cancel', 'view', 'dbl-click'),
+// list of scheduled tasks
+// 'scheduled_task_list' => Array ('new_item', 'edit', 'delete', 'approve', 'decline', 'process', 'cancel', 'view', 'dbl-click'),
-// edit agent
-// 'agent_edit' => Array ('select', 'cancel', 'reset_edit', 'prev', 'next'),
+// edit scheduled task
+// 'scheduled_task_edit' => Array ('select', 'cancel', 'reset_edit', 'prev', 'next'),
);
// fields to hide
$hidden_fields = Array (
- /* 'AgentId', 'AgentName', 'AgentType', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn',
+ /* 'ScheduledTaskId', 'Name', 'Type', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn',
'LastRunStatus', 'NextRunOn', 'RunTime', */
);
@@ -33,7 +33,7 @@
// fields to make required
$required_fields = Array (
- /* 'AgentId', 'AgentName', 'AgentType', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn',
+ /* 'ScheduledTaskId', 'Name', 'Type', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn',
'LastRunStatus', 'NextRunOn', 'RunTime', */
);
@@ -47,5 +47,5 @@
// hide columns in grids
$hide_columns = Array (
// currently not in user
-// 'Default' => Array ( 'AgentId', 'AgentName', 'AgentType', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn', 'LastRunStatus', 'NextRunOn', ),
+// 'Default' => Array ( 'ScheduledTaskId', 'Name', 'Type', 'Status', 'Event', 'RunInterval', 'RunMode', 'LastRunOn', 'LastRunStatus', 'NextRunOn', ),
);
\ No newline at end of file
Index: core/admin_templates/agents/agent_edit.tpl
===================================================================
--- core/admin_templates/agents/agent_edit.tpl (revision 14858)
+++ core/admin_templates/agents/agent_edit.tpl (working copy)
@@ -1,7 +1,7 @@
-
+
-
+
\ No newline at end of file
Index: core/install/english.lang
===================================================================
--- core/install/english.lang (revision 14858)
+++ core/install/english.lang (working copy)
@@ -674,9 +674,9 @@
PHVsPg0KICA8bGk+U2NhbnMgZm9yIG5ld2x5IGFkZGVkIEZyb250LWVuZCBUaGVtZSB0ZW1wbGF0ZXMgYWNyb3NzIGFsbCA8c3Ryb25nPjxpPmVuYWJsZWQ8L2k+PC9zdHJvbmc+IHRoZW1lcy4gVGhpcyBhY3Rpb24gaXMgcGVyZm9ybWVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG5ldyB0aGVtZSBpcyBhZGRlZCBvciBleGlzdGluZyB0aGVtZSBpcyBlbmFibGVkLjwvbGk+DQogIDxsaT5BZGRpdGlvbmFsbHksIGRlbGV0ZXMgYWxsIGNvbXByZXNzZWQgYW5kIGNhY2hlZCBKYXZhc2NyaXB0L0NTUyBmaWxlcyAoLmpzIC5jc3MpIGxvYWRlZCB1c2luZyA8c3Ryb25nPjxpPiZsdDtpbnAyOm1fQ29tcHJlc3MgLi4uLyZndDs8L2k+PC9zdHJvbmc+IHRhZy48L2xpPg0KICA8bGk+VGhpcyBmdW5jdGlvbiBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhICJSZWZyZXNoIiBidXR0b24gaW4gdGhlIFRoZW1lcyBzZWN0aW9uIHRvb2xiYXIgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KICA8bGk+VGhpcyBvcHRpb24gc2hvdWxkIGJlIHVzZWQgaW4gY2FzZSB3aGVuICI0MDQgTm90IEZvdW5kIiBwYWdlIGlzIHNob3duIGluc3RlYWQgb2YgZXhwZWN0ZWQgbmV3bHkgYWRkZWQgcGFnZSBvciB0ZW1wbGF0ZS48L2xpPg0KPC91bD4=
PHVsPg0KICA8bGk+UmVzZXRzIHRoZSBjYWNoZSBvZiBBZG1pbiBDb25zb2xlIHNlY3Rpb25zIChsZWZ0IG1lbnUpLiBUaGUgZGVmaW5pdGlvbnMgb2Ygc2VjdGlvbnMgYXJlIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5Vc2UgdGhpcyByZXNldCBvcHRpb24gaWYgYSBuZXdseSBhZGRlZCBzZWN0aW9uIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBsZWZ0IEFkbWluIENvbnNvbGUgbWVudS48L2xpPg0KPC91bD4=
PHVsPg0KICA8bGk+UmVzZXRzIDxzdHJvbmc+PGk+QWxsIERhdGE8L2k+PC9zdHJvbmc+IHN0b3JlZCBpbiB0aGUgTWVtb3J5IENhY2hlLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIFN5c3RlbSBEYXRhIGFuZCBEYXRhYmFzZSBJdGVtcy48L2xpPg0KICA8bGk+VXNlIHdpdGggY2F1dGlvbiBkdWUgdG8gcG9zc2liaWxpdHkgb2YgbG9uZyBleGVjdXRpb24gdGltZS48L2xpPg0KPC91bD4=
- PHVsPg0KICA8bGk+U2NhbnMgPHN0cm9uZz48aT4iY29yZSI8L2k+PC9zdHJvbmc+IGFuZCA8c3Ryb25nPjxpPiJtb2R1bGVzIjwvaT48L3N0cm9uZz4gZm9sZGVycyB0byBjYWNoZSB0aGUgbG9jYXRpb24gb2YgYWxsIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzLiBUaGUgZXhlY3V0aW9uIHRpbWUgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIGZvdW5kLjwvbGk+DQogIDxsaT5SZXNldHMgdmFyaW91cyBjYWNoZWQgc3lzdGVtIGRhdGEgc3VjaCBhcyBkZWZpbmVkIFBIUCBDbGFzc2VzIChtYXBwaW5nIGJldHdlZW4gdGhlIGNsYXNzIG5hbWUgYW5kIHBoeXNpY2FsIGZpbGVuYW1lIGFuZCBsb2NhdGlvbiBvZiB0aGUgY2xhc3MpLCBIb29rcywgQWdlbnRzLCBDYWNoZWQgQ29uZmlndXJhdGlvbiBWYXJpYWJsZXMsIFJlcGxhY2VtZW50IFRlbXBsYXRlcywgUmV3cml0ZSBMaXN0ZW5lcnMgYW5kIExvYWRlZCBNb2R1bGVzLiBEYXRhIGlzIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5EZWxldGVzIGNvbXBpbGVkIHNraW5zIGZvciBBZG1pbiBDb25zb2xlIChjc3MgZmlsZXMpLjwvbGk+DQo8L3VsPg==
+ PHVsPg0KICA8bGk+U2NhbnMgPHN0cm9uZz48aT4iY29yZSI8L2k+PC9zdHJvbmc+IGFuZCA8c3Ryb25nPjxpPiJtb2R1bGVzIjwvaT48L3N0cm9uZz4gZm9sZGVycyB0byBjYWNoZSB0aGUgbG9jYXRpb24gb2YgYWxsIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzLiBUaGUgZXhlY3V0aW9uIHRpbWUgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIGZvdW5kLjwvbGk+DQogIDxsaT5SZXNldHMgdmFyaW91cyBjYWNoZWQgc3lzdGVtIGRhdGEgc3VjaCBhcyBkZWZpbmVkIFBIUCBDbGFzc2VzIChtYXBwaW5nIGJldHdlZW4gdGhlIGNsYXNzIG5hbWUgYW5kIHBoeXNpY2FsIGZpbGVuYW1lIGFuZCBsb2NhdGlvbiBvZiB0aGUgY2xhc3MpLCBIb29rcywgU2NoZWR1bGVkIFRhc2tzLCBDYWNoZWQgQ29uZmlndXJhdGlvbiBWYXJpYWJsZXMsIFJlcGxhY2VtZW50IFRlbXBsYXRlcywgUmV3cml0ZSBMaXN0ZW5lcnMgYW5kIExvYWRlZCBNb2R1bGVzLiBEYXRhIGlzIHJlYWQgYW5kIGNvbGxlY3RlZCBmcm9tIDxzdHJvbmc+PGk+VW5pdCBDb25maWc8L2k+PC9zdHJvbmc+IGZpbGVzIHRoYXQgYWxyZWFkeSBiZWVuIHNjYW5uZWQgYW5kIGNhY2hlZCBieSB0aGUgc3lzdGVtLjwvbGk+DQogIDxsaT5EZWxldGVzIGNvbXBpbGVkIHNraW5zIGZvciBBZG1pbiBDb25zb2xlIChjc3MgZmlsZXMpLjwvbGk+DQo8L3VsPg==
PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSBGcm9udC1lbmQgVVJMcyBhbmQgYWN0dWFsIFRoZW1lIFRlbXBsYXRlcy4gVGhpcyBtYXBwaW5nIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBTdHJ1Y3R1cmUgb3IgU2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgTW9kUmV3cml0ZSBtb2RlIGlzIGVuYWJsZWQgYW5kIGRpc3BsYXllZCBwYWdlIGRpZmZlcnMgZnJvbSB0aGUgcGFnZSB0aGF0IGl0IHNob3VsZCBiZSwgd2hlbiBnaXZlbiBVUkwgaXMgdmlzaXRlZC48L2xpPg0KPC91bD4=
- PHVsPg0KICA8bGk+UmVzZXRzIHZhcmlvdXMgY2FjaGVkIHN5c3RlbSBkYXRhIHN1Y2ggYXMgZGVmaW5lZCBQSFAgQ2xhc3NlcyAobWFwcGluZyBiZXR3ZWVuIHRoZSBjbGFzcyBuYW1lIGFuZCBwaHlzaWNhbCBmaWxlbmFtZSBhbmQgbG9jYXRpb24gb2YgdGhlIGNsYXNzKSwgSG9va3MsIEFnZW50cywgQ2FjaGVkIENvbmZpZ3VyYXRpb24gVmFyaWFibGVzLCBSZXBsYWNlbWVudCBUZW1wbGF0ZXMsIFJld3JpdGUgTGlzdGVuZXJzIGFuZCBMb2FkZWQgTW9kdWxlcy4gRGF0YSBpcyByZWFkIGFuZCBjb2xsZWN0ZWQgZnJvbSA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnPC9pPjwvc3Ryb25nPiBmaWxlcyB0aGF0IGFscmVhZHkgYmVlbiBzY2FubmVkIGFuZCBjYWNoZWQgYnkgdGhlIHN5c3RlbS48L2xpPg0KPC91bD4=
+ PHVsPg0KICA8bGk+UmVzZXRzIHZhcmlvdXMgY2FjaGVkIHN5c3RlbSBkYXRhIHN1Y2ggYXMgZGVmaW5lZCBQSFAgQ2xhc3NlcyAobWFwcGluZyBiZXR3ZWVuIHRoZSBjbGFzcyBuYW1lIGFuZCBwaHlzaWNhbCBmaWxlbmFtZSBhbmQgbG9jYXRpb24gb2YgdGhlIGNsYXNzKSwgSG9va3MsIFNjaGVkdWxlZCBUYXNrcywgQ2FjaGVkIENvbmZpZ3VyYXRpb24gVmFyaWFibGVzLCBSZXBsYWNlbWVudCBUZW1wbGF0ZXMsIFJld3JpdGUgTGlzdGVuZXJzIGFuZCBMb2FkZWQgTW9kdWxlcy4gRGF0YSBpcyByZWFkIGFuZCBjb2xsZWN0ZWQgZnJvbSA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnPC9pPjwvc3Ryb25nPiBmaWxlcyB0aGF0IGFscmVhZHkgYmVlbiBzY2FubmVkIGFuZCBjYWNoZWQgYnkgdGhlIHN5c3RlbS48L2xpPg0KPC91bD4=
PHVsPg0KICA8bGk+RGVsZXRlcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgRnJvbnQtZW5kIG1lbnUgKGRpc3BsYXllZCB2aWEgPHN0cm9uZz48aT4mbHQ7aW5wMjpzdF9DYWNoZWRNZW51IC4uLi8mZ3Q7PC9pPjwvc3Ryb25nPiB0YWcpLiBUaGlzIGNhY2hlIGlzIHVwZGF0ZWQgYXV0b21hdGljYWxseSwgd2hlbiB0aGUgd2Vic2l0ZSBzdHJ1Y3R1cmUgb3Igc2VjdGlvbnMgYXJlIGNoYW5nZWQuPC9saT4NCiAgPGxpPlVzZSB0aGlzIG9wdGlvbiBvbmx5IGluIGNhc2UgaWYgZGlzcGxheWVkIG1lbnUgb24gdGhlIEZyb250LWVuZCBkb2Vzbid0IG1hdGNoIHRoZSBtZW51IGRlZmluZWQgaW4gQWRtaW4gQ29uc29sZS48L2xpPg0KPC91bD4=
PHVsPg0KICA8bGk+U2hvd3MgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZGF0YWJhc2UgdGFibGUgbG9hZGluZyBpdCBieSB0aGUgVGFibGUgTmFtZSAodGFibGUgcHJlZml4IGlzIG9wdGlvbmFsKSBvciA8c3Ryb25nPjxpPlVuaXQgQ29uZmlnIFByZWZpeDwvaT48L3N0cm9uZz4gYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFibGUuPC9saT4NCjwvdWw+
PHVsPg0KPGxpPkFzIGEgcmVzdWx0LCBzY3JpcHQgd2lsbCBWYWxpZGF0ZSBjdXJyZW50IDxiPjx1PnByb2plY3RfdXBncmFkZXMuc3FsPC91PjwvYj4gZmlsZSBhbmQgb3V0bGluZSBhbnkgZXJyb3JzIG9yIGluY29uc2lzdGVuY2llcywgYW5kIGF1dG8tcG9wdWxhdGUgYWxsIG1pc3NpbmcgREIgUmV2aXNpb25zIGZyb20gdGhlIGZpbGUgaW50byBBcHBsaWVkREJSZXZpc2lvbnMuPC9saT4NCjxsaT48YiBzdHlsZT0iY29sb3I6cmVkIj5OT1RFOjwvYj4gRGV2ZWxvcGVycyBzaG91bGQgT05MWSBydW4gdGhpcyBiZWZvcmUgdGhleSBwZXJmb3JtIFJlcG9zaXRvcnkgVXBkYXRlcyBvbiB0aGVpIHdvcmtpbmcgY29weSE8L2xpPg0KPC91bD4=
@@ -1223,7 +1223,6 @@
VXNlcnM=
VmVyc2lvbg==
Vmlldw==
- QWRkaW5nIEFnZW50
QWRkaW5nIEJhbiBSdWxl
QWRkaW5nIENvdW50cnkvU3RhdGU=
QWRkaW5nIEN1c3RvbSBGaWVsZA==
@@ -1231,6 +1230,7 @@
QWRkaW5nIE1haWxpbmcgTGlzdA==
QWRkaW5nIFBlcm1pc3Npb24gVHlwZQ==
QWRkaW5nIFByb21vIEJsb2Nr
+ QWRkaW5nIFNjaGVkdWxlZCBUYXNr
QWRkaW5nIFNpdGUgRG9tYWlu
QWRkaW5nIFNraW4=
QWRkaW5nIFNwZWxsaW5nIERpY3Rpb25hcnk=
@@ -1258,7 +1258,6 @@
QWRtaW5pc3RyYXRvcnM=
QWR2YW5jZWQ=
U2hvd2luZyBhbGwgcmVnYXJkbGVzcyBvZiBTdHJ1Y3R1cmU=
- QWdlbnRz
QmFzZSBTdHlsZXM=
QmxvY2sgU3R5bGVz
Qm91bmNlIFBPUDMgU2VydmVyIFNldHRpbmdz
@@ -1272,7 +1271,6 @@
Q1NWIEltcG9ydA==
Q3VzdG9t
Q3VzdG9tIEZpZWxkcw==
- RWRpdGluZyBBZ2VudA==
RWRpdGluZyBCYW4gUnVsZQ==
RWRpdGluZyBDaGFuZ2VzIExvZw==
Q29udGVudCBFZGl0b3IgLSBBdXRvLXNhdmVkIGF0ICVz
@@ -1283,6 +1281,7 @@
RWRpdGluZyBNZW1iZXJzaGlw
RWRpdGluZyBQZXJtaXNzaW9uIFR5cGU=
RWRpdGluZyBQcm9tbyBCbG9jaw==
+ RWRpdGluZyBTY2hlZHVsZWQgVGFzaw==
RWRpdGluZyBTaXRlIERvbWFpbg==
RWRpdGluZyBTa2lu
RWRpdGluZyBTUEFNIFJlcG9ydA==
@@ -1333,10 +1332,10 @@
TWFpbGluZ3M=
TWVzc2FnZXM=
TW9kdWxlcw==
- TmV3IEFnZW50
TmV3IEVtYWlsIEV2ZW50
TmV3IEZpbGU=
TmV3IFJlcGx5
+ TmV3IFNjaGVkdWxlZCBUYXNr
TmV3IFRoZW1l
TmV3IFRoZW1lIFRlbXBsYXRl
TmV3IEJhc2UgU3R5bGU=
@@ -1356,6 +1355,7 @@
UmVsYXRpb25z
UmVwbHkgUE9QMyBTZXJ2ZXIgU2V0dGluZ3M=
Q29tbWVudHM=
+ U2NoZWR1bGVkIFRhc2tz
U2VsZWN0IEdyb3VwKHMp
U2VsZWN0IFVzZXI=
U2VuZCBFLW1haWw=
@@ -1433,7 +1433,6 @@
TG9naW4gQXM=
TW92ZSBEb3du
TW92ZSBVcA==
- TmV3IEFnZW50
TmV3IEJhc2UgU3R5bGU=
TmV3IEJsb2NrIFN0eWxl
TmV3IENvdW50cnkvU3RhdGU=
@@ -1443,6 +1442,7 @@
TmV3IFBlcm1pc3Npb24=
TmV3IFBocmFzZQ==
TmV3IENvbW1lbnQ=
+ TmV3IFNjaGVkdWxlZCBUYXNr
TmV3IFNlYXJjaCBGaWVsZA==
TmV3IFNpdGUgRG9tYWlu
TmV3IFN0b3AgV29yZA==
@@ -1517,7 +1517,7 @@
VW5pY29kZQ==
VXBkYXRpbmcgQ29uZmlndXJhdGlvbg==
VXBsb2Fk
- VXNlIENyb24gdG8gcnVuIEFnZW50cw==
+ VXNlIENyb24gdG8gcnVuIFNjaGVkdWxlZCBUYXNrcw==
QXNzaWduIGFkbWluaXN0cmF0b3JzIHRvIGdyb3Vw
QWxsb3cgbmV3IHVzZXIgcmVnaXN0cmF0aW9u
QXNzaWduIEFsbCBVc2VycyBUbyBHcm91cA==
Index: core/install/install_data.sql
===================================================================
--- core/install/install_data.sql (revision 14858)
+++ core/install/install_data.sql (working copy)
@@ -85,7 +85,7 @@
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'OutputCompressionLevel', '7', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_OutputCompressionLevel', 'text', '', '', 60.02, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'UseTemplateCompression', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_UseTemplateCompression', 'checkbox', '', '', 60.03, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'TrimRequiredFields', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_TrimRequiredFields', 'checkbox', '', '', 60.04, 0, 0, NULL);
-INSERT INTO ConfigurationValues VALUES(DEFAULT, 'UseCronForRegularEvent', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 60.05, 0, 0, NULL);
+INSERT INTO ConfigurationValues VALUES(DEFAULT, 'RunScheduledTasksFromCron', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 60.05, 0, 0, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'UseChangeLog', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_UseChangeLog', 'checkbox', '', '', 60.06, 0, 0, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'Backup_Path', '/home/alex/web/in-portal.rc/system/backupdata', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_backup_path', 'text', '', '', 60.07, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'SystemTagCache', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_prompt_syscache_enable', 'checkbox', NULL, NULL, 60.08, 0, 0, NULL);
@@ -564,10 +564,10 @@
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:service.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:service.edit', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:agents.delete', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:agents.edit', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:agents.add', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:agents.view', 11, 1, 1, 0);
+INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:scheduled_tasks.delete', 11, 1, 1, 0);
+INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:scheduled_tasks.edit', 11, 1, 1, 0);
+INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:scheduled_tasks.add', 11, 1, 1, 0);
+INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:scheduled_tasks.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:site_domains.delete', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:site_domains.edit', 11, 1, 1, 0);
Index: core/install/upgrades.sql
===================================================================
--- core/install/upgrades.sql (revision 14861)
+++ core/install/upgrades.sql (working copy)
@@ -2379,4 +2379,37 @@
INSERT INTO Permissions VALUES(DEFAULT, 'CATEGORY.REVISION.HISTORY.VIEW', 11, 1, 0, 1);
INSERT INTO Permissions VALUES(DEFAULT, 'CATEGORY.REVISION.HISTORY.RESTORE', 11, 1, 0, 1);
-ALTER TABLE EmailQueue ADD `LogData` TEXT;
\ No newline at end of file
+ALTER TABLE EmailQueue ADD `LogData` TEXT;
+
+UPDATE Permissions
+SET Permission = REPLACE(Permission, 'agents', 'scheduled_tasks')
+WHERE Permission LIKE 'in-portal:agents%';
+
+DELETE FROM Phrase
+WHERE PhraseKey IN (
+ 'LA_TITLE_ADDINGAGENT', 'LA_TITLE_EDITINGAGENT', 'LA_TITLE_NEWAGENT', 'LA_TITLE_AGENTS', 'LA_TOOLTIP_NEWAGENT'
+);
+
+UPDATE Phrase
+SET l<%PRIMARY_LANGUAGE%>_Translation = REPLACE(l<%PRIMARY_LANGUAGE%>_Translation, 'Agents', 'Scheduled Tasks')
+WHERE PhraseKey IN (
+ 'LA_USECRONFORREGULAREVENT', 'LA_HINT_SYSTEMTOOLSRESETPARSEDCACHEDDATA', 'LA_HINT_SYSTEMTOOLSRESETCONFIGSANDPARSEDDATA'
+);
+
+DELETE FROM PersistantSessionData
+WHERE VariableName LIKE 'agent%';
+
+RENAME TABLE Agents TO ScheduledTasks;
+
+ALTER TABLE ScheduledTasks
+ CHANGE AgentId ScheduledTaskId INT(11) NOT NULL AUTO_INCREMENT,
+ CHANGE AgentName Name VARCHAR(255) NOT NULL DEFAULT '',
+ CHANGE AgentType `Type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1';
+
+ALTER TABLE ScheduledTasks
+ DROP INDEX AgentType,
+ ADD INDEX `Type` (`Type`);
+
+UPDATE ConfigurationValues
+SET VariableName = 'RunScheduledTasksFromCron'
+WHERE VariableName = 'UseCronForRegularEvent';
\ No newline at end of file
Index: core/kernel/application.php
===================================================================
--- core/kernel/application.php (revision 14858)
+++ core/kernel/application.php (working copy)
@@ -686,7 +686,7 @@
$this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php', 'EventManager', 'kiCacheable');
$this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php', null, 'kiCacheable');
- $this->registerClass('kAgentManager', KERNEL_PATH . '/managers/agent_manager.php', null, 'kiCacheable');
+ $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/agent_manager.php', null, 'kiCacheable');
$this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php');
$this->registerClass('kUrlManager', KERNEL_PATH . '/managers/url_manager.php');
@@ -1025,7 +1025,7 @@
}
if ($debug_mode) {
- $this->EventManager->runAgents(reAFTER);
+ $this->EventManager->runScheduledTasks(reAFTER);
$this->Session->SaveData();
if (kUtil::constOn('DBG_CACHE')) {
@@ -1059,7 +1059,7 @@
flush();
if (!$debug_mode) {
- $this->EventManager->runAgents(reAFTER);
+ $this->EventManager->runScheduledTasks(reAFTER);
$this->Session->SaveData();
}
@@ -1782,18 +1782,18 @@
}
/**
- * Add new agent
+ * Add new scheduled task
*
- * @param string $short_name name to be used to store last maintenace run info
+ * @param string $short_name name to be used to store last maintenance run info
* @param string $event_name
* @param int $run_interval run interval in seconds
- * @param int $type before or after agent
+ * @param int $type before or after scheduled task
* @param int $status
* @access public
*/
- public function registerAgent($short_name, $event_name, $run_interval, $type = reBEFORE, $status = STATUS_ACTIVE)
+ public function registerScheduledTask($short_name, $event_name, $run_interval, $type = reBEFORE, $status = STATUS_ACTIVE)
{
- $this->EventManager->registerAgent($short_name, $event_name, $run_interval, $type, $status);
+ $this->EventManager->registerScheduledTask($short_name, $event_name, $run_interval, $type, $status);
}
/**
Index: core/kernel/constants.php
===================================================================
--- core/kernel/constants.php (revision 14868)
+++ core/kernel/constants.php (working copy)
@@ -63,11 +63,11 @@
define('EDITING_MODE_CONTENT', 2); // content blocks + phrase editing
define('EDITING_MODE_DESIGN', 3); // all other blocks
- class Agent {
- const AGENT_TYPE_USER = 1;
- const AGENT_TYPE_SYSTEM = 2;
+ class ScheduledTask {
+ const TYPE_USER = 1;
+ const TYPE_SYSTEM = 2;
- const LAST_RUN_SUCCEDED = 1;
+ const LAST_RUN_SUCCEEDED = 1;
const LAST_RUN_FAILED = 0;
const LAST_RUN_RUNNING = 2;
}
Index: core/kernel/event_manager.php
===================================================================
--- core/kernel/event_manager.php (revision 14858)
+++ core/kernel/event_manager.php (working copy)
@@ -25,12 +25,12 @@
protected $Hooks = null;
/**
- * Instance of agent manager
+ * Instance of scheduled task manager
*
- * @var kAgentManager
+ * @var kScheduledTaskManager
* @access protected
*/
- protected $Agents = null;
+ protected $ScheduledTasks = null;
/**
* Instance of request manager
@@ -66,7 +66,7 @@
parent::__construct();
$this->Hooks =& $this->Application->makeClass('kHookManager');
- $this->Agents =& $this->Application->makeClass('kAgentManager');
+ $this->ScheduledTasks =& $this->Application->makeClass('kScheduledTaskManager');
$this->Request =& $this->Application->makeClass('kRequestManager');
}
@@ -79,7 +79,7 @@
public function setFromCache(&$data)
{
$this->Hooks->setFromCache($data);
- $this->Agents->setFromCache($data);
+ $this->ScheduledTasks->setFromCache($data);
$this->buildEvents = $data['EventManager.buildEvents'];
}
@@ -94,7 +94,7 @@
{
return array_merge(
$this->Hooks->getToCache(),
- $this->Agents->getToCache(),
+ $this->ScheduledTasks->getToCache(),
Array (
'EventManager.buildEvents' => $this->buildEvents,
)
@@ -102,58 +102,58 @@
}
/**
- * Returns information about registered agents
+ * Returns information about registered scheduled tasks
*
* @param bool $from_cache
* @return Array
* @access public
*/
- public function getAgents($from_cache = false)
+ public function getScheduledTasks($from_cache = false)
{
- return $this->Agents->getAll($from_cache);
+ return $this->ScheduledTasks->getAll($from_cache);
}
/**
- * Add new agent
+ * Add new scheduled task
*
- * @param string $short_name name to be used to store last maintenace run info
+ * @param string $short_name name to be used to store last maintenance run info
* @param string $event_name
* @param int $run_interval run interval in seconds
- * @param int $type before or after agent
+ * @param int $type before or after scheduled task
* @param int $status
* @access public
*/
- public function registerAgent($short_name, $event_name, $run_interval, $type = reBEFORE, $status = STATUS_ACTIVE)
+ public function registerScheduledTask($short_name, $event_name, $run_interval, $type = reBEFORE, $status = STATUS_ACTIVE)
{
- $this->Agents->add($short_name, $event_name, $run_interval, $type, $status);
+ $this->ScheduledTasks->add($short_name, $event_name, $run_interval, $type, $status);
}
/**
- * Run registred agents with specified event type
+ * Run registered scheduled tasks with specified event type
*
* @param int $event_type
* @param bool $from_cron
* @access public
*/
- public function runAgents($event_type = reBEFORE, $from_cron = false)
+ public function runScheduledTasks($event_type = reBEFORE, $from_cron = false)
{
- $this->Agents->runAgents($event_type, $from_cron);
+ $this->ScheduledTasks->runAll($event_type, $from_cron);
}
/**
- * Runs agent based on given data
+ * Runs scheduled task based on given data
*
- * @param Array $agent_data
+ * @param Array $scheduled_task_data
* @return bool
* @access public
*/
- public function runAgent($agent_data)
+ public function runScheduledTask($scheduled_task_data)
{
- return $this->Agents->runAgent($agent_data);
+ return $this->ScheduledTasks->run($scheduled_task_data);
}
/**
- * Registers Hook from subprefix event to master prefix event
+ * Registers Hook from sub-prefix event to master prefix event
*
* Pattern: Observer
*
Index: core/kernel/managers/agent_manager.php
===================================================================
--- core/kernel/managers/agent_manager.php (revision 14858)
+++ core/kernel/managers/agent_manager.php (working copy)
@@ -14,7 +14,7 @@
defined('FULL_PATH') or die('restricted access!');
-class kAgentManager extends kBase implements kiCacheable {
+class kScheduledTaskManager extends kBase implements kiCacheable {
/**
* Events, that should be run before parser initialization
@@ -22,7 +22,7 @@
* @var Array
* @access protected
*/
- protected $beforeAgents = Array ();
+ protected $before = Array ();
/**
* Events, that should be run after parser initialization
@@ -30,7 +30,7 @@
* @var Array
* @access protected
*/
- protected $afterAgents = Array ();
+ protected $after = Array ();
/**
* Sets data from cache to object
@@ -40,8 +40,8 @@
*/
public function setFromCache(&$data)
{
- $this->beforeAgents = $data['EventManager.beforeRegularEvents'];
- $this->afterAgents = $data['EventManager.afterRegularEvents'];
+ $this->before = $data['EventManager.beforeRegularEvents'];
+ $this->after = $data['EventManager.afterRegularEvents'];
}
/**
@@ -53,13 +53,13 @@
public function getToCache()
{
return Array (
- 'EventManager.beforeRegularEvents' => $this->beforeAgents,
- 'EventManager.afterRegularEvents' => $this->afterAgents,
+ 'EventManager.beforeRegularEvents' => $this->before,
+ 'EventManager.afterRegularEvents' => $this->after,
);
}
/**
- * Returns information about registered agents
+ * Returns information about registered scheduled tasks
*
* @param bool $from_cache
* @return Array
@@ -67,99 +67,99 @@
*/
public function getAll($from_cache = false)
{
- static $agents = null;
+ static $scheduled_tasks = null;
if ($from_cache) {
return Array (
- reBEFORE => $this->beforeAgents,
- reAFTER => $this->afterAgents,
+ reBEFORE => $this->before,
+ reAFTER => $this->after,
);
}
- if ( !isset($agents) ) {
- $timeout_clause = 'LastRunStatus = ' . Agent::LAST_RUN_RUNNING . ' AND Timeout > 0 AND ' . adodb_mktime() . ' - LastRunOn > Timeout';
+ if ( !isset($scheduled_tasks) ) {
+ $timeout_clause = 'LastRunStatus = ' . ScheduledTask::LAST_RUN_RUNNING . ' AND Timeout > 0 AND ' . adodb_mktime() . ' - LastRunOn > Timeout';
$sql = 'SELECT *
- FROM ' . $this->Application->getUnitOption('agent', 'TableName') . '
- WHERE (Status = ' . STATUS_ACTIVE . ') AND ((LastRunStatus != ' . Agent::LAST_RUN_RUNNING . ') OR (' . $timeout_clause . '))';
- $all_agents = $this->Conn->Query($sql);
+ FROM ' . $this->Application->getUnitOption('scheduled-task', 'TableName') . '
+ WHERE (Status = ' . STATUS_ACTIVE . ') AND ((LastRunStatus != ' . ScheduledTask::LAST_RUN_RUNNING . ') OR (' . $timeout_clause . '))';
+ $all_scheduled_tasks = $this->Conn->Query($sql);
- $agents = Array (
+ $scheduled_tasks = Array (
reBEFORE => Array (),
reAFTER => Array (),
);
- foreach ($all_agents as $agent_data) {
- $agents[ $agent_data['RunMode'] ][ $agent_data['AgentName'] ] = Array (
- 'EventName' => $agent_data['Event'],
- 'RunInterval' => (int)$agent_data['RunInterval'],
- 'LastRunOn' => (int)$agent_data['LastRunOn'],
- 'NextRunOn' => (int)$agent_data['NextRunOn'],
- 'Status' => $agent_data['Status'],
- 'LastRunStatus' => $agent_data['LastRunStatus'],
- 'SiteDomainLimitation' => $agent_data['SiteDomainLimitation'],
+ foreach ($all_scheduled_tasks as $scheduled_task_data) {
+ $scheduled_tasks[ $scheduled_task_data['RunMode'] ][ $scheduled_task_data['Name'] ] = Array (
+ 'EventName' => $scheduled_task_data['Event'],
+ 'RunInterval' => (int)$scheduled_task_data['RunInterval'],
+ 'LastRunOn' => (int)$scheduled_task_data['LastRunOn'],
+ 'NextRunOn' => (int)$scheduled_task_data['NextRunOn'],
+ 'Status' => $scheduled_task_data['Status'],
+ 'LastRunStatus' => $scheduled_task_data['LastRunStatus'],
+ 'SiteDomainLimitation' => $scheduled_task_data['SiteDomainLimitation'],
);
}
}
- return $agents;
+ return $scheduled_tasks;
}
/**
- * Returns agents by type
+ * Returns scheduled tasks by type
*
* @param int $type
* @return Array
* @access protected
*/
- protected function &getAgentsByType($type)
+ protected function &getByType($type)
{
if ($type == reBEFORE) {
- return $this->beforeAgents;
+ return $this->before;
}
- return $this->afterAgents;
+ return $this->after;
}
/**
- * Add new agent
+ * Add new scheduled task
*
* @param string $short_name name to be used to store last maintenance run info
* @param string $event_name
* @param int $run_interval run interval in seconds
- * @param int $type before or after agent
+ * @param int $type before or after scheduled task
* @param int $status
* @access public
*/
public function add($short_name, $event_name, $run_interval, $type = reBEFORE, $status = STATUS_ACTIVE)
{
- $agents =& $this->getAgentsByType($type);
+ $scheduled_tasks =& $this->getByType($type);
- $agents[$short_name] = Array (
+ $scheduled_tasks[$short_name] = Array (
'EventName' => $event_name, 'RunInterval' => $run_interval, 'Status' => $status
);
}
/**
- * Run registered agents with specified event type
+ * Run registered scheduled tasks with specified event type
*
* @param int $event_type
* @param bool $from_cron
* @access public
*/
- public function runAgents($event_type = reBEFORE, $from_cron = false)
+ public function runAll($event_type = reBEFORE, $from_cron = false)
{
if ( defined('IS_INSTALL') ) {
return ;
}
- if ( !$from_cron && $this->Application->ConfigValue('UseCronForRegularEvent') ) {
- // if RegularEvents are set to run from cron
+ if ( !$from_cron && $this->Application->ConfigValue('RunScheduledTasksFromCron') ) {
+ // if scheduled tasks are set to run from cron
return ;
}
- $agents = $this->getAll();
- $events_source = $agents[$event_type];
+ $scheduled_tasks = $this->getAll();
+ $events_source = $scheduled_tasks[$event_type];
$user_id = $this->Application->RecallVar('user_id');
$this->Application->StoreVar('user_id', USER_ROOT, true); // to prevent permission checking inside events, true for optional storage
@@ -174,14 +174,14 @@
$site_domains = explode('|', substr($event_data['SiteDomainLimitation'], 1, -1));
if ( !in_array($site_domain_id, $site_domains) ) {
- // agent isn't allowed on this site domain
+ // scheduled task isn't allowed on this site domain
continue;
}
}
// remember LastTimeoutOn only for events that are still running and will be reset
- if ( $event_data['LastRunStatus'] == Agent::LAST_RUN_RUNNING ) {
- $this->updateAgent($short_name, Array ('LastTimeoutOn' => adodb_mktime()));
+ if ( $event_data['LastRunStatus'] == ScheduledTask::LAST_RUN_RUNNING ) {
+ $this->update($short_name, Array ('LastTimeoutOn' => adodb_mktime()));
}
$next_run = $event_data['NextRunOn'];
@@ -190,77 +190,77 @@
continue;
}
- $event_data['AgentName'] = $short_name;
- $this->runAgent($event_data);
+ $event_data['Name'] = $short_name;
+ $this->run($event_data);
}
$this->Application->StoreVar('user_id', $user_id, $user_id == USER_GUEST);
}
/**
- * Runs agent based on given data
+ * Runs scheduled task based on given data
*
- * @param Array $agent_data
+ * @param Array $scheduled_task_data
* @return bool
* @access public
*/
- public function runAgent($agent_data)
+ public function run($scheduled_task_data)
{
- $event = new kEvent($agent_data['EventName']);
+ $event = new kEvent($scheduled_task_data['EventName']);
if ( !$this->Application->prefixRegistred($event->Prefix) ) {
- // don't process agents, left from disabled modules
+ // don't process scheduled tasks, left from disabled modules
return false;
}
$start_time = adodb_mktime();
- // remember, when agent execution started
+ // remember, when scheduled task execution started
$fields_hash = Array (
'LastRunOn' => $start_time,
- 'LastRunStatus' => Agent::LAST_RUN_RUNNING,
- 'NextRunOn' => $start_time + $agent_data['RunInterval'],
+ 'LastRunStatus' => ScheduledTask::LAST_RUN_RUNNING,
+ 'NextRunOn' => $start_time + $scheduled_task_data['RunInterval'],
);
- $this->updateAgent($agent_data['AgentName'], $fields_hash);
+ $this->update($scheduled_task_data['Name'], $fields_hash);
$event->redirect = false;
$this->Application->HandleEvent($event);
$now = adodb_mktime();
- $next_run = $agent_data['RunInterval'] ? $start_time + $agent_data['RunInterval'] : $now;
+ $next_run = $scheduled_task_data['RunInterval'] ? $start_time + $scheduled_task_data['RunInterval'] : $now;
while ($next_run < $now) {
// in case event execution took longer, then RunInterval (don't use <=, because RunInterval can be 0)
- $next_run += $agent_data['RunInterval'];
+ $next_run += $scheduled_task_data['RunInterval'];
}
- // remember, when agent execution ended
+ // remember, when scheduled task execution ended
$fields_hash = Array (
'NextRunOn' => $next_run,
'RunTime' => round(($now - $start_time) / 60),
- 'LastRunStatus' => $event->status == kEvent::erSUCCESS ? Agent::LAST_RUN_SUCCEDED : Agent::LAST_RUN_FAILED,
+ 'LastRunStatus' => $event->status == kEvent::erSUCCESS ? ScheduledTask::LAST_RUN_SUCCEEDED : ScheduledTask::LAST_RUN_FAILED,
);
- $this->updateAgent($agent_data['AgentName'], $fields_hash);
+ $this->update($scheduled_task_data['Name'], $fields_hash);
return true;
}
/**
- * Updates agent record with latest changes about it's invocation progress
+ * Updates scheduled task record with latest changes about it's invocation progress
*
- * @param string $agent_name
+ * @param string $scheduled_task_name
* @param Array $fields_hash
* @return void
* @access protected
*/
- protected function updateAgent($agent_name, $fields_hash)
+ protected function update($scheduled_task_name, $fields_hash)
{
$this->Conn->doUpdate(
$fields_hash,
- $this->Application->getUnitOption('agent', 'TableName'),
- 'AgentName = ' . $this->Conn->qstr($agent_name)
+ $this->Application->getUnitOption('scheduled-task', 'TableName'),
+ 'Name = ' . $this->Conn->qstr($scheduled_task_name)
);
}
}
\ No newline at end of file
Index: core/kernel/managers/cache_manager.php
===================================================================
--- core/kernel/managers/cache_manager.php (revision 14858)
+++ core/kernel/managers/cache_manager.php (working copy)
@@ -58,7 +58,7 @@
protected $temporaryCache = Array (
'registerAggregateTag' => Array (),
- 'registerAgent' => Array (),
+ 'registerScheduledTask' => Array (),
'registerHook' => Array (),
'registerBuildEvent' => Array (),
'registerAggregateTag' => Array (),
@@ -401,7 +401,7 @@
// tracking related
'UseChangeLog', 'UseVisitorTracking', 'ModRewriteUrlEnding', 'ForceModRewriteUrlEnding',
- 'UseCronForRegularEvent',
+ 'RunScheduledTasksFromCron',
);
$escaped_config_vars = array_map(Array (&$this->Conn, 'qstr'), $config_vars);
Index: core/kernel/managers/request_manager.php
===================================================================
--- core/kernel/managers/request_manager.php (revision 14858)
+++ core/kernel/managers/request_manager.php (working copy)
@@ -66,7 +66,7 @@
$this->Application->SetVar('events', $events);
$this->Application->SetVar('passed', implode(',', $all_passed));
- $this->Application->EventManager->runAgents(reBEFORE);
+ $this->Application->EventManager->runScheduledTasks(reBEFORE);
$this->processed = true;
}
Index: core/kernel/session/session.php
===================================================================
--- core/kernel/session/session.php (revision 14858)
+++ core/kernel/session/session.php (working copy)
@@ -289,7 +289,7 @@
return ;
}
-// $this->DeleteExpired(); // called from u:OnDeleteExpiredSessions agent now
+// $this->DeleteExpired(); // called from u:OnDeleteExpiredSessions scheduled task now
if ($this->expired || ($this->CachedSID && !$this->_fromGet && !$this->SessionSet)) {
$this->RemoveSessionCookie();
Index: core/kernel/utility/unit_config_reader.php
===================================================================
--- core/kernel/utility/unit_config_reader.php (revision 14858)
+++ core/kernel/utility/unit_config_reader.php (working copy)
@@ -419,7 +419,7 @@
function parseConfig($prefix)
{
$this->parseClasses($prefix);
- $this->parseAgents($prefix);
+ $this->parseScheduledTasks($prefix);
$this->parseHooks($prefix);
$this->parseAggregatedTags($prefix);
}
@@ -457,19 +457,19 @@
}
}
- protected function parseAgents($prefix)
+ protected function parseScheduledTasks($prefix)
{
$config =& $this->configData[$prefix];
- if ( !isset($config['RegularEvents']) || !$config['RegularEvents'] ) {
+ if ( !isset($config['ScheduledTasks']) || !$config['ScheduledTasks'] ) {
return ;
}
- $regular_events = $config['RegularEvents'];
+ $scheduled_tasks = $config['ScheduledTasks'];
- foreach ($regular_events as $short_name => $regular_event_info) {
- $event_status = array_key_exists('Status', $regular_event_info) ? $regular_event_info['Status'] : STATUS_ACTIVE;
- $this->Application->delayUnitProcessing('registerAgent', Array ( $short_name, $config['Prefix'] . ':' . $regular_event_info['EventName'], $regular_event_info['RunInterval'], $regular_event_info['Type'], $event_status ));
+ foreach ($scheduled_tasks as $short_name => $scheduled_task_info) {
+ $event_status = array_key_exists('Status', $scheduled_task_info) ? $scheduled_task_info['Status'] : STATUS_ACTIVE;
+ $this->Application->delayUnitProcessing('registerScheduledTask', Array ( $short_name, $config['Prefix'] . ':' . $scheduled_task_info['EventName'], $scheduled_task_info['RunInterval'], $scheduled_task_info['Type'], $event_status ));
}
}
Index: core/units/admin/admin_config.php
===================================================================
--- core/units/admin/admin_config.php (revision 14858)
+++ core/units/admin/admin_config.php (working copy)
@@ -24,7 +24,7 @@
1 => 'event',
),
- 'RegularEvents' => Array(
+ 'ScheduledTasks' => Array(
'optimize_performance' => Array('EventName' => 'OnOptimizePerformance', 'RunInterval' => 86400, 'Type' => reAFTER),
),
Index: core/units/admin/admin_events_handler.php
===================================================================
--- core/units/admin/admin_events_handler.php (revision 14870)
+++ core/units/admin/admin_events_handler.php (working copy)
@@ -1061,7 +1061,7 @@
}
/**
- * [AGENT]
+ * [SCHEDULED TASK]
* 1. Delete all Debug files from system/.restricted folder (format debug_@977827436@.txt)
* 2. Run MySQL OPTIMIZE SQL one by one on all In-Portal tables (found by prefix).
*
Index: core/units/agents/agent_eh.php
===================================================================
--- core/units/agents/agent_eh.php (revision 14858)
+++ core/units/agents/agent_eh.php (working copy)
@@ -14,7 +14,7 @@
defined('FULL_PATH') or die('restricted access!');
- class AgentEventHandler extends kDBEventHandler {
+ class ScheduledTaskEventHandler extends kDBEventHandler {
/**
* Allows to override standard permission mapping
@@ -26,37 +26,37 @@
$permissions = Array (
'OnMassCancel' => Array ('self' => 'add|edit'),
- 'OnRunAgents' => Array ('self' => 'add|edit'),
+ 'OnRun' => Array ('self' => 'add|edit'),
);
$this->permMapping = array_merge($this->permMapping, $permissions);
}
/**
- * [HOOK] Refreshes agents list in database based on cached data from unit configs
+ * [HOOK] Refreshes scheduled task list in database based on cached data from unit configs
*
* @param kEvent $event
*/
- function OnRefreshAgents(&$event)
+ function OnRefresh(&$event)
{
- $regular_events = $this->Application->EventManager->getAgents(true);
+ $scheduled_tasks_from_cache = $this->Application->EventManager->getScheduledTasks(true);
$object =& $event->getObject( Array ('skip_autoload' => true) );
/* @var $object kDBItem */
$processed_ids = Array ();
- $agents = $this->Conn->Query($object->GetSelectSQL(), 'AgentName');
+ $scheduled_tasks_from_db = $this->Conn->Query($object->GetSelectSQL(), 'Name');
- foreach ($regular_events as $run_mode => $events) {
+ foreach ($scheduled_tasks_from_cache as $run_mode => $events) {
- foreach ($events as $agent_name => $agent_params) {
- if ( !isset($agents[$agent_name]) ) {
+ foreach ($events as $scheduled_task_name => $scheduled_task_params) {
+ if ( !isset($scheduled_tasks_from_db[$scheduled_task_name]) ) {
$fields_hash = Array (
- 'Event' => $agent_params['EventName'],
- 'AgentName' => $agent_name,
- 'AgentType' => Agent::AGENT_TYPE_SYSTEM,
- 'Status' => array_key_exists('Status', $agent_params) ? $agent_params['Status'] : STATUS_ACTIVE,
- 'RunInterval' => $agent_params['RunInterval'],
+ 'Event' => $scheduled_task_params['EventName'],
+ 'Name' => $scheduled_task_name,
+ 'Type' => ScheduledTask::TYPE_SYSTEM,
+ 'Status' => array_key_exists('Status', $scheduled_task_params) ? $scheduled_task_params['Status'] : STATUS_ACTIVE,
+ 'RunInterval' => $scheduled_task_params['RunInterval'],
'RunMode' => $run_mode,
);
@@ -65,7 +65,7 @@
$object->Create();
}
else {
- $object->LoadFromHash( $agents[$agent_name] );
+ $object->LoadFromHash( $scheduled_tasks_from_db[$scheduled_task_name] );
}
$processed_ids[] = $object->GetID();
@@ -73,10 +73,10 @@
}
- // delete all non-processed agents (ones, that were deleted from unit configs)
+ // delete all non-processed scheduled tasks (ones, that were deleted from unit configs)
$sql = 'SELECT ' . $object->IDField . '
FROM ' . $object->TableName . '
- WHERE (AgentType = ' . Agent::AGENT_TYPE_SYSTEM . ') AND (' . $object->IDField . ' NOT IN (' . implode(',', $processed_ids) . '))';
+ WHERE (Type = ' . ScheduledTask::TYPE_SYSTEM . ') AND (' . $object->IDField . ' NOT IN (' . implode(',', $processed_ids) . '))';
$delete_ids = $this->Conn->GetCol($sql);
if ($delete_ids) {
@@ -101,7 +101,7 @@
{
if ($event->Name == 'OnMassDelete' && $type == 'before') {
if ($this->Application->isDebugMode()) {
- // allow to delete system agents in debug mode
+ // allow to delete system scheduled tasks in debug mode
return ;
}
@@ -112,7 +112,7 @@
$sql = 'SELECT ' . $id_field . '
FROM ' . $table_name . '
- WHERE ' . $id_field . ' IN (' . implode(',', $ids) . ') AND AgentType <> ' . Agent::AGENT_TYPE_SYSTEM;
+ WHERE ' . $id_field . ' IN (' . implode(',', $ids) . ') AND Type <> ' . ScheduledTask::TYPE_SYSTEM;
$allowed_ids = $this->Conn->GetCol($sql);
$event->setEventParam('ids', $allowed_ids);
@@ -121,7 +121,7 @@
}
/**
- * Cancels agents, that are currently running
+ * Cancels scheduled tasks, that are currently running
*
* @param kEvent $event
*/
@@ -136,9 +136,9 @@
foreach ($ids as $id) {
$object->Load($id);
- if ($object->GetDBField('LastRunStatus') == Agent::LAST_RUN_RUNNING) {
- // only changes status, doesn't affect currency running agents
- $object->SetDBField('LastRunStatus', Agent::LAST_RUN_FAILED);
+ if ($object->GetDBField('LastRunStatus') == ScheduledTask::LAST_RUN_RUNNING) {
+ // only changes status, doesn't affect currency running scheduled tasks
+ $object->SetDBField('LastRunStatus', ScheduledTask::LAST_RUN_FAILED);
$object->Update();
}
}
@@ -148,11 +148,11 @@
}
/**
- * Runs selected agents
+ * Runs selected scheduled tasks
*
* @param kEvent $event
*/
- function OnRunAgents(&$event)
+ function OnRun(&$event)
{
$ids = $this->StoreSelectedIDs($event);
@@ -163,16 +163,16 @@
$where_clause = Array (
$object->TableName . '.' . $object->IDField . ' IN (' . implode(',', $ids) . ')',
$object->TableName . '.Status = ' . STATUS_ACTIVE,
- $object->TableName . '.LastRunStatus <> ' . Agent::LAST_RUN_RUNNING,
+ $object->TableName . '.LastRunStatus <> ' . ScheduledTask::LAST_RUN_RUNNING,
);
$sql = $object->GetSelectSQL() . '
WHERE (' . implode(') AND (', $where_clause) . ')';
- $agents = $this->Conn->Query($sql);
+ $scheduled_tasks = $this->Conn->Query($sql);
- foreach ($agents as $agent_data) {
- $agent_data['EventName'] = $agent_data['Event'];
- $this->Application->EventManager->runAgent($agent_data);
+ foreach ($scheduled_tasks as $scheduled_task_data) {
+ $scheduled_task_data['EventName'] = $scheduled_task_data['Event'];
+ $this->Application->EventManager->runScheduledTask($scheduled_task_data);
}
}
Index: core/units/agents/agents_config.php
===================================================================
--- core/units/agents/agents_config.php (revision 14858)
+++ core/units/agents/agents_config.php (working copy)
@@ -15,10 +15,10 @@
defined('FULL_PATH') or die('restricted access!');
$config = Array (
- 'Prefix' => 'agent',
+ 'Prefix' => 'scheduled-task',
'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
- 'EventHandlerClass' => Array ('class' => 'AgentEventHandler', 'file' => 'agent_eh.php', 'build_event' => 'OnBuild'),
+ 'EventHandlerClass' => Array ('class' => 'ScheduledTaskEventHandler', 'file' => 'agent_eh.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
'AutoLoad' => true,
@@ -40,42 +40,43 @@
'HookToEvent' => Array ('OnAfterCacheRebuild'),
'DoPrefix' => '',
'DoSpecial' => '*',
- 'DoEvent' => 'OnRefreshAgents',
+ 'DoEvent' => 'OnRefresh',
),
),
- 'IDField' => 'AgentId',
+ 'IDField' => 'ScheduledTaskId',
- 'TableName' => TABLE_PREFIX . 'Agents',
+ 'TableName' => TABLE_PREFIX . 'ScheduledTasks',
- 'TitleField' => 'AgentName',
+ 'TitleField' => 'Name',
'StatusField' => Array ('Status'),
'TitlePresets' => Array (
'default' => Array (
- 'new_status_labels' => Array ('agent' => '!la_title_AddingAgent!'),
- 'edit_status_labels' => Array ('agent' => '!la_title_EditingAgent!'),
- 'new_titlefield' => Array ('agent' => '!la_title_NewAgent!'),
+ 'new_status_labels' => Array ('scheduled-task' => '!la_title_AddingScheduledTask!'),
+ 'edit_status_labels' => Array ('scheduled-task' => '!la_title_EditingScheduledTask!'),
+ 'new_titlefield' => Array ('scheduled-task' => '!la_title_NewScheduledTask!'),
),
- 'agent_list' => Array (
- 'prefixes' => Array ('agent_List'), 'format' => "!la_title_Agents!",
+ 'scheduled_task_list' => Array (
+ 'prefixes' => Array ('scheduled-task_List'), 'format' => "!la_title_ScheduledTasks!",
'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'approve', 'decline', 'process', 'cancel', 'view', 'dbl-click'),
),
- 'agent_edit' => Array ('prefixes' => Array ('agent'), 'format' => "#agent_status# '#agent_titlefield#'",
+ 'scheduled_task_edit' => Array (
+ 'prefixes' => Array ('scheduled-task'), 'format' => "#scheduled-task_status# '#scheduled-task_titlefield#'",
'toolbar_buttons' => Array ('select', 'cancel', 'reset_edit', 'prev', 'next'),
- ),
+ ),
),
- 'PermSection' => Array('main' => 'in-portal:agents'),
+ 'PermSection' => Array('main' => 'in-portal:scheduled_tasks'),
'Sections' => Array (
- 'in-portal:agents' => Array (
+ 'in-portal:scheduled_tasks' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'conf_agents',
- 'label' => 'la_title_Agents',
+ 'label' => 'la_title_ScheduledTasks',
'url' => Array('t' => 'agents/agent_list', 'pass' => 'm'),
'permissions' => Array('view', 'add', 'edit', 'delete'),
'priority' => 6,
@@ -89,20 +90,20 @@
'ListSortings' => Array (
'' => Array (
- 'Sorting' => Array ('AgentName' => 'asc'),
+ 'Sorting' => Array ('Name' => 'asc'),
)
),
'Fields' => Array (
- 'AgentId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
+ 'ScheduledTaskId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
- 'AgentName' => Array (
+ 'Name' => Array (
'type' => 'string', 'max_len' => 255,
'unique' => Array (),
'required' => 1, 'not_null' => 1, 'default' => ''
),
- 'AgentType' => Array (
+ 'Type' => Array (
'type' => 'int',
'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_opt_User', 2 => 'la_opt_System'), 'use_phrases' => 1,
'required' => 1, 'not_null' => 1, 'default' => 1
@@ -153,9 +154,9 @@
0 => 'icon16_disabled.png',
),
'Fields' => Array (
- 'AgentId' => Array ('title' => 'column:la_fld_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
- 'AgentName' => Array ('title' => 'column:la_fld_Name', 'filter_block' => 'grid_like_filter', 'width' => 200, ),
- 'AgentType' => Array ('title' => 'column:la_fld_Type', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
+ 'ScheduledTaskId' => Array ('title' => 'column:la_fld_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
+ 'Name' => Array ('filter_block' => 'grid_like_filter', 'width' => 200, ),
+ 'Type' => Array ('filter_block' => 'grid_options_filter', 'width' => 60, ),
'Event' => Array ('filter_block' => 'grid_like_filter', 'width' => 280, ),
'RunInterval' => Array ('filter_block' => 'grid_range_filter', 'width' => 100, ),
'RunMode' => Array ('filter_block' => 'grid_options_filter', 'width' => 85, ),
Index: core/units/forms/forms/forms_config.php
===================================================================
--- core/units/forms/forms/forms_config.php (revision 14858)
+++ core/units/forms/forms/forms_config.php (working copy)
@@ -30,7 +30,7 @@
5 => 'mode',
),
- 'RegularEvents' => Array (
+ 'ScheduledTasks' => Array (
'check_submission_repies' => Array('EventName' => 'OnProcessReplies', 'RunInterval' => 3600, 'Type' => reAFTER),
'check_bounced_submission_repies' => Array('EventName' => 'OnProcessBouncedReplies', 'RunInterval' => 18000, 'Type' => reAFTER),
),
Index: core/units/images/image_event_handler.php
===================================================================
--- core/units/images/image_event_handler.php (revision 14868)
+++ core/units/images/image_event_handler.php (working copy)
@@ -368,7 +368,7 @@
}
/**
- * [AGENT] Remove unused images from "/system/images" and "/system/images/pending" folders
+ * [SCHEDULED TASK] Remove unused images from "/system/images" and "/system/images/pending" folders
*
* @param kEvent $event
*/
@@ -459,7 +459,7 @@
}
/**
- * [AGENT] Remove all images from "/system/images/resized" and "/system/images/pending/resized" folders
+ * [SCHEDULED TASK] Remove all images from "/system/images/resized" and "/system/images/pending/resized" folders
*
* @param kEvent $event
*/
Index: core/units/images/images_config.php
===================================================================
--- core/units/images/images_config.php (revision 14858)
+++ core/units/images/images_config.php (working copy)
@@ -69,7 +69,7 @@
4 => 'event',
),
- 'RegularEvents' => Array (
+ 'ScheduledTasks' => Array (
'clean_catalog_images' => Array ('EventName' => 'OnCleanImages', 'RunInterval' => 604800, 'Type' => reAFTER, 'Status' => STATUS_DISABLED),
'clean_resized_catalog_images' => Array ('EventName' => 'OnCleanResizedImages', 'RunInterval' => 2592000, 'Type' => reAFTER, 'Status' => STATUS_DISABLED),
),
Index: core/units/mailing_lists/mailing_lists_config.php
===================================================================
--- core/units/mailing_lists/mailing_lists_config.php (revision 14858)
+++ core/units/mailing_lists/mailing_lists_config.php (working copy)
@@ -31,7 +31,7 @@
5 => 'mode',
),
- 'RegularEvents' => Array (
+ 'ScheduledTasks' => Array (
'generate_mailing_queue' => Array ('EventName' => 'OnGenerateEmailQueue', 'RunInterval' => 1800, 'Type' => reAFTER),
'process_mailing_queue' => Array ('EventName' => 'OnProcessEmailQueue', 'RunInterval' => 1800, 'Type' => reAFTER),
),
Index: core/units/users/users_config.php
===================================================================
--- core/units/users/users_config.php (revision 14858)
+++ core/units/users/users_config.php (working copy)
@@ -92,7 +92,7 @@
5 => 'mode',
),
- 'RegularEvents' => Array(
+ 'ScheduledTasks' => Array(
'membership_expiration' => Array('EventName' => 'OnCheckExpiredMembership', 'RunInterval' => 1800, 'Type' => reAFTER),
'delete_expired_sessions' => Array('EventName' => 'OnDeleteExpiredSessions', 'RunInterval' => 43200, 'Type' => reAFTER),
),
Index: core/units/users/users_event_handler.php
===================================================================
--- core/units/users/users_event_handler.php (revision 14858)
+++ core/units/users/users_event_handler.php (working copy)
@@ -232,7 +232,7 @@
}
/**
- * [AGENT] Deletes expired sessions
+ * [SCHEDULED TASK] Deletes expired sessions
*
* @param kEvent $event
*/
Index: tools/cron.php
===================================================================
--- tools/cron.php (revision 14858)
+++ tools/cron.php (working copy)
@@ -35,8 +35,8 @@
$application->Init();
// events from request are not processed, only predefined regular events
- $application->EventManager->runAgents(reBEFORE, true);
- $application->EventManager->runAgents(reAFTER, true);
+ $application->EventManager->runScheduledTasks(reBEFORE, true);
+ $application->EventManager->runScheduledTasks(reAFTER, true);
$application->Done();