29 private $detectLicensesFolder;
33 private $licenseProjector;
35 function __construct()
37 $this->
dbManager = $GLOBALS[
'container']->get(
'db.manager');
38 $this->uploadDao = $GLOBALS[
'container']->get(
'dao.upload');
39 $this->clearingDao = $GLOBALS[
'container']->get(
'dao.clearing');
40 $this->detectLicensesFolder = $GLOBALS[
'container']->get(
'businessrules.detectlicensesfolder');
49 public function getReuseSummary($uploadId)
51 $declearedLicenses = array_merge(
52 $this->detectLicensesFolder->getDeclearedLicenses($uploadId),
53 $this->detectLicensesFolder->getLicenseFileDeclaredLicenses($uploadId)
57 $uploadTreeId = $this->uploadDao->getUploadParent($uploadId);
58 $itemTreeBounds = $this->uploadDao->getItemTreeBounds($uploadTreeId, $uploadtreeTablename);
59 $clearedLicenses = $this->clearingDao->getClearedLicenses($itemTreeBounds, $groupId);
60 $this->licenseProjector =
new LicenseMap($this->
dbManager,$groupId,LicenseMap::CONCLUSION,
true);
61 $concludedLicenses = [];
63 if (!empty($clearedLicenses)) {
64 foreach ($clearedLicenses as $licenseRef) {
65 $projectedName = $this->licenseProjector->getProjectedShortname($licenseRef->getId(),$licenseRef->getShortName());
66 $concludedLicenses[] = $projectedName;
71 $vars[
"declearedLicense"] = implode(
", ", $declearedLicenses);
72 $vars[
"clearedLicense"] = implode(
", ", $concludedLicenses);
74 if (empty($declearedLicenses)) {
75 $vars[
"usedLicense"] =
"";
76 $vars[
"unusedLicense"] =
"";
77 $vars[
"missingLicense"] = implode(
", ", $concludedLicenses);
81 $vars[
"usedLicense"] = implode(
", ", array_intersect($declearedLicenses, $concludedLicenses));
82 $vars[
"unusedLicense"] = implode(
", ", array_diff($declearedLicenses, $concludedLicenses));
83 $vars[
"missingLicense"] = implode(
", ", array_diff($concludedLicenses, $declearedLicenses));
Contains the constants and helpers for authentication of user.
static getGroupId()
Get the current user's group id.
Detects licenses declard inside LICENSES directory.
Wrapper class for license map.
FUNCTION char * GetUploadtreeTableName(PGconn *pgConn, int upload_pk)
Get the uploadtree table name for this upload_pk If upload_pk does not exist, return "uploadtree".
fo_dbManager * dbManager
fo_dbManager object
Contains business rules for FOSSology.