diff --git a/src/demomod/ui/demohello.php b/src/demomod/ui/demohello.php
index 4b791046..127b163d 100644
--- a/src/demomod/ui/demohello.php
+++ b/src/demomod/ui/demohello.php
@@ -1,76 +1,71 @@
_("Demo Hello World"),
+ self::MENU_LIST => "Help::Demo::Hello World",
+ self::PERMISSION => Auth::PERM_READ
+ ));
+ }
/**
* \brief Find out who I am from my user record.
* \returns user name
*/
- function WhoAmI()
+ protected function WhoAmI()
{
- $user_pk = $_SESSION['UserId'];
+ $user_pk = Auth::getUserId();
if (empty($user_pk))
{
- /* Note that this message is localized. This is a good practice for as
- * much of your UI text as possible.
- */
return _("You are not logged in");
}
- /* The user's name is stored in $_SESSION[User] after they login.
- * But to demonstrate a database call, I'll get the name from the
- * user's primary key (in $_SESSION[UserId]).
- */
- $UserRow = GetSingleRec('users', "where user_pk='$_SESSION[UserId]'");
- return $UserRow['user_name'];
- } // end of WhoAmI()
+ $userDao = $this->getObject('dao.user');
+ return $userDao->getUserName($user_pk);
+ }
/**
- * \brief Generate output.
+ * \brief Generate response.
*/
- function Output()
+ protected function handle(Request $request)
{
- /* make sure this plugin hasn't been turned off */
- if ($this->State != PLUGIN_STATE_READY) { return; }
-
$UserName = $this->WhoAmI();
$Hello = _("Hello");
$OutBuf = "
$Hello $UserName
";
$OutBuf .= _("Wasn't that easy?");
- print($OutBuf);
- return;
- } // Output()
+ return $this->render('include/base.html.twig', $this->mergeWithDefault(array('message' => $OutBuf)));
+ }
-};
+}
-$NewPlugin = new demohello;
-$NewPlugin->Initialize();
-?>
+register_plugin(new DemoHello());
diff --git a/src/readmeoss/agent/readmeoss.php b/src/readmeoss/agent/readmeoss.php
index a9815891..b6dbadcf 100644
--- a/src/readmeoss/agent/readmeoss.php
+++ b/src/readmeoss/agent/readmeoss.php
@@ -1,151 +1,149 @@
cpClearedGetter = new XpClearedGetter("copyright", "statement", false);
$this->licenseClearedGetter = new LicenseClearedGetter();
parent::__construct(README_AGENT_NAME, AGENT_VERSION, AGENT_REV);
$this->uploadDao = $this->container->get('dao.upload');
$this->agentSpecifLongOptions[] = self::UPLOAD_ADDS.':';
}
/**
* @todo without wrapper
*/
function processUploadId($uploadId)
{
$groupId = $this->groupId;
$args = $this->args;
$this->additionalUploadIds = array_key_exists(self::UPLOAD_ADDS,$args) ? explode(',',$args[self::UPLOAD_ADDS]) : array();
$uploadIds = $this->additionalUploadIds;
array_unshift($uploadIds, $uploadId);
$this->heartbeat(0);
$licenseStmts = array();
$copyrightStmts = array();
-
+
foreach($uploadIds as $addUploadId)
{
if (!$this->uploadDao->isAccessible($addUploadId, $groupId)) {
continue;
}
$moreLicenses = $this->licenseClearedGetter->getCleared($addUploadId, $groupId);
$licenseStmts = array_merge($licenseStmts, $moreLicenses['statements']);
$this->heartbeat(count($moreLicenses['statements']));
$moreCopyrights = $this->cpClearedGetter->getCleared($addUploadId, $groupId);
$copyrightStmts = array_merge($copyrightStmts, $moreCopyrights['statements']);
$this->heartbeat(count($moreCopyrights['statements']));
}
$contents = array('licenses'=>$licenseStmts, 'copyrights'=>$copyrightStmts );
$this->writeReport($contents, $uploadId);
return true;
}
private function writeReport($contents, $uploadId)
{
global $SysConf;
$packageName = $this->uploadDao->getUpload($uploadId)->getFilename();
$fileBase = $SysConf['FOSSOLOGY']['path']."/report/";
$fileName = $fileBase. "ReadMe_OSS_".$packageName.'_'.time().".txt" ;
foreach($this->additionalUploadIds as $addUploadId)
{
$packageName .= ', ' . $this->uploadDao->getUpload($addUploadId)->getFilename();
}
if(!is_dir($fileBase)) {
mkdir($fileBase, 0777, true);
}
umask(0133);
$message = $this->generateReport($contents, $packageName);
file_put_contents($fileName, $message);
$this->updateReportTable($uploadId, $this->jobId, $fileName);
}
private function updateReportTable($uploadId, $jobId, $filename){
$this->dbManager->insertTableRow('reportgen',
array('upload_fk'=>$uploadId, 'job_fk'=>$jobId, 'filepath'=>$filename),
__METHOD__);
}
private function generateReport($contents, $packageName)
{
$separator1 = "=======================================================================================================================";
$separator2 = "-----------------------------------------------------------------------------------------------------------------------";
$break = "\r\n\r\n";
$output = $separator1 . $break . $packageName . $break;
foreach($contents['licenses'] as $licenseStatement){
$output .= $licenseStatement['text'] . $break;
$output .= $separator2 . $break;
}
$copyrights = "";
foreach($contents['copyrights'] as $copyrightStatement){
$copyrights .= $copyrightStatement['content']."\r\n";
}
if(empty($copyrights)){
$output .= "";
$output .= $break;
$output .= "";
}else{
- $output .= "Copyright notices";
- $output .= $break;
- $output .= $copyrights;
+ $output .= "Copyright notices";
+ $output .= $break;
+ $output .= $copyrights;
}
return $output;
}
}
$agent = new ReadmeOssAgent();
$agent->scheduler_connect();
$agent->run_scheduler_event_loop();
$agent->scheduler_disconnect(0);
diff --git a/src/readmeoss/agent/version.php.in b/src/readmeoss/agent/version.php.in
index 1df2fd86..8ca62c52 100644
--- a/src/readmeoss/agent/version.php.in
+++ b/src/readmeoss/agent/version.php.in
@@ -1,3 +1,4 @@