fix code formating, add license if missing

This commit is contained in:
Uwe Steinmann 2024-10-27 06:35:57 +01:00
parent 4f4f3923b9
commit d70a6c79b3
5 changed files with 225 additions and 122 deletions

View File

@ -1,4 +1,35 @@
<?php <?php
/**
* MyDMS. Document Management System
* Copyright (C) 2002-2005 Markus Westphal
* Copyright (C) 2006-2008 Malcolm Cowe
* Copyright (C) 2010 Matteo Lucarelli
* Copyright (C) 2010-2024 Uwe Steinmann
*
* PHP version 8
*
* 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
* (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @category SeedDMS
* @package SeedDMS
* @author Uwe Steinmann <info@seeddms.org>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://www.seeddms.org Main Site
*/
/* Middleware for authentication based on session */ /* Middleware for authentication based on session */
class SeedDMS_Auth_Middleware_Session { /* {{{ */ class SeedDMS_Auth_Middleware_Session { /* {{{ */
@ -23,24 +54,25 @@ class SeedDMS_Auth_Middleware_Session { /* {{{ */
$settings = $this->container->config; $settings = $this->container->config;
$logger = $this->container->logger; $logger = $this->container->logger;
$userobj = null; $userobj = null;
if($this->container->has('userobj')) if ($this->container->has('userobj')) {
$userobj = $this->container->userobj; $userobj = $this->container->userobj;
if($userobj) {
$response = $next($request, $response);
return $response;
} }
$logger->log("Invoke middleware for method ".$request->getMethod()." on '".$request->getUri()->getPath()."'", PEAR_LOG_INFO); if ($userobj) {
$response = $next($request, $response);
return $response;
}
$logger->log("Invoke middleware for method " . $request->getMethod() . " on '" . $request->getUri()->getPath() . "'", PEAR_LOG_INFO);
require_once("inc/inc.ClassSession.php"); require_once("inc/inc.ClassSession.php");
$session = new SeedDMS_Session($dms->getDb()); $session = new SeedDMS_Session($dms->getDb());
if (isset($_COOKIE["mydms_session"])) { if (isset($_COOKIE["mydms_session"])) {
$dms_session = $_COOKIE["mydms_session"]; $dms_session = $_COOKIE["mydms_session"];
$logger->log("Session key: ".$dms_session, PEAR_LOG_DEBUG); $logger->log("Session key: " . $dms_session, PEAR_LOG_DEBUG);
if(!$resArr = $session->load($dms_session)) { if (!$resArr = $session->load($dms_session)) {
/* Delete Cookie */ /* Delete Cookie */
setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); setcookie("mydms_session", $dms_session, time() - 3600, $settings->_httpRoot);
$logger->log("Session for id '".$dms_session."' has gone", PEAR_LOG_ERR); $logger->log("Session for id '" . $dms_session . "' has gone", PEAR_LOG_ERR);
return $response->withStatus(403); return $response->withStatus(403);
} }
@ -48,17 +80,20 @@ class SeedDMS_Auth_Middleware_Session { /* {{{ */
$userobj = $dms->getUser($resArr["userID"]); $userobj = $dms->getUser($resArr["userID"]);
if (!is_object($userobj)) { if (!is_object($userobj)) {
/* Delete Cookie */ /* Delete Cookie */
setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); setcookie("mydms_session", $dms_session, time() - 3600, $settings->_httpRoot);
if($settings->_enableGuestLogin) { if ($settings->_enableGuestLogin) {
if(!($userobj = $dms->getUser($settings->_guestID))) if (!($userobj = $dms->getUser($settings->_guestID))) {
return $response->withStatus(403); return $response->withStatus(403);
} else }
} else {
return $response->withStatus(403); return $response->withStatus(403);
}
} }
if($userobj->isAdmin()) { if ($userobj->isAdmin()) {
if($resArr["su"]) { if ($resArr["su"]) {
if(!($userobj = $dms->getUser($resArr["su"]))) if (!($userobj = $dms->getUser($resArr["su"]))) {
return $response->withStatus(403); return $response->withStatus(403);
}
} }
} }
$dms->setUser($userobj); $dms->setUser($userobj);

View File

@ -1,40 +1,71 @@
<?php <?php
/**
* MyDMS. Document Management System
* Copyright (C) 2002-2005 Markus Westphal
* Copyright (C) 2006-2008 Malcolm Cowe
* Copyright (C) 2010 Matteo Lucarelli
* Copyright (C) 2010-2024 Uwe Steinmann
*
* PHP version 8
*
* 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
* (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @category SeedDMS
* @package SeedDMS
* @author Uwe Steinmann <info@seeddms.org>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://www.seeddms.org Main Site
*/
$conversionmgr = null; $conversionmgr = null;
require_once("inc.ClassConversionMgr.php"); require_once "inc.ClassConversionMgr.php";
$conversionmgr = new SeedDMS_ConversionMgr(); $conversionmgr = new SeedDMS_ConversionMgr();
if(!empty($settings->_converters['preview'])) { if (!empty($settings->_converters['preview'])) {
foreach($settings->_converters['preview'] as $mimetype=>$cmd) { foreach ($settings->_converters['preview'] as $mimetype => $cmd) {
$conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'image/png', $cmd), $settings->_cmdTimeout)->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'image/png', $cmd), $settings->_cmdTimeout)->setLogger($logger);
} }
} }
if(!empty($settings->_converters['pdf'])) { if (!empty($settings->_converters['pdf'])) {
foreach($settings->_converters['pdf'] as $mimetype=>$cmd) { foreach ($settings->_converters['pdf'] as $mimetype => $cmd) {
$conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'application/pdf', $cmd, $settings->_cmdTimeout))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'application/pdf', $cmd, $settings->_cmdTimeout))->setLogger($logger);
} }
} }
if(!empty($settings->_converters['fulltext'])) { if (!empty($settings->_converters['fulltext'])) {
foreach($settings->_converters['fulltext'] as $mimetype=>$cmd) { foreach ($settings->_converters['fulltext'] as $mimetype => $cmd) {
$conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'text/plain', $cmd, $settings->_cmdTimeout))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceExec($mimetype, 'text/plain', $cmd, $settings->_cmdTimeout))->setLogger($logger);
} }
} }
if(extension_loaded('imagick')) { if (extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServicePdfToImage('application/pdf', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServicePdfToImage('application/pdf', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/tiff', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/tiff', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/svg+xml', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/svg+xml', 'image/png'))->setLogger($logger);
} }
if(extension_loaded('gd') || extension_loaded('imagick')) { if (extension_loaded('gd') || extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpeg', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpeg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/gif', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/gif', 'image/png'))->setLogger($logger);
} }
if(extension_loaded('imagick')) { if (extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServiceTextToImage('text/plain', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceTextToImage('text/plain', 'image/png'))->setLogger($logger);
} }
@ -47,11 +78,11 @@ $conversionmgr->addService(new SeedDMS_ConversionServiceTextToText('text/x-rst',
$conversionmgr->addService(new SeedDMS_ConversionServiceHtmlToText('text/html', 'text/plain'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceHtmlToText('text/html', 'text/plain'))->setLogger($logger);
if(isset($GLOBALS['SEEDDMS_HOOKS']['initConversion'])) { if (isset($GLOBALS['SEEDDMS_HOOKS']['initConversion'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initConversion'] as $hookObj) { foreach ($GLOBALS['SEEDDMS_HOOKS']['initConversion'] as $hookObj) {
if (method_exists($hookObj, 'getConversionServices')) { if (method_exists($hookObj, 'getConversionServices')) {
if($services = $hookObj->getConversionServices(array('dms'=>$dms, 'settings'=>$settings, 'logger'=>$logger))) { if ($services = $hookObj->getConversionServices(array('dms' => $dms, 'settings' => $settings, 'logger' => $logger))) {
foreach($services as $service) { foreach ($services as $service) {
$conversionmgr->addService($service)->setLogger($logger); $conversionmgr->addService($service)->setLogger($logger);
} }
} }

View File

@ -1,28 +1,41 @@
<?php <?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal /**
// Copyright (C) 2006-2008 Malcolm Cowe * MyDMS. Document Management System
// Copyright (C) 2010 Matteo Lucarelli * Copyright (C) 2002-2005 Markus Westphal
// * Copyright (C) 2006-2008 Malcolm Cowe
// This program is free software; you can redistribute it and/or modify * Copyright (C) 2010 Matteo Lucarelli
// it under the terms of the GNU General Public License as published by * Copyright (C) 2010-2024 Uwe Steinmann
// the Free Software Foundation; either version 2 of the License, or *
// (at your option) any later version. * PHP version 8
// *
// This program is distributed in the hope that it will be useful, * This program is free software; you can redistribute it and/or modify
// but WITHOUT ANY WARRANTY; without even the implied warranty of * it under the terms of the GNU General Public License as published by
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * the Free Software Foundation; either version 2 of the License, or
// GNU General Public License for more details. * (at your option) any later version.
// *
// You should have received a copy of the GNU General Public License * This program is distributed in the hope that it will be useful,
// along with this program; if not, write to the Free Software * but WITHOUT ANY WARRANTY; without even the implied warranty of
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @category SeedDMS
* @package SeedDMS
* @author Uwe Steinmann <info@seeddms.org>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://www.seeddms.org Main Site
*/
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
if(!empty($settings->_coreDir)) if (!empty($settings->_coreDir)) {
require_once($settings->_coreDir.'/Core.php'); require_once $settings->_coreDir . '/Core.php';
else } else {
require_once('vendor/seeddms/core/Core.php'); require_once 'vendor/seeddms/core/Core.php';
}
$request = Request::createFromGlobals(); $request = Request::createFromGlobals();

View File

@ -1,34 +1,46 @@
<?php <?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// 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
// (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
if(!isset($settings)) /**
require_once("../inc/inc.Settings.php"); * MyDMS. Document Management System
require_once("inc/inc.Utils.php"); * Copyright (C) 2002-2005 Markus Westphal
require_once("inc/inc.LogInit.php"); * Copyright (C) 2006-2008 Malcolm Cowe
require_once("inc/inc.Language.php"); * Copyright (C) 2010 Matteo Lucarelli
require_once("inc/inc.Init.php"); * Copyright (C) 2010-2024 Uwe Steinmann
require_once("inc/inc.Extension.php"); *
require_once("inc/inc.DBInit.php"); * PHP version 8
require_once("inc/inc.ClassUI.php"); *
require_once("inc/inc.Authentication.php"); * 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
* (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @category SeedDMS
* @package SeedDMS
* @author Uwe Steinmann <info@seeddms.org>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://www.seeddms.org Main Site
*/
if(!isset($settings)) {
require_once "../inc/inc.Settings.php");
}
require_once "inc/inc.Utils.php";
require_once "inc/inc.LogInit.php";
require_once "inc/inc.Language.php";
require_once "inc/inc.Init.php";
require_once "inc/inc.Extension.php";
require_once "inc/inc.DBInit.php";
require_once "inc/inc.ClassUI.php";
require_once "inc/inc.Authentication.php";
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
@ -37,7 +49,7 @@ if ($user->isGuest()) {
UI::exitError(getMLText("my_documents"), getMLText("access_denied")); UI::exitError(getMLText("my_documents"), getMLText("access_denied"));
} }
if($view) { if ($view) {
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);

View File

@ -1,71 +1,83 @@
<?php <?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// 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
// (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
if(!isset($settings)) /**
require_once("../inc/inc.Settings.php"); * MyDMS. Document Management System
require_once("inc/inc.Utils.php"); * Copyright (C) 2002-2005 Markus Westphal
require_once("inc/inc.LogInit.php"); * Copyright (C) 2006-2008 Malcolm Cowe
require_once("inc/inc.Language.php"); * Copyright (C) 2010 Matteo Lucarelli
require_once("inc/inc.Init.php"); * Copyright (C) 2010-2016 Uwe Steinmann
require_once("inc/inc.Extension.php"); *
require_once("inc/inc.DBInit.php"); * PHP version 8
require_once("inc/inc.ClassUI.php"); *
require_once("inc/inc.ClassAccessOperation.php"); * This program is free software; you can redistribute it and/or modify
require_once("inc/inc.Authentication.php"); * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @category SeedDMS
* @package SeedDMS
* @author Uwe Steinmann <info@seeddms.org>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://www.seeddms.org Main Site
*/
if (!isset($settings)) {
require_once "../inc/inc.Settings.php";
}
require_once "inc/inc.Utils.php";
require_once "inc/inc.LogInit.php";
require_once "inc/inc.Language.php";
require_once "inc/inc.Init.php";
require_once "inc/inc.Extension.php";
require_once "inc/inc.DBInit.php";
require_once "inc/inc.ClassUI.php";
require_once "inc/inc.ClassAccessOperation.php";
require_once "inc/inc.Authentication.php";
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))), getMLText("invalid_doc_id"));
} }
$document = $dms->getDocument($_GET["documentid"]); $document = $dms->getDocument($_GET["documentid"]);
if (!is_object($document)) { if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))), getMLText("invalid_doc_id"));
} }
$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings);
if ($document->getAccessMode($user) < M_READWRITE) { if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("access_denied"));
} }
if($document->isLocked()) { if ($document->isLocked()) {
$lockingUser = $document->getLockingUser(); $lockingUser = $document->getLockingUser();
if (($lockingUser->getID() != $user->getID()) && ($document->getAccessMode($user) != M_ALL)) { if (($lockingUser->getID() != $user->getID()) && ($document->getAccessMode($user) != M_ALL)) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("lock_message", array("email" => $lockingUser->getEmail(), "username" => htmlspecialchars($lockingUser->getFullName())))); UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("lock_message", array("email" => $lockingUser->getEmail(), "username" => htmlspecialchars($lockingUser->getFullName()))));
} }
} }
if($settings->_quota > 0) { if ($settings->_quota > 0) {
$remain = checkQuota($user); $remain = checkQuota($user);
if ($remain < 0) { if ($remain < 0) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("quota_exceeded", array('bytes'=>SeedDMS_Core_File::format_filesize(abs($remain))))); UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("quota_exceeded", array('bytes'=>SeedDMS_Core_File::format_filesize(abs($remain)))));
} }
} }
$folder = $document->getFolder(); $folder = $document->getFolder();
if($view) { if ($view) {
$view->setParam('folder', $folder); $view->setParam('folder', $folder);
$view->setParam('document', $document); $view->setParam('document', $document);
$view->setParam('strictformcheck', $settings->_strictFormCheck); $view->setParam('strictformcheck', $settings->_strictFormCheck);