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 @@