File modules/cms/action/ModelAction.class.php

Last commit: Sun Mar 14 22:29:56 2021 +0100	Jan Dankert	Refactoring: Clearer access check.
1 <?php 2 3 namespace cms\action; 4 5 use cms\model\Folder; 6 use cms\model\Model; 7 use cms\model\Permission; 8 use cms\model\Project; 9 use language\Messages; 10 use util\exception\SecurityException; 11 12 13 // OpenRat Content Management System 14 // Copyright (C) 2002-2012 Jan Dankert, cms@jandankert.de 15 // 16 // This program is free software; you can redistribute it and/or 17 // modify it under the terms of the GNU General Public License 18 // as published by the Free Software Foundation; either version 2 19 // of the License, or (at your option) any later version. 20 // 21 // This program is distributed in the hope that it will be useful, 22 // but WITHOUT ANY WARRANTY; without even the implied warranty of 23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 // GNU General Public License for more details. 25 // 26 // You should have received a copy of the GNU General Public License 27 // along with this program; if not, write to the Free Software 28 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 29 30 31 /** 32 * Action-Klasse zum Bearbeiten eines Projetmodells 33 * @author $Author$ 34 * @version $Revision$ 35 * @package openrat.actions 36 */ 37 class ModelAction extends BaseAction 38 { 39 /** 40 * @var Model 41 */ 42 protected $model; 43 44 45 function __construct() 46 { 47 parent::__construct(); 48 49 } 50 51 52 public function init() 53 { 54 $this->model = new Model( $this->request->getId() ); 55 $this->model->load(); 56 } 57 58 59 /** 60 * User must be an project administrator. 61 */ 62 public function checkAccess() { 63 $project = new Project( $this->model->projectid ); 64 $rootFolderId = $project->getRootObjectId(); 65 66 $rootFolder = new Folder( $rootFolderId ); 67 $rootFolder->load(); 68 69 if ( ! $rootFolder->hasRight( Permission::ACL_PROP ) ) 70 throw new SecurityException(); 71 } 72 73 }
Download modules/cms/action/ModelAction.class.php
History Sun, 14 Mar 2021 22:29:56 +0100 Jan Dankert Refactoring: Clearer access check. Fri, 26 Feb 2021 01:06:01 +0100 Jan Dankert Refactoring accessing the request parameter values. Wed, 18 Nov 2020 00:18:10 +0100 Jan Dankert Refactoring Part 2: Removing all unnecessary methods in the action base classes. Tue, 17 Nov 2020 23:51:00 +0100 Jan Dankert Refactoring: Every Actionmethod has now its own class. Wed, 11 Nov 2020 21:24:48 +0100 Jan Dankert Cleaned up some views. Fri, 2 Oct 2020 23:11:48 +0200 Jan Dankert Cleanup: No '.inputholder' any more, notices with links to objects. Tue, 29 Sep 2020 22:17:11 +0200 Jan Dankert Refactoring: Do not use global constants. Sun, 23 Feb 2020 04:01:30 +0100 Jan Dankert Refactoring with Namespaces for the cms modules, part 1: moving.