FOSSology  4.4.0
Open Source License Compliance by Open Source Software
fo_folder.php
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2015 Siemens AG
4 
5  SPDX-License-Identifier: GPL-2.0-only
6 */
7 
11 
12 require_once("$MODDIR/lib/php/common-cli.php");
13 cli_Init();
14 
15 global $Plugins;
16 error_reporting(E_NOTICE & E_STRICT);
17 
18 $Usage = "Usage: " . basename($argv[0]) . " [options]
19  --username = user name
20  --password = password
21  --groupname = a group the user belongs to (default active group)
22  --folderId = id of folder (default root folder of user)
23  --linkFolder= create a link to this folder (id)
24  --linkUpload= create a link to this upload (id)\n";
25 
26 $opts = getopt("hc:", array("username:", "groupname:",
27  "folderId:",
28  "password:", "linkFolder:", "linkUpload:"));
29 if (array_key_exists('h', $opts)) {
30  print $Usage;
31  exit(0);
32 }
33 
34 $user = array_key_exists("username", $opts) ? $opts["username"] : '';
35 $group = array_key_exists("groupname", $opts) ? $opts["groupname"] : '';
36 $passwd = array_key_exists("password", $opts) ? $opts["password"] : null;
37 account_check($user, $passwd, $group);
38 
39 global $SysConf;
40 $userId = $_SESSION[Auth::USER_ID] = $SysConf['auth'][Auth::USER_ID];
41 $groupId = $_SESSION[Auth::GROUP_ID] = $SysConf['auth'][Auth::GROUP_ID];
42 
43 /* @var $folderDao FolderDao */
44 $folderDao = $GLOBALS['container']->get("dao.folder");
45 
46 if (array_key_exists("folderId", $opts)) {
47  $folderId = $opts["folderId"];
48 } else {
49  $folderId = $folderDao->getRootFolder($userId)->getId();
50 }
51 
52 $linkFolder = array_key_exists("linkFolder", $opts) ? $opts["linkFolder"] : null;
53 $linkUpload = array_key_exists("linkUpload", $opts) ? $opts["linkUpload"] : null;
54 if (!empty($linkFolder)) {
55  $folderDao->insertFolderContents($folderId,FolderDao::MODE_FOLDER,$linkFolder);
56 } elseif (!empty($linkUpload)) {
57  $folderDao->insertFolderContents($folderId,FolderDao::MODE_UPLOAD,$linkUpload);
58 } else {
59  $structure = $folderDao->getFolderStructure($folderId);
60  foreach ($structure as $folder) {
61  for ($i = 0; $i < $folder[FolderDao::DEPTH_KEY]; $i++) {
62  echo '-';
63  }
64  /* @var $theFolder Folder */
65  $theFolder = $folder[FolderDao::FOLDER_KEY];
66  echo $theFolder->getName().' (id='.$theFolder->getId().")\n";
67  }
68 
69 }
Contains the constants and helpers for authentication of user.
Definition: Auth.php:24
account_check(&$user, &$passwd, &$group="")
check if this account is correct
Definition: common-auth.php:75
cli_Init()
Initialize the fossology environment for CLI use. This routine loads the plugins so they can be use b...
Definition: common-cli.php:25