FOSSology  3.2.0rc1
Open Source License Compliance by Open Source Software
AdminContentDelete.php
1 <?php
2 /***********************************************************
3  Copyright (C) 2015-2017 Siemens AG
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public License
7  version 2 as published by the Free Software Foundation.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License along
15  with this program; if not, write to the Free Software Foundation, Inc.,
16  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 ***********************************************************/
18 
25 
27 {
28  const NAME = 'content_unlink';
29 
31  private $folderDao;
32 
33  function __construct()
34  {
35  parent::__construct(self::NAME, array(
36  self::TITLE => _("Unlink upload or folder"),
37  self::MENU_LIST => "Organize::Folders::Unlink Content",
38  self::PERMISSION => Auth::PERM_ADMIN,
39  self::REQUIRES_LOGIN => TRUE
40  ));
41  $this->folderDao = $GLOBALS['container']->get('dao.folder');
42  }
43 
48  protected function handle(Request $request)
49  {
50  $userId = Auth::getUserId();
51  $vars = array();
52 
53  $folderContentId = intval($request->get('foldercontent'));
54  if ($folderContentId) {
55  try {
56  $this->folderDao->removeContent($folderContentId);
57  } catch (Exception $ex) {
58  $vars['message'] = $ex->getMessage();
59  }
60  }
61 
62  $rootFolderId = $this->folderDao->getRootFolder($userId)->getId();
63  /* @var $uiFolderNav FolderNav */
64  $uiFolderNav = $GLOBALS['container']->get('ui.folder.nav');
65  $vars['folderTree'] = $uiFolderNav->showFolderTree($rootFolderId);
66 
67  return $this->render('admin_content_delete.html.twig', $this->mergeWithDefault($vars));
68  }
69 }
70 
71 register_plugin(new AdminContentDelete());
render($templateName, $vars=null, $headers=null)
handle(Request $request)
#define PERM_ADMIN
Administrator.
Definition: libfossology.h:46