diff options
| author | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
|---|---|---|
| committer | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
| commit | 4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch) | |
| tree | 5c07151ae61276d334e88f6309c30d439a85c12e /lib/classes/AuthorObject.php | |
| parent | da0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff) | |
| parent | 97a188592c679890a25c37ab78463add76a52ff7 (diff) | |
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'lib/classes/AuthorObject.php')
| -rw-r--r-- | lib/classes/AuthorObject.php | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/lib/classes/AuthorObject.php b/lib/classes/AuthorObject.php new file mode 100644 index 0000000..f08622e --- /dev/null +++ b/lib/classes/AuthorObject.php @@ -0,0 +1,138 @@ +<?php +# Lifter002: TEST +# Lifter007: TODO +# Lifter003: TODO +# Lifter010: TODO +// +--------------------------------------------------------------------------+ +// This file is part of Stud.IP +// AuthorObject.php +// +// Class to provide basic properties of an object in Stud.IP +// +// Copyright (c) 2003 Alexander Willner <mail@AlexanderWillner.de> +// +--------------------------------------------------------------------------+ +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or any later version. +// +--------------------------------------------------------------------------+ +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +--------------------------------------------------------------------------+ + + +define("ERROR_NORMAL", "1"); +define("ERROR_CRITICAL", "8"); + + +/** + * AuthorObject.php + * + * Class to provide basic properties of an object in Stud.IP + * + * @author Alexander Willner <mail@alexanderwillner.de> + * @copyright 2003 Stud.IP-Project + * @access public + * @package studip_core + * @modulegroup core + */ +class AuthorObject +{ + + /** + * Holds the code and description of an internal error + * @access private + * @var array $errorArray + */ + public $errorArray; + + /** + * Holds the type of object. See INSTANCEOF_* + * @access private + * @var string $instanceof + */ + public $instanceof; + + /** + * Constructor + * @access public + */ + public function __construct() + { + $this->instanceof = 'AuthorObject'; + $this->errorArray = []; + } + + /** + * Gets the type of object + * @access public + * @return string The type of object. See INSTANCEOF_* + */ + public function x_instanceof() + { + return $this->instanceof; + } + + /** + * Gives the internal errorcode + * @access public + * @return boolean True if an error exists + */ + public function isError() + { + return count($this->errorArray) > 0; + } + + /** + * Gives the codes and descriptions of the internal errors + * @access public + * @return array The errors as an Array like "1" => "Could not open DB" + */ + public function getErrors() + { + return $this->errorArray; + } + + /** + * Resets the errorcodes and descriptions + * @access public + */ + public function resetErrors() + { + $this->errorArray = []; + } + + /** + * Sets the errorcode (internal) + * @access public + * @param integer $errcode The code of the error + * @param string $errstring The description of the error + */ + public function throwError($errcode, $errstring) + { + if (!is_array($this->errorArray)) { + $this->errorArray = []; + } + + $this->errorArray [] = [ + 'code' => $errcode, + 'string' => $errstring, + ]; + } + + /** + * Sets the errorcode from other classes (internal) + * @access private + * @param object $class The class with the error + */ + public function throwErrorFromClass(AuthorObject $class) + { + $this->errorArray = $class->getErrors(); + $class->resetErrors(); + } +} |
