2 # SPDX-FileCopyrightText: © Fossology contributors
4 # SPDX-License-Identifier: GPL-2.0-only
6 include_once dirname(dirname(__DIR__)) .
"/lib/php/common.php";
7 include_once
"DeleteResponse.php";
8 include_once
"DeleteMessages.php";
20 function TryToDelete($uploadpk, $user_pk, $group_pk, $uploadDao)
22 if (! $uploadDao->isEditable($uploadpk, $group_pk)) {
23 $returnMessage = DeleteMessages::NO_PERMISSION;
27 $rc = DeleteUpload(intval($uploadpk), $user_pk, $group_pk, $uploadDao);
30 $returnMessage = DeleteMessages::SCHEDULING_FAILED;
36 $LinkText = _(
"View Jobs");
37 $returnMessage = DeleteMessages::SUCCESS;
39 " <a href=$URL>$LinkText</a>");
50 function DeleteUpload($uploadpk, $user_pk, $group_pk, $Depends = NULL)
53 $jobpk = JobAddJob($user_pk, $group_pk,
"Delete", $uploadpk);
54 if (empty($jobpk) || ($jobpk < 0)) {
55 $text = _(
"Failed to create job record");
59 $jqargs =
"DELETE UPLOAD $uploadpk";
60 $jobqueuepk =
JobQueueAdd($jobpk,
"delagent", $jqargs, NULL, NULL);
61 if (empty($jobqueuepk)) {
62 $text = _(
"Failed to place delete in job queue");
69 $error_msg = _(
"Is the scheduler running? Your jobs have been added to job queue.");
71 $LinkText = _(
"View Jobs");
72 return "$error_msg <a href=$URL>$LinkText</a>";
82 function initDeletion($uploadpks)
84 if (
sizeof($uploadpks) <= 0) {
85 return DisplayMessage(
"No uploads selected");
90 $deleteResponse =
null;
91 for ($i=0; $i <
sizeof($uploadpks); $i++) {
92 $deleteResponse = TryToDelete(intval($uploadpks[$i]));
94 if ($deleteResponse->getDeleteMessageCode() != DeleteMessages::SUCCESS) {
95 $errorMessages[] = $deleteResponse;
99 if (
sizeof($uploadpks) == 1) {
100 $V .= DisplayMessage($deleteResponse->getDeleteMessageString().$deleteResponse->getAdditionalMessage());
102 $displayMessage =
"";
104 if (in_array(DeleteMessages::SCHEDULING_FAILED, $errorMessages)) {
105 $displayMessage .=
"<br/>Scheduling failed for " .
106 array_count_values($errorMessages)[DeleteMessages::SCHEDULING_FAILED] .
" uploads<br/>";
109 if (in_array(DeleteMessages::NO_PERMISSION, $errorMessages)) {
110 $displayMessage .=
"No permission to delete " .
111 array_count_values($errorMessages)[DeleteMessages::NO_PERMISSION].
" uploads<br/>";
114 $displayMessage .=
"Deletion of " .
115 (
sizeof($uploadpks)-
sizeof($errorMessages)) .
" projects queued";
116 $V .= DisplayMessage($displayMessage);
Messages which can be generated by delagent.
Handle response from delagent.
JobQueueAdd($job_pk, $jq_type, $jq_args, $jq_runonpfile, $Depends, $host=NULL, $jq_cmd_args=NULL)
Insert a jobqueue + jobdepends records.
Traceback_uri()
Get the URI without query to this location.
fo_communicate_with_scheduler($input, &$output, &$error_msg)
Communicate with scheduler, send commands to the scheduler, then get the output.