16 public function __construct() {
17 $this->Name =
"agent_bucket";
18 $this->Title = _(
"Bucket Analysis");
19 $this->AgentName =
"buckets";
21 parent::__construct();
28 protected function getDefaultBucketPool()
30 $user_pk = Auth::getUserId();
31 if (empty($user_pk)) {
36 $dbManager = $GLOBALS[
'container']->get(
'db.manager');
37 $usersRec = $dbManager->getSingleRow(
'SELECT default_bucketpool_fk FROM users WHERE user_pk=$1', array($user_pk));
38 return $usersRec[
'default_bucketpool_fk'];
48 $bucketPool = $this->getDefaultBucketPool();
49 if (!empty($bucketPool))
51 menu_insert(
"Agents::" . $this->Title, 0, $this->Name);
61 $default_bucketpool_fk = $this->getDefaultBucketPool();
62 if (empty($default_bucketpool_fk)) {
66 $agentDao = $GLOBALS[
'container']->get(
'dao.agent');
67 $latestNomosAgentId = $agentDao->getCurrentAgentId(
"nomos",
"Nomos license scanner");
68 if (empty($latestNomosAgentId)) {
71 $latestBucketAgentId = $agentDao->getCurrentAgentId($this->AgentName,
"Bucket scanner");
72 if (empty($latestBucketAgentId)) {
76 $dbManager = $GLOBALS[
'container']->get(
'db.manager');
78 $bucketLatestArsRec = $dbManager->getSingleRow(
"SELECT * FROM bucket_ars WHERE bucketpool_fk=$1 AND upload_fk=$2 AND nomosagent_fk=$3 and agent_fk=$4 AND ars_success=$5",
79 array($default_bucketpool_fk,$uploadId,$latestNomosAgentId,$latestBucketAgentId,$dbManager->booleanToDb(
true)),
80 __METHOD__.
'.latestNomosAndBucketScannedThisPool');
81 if (!empty($bucketLatestArsRec))
return 1;
83 $bucketOldArsRec = $dbManager->getSingleRow(
"SELECT * FROM bucket_ars WHERE bucketpool_fk=$1 AND upload_fk=$2 AND ars_success=$3",
84 array($default_bucketpool_fk,$uploadId,$dbManager->booleanToDb(
true)),
85 __METHOD__.
'.anyBucketScannedThisPool');
86 if (!empty($bucketOldArsRec))
return 2;
95 public function AgentAdd($jobId, $uploadId, &$errorMsg, $dependencies=array(), $arguments=
null)
97 $default_bucketpool_fk = $this->getDefaultBucketPool();
98 if (!$default_bucketpool_fk)
100 $errorMsg = _(
"User does not have a default bucketpool. Bucket agent cannot be scheduled without this.");
104 $dependencies[] =
"agent_nomos";
105 $dependencies[] =
"agent_pkgagent";
106 $jqargs =
"bppk=$default_bucketpool_fk, upk=$uploadId";
107 return $this->
doAgentAdd($jobId, $uploadId, $errorMsg, $dependencies, $jqargs);
AgentHasResults($uploadId=0)
AgentAdd($jobId, $uploadId, &$errorMsg, $dependencies=array(), $arguments=null)
Contains the constants and helpers for authentication of user.
doAgentAdd($jobId, $uploadId, &$errorMsg, $dependencies, $jqargs="", $jq_cmd_args=null)