Platform
3.1
PHP API documentation
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Pages
fdl_cronexec.php
Go to the documentation of this file.
1
<?php
2
/*
3
* @author Anakeen
4
* @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
5
* @package FDL
6
*/
7
/**
8
* Execute Freedom Processes when needed
9
*
10
* @author Anakeen 2005
11
* @version $Id: fdl_cronexec.php,v 1.4 2008/12/31 14:39:52 eric Exp $
12
* @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
13
* @package FDL
14
* @subpackage
15
*/
16
/**
17
*/
18
// refreah for a classname
19
// use this only if you have changed title attributes
20
include_once (
"FDL/Class.DocFam.php"
);
21
include_once (
"FDL/Class.DocTimer.php"
);
22
include_once (
"FDL/Class.SearchDoc.php"
);
23
24
$appl
=
new
Application
();
25
$appl
->Set(
"FDL"
,
$core
);
26
27
$dbaccess
=
$appl
->GetParam(
"FREEDOM_DB"
);
28
if
(
$dbaccess
==
""
) {
29
print
"Database not found : param FREEDOM_DB"
;
30
exit
;
31
}
32
33
function
verifyExecDocuments
(
$dbaccess
)
34
{
35
// Verify EXEC document
36
$now =
Doc::getTimeDate
();
37
38
$s
=
new
SearchDoc
(
$dbaccess
,
"EXEC"
);
39
$s
->setObjectReturn();
40
$s
->addFilter(
"exec_nextdate < '"
. $now .
"'"
);
41
$s
->addFilter(
"exec_status is null or exec_status='none'"
);
42
// $s->setDebugMode();
43
$s
->search();
44
if
(
$s
->count() > 0) {
45
while
($de =
$s
->nextDoc()) {
46
$de->setValue(
"exec_status"
,
"waiting"
);
47
$de->modify(
true
, array(
48
"exec_status"
49
) ,
true
);
50
}
51
$s
=
new
SearchDoc
(
$dbaccess
,
"EXEC"
);
52
$s
->setObjectReturn();
53
$s
->addFilter(
"exec_nextdate < '"
. $now .
"'"
);
54
$s
->addFilter(
"exec_status != 'progressong'"
);
55
//$s->setDebugMode();
56
$s
->search();
57
//print_r2($s->getDebugInfo());
58
while
($de =
$s
->nextDoc()) {
59
$status = $de->bgExecute(_(
"freedom cron try execute"
));
60
$del =
new_Doc
(
$dbaccess
, $de->latestId(
false
,
true
));
61
62
$del->deleteValue(
"exec_status"
);
63
$del->deleteValue(
"exec_handnextdate"
);
64
$del->refresh();
65
$del->postModify();
66
$err
= $del->modify();
67
print sprintf(
"Execute %s [%d] (%s) : %s\n"
, $del->title, $del->id, $del->exec_handnextdate,
$err
);
68
}
69
}
70
}
71
function
verifyTimerDocuments
(
$dbaccess
)
72
{
73
// Verify EXEC document
74
$dt
=
new
DocTimer
(
$dbaccess
);
75
$ate =
$dt
->getActionsToExecute();
76
77
foreach
($ate as $k => $v) {
78
$dt
->Affect($v);
79
$dt
->executeTimerNow();
80
}
81
}
82
verifyExecDocuments
(
$dbaccess
);
83
verifyTimerDocuments
(
$dbaccess
);
84
?>
← centre documentaire
© anakeen
- published under
CC License
-
Dynacase