From 6bf7d46acef369efbcb6a911a9207431a5c3d9ea Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 18 Nov 2019 15:04:52 +0100 Subject: [PATCH 01/22] - Added securimage via composer - Added securimage in application/views/templates/FHC-Header.php --- application/views/templates/FHC-Header.php | 51 ++++--- composer.json | 2 + composer.lock | 153 ++++++++++++++------- 3 files changed, 137 insertions(+), 69 deletions(-) diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index 3c1327d5f..03ee011b7 100644 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -18,6 +18,7 @@ $addons = isset($addons) ? $addons : false; $ajaxlib = isset($ajaxlib) ? $ajaxlib : false; $bootstrap = isset($bootstrap) ? $bootstrap : false; + $captcha = isset($captcha) ? $captcha : false; $dialoglib = isset($dialoglib) ? $dialoglib : false; $filterwidget = isset($filterwidget) ? $filterwidget : false; $fontawesome = isset($fontawesome) ? $fontawesome : false; @@ -62,12 +63,6 @@ // Font Awesome CSS if ($fontawesome === true) generateCSSsInclude('vendor/components/font-awesome/css/font-awesome.min.css'); - // PivotUI CSS - if ($pivotui === true) - { - generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css'); - } - // SB Admin 2 template CSS if ($sbadmintemplate === true) { @@ -75,6 +70,15 @@ generateCSSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css'); } + // Securimage CSS + if ($captcha === true) generateCSSsInclude('vendor/dapphp/securimage/securimage.css'); + + // PivotUI CSS + if ($pivotui === true) + { + generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css'); + } + // Table sorter CSS if ($tablesorter === true) { @@ -107,6 +111,9 @@ // Eventually required CSS generateCSSsInclude($customCSSs); // Eventually required CSS + // CSS End + // -------------------------------------------------------------------------------------------------------- + // -------------------------------------------------------------------------------------------------------- // Javascripts @@ -132,19 +139,32 @@ } // jQuery checkboxes + // NOTE: keep it after jQuery includes if ($jquerycheckboxes === true) { generateJSsInclude('vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js'); } - // Bootstrap JS - if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js'); - // jQuery treetable // NOTE: keep it after jQuery includes if ($jquerytreetable === true) generateJSsInclude('vendor/ludo/jquery-treetable/jquery.treetable.js'); - // MomentJS + // Bootstrap JS + if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js'); + + // SB Admin 2 template JS + if ($sbadmintemplate === true) + { + generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/vendor/metisMenu/metisMenu.min.js'); + generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js'); + generateBackwardCompatibleJSMsIe('vendor/afarkas/html5shiv/dist/html5shiv.min.js'); + generateBackwardCompatibleJSMsIe('vendor/scottjehl/Respond/dest/respond.min.js'); + } + + // Securimage JS + if ($captcha === true) generateJSsInclude('vendor/dapphp/securimage/securimage.js'); + + // Moment JS if ($momentjs === true) { generateJSsInclude('vendor/moment/momentjs/min/moment.min.js'); @@ -152,7 +172,7 @@ generateJSsInclude('vendor/moment/momentjs/locale/en-ie.js'); } - // PivotUI CSS + // PivotUI JS if ($pivotui === true) { generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js'); @@ -176,15 +196,6 @@ // Tinymce JS if ($tinymce === true) generateJSsInclude('vendor/tinymce/tinymce/tinymce.min.js'); - // SB Admin 2 template JS - if ($sbadmintemplate === true) - { - generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/vendor/metisMenu/metisMenu.min.js'); - generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js'); - generateBackwardCompatibleJSMsIe('vendor/afarkas/html5shiv/dist/html5shiv.min.js'); - generateBackwardCompatibleJSMsIe('vendor/scottjehl/Respond/dest/respond.min.js'); - } - // -------------------------------------------------------------------------------------------------------- // From public folder diff --git a/composer.json b/composer.json index 636c6da42..7fcf8d970 100644 --- a/composer.json +++ b/composer.json @@ -258,6 +258,8 @@ "components/font-awesome": "^4.7", "components/angular.js": "1.3.16", + "dapphp/securimage": "3.6.7", + "easyrdf/easyrdf": "0.9.*", "fgelinas/timepicker": "^0.3.3", diff --git a/composer.lock b/composer.lock index 0b869361a..3c4c83d6a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "44a02c1e72626f05e682de2030c8adad", - "content-hash": "e0898c2ba3d18593851989029e54bedb", + "hash": "75b3277334ef6564aee20c9d2983d35d", + "content-hash": "68bb70c839d177e462a61df013b980c2", "packages": [ { "name": "BlackrockDigital/startbootstrap-sb-admin-2", @@ -47,7 +47,7 @@ ], "description": "Defacto way to enable use of HTML5 sectioning elements in legacy Internet Explorer.", "homepage": "http://paulirish.com/2011/the-history-of-the-html5-shiv/", - "time": "2015-07-20T20:04:00+00:00" + "time": "2015-07-20 20:04:00" }, { "name": "alvaro-prieto/colResizable", @@ -126,7 +126,7 @@ }, "type": "library", "notification-url": "https://packagist.org/downloads/", - "time": "2016-09-02T11:31:54+00:00" + "time": "2016-09-02 11:31:54" }, { "name": "codeigniter/framework", @@ -159,7 +159,7 @@ ], "description": "The CodeIgniter framework", "homepage": "https://codeigniter.com", - "time": "2019-01-16T15:49:35+00:00" + "time": "2019-01-16 15:49:35" }, { "name": "components/angular.js", @@ -463,7 +463,7 @@ ], "description": "Shim repository for Angular.js", "homepage": "http://angularjs.org", - "time": "2015-06-07T20:10:38+00:00" + "time": "2015-06-07 20:10:38" }, { "name": "components/font-awesome", @@ -498,7 +498,7 @@ "OFL-1.1" ], "description": "The iconic font designed for use with Twitter Bootstrap.", - "time": "2016-10-25T10:56:23+00:00" + "time": "2016-10-25 10:56:23" }, { "name": "components/jquery", @@ -540,7 +540,7 @@ ], "description": "jQuery JavaScript Library", "homepage": "http://jquery.com", - "time": "2018-03-04T13:23:48+00:00" + "time": "2018-03-04 13:23:48" }, { "name": "components/jqueryui", @@ -625,7 +625,56 @@ } ], "description": "jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice.", - "time": "2016-09-16T05:47:55+00:00" + "time": "2016-09-16 05:47:55" + }, + { + "name": "dapphp/securimage", + "version": "3.6.7", + "source": { + "type": "git", + "url": "https://github.com/dapphp/securimage.git", + "reference": "1ecb884797c66e01a875c058def46c85aecea45b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dapphp/securimage/zipball/1ecb884797c66e01a875c058def46c85aecea45b", + "reference": "1ecb884797c66e01a875c058def46c85aecea45b", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": ">=5.4" + }, + "suggest": { + "ext-pdo": "For database storage support", + "ext-pdo_mysql": "For MySQL database support", + "ext-pdo_sqlite": "For SQLite3 database support" + }, + "type": "library", + "autoload": { + "classmap": [ + "securimage.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Drew Phillips", + "email": "drew@drew-phillips.com" + } + ], + "description": "PHP CAPTCHA Library", + "homepage": "https://www.phpcaptcha.org", + "keywords": [ + "Forms", + "anti-spam", + "captcha", + "security" + ], + "time": "2018-03-09 06:07:41" }, { "name": "easyrdf/easyrdf", @@ -687,7 +736,7 @@ "rdfa", "sparql" ], - "time": "2015-02-27T09:45:49+00:00" + "time": "2015-02-27 09:45:49" }, { "name": "fgelinas/timepicker", @@ -697,12 +746,6 @@ "url": "https://github.com/fgelinas/timepicker", "reference": "9aebe413b784696639220bc36b7c1e8a30fda129" }, - "dist": { - "type": "zip", - "url": "https://fgelinas.com/code/timepicker/releases/jquery-ui-timepicker-0.3.3.zip", - "reference": null, - "shasum": null - }, "type": "library" }, { @@ -753,7 +796,7 @@ "faker", "fixtures" ], - "time": "2018-07-12T10:23:15+00:00" + "time": "2018-07-12 10:23:15" }, { "name": "joeldbirch/superfish", @@ -895,7 +938,7 @@ "json", "schema" ], - "time": "2014-08-25T02:48:14+00:00" + "time": "2014-08-25 02:48:14" }, { "name": "kevinlebrun/colors.php", @@ -946,7 +989,7 @@ "console", "shell" ], - "time": "2018-05-30T08:34:23+00:00" + "time": "2018-05-30 08:34:23" }, { "name": "kingsquare/json-schema-form", @@ -980,11 +1023,17 @@ } ], "description": "A framework-agnostic PHP Implementation for generating simple forms based on json-schema", - "time": "2014-07-10T12:27:19+00:00" + "time": "2014-07-10 12:27:19" }, { "name": "ludo/jquery-treetable", "version": "3.2.0", + "dist": { + "type": "zip", + "url": "https://github.com/ludo/jquery-treetable/archive/3.2.0.zip", + "reference": null, + "shasum": null + }, "type": "library" }, { @@ -1036,7 +1085,7 @@ "keywords": [ "markdown" ], - "time": "2015-03-01T12:03:08+00:00" + "time": "2015-03-01 12:03:08" }, { "name": "ml/iri", @@ -1083,7 +1132,7 @@ "uri", "url" ], - "time": "2014-01-21T13:43:39+00:00" + "time": "2014-01-21 13:43:39" }, { "name": "ml/json-ld", @@ -1132,7 +1181,7 @@ "JSON-LD", "jsonld" ], - "time": "2018-11-18T20:26:18+00:00" + "time": "2018-11-18 20:26:18" }, { "name": "moment/momentjs", @@ -1194,7 +1243,7 @@ "sorting", "table" ], - "time": "2018-11-20T21:54:28+00:00" + "time": "2018-11-20 21:54:28" }, { "name": "nategood/httpful", @@ -1244,7 +1293,7 @@ "rest", "restful" ], - "time": "2015-10-26T16:11:30+00:00" + "time": "2015-10-26 16:11:30" }, { "name": "netcarver/textile", @@ -1297,7 +1346,7 @@ "plaintext", "textile" ], - "time": "2019-01-26T17:03:58+00:00" + "time": "2019-01-26 17:03:58" }, { "name": "nicolaskruchten/pivottable", @@ -1340,7 +1389,7 @@ "pivottable", "table" ], - "time": "2018-11-04T18:21:09+00:00" + "time": "2018-11-04 18:21:09" }, { "name": "olifolkerd/tabulator", @@ -1443,7 +1492,7 @@ "x.509", "x509" ], - "time": "2019-03-10T16:53:45+00:00" + "time": "2019-03-10 16:53:45" }, { "name": "psr/log", @@ -1490,7 +1539,7 @@ "psr", "psr-3" ], - "time": "2018-11-20T15:27:04+00:00" + "time": "2018-11-20 15:27:04" }, { "name": "rdlowrey/auryn", @@ -1551,11 +1600,17 @@ "dic", "ioc" ], - "time": "2017-05-15T06:26:46+00:00" + "time": "2017-05-15 06:26:46" }, { "name": "rmariuzzo/jquery-checkboxes", "version": "1.0.7", + "dist": { + "type": "zip", + "url": "https://github.com/rmariuzzo/checkboxes.js/archive/v1.0.7.zip", + "reference": null, + "shasum": null + }, "type": "library" }, { @@ -1607,7 +1662,7 @@ "php", "template" ], - "time": "2016-02-01T16:31:13+00:00" + "time": "2016-02-01 16:31:13" }, { "name": "rougin/combustor", @@ -1672,7 +1727,7 @@ "generator", "php" ], - "time": "2016-02-14T10:36:58+00:00" + "time": "2016-02-14 10:36:58" }, { "name": "rougin/describe", @@ -1725,7 +1780,7 @@ "describe", "php" ], - "time": "2016-03-24T18:17:47+00:00" + "time": "2016-03-24 18:17:47" }, { "name": "rougin/refinery", @@ -1790,7 +1845,7 @@ "php", "refinery" ], - "time": "2016-03-04T16:55:32+00:00" + "time": "2016-03-04 16:55:32" }, { "name": "rougin/spark-plug", @@ -1849,7 +1904,7 @@ "php", "spark-plug" ], - "time": "2015-10-23T08:27:10+00:00" + "time": "2015-10-23 08:27:10" }, { "name": "scottjehl/Respond", @@ -1921,7 +1976,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-11-20T15:55:20+00:00" + "time": "2018-11-20 15:55:20" }, { "name": "symfony/debug", @@ -1978,7 +2033,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2016-07-30T07:22:48+00:00" + "time": "2016-07-30 07:22:48" }, { "name": "symfony/polyfill-ctype", @@ -2036,7 +2091,7 @@ "polyfill", "portable" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/polyfill-mbstring", @@ -2095,7 +2150,7 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-02-06 07:57:58" }, { "name": "symfony/yaml", @@ -2145,7 +2200,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" + "time": "2018-11-11 11:18:13" }, { "name": "tapmodo/Jcrop", @@ -2202,7 +2257,7 @@ "tinymce", "wysiwyg" ], - "time": "2019-03-20T13:56:58+00:00" + "time": "2019-03-20 13:56:58" }, { "name": "tomazdragar/SimpleCropper", @@ -2263,7 +2318,7 @@ "responsive", "web" ], - "time": "2019-02-13T15:55:38+00:00" + "time": "2019-02-13 15:55:38" }, { "name": "twig/twig", @@ -2329,7 +2384,7 @@ "keywords": [ "templating" ], - "time": "2019-05-14T11:59:08+00:00" + "time": "2019-05-14 11:59:08" }, { "name": "zetacomponents/base", @@ -2393,7 +2448,7 @@ ], "description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.", "homepage": "https://github.com/zetacomponents", - "time": "2017-11-28T11:30:00+00:00" + "time": "2017-11-28 11:30:00" }, { "name": "zetacomponents/database", @@ -2470,7 +2525,7 @@ ], "description": "A lightweight database layer on top of PHP's PDO that allows you to utilize a database without having to take care of differences in SQL dialects.", "homepage": "https://github.com/zetacomponents", - "time": "2017-11-28T10:55:26+00:00" + "time": "2017-11-28 10:55:26" }, { "name": "zetacomponents/document", @@ -2521,7 +2576,7 @@ ], "description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.", "homepage": "https://github.com/zetacomponents", - "time": "2013-12-19T11:40:00+00:00" + "time": "2013-12-19 11:40:00" }, { "name": "zetacomponents/workflow", @@ -2587,7 +2642,7 @@ ], "description": "The purpose of the Workflow component is to provide the core functionality of an activity-based workflow system including the definition and execution of workflow specifications.", "homepage": "https://github.com/zetacomponents", - "time": "2014-09-27T19:26:10+00:00" + "time": "2014-09-27 19:26:10" }, { "name": "zetacomponents/workflow-database-tiein", @@ -2654,7 +2709,7 @@ ], "description": "Contains the database backend for the Workflow component.", "homepage": "https://github.com/zetacomponents", - "time": "2014-09-27T19:26:10+00:00" + "time": "2014-09-27 19:26:10" }, { "name": "zetacomponents/workflow-event-log-tiein", @@ -2714,7 +2769,7 @@ ], "description": "Contains the EventLog listener for the Workflow component.", "homepage": "https://github.com/zetacomponents", - "time": "2007-12-17T09:04:44+00:00" + "time": "2007-12-17 09:04:44" } ], "packages-dev": [], From ceb3f212c94da92c7302607bb8ea5df80a1cbdf2 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 22 Nov 2019 12:05:07 +0100 Subject: [PATCH 02/22] - Added support for language in session in function getUserLanguage from helper hlp_language_helper - If the language is loaded from database then it is checked that the language is enabled --- application/helpers/hlp_language_helper.php | 42 +++++++++++++++------ application/models/person/Person_model.php | 22 ++--------- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/application/helpers/hlp_language_helper.php b/application/helpers/hlp_language_helper.php index 4dfb53c7b..8090e1e8b 100644 --- a/application/helpers/hlp_language_helper.php +++ b/application/helpers/hlp_language_helper.php @@ -18,28 +18,48 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); /** * Function to retrieve the language of the logged user - * If is not possible to retrieve it, then the default system language is returnd - * If as parameter is given a valid language the it's returned useful to avoid - * to write the same control structures for the language + * If is not possible to retrieve it, then the default system language is returned + * NOTE: If the given parameter is a valid language then it is returned + * It is useful to avoid to write a lot of "if else" structures */ function getUserLanguage($language = null) { + // If the given parameter is a valid language then return it if (!isEmptyString($language)) return $language; - $ci =& get_instance(); // get CI instance - - // Use the default system language, if it's possible retrieves the language for the logged user + // Use the default system language as fallback $language = DEFAULT_LANGUAGE; - // Checks if the user is authenticated to retrieve the users's language - // NOTE: this helper could be called when the user is not logged in the system - // so this is why is checked if the function getAuthUID exists - if (function_exists('getAuthUID')) + + // If the language is present in the session and it is valid + if (isset($_SESSION['sprache']) && !isEmptyString($_SESSION['sprache'])) { + $language = $_SESSION['sprache']; // then use it + } + // Otherwise checks if the user is authenticated to retrieve the users's language + // NOTE: this helper could be called when the user is NOT logged in the system + // therefore is checked if the user is logged + elseif (isLogged()) + { + $ci =& get_instance(); // get CI instance + // NOTE: Stores the loaded model with the alias PersonModelLanguage to avoid to overwrite // an already loaded PersonModel used somewhere else $ci->load->model('person/Person_model', 'PersonModelLanguage'); - $language = $ci->PersonModelLanguage->getLanguage(getAuthUID()); + // Retrieves language/s for the logged user + $languagesDB = $ci->PersonModelLanguage->getLanguage(getAuthUID()); + if (hasData($languagesDB)) + { + // Looks for the first valid language + foreach (getData($languagesDB) as $languageDB) + { + if (!isEmptyString($languageDB->sprache)) + { + $language = $languageDB->sprache; + break; + } + } + } } return $language; diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 1291427b6..c935cfbaa 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -207,28 +207,12 @@ class Person_model extends DB_Model */ public function getLanguage($uid) { - $language = DEFAULT_LANGUAGE; - + $this->addSelect('public.tbl_person.sprache'); $this->addJoin('public.tbl_benutzer', 'person_id'); + $this->addJoin('public.tbl_sprache', 'sprache'); $this->addOrder('public.tbl_person.updateamum', 'DESC'); $this->addOrder('public.tbl_person.insertvon', 'DESC'); - $persons = $this->loadWhere(array('uid' => $uid)); - - if (hasData($persons)) - { - for ($i = 0; $i < count($persons->retval); $i++) - { - $person = $persons->retval[$i]; - - if (!isEmptyString($person->sprache)) - { - $language = $person->sprache; - break; - } - } - } - - return $language; + return $this->loadWhere(array('uid' => $uid, 'content' => true)); } } From 0f9b29c52ed7086a14c458d23b289de5e8250b87 Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 25 Nov 2019 16:25:10 +0100 Subject: [PATCH 03/22] - Added private method _checkHTTPS to core/FHC_Controller - Method _checkHTTPS is called in core/FHC_Controller constructor immediately after the parent constructor call - Method _checkHTTPS checks if the HTTPS protocol is enabled and used, if NOT then an error is raised and the execution is terminated --- application/core/FHC_Controller.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/application/core/FHC_Controller.php b/application/core/FHC_Controller.php index 234cf6a6f..93c324b21 100644 --- a/application/core/FHC_Controller.php +++ b/application/core/FHC_Controller.php @@ -21,6 +21,9 @@ abstract class FHC_Controller extends CI_Controller { parent::__construct(); + // NOTE: placed here before performing anything else!!! + $this->_checkHTTPS(); + $this->_controllerId = null; // set _controllerId as null by default // Loads helper message to manage returning messages @@ -129,4 +132,20 @@ abstract class FHC_Controller extends CI_Controller { $this->output->set_content_type('application/json')->set_output(json_encode($mixed)); } + + //------------------------------------------------------------------------------------------------------------------ + // Private methods + + /** + * Checks if the call is performed via web and if HTTPS is enabled and used + * If NOT then an error is raised and the execution is terminated + */ + private function _checkHTTPS() + { + // If NOT called from command line and if the HTTPS protocol is NOT enabled + if (!$this->input->is_cli_request() && !isset($_SERVER['HTTPS'])) + { + show_error('This web site cannot work correctly without the HTTPS protocol enabled'); + } + } } From 0319d0cc2aead3884193e71c36157f07c5a75f5b Mon Sep 17 00:00:00 2001 From: Paolo Date: Tue, 26 Nov 2019 15:24:26 +0100 Subject: [PATCH 04/22] - Added new constants in config/constants.php: - LANG_SESSION_ACTIVE_LANGUAGES - LANG_SESSION_CURRENT_LANGUAGE - Added new functions in helper hlp_language_helper: - setUserLanguage - getDBActiveLanguages - getActiveLanguages - Adapted code to make use of them - Added new controller controllers/widgets/Language --- application/config/constants.php | 4 +- application/controllers/widgets/Language.php | 31 ++++++ application/helpers/hlp_language_helper.php | 99 ++++++++++++++++---- 3 files changed, 116 insertions(+), 18 deletions(-) create mode 100644 application/controllers/widgets/Language.php diff --git a/application/config/constants.php b/application/config/constants.php index ac2ecc649..621f58ecb 100644 --- a/application/config/constants.php +++ b/application/config/constants.php @@ -64,7 +64,9 @@ define('LDAP_TOO_MANY_USER_DN', 11); |-------------------------------------------------------------------------- */ define('LANG_SESSION_NAME', 'LANGUAGE'); -define('LANG_SESSION_INDEXES', 'LANGUAGE_INDEXES'); +define('LANG_SESSION_INDEXES', 'INDEXES'); +define('LANG_SESSION_ACTIVE_LANGUAGES', 'ACTIVE_LANGUAGES'); +define('LANG_SESSION_CURRENT_LANGUAGE', 'sprache'); // NOTE: it is not under LANG_SESSION_NAME /* |-------------------------------------------------------------------------- diff --git a/application/controllers/widgets/Language.php b/application/controllers/widgets/Language.php new file mode 100644 index 000000000..8269d3b2d --- /dev/null +++ b/application/controllers/widgets/Language.php @@ -0,0 +1,31 @@ +input->post('language'); + + $this->outputJson(setUserLanguage($language)); + } +} diff --git a/application/helpers/hlp_language_helper.php b/application/helpers/hlp_language_helper.php index 8090e1e8b..1678a4102 100644 --- a/application/helpers/hlp_language_helper.php +++ b/application/helpers/hlp_language_helper.php @@ -31,9 +31,9 @@ function getUserLanguage($language = null) $language = DEFAULT_LANGUAGE; // If the language is present in the session and it is valid - if (isset($_SESSION['sprache']) && !isEmptyString($_SESSION['sprache'])) + if (isset($_SESSION[LANG_SESSION_CURRENT_LANGUAGE]) && !isEmptyString($_SESSION[LANG_SESSION_CURRENT_LANGUAGE])) { - $language = $_SESSION['sprache']; // then use it + $language = $_SESSION[LANG_SESSION_CURRENT_LANGUAGE]; // then use it } // Otherwise checks if the user is authenticated to retrieve the users's language // NOTE: this helper could be called when the user is NOT logged in the system @@ -82,31 +82,21 @@ function getPhraseByLanguage($phraseLanguagesArray, $language) $langArray = getSessionElement(LANG_SESSION_NAME, LANG_SESSION_INDEXES); if ($langArray == null) // If not already loaded in session { - // Loads the Sprache_model to retrieve the language settings from the DB - // NOTE: Stores the loaded model with the alias SpracheModelLanguage to avoid to overwrite - // an already loaded SpracheModel used somewhere else - $ci->load->model('system/Sprache_model', 'SpracheModelLanguage'); - - // Add order clause by index and select only the sprache column - $ci->SpracheModelLanguage->addOrder('index'); - $ci->SpracheModelLanguage->addSelect('sprache'); - - // Retrieves from public.tbl_sprache - $dbLanguages = $ci->SpracheModelLanguage->load(); + // Retrieves active languages + $dbLanguages = getDBActiveLanguages(); if (hasData($dbLanguages)) // If everything is ok and contains data { $index = 0; // Incremental integer - $languageIndexes = array(); // Array that will contains languages and their indexes + $langArray = array(); // Array that will contains languages and their indexes // Loops through database results foreach (getData($dbLanguages) as $dbLanguage) { - $languageIndexes[$dbLanguage->sprache] = $index++; // set $languageIndexes array elements + $langArray[$dbLanguage->sprache] = $index++; // set $languageIndexes array elements } } - $langArray = $languageIndexes; // copy $languageIndexes to $langArray - // Set session element $_SESSION['LANG']['LANG_INDEXES'] with $languageIndexes + // Set session element $_SESSION['LANG']['LANG_INDEXES'] with $langArray setSessionElement(LANG_SESSION_NAME, LANG_SESSION_INDEXES, $langArray); } @@ -120,3 +110,78 @@ function getPhraseByLanguage($phraseLanguagesArray, $language) return $phrase; } + +/** + * Tries to load active languages from session, if not present then loads them from database and stores them in session + */ +function getActiveLanguages() +{ + $languagesArray = getSessionElement(LANG_SESSION_NAME, LANG_SESSION_ACTIVE_LANGUAGES); + if ($languagesArray == null) + { + $languagesArray = array(); + + // Retrieves from public.tbl_sprache + $dbLanguages = getDBActiveLanguages(); + if (hasData($dbLanguages)) + { + // Loops through database results + foreach (getData($dbLanguages) as $dbLanguage) + { + $languagesArray[$dbLanguage->sprache] = $dbLanguage->bezeichnung; // set $languageIndexes array elements + } + } + + // Set session element $_SESSION['LANG']['LANG_SESSION_ACTIVE_LANGUAGES'] with $languagesArray + setSessionElement(LANG_SESSION_NAME, LANG_SESSION_ACTIVE_LANGUAGES, $languagesArray); + } + + return $languagesArray; +} + +/** + * Loads active languages from database + */ +function getDBActiveLanguages() +{ + $ci =& get_instance(); // get CI instance + + // Loads the Sprache_model to retrieve the language settings from the DB + // NOTE: Stores the loaded model with the alias SpracheModelLanguage to avoid to overwrite + // an already loaded SpracheModel used somewhere else + $ci->load->model('system/Sprache_model', 'SpracheModelLanguage'); + + // Add order clause by index and select only the sprache column + $ci->SpracheModelLanguage->addOrder('index'); + $ci->SpracheModelLanguage->addSelect('sprache, bezeichnung'); + + // Retrieves from public.tbl_sprache + return $ci->SpracheModelLanguage->loadWhere(array('content' => true)); +} + +/** + * Sets the current language to render the GUI in session + */ +function setUserLanguage($language) +{ + $languageValid = false; + + // Checks if the given language is valid (present between active languages) + foreach (getActiveLanguages() as $languageName => $languageTranslation) + { + if ($language == $languageName) + { + $languageValid = true; + break; + } + } + + if ($languageValid) // if the provided language is valid + { + $_SESSION[LANG_SESSION_CURRENT_LANGUAGE] = $language; // stores it in session + + return success('Language successfully changed'); // return success!! + } + + return error('The given language is not valid'); // return an error +} From e910be58e31e964906c228652246cf11a55095ca Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 29 Nov 2019 16:37:33 +0100 Subject: [PATCH 05/22] Added phrases for account activation --- system/phrasesupdate.php | 140 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 4ec315575..10265f6f6 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -4074,6 +4074,146 @@ When on hold, the date is only a reminder.', 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'title', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Account Aktivierung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Account Activation', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'usage', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Bitte wählen Sie ein Passwort für Ihren Account.
Das Passwort muss zumindest 8 Zeichen enthalten, davon mindestens 1 Großbuchstabe, 1 Kleinbuchstabe und eine Ziffer.
Das Passwort darf keine Leerzeichen und Umlaute enthalten.
Erlaubte Sonderzeichen sind: -$#[]{}!().,*:;_', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Please choose a password for your account
The password must contain at least 8 characters, of which 1 must be upper case, 1 lower case and 1 a numeral.
The password may not include spaces or umlauts.
The following special characters are allowed: -$#[]{}!().,*:;_', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'username', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Username', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Username', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'code', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Code', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Code', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'captcha', + 'phrase' => 'label', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Tippen Sie die angezeigten
Zeichen in das untere Feld.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Enter the characters in
the field below.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'captcha', + 'phrase' => 'reload', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Ich kann das Bild nicht lesen - neu laden', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Reload picture', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'activate', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Abschicken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Activate', + 'description' => '', + 'insertvon' => 'system' + ) + ) ) ); From 5c3aed92f00c027ccabefd0c9e2332e2e29081a7 Mon Sep 17 00:00:00 2001 From: Paolo Date: Tue, 3 Dec 2019 16:07:45 +0100 Subject: [PATCH 06/22] Added missing phrase --- system/phrasesupdate.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 10265f6f6..8d36e8a43 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -3769,7 +3769,7 @@ When on hold, the date is only a reminder.', ), array( 'sprache' => 'English', - 'text' => 'Please enter the old an new password', + 'text' => 'Please enter the old and the new password', 'description' => '', 'insertvon' => 'system' ) @@ -4214,6 +4214,26 @@ When on hold, the date is only a reminder.', 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'core', + 'category' => 'password', + 'phrase' => 'wrongCaptcha', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Captcha code falsch ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Captcha code is wrong', + 'description' => '', + 'insertvon' => 'system' + ) + ) ) ); From 4cf6ed9e0c83942cba1011d267e57b403e1e2ae1 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 4 Dec 2019 13:27:49 +0100 Subject: [PATCH 07/22] Added new CryptLib as a collection of different encryption/hashing algorithms based on phpseclib --- application/libraries/CryptLib.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 application/libraries/CryptLib.php diff --git a/application/libraries/CryptLib.php b/application/libraries/CryptLib.php new file mode 100644 index 000000000..ea19f3e5b --- /dev/null +++ b/application/libraries/CryptLib.php @@ -0,0 +1,28 @@ +setBlockLength(256); + $cipher->setKey($key); + + if ($paddingDisabled === true) $cipher->disablePadding(); + + return $cipher->encrypt($value); + } +} From 64976c31df063a873341e669a6a1401881600d20 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 4 Dec 2019 13:56:10 +0100 Subject: [PATCH 08/22] Added new weblogservice type: API --- system/dbupdate_3.3.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index f73517090..0cc307bf2 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -3449,6 +3449,20 @@ if(!$result = @$db->db_query("SELECT 1 FROM fue.tbl_projekttyp LIMIT 1")) echo '
fue.tbl_projekttyp hinzugefuegt.'; } +// Add new webservice type in system.tbl_webservicetyp +if ($result = @$db->db_query("SELECT 1 FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz = 'API';")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO system.tbl_webservicetyp(webservicetyp_kurzbz, beschreibung) VALUES('API', 'Cronjob');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
'; + else + echo ' system.tbl_webservicetyp: Added webservice type "API"
'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; From 6e89a917ae1293dab2d5f5fa5e3263667664eaf5 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 4 Dec 2019 15:12:19 +0100 Subject: [PATCH 09/22] Added missing phrases --- system/phrasesupdate.php | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 8d36e8a43..0ddd71019 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -4234,7 +4234,47 @@ When on hold, the date is only a reminder.', 'insertvon' => 'system' ) ) - ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'missingParameters', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Bitte geben Sie Benutzername, Code und Passwort ein', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Please enter username, code and password', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'account', + 'phrase' => 'wrongActivationCode', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Der angegebene Aktivierungscode ist falsch', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'The provided activation code is wrong', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ) ); From 29f923fb7138c1bf7851150b00390acaed72f2fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 6 Dec 2019 11:13:50 +0100 Subject: [PATCH 10/22] =?UTF-8?q?Statistiken=20korrigiert=20damit=20auch?= =?UTF-8?q?=20Stunden=20ohne=20Stundensatz=20aufscheinen=20Faktor=20aus=20?= =?UTF-8?q?Betragsberechnung=20f=C3=BCr=20Lehrauftr=C3=A4ge=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/fas.xul.php | 32 -- content/fasoverlay.js.php | 42 --- content/mitarbeiter/lehrtaetigkeit.pdf.php | 31 +- content/statistik/alvsstatistik.php | 7 +- content/statistik/koordinatorstunden.php | 137 ------- content/statistik/lehrauftragsgesamtliste.php | 283 --------------- .../statistik/lehrauftragsliste_gst.xls.php | 110 +++--- .../statistik/lehrauftragsliste_mail.xls.php | 208 ++++------- content/statistik/lektorenstatistik.php | 281 --------------- content/statistik/lvplanung.php | 92 +++-- content/statistik/lvplanung.xls.php | 15 +- content/statistik/lvplanunggesamtsj.php | 340 ------------------ content/statistik/projektarbeitexport.xls.php | 248 ++++++------- locale/de-AT/fas.dtd | 16 - 14 files changed, 340 insertions(+), 1502 deletions(-) delete mode 100644 content/statistik/koordinatorstunden.php delete mode 100644 content/statistik/lehrauftragsgesamtliste.php delete mode 100644 content/statistik/lektorenstatistik.php delete mode 100644 content/statistik/lvplanunggesamtsj.php diff --git a/content/fas.xul.php b/content/fas.xul.php index 2aecae047..3b273cd54 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -96,7 +96,6 @@ foreach($addon_obj->result as $addon) - @@ -115,14 +114,12 @@ foreach($addon_obj->result as $addon) - - @@ -317,12 +314,6 @@ foreach($addon_obj->result as $addon) - result as $addon) accesskey = "&menu-statistic-substatistik-alvsstatistik-html.accesskey;"/> - isBerechtigt('admin')) - { - echo ' - - - - - - '; - } - ?> result as $addon) command = "menu-statistic-studentenstatistik:command" accesskey = "&menu-statistic-studentenstatistik.accesskey;"/> - content/statistik/koordinatorstunden.php?oe_kurzbz='+oe_kurzbz,'Koordinatorstunden'); - } - catch(e) - { - alert('Bitte einen Fachbereich auswaehlen'); - return false; - } -} - // **** // * Erstellt das PDF File fuer die Lehrauftraege // * Studiengang muss ausgewaehlt sein @@ -1209,16 +1185,6 @@ function StatistikPrintStudentenstatistik() window.open('content/statistik/studentenstatistik.php?stsem='+stsem,'Studentenstatistik'); } -// **** -// * Liefert eine statistik ueber die Lektorenverteilung auf die Institute -// **** -function StatistikPrintLektorenstatistik() -{ - var stsem = getStudiensemester(); - - window.open('content/statistik/lektorenstatistik.php?stsem='+stsem,'Lektorenstatistik'); -} - // **** // * Liefert eine statistik ueber die Institutszuordnungen und Aufteilung auf intern/extern // **** @@ -1584,14 +1550,6 @@ function StatistikPrintALVSStatistik(format) window.open('content/statistik/alvsstatistik.php?format='+format,'ALVS-Statistik',''); } -// **** -// * Oeffnet die LVPlanunggesamtSJ Statistik -// **** -function StatistikPrintLvPlanungGesamtSJ() -{ - window.open('content/statistik/lvplanunggesamtsj.php','LVPlanungGesamtSJ',''); -} - // **** // * Oeffnet Studenten/Semester Statistik // **** diff --git a/content/mitarbeiter/lehrtaetigkeit.pdf.php b/content/mitarbeiter/lehrtaetigkeit.pdf.php index 1c5760531..28acffcf1 100644 --- a/content/mitarbeiter/lehrtaetigkeit.pdf.php +++ b/content/mitarbeiter/lehrtaetigkeit.pdf.php @@ -31,14 +31,12 @@ require_once('../../include/studiensemester.class.php'); require_once('../../include/phrasen.class.php'); require_once('../../include/benutzerberechtigung.class.php'); - $user = get_uid(); $sprache = getSprache(); $p = new phrasen($sprache); $doc = new dokument_export('Lehrtaetigkeit'); - if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -86,12 +84,12 @@ foreach($active_semester_arr as $active_semester) $studiensemester_start_date = $ss->start; $studiensemester_end_date = $ss->ende; - // * get total amount of semesterstunden of the lehreinheiten, where stundensatz > 0 + // * get total amount of semesterstunden of the lehreinheiten $total_semesterstunden = 0; foreach ($le_id_arr as $le_id) { $le_ma = new Lehreinheitmitarbeiter($le_id, $uid); - if ($le_ma && (!is_null ($le_ma->stundensatz) && $le_ma->stundensatz > 0)) + if ($le_ma) { $total_semesterstunden = $total_semesterstunden + $le_ma->semesterstunden; } @@ -140,15 +138,16 @@ foreach ($project_arr as $project) }, $projektstunden_per_semester )); - // * if studiensemester exists, sum up hours of projektarbeit, where stundensatz > 0 + // * if studiensemester exists, sum up hours of projektarbeit if ($studiensemester_index !== false) { - $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $projektstunden; + $projektstunden_per_semester[$studiensemester_index]['total_semesterstunden'] = + $projektstunden_per_semester[$studiensemester_index]['total_semesterstunden'] + $projektstunden; } // * if not, create new index else { - $projektstunden_per_semester []= ( + $projektstunden_per_semester[] = ( array( 'studiensemester_kurzbz'=> $studiensemester_kurzbz, 'total_semesterstunden' => $projektstunden, @@ -171,7 +170,9 @@ foreach ($projektstunden_per_semester as $item) // * if studiensemester exists, merge lehreinheit- and projektarbeit hours if ($studiensemester_index !== false) { - $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $item['total_semesterstunden']; + $semesterstunden_per_semester[$studiensemester_index]['total_semesterstunden'] = + $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + + $item['total_semesterstunden']; } // * if not, create new index else @@ -202,12 +203,15 @@ $actual_studiensemester_index = array_search($actual_studiensemester, array_map( }, $semesterstunden_per_semester )); -// * if lector is teaching actually, split former teaching activities from actual teaching activities of actual studiensemester +// if lector is teaching actually, split former teaching activities +// from actual teaching activities of actual studiensemester $semesterstunden_of_actual_semester = array(); if ($actual_studiensemester_index !== false) { - $semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index); // array with actual + future semester - $semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index); // array with all former semester + // array with actual + future semester + $semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index); + // array with all former semester + $semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index); } // Semester begin and ending date of lehreinheit- and projektarbeit studiensemester @@ -257,7 +261,8 @@ if (!empty($semesterstunden_per_semester)) } else { - $data[]= array('total_ss_per_semester'=> ''); // empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester) + // empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester) + $data[]= array('total_ss_per_semester'=> ''); } // Add data to lehrtaetigkeit.xsl @@ -275,5 +280,3 @@ $doc->output(); // unlink doc from tmp-folder $doc->close(); - - diff --git a/content/statistik/alvsstatistik.php b/content/statistik/alvsstatistik.php index 982427c9a..ad2352896 100644 --- a/content/statistik/alvsstatistik.php +++ b/content/statistik/alvsstatistik.php @@ -64,7 +64,8 @@ $db = new basis_db(); $qry = " SELECT * FROM ( SELECT - lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht,sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden + lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht, + sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, @@ -79,8 +80,6 @@ SELECT * FROM ( tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id AND tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND - faktor<>0 AND - stundensatz<>0 AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id GROUP BY lehrfach.oe_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz ) as a JOIN public.tbl_studiengang USING(studiengang_kz) @@ -116,9 +115,7 @@ WHERE tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektbetreuer.person_id=tbl_person.person_id AND - tbl_projektbetreuer.faktor<>0 AND tbl_projektbetreuer.stunden<>0 AND - tbl_projektbetreuer.stundensatz<>0 AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)." GROUP BY studiengang_kz,geschlecht"; diff --git a/content/statistik/koordinatorstunden.php b/content/statistik/koordinatorstunden.php deleted file mode 100644 index c9870a9e4..000000000 --- a/content/statistik/koordinatorstunden.php +++ /dev/null @@ -1,137 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Erstellt eine Liste der Koordinatoren eines Instituts und der Anzahl der Stunden - * die er in den jeweiligen Studiengaengen unterrichtet - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/studiengang.class.php'); - -echo ' - - -Koordinatorstunden - - - - - -'; - -$user = get_uid(); -loadVariables($user); -$db = new basis_db(); - -if(isset($_GET['oe_kurzbz'])) - $oe_kurzbz = $_GET['oe_kurzbz']; -else - die('Falsche Parameteruebergabe'); - -echo '

Koordinatorstunden - Organisationseinheit '.$oe_kurzbz.'

'; - -$stg_arr = array(); -$data = array(); -$name = array(); - -//alle Studiengaenge holen -$studiengang = new studiengang(); -$studiengang->getAll(); - -foreach ($studiengang->result as $row) - $stg_arr[$row->studiengang_kz]=$row->kuerzel; - -//Alle Fachbereichsleiter des uebergebenen Studienganges holen und -//Die Anzahl der Stunden die dieser in den einzelnen Studiengaengen haelt ermitteln -$qry = "SELECT - distinct on(tbl_lehreinheit.lehreinheit_id) - tbl_benutzerfunktion.uid, - tbl_lehreinheitmitarbeiter.semesterstunden, - tbl_lehrveranstaltung.studiengang_kz, - tbl_person.vorname, - tbl_person.nachname - FROM - public.tbl_benutzerfunktion - JOIN lehre.tbl_lehreinheitmitarbeiter ON(tbl_benutzerfunktion.uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_benutzerfunktion.uid) - JOIN public.tbl_person ON(tbl_person.person_id=tbl_benutzer.person_id) - JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - JOIN public.tbl_fachbereich ON(tbl_benutzerfunktion.fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz) - WHERE - tbl_benutzerfunktion.funktion_kurzbz='fbk' AND - tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - ORDER BY tbl_lehreinheit.lehreinheit_id, nachname, vorname - "; - -if($db->db_query($qry)) -{ - while($row = $db->db_fetch_object()) - { - if(array_key_exists($row->uid, $data)) - { - if(array_key_exists($row->studiengang_kz, $data[$row->uid])) - { - $data[$row->uid][$row->studiengang_kz] += $row->semesterstunden; - } - else - $data[$row->uid][$row->studiengang_kz] = $row->semesterstunden; - } - else - $data[$row->uid][$row->studiengang_kz] = $row->semesterstunden; - - $name[$row->uid]['vorname']=$row->vorname; - $name[$row->uid]['nachname']=$row->nachname; - } -} - -echo '
- - - - - - - - '; - -$i=0; -foreach ($name as $uid=>$row) -{ - foreach ($data[$uid] as $stg=>$row2) - { - echo ' - - - - '; - $i++; - } -} -echo '
NameStudiengangStunden
'.$name[$uid]['vorname'].' '.$name[$uid]['nachname'].''.$stg_arr[$stg].''.$row2.'
'; -?> - - diff --git a/content/statistik/lehrauftragsgesamtliste.php b/content/statistik/lehrauftragsgesamtliste.php deleted file mode 100644 index 19a7fdd46..000000000 --- a/content/statistik/lehrauftragsgesamtliste.php +++ /dev/null @@ -1,283 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Erstellt ein Excel File mit allen Lektoren und den Studiengaengen in denen diese Unterrichten - * Diese Liste wird dann per Mail an die Geschaeftsstelle gesendet. - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/Excel/excel.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/mail.class.php'); - -$stsem = new studiensemester(); -$semester_aktuell = $stsem->getaktorNext(); - -$file = 'lehrauftragsgesamtliste.xls'; - -// Creating a workbook -$workbook = new Spreadsheet_Excel_Writer($file); -$workbook->setVersion(8); -// Creating a worksheet -$worksheet =& $workbook->addWorksheet("Lektoren"); -$worksheet->setInputEncoding('utf-8'); - -//Formate Definieren -$format_left =& $workbook->addFormat(); -$format_left->setLeft(2); - -$format_bold =& $workbook->addFormat(); -$format_bold->setBold(); - -$format_bold_border =& $workbook->addFormat(); -$format_bold_border->setBold(); -$format_bold_border->setBorder(2); - -$format_bold_center =& $workbook->addFormat(); -$format_bold_center->setBold(); -$format_bold_center->setAlign('center'); -$format_bold_center->setBorder(2); - -$format_number =& $workbook->addFormat(); -$format_number->setNumFormat('0,0.00'); - -$format_number_bold =& $workbook->addFormat(); -$format_number_bold->setNumFormat('0,0.00'); -$format_number_bold->setBold(); -$format_number_bold->setLeft(2); - -$i=0; -$studiensemester = new studiensemester(); -$stsem = $studiensemester->getNearest(); - -$worksheet->write(0,0,'Erstellt am '.date('d.m.Y')." Studiensemester: $stsem", $format_bold); -//Ueberschriften -$zeile=1; -$spalte=0; -$maxlength[$spalte]=10; -$worksheet->write($zeile+1,$spalte++,"Nachname", $format_bold); -$maxlength[$spalte]=10; -$worksheet->write($zeile+1,$spalte++,"Vorname", $format_bold); -$maxlength[$spalte]=10; -$worksheet->write($zeile+1,$spalte++,"UID", $format_bold); -$db = new basis_db(); -$qry = "SELECT - distinct tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kuerzel - FROM - lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND - tbl_lehreinheitmitarbeiter.faktor is not null AND - tbl_lehreinheitmitarbeiter.faktor<>0 AND - tbl_lehreinheitmitarbeiter.stundensatz is not null AND - tbl_lehreinheitmitarbeiter.stundensatz<>0 AND - tbl_lehreinheitmitarbeiter.semesterstunden is not null AND - tbl_lehreinheitmitarbeiter.semesterstunden<>0 ORDER BY kuerzel"; -if(!$result = $db->db_query($qry)) - die('Fehler in qry'); - -while($row = $db->db_fetch_object($result)) -{ - $worksheet->write($zeile, $spalte,$row->kuerzel, $format_bold_center); - $worksheet->write($zeile, $spalte+1,$row->kuerzel, $format_bold_center); - $worksheet->write($zeile, $spalte+2,$row->kuerzel, $format_bold_center); - $worksheet->write($zeile, $spalte+3,$row->kuerzel, $format_bold_center); - $stg_spalte[$row->studiengang_kz]=$spalte; - $maxlength[$spalte]=7; - $worksheet->write($zeile+1, $spalte++,'Stunden', $format_bold_border); - $maxlength[$spalte]=5; - $worksheet->write($zeile+1, $spalte++,'Sätze', $format_bold_border); - $maxlength[$spalte]=6; - $worksheet->write($zeile+1, $spalte++,'Faktor', $format_bold_border); - $maxlength[$spalte]=6; - $worksheet->write($zeile+1, $spalte++,'Gesamt', $format_bold_border); - $worksheet->mergeCells($zeile,$spalte-4,$zeile,$spalte-1); -} -$maxlength[$spalte]=12; -$worksheet->write($zeile+1, $spalte,'Gesamtsumme', $format_bold); -$maxspalten = $spalte; - -function drawStg($stg) -{ - global $faktor_arr, $satz_arr, $stunden, $gesamt, $worksheet, $stg_spalte; - global $zeile, $gesamtsumme, $format_number, $maxlength, $format_left; - - $faktoren = ''; - $saetze = ''; - - foreach ($faktor_arr as $faktor) - { - if($faktoren!='') - $faktoren.=', '; - $faktoren.=$faktor; - } - - foreach ($satz_arr as $satz) - { - if($saetze!='') - $saetze.=', '; - $saetze.=$satz; - } - - if(strlen($stunden)>$maxlength[$stg_spalte[$stg]]) - $maxlength[$stg_spalte[$stg]]=strlen($stunden); - $worksheet->write($zeile, $stg_spalte[$stg], $stunden, $format_left); - - if(strlen($saetze)>$maxlength[$stg_spalte[$stg]+1]) - $maxlength[$stg_spalte[$stg]+1]=strlen($saetze); - $worksheet->write($zeile, $stg_spalte[$stg]+1, $saetze); - - if(strlen($faktoren)>$maxlength[$stg_spalte[$stg]+2]) - $maxlength[$stg_spalte[$stg]+2]=strlen($faktoren); - $worksheet->write($zeile, $stg_spalte[$stg]+2, $faktoren); - - if(strlen($gesamt)>$maxlength[$stg_spalte[$stg]+3]) - $maxlength[$stg_spalte[$stg]+3]=strlen($gesamt)+5; - $worksheet->write($zeile, $stg_spalte[$stg]+3, $gesamt, $format_number); - - $gesamtsumme += $gesamt; - $faktor_arr = array(); - $satz_arr = array(); - $stunden = 0; - $gesamt = 0; -} - -function drawGesamtsumme() -{ - global $maxspalten, $zeile, $gesamtsumme, $worksheet, $format_number_bold, $maxlength; - - if(strlen($gesamtsumme)>$maxlength[$maxspalten]) - $maxlength[$maxspalten]=strlen($gesamtsumme); - $worksheet->write($zeile, $maxspalten, $gesamtsumme, $format_number_bold); -} - -$qry = " -SELECT - mitarbeiter_uid, stundensatz, faktor, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as stunden, - stundensatz*sum(tbl_lehreinheitmitarbeiter.semesterstunden)*faktor AS gesamt, studiengang_kz, - nachname, vorname -FROM - lehre.tbl_lehreinheitmitarbeiter JOIN campus.vw_benutzer ON (mitarbeiter_uid=uid) - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) -WHERE - studiensemester_kurzbz=".$db->db_add_param($stsem)." AND - tbl_lehreinheitmitarbeiter.faktor is not null AND - tbl_lehreinheitmitarbeiter.faktor<>0 AND - tbl_lehreinheitmitarbeiter.stundensatz is not null AND - tbl_lehreinheitmitarbeiter.stundensatz<>0 AND - tbl_lehreinheitmitarbeiter.semesterstunden is not null AND - tbl_lehreinheitmitarbeiter.semesterstunden<>0 -GROUP BY mitarbeiter_uid, studiengang_kz, stundensatz, faktor, nachname, vorname ORDER BY nachname, vorname, studiengang_kz - "; - -if($result = $db->db_query($qry)) -{ - $lastuid=''; - $laststg=''; - $zeile++; - - while($row = $db->db_fetch_object($result)) - { - if($lastuid!=$row->mitarbeiter_uid) - { - if($lastuid!='') - { - // letzten Studiengang ausgeben - drawStg($laststg); - //Gesamtsumme ausgeben - drawGesamtsumme(); - } - $zeile++; - $lastuid=$row->mitarbeiter_uid; - $laststg=$row->studiengang_kz; - $faktor_arr = array(); - $satz_arr = array(); - $stunden = 0; - $gesamt = 0; - $gesamtsumme=0; - - if(strlen($row->nachname)>$maxlength[0]) - $maxlength[0]=strlen($row->nachname); - $worksheet->write($zeile, 0, $row->nachname); - - if(strlen($row->vorname)>$maxlength[1]) - $maxlength[1]=strlen($row->vorname); - $worksheet->write($zeile, 1, $row->vorname); - - if(strlen($row->mitarbeiter_uid)>$maxlength[2]) - $maxlength[2]=strlen($row->mitarbeiter_uid); - $worksheet->write($zeile, 2, $row->mitarbeiter_uid); - - foreach ($stg_spalte as $spalte) - { - $worksheet->write($zeile, $spalte, null, $format_left); - } - - } - - if($laststg!=$row->studiengang_kz && $laststg!='') - { - drawStg($laststg); - } - - if($row->faktor!='' && $row->faktor!='0' && $row->stunden!='' && $row->stunden!='0' && $row->stundensatz!='' && $row->stundensatz!='0') - { - if(!in_array($row->faktor, $faktor_arr)) - $faktor_arr[]=$row->faktor; - - if(!in_array($row->stundensatz, $satz_arr)) - $satz_arr[]=$row->stundensatz; - - $stunden += $row->stunden; - $gesamt += $row->gesamt; - } - $laststg = $row->studiengang_kz; - } - drawStg($laststg); - drawGesamtsumme(); -} -else - die('Fehler in qry'); - -$workbook->close(); - -//Mail versenden mit Excel File im Anhang - - $to = MAIL_GST; - - $subject = "Lehrauftragsgesamtliste ".date('d.m.Y'); - $message = "Dies ist eine automatische eMail!\nAnbei die Lehrauftragsgesamtliste vom ".date('d.m.Y'); - $fileatttype = "application/xls"; - $fileattname = "lehrauftragsgesamtliste_".date('Y_m_d').".xls"; - - $mail = new mail($to, 'vilesci@'.DOMAIN, $subject, $message); - $mail->addAttachmentBinary($file, $fileatttype, $fileattname); - - if($mail->send()) - echo "Email mit Lehrauftragsgesamtliste wurde versandt"; - else - echo "Fehler beim Versenden der Lehrauftragsgesamtliste"; -?> diff --git a/content/statistik/lehrauftragsliste_gst.xls.php b/content/statistik/lehrauftragsliste_gst.xls.php index b641ef05e..990216c09 100644 --- a/content/statistik/lehrauftragsliste_gst.xls.php +++ b/content/statistik/lehrauftragsliste_gst.xls.php @@ -30,12 +30,12 @@ require_once('../../include/studiengang.class.php'); if(isset($_GET['studiengang_kz']) && is_numeric($_GET['studiengang_kz'])) $studiengang_kz=$_GET['studiengang_kz']; -else +else die('studiengangs_kz muss uebergeben werden'); - + if(isset($_GET['semester']) && is_numeric($_GET['semester'])) $semester=$_GET['semester']; -else +else $semester=''; $user = get_uid(); @@ -78,46 +78,48 @@ $worksheet->write(2,++$i,"Kosten", $format_bold); $db = new basis_db(); //Daten holen $qry = "SELECT * FROM ( - SELECT - tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, - tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt, - tbl_lehreinheitmitarbeiter.faktor as faktor, tbl_lehreinheitmitarbeiter.stundensatz as stundensatz, + SELECT + tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, + tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, + tbl_mitarbeiter.fixangestellt, + tbl_lehreinheitmitarbeiter.stundensatz as stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter, + FROM + lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person, lehre.tbl_lehrveranstaltung - WHERE - tbl_person.person_id = tbl_benutzer.person_id AND - tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND - tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - studiengang_kz=".$db->db_add_param($studiengang_kz)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null - AND tbl_lehreinheitmitarbeiter.stundensatz<>0 AND tbl_lehreinheitmitarbeiter.faktor<>0 AND - EXISTS (SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)"; + WHERE + tbl_person.person_id = tbl_benutzer.person_id AND + tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND + studiengang_kz = ".$db->db_add_param($studiengang_kz)." + AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND + tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null + AND EXISTS (SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)"; if($semester!='') $qry.=" AND semester=".$db->db_add_param($semester); //Projektsbetreuungen -$qry.= " UNION - SELECT +$qry.= " UNION + SELECT tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, - tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, tbl_mitarbeiter.fixangestellt, - 0 as faktor, 0 as stundensatz, + tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, + tbl_mitarbeiter.fixangestellt, + 0 as stundensatz, 0 as semesterstunden - FROM - lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, + FROM + lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_mitarbeiter, public.tbl_benutzer, lehre.tbl_lehrveranstaltung, public.tbl_person WHERE - tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND - tbl_benutzer.person_id=tbl_projektbetreuer.person_id AND + tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND + tbl_benutzer.person_id = tbl_projektbetreuer.person_id AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND + tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - tbl_person.person_id=tbl_projektbetreuer.person_id"; + tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND + tbl_person.person_id = tbl_projektbetreuer.person_id"; if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); $qry.=") as foo"; @@ -129,19 +131,19 @@ if($result = $db->db_query($qry)) $gesamtkosten = 0; $gesamtstunden = 0; $liste=array(); - + while($row = $db->db_fetch_object($result)) { //Gesamtstunden und Kosten ermitteln if(array_key_exists($row->mitarbeiter_uid, $liste)) { $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor); + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz); } - else + else { $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor; + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz; } $liste[$row->mitarbeiter_uid]['personalnummer'] = $row->personalnummer; $liste[$row->mitarbeiter_uid]['titelpre'] = $row->titelpre; @@ -149,18 +151,24 @@ if($result = $db->db_query($qry)) $liste[$row->mitarbeiter_uid]['vorname'] = $row->vorname; $liste[$row->mitarbeiter_uid]['nachname'] = $row->nachname; } - + //Betreuungen fuer Projektarbeiten foreach ($liste as $uid=>$arr) { - $qry = "SELECT tbl_projektbetreuer.faktor, tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz - FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, - public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student - WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid - AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); + $qry = " + SELECT + tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz + FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student + WHERE + tbl_projektbetreuer.person_id=tbl_benutzer.person_id + AND tbl_benutzer.uid=".$db->db_add_param($uid)." + AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id + AND student_uid=vw_student.uid + AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id + AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); if($result = $db->db_query($qry)) @@ -168,14 +176,14 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { $liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden; - $liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor); + $liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz); } } } - + //Daten ausgeben foreach ($liste as $row) - { + { $i=0; //Studiengang $worksheet->write($zeile,$i,$studiengang->kuerzel); @@ -186,24 +194,24 @@ if($result = $db->db_query($qry)) //Vorname $worksheet->write($zeile,++$i,$row['vorname']); //Nachname - $worksheet->write($zeile,++$i,$row['nachname']); + $worksheet->write($zeile,++$i,$row['nachname']); //Fixangestellt - $worksheet->write($zeile,++$i,($row['fixangestellt']=='t'?'Ja':'Nein')); + $worksheet->write($zeile,++$i,($row['fixangestellt']=='t'?'Ja':'Nein')); //Stunden $worksheet->write($zeile,++$i,$row['gesamtstunden']); //Kosten $worksheet->writeNumber($zeile,++$i,$row['gesamtkosten'], $format_number); - + //Kosten zu den Gesamtkosten hinzurechnen $gesamtkosten = $gesamtkosten + $row['gesamtkosten']; $gesamtstunden = $gesamtstunden + $row['gesamtstunden']; $zeile++; } - + //Gesamtkosten und Gesamtstunden anzeigen $worksheet->writeNumber($zeile,6,$gesamtstunden, $format_bold); $worksheet->writeNumber($zeile,7,$gesamtkosten, $format_number_bold); } - + $workbook->close(); ?> diff --git a/content/statistik/lehrauftragsliste_mail.xls.php b/content/statistik/lehrauftragsliste_mail.xls.php index 40ec7a616..be76221cc 100644 --- a/content/statistik/lehrauftragsliste_mail.xls.php +++ b/content/statistik/lehrauftragsliste_mail.xls.php @@ -91,9 +91,7 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz WHERE lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND - tbl_lehreinheitmitarbeiter.semesterstunden is not null AND - tbl_lehreinheitmitarbeiter.stundensatz<>0 AND - tbl_lehreinheitmitarbeiter.faktor<>0 + tbl_lehreinheitmitarbeiter.semesterstunden is not null UNION SELECT studiengang_kz @@ -189,7 +187,7 @@ if($result_stg = $db->db_query($qry_stg)) $gesamt->write($gesamtsheet_row,$i,"Gesamtstunden", $format_bold); $worksheet->write(2,++$i,"Gesamtkosten", $format_bold); $gesamt->write($gesamtsheet_row,$i,"Gesamtkosten", $format_bold); - + //Daten holen $qry = "SELECT tbl_lehreinheit.*, tbl_person.vorname, @@ -198,10 +196,9 @@ if($result_stg = $db->db_query($qry_stg)) tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid, - tbl_lehreinheitmitarbeiter.faktor AS faktor, tbl_lehreinheitmitarbeiter.stundensatz AS stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden AS semesterstunden, - CASE + CASE WHEN tbl_mitarbeiter.fixangestellt = true THEN 'Ja' ELSE 'Nein' @@ -242,9 +239,9 @@ if($result_stg = $db->db_query($qry_stg)) AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1 ) AND aktiv = true - + UNION ALL - + SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz @@ -258,7 +255,7 @@ if($result_stg = $db->db_query($qry_stg)) JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz) WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department' ) AS department, - CASE + CASE WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum) > now() - interval '31 days' THEN 't' ELSE 'f' @@ -278,8 +275,6 @@ if($result_stg = $db->db_query($qry_stg)) AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheitmitarbeiter.semesterstunden <> 0 AND tbl_lehreinheitmitarbeiter.semesterstunden IS NOT NULL - AND tbl_lehreinheitmitarbeiter.stundensatz <> 0 - AND tbl_lehreinheitmitarbeiter.faktor <> 0 AND EXISTS ( SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe @@ -301,16 +296,16 @@ if($result_stg = $db->db_query($qry_stg)) if(array_key_exists($row->mitarbeiter_uid, $liste)) { $liste[$row->mitarbeiter_uid]['lvstunden'] = $liste[$row->mitarbeiter_uid]['lvstunden'] + $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['lvkosten'] = $liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor); + $liste[$row->mitarbeiter_uid]['lvkosten'] = $liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden*$row->stundensatz); $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor); + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz); } else { $liste[$row->mitarbeiter_uid]['lvstunden'] = $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor; + $liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden*$row->stundensatz; $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor; + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz; } $liste[$row->mitarbeiter_uid]['personalnummer'] = $row->personalnummer; $liste[$row->mitarbeiter_uid]['titelpre'] = $row->titelpre; @@ -326,10 +321,10 @@ if($result_stg = $db->db_query($qry_stg)) } //Alle holen die eine Betreuung aber keinen Lehrauftrag haben - $qry = "SELECT + $qry = "SELECT distinct personalnummer, titelpre, vorname, nachname, uid, CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt, (SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz||' '||tbl_organisationseinheit.bezeichnung - FROM public.tbl_benutzerfunktion + FROM public.tbl_benutzerfunktion JOIN public.tbl_organisationseinheit USING (oe_kurzbz) WHERE funktion_kurzbz='oezuordnung' AND (datum_von IS NULL OR datum_von <= now()) @@ -357,9 +352,9 @@ if($result_stg = $db->db_query($qry_stg)) AND tbl_benutzerfunktion.uid = tbl_benutzer.uid LIMIT 1 ) AND aktiv = true - + UNION ALL - + SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz @@ -373,11 +368,11 @@ if($result_stg = $db->db_query($qry_stg)) JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz) WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department' ) AS department - FROM - lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer, - public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, + FROM + lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer, + public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung - WHERE + WHERE tbl_projektbetreuer.person_id=tbl_person.person_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND @@ -385,23 +380,21 @@ if($result_stg = $db->db_query($qry_stg)) tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - NOT EXISTS (SELECT - mitarbeiter_uid - FROM + tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND + NOT EXISTS (SELECT + mitarbeiter_uid + FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung - WHERE + WHERE mitarbeiter_uid=tbl_benutzer.uid AND - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null AND - tbl_lehreinheitmitarbeiter.stundensatz<>0 AND - tbl_lehreinheitmitarbeiter.faktor<>0 AND EXISTS (SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id) AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");"; - + if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) @@ -425,30 +418,41 @@ if($result_stg = $db->db_query($qry_stg)) } } } - + //Betreuungen fuer Projektarbeiten foreach ($liste as $uid=>$arr) { - $qry = "SELECT tbl_projektbetreuer.faktor, - tbl_projektbetreuer.stunden, - tbl_projektbetreuer.stundensatz, - CASE WHEN COALESCE(tbl_projektbetreuer.updateamum, tbl_projektbetreuer.insertamum)>now()-interval '31 days' THEN 't' ELSE 'f' END as geaendert - FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, - public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student - WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid - AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); + $qry = " + SELECT + tbl_projektbetreuer.stunden, + tbl_projektbetreuer.stundensatz, + CASE WHEN + COALESCE(tbl_projektbetreuer.updateamum, tbl_projektbetreuer.insertamum) > now() - interval '31 days' + THEN + 't' + ELSE + 'f' + END as geaendert + FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student + WHERE + tbl_projektbetreuer.person_id = tbl_benutzer.person_id + AND tbl_benutzer.uid = ".$db->db_add_param($uid)." + AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id + AND student_uid = vw_student.uid + AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id + AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." + AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { $liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden; - $liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor); + $liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz); $liste[$uid]['betreuergesamtstunden'] = $liste[$uid]['betreuergesamtstunden'] + $row->stunden; - $liste[$uid]['betreuergesamtkosten'] = $liste[$uid]['betreuergesamtkosten'] + ($row->stunden*$row->stundensatz*$row->faktor); + $liste[$uid]['betreuergesamtkosten'] = $liste[$uid]['betreuergesamtkosten'] + ($row->stunden*$row->stundensatz); if($row->geaendert=='t') { $liste[$uid]['geaendert']=true; @@ -459,14 +463,14 @@ if($result_stg = $db->db_query($qry_stg)) $vn = array(); $nn = array(); - foreach ($liste as $key => $row) + foreach ($liste as $key => $row) { $vn[$key] = $row['vorname']; $nn[$key] = $row['nachname']; } - + array_multisort($nn, SORT_ASC, $vn, SORT_ASC, $liste); - + //Daten ausgeben foreach ($liste as $uid=>$row) { @@ -529,25 +533,25 @@ if($result_stg = $db->db_query($qry_stg)) $gesamtkosten_row = str_replace(',', '.', $row['gesamtkosten']); $worksheet->writeNumber($zeile,++$i,$gesamtkosten_row, $formatnb); $gesamt->writeNumber($gesamtsheet_row,$i,$gesamtkosten_row, $formatnb); - - + + //Kosten zu den Gesamtkosten hinzurechnen $gesamtkosten = $gesamtkosten + $row['gesamtkosten']; $zeile++; $gesamtsheet_row++; - + $liste_gesamt[$uid]['personalnummer']=$row['personalnummer']; $liste_gesamt[$uid]['titelpre']=$row['titelpre']; $liste_gesamt[$uid]['vorname']=$row['vorname']; $liste_gesamt[$uid]['nachname']=$row['nachname']; if(isset($liste_gesamt[$uid]['gesamtstunden'])) $liste_gesamt[$uid]['gesamtstunden']+=$row['gesamtstunden']; - else + else $liste_gesamt[$uid]['gesamtstunden']=$row['gesamtstunden']; - + if(isset($liste_gesamt[$uid]['gesamtkosten'])) $liste_gesamt[$uid]['gesamtkosten']+=$row['gesamtkosten']; - else + else $liste_gesamt[$uid]['gesamtkosten']=$row['gesamtkosten']; } @@ -556,83 +560,19 @@ if($result_stg = $db->db_query($qry_stg)) $gesamt->writeNumber($gesamtsheet_row,13,$gesamtkosten, $format_number_bold); } } - - /* - // Gesamtliste ueber alle Studiengaenge - $worksheet =& $workbook->addWorksheet('Gesamt'); - $i=0; - $gesamtkosten=0; - $zeile=3; - - $worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Gesamtliste', $format_bold); - //Ueberschriften - //$worksheet->write(2,$i,"Studiengang", $format_bold); - $worksheet->write(2,++$i,"Personalnr", $format_bold); - $worksheet->write(2,++$i,"Titel", $format_bold); - $worksheet->write(2,++$i,"Vorname", $format_bold); - $worksheet->write(2,++$i,"Familienname", $format_bold); - $worksheet->write(2,++$i,"Stunden", $format_bold); - $worksheet->write(2,++$i,"Kosten", $format_bold); - - $vn = array(); - $nn = array(); - foreach ($liste_gesamt as $key => $row) - { - $vn[$key] = $row['vorname']; - $nn[$key] = $row['nachname']; - } - - array_multisort($nn, SORT_ASC, $vn, SORT_ASC, $liste_gesamt); - //Daten ausgeben - foreach ($liste_gesamt as $uid=>$row) - { - $i=0; - if(isset($row['geaendert']) && $row['geaendert']==true) - { - $format = $format_colored; - $formatnb = $format_number_colored; - } - else - { - $format = $format_normal; - $formatnb = $format_number; - } - - //Personalnummer - $worksheet->write($zeile,++$i,$row['personalnummer'], $format); - //Titel - $worksheet->write($zeile,++$i,$row['titelpre'], $format); - //Vorname - $worksheet->write($zeile,++$i,$row['vorname'], $format); - //Nachname - $worksheet->write($zeile,++$i,$row['nachname'], $format); - //Stunden - $worksheet->write($zeile,++$i,$row['gesamtstunden'], $format); - //Kosten - $worksheet->writeNumber($zeile,++$i,$row['gesamtkosten'], $formatnb); - - //Kosten zu den Gesamtkosten hinzurechnen - $gesamtkosten = $gesamtkosten + $row['gesamtkosten']; - $zeile++; - } - - //Gesamtkosten anzeigen - $worksheet->writeNumber($zeile,6,$gesamtkosten, $format_number_bold); - */ - //Betreuerstunden $worksheet =& $workbook->addWorksheet('Betreuerstunden'); $worksheet->setInputEncoding('utf-8'); - $qry = "SELECT + $qry = "SELECT studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre, - sum(tbl_projektbetreuer.stundensatz*stunden*tbl_projektbetreuer.faktor)::numeric(8,2) AS euro, person_id - FROM - public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id) - JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) + sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8,2) AS euro, person_id + FROM + public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id) + JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) + JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - WHERE + WHERE studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND stunden>0"; @@ -640,10 +580,10 @@ if($result_stg = $db->db_query($qry_stg)) $qry.=" AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")"; $qry.=" - GROUP BY + GROUP BY studiensemester_kurzbz,person_id,nachname,vorname, titelpre - ORDER BY - nachname,vorname + ORDER BY + nachname,vorname "; $i=0; $gesamtkosten=0; @@ -656,7 +596,7 @@ if($result_stg = $db->db_query($qry_stg)) $worksheet->write(2,++$i,"Vorname", $format_bold); $worksheet->write(2,++$i,"Stunden", $format_bold); $worksheet->write(2,++$i,"Kosten", $format_bold); - + $format = $format_normal; $formatnb = $format_number; if($result = $db->db_query($qry)) @@ -676,14 +616,14 @@ if($result_stg = $db->db_query($qry_stg)) //Kosten $worksheet->writeNumber($zeile,++$i,$row->euro, $formatnb); $zeile++; - + $gesamtkosten = $gesamtkosten + $row->euro; } - + //Gesamtkosten anzeigen $worksheet->writeNumber($zeile,5,$gesamtkosten, $format_number_bold); } - + $workbook->close(); //Mail versenden mit Excel File im Anhang @@ -702,7 +642,7 @@ if($result_stg = $db->db_query($qry_stg)) $mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message); $mail->addAttachmentBinary($file, $fileatttype, $fileattname); - + if($mail->send()) echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!'; else diff --git a/content/statistik/lektorenstatistik.php b/content/statistik/lektorenstatistik.php deleted file mode 100644 index 0d5af63e9..000000000 --- a/content/statistik/lektorenstatistik.php +++ /dev/null @@ -1,281 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Erstellt eine Tablle mit der Anzahl der Lektoren die im angegebenen - * StudienJAHR einen Lehrauftrag im jeweiligen Institut haben, getrennt nach Fixangestellten und Freien - * und der Anzahl der Stunden die in diesem Institut gehalten wurden - * Bei einem klick auf das Institut wird die Detailansicht angezeigt, in der die einzelnen - * Lektoren Namentlich aufscheinen. - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/fachbereich.class.php'); - -$ws=''; -$ss=''; -$db = new basis_db(); -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else -{ - $stsem_obj = new studiensemester(); - $stsem = $stsem_obj->getaktorNext(); -} -echo ' - - - - - - - - '; - -if(isset($_GET['details']) && isset($_GET['fachbereich_kurzbz'])) -{ - $ss = (isset($_GET['ss'])?$_GET['ss']:''); - $ws = (isset($_GET['ws'])?$_GET['ws']:''); - $fachbereich = new fachbereich(); - if(!$fachbereich->load($_GET['fachbereich_kurzbz'])) - die('Institut existiert nicht'); - - echo "

LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss - ".$fachbereich->bezeichnung.'

'; - $qry = "SELECT distinct mitarbeiter_uid, anrede, nachname, vorname, titelpre, titelpost, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt AND geschlecht='m') a) AS fix_m, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt AND geschlecht='w') a) AS fix_w - FROM lehre.tbl_lehreinheitmitarbeiter - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) - JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) - JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) - JOIN public.tbl_person USING(person_id) - WHERE studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).") - AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND fixangestellt - ORDER BY nachname, vorname"; - - if($db->db_query($qry)) - { - $ausgabe=''; - $fix_m=0; - $fix_w=0; - while($row = $db->db_fetch_object()) - { - $ausgabe.= ''; - $ausgabe.= "$row->anrede"; - $ausgabe.= "$row->titelpre"; - $ausgabe.= "$row->nachname"; - $ausgabe.= "$row->vorname"; - $ausgabe.= "$row->titelpost"; - $ausgabe.= ""; - $fix_w=$row->fix_w; - $fix_m=$row->fix_m; - } - echo (($fix_m)+($fix_w))." Fixangestellte
M: ".$fix_m."
W: ".$fix_w." - - - - - - - - - - - - "; - echo $ausgabe; - } - echo '
AnredeTitelPreNachnameVornameTitelpost
'; - - $qry = "SELECT distinct mitarbeiter_uid, anrede, nachname, vorname, titelpre, titelpost, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt AND geschlecht='m') a) AS not_fix_m, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt AND geschlecht='w') a) AS not_fix_w - FROM lehre.tbl_lehreinheitmitarbeiter - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) - JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) - JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) - JOIN public.tbl_person USING(person_id) - WHERE studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).") - AND fachbereich_kurzbz=".$db->db_add_param($fachbereich->fachbereich_kurzbz)." AND NOT fixangestellt - ORDER BY nachname, vorname"; - - if($db->db_query($qry)) - { - $ausgabe=''; - $not_fix_m=0; - $not_fix_w=0; - while($row = $db->db_fetch_object()) - { - $ausgabe.= ''; - $ausgabe.= "$row->anrede"; - $ausgabe.= "$row->titelpre"; - $ausgabe.= "$row->nachname"; - $ausgabe.= "$row->vorname"; - $ausgabe.= "$row->titelpost"; - $ausgabe.= ""; - $not_fix_w=$row->not_fix_w; - $not_fix_m=$row->not_fix_m; - } - echo "

".(($not_fix_m)+($not_fix_w))." Freiangestellte
M: ".$not_fix_m."
W: ".$not_fix_w." - - - - - - - - - - - - "; - echo $ausgabe; - } - echo '
AnredeTitelPreNachnameVornameTitelpost
'; -} -else -{ - if(substr($stsem, 0, 2)=='WS') - { - $stsem_obj = new studiensemester(); - $ss = $stsem_obj->getNextFrom($stsem); - $ws = $stsem; - } - else - { - $stsem_obj = new studiensemester(); - $ws = $stsem_obj->getPreviousFrom($stsem); - $ss = $stsem; - } - echo "

LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss"; - echo ''.date('d.m.Y').'


'; - echo ''; - echo '
Studiensemester: -


'; - - if($stsem!='') - { - - echo " - - - - - - - - - - - - - - - - - - - - - - - - - "; - - $qry = "SELECT - bezeichnung, fachbereich_kurzbz, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt AND geschlecht='m') a) AS fix_m, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND fixangestellt AND geschlecht='w') a) AS fix_w, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt AND geschlecht='m') a) AS extern_m, - (SELECT count(*) FROM (SELECT distinct mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz) JOIN campus.vw_mitarbeiter ON(uid=mitarbeiter_uid) WHERE studiensemester_kurzbz IN(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND fachbereich_kurzbz=a.fachbereich_kurzbz AND NOT fixangestellt AND geschlecht='w') a) AS extern_w, - (SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) WHERE studiensemester_kurzbz=".$db->db_add_param($ws)." AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) AS ws, - (SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) WHERE studiensemester_kurzbz=".$db->db_add_param($ss)." AND fachbereich_kurzbz=a.fachbereich_kurzbz AND faktor>0 AND stundensatz>0) AS ss - FROM public.tbl_fachbereich a WHERE aktiv ORDER BY bezeichnung"; - - if($db->db_query($qry)) - { - //$gesamt_fix=0; - //$gesamt_extern=0; - $gesamt_ws=0; - $gesamt_ss=0; - while($row = $db->db_fetch_object()) - { - if(($row->fix_m==0 && $row->fix_w==0) && ($row->extern_m==0 && $row->extern_w==0)) - { - continue; - } - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - //$gesamt_fix+=$row->fix; - //$gesamt_extern+=$row->extern; - $gesamt_ws+=$row->ws; - $gesamt_ss+=$row->ss; - } - echo ''; - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - - } - echo '
AnzahlALVS
Institutefixextern$ws$ss
MWMW
fachbereich_kurzbz&ss=$ss&ws=$ws'>$row->bezeichnung$row->fix_m$row->fix_w$row->extern_m$row->extern_w$row->ws$row->ss
SUMME    $gesamt_ws$gesamt_ss
'; - } -} -?> - - diff --git a/content/statistik/lvplanung.php b/content/statistik/lvplanung.php index be06f5c12..a0d3544bc 100644 --- a/content/statistik/lvplanung.php +++ b/content/statistik/lvplanung.php @@ -107,12 +107,16 @@ elseif($oe_kurzbz!='') if($studiengang_kz!='') //Liste nach Studiengang { $qry = "SELECT - tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, + tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden, - lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id, - tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, - tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor, - tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester + lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, + tbl_lehreinheit.lehreinheit_id as lehreinheit_id, + tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, + tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, + tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, + tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person @@ -126,17 +130,25 @@ if($studiengang_kz!='') //Liste nach Studiengang tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); if($semester!='') $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); - $qry.=" ORDER BY tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id"; + $qry.=" ORDER BY + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehreinheit.lehreinheit_id"; } elseif($mitarbeiter_uid!='') // Liste nach Mitarbeiter { -$qry = "SELECT - tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, + $qry = "SELECT + tbl_lehrveranstaltung.kurzbz as kurzbz, + tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden, - lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id, - tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, - tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor, - tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester + lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, + tbl_lehreinheit.lehreinheit_id as lehreinheit_id, + tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, + tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, + tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, + tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person @@ -148,17 +160,25 @@ $qry = "SELECT tbl_person.person_id=tbl_benutzer.person_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($mitarbeiter_uid)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); - $qry.=" ORDER BY tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id"; + $qry.=" ORDER BY + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehreinheit.lehreinheit_id"; } elseif($oe_kurzbz!='') // Liste nach Organisationseinheit { -$qry = "SELECT - tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, + $qry = "SELECT + tbl_lehrveranstaltung.kurzbz as kurzbz, + tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.ects as ects, tbl_lehrveranstaltung.semesterstunden as semesterstunden, - lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id, - tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, - tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, tbl_lehreinheitmitarbeiter.faktor as lektor_faktor, - tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester + lehrfach.kurzbz as lf_kurzbz, lehrfach.bezeichnung as lf_bezeichnung, + tbl_lehreinheit.lehreinheit_id as lehreinheit_id, + tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, + tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, + tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, + tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person @@ -170,7 +190,12 @@ $qry = "SELECT tbl_person.person_id=tbl_benutzer.person_id AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); - $qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id"; + $qry.=" ORDER BY + tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehreinheit.lehreinheit_id"; } else die('Fehlerhafte Parameteruebergabe'); @@ -248,10 +273,10 @@ if($result = $db->db_query($qry)) echo "$row->lektor_semesterstunden"; echo "$gruppen"; echo "$row->nachname $row->vorname"; - echo "".number_format(($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden),2,',','.')." €"; + echo "".number_format(($row->lektor_stundensatz*$row->lektor_semesterstunden),2,',','.')." €"; echo ' '; echo ''; - $kosten_lv +=($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden); + $kosten_lv +=($row->lektor_stundensatz*$row->lektor_semesterstunden); $stunden_lv +=$row->lektor_semesterstunden; } $gesamtkosten_lva +=$kosten_lv; @@ -273,15 +298,15 @@ if($studiengang_kz!='') $qry = "SELECT * FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + lehre.tbl_projektbetreuer, public.tbl_person WHERE tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." "; if($semester!='') @@ -299,8 +324,7 @@ elseif($mitarbeiter_uid!='') tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." "; } elseif($oe_kurzbz!='') @@ -308,7 +332,8 @@ elseif($oe_kurzbz!='') $qry = "SELECT * FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, + public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach WHERE tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND @@ -316,8 +341,7 @@ elseif($oe_kurzbz!='') tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND tbl_person.person_id=tbl_projektbetreuer.person_id AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 + lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." "; } else @@ -332,8 +356,6 @@ if($result = $db->db_query($qry)) echo ''; echo ' '; echo "Titel"; - //echo " "; - //echo ' '; echo "Stunden"; echo "Student"; echo "Lektor"; @@ -348,17 +370,15 @@ if($result = $db->db_query($qry)) echo ''; echo ' '; echo "$row->titel"; - //echo " "; - //echo ' '; echo "".number_format($row->stunden,2).""; $benutzer = new benutzer(); $benutzer->load($row->student_uid); echo "$benutzer->nachname $benutzer->vorname"; echo "$row->nachname $row->vorname"; - echo "".number_format(($row->stundensatz*$row->faktor*$row->stunden),2,',','.')." €"; + echo "".number_format(($row->stundensatz*$row->stunden),2,',','.')." €"; echo ' '; echo ''; - $gesamtkosten_betreuung +=($row->stundensatz*$row->faktor*$row->stunden); + $gesamtkosten_betreuung +=($row->stundensatz*$row->stunden); $stunden_betreuung+=$row->stunden; } diff --git a/content/statistik/lvplanung.xls.php b/content/statistik/lvplanung.xls.php index 286554392..c933677af 100644 --- a/content/statistik/lvplanung.xls.php +++ b/content/statistik/lvplanung.xls.php @@ -108,7 +108,6 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.semester AS lv_semester, tbl_lehreinheit.lehreinheit_id, - tbl_lehreinheitmitarbeiter.faktor, tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden lemss, tbl_lehreinheitmitarbeiter.planstunden, @@ -154,7 +153,6 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id) JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id) ---JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) WHERE tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); if($studiengang_kz!='') @@ -227,8 +225,6 @@ $maxlength[$spalte]=15; $worksheet->write($zeile,++$spalte,"Anmerkung", $format_bold); $maxlength[$spalte]=9; -// Neu 13.11.2009 sequens - $worksheet->write($zeile,++$spalte,"LV-Leitung", $format_bold); $maxlength[$spalte]=9; @@ -248,7 +244,6 @@ if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { - $spalte=0; $zeile++; @@ -387,7 +382,6 @@ if($result = $db->db_query($qry)) student_uid, stunden, tbl_projektbetreuer.stundensatz, - tbl_projektbetreuer.faktor, tbl_projektbetreuer.person_id FROM lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, @@ -397,11 +391,8 @@ if($result = $db->db_query($qry)) WHERE tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id - --AND tbl_lehreinheit.lehrfach_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_person.person_id = tbl_projektbetreuer.person_id - AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." - AND (tbl_projektbetreuer.stundensatz * tbl_projektbetreuer.stunden) > 0 - "; + AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); if($uid!=='') { @@ -415,6 +406,9 @@ if($result = $db->db_query($qry)) if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); + if($semester!='') + $qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); + if($result = $db->db_query($qry)) { $spalte=0; @@ -459,7 +453,6 @@ if($result = $db->db_query($qry)) $fixangestellt = 'Extern'; } - //Studiengang $worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]); if($maxlength[$spalte]kuerzel_arr[$row->studiengang_kz])) diff --git a/content/statistik/lvplanunggesamtsj.php b/content/statistik/lvplanunggesamtsj.php deleted file mode 100644 index 0a2defb5b..000000000 --- a/content/statistik/lvplanunggesamtsj.php +++ /dev/null @@ -1,340 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/lehrveranstaltung.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/Excel/excel.php'); - -$user = get_uid(); -loadVariables($user); -$db = new basis_db(); - -$stg_arr = array(); -$studiengang = new studiengang(); -$studiengang->getAll(); - -foreach ($studiengang->result as $row) - $stg_arr[$row->studiengang_kz] = $row->kuerzel; - -// ****** FUNKTIONEN ******* // -function drawBetreuungen() -{ - global $gesamtkosten_lva, $zeile, $spalte, $stsem1, $stsem2, $last_fb, $worksheet; - global $format_bold, $format_colored, $gesamtkosten_betreuung; - global $gesamtkosten_fb, $format_number, $format_number1; - - $db = new basis_db(); - $qry_fb = "SELECT - * - FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, - public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich - WHERE - tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND - tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND - tbl_person.person_id=tbl_projektbetreuer.person_id AND - (tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem1)." OR - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem2).") AND - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0 AND - lehrfach.oe_kurzbz = tbl_fachbereich.oe_kurzbz AND - tbl_fachbereich.fachbereich_kurzbz=".$db->db_add_param($last_fb)." - "; - - $gesamtkosten_betreuung=0; - if($result_fb = $db->db_query($qry_fb)) - { - $spalte=11; - $worksheet->writeNumber($zeile, ++$spalte, $gesamtkosten_lva, $format_number); - - if($db->db_num_rows($result_fb)>0) - { - - $zeile++; - - $zeile++; - $worksheet->write($zeile, 1, "Betreuungen", $format_bold); - $spalte=2; - $worksheet->write($zeile, $spalte, "Titel", $format_colored); - $worksheet->write($zeile, ++$spalte, "", $format_colored); - $worksheet->write($zeile, ++$spalte, "", $format_colored); - $worksheet->write($zeile, ++$spalte, "", $format_colored); - $worksheet->write($zeile, ++$spalte, "Stunden", $format_colored); - $worksheet->write($zeile, ++$spalte, "Summe", $format_colored); - $worksheet->write($zeile, ++$spalte, "Student", $format_colored); - $worksheet->write($zeile, ++$spalte, "Lektor", $format_colored); - $worksheet->write($zeile, ++$spalte, "Kosten", $format_colored); - - - $stunden_betreuung=0; - while($row_fb = $db->db_fetch_object($result_fb)) - { - $zeile++; - $spalte=2; - $worksheet->write($zeile, $spalte, $row_fb->titel); - $spalte+=2; - $worksheet->write($zeile, ++$spalte, ''); - $worksheet->write($zeile, ++$spalte, number_format($row_fb->stunden,2)); - $worksheet->write($zeile, ++$spalte, ''); - - $benutzer = new benutzer(); - $benutzer->load($row_fb->student_uid); - $worksheet->write($zeile, ++$spalte, "$benutzer->nachname $benutzer->vorname"); - $worksheet->write($zeile, ++$spalte, "$row_fb->nachname $row_fb->vorname"); - $worksheet->writeNumber($zeile, ++$spalte, ($row_fb->stundensatz*$row_fb->faktor*$row_fb->stunden), $format_number1); - - $gesamtkosten_betreuung +=($row_fb->stundensatz*$row_fb->faktor*$row_fb->stunden); - $stunden_betreuung+=$row_fb->stunden; - } - - $zeile++; - $spalte=7; - $worksheet->writeNumber($zeile, $spalte, $stunden_betreuung, $format_number); - $spalte=11; - $worksheet->writeNumber($zeile, $spalte, $gesamtkosten_betreuung, $format_number); - - $spalte=12; - $worksheet->writeNumber($zeile, $spalte, $gesamtkosten_betreuung, $format_number); - - } - $gesamtkosten_fb += ($gesamtkosten_betreuung+$gesamtkosten_lva); - $gesamtkosten_lva=0; - } - else - echo 'Error'; -} -// ****** END FUNKTIONEN ******* // -$stsem1 = $semester_aktuell; -$stsem_obj = new studiensemester(); - -if(substr($stsem1,0,1)=='S') //Eigentlich gehoert =='W', nur kurzfristige aenderung - $stsem2 = $stsem_obj->getNextFrom($stsem1); -else - $stsem2 = $stsem_obj->getPreviousFrom($stsem1); - -$qry = "SELECT - tbl_lehrveranstaltung.kurzbz as kurzbz, tbl_lehrveranstaltung.bezeichnung as bezeichnung, - tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.ects as ects, - tbl_lehrveranstaltung.semesterstunden as semesterstunden, lehrfach.kurzbz as lf_kurzbz, - lehrfach.bezeichnung as lf_bezeichnung, tbl_lehreinheit.lehreinheit_id as lehreinheit_id, - tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz, - tbl_lehreinheitmitarbeiter.semesterstunden as lektor_semesterstunden, - tbl_lehreinheitmitarbeiter.stundensatz as lektor_stundensatz, - tbl_lehreinheitmitarbeiter.faktor as lektor_faktor, - tbl_person.vorname, tbl_person.nachname, tbl_lehrveranstaltung.studiengang_kz, - tbl_lehrveranstaltung.semester, - tbl_fachbereich.fachbereich_kurzbz - FROM - lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, - lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzer, public.tbl_person, public.tbl_fachbereich - WHERE - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - lehrfach.lehrveranstaltung_id=tbl_lehreinheit.lehrfach_id AND - tbl_benutzer.uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid AND - tbl_person.person_id=tbl_benutzer.person_id AND - (tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem1)." OR - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem2).") AND - tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz - ORDER BY - tbl_fachbereich.fachbereich_kurzbz, - tbl_lehrveranstaltung.studiengang_kz, - tbl_lehrveranstaltung.semester, - tbl_lehrveranstaltung.bezeichnung, - tbl_lehrveranstaltung.lehrveranstaltung_id, - tbl_lehreinheit.lehreinheit_id"; - -// Creating a workbook -$workbook = new Spreadsheet_Excel_Writer(); -$workbook->setVersion(8); -// sending HTTP headers -$workbook->send("LVPlanungGesamtSJ". "_" . date("Y_m_d") . ".xls"); - -// Creating a worksheet -$worksheet =& $workbook->addWorksheet("LV-Planung Gesamt"); -$worksheet->setInputEncoding('utf-8'); -$format_bold =& $workbook->addFormat(); -$format_bold->setBold(); - -$format_bold =& $workbook->addFormat(); -$format_bold->setBold(); - -$format_colored =& $workbook->addFormat(); -$format_colored->setFgColor(22); -$format_colored->setBorder(1); -$format_colored->setBold(); - -$format_colored1 =& $workbook->addFormat(); -$format_colored1->setFgColor(22); -$format_colored1->setBorder(1); -$format_colored1->setBold(); - -$format_number =& $workbook->addFormat(); -$format_number->setNumFormat("#,##0.00"); -$format_number->setBold(); - -$format_number1 =& $workbook->addFormat(); -$format_number1->setNumFormat("#,##0.00"); - -$worksheet->write(0, 0,"LV-Planung für $stsem1/$stsem2", $format_bold); - -$zeile=3; -$spalte=0; - -$worksheet->write($zeile, $spalte,'Institut', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Kurzbz', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Bezeichnung', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Lehrform', $format_colored1); -$worksheet->write($zeile, ++$spalte,'ECTS', $format_colored1); -$worksheet->write($zeile, ++$spalte,'StudentenStunden', $format_colored1); -$worksheet->write($zeile, ++$spalte,'LektorenStunden', $format_colored1); -$worksheet->write($zeile, ++$spalte,'GesamtStunden', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Gruppen', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Lektor', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Kosten', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Summe', $format_colored1); -$worksheet->write($zeile, ++$spalte,'Gesamtkosten', $format_colored1); - -if($result = $db->db_query($qry)) -{ - $last_lva=''; - $stunden_lv=0; - $kosten_lv=0; - $gesamtkosten_lva=0; - $gesamtkosten_fb=0; - $last_fb=''; - while($row = $db->db_fetch_object($result)) - { - if($last_lva!=$row->lehrveranstaltung_id) - { - if($last_lva!='') - { - $zeile++; - $spalte=7; - $worksheet->write($zeile, $spalte,sprintf('%.2f',$stunden_lv), $format_bold); - $spalte=11; - $worksheet->writeNumber($zeile, $spalte, $kosten_lv, $format_number); - - $gesamtkosten_lva +=$kosten_lv; - $stunden_lv=0; - $kosten_lv=0; - } - - if($last_fb!=$row->fachbereich_kurzbz && $last_fb!='') - { - drawBetreuungen(); - } - - if($last_fb=='' || $last_fb!=$row->fachbereich_kurzbz) - { - $zeile++; - $worksheet->write($zeile, 0, $row->fachbereich_kurzbz, $format_bold); - $zeile++; - $last_fb = $row->fachbereich_kurzbz; - } - - $last_lva=$row->lehrveranstaltung_id; - $zeile++; - $spalte=0; - $worksheet->write($zeile, $spalte, $row->fachbereich_kurzbz, $format_colored); - $worksheet->write($zeile, ++$spalte, $stg_arr[$row->studiengang_kz].'-'.$row->semester.' '.$row->kurzbz, $format_colored); - $worksheet->write($zeile, ++$spalte,$row->bezeichnung, $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte, $row->ects, $format_colored); - $worksheet->write($zeile, ++$spalte,$row->semesterstunden, $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - $worksheet->write($zeile, ++$spalte,"", $format_colored); - } - - $gruppen=''; - $qry_grp = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id); - if($result_grp = $db->db_query($qry_grp)) - { - while($row_grp = $db->db_fetch_object($result_grp)) - { - if($gruppen=='') - $gruppen = ($row_grp->gruppe_kurzbz!=''?$row_grp->gruppe_kurzbz:trim($stg_arr[$row_grp->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe)); - else - $gruppen .= ','.($row_grp->gruppe_kurzbz!=''?$row_grp->gruppe_kurzbz:trim($stg_arr[$row_grp->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe)); - } - } - $zeile++; - $spalte=1; - $worksheet->write($zeile, ++$spalte, "$row->lf_bezeichnung ($row->lf_kurzbz)"); - $worksheet->write($zeile, ++$spalte, $row->lehrform_kurzbz); - $spalte++; - $worksheet->write($zeile, ++$spalte, ""); - $worksheet->write($zeile, ++$spalte, $row->lektor_semesterstunden); - $worksheet->write($zeile, ++$spalte, ""); - $worksheet->write($zeile, ++$spalte, $gruppen); - $worksheet->write($zeile, ++$spalte, "$row->nachname $row->vorname"); - $worksheet->writeNumber($zeile, ++$spalte, ($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden), $format_number1); - - $kosten_lv +=($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden); - $stunden_lv +=$row->lektor_semesterstunden; - } - $zeile++; - $spalte=7; - $worksheet->write($zeile, $spalte,sprintf('%.2f',$stunden_lv), $format_bold); - $spalte=11; - $worksheet->writeNumber($zeile, $spalte, $kosten_lv, $format_number); - - $gesamtkosten_lva +=$kosten_lv; - $stunden_lv=0; - $kosten_lv=0; - - - drawBetreuungen(); - -} - -$zeile++; -$spalte=8; -$worksheet->write($zeile, $spalte, 'Gesamt:', $format_bold); -$spalte=12; -$worksheet->writeNumber($zeile, $spalte, $gesamtkosten_fb, $format_number); - -$worksheet->setColumn(0, 0, 30); //FB -$worksheet->setColumn(0, 1, 15); //Kurzbz -$worksheet->setColumn(0, 2, 40); //bezeichnung -$worksheet->setColumn(0, 3, 5); //Lehrform -$worksheet->setColumn(0, 4, 5); //ECTS -$worksheet->setColumn(0, 5, 10); //Studentenstuden -$worksheet->setColumn(0, 6, 10); //LektorStunden -$worksheet->setColumn(0, 7, 10); //Gesamtstunden -$worksheet->setColumn(0, 8, 10); //Gruppen -$worksheet->setColumn(0, 9, 10); //Lektor -$worksheet->setColumn(0, 10, 10); //Kosten -$worksheet->setColumn(0, 11, 20); //Gesamtkosten - -$workbook->close(); -?> diff --git a/content/statistik/projektarbeitexport.xls.php b/content/statistik/projektarbeitexport.xls.php index 01376c591..213cb4b94 100644 --- a/content/statistik/projektarbeitexport.xls.php +++ b/content/statistik/projektarbeitexport.xls.php @@ -20,9 +20,7 @@ * Rudolf Hangl . */ /** - * Exportiert die Studentendaten in ein Excel File. - * Die zu exportierenden Spalten werden per GET uebergeben. - * Die Adressen werden immer dazugehaengt + * Exportiert die Projektarbeiten inklusive deren Betreuern */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); @@ -33,140 +31,150 @@ $db = new basis_db(); $user = get_uid(); $datum_obj = new datum(); loadVariables($user); - - //Parameter holen - $studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''; - $semester = isset($_GET['semester'])?$_GET['semester']:''; - $verband = isset($_GET['verband'])?$_GET['verband']:''; - $gruppe = isset($_GET['gruppe'])?$_GET['gruppe']:''; - $gruppe_kurzbz = isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:''; - $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; - - $maxlength= array(); - $zeile=1; - // Creating a workbook - $workbook = new Spreadsheet_Excel_Writer(); - $workbook->setVersion(8); - - // sending HTTP headers - $workbook->send("Projektarbeit". "_" . date("d_m_Y") . ".xls"); +//Parameter holen +$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''; +$semester = isset($_GET['semester'])?$_GET['semester']:''; +$verband = isset($_GET['verband'])?$_GET['verband']:''; +$gruppe = isset($_GET['gruppe'])?$_GET['gruppe']:''; +$gruppe_kurzbz = isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:''; +$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; - // Creating a worksheet - $worksheet =& $workbook->addWorksheet("Studenten"); - $worksheet->setInputEncoding('utf-8'); - - $format_bold =& $workbook->addFormat(); - $format_bold->setBold(); - - $format_title =& $workbook->addFormat(); - $format_title->setBold(); - // let's merge - $format_title->setAlign('merge'); +$maxlength = array(); +$zeile = 1; - //Zeilenueberschriften ausgeben - - $headline=array('Typ der Projektarbeit','Titel der Projektarbeit','Student', - 'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Gesamtstunden','Themenbereich', - 'Anmerkung','Projektarbeit ID'); - - $i=0; - foreach ($headline as $title) +// Creating a workbook +$workbook = new Spreadsheet_Excel_Writer(); +$workbook->setVersion(8); + +// sending HTTP headers +$workbook->send("Projektarbeit". "_" . date("d_m_Y") . ".xls"); + +// Creating a worksheet +$worksheet =& $workbook->addWorksheet("Studenten"); +$worksheet->setInputEncoding('utf-8'); + +$format_bold =& $workbook->addFormat(); +$format_bold->setBold(); + +$format_title =& $workbook->addFormat(); +$format_title->setBold(); +// let's merge +$format_title->setAlign('merge'); + +//Zeilenueberschriften ausgeben +$headline = array('Typ der Projektarbeit','Titel der Projektarbeit','Student', + 'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Gesamtstunden','Themenbereich', + 'Anmerkung','Projektarbeit ID'); + +$i = 0; +foreach ($headline as $title) +{ + $worksheet->write(0,$i,$title, $format_bold); + $maxlength[$i] = mb_strlen($title); + $i++; +} + +// Daten holen +$qry = "SELECT + tbl_projekttyp.bezeichnung, titel, + trim(COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') + || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'')), + (SELECT anmerkung FROM lehre.tbl_note WHERE note=tbl_projektarbeit.note) as anmerkung, punkte, beginn, + ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, gesamtstunden, themenbereich, + tbl_projektarbeit.anmerkung, projektarbeit_id + FROM + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, + public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp + WHERE + tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND + tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND + tbl_projektarbeit.student_uid = tbl_benutzer.uid AND + tbl_benutzer.person_id = tbl_person.person_id AND + tbl_projektarbeit.projekttyp_kurzbz = tbl_projekttyp.projekttyp_kurzbz AND + tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND + tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')"; + +if ($semester != '') + $qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester); + +//echo $qry; +$zeile=1; +if ($result = $db->db_query($qry)) +{ + while ($row = $db->db_fetch_array($result)) { - $worksheet->write(0,$i,$title, $format_bold); - $maxlength[$i]=mb_strlen($title); - $i++; - } - - // Daten holen - $qry = "SELECT - tbl_projekttyp.bezeichnung, titel, trim(COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'')), - (SELECT anmerkung FROM lehre.tbl_note WHERE note=tbl_projektarbeit.note) as anmerkung, punkte, beginn, - ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, gesamtstunden, themenbereich, tbl_projektarbeit.anmerkung, projektarbeit_id - FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, - public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp - WHERE - tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_projektarbeit.student_uid=tbl_benutzer.uid AND - tbl_benutzer.person_id=tbl_person.person_id AND - tbl_projektarbeit.projekttyp_kurzbz=tbl_projekttyp.projekttyp_kurzbz AND - tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND - tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND - tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')"; - - if($semester!='') - $qry.= " AND tbl_lehrveranstaltung.semester='".addslashes($semester)."'"; - - //echo $qry; - $zeile=1; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_array($result)) + $zeile++; + $i = 0; + + //Projektarbeit + foreach ($row as $idx => $content) { - $zeile++; - $i=0; - - //Projektarbeit - foreach ($row as $idx=>$content) + if (is_numeric($idx)) { - if(is_numeric($idx)) + $worksheet->write($zeile, $i, $content); + if (mb_strlen($content) > $maxlength[$i]) + $maxlength[$i] = mb_strlen($content); + $i++; + } + } + $zeile++; + + //Betreuer + $qry_betreuer = " + SELECT + betreuerart_kurzbz, COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') + || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,''), + tbl_note.anmerkung, name, punkte, stunden, stundensatz + FROM + (lehre.tbl_projektbetreuer JOIN tbl_person USING(person_id)) + LEFT JOIN lehre.tbl_note USING(note) + WHERE + projektarbeit_id = ".$db->db_add_param($row['projektarbeit_id']); + + if ($result_betreuer = $db->db_query($qry_betreuer)) + { + if ($db->db_num_rows($result_betreuer) > 0) + { + $headline = array('Betreuerart','Betreuer','Note','Name','Punkte','Stunden','Stundensatz'); + + $i = 1; + + foreach ($headline as $title) { - $worksheet->write($zeile, $i, $content); - if(mb_strlen($content)>$maxlength[$i]) - $maxlength[$i]=mb_strlen($content); + $worksheet->write($zeile,$i,$title, $format_bold); + if (mb_strlen($title) > $maxlength[$i]) + $maxlength[$i] = mb_strlen($title); $i++; } - } - $zeile++; - - //Betreuer - - $qry_betreuer = "SELECT betreuerart_kurzbz, COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,''), tbl_note.anmerkung, faktor, name, punkte, stunden, stundensatz FROM (lehre.tbl_projektbetreuer JOIN tbl_person USING(person_id)) LEFT JOIN lehre.tbl_note USING(note) WHERE projektarbeit_id='".$row['projektarbeit_id']."'"; - - if($result_betreuer = $db->db_query($qry_betreuer)) - { - if($db->db_num_rows($result_betreuer)>0) + + $zeile++; + while ($row_betreuer = $db->db_fetch_array($result_betreuer)) { - $headline=array('Betreuerart','Betreuer','Note','Faktor','Name','Punkte','Stunden','Stundensatz'); - - $i=1; - - foreach ($headline as $title) + $i = 1; + + foreach ($row_betreuer as $idx => $content) { - $worksheet->write($zeile,$i,$title, $format_bold); - if(mb_strlen($title)>$maxlength[$i]) - $maxlength[$i]=mb_strlen($title); - $i++; - } - - $zeile++; - while($row_betreuer = $db->db_fetch_array($result_betreuer)) - { - $i=1; - - foreach ($row_betreuer as $idx=>$content) + if (is_numeric($idx)) { - if(is_numeric($idx)) - { - $worksheet->write($zeile, $i, $content); - if(mb_strlen($content)>$maxlength[$i]) - $maxlength[$i]=mb_strlen($content); - $i++; - } + $worksheet->write($zeile, $i, $content); + if (mb_strlen($content) > $maxlength[$i]) + $maxlength[$i] = mb_strlen($content); + $i++; } - $zeile++; } + $zeile++; } } - } + } - //Die Breite der Spalten setzen - foreach($maxlength as $i=>$breite) - $worksheet->setColumn($i, $i, $breite+2); - - $workbook->close(); +} +//Die Breite der Spalten setzen +foreach ($maxlength as $i => $breite) + $worksheet->setColumn($i, $i, $breite + 2); + +$workbook->close(); ?> diff --git a/locale/de-AT/fas.dtd b/locale/de-AT/fas.dtd index afe6e7e27..7a0c47ca8 100644 --- a/locale/de-AT/fas.dtd +++ b/locale/de-AT/fas.dtd @@ -46,10 +46,6 @@ - - - - @@ -155,14 +151,6 @@ - - - - - - - - @@ -175,10 +163,6 @@ - - - - From 881fa5a58234237595b521e8beae0f24c33acbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 6 Dec 2019 16:07:19 +0100 Subject: [PATCH 11/22] =?UTF-8?q?Summen=20der=20akzeptierten=20Lehrauftr?= =?UTF-8?q?=C3=A4ge=20werden=20getrennt=20ausgewiesen=20in=20der=20Lehrauf?= =?UTF-8?q?tragsliste?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistik/lehrauftragsliste_mail.xls.php | 457 +++++++++++------- 1 file changed, 276 insertions(+), 181 deletions(-) diff --git a/content/statistik/lehrauftragsliste_mail.xls.php b/content/statistik/lehrauftragsliste_mail.xls.php index be76221cc..6c701c4f5 100644 --- a/content/statistik/lehrauftragsliste_mail.xls.php +++ b/content/statistik/lehrauftragsliste_mail.xls.php @@ -33,24 +33,24 @@ require_once('../../include/mail.class.php'); $stsem = new studiensemester(); -if(isset($_GET['stsem'])) +if (isset($_GET['stsem'])) { - if(check_stsem($_GET['stsem'])) + if (check_stsem($_GET['stsem'])) $semester_aktuell = $_GET['stsem']; else die('Studiensemester ist ungueltig'); } else - $semester_aktuell = $stsem->getaktorNext(); + $semester_aktuell = $stsem->getaktorNext(); //UID als Kommandozeilenparameter -if(isset($_SERVER['argv']) && isset($_SERVER['argv'][1]) && !strstr($_SERVER['argv'][1],'=')) +if (isset($_SERVER['argv']) && isset($_SERVER['argv'][1]) && !strstr($_SERVER['argv'][1], '=')) { $oe_kurzbz = $_SERVER['argv'][1]; } else { - if(isset($_GET['oe_kurzbz'])) + if (isset($_GET['oe_kurzbz'])) $oe_kurzbz = $_GET['oe_kurzbz']; else { @@ -61,7 +61,7 @@ else } $file = 'lehrauftragsliste.xls'; -$file = tempnam('/tmp','lehrauftragsliste_').'.xls'; +$file = tempnam('/tmp', 'lehrauftragsliste_').'.xls'; // Creating a workbook echo 'Lehrauftragslisten werden erstellt. Bitte warten!
'; @@ -72,10 +72,10 @@ $db = new basis_db(); $stg = new studiengang(); $stg->getStudiengaengeFromOe($oe_kurzbz); -$stg_arr=array(); -if(count($stg->result)>0) +$stg_arr = array(); +if (count($stg->result) > 0) { - foreach($stg->result as $row) + foreach ($stg->result as $row) { $stg_arr[] = $row->studiengang_kz; } @@ -105,16 +105,16 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz ) as foo JOIN public.tbl_studiengang USING (studiengang_kz) "; -if(count($stg_arr)>0) - $qry_stg.=" WHERE studiengang_kz in (".$db->db_implode4SQL($stg_arr).")"; +if (count($stg_arr) > 0) + $qry_stg .= " WHERE studiengang_kz in (".$db->db_implode4SQL($stg_arr).")"; - $qry_stg.=" ORDER BY typ, kurzbz"; + $qry_stg .= " ORDER BY typ, kurzbz"; $liste_gesamt = array(); $gesamt =& $workbook->addWorksheet('Gesamt'); $gesamt->setInputEncoding('utf-8'); -$gesamtsheet_row=1; +$gesamtsheet_row = 1; //Formate Definieren $format_bold =& $workbook->addFormat(); @@ -125,68 +125,70 @@ $format_colored =& $workbook->addFormat(); $format_colored->setFgColor(10); $format_number_colored =& $workbook->addFormat(); -$format_number_colored->setNumFormat('0,0.00'); +$format_number_colored->setNumFormat('0, 0.00'); //$format_number_colored->setNumFormat('0.00'); $format_number_colored->setFgColor(10); $format_number =& $workbook->addFormat(); -$format_number->setNumFormat('0,0.00'); +$format_number->setNumFormat('0, 0.00'); $format_number_bold =& $workbook->addFormat(); -$format_number_bold->setNumFormat('0,0.00'); +$format_number_bold->setNumFormat('0, 0.00'); //$format_number_bold->setNumFormat('0.00'); $format_number_bold->setBold(); $format_normal = & $workbook->addFormat(); -if($result_stg = $db->db_query($qry_stg)) +if ($result_stg = $db->db_query($qry_stg)) { - while($row_stg = $db->db_fetch_object($result_stg)) + while ($row_stg = $db->db_fetch_object($result_stg)) { //Studiengang laden $studiengang = new studiengang($row_stg->studiengang_kz); - $studiengang_kz=$row_stg->studiengang_kz; + $studiengang_kz = $row_stg->studiengang_kz; // Creating a worksheet $worksheet =& $workbook->addWorksheet($studiengang->kuerzel); $worksheet->setInputEncoding('utf-8'); //echo "Writing $studiengang->kuerzel ...".microtime()."
"; - $i=0; + $i = 0; $gesamtsheet_row++; - //$gesamt->write(0,0,"", $format_colored); Mag er nicht. Wirft Fehler in MS Excel - //$gesamt->write(0,1,"Kennzeichnet Änderungen am Lehrauftrag innerhalb der letzten 31 Tage", $format_normal); Mag er nicht. Wirft Fehler in MS Excel - $worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold); - $gesamt->write($gesamtsheet_row,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold); - $gesamtsheet_row+=2; + $worksheet->write(0, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold); + $gesamt->write($gesamtsheet_row, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold); + $gesamtsheet_row += 2; //Ueberschriften - $worksheet->write(2,$i,"Studiengang", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Studiengang", $format_bold); - $worksheet->write(2,++$i,"Personalnr", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Personalnr", $format_bold); - $worksheet->write(2,++$i,"Titel", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Titel", $format_bold); - $worksheet->write(2,++$i,"Vorname", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Vorname", $format_bold); - $worksheet->write(2,++$i,"Familienname", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Familienname", $format_bold); - $worksheet->write(2,++$i,"Fixangestellt", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Fixangestellt", $format_bold); - $worksheet->write(2,++$i,"Disz. Zuordnung", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Disz. Zuordnung", $format_bold); - $worksheet->write(2,++$i,"Department", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Department", $format_bold); - $worksheet->write(2,++$i,"LV-Stunden", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"LV-Stunden", $format_bold); - $worksheet->write(2,++$i,"LV-Kosten", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"LV-Kosten", $format_bold); - $worksheet->write(2,++$i,"Betreuerstunden", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Betreuerstunden", $format_bold); - $worksheet->write(2,++$i,"Betreuerkosten", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Betreuer-Kosten", $format_bold); - $worksheet->write(2,++$i,"Gesamtstunden", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Gesamtstunden", $format_bold); - $worksheet->write(2,++$i,"Gesamtkosten", $format_bold); - $gesamt->write($gesamtsheet_row,$i,"Gesamtkosten", $format_bold); + $worksheet->write(2, $i, "Studiengang", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Studiengang", $format_bold); + $worksheet->write(2, ++$i, "Personalnr", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Personalnr", $format_bold); + $worksheet->write(2, ++$i, "Titel", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Titel", $format_bold); + $worksheet->write(2, ++$i, "Vorname", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Vorname", $format_bold); + $worksheet->write(2, ++$i, "Familienname", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Familienname", $format_bold); + $worksheet->write(2, ++$i, "Fixangestellt", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Fixangestellt", $format_bold); + $worksheet->write(2, ++$i, "Disz. Zuordnung", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Disz. Zuordnung", $format_bold); + $worksheet->write(2, ++$i, "Department", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Department", $format_bold); + $worksheet->write(2, ++$i, "LV-Stunden", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "LV-Stunden", $format_bold); + $worksheet->write(2, ++$i, "LV-Kosten", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "LV-Kosten", $format_bold); + $worksheet->write(2, ++$i, "Betreuerstunden", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Betreuerstunden", $format_bold); + $worksheet->write(2, ++$i, "Betreuerkosten", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Betreuer-Kosten", $format_bold); + $worksheet->write(2, ++$i, "Gesamtstunden", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Gesamtstunden", $format_bold); + $worksheet->write(2, ++$i, "Gesamtkosten", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Gesamtkosten", $format_bold); + $worksheet->write(2, ++$i, "Gesamtstunden angenommen", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Gesamtstunden angenommen", $format_bold); + $worksheet->write(2, ++$i, "Gesamtkosten angenommen", $format_bold); + $gesamt->write($gesamtsheet_row, $i, "Gesamtkosten angenommen", $format_bold); //Daten holen $qry = "SELECT tbl_lehreinheit.*, @@ -259,7 +261,15 @@ if($result_stg = $db->db_query($qry_stg)) WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum) > now() - interval '31 days' THEN 't' ELSE 'f' - END AS geaendert + END AS geaendert, + (SELECT + vertragsstatus_kurzbz + FROM + lehre.tbl_vertrag_vertragsstatus + WHERE + vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id + ORDER BY datum DESC + LIMIT 1) as vertragsstatus FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, PUBLIC.tbl_mitarbeiter, @@ -284,28 +294,62 @@ if($result_stg = $db->db_query($qry_stg)) vorname, tbl_mitarbeiter.mitarbeiter_uid"; - if($result = $db->db_query($qry)) + if ($result = $db->db_query($qry)) { - $zeile=3; + $zeile = 3; $gesamtkosten = 0; - $liste=array(); + $liste = array(); $gesamtsheet_row++; - while($row = $db->db_fetch_object($result)) + while ($row = $db->db_fetch_object($result)) { //Gesamtstunden und Kosten ermitteln - if(array_key_exists($row->mitarbeiter_uid, $liste)) + if (array_key_exists($row->mitarbeiter_uid, $liste)) { - $liste[$row->mitarbeiter_uid]['lvstunden'] = $liste[$row->mitarbeiter_uid]['lvstunden'] + $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['lvkosten'] = $liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden*$row->stundensatz); - $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz); + $liste[$row->mitarbeiter_uid]['lvstunden'] = + $liste[$row->mitarbeiter_uid]['lvstunden'] + $row->semesterstunden; + $liste[$row->mitarbeiter_uid]['lvkosten'] = + $liste[$row->mitarbeiter_uid]['lvkosten'] + ($row->semesterstunden * $row->stundensatz); + $liste[$row->mitarbeiter_uid]['gesamtstunden'] = + $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden; + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = + $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden * $row->stundensatz); + + if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'])) + { + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0; + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0; + } + + if ($row->vertragsstatus == 'akzeptiert') + { + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden; + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] + + ($row->semesterstunden * $row->stundensatz); + } } else { $liste[$row->mitarbeiter_uid]['lvstunden'] = $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden*$row->stundensatz; + $liste[$row->mitarbeiter_uid]['lvkosten'] = $row->semesterstunden * $row->stundensatz; $liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden; - $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz; + $liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden * $row->stundensatz; + + if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'])) + { + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0; + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0; + } + + if ($row->vertragsstatus == 'akzeptiert') + { + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = + $liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden; + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = + $liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] + + ($row->semesterstunden * $row->stundensatz); + } } $liste[$row->mitarbeiter_uid]['personalnummer'] = $row->personalnummer; $liste[$row->mitarbeiter_uid]['titelpre'] = $row->titelpre; @@ -316,21 +360,27 @@ if($result_stg = $db->db_query($qry_stg)) $liste[$row->mitarbeiter_uid]['department'] = $row->department; $liste[$row->mitarbeiter_uid]['betreuergesamtstunden'] = 0; $liste[$row->mitarbeiter_uid]['betreuergesamtkosten'] = 0; - if($row->geaendert=='t') - $liste[$row->mitarbeiter_uid]['geaendert']=true; + if ($row->geaendert == 't') + $liste[$row->mitarbeiter_uid]['geaendert'] = true; } //Alle holen die eine Betreuung aber keinen Lehrauftrag haben $qry = "SELECT - distinct personalnummer, titelpre, vorname, nachname, uid, CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt, - (SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz||' '||tbl_organisationseinheit.bezeichnung - FROM public.tbl_benutzerfunktion - JOIN public.tbl_organisationseinheit USING (oe_kurzbz) - WHERE funktion_kurzbz='oezuordnung' - AND (datum_von IS NULL OR datum_von <= now()) - AND (datum_bis IS NULL OR datum_bis >= now()) - AND tbl_benutzerfunktion.uid = tbl_benutzer.uid - LIMIT 1) AS oezuordnung, + distinct personalnummer, titelpre, vorname, nachname, uid, + CASE WHEN fixangestellt = true THEN 'Ja' ELSE 'Nein' END as fixangestellt, + (SELECT + tbl_organisationseinheit.organisationseinheittyp_kurzbz + || ' ' || tbl_organisationseinheit.bezeichnung + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_organisationseinheit USING (oe_kurzbz) + WHERE + funktion_kurzbz='oezuordnung' + AND (datum_von IS NULL OR datum_von <= now()) + AND (datum_bis IS NULL OR datum_bis >= now()) + AND tbl_benutzerfunktion.uid = tbl_benutzer.uid + LIMIT 1 + ) AS oezuordnung, ( WITH RECURSIVE meine_oes(oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz) AS ( SELECT oe_kurzbz, @@ -392,14 +442,19 @@ if($result_stg = $db->db_query($qry_stg)) tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null AND - EXISTS (SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id) AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");"; + EXISTS ( + SELECT lehreinheit_id + FROM + lehre.tbl_lehreinheitgruppe + WHERE + lehreinheit_id=tbl_lehreinheit.lehreinheit_id) AND + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");"; - if($result = $db->db_query($qry)) + if ($result = $db->db_query($qry)) { - while($row = $db->db_fetch_object($result)) + while ($row = $db->db_fetch_object($result)) { - if(!isset($liste[$row->uid])) + if (!isset($liste[$row->uid])) { $liste[$row->uid]['personalnummer'] = $row->personalnummer; $liste[$row->uid]['titelpre'] = $row->titelpre; @@ -408,7 +463,7 @@ if($result_stg = $db->db_query($qry_stg)) $liste[$row->uid]['fixangestellt'] = $row->fixangestellt; $liste[$row->uid]['oezuordnung'] = $row->oezuordnung; $liste[$row->uid]['department'] = $row->department; - $liste[$row->uid]['geaendert']=false; + $liste[$row->uid]['geaendert'] = false; $liste[$row->uid]['gesamtstunden'] = 0; $liste[$row->uid]['gesamtkosten'] = 0; $liste[$row->uid]['lvstunden'] = 0; @@ -420,10 +475,10 @@ if($result_stg = $db->db_query($qry_stg)) } //Betreuungen fuer Projektarbeiten - foreach ($liste as $uid=>$arr) + foreach ($liste as $uid => $arr) { $qry = " - SELECT + SELECT tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz, CASE WHEN @@ -432,7 +487,17 @@ if($result_stg = $db->db_query($qry_stg)) 't' ELSE 'f' - END as geaendert + END as geaendert, + ( + SELECT + vertragsstatus_kurzbz + FROM + lehre.tbl_vertrag_vertragsstatus + WHERE + vertrag_id = tbl_projektbetreuer.vertrag_id + ORDER BY datum DESC + LIMIT 1 + ) as vertragsstatus FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student WHERE @@ -445,17 +510,32 @@ if($result_stg = $db->db_query($qry_stg)) AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); - if($result = $db->db_query($qry)) + if ($result = $db->db_query($qry)) { - while($row = $db->db_fetch_object($result)) + while ($row = $db->db_fetch_object($result)) { $liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden; - $liste[$uid]['gesamtkosten'] = $liste[$uid]['gesamtkosten'] + ($row->stunden*$row->stundensatz); + $liste[$uid]['gesamtkosten'] = + $liste[$uid]['gesamtkosten'] + ($row->stunden * $row->stundensatz); $liste[$uid]['betreuergesamtstunden'] = $liste[$uid]['betreuergesamtstunden'] + $row->stunden; - $liste[$uid]['betreuergesamtkosten'] = $liste[$uid]['betreuergesamtkosten'] + ($row->stunden*$row->stundensatz); - if($row->geaendert=='t') + $liste[$uid]['betreuergesamtkosten'] = + $liste[$uid]['betreuergesamtkosten'] + ($row->stunden * $row->stundensatz); + if ($row->geaendert == 't') { - $liste[$uid]['geaendert']=true; + $liste[$uid]['geaendert'] = true; + } + if (!isset($liste[$uid]['gesamtstunden_akzeptiert'])) + { + $liste[$uid]['gesamtstunden_akzeptiert'] = 0; + $liste[$uid]['gesamtkosten_akzeptiert'] = 0; + } + + if ($row->vertragsstatus == 'akzeptiert') + { + $liste[$uid]['gesamtstunden_akzeptiert'] = + $liste[$uid]['gesamtstunden_akzeptiert'] + $row->stunden; + $liste[$uid]['gesamtkosten_akzeptiert'] = + $liste[$uid]['gesamtkosten_akzeptiert'] + ($row->stunden * $row->stundensatz); } } } @@ -465,17 +545,17 @@ if($result_stg = $db->db_query($qry_stg)) $nn = array(); foreach ($liste as $key => $row) { - $vn[$key] = $row['vorname']; - $nn[$key] = $row['nachname']; + $vn[$key] = $row['vorname']; + $nn[$key] = $row['nachname']; } array_multisort($nn, SORT_ASC, $vn, SORT_ASC, $liste); //Daten ausgeben - foreach ($liste as $uid=>$row) + foreach ($liste as $uid => $row) { - $i=0; - if(isset($row['geaendert']) && $row['geaendert']==true) + $i = 0; + if (isset($row['geaendert']) && $row['geaendert'] == true) { $format = $format_colored; $formatnb = $format_number_colored; @@ -486,78 +566,95 @@ if($result_stg = $db->db_query($qry_stg)) $formatnb = $format_number; } //Studiengang - $worksheet->write($zeile,$i,$studiengang->kuerzel, $format); - $gesamt->write($gesamtsheet_row,$i,$studiengang->kuerzel, $format); + $worksheet->write($zeile, $i, $studiengang->kuerzel, $format); + $gesamt->write($gesamtsheet_row, $i, $studiengang->kuerzel, $format); //Personalnummer - $worksheet->write($zeile,++$i,$row['personalnummer'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['personalnummer'], $format); + $worksheet->write($zeile, ++$i, $row['personalnummer'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['personalnummer'], $format); //Titel - $worksheet->write($zeile,++$i,$row['titelpre'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['titelpre'], $format); + $worksheet->write($zeile, ++$i, $row['titelpre'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['titelpre'], $format); //Vorname - $worksheet->write($zeile,++$i,$row['vorname'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['vorname'], $format); + $worksheet->write($zeile, ++$i, $row['vorname'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['vorname'], $format); //Nachname - $worksheet->write($zeile,++$i,$row['nachname'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['nachname'], $format); + $worksheet->write($zeile, ++$i, $row['nachname'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['nachname'], $format); //Fixangestellt - $worksheet->write($zeile,++$i,$row['fixangestellt'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['fixangestellt'], $format); + $worksheet->write($zeile, ++$i, $row['fixangestellt'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['fixangestellt'], $format); //OE-Zuordnung - $worksheet->write($zeile,++$i,$row['oezuordnung'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['oezuordnung'], $format); + $worksheet->write($zeile, ++$i, $row['oezuordnung'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $format); //Department der OE-Zuordnung - $worksheet->write($zeile,++$i,$row['department'], $format); - $gesamt->write($gesamtsheet_row,$i,$row['department'], $format); + $worksheet->write($zeile, ++$i, $row['department'], $format); + $gesamt->write($gesamtsheet_row, $i, $row['department'], $format); //LVStunden - $lvstunden = str_replace(',', '.', $row['lvstunden']); - $worksheet->write($zeile,++$i,$lvstunden, $format); - $gesamt->write($gesamtsheet_row,$i,$lvstunden, $format); + $lvstunden = str_replace(', ', '.', $row['lvstunden']); + $worksheet->write($zeile, ++$i, $lvstunden, $format); + $gesamt->write($gesamtsheet_row, $i, $lvstunden, $format); //LVKosten - $lvkosten = str_replace(',', '.', $row['lvkosten']); - $worksheet->writeNumber($zeile,++$i,$lvkosten, $formatnb); - $gesamt->writeNumber($gesamtsheet_row,$i,$lvkosten, $formatnb); + $lvkosten = str_replace(', ', '.', $row['lvkosten']); + $worksheet->writeNumber($zeile, ++$i, $lvkosten, $formatnb); + $gesamt->writeNumber($gesamtsheet_row, $i, $lvkosten, $formatnb); //Betreuerstunden - $betreuergesamtstunden = str_replace(',', '.', $row['betreuergesamtstunden']); - $worksheet->write($zeile,++$i,$betreuergesamtstunden, $formatnb); - $gesamt->write($gesamtsheet_row,$i,$betreuergesamtstunden, $formatnb); + $betreuergesamtstunden = str_replace(', ', '.', $row['betreuergesamtstunden']); + $worksheet->write($zeile, ++$i, $betreuergesamtstunden, $formatnb); + $gesamt->write($gesamtsheet_row, $i, $betreuergesamtstunden, $formatnb); //Betreuerkosten - $betreuergesamtkosten = str_replace(',', '.', $row['betreuergesamtkosten']); - $worksheet->write($zeile,++$i,$betreuergesamtkosten, $formatnb); - $gesamt->write($gesamtsheet_row,$i,$betreuergesamtkosten, $formatnb); + $betreuergesamtkosten = str_replace(', ', '.', $row['betreuergesamtkosten']); + $worksheet->write($zeile, ++$i, $betreuergesamtkosten, $formatnb); + $gesamt->write($gesamtsheet_row, $i, $betreuergesamtkosten, $formatnb); //Gesamtstunden - $gesamtstunden = str_replace(',', '.', $row['gesamtstunden']); - $worksheet->write($zeile,++$i,$gesamtstunden, $formatnb); - $gesamt->write($gesamtsheet_row,$i,$gesamtstunden, $formatnb); + $gesamtstunden = str_replace(', ', '.', $row['gesamtstunden']); + $worksheet->write($zeile, ++$i, $gesamtstunden, $formatnb); + $gesamt->write($gesamtsheet_row, $i, $gesamtstunden, $formatnb); //Gesamtkosten - $gesamtkosten_row = str_replace(',', '.', $row['gesamtkosten']); - $worksheet->writeNumber($zeile,++$i,$gesamtkosten_row, $formatnb); - $gesamt->writeNumber($gesamtsheet_row,$i,$gesamtkosten_row, $formatnb); - + $gesamtkosten_row = str_replace(', ', '.', $row['gesamtkosten']); + $worksheet->writeNumber($zeile, ++$i, $gesamtkosten_row, $formatnb); + $gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_row, $formatnb); + //Gesamtstunden akzeptiert + $gesamtstunden_akzeptiert = str_replace(', ', '.', $row['gesamtstunden_akzeptiert']); + $worksheet->write($zeile, ++$i, $gesamtstunden_akzeptiert, $formatnb); + $gesamt->write($gesamtsheet_row, $i, $gesamtstunden_akzeptiert, $formatnb); + //Gesamtkosten akzeptiert + $gesamtkosten_akzeptiert_row = str_replace(', ', '.', $row['gesamtkosten_akzeptiert']); + $worksheet->writeNumber($zeile, ++$i, $gesamtkosten_akzeptiert_row, $formatnb); + $gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_akzeptiert_row, $formatnb); //Kosten zu den Gesamtkosten hinzurechnen $gesamtkosten = $gesamtkosten + $row['gesamtkosten']; $zeile++; $gesamtsheet_row++; - $liste_gesamt[$uid]['personalnummer']=$row['personalnummer']; - $liste_gesamt[$uid]['titelpre']=$row['titelpre']; - $liste_gesamt[$uid]['vorname']=$row['vorname']; - $liste_gesamt[$uid]['nachname']=$row['nachname']; - if(isset($liste_gesamt[$uid]['gesamtstunden'])) - $liste_gesamt[$uid]['gesamtstunden']+=$row['gesamtstunden']; + $liste_gesamt[$uid]['personalnummer'] = $row['personalnummer']; + $liste_gesamt[$uid]['titelpre'] = $row['titelpre']; + $liste_gesamt[$uid]['vorname'] = $row['vorname']; + $liste_gesamt[$uid]['nachname'] = $row['nachname']; + if (isset($liste_gesamt[$uid]['gesamtstunden'])) + $liste_gesamt[$uid]['gesamtstunden'] += $row['gesamtstunden']; else - $liste_gesamt[$uid]['gesamtstunden']=$row['gesamtstunden']; + $liste_gesamt[$uid]['gesamtstunden'] = $row['gesamtstunden']; - if(isset($liste_gesamt[$uid]['gesamtkosten'])) - $liste_gesamt[$uid]['gesamtkosten']+=$row['gesamtkosten']; + if (isset($liste_gesamt[$uid]['gesamtkosten'])) + $liste_gesamt[$uid]['gesamtkosten'] += $row['gesamtkosten']; else - $liste_gesamt[$uid]['gesamtkosten']=$row['gesamtkosten']; + $liste_gesamt[$uid]['gesamtkosten'] = $row['gesamtkosten']; + + if (isset($liste_gesamt[$uid]['gesamtstunden_akzeptiert'])) + $liste_gesamt[$uid]['gesamtstunden_akzeptiert'] += $row['gesamtstunden_akzeptiert']; + else + $liste_gesamt[$uid]['gesamtstunden_akzeptiert'] = $row['gesamtstunden_akzeptiert']; + + if (isset($liste_gesamt[$uid]['gesamtkosten_akzeptiert'])) + $liste_gesamt[$uid]['gesamtkosten_akzeptiert'] += $row['gesamtkosten_akzeptiert']; + else + $liste_gesamt[$uid]['gesamtkosten_akzeptiert'] = $row['gesamtkosten_akzeptiert']; } //Gesamtkosten anzeigen - $worksheet->writeNumber($zeile,13,$gesamtkosten, $format_number_bold); - $gesamt->writeNumber($gesamtsheet_row,13,$gesamtkosten, $format_number_bold); + $worksheet->writeNumber($zeile, 13, $gesamtkosten, $format_number_bold); + $gesamt->writeNumber($gesamtsheet_row, 13, $gesamtkosten, $format_number_bold); } } @@ -566,62 +663,62 @@ if($result_stg = $db->db_query($qry_stg)) $worksheet->setInputEncoding('utf-8'); $qry = "SELECT studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre, - sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8,2) AS euro, person_id + sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8, 2) AS euro, person_id FROM public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id) JOIN lehre.tbl_projektarbeit USING (projektarbeit_id) JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE - studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - stunden>0"; + studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND + stunden > 0"; - if(count($stg_arr)>0) - $qry.=" AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")"; + if (count($stg_arr) > 0) + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")"; - $qry.=" + $qry .= " GROUP BY - studiensemester_kurzbz,person_id,nachname,vorname, titelpre + studiensemester_kurzbz, person_id, nachname, vorname, titelpre ORDER BY - nachname,vorname + nachname, vorname "; - $i=0; - $gesamtkosten=0; + $i = 0; + $gesamtkosten = 0; - $worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Betreuerstunden', $format_bold); + $worksheet->write(0, 0, 'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Betreuerstunden', $format_bold); //Ueberschriften - //$worksheet->write(2,$i,"Studiengang", $format_bold); - $worksheet->write(2,++$i,"Titel", $format_bold); - $worksheet->write(2,++$i,"Familienname", $format_bold); - $worksheet->write(2,++$i,"Vorname", $format_bold); - $worksheet->write(2,++$i,"Stunden", $format_bold); - $worksheet->write(2,++$i,"Kosten", $format_bold); + //$worksheet->write(2, $i, "Studiengang", $format_bold); + $worksheet->write(2, ++$i, "Titel", $format_bold); + $worksheet->write(2, ++$i, "Familienname", $format_bold); + $worksheet->write(2, ++$i, "Vorname", $format_bold); + $worksheet->write(2, ++$i, "Stunden", $format_bold); + $worksheet->write(2, ++$i, "Kosten", $format_bold); $format = $format_normal; $formatnb = $format_number; - if($result = $db->db_query($qry)) + if ($result = $db->db_query($qry)) { - $zeile=3; - while($row = $db->db_fetch_object($result)) + $zeile = 3; + while ($row = $db->db_fetch_object($result)) { - $i=0; + $i = 0; //Studiensemester - $worksheet->write($zeile,++$i,$row->titelpre, $format); + $worksheet->write($zeile, ++$i, $row->titelpre, $format); //Vorname - $worksheet->write($zeile,++$i,$row->nachname, $format); + $worksheet->write($zeile, ++$i, $row->nachname, $format); //Nachname - $worksheet->write($zeile,++$i,$row->vorname, $format); + $worksheet->write($zeile, ++$i, $row->vorname, $format); //Stunden - $worksheet->writeNumber($zeile,++$i,$row->stunden, $formatnb); + $worksheet->writeNumber($zeile, ++$i, $row->stunden, $formatnb); //Kosten - $worksheet->writeNumber($zeile,++$i,$row->euro, $formatnb); + $worksheet->writeNumber($zeile, ++$i, $row->euro, $formatnb); $zeile++; $gesamtkosten = $gesamtkosten + $row->euro; } //Gesamtkosten anzeigen - $worksheet->writeNumber($zeile,5,$gesamtkosten, $format_number_bold); + $worksheet->writeNumber($zeile, 5, $gesamtkosten, $format_number_bold); } $workbook->close(); @@ -629,24 +726,22 @@ if($result_stg = $db->db_query($qry_stg)) //Mail versenden mit Excel File im Anhang $subject = "Lehrauftragsliste ".date('d.m.Y'); $message = "Dies ist eine automatische eMail!\n\nAnbei die Lehrauftragslisten vom ".date('d.m.Y'); - $message.= "\n\nJederzeit abrufbar unter ".APP_ROOT.'content/statistik/lehrauftragsliste_mail.xls.php'; - if($oe_kurzbz!='') - $message.="?oe_kurzbz=".$oe_kurzbz; + $message .= "\n\nJederzeit abrufbar unter ".APP_ROOT.'content/statistik/lehrauftragsliste_mail.xls.php'; + if ($oe_kurzbz != '') + $message .= "?oe_kurzbz=".$oe_kurzbz; $fileatttype = "application/xls"; $fileattname = "lehrauftragsliste_".date('Y_m_d').".xls"; $empfaenger = MAIL_GST; - if($oe_kurzbz=='lehrgang') + if ($oe_kurzbz == 'lehrgang') $empfaenger = MAIL_LG; - $mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message); - $mail->addAttachmentBinary($file, $fileatttype, $fileattname); + $mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message); + $mail->addAttachmentBinary($file, $fileatttype, $fileattname); - if($mail->send()) + if ($mail->send()) echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!'; - else - echo "Fehler beim Versenden der Lehrauftragsliste"; + else + echo "Fehler beim Versenden der Lehrauftragsliste"; } - -?> From 8dd860e7684df32f185bc03b0f13605803a915d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 11 Dec 2019 11:12:12 +0100 Subject: [PATCH 12/22] Faktor aus Lehrauftragsberechnung entfernt da dieser in Zukunft anderwertig verwendet wird --- content/lvplanung/lehrveranstaltungDBDML.php | 10 ++-------- .../lvplanung/lehrveranstaltungoverlay.js.php | 4 ++-- include/vertrag.class.php | 16 ++++++++-------- rdf/lehrauftrag.xml.php | 6 +++--- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php index 2b3090221..7039440cb 100644 --- a/content/lvplanung/lehrveranstaltungDBDML.php +++ b/content/lvplanung/lehrveranstaltungDBDML.php @@ -157,8 +157,6 @@ function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz, $oe_ar WHERE mitarbeiter_uid=".$db->db_add_param($mitarbeiter_uid)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND - faktor>0 AND - stundensatz>0 AND bismelden AND tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).") GROUP BY tbl_studiengang.bezeichnung"; @@ -305,12 +303,12 @@ if(!$error) $le = new lehreinheit(); $le->load($lem->lehreinheit_id); - if($lem->stundensatz<=0 || $lem->faktor<=0 || $lem->bismelden==false) + if($lem->bismelden==false) $neue_stunden_eingerechnet=false; else $neue_stunden_eingerechnet=true; - if(($stundensatz_alt<=0 || $faktor_alt<=0 || $bismelden_alt==false)) + if($bismelden_alt==false) $alte_stunden_eingerechnet=false; else $alte_stunden_eingerechnet=true; @@ -337,8 +335,6 @@ if(!$error) WHERE mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND - faktor>0 AND - stundensatz>0 AND bismelden"; if(count($oe_arr)>0) @@ -559,8 +555,6 @@ if(!$error) WHERE mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND - faktor>0 AND - stundensatz>0 AND bismelden"; if(count($oe_arr)>0) diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index 38091a33f..a2039666c 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -2545,8 +2545,8 @@ function LeMitarbeiterGesamtkosten() faktor = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').value stundensatz = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value - if(!isNaN(semesterstunden) && !isNaN(faktor) && !isNaN(stundensatz)) - gesamtkosten = semesterstunden*faktor*stundensatz; + if(!isNaN(semesterstunden) && !isNaN(stundensatz)) + gesamtkosten = semesterstunden*stundensatz; else gesamtkosten = 0; diff --git a/include/vertrag.class.php b/include/vertrag.class.php index 4116904ca..a1a0431fc 100644 --- a/include/vertrag.class.php +++ b/include/vertrag.class.php @@ -346,7 +346,7 @@ class vertrag extends basis_db mitarbeiter_uid, null as pruefung_id, null as projektarbeit_id, - (tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag, + (tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag, tbl_lehreinheit.studiensemester_kurzbz, null as betreuerart_kurzbz, ( SELECT @@ -370,7 +370,7 @@ class vertrag extends basis_db null as mitarbeiter_uid, null::integer as pruefung_id, projektarbeit_id, - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag, + (tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag, tbl_lehreinheit.studiensemester_kurzbz, tbl_projektbetreuer.betreuerart_kurzbz, (SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid) @@ -513,7 +513,7 @@ class vertrag extends basis_db mitarbeiter_uid, null as pruefung_id, null as projektarbeit_id, - (tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag, + (tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag, tbl_lehreinheit.studiensemester_kurzbz, null as betreuerart_kurzbz, ( SELECT @@ -529,7 +529,7 @@ class vertrag extends basis_db FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_vertrag USING (vertrag_id) + JOIN lehre.tbl_vertrag USING (vertrag_id) WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)." UNION @@ -539,7 +539,7 @@ class vertrag extends basis_db null as mitarbeiter_uid, null::integer as pruefung_id, projektarbeit_id, - (tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag, + (tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag, tbl_lehreinheit.studiensemester_kurzbz, tbl_projektbetreuer.betreuerart_kurzbz, (SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid) @@ -1041,7 +1041,7 @@ class vertrag extends basis_db $qry = " UPDATE lehre.tbl_lehreinheitmitarbeiter SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."; UPDATE lehre.tbl_projektbetreuer SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."; - INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon) + INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon) VALUES(". $this->db_qoute('storno'). ", ". $this->db_add_param($vertrag_id, FHC_INTEGER). ", ". @@ -1123,7 +1123,7 @@ class vertrag extends basis_db */ public function getFalscheBetraege($studiensemester_kurzbz) { - $qry = "SELECT * FROM + $qry = "SELECT * FROM ( SELECT tbl_vertrag.*, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.lehreinheit_id, @@ -1136,7 +1136,7 @@ class vertrag extends basis_db WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." )x - WHERE + WHERE x.semesterstunden * x.stundensatz != x.betrag"; if($result = $this->db_query($qry)) diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index 5b47c70a9..8d65f0a38 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -338,7 +338,7 @@ function drawLehrauftrag($uid) $stunden = $row->semesterstunden; $satz = $row->stundensatz; $faktor = $row->faktor; - $brutto = $row->semesterstunden * $row->stundensatz * $row->faktor; + $brutto = $row->semesterstunden * $row->stundensatz; $last_le = $row->lehreinheit_id; } array_unique($gruppen); @@ -404,7 +404,7 @@ function drawLehrauftrag($uid) $stg->load($row->studiengang_kz); $stg_kuerzel = $stg->kuerzel; - $brutto = $row->stunden * $row->stundensatz * $row->faktor; + $brutto = $row->stunden * $row->stundensatz; if ($row->stunden != 0) { switch ($row->projekttyp_kurzbz) @@ -444,7 +444,7 @@ function drawLehrauftrag($uid) - '. $lv_row['einzelgruppe']. ' + '. $lv_row['einzelgruppe']. ' From 8a809fd1f30a52379bf9feedd420bc59b1c1b8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 23 Jan 2020 08:30:51 +0100 Subject: [PATCH 13/22] =?UTF-8?q?Fehler=20behoben=20im=20Kollisionscheck?= =?UTF-8?q?=20beim=20Setzen=20von=20neuen=20Stunden=20mit=20direkten=20Gru?= =?UTF-8?q?ppen.=20Hier=20wurde=20f=C3=A4lschlicherweise=20eine=20Kollisio?= =?UTF-8?q?nsmeldung=20angezeigt=20obwohl=20laut=20Raumvorschlag=20eine=20?= =?UTF-8?q?Zuordnung=20m=C3=B6glich=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/lehreinheit.class.php | 38 ++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php index c6c1c0228..3d754d7ec 100644 --- a/include/lehreinheit.class.php +++ b/include/lehreinheit.class.php @@ -532,20 +532,34 @@ class lehreinheit extends basis_db for($anz=0;$anzstudiengang_kz);$anz++) { - $sql_query.=" OR ((studiengang_kz=".$this->db_add_param($this->studiengang_kz[$anz])." AND semester=".$this->db_add_param($this->semester[$anz]).")"; + // Direkte Gruppen kollidieren nicht + $direktgruppe = false; + if($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ') + { + $grp_obj = new gruppe(); + $grp_obj->load($this->gruppe_kurzbz[$anz]); + if($grp_obj->direktinskription) + { + $direktgruppe = true; + } + } + if(!$direktgruppe) + { + $sql_query.=" OR ((studiengang_kz=".$this->db_add_param($this->studiengang_kz[$anz])." AND semester=".$this->db_add_param($this->semester[$anz]).")"; - if ($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ') - { - $sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz[$anz]).")"; + if ($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ') + { + $sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz[$anz]).")"; + } + else + { + if ($this->verband[$anz]!=null && $this->verband[$anz]!='' && $this->verband[$anz]!=' ') + $sql_query.=" AND (verband=".$this->db_add_param($this->verband[$anz])." OR verband IS NULL OR verband='' OR verband=' ')"; + if ($this->gruppe[$anz]!=null && $this->gruppe[$anz]!='' && $this->gruppe[$anz]!=' ') + $sql_query.=" AND (gruppe=".$this->db_add_param($this->gruppe[$anz])." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')"; + } + $sql_query.=')'; } - else - { - if ($this->verband[$anz]!=null && $this->verband[$anz]!='' && $this->verband[$anz]!=' ') - $sql_query.=" AND (verband=".$this->db_add_param($this->verband[$anz])." OR verband IS NULL OR verband='' OR verband=' ')"; - if ($this->gruppe[$anz]!=null && $this->gruppe[$anz]!='' && $this->gruppe[$anz]!=' ') - $sql_query.=" AND (gruppe=".$this->db_add_param($this->gruppe[$anz])." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')"; - } - $sql_query.=')'; } $sql_query.=")"; From 350f252ba7948f28e159156ea48ae4a0fe66d934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 24 Jan 2020 08:59:43 +0100 Subject: [PATCH 14/22] =?UTF-8?q?Semester=20f=C3=BCr=20Lehreinheitenvorr?= =?UTF-8?q?=C3=BCckung=20auf=2010=20erh=C3=B6ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/lehreinheiten_vorrueckung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vilesci/lehre/lehreinheiten_vorrueckung.php b/vilesci/lehre/lehreinheiten_vorrueckung.php index 8e09dd312..af12376ae 100644 --- a/vilesci/lehre/lehreinheiten_vorrueckung.php +++ b/vilesci/lehre/lehreinheiten_vorrueckung.php @@ -104,7 +104,7 @@ echo ''; echo ' Semester: "; - echo " - - - "; - - echo ""; - if (!$uebung_obj->beispiele) - echo ""; - else - { - foreach($beispiel_obj->beispiele as $row) - { - echo ""; - } - } - echo "\n"; - - if($result = $db->db_query($qry_stud)) - { - while($row_stud = $db->db_fetch_object($result)) - { - - $filename = ''; - $su_obj = new uebung($uebung_id); - $su_obj->load_studentuebung($row_stud->uid, $uebung_id); - if ($su_obj->abgabe_id) - { - $su_obj->load_abgabe($su_obj->abgabe_id); - $filename = $su_obj->abgabedatei; - } - else - $filename=''; - - echo " - "; - if (!$uebung_obj->beispiele) - { - $studentuebung_obj = new uebung(); - $studentuebung_obj->load_studentuebung($row_stud->uid,$uebung_id); - echo "\n"; - - } - else - { - foreach($beispiel_obj->beispiele as $row_bsp) - { - $studentbeispiel_obj = new beispiel(); - $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); - echo "\n"; - } - } - echo ""; - - if ($filename != "") - echo "\n"; - else if ($uebung_obj->abgabe) - echo ""; - else - echo ""; - echo "\n"; - } - } - - echo '
- - - - - - -
$lehrveranstaltung_obj->semester.Semester$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez - $gruppen".date('d.m.Y')."
-
NameNote$row->bezeichnungUnterschrift
 $row_stud->nachname $row_stud->vorname $row_stud->uiduid');\" value='".$studentuebung_obj->note."' size='3'>uid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'P':'')." AbgabeFehlt!
'; - echo "

"; - echo '' - ?> - - -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/phrasen.class.php'); - -if (!$db = new basis_db()) - die('Fehler beim Herstellen der Datenbankverbindung'); - -$sprache = getSprache(); -$p = new phrasen($sprache); -?> - - - - - -<?php echo $p->t('benotungstool/benotungstool');?> - - - - -t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$show_excel_link = false; -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Kopfzeile -echo ''; -echo '
'; -echo '

 '.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} - -if($result = $db->db_query($qry)) -{ - if($db->db_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit').": '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo '
'; -echo ''; -echo ''; -echo " -
 \n"; -echo "".$lv_obj->bezeichnung_arr[$sprache]."
"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/keinePassendeLehreinheitGefunden')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
- Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -echo "

".$p->t('benotungstool/anwesenheitstabelle')."

"; - -/* -$uebung_obj = new uebung(); -$uebung_obj->load_uebung($lehreinheit_id); -if(count($uebung_obj->uebungen)>0) -{ - echo " - -
"; - echo "Wählen Sie bitte eine Kreuzerlliste aus: '; - echo " - - - - - - - - - -
+...Kreuzerlliste ist freigeschalten.
-...Kreuzerlliste ist nicht freigeschalten.
-
"; -} -else - die("Derzeit gibt es keine Uebungen"); -*/ - - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; - - echo " -
"; - echo "
".$p->t('benotungstool/waehlenSieEineAufgabeAus').": '; - - echo '
- - - - - - - - - -
+...".$p->t('benotungstool/freigeschaltet').".
-...".$p->t('benotungstool/nichtFreigeschaltet').".
-
"; - } - else - die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt')); - -$uebung_obj = new uebung(); -$uebung_obj->load($uebung_id); -echo "

$uebung_obj->bezeichnung

"; - -echo '
'; -echo "'; -echo "
"; - -?> -
- - diff --git a/cis/private/lehre/benotungstool/copy_uebung.php b/cis/private/lehre/benotungstool/copy_uebung.php deleted file mode 100644 index 855b106ed..000000000 --- a/cis/private/lehre/benotungstool/copy_uebung.php +++ /dev/null @@ -1,874 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit - * (zB fuer die Uebernahme der Uebungen aus dem Vorjahr) - */ - require_once('../../../../config/cis.config.inc.php'); -// ------------------------------------------------------------------------------------------ -// Datenbankanbindung -// ------------------------------------------------------------------------------------------ - require_once('../../../../include/basis_db.class.php'); - if (!$db = new basis_db()) - die('Fehler beim Herstellen der Datenbankverbindung'); - -// ---------------- Standart Include Dateien einbinden - require_once('../../../../include/studiengang.class.php'); - require_once('../../../../include/studiensemester.class.php'); - require_once('../../../../include/lehrveranstaltung.class.php'); - require_once('../../../../include/lehreinheit.class.php'); - require_once('../../../../include/lehreinheitgruppe.class.php'); - require_once('../../../../include/lehreinheitmitarbeiter.class.php'); - - - require_once('../../../../include/functions.inc.php'); - require_once('../../../../include/benutzerberechtigung.class.php'); - require_once('../../../../include/uebung.class.php'); - require_once('../../../../include/beispiel.class.php'); - require_once('../../../../include/datum.class.php'); - - -// *********************************************************************************************** -// Datenbankverbindungen zu Classen -// *********************************************************************************************** - - if (!$le_obj = new lehreinheit()) - die('Fehler beim Oeffnen der Lehreinheit'); - - if (!$legrp_obj = new lehreinheitgruppe()) - die('Fehler beim Oeffnen der Lehreinheitgruppe'); - - if (!$lv_obj = new lehrveranstaltung()) - die('Fehler beim Oeffnen der Lehrveranstaltung'); - - if (!$stg_obj = new studiengang()) - die('Fehler beim Oeffnen der Studiengänge'); - - if (!$stsem = new studiensemester()) - die('Fehler beim Oeffnen der Studiensemester'); - // @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter - if (!$stsem_aktuell = $stsem->getakt()) - $stsem_aktuell = $stsem->getaktorNext(); - - -##echo "
GET
"; -#var_dump($_GET); -#echo "
POST
"; -#var_dump($_POST); - -$errormsg=array(); -$error=0; - -$user = get_uid(); -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('admin')) - die('Sie haben keine Rechte für diese Seite'); - -// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx - $studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?trim($_GET['studiensemester_kurzbz']):$stsem_aktuell); -// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit - $lehrveranstaltung_id=(isset($_GET['lvid'])?trim($_GET['lvid']):(isset($_GET['lehrveranstaltung_id'])?trim($_GET['lehrveranstaltung_id']):'')); -// @$studiengang_kz Studiengang - $studiengang_kz=(isset($_GET['studiengang_kz'])?trim($_GET['studiengang_kz']):227); -// @$semester Semester des Studienganges - $semester=(isset($_GET['semester'])?trim($_GET['semester']):1); -// @$lehreinheit_id Lehreinheit - $lehreinheit_id=(isset($_GET['leid'])?trim($_GET['leid']):(isset($_GET['lehreinheit_id'])?trim($_GET['lehreinheit_id']):'')); - - - $uebung_id_source=(isset($_GET['uebung_id_source'])?$_GET['uebung_id_source']:(isset($_GET['uebung_id'])?trim($_GET['uebung_id']):'')); - -// ------------- Target -// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx - $studiensemester_kurzbz_target=(isset($_GET['studiensemester_kurzbz_target'])?trim($_GET['studiensemester_kurzbz_target']):$stsem_aktuell); -// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit - $lehrveranstaltung_id_target=(isset($_GET['lvid_target'])?trim($_GET['lvid_target']):(isset($_GET['lehrveranstaltung_id_target'])?trim($_GET['lehrveranstaltung_id_target']):'')); -// @$studiengang_kz Studiengang - $studiengang_kz_target=(isset($_GET['studiengang_kz_target'])?trim($_GET['studiengang_kz_target']):227); -// @$semester Semester des Studienganges - $semester_target=(isset($_GET['semester_target'])?trim($_GET['semester_target']):$semester); -// @$lehreinheit_id_target Lehreinheit - $lehreinheit_id_target=(isset($_GET['lehreinheit_id_target'])?trim($_GET['lehreinheit_id_target']):''); -// @$lehreinheit_id_sel Lehreinheit - $lehreinheit_id_sel=(isset($_GET['lehreinheit_id_sel'])?trim($_GET['lehreinheit_id_sel']):''); -// @$lehreinheit_id_sel Lehreinheit - $uebung_id_sel=(isset($_GET['uebung_id_sel'])?trim($_GET['uebung_id_sel']):''); - -if ($uebung_id_sel!='' && !is_array($uebung_id_sel)) - $uebung_id_sel=array($uebung_id_sel); - -if ($uebung_id_source!='' && !is_array($uebung_id_source)) - $uebung_id_source=array($uebung_id_source); - -#var_dump($uebung_id_source); - -if (!empty($lehreinheit_id_sel)) -{ - - - if ($le_obj->load($lehreinheit_id_sel)) - { - $studiensemester_kurzbz=$le_obj->studiensemester_kurzbz; - $lehrveranstaltung_id=$le_obj->lehrveranstaltung_id; - $lehreinheit_id=$lehreinheit_id_sel; - if ($lv_obj->load($lehrveranstaltung_id)) - { - $studiengang_kz=$lv_obj->studiengang_kz; - $semester=$lv_obj->semester; - } - else - { - $errormsg[]='Lehrveranstaltung '.$lehrveranstaltung_id.' wurden nicht gefunden! '.$lv_obj->errormsg; - } - } - else - { - $errormsg[]='Lehreinheit '.$lehreinheit_id_sel.' wurden nicht gefunden! '.$le_obj->errormsg; - } -} -else if(!isset($_GET['kopieren']) && $uebung_id_source=='' && $uebung_id_sel!='' ) -{ -#var_dump($uebung_id_sel); - $uebung_id_source=$uebung_id_sel; -} - -#var_dump($uebung_id_source); - -// Es wurde nur eine Uebungsid uebergeben, und noch keine Aktion gedrueckt -if(!isset($_GET['kopieren']) && $uebung_id_source!='') -{ - if (!is_array($uebung_id_source) && !empty($uebung_id_source)) - $uebung_id_source=array($uebung_id_source); - - $ueb_0 = new uebung($uebung_id_source[0]); -#var_dump($ueb_0); - if ($lehreinheit_id=$ueb_0->lehreinheit_id) - { - if ($le_obj->load($lehreinheit_id)) - { - $lehrveranstaltung_id = $le_obj->lehrveranstaltung_id; - $studiensemester_kurzbz = $le_obj->studiensemester_kurzbz; - // @$lehrveranstaltung_id Lehrveranstaltung - if ($lehrveranstaltung_id) - { - if ($lv_obj->load($lehrveranstaltung_id)) - { - $studiengang_kz = $lv_obj->studiengang_kz; - $semester = $lv_obj->semester; - } - else - { - $bAnzeige=false; - $errormsg[]='Lehrveranstaltung wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$lv_obj->errormsg; - } - } - } - else - { - $bAnzeige=false; - $errormsg[]='Lehreinheit wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$le_obj->errormsg; - } - } - else - { - $errormsg[]='Übung wurde nicht gefunden '.addslashes($uebung_id_source).' '.$ueb_0->errormsg; - } -} - -// Aktion wurde gedruckt -if(isset($_GET['kopieren'])) -{ - if (!is_array($uebung_id_source) && !empty($uebung_id_source) ) - $uebung_id_source=array($uebung_id_source); - if (!is_array($uebung_id_source) || count($uebung_id_source)<1 ) - { - $error=true; - $errormsg[]="Übung muss ausgewählt sein!"; - } - - if (!is_numeric($lehreinheit_id_target)) - { - $error=true; - $errormsg[]="Lehreinheit muss ausgewählt sein!"; - } - - if (!$error) - { - $db->db_query('BEGIN;'); - - reset($uebung_id_source); - foreach ($uebung_id_source as $ueb) - { - $copy_insert = 0; - $copy_update = 0; - $copy_insert_bsp = 0; - $copy_update_bsp = 0; - $error=false; - - - $ueb_1 = new uebung($ueb); - $lehreinheit_id_unterord=$ueb_1->lehreinheit_id; - $nummer_source = $ueb_1->nummer; - $qry = "SELECT * from campus.tbl_uebung where nummer = ".myaddslashes($nummer_source)." and lehreinheit_id = ".myaddslashes($lehreinheit_id_target).";"; - //echo $qry; - if($result1 = $db->db_query($qry)) - { - if ($db->db_num_rows($result1) >0) - { - $row1 = $db->db_fetch_object($result1); - $ueb_1_target =new uebung($row1->uebung_id); - $ueb_1_target->new = false; - $new = null; - $ueb_1_target->insertamum = null; - $ueb_1_target->insertvon = null; - $ueb_1_target->updateamum = date('Y-m-d H:i:s'); - $ueb_1_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_1_target =new uebung(); - $ueb_1_target->new = true; - $new = true; - $ueb_1_target->insertamum = date('Y-m-d H:i:s'); - $ueb_1_target->insertvon = $user; - $ueb_1_target->updateamum = null; - $ueb_1_target->updatevon = null; - $copy_insert++; - } - $ueb_1_target->gewicht = $ueb_1->gewicht; - $ueb_1_target->punkte = null; - $ueb_1_target->angabedatei=null; - $ueb_1_target->freigabevon = null; - $ueb_1_target->freigabebis = null; - $ueb_1_target->abgabe = false; - $ueb_1_target->beispiele = false; - $ueb_1_target->statistik = false; - $ueb_1_target->maxstd = null; - $ueb_1_target->maxbsp=null; - $ueb_1_target->liste_id=null; - $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; - $ueb_1_target->positiv = $ueb_1->positiv; - $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; - $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_1_target->nummer = $nummer_source; - - if (!$ueb_1_target->save($new)) - { - $error = 1; - $errormsg[]="Hauptübung konnte nicht kopiert werden!"; - } - - else - { - // Subübungen durchlaufen - $ueb_2 = new uebung(); - $ueb_2->load_uebung($lehreinheit_id_unterord,2,$ueb); - - $ueb_2anzahl = count($ueb_2->uebungen); - if ($ueb_2anzahl >0) - { - foreach ($ueb_2->uebungen as $subrow) - { - - $nummer_source2 = $subrow->nummer; - $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; - $result2 = $db->db_query($qry2); - if ($db->db_num_rows($result2) >0) - { - $row2 = $db->db_fetch_object($result2); - $ueb_2_target =new uebung($row2->uebung_id); - $ueb_2_target->new = false; - $new = null; - $ueb_2_target->insertamum = null; - $ueb_2_target->insertvon = null; - $ueb_2_target->updateamum = date('Y-m-d H:i:s'); - $ueb_2_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_2_target =new uebung(); - $ueb_2_target->new = true; - $new = true; - $ueb_2_target->insertamum = date('Y-m-d H:i:s'); - $ueb_2_target->insertvon = $user; - $ueb_2_target->updateamum = null; - $ueb_2_target->updatevon = null; - $copy_insert++; - } - $ueb_2_target->gewicht = $subrow->gewicht; - $ueb_2_target->punkte = $subrow->punkte; - $ueb_2_target->angabedatei=null; - $ueb_2_target->freigabevon = $subrow->freigabevon; - $ueb_2_target->freigabebis = $subrow->freigabebis; - $ueb_2_target->abgabe = $subrow->abgabe; - $ueb_2_target->beispiele = $subrow->beispiele; - $ueb_2_target->statistik = $subrow->statistik; - $ueb_2_target->maxstd = $subrow->maxstd; - $ueb_2_target->maxbsp=$subrow->maxbsp; - $ueb_2_target->liste_id=$ueb_1_target->uebung_id; - $ueb_2_target->bezeichnung = $subrow->bezeichnung; - $ueb_2_target->positiv = $subrow->positiv; - $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; - $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_2_target->nummer = $nummer_source2; - - if (!$ueb_2_target->save($new)) - { - $error = 1; - $errormsg[]="Übung konnte nicht kopiert werden!"; - } - - //angabedatei syncen - if (($error == 0) and $subrow->angabedatei != "") - { - $angabedatei_source = $subrow->angabedatei; - $angabedatei_target = makeUploadName($db,'angabe', $lehreinheit_id_target, $ueb_2_target->uebung_id, $stsem); - $angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.',0) + 1); - echo $angabedatei_source."->".$angabedatei_target."
"; - exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); - $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; - $db->db_query($angabeupdate); - } - - if (($error == 0) and $ueb_2_target->beispiele) - { - // beispiele synchronisieren - $bsp_obj = new beispiel(); - $bsp_obj->load_beispiel($subrow->uebung_id); - foreach ($bsp_obj->beispiele as $bsp) - { - $nummer_source_bsp = $bsp->nummer; - $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; - $resultbsp = $db->db_query($qrybsp); - - if ($db->db_num_rows($resultbsp) >0) - { - $rowbsp = $db->db_fetch_object($resultbsp); - $bsp_target =new beispiel($rowbsp->beispiel_id); - $bsp_target->new = false; - $new = null; - $bsp_target->insertamum = null; - $bsp_target->insertvon = null; - $bsp_target->updateamum = date('Y-m-d H:i:s'); - $bsp_target->updatevon = $user; - $copy_update_bsp++; - } - else - { - $bsp_target =new beispiel(); - $bsp_target->new = true; - $new = true; - $bsp_target->insertamum = date('Y-m-d H:i:s'); - $bsp_target->insertvon = $user; - $bsp_target->updateamum = null; - $bsp_target->updatevon = null; - $copy_insert_bsp++; - } - $bsp_target->uebung_id = $ueb_2_target->uebung_id; - $bsp_target->nummer = $nummer_source_bsp; - $bsp_target->bezeichnung = $bsp->bezeichnung; - $bsp_target->punkte = $bsp->punkte; - - if (!$bsp_target->save($new)) - { - $error = 1; - $errormsg[]="Beispiele konnten nicht angelegt werden"; - } - - //Notenschlüssel synchronisieren - $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; - $db->db_query($clear); - - $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb."'"; - $result_ns_source = $db->db_query($qry_ns_source); - while($row_ns = $db->db_fetch_object($result_ns_source)) - { - $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; - $db->db_query($ns_insert); - } - - } - } - - } - } - } - - } - else - { - $errormsg[]="Fehler beim Datenbankzugriff!"; - } - - if ($error == 0) - { - $errormsg[]="Übung ".$ueb." erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; - } - else - { - $errormsg[]="Übung ".$ueb." wurde nicht kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; - break; - } - } - } - // Nun alle An Felder - Lehreinheit zum Von kopieren (neue Anzeige) - if ($error == 0) - { - $db->db_query('COMMIT'); - } - else - { - $db->db_query('ROLLBACK'); - } - $errormsg[]='

noch eine Übung kopieren'; - } - - - // *********************************************************************************************** - // Datenbankfeld - Variable - // *********************************************************************************************** - function myaddslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - -?> - - - - - -Kreuzerltool - Copy - - - Kopieren von Übungen in eine andere Lehreinheit -
- Direkt Eingabe : LE ID: ,  - Übung ID:  oder

- - - - - - - - - - - - - -'; - //--------------------------------------------------------------------------- - // Auswahlfelder - $content.=''; - - // Studiensemester public.tbl_studiensemester_kurzbz - $content.=''; - - //--------------------------------------------------------------------------- - // Studiengang public.tbl_studiengang_kz - $content.=''; - - //--------------------------------------------------------------------------- - // Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs - $content.=''; - - //--------------------------------------------------------------------------- - // Lehrveranstaltungen - $content.=''; - //--------------------------------------------------------------------------- - // Lehreinheit - $content.=''; - -#var_dump($uebung_id_source); - - $submitOK=false; - if (!$ueb = new uebung()) - { - die('Fehler beim Oeffnen der Übungen'); - } - else - { - $ueb->uebungen=array(); - $ueb->errormsg =''; - if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id)) - { - $errormsg[]=$ueb->errormsg; - } - } - - $content.=''; - - $content.=' - - - '; - - if ($submitOK) - $content.=''; - else - $content.=''; - - $content.=' - - '; - - $content.=' - - '; - - $content.=''; - - //--------------------------------------------------------------------------- - // Studiengang public.tbl_studiengang_kz - $content.=''; - - - //--------------------------------------------------------------------------- - // Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs - // document.'.$cFormName.'.uebung_id_source_target.value=\'\'; - // $content.=''; - - -##echo "
$studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target
"; - - //--------------------------------------------------------------------------- - // Lehrveranstaltungen - $content.=''; - -#echo "
$studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target
"; - - //--------------------------------------------------------------------------- - // Lehreinheit - - - $content.=''; - - $content.=''; - $content.=''; - $content.='
StudiensemStgKzSemLehrveranstaltungLehreinheitenÜbungID die kopiert werden soll:
-

Lehreinheit ID in welche diese Übung kopiert werden soll
Lehreinheit ID in welche diese Übung kopiert werden soll
 
- '; - - -#echo "
$studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target
"; - - if (!$ueb = new uebung()) - { - die('Fehler beim Oeffnen der Übungen'); - } - else if (!empty($lehreinheit_id_target)) - { - $ueb->uebungen=array(); - $ueb->errormsg =''; - if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id_target)) - { - $errormsg[]=$ueb->errormsg; - } - else if (count($ueb->uebungen)) - { - $content.=''; - } - else if (!empty($lehreinheit_id_target)) - { - $content.='keine Übungen vorhanden'; - } - } - $content.='
'; - - $content.='

'.implode('
',$errormsg); - - print_r($content); - - ?> - - \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/functions.inc.php b/cis/private/lehre/benotungstool/functions.inc.php deleted file mode 100644 index 2e42e33f0..000000000 --- a/cis/private/lehre/benotungstool/functions.inc.php +++ /dev/null @@ -1,31 +0,0 @@ -db_add_param($lehreinheit_id, FHC_INTEGER); - $result = $db->db_query($query); - $row = $db->db_fetch_object($result); - $name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss; - - if ($which == "angabe") - { - $name .= "_".$uebung_id; - } - else if ($which == "abgabe") - { - $query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid); - $result = $db->db_query($query); - $row = $db->db_fetch_object($result); - $name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date; - } - else if ($which == "zip") - { - - $name .= "_".$uebung_id."_".$date; - } - $name = str_replace(":","-",$name); - return $name; -} -?> diff --git a/cis/private/lehre/benotungstool/legesamtnoteeintragen.php b/cis/private/lehre/benotungstool/legesamtnoteeintragen.php deleted file mode 100644 index 7dbfdef52..000000000 --- a/cis/private/lehre/benotungstool/legesamtnoteeintragen.php +++ /dev/null @@ -1,129 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/lvgesamtnote.class.php'); -require_once('../../../../include/zeugnisnote.class.php'); - -$user = get_uid(); - -if(!check_lektor($user)) - die('Sie haben keine Berechtigung fuer diesen Bereich'); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); - -//Kopfzeile - - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - - - - -if($lehreinheit_id=='') - die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); - -$note = $_REQUEST["note"]; - -// lvgesamtnote für studenten speichern - -if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0) && ($note < 6)) || ($note == 7) || ($note==8) || ($note==16)) ){ - - $jetzt = date("Y-m-d H:i:s"); - $student_uid = $_REQUEST["student_uid"]; - $legesamtnote = new legesamtnote($lehreinheit_id); - if (!$legesamtnote->load($student_uid,$lehreinheit_id)) - { - $legesamtnote->student_uid = $student_uid; - $legesamtnote->lehreinheit_id = $lehreinheit_id; - $legesamtnote->note = $_REQUEST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = null; - $legesamtnote->updatevon = null; - $legesamtnote->insertamum = $jetzt; - $legesamtnote->insertvon = $user; - $legesamtnote->new = true; - $response = "neu"; - } - else - { - $legesamtnote->note = $_REQUEST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = $jetzt; - $legesamtnote->updatevon = $user; - $legesamtnote->new = false; - $response = "update"; - } - if (!$legesamtnote->save()) - echo "".$legesamtnote->errormsg.""; - else - echo $response; -} -else - echo "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!"; - - -?> diff --git a/cis/private/lehre/benotungstool/legesamtnoteverwalten.php b/cis/private/lehre/benotungstool/legesamtnoteverwalten.php deleted file mode 100644 index e7e886bc9..000000000 --- a/cis/private/lehre/benotungstool/legesamtnoteverwalten.php +++ /dev/null @@ -1,488 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); -if (!$db = new basis_db()) - die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); - -$user = get_uid(); -if(!check_lektor($user)) - die($p->t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -if($stsem!='' && !check_stsem($stsem)) - die($p->t('global/studiensemesterKonnteNichtGefundenWerden')); - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); -?> - - - - - -Kreuzerltool - - - - -'; -echo ' '; -echo '

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); - -} -if($result = $db->db_query($qry)) -{ - if($db->db_num_rows($result)>0) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit')." : '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo ''; - -echo ''; -echo ''; -echo " -
 \n"; -echo "".$lv_obj->bezeichnung_arr[$sprache]."
"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/keinePassendeLehreinheitGefunden')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
 Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -// legesamtnote für studenten speichern -if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){ - - $jetzt = date("Y-m-d H:i:s"); - $student_uid = $_POST["student_uid"]; - $legesamtnote = new legesamtnote($lehreinheit_id); - if (!$legesamtnote->load($student_uid,$lehreinheit_id)) - { - $legesamtnote->student_uid = $student_uid; - $legesamtnote->lehreinheit_id = $lehreinheit_id; - $legesamtnote->note = $_POST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = null; - $legesamtnote->updatevon = null; - $legesamtnote->insertamum = $jetzt; - $legesamtnote->insertvon = $user; - $legesamtnote->new = true; - } - else - { - $legesamtnote->note = $_POST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = $jetzt; - $legesamtnote->updatevon = $user; - } - if (!$legesamtnote->save()) - echo "".$legesamtnote->errormsg.""; -} - -echo "

".$p->t('benotungstool/leGesamtnotenVerwalten')."

"; -echo $p->t('benotungstool/noten'); - - -//Studentenliste -echo " - -"; - - echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "; -/* - if($row_grp->gruppe_kurzbz!='') - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; - } - else - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung - WHERE studiengang_kz='$row_grp->studiengang_kz' AND - semester='$row_grp->semester' ". - ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). - ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). - " ORDER BY nachname, vorname"; - } -*/ - -// studentenquery -$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; - -if($result_stud = $db->db_query($qry_stud)) -{ - $i=1; - while($row_stud = $db->db_fetch_object($result_stud)) - { - $studentnote = new studentnote(); - $studentnote->calc_gesamtnote($lehreinheit_id,$stsem,$row_stud->uid); - //echo $studentnote->debug; - $legesamtnote = new legesamtnote($lehreinheit_id); - if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id)) - { - $note = null; - } - else - { - $note = $legesamtnote->note; - } - - if ($studentnote->studentgesamtnote!=0) - $note_calc = round($studentnote->studentgesamtnote,2); - else - $note_calc = null; - echo " - - - - "; - echo ""; - echo ""; - echo ""; - if ($note) - $note_final = $note; - else - { - if ($studentnote->negativ) - $note_final = 5; - else - { - $note_final = round($studentnote->studentgesamtnote); - if ($note_final == 0) - $note_final = null; - } - } - echo ""; - if ($note == 5) - $negmarkier = " style='color:red; font-weight:bold;'"; - else - $negmarkier = ""; - echo ""; - echo ""; - $i++; - } -} -echo "
        
".$p->t('global/uid')."".$p->t('global/nachname')."".$p->t('global/vorname')."".$p->t('benotungstool/gesamtnote')." ".$p->t('benotungstool/leGesamtnote')."
        
$row_grp->gruppe_kurzbz
Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
$row_stud->uid$row_stud->nachname$row_stud->vorname$note_calc"; - if ($studentnote->negativ) - echo "neg"; - echo ""; - if ($studentnote->fehlt) - echo "X"; - else - echo "ok"; - echo "
$note
"; - -?> -
- - diff --git a/cis/private/lehre/benotungstool/menue.inc.php b/cis/private/lehre/benotungstool/menue.inc.php deleted file mode 100644 index 3c580b07a..000000000 --- a/cis/private/lehre/benotungstool/menue.inc.php +++ /dev/null @@ -1,63 +0,0 @@ -\n"; -echo ""; -echo "
\n"; -echo "\n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo " \n"; -echo "
".$p->t('benotungstool/uebungen')."".$p->t('benotungstool/benotung')."".$p->t('benotungstool/anwesenheitstabelle')."".$p->t('benotungstool/statistik')."
"; - -if ($pfile == "verwaltung.php") - echo "".$p->t('benotungstool/uebersicht').""; -else if ($pfile == "verwaltung_listen.php") -{ - echo "".$p->t('benotungstool/uebersicht')." \n"; - if (isset($_GET["liste_id"]) && !isset($_GET["uebung_id"])) - echo " | ".$p->t('benotungstool/uebung')." \n"; - if (isset($_GET["liste_id"]) && isset($_GET["uebung_id"])) - echo " | ".$p->t('benotungstool/uebung')." | ".$p->t('benotungstool/liste')." \n"; -} - -if ($pfile == "studentenpunkteverwalten.php" && (!isset($_GET["uid"]) || $_GET["uid"]=="")) - echo "".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/uebersicht')." | ".$p->t('benotungstool/leNotenVerwalten')." | ".$p->t('benotungstool/lvNotenVerwalten').""; -else if ($pfile == "studentenpunkteverwalten.php") - echo "".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/detail')." / ".$p->t('benotungstool/uebersicht')." | ".$p->t('benotungstool/leNotenVerwalten')." | ".$p->t('benotungstool/lvNotenVerwalten').""; - -else if ($pfile == "legesamtnoteverwalten.php") - echo "".$p->t('benotungstool/uebungsnotenVerwalten')." | ".$p->t('benotungstool/leNotenVerwalten')." | ".$p->t('benotungstool/lvNotenVerwalten').""; -else if ($pfile == "lvgesamtnoteverwalten.php") - echo "".$p->t('benotungstool/uebungsnotenVerwalten')." | ".$p->t('benotungstool/leNotenVerwalten')." | ".$p->t('benotungstool/lvNotenVerwalten').""; - -if ($pfile == 'anwesenheitstabelle.php') - echo " "; -if ($pfile == 'statistik.php') - echo " "; - -echo "
\n"; -echo "
\n\n"; -?> diff --git a/cis/private/lehre/benotungstool/statistik.php b/cis/private/lehre/benotungstool/statistik.php deleted file mode 100644 index a2ce600b9..000000000 --- a/cis/private/lehre/benotungstool/statistik.php +++ /dev/null @@ -1,398 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/phrasen.class.php'); - -if (!$db = new basis_db()) - die('Fehler beim Herstellen der Datenbankverbindung'); - -$sprache = getSprache(); -$p = new phrasen($sprache); - -?> - - - - - -<?php echo $p->t('benotungstool/kreuzerltool');?> - - - - -t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Kopfzeile -echo ''; -echo '
'; -echo '

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); - -} - -if($result = $db->db_query($qry)) -{ - if($db->db_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit').": '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo '
'; -echo ''; -echo ''; -echo " -
 \n"; -echo "".$lv_obj->bezeichnung_arr[$sprache]."
"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/keinePassendeLehreinheitGefunden')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
- Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -echo "

".$p->t('benotungstool/statistikFuerKreuzerllisten')."

"; -$uebung_obj = new uebung(); -$uebung_obj->load_uebung($lehreinheit_id,1); -if(count($uebung_obj->uebungen)>0) -{ - echo "'; - - echo " -
"; - echo "
".$p->t('benotungstool/waehlenSieEineKreuzerlliste').": '; - - echo '
- - - - - - - - - -
+...".$p->t('benotungstool/freigeschaltet').".
-...".$p->t('benotungstool/nichtFreigeschaltet').".
-
"; -} -else - die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt')); - - -echo "


"; -if(isset($uebung_id) && $uebung_id!='') -{ - $beispiel_obj = new beispiel(); - if($beispiel_obj->load_beispiel($uebung_id)) - { - if(count($beispiel_obj->beispiele)>0) - { - echo ' - - - - '; - $i=0; - $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." GROUP BY student_uid"; - if($result_cnt = $db->db_query($qry_cnt)) - $gesamt=$db->db_num_rows($result_cnt); - - foreach ($beispiel_obj->beispiele as $row) - { - $i++; - $solved = 0; - $psolved = 0; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$db->db_add_param($row->beispiel_id, FHC_INTEGER)." AND vorbereitet=true"; - if($result_cnt = $db->db_query($qry_cnt)) - if($row_cnt = $db->db_fetch_object($result_cnt)) - $solved = $row_cnt->anzahl; - - if($solved>0) - $psolved = $solved/$gesamt*100; - - echo ' - - - '; - } - echo "
  - - - - -
 
-
- '.$row->bezeichnung.' - - - - - -
- - - - -
- -  '.$solved.' ['.number_format($psolved,1,'.','').'%] -
-
-
"; - echo "

Es haben insgesamt $gesamt Studenten eingetragen."; - } - } - else - echo "$beispiel_obj->errormsg"; -} - -?> -
- - diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php deleted file mode 100644 index d13f24aa0..000000000 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ /dev/null @@ -1,1173 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -// ******************** -// * Studentenansicht fuers Kreuzerltool -// ******************** - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/lvgesamtnote.class.php'); -require_once('../../../../include/zeugnisnote.class.php'); -require_once('../../../../include/phrasen.class.php'); -include('functions.inc.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); - -if (!$db = new basis_db()) - die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); -$user = get_uid(); - -$lektorenansicht = 0; - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; -$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid - -if(check_lektor($user) && (isset($_GET['uid']) && $_GET["uid"] != "")) -{ - $rights = new benutzerberechtigung(); - $rights->getBerechtigungen($user); - $lehreinheit=new lehreinheit($_GET["lehreinheit_id"]); - if(!check_lektor_lehrveranstaltung($user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0)) - die($p->t('global/keineBerechtigungFuerDieseSeite')); - $lektorenansicht = 1; - $user = $_GET["uid"]; -} - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Abgabedatei ausliefern -if (isset($_GET["download_abgabe"])) -{ - $file=$_GET["download_abgabe"]; - $file = preg_replace('/[^A-Za-z0-9\-_.]/', '',$file); - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung(); - if($ueb->load_studentuebung($user, $uebung_id)) - { - if($ueb->load_abgabe($ueb->abgabe_id)) - { - $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; - } - else - { - die($ueb->errormsg); - } - } - else - die($ueb->errormsg); -} - -//Angabedatei ausliefern -if (isset($_GET["download"])){ - $file=$_GET["download"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung(); - $ueb->load($uebung_id); - $filename = BENOTUNGSTOOL_PATH."angabe/".$ueb->angabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -?> - - - - - - -<?php echo $p->t('benotungstool/kreuzerltool');?> - - - - - - -load_studentuebung($user, $uebung_id); - if (!$ueb->delete_abgabe($ueb->abgabe_id)) - echo $ueb->errormsg; - -} -//echo $_FILES["abgabedatei"]; -//if (isset($_FILES["abgabedatei"])) -if (isset($_POST["abgabe"])) -{ - $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - $abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:''); - - if ($abgabedatei_up) - { - //echo $abgabedatei_up; - $datum = date('Y-m-d H:i:s'); - $datumstr = str_replace(" ","_",$datum); - $name_up = pathinfo($_FILES["abgabedatei"]["name"]); - $name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr); - $name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu); - $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - - $uebung_obj = new uebung(); - $uebung_obj->load_studentuebung($user, $uebung_id); - - if ($uebung_obj->errormsg != "") - { - $uebung_obj->student_uid = $user; - $uebung_obj->mitarbeiter_uid = null; - $uebung_obj->abgabe_id = null; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->note = null; - $uebung_obj->mitarbeitspunkte = null; - $uebung_obj->punkte = null; - $uebung_obj->anmerkung = null; - $uebung_obj->benotungsdatum = null; - $uebung_obj->updateamum = null; - $uebung_obj->updatevon = null; - $uebung_obj->insertamum = $datum; - $uebung_obj->insertvon = $user; - $uebung_obj->new = true; - $uebung_obj->studentuebung_save($new=true); - //echo $uebung_obj->errormsg; - - } - if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj->abgabe_save(false); - } - else - { - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj->abgabe_save(true); - } - $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen - move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); - } - - else - { - $abgabe_anmerkung = $_POST["abgabe_anmerkung"]; - $uebung_obj2 = new uebung(); - $uebung_obj2->load_studentuebung($user, $uebung_id); - if ($uebung_obj2->errormsg == "") - { - if ($uebung_obj2->abgabe_id != null) - { - $uebung_obj2->load_abgabe($uebung_obj2->abgabe_id); - $uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj2->abgabe_save(false); - } - } - } -} -else - $abgabedatei_up = null; - - - - -//Kopfzeile -echo ''; -echo '
'; -echo '

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist -//Bei Lehrverbaenden werden auch die uebergeordneten geladen -$qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) WHERE lehreinheit_id IN( - SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) - WHERE tbl_benutzergruppe.uid=".$db->db_add_param($user)." AND - tbl_lehreinheitgruppe.lehreinheit_id IN( - SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem).") - UNION - SELECT - lehreinheit_id - FROM - public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband - WHERE - tbl_student.student_uid=".$db->db_add_param($user)." AND - tbl_studentlehrverband.student_uid=tbl_student.student_uid AND - tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND - tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND - tbl_lehreinheitgruppe.gruppe_kurzbz is null AND - tbl_studentlehrverband.semester=tbl_lehreinheitgruppe.semester AND - ( - ( - ( - tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND - trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe) - ) - OR - ( - tbl_lehreinheitgruppe.verband<>'' AND - ( - trim(tbl_lehreinheitgruppe.gruppe)='' OR - tbl_lehreinheitgruppe.gruppe is null - ) - AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) - ) - OR - ( - (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) - AND - (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) - ) - ) - ) - AND - tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)."))"; -//echo $qry; -if($result = $db->db_query($qry)) -{ - if($db->db_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit')." : '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - else - $lehreinheit_id =''; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} - -echo '
'; -echo ''; -echo ''; -echo "
 \n"; -echo "
".$lv_obj->bezeichnung_arr[$sprache]."".$p->t('benotungstool/downloadverzeichnisAnzeigen')."

"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung')); - -$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid=".$db->db_add_param($user); -$name=''; -if($result = $db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $name = $row->vorname.' '.$row->nachname; - - - -if (!isset($_GET["notenuebersicht"])) -{ - $l = 0; - $ueb_check = new uebung(); - $ueb_check->load_uebung($lehreinheit_id,1); - if (count($ueb_check->uebungen > 0)) - { - foreach ($ueb_check->uebungen as $row) - { - $sub_check = new uebung(); - $sub_check->load_uebung($lehreinheit_id,2,$row->uebung_id); - if (count($sub_check->uebungen) > 0) - $l = 1; - } - } - - if ($l > 0) - { - echo "
".$p->t('lehre/leistungsuebersicht')." / ".$p->t('benotungstool/notenuebersichtFuer')." $name

"; - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; - - echo " -
"; - echo "
".$p->t('benotungstool/waehlenSieEineAufgabeAus').": '; - echo '
- - - - - - - - - -
+...".$p->t('benotungstool/freigeschaltet').".
-...".$p->t('benotungstool/nichtFreigeschaltet').".
-
"; - } - else - die($p->t('benotungstool/derzeitGibtEsKeineUebungen')); - } - else - { - $callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"; - #header("Location:$callURL"); - echo ""; - exit; - //echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; - } - - - - //******SPEICHERN DER DATEN************* - if(isset($_POST['submit'])) - { - $error=false; - - $ueb_hlp_obj = new uebung(); - $ueb_hlp_obj->load($uebung_id); - //Wenn Kreuzerlliste Freigegeben ist - if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) - { - $bsp_obj = new beispiel(); - - if($bsp_obj->load_beispiel($uebung_id)) - { - $anzahl_solved = 0; - foreach ($bsp_obj->beispiele as $row) - { - if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1)) - $anzahl_solved++; - } - if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel(); - - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - $stud_bsp_obj->vorbereitet = false; - } - if (isset($_POST['solved_'.$row->beispiel_id])) - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $user; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$row->check_anzahl_studentbeispiel($row->beispiel_id)) - die('Fehler beim Ermitteln der Beispiele'); - if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new || - { - $hlp = new beispiel(); - if($hlp->load_studentbeispiel($user, $row->beispiel_id)) - { - if($hlp->vorbereitet!=$stud_bsp_obj->vorbereitet) - { - echo "".$p->t('benotungstool/dasBeispielKannNichtMehrAngekreuztWerden',array($row->bezeichnung))."
"; - $error = true; - } - } - } - else - { - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - } - else - { - $error=true; - echo $p->t('benotungstool/zuVieleBeispieleAngekreuzt')."!
"; - } - } - - if($error) - echo "".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."
"; - else - echo $p->t('global/erfolgreichgespeichert')."
"; - } - else - echo "".$p->t('benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben')."!"; - } - - //********ANZEIGE DER EINGETRAGENEN KREUZERL*********** - if ($l > 0) - { - $uebung_obj = new uebung(); - $uebung_obj->load($uebung_id); - $downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); - $downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname); - echo $p->t('benotungstool/freigegebenVon')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." ".$p->t('global/bis')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); - echo "

$uebung_obj->bezeichnung

"; - if ($uebung_obj->angabedatei) - echo $p->t('benotungstool/angabe').":
".$downloadname."

"; - - - $ueb_obj = new uebung(); - if($ueb_obj->load_studentuebung($user, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - $note = $ueb_obj->note; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - $note = null; - } - // $anmerkung = ereg_replace("\n","
",$anmerkung); - $anmerkung = mb_str_replace("\n", "
", $anmerkung); - if ($uebung_obj->beispiele) - { - - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id =".$db->db_add_param($uebung_id, FHC_INTEGER).") AND vorbereitet=true and student_uid = ".$db->db_add_param($user); - if($result_cnt = $db->db_query($qry_cnt)) - if($row_cnt = $db->db_fetch_object($result_cnt)) - $anzahl = $row_cnt->anzahl; - - echo ""; - - $bsp_obj = new beispiel(); - $bsp_obj->load_beispiel($uebung_id); - if ($bsp_obj->beispiele) - { - echo " "; - if ($uebung_obj->maxbsp > 0) - echo ""; - if ($uebung_obj->maxstd > 0) - echo ""; - echo "
".$p->t('benotungstool/maxBeispieleStudent').":".$uebung_obj->maxbsp."
".$p->t('benotungstool/maxStudentenBeispiel').":".$uebung_obj->maxstd."
"; - echo " -
- - - "; - echo "
- ".($anmerkung!=''?''.$p->t('global/anmerkungen').':
'.$anmerkung.'

':'')." -
- - - - - - - - "; - - - - foreach ($bsp_obj->beispiele as $row) - { - $bsp_voll = false; - $stud_bsp_obj = new beispiel(); - if ($uebung_obj->maxstd > 0) - { - $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); - if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) - $bsp_voll = true; - } - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - if ($bsp_voll) - { - $ro = " disabled"; - $markiert = " style='background-color:#dddddd;'"; - } - else - { - $ro = ""; - $markiert = ""; - } - echo " - - - - - - "; - - - } - - //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo ""; - - echo "
".$p->t('benotungstool/beispiel')."".$p->t('benotungstool/vorbereitet')."".$p->t('benotungstool/nichtVorbereitet')."".$p->t('benotungstool/probleme')."".$p->t('benotungstool/punkte')."
$row->bezeichnung$row->punkte
"; - } - else - echo "
".$p->t('benotungstool/keineBeispieleAngelegt')."
- -
 
"; - - if ($uebung_obj->abgabe) - { - - echo "
\n"; - $uebung_obj->load_studentuebung($user, $uebung_id); - if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - echo " "; - echo" "; - echo ""; - } - - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - - } - echo "
".$p->t('benotungstool/abgabedatei').":
".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo " [del]
\n"; - echo " "; - echo "
"; - } - - echo "
"; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER); - $punkte_gesamt=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - //Gesamtpunkte alle Kreuzerllisten in dieser Übung - $ueb_help = new uebung($uebung_id); - $liste_id = $ueb_help->liste_id; - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." and tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER); - $punkte_gesamt_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND - tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND - tbl_studentbeispiel.student_uid=".$db->db_add_param($user)." AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER); - $mitarbeit_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user); - $mitarbeit=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $mitarbeit = $row->mitarbeitspunkte; - echo " - - - - - - - - - - - - - -
".$p->t('benotungstool/dieseKreuzerlliste').":
".$p->t('benotungstool/punkteInsgesamtMoeglich').":$punkte_gesamt
".$p->t('benotungstool/punkteEingetragen').":$punkte_eingetragen
-

- - - - - - - - - - - - -
".$p->t('benotungstool/alleKreuzerllistenDieserUebung').":
".$p->t('benotungstool/punkteInsgesamtMoeglich').":$punkte_gesamt_alle
".$p->t('benotungstool/punkteEingetragen').":$punkte_eingetragen_alle
-

- - - - - - - - - - - - -
".$p->t('benotungstool/mitarbeitspunkte').":
".$p->t('benotungstool/bisherInsgesamt').":$mitarbeit_alle
".$p->t('benotungstool/dieseKreuzerlliste').":$mitarbeit
- "; - - - echo " -
- - - "; - - //**********STATISTIK*************** - if($uebung_obj->statistik) - { - echo "

".$p->t('benotungstool/statistik')."

"; - $beispiel_obj = new beispiel(); - if($beispiel_obj->load_beispiel($uebung_id)) - { - if(count($beispiel_obj->beispiele)>0) - { - echo ' - - - - '; - $i=0; - $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id)." GROUP BY student_uid"; - if($result_cnt = $db->db_query($qry_cnt)) - $gesamt=$db->db_num_rows($result_cnt); - - foreach ($beispiel_obj->beispiele as $row) - { - $i++; - $solved = 0; - $psolved = 0; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$db->db_add_param($row->beispiel_id, FHC_INTEGER)." AND vorbereitet=true"; - if($result_cnt = $db->db_query($qry_cnt)) - if($row_cnt = $db->db_fetch_object($result_cnt)) - $solved = $row_cnt->anzahl; - - - - if($solved>0) - $psolved = $solved/$gesamt*100; - - echo ' - - - '; - } - echo "
  - - - - -
 
-
- '.$row->bezeichnung.' - - - - - -
- - - - -
- -  '.$solved.' ['.number_format($psolved,1,'.','').'%] -
-
-
"; - echo "

".$p->t('benotungstool/esHabenStudentenEingetragen',array($gesamt)); - } - } - else - echo "$beispiel_obj->errormsg"; - echo "
"; - } - } - else if ($uebung_obj->abgabe) - { - - echo "\n"; - echo "\n"; - echo" - - "; - echo "\n"; - - echo "\n"; - $uebung_obj->load_studentuebung($user, $uebung_id); - if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - echo " "; - echo" "; - echo ""; - } - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - } - echo "
".($note!=''?''.$p->t('benotungstool/note').': '.$note.'

':'')."
- ".($anmerkung!=''?''.$p->t('global/anmerkungen').':
'.$anmerkung.'

':'')." -

".$p->t('benotungstool/abgabedatei').": ".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo " [del]
\n"; - echo "
".$p->t('global/anmerkung').":

"; - echo "
".$p->t('global/datei').":
"; - echo "
\n"; - - } - } - -} -//notenübersicht -else -{ - if ($lektorenansicht == 1) - { - $uid_arr = Array(); - $vorname_arr = Array(); - $nachname_arr = Array(); - - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; - if($result_stud_dd = $db->db_query($qry_stud_dd)) - { - $i=1; - while($row_stud_dd = $db->db_fetch_object($result_stud_dd)) - { - $uid_arr[] = $row_stud_dd->uid; - $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; - - } - } - - echo "


"; - echo $p->t('benotungstool/studentenAuswaehlen').": "; - $key = array_search($uid,$uid_arr); - $prev = $key-1; - $next = $key+1; - if ($key > 0) - echo " << "; - echo ""; - if ($key < count($uid_arr)-1) - echo " >> "; - - echo "


"; - } - - echo "
".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name

"; - echo "
"; - - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - - echo ""; - echo " \n"; - echo " \n"; - echo " \n"; - echo " "; - echo " \n"; - echo " "; - echo " \n"; - foreach ($uebung_obj->uebungen as $row) - { - - $subuebung_obj = new uebung(); - $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); - $l1note = new studentnote(); - if(count($subuebung_obj->uebungen) >= 0) - { - - - $l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id); - if ($l1note->negativ) - $l1_note = 5; - else - $l1_note = $l1note->l1_note; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo ""; - echo "\n"; - echo " \n"; - - } - - if(count($subuebung_obj->uebungen) > 0) - { - - foreach ($subuebung_obj->uebungen as $subrow) - { - - echo " \n"; - echo " "; - echo " \n"; - echo " \n"; - if ($subrow->beispiele) - { - $l1note->calc_punkte($subrow->uebung_id, $user); - echo " "; - echo " \n"; - echo " \n"; - } - else if ($subrow->abgabe) - { - $l1note->calc_note($subrow->uebung_id, $user); - echo " \n"; - echo " "; - echo " \n"; - } - echo " \n"; /* - if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)mktime_fromtimestamp($subrow->freigabebis)>time()) - echo ' + '; - else - echo ' - '; - */ - - } - - } - } - $l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user); - if ($l1note->negativ) - $gesamtnote = 5; - else - $gesamtnote = $l1note->studentgesamtnote; - echo ""; - - - echo "
".$p->t('benotungstool/aufgabe')."".$p->t('benotungstool/gewicht')."".$p->t('benotungstool/punkte')."".$p->t('benotungstool/teilnote')."".$p->t('benotungstool/note')."
"; - echo $row->bezeichnung; - if ($row->positiv) - echo "*"; - echo " ".$row->gewicht.""; - if ($l1note->punkte_gesamt_l1 >0) - echo $l1note->punkte_gesamt_l1; - echo "".$l1_note."
- \n"; - echo $subrow->bezeichnung; - if ($subrow->positiv) - echo "*"; - echo " \n"; - if ($subrow->abgabe) - echo $subrow->gewicht; - echo " ".$l1note->punkte_gesamt."".$l1note->note."
".$p->t('benotungstool/errechneteGesamtnote').": ".$gesamtnote."
"; - echo "".$p->t('benotungstool/mussPositivSein').""; - } - - echo "
"; - - $legesamtnote = new legesamtnote($lehreinheit_id); - - if (!$legesamtnote->load($user, $lehreinheit_id)) - { - $lenote = null; - } - else - { - $lenote = $legesamtnote->note; - } - if ($lvgesamtnote = new lvgesamtnote($lvid,$user,$stsem)) - { - $lvnote = $lvgesamtnote->note; - } - else - $lvnote = null; - if ($zeugnisnote = new zeugnisnote($lvid,$user,$stsem)) - { - $znote = $zeugnisnote->note; - } - else - $znote = null; - - echo "\n"; - echo " "; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "
".$p->t('benotungstool/eingetrageneNoten')."
".$p->t('global/lehreinheit')."".$lenote."
".$p->t('global/lehrveranstaltung')."".$lvnote."
".$p->t('benotungstool/zeunis')."".$znote."
"; - - echo "
"; -} -?> - - diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php deleted file mode 100644 index 199b3a841..000000000 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ /dev/null @@ -1,978 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); -require_once('../../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); -if (!$db = new basis_db()) - die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); -$user = get_uid(); - -if(!check_lektor($user)) - die($p->t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); - -//Abgabedatei ausliefern -if (isset($_GET["download_abgabe"])){ - $file=$_GET["download_abgabe"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung(); - $ueb->load_studentuebung($uid, $uebung_id); - $ueb->load_abgabe($ueb->abgabe_id); - $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -//Handbuch ausliefern -if (isset($_GET["handbuch"])){ - $filename = BENOTUNGSTOOL_PATH."handbuch_benotungstool.pdf"; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="handbuch_benotungstool.pdf"'); - readfile($filename); - exit; -} - - -if (isset($_FILES["abgabedatei"])) -{ - //echo $_FILES["abgabedatei"]; - $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - - if ($abgabedatei_up) - { - $student_uid = $uid; - $datum = date('Y-m-d H:i:s'); - $datumstr = ereg_replace(" ","_",$datum); - $name_up = pathinfo($_FILES["abgabedatei"]["name"]); - $name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr); - $name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu); - $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - - $uebung_obj = new uebung(); - $uebung_obj->load_studentuebung($student_uid, $uebung_id); - - - if ($uebung_obj->errormsg != "") - { - $uebung_obj->student_uid = $student_uid; - $uebung_obj->mitarbeiter_uid = null; - $uebung_obj->abgabe_id = null; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->note = null; - $uebung_obj->mitarbeitspunkte = null; - $uebung_obj->punkte = null; - $uebung_obj->anmerkung = null; - $uebung_obj->benotungsdatum = null; - $uebung_obj->updateamum = null; - $uebung_obj->updatevon = null; - $uebung_obj->insertamum = $datum; - $uebung_obj->insertvon = $user; - $uebung_obj->new = true; - $uebung_obj->studentuebung_save($new=true); - echo $uebung_obj->errormsg; - - } - if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = ""; - $uebung_obj->abgabe_save(false); - } - else - { - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = ""; - $uebung_obj->abgabe_save(true); - } - $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen - move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); - } -} -else - $abgabedatei_up = null; - -?> - - - - - -<?php echo $p->t('benotungstool/benotungstool');?> - - - - -

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); - -} - -if($result = $db->db_query($qry)) -{ - if($db->db_num_rows($result)>0) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit').": '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo '
'; -echo ''; -echo ''; -echo " -
 \n"; -echo "".$lv_obj->bezeichnung_arr[$sprache]."
"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/keinePassendeLehreinheitGefunden')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
 Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -echo "

".$p->t('benotungstool/studentenaufgabenVerwalten')."

"; -if(isset($_POST['submit'])) -{ - $error=false; - $punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):''); - if(isset($punkte) && is_numeric($punkte) && !isset($_POST['abgabe'])) - { - $ueb_obj = new uebung(); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - $ueb_obj->new = false; - else - { - $ueb_obj->new = true; - $ueb_obj->insertamum = date('Y-m-d H:i:s'); - $ueb_obj->insertvon = $user; - } - - $ueb_obj->mitarbeitspunkte = $punkte; - $ueb_obj->anmerkung = $_POST['anmerkung']; - $ueb_obj->updateamum = date('Y-m-d H:i:s'); - $ueb_obj->updatevon = $user; - $ueb_obj->mitarbeiter_uid = $user; - $ueb_obj->uebung_id = $uebung_id; - $ueb_obj->student_uid = $uid; - - if(!$ueb_obj->studentuebung_save()) - $error = true; - - $bsp_obj = new beispiel(); - - if($bsp_obj->load_beispiel($uebung_id)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel(); - - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - } - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $uid; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - - if($error) - echo "".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden').""; - else - echo $p->t('global/erfolgreichgespeichert')."
"; - - } - else if (!isset($_POST['abgabe'])) - { - echo "".$p->t('benotungstool/punkteSindUngueltig').""; - } - if(isset($_POST['abgabe']) && is_numeric($_POST['note'])) - { - $note = $_POST['note']; - $ueb_obj = new uebung(); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - $ueb_obj->new = false; - else - { - $ueb_obj->new = true; - $ueb_obj->insertamum = date('Y-m-d H:i:s'); - $ueb_obj->insertvon = $user; - } - - $ueb_obj->note = $note; - $ueb_obj->anmerkung = $_POST['anmerkung']; - $ueb_obj->updateamum = date('Y-m-d H:i:s'); - $ueb_obj->updatevon = $user; - $ueb_obj->mitarbeiter_uid = $user; - $ueb_obj->uebung_id = $uebung_id; - $ueb_obj->student_uid = $uid; - - if(!$ueb_obj->studentuebung_save()) - $error = true; - if($error) - echo "".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden').""; - else - echo $p->t('global/erfolgreichgespeichert')."
"; - } - else if (isset($_POST['abgabe'])) - echo "".$p->t('benotungstool/noteIstUngueltig')."
"; -} - -if(isset($_GET['uid']) && $_GET['uid']!='') -{ - //Punkte eintragen - $uid = addslashes($_GET['uid']); - - $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; - - if(!$result_stud = $db->db_query($qry_stud)) - die($p->t('benotungstool/fehlerBeimLadenDesStudenten')); - - if(!$row_stud = $db->db_fetch_object($result_stud)) - die($p->t('benotungstool/studentWurdeNichtGefunden')); - - //echo "$row_stud->vorname $row_stud->nachname
\n"; - - - - $uid_arr = Array(); - $vorname_arr = Array(); - $nachname_arr = Array(); - - // studentenquery - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; - if($result_stud_dd = $db->db_query($qry_stud_dd)) - { - $i=1; - while($row_stud_dd = $db->db_fetch_object($result_stud_dd)) - { - $uid_arr[] = $row_stud_dd->uid; - $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; - - } - } -// } -// } - echo $p->t('benotungstool/studentenAuswaehlen').": "; - $key = array_search($uid,$uid_arr); - $prev = $key-1; - $next = $key+1; - if ($key > 0) - echo " << "; - echo ""; - if ($key < count($uid_arr)-1) - echo " >> "; - - - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; - - echo " -
"; - echo "
".$p->t('benotungstool/waehlenSieEineAufgabeAus').": '; - - echo '
- - - - - - - - - -
+...".$p->t('benotungstool/freigeschaltet').".
-...".$p->t('benotungstool/nichtFreigeschaltet').".
-
"; - } - else - die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt')); - - $ueb_obj = new uebung(); - $ueb_obj->load($uebung_id); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - $note = $ueb_obj->note; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - $note = ''; - } - - if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id'])) - { - echo " -
- - - - - - -
- ".$p->t('global/anmerkung').":
- -

- - - - - - - - "; - - $bsp_obj = new beispiel(); - $bsp_obj->load_beispiel($uebung_id); - - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel(); - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - echo " - - - - - - "; - } - - echo "
".$p->t('benotungstool/beispiel')."".$p->t('benotungstool/vorbereitet')."".$p->t('benotungstool/nichtVorbereitet')."".$p->t('benotungstool/probleme')."".$p->t('benotungstool/punkte')."
$row->bezeichnung$row->punkte
"; - - - - $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { - $ueb_obj->load_abgabe($ueb_obj->abgabe_id); - $filename = $ueb_obj->abgabedatei; - } - else - $filename=''; - - if ($filename != '') - echo "
".$p->t('benotungstool/abgabedatei').": ".$filename."

"; - - - - echo " -
"; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER); - $punkte_gesamt=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - - //Gesamtpunkte alle Kreuzerllisten in dieser Übung - $ueb_help = new uebung($uebung_id); - $liste_id = $ueb_help->liste_id; - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." and tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER); - $punkte_gesamt_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND - tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND - tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id); - $mitarbeit_alle=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid); - $mitarbeit=0; - if($result=$db->db_query($qry)) - if($row = $db->db_fetch_object($result)) - $mitarbeit = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - echo " -
- - - - - - - - - - - - -
Diese Kreuzerlliste:
".$p->t('benotungstool/punkteInsgesamtMoeglich').":$punkte_gesamt
".$p->t('benotungstool/punkteEingetragen').":$punkte_eingetragen
-

- - - - - - - - - - - - -
".$p->t('benotungstool/alleKreuzerllistenDieserUebung').":
".$p->t('benotungstool/punkteInsgesamtMoeglich').":$punkte_gesamt_alle
".$p->t('benotungstool/punkteEingetragen').":$punkte_eingetragen_alle
-

- - - - - - - - - - - - -
".$p->t('benotungstool/mitarbeitspunkte').":
".$p->t('benotungstool/bisherInsgesamt').":$mitarbeit_alle
".$p->t('benotungstool/dieseKreuzerlliste').":
- "; - - - echo " -
  - - -
- -
- "; - } - else if (is_numeric($_GET['uebung_id'])) - { - $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { - $ueb_obj->load_abgabe($ueb_obj->abgabe_id); - $filename = $ueb_obj->abgabedatei; - } - else - $filename=''; - //Abgaben benoten - $studentnote = new studentnote($lehreinheit_id,$stsem,$uid,$uebung_id); - $studentnote->calc_note($uebung_id, $uid); - echo "".$p->t('benotungstool/note').": ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")

"; - if ($filename != '') - echo $p->t('benotungstool/abgabedatei').": ".$filename."

"; - echo " -
-
- ".$p->t('global/anmerkung').":
- -
- - - - - "; - echo " - - - - -
Note
- - -
- "; - - } - echo "
"; - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - echo "
\n"; - echo " ".$p->t('benotungstool/studentenabgabedatei').":
"; - echo "
"; -} -else -{ - - //Übungen benoten - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "
"; - echo "
".$p->t('benotungstool/aufgabeKreuzerllistenAbgaben').": '; - echo " [".$p->t('benotungstool/benoten')."]"; - $abgabe_obj = new uebung($uebung_id); - if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*")) - { - $date = date('Y-m-d_H:i:s'); - $downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date); - $downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname); - $downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname); - echo " [".$p->t('benotungstool/abgabenDownloaden')."]"; - } - else - echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]"; - - echo '
'; - } - - - - - echo "


"; - //Studentenliste - echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."
"; - echo " - - "; - - echo " - - - - - - - - - - - - - - - - - - - "; - /* - if($row_grp->gruppe_kurzbz!='') - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; - } - else - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz='$row_grp->studiengang_kz' AND - semester='$row_grp->semester' ". - ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). - ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). - " ORDER BY nachname, vorname"; - } - */ - // studentenquery - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; - if($result_stud = $db->db_query($qry_stud)) - { - $i=1; - while($row_stud = $db->db_fetch_object($result_stud)) - { - - - - echo " - - - - - - "; - $i++; - } - } -// } -// } - echo "
    
".$p->t('global/uid')."".$p->t('global/nachname')."".$p->t('global/vorname')."".$p->t('benotungstool/studentenansicht')."
    
$row_grp->gruppe_kurzbz
Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
$row_stud->uid$row_stud->nachname$row_stud->vorname".$p->t('benotungstool/studentenansicht')."
"; -} -?> -
- - diff --git a/cis/private/lehre/benotungstool/verwaltung.php b/cis/private/lehre/benotungstool/verwaltung.php deleted file mode 100644 index e35eaecb1..000000000 --- a/cis/private/lehre/benotungstool/verwaltung.php +++ /dev/null @@ -1,941 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); -require_once('../../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); - -if (!$db = new basis_db()) - die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); - - -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} -$time = microtime_float(); -?> - - - - - -Kreuzerltool - - - - -t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung(); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$global_msg =''; -$error_thema=''; -$error_anzahlderbeispiele=''; -$error_punkteprobeispiel=''; -$error_freigabebis=''; -$error_freigabevon=''; -$error_gewicht=''; - -$thema = (isset($_POST['thema'])?$_POST['thema']:''); -$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); -$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); -$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); -$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); -$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); -$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); -$positiv = (isset($_POST['positiv'])?$_POST['positiv']:''); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$copy_content = ''; -$copy_dropdown = ''; - -//Kopfzeile -echo '

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} - -if($result = $db->db_query($qry)) -{ - $result_alle_lehreinheiten = $result; - if($db->db_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo $p->t('global/lehreinheit').": "; - while($row = $db->db_fetch_object($result)) - { - if($lehreinheit_id=='') - $lehreinheit_id=$row->lehreinheit_id; - $selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':''); - //Zugeteilte Lektoren - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER); - if($result_lektoren = $db->db_query($qry_lektoren)) - { - $lektoren = '( '; - $i=0; - while($row_lektoren = $db->db_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $i++; - if($i<$db->db_num_rows($result_lektoren)) - $lektoren.=', '; - else - $lektoren.=' '; - } - $lektoren .=')'; - } - - - //Zugeteilte Gruppen - $qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER); - if($result_gruppen = $db->db_query($qry_gruppen)) - { - $gruppen = ''; - $i=0; - while($row_gruppen = $db->db_fetch_object($result_gruppen)) - { - if($row_gruppen->gruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $i++; - if($i<$db->db_num_rows($result_gruppen)) - $gruppen.=', '; - else - $gruppen.=' '; - } - } - echo "\n"; - if ($lehreinheit_id != $row->lehreinheit_id) - $copy_dropdown .= ""; - } - echo ' '; - $copy_dropdown .=""; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo '
'; - -echo ''; -echo ''; -echo "
 \n"; - -echo "

".$lv_obj->bezeichnung_arr[$sprache]."

"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/esGibtKeineLehreinheiten')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
- Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -//echo "studiensemester: $stsem
"; -//echo "lehrveranstaltung: $lvid
"; -//echo "lehreinheit: $lehreinheit_id
"; -//Übung in andere LE kopieren - -if (isset($_REQUEST["copy_uebung"])) -{ - $copy_insert = 0; - $copy_update = 0; - $copy_insert_bsp = 0; - $copy_update_bsp = 0; - $uebung_id_source = $_REQUEST["uebung_id_source"]; - $lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"]; - if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target)) - echo "".$p->t('benotungstool/uebungUndLehreinheit')."!"; - else - { - $ueb_1 = new uebung($uebung_id_source); - $nummer_source = $ueb_1->nummer; - $qry = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER); - //echo $qry; - if($result1 = $db->db_query($qry)) - { - if ($db->db_num_rows($result1) >0) - { - $row1 = $db->db_fetch_object($result1); - $ueb_1_target =new uebung($row1->uebung_id); - $ueb_1_target->new = false; - $new = null; - $ueb_1_target->insertamum = null; - $ueb_1_target->insertvon = null; - $ueb_1_target->updateamum = date('Y-m-d H:i:s'); - $ueb_1_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_1_target =new uebung(); - $ueb_1_target->new = true; - $new = true; - $ueb_1_target->insertamum = date('Y-m-d H:i:s'); - $ueb_1_target->insertvon = $user; - $ueb_1_target->updateamum = null; - $ueb_1_target->updatevon = null; - $copy_insert++; - } - $ueb_1_target->gewicht = $ueb_1->gewicht; - $ueb_1_target->punkte = null; - $ueb_1_target->angabedatei=null; - $ueb_1_target->freigabevon = null; - $ueb_1_target->freigabebis = null; - $ueb_1_target->abgabe = false; - $ueb_1_target->beispiele = false; - $ueb_1_target->statistik = false; - $ueb_1_target->maxstd = null; - $ueb_1_target->maxbsp=null; - $ueb_1_target->liste_id=null; - $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; - $ueb_1_target->positiv = $ueb_1->positiv; - $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; - $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_1_target->nummer = $nummer_source; - - if (!$ueb_1_target->save($new)) - { - $error = 1; - echo "".$p->t('benotungstool/hauptuebungKonnteNichtKopiertWerden')."!"; - } - - else - { - // Subübungen durchlaufen - $error = 0; - $ueb_2 = new uebung(); - $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); - - $ueb_2anzahl = count($ueb_2->uebungen); - if ($ueb_2anzahl >0) - { - foreach ($ueb_2->uebungen as $subrow) - { - - $nummer_source2 = $subrow->nummer; - $qry2 = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source2)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER); - $result2 = $db->db_query($qry2); - - if ($db->db_num_rows($result2) >0) - { - $row2 = $db->db_fetch_object($result2); - $ueb_2_target =new uebung($row2->uebung_id); - $ueb_2_target->new = false; - $new = null; - $ueb_2_target->insertamum = null; - $ueb_2_target->insertvon = null; - $ueb_2_target->updateamum = date('Y-m-d H:i:s'); - $ueb_2_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_2_target =new uebung(); - $ueb_2_target->new = true; - $new = true; - $ueb_2_target->insertamum = date('Y-m-d H:i:s'); - $ueb_2_target->insertvon = $user; - $ueb_2_target->updateamum = null; - $ueb_2_target->updatevon = null; - $copy_insert++; - } - $ueb_2_target->gewicht = $subrow->gewicht; - $ueb_2_target->punkte = $subrow->punkte; - $ueb_2_target->angabedatei=null; - $ueb_2_target->freigabevon = $subrow->freigabevon; - $ueb_2_target->freigabebis = $subrow->freigabebis; - $ueb_2_target->abgabe = $subrow->abgabe; - $ueb_2_target->beispiele = $subrow->beispiele; - $ueb_2_target->statistik = $subrow->statistik; - $ueb_2_target->maxstd = $subrow->maxstd; - $ueb_2_target->maxbsp=$subrow->maxbsp; - $ueb_2_target->liste_id=$ueb_1_target->uebung_id; - $ueb_2_target->bezeichnung = $subrow->bezeichnung; - $ueb_2_target->positiv = $subrow->positiv; - $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; - $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_2_target->nummer = $nummer_source2; - - if (!$ueb_2_target->save($new)) - { - $error = 1; - echo "".$p->t('benotungstool/uebungKonnteNichtKopiertWerden')."!"; - } - - //angabedatei syncen - if ($subrow->angabedatei != "") - { - $angabedatei_source = $subrow->angabedatei; - $angabedatei_target = makeUploadName($db, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); - $angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.') + 1); - echo $angabedatei_source."->".$angabedatei_target."
"; - exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); - $angabeupdate = "update campus.tbl_uebung set angabedatei = ".$db->db_add_param($angabedatei_target)." where uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER); - $db->db_query($angabeupdate); - } - - if (($error == 0) and $ueb_2_target->beispiele) - { - // beispiele synchronisieren - $bsp_obj = new beispiel(); - $bsp_obj->load_beispiel($subrow->uebung_id); - foreach ($bsp_obj->beispiele as $bsp) - { - $nummer_source_bsp = $bsp->nummer; - $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = ".$db->db_add_param($nummer_source_bsp)." and uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER); - $resultbsp = $db->db_query($qrybsp); - - if ($db->db_num_rows($resultbsp) >0) - { - $rowbsp = $db->db_fetch_object($resultbsp); - $bsp_target =new beispiel($rowbsp->beispiel_id); - $bsp_target->new = false; - $new = null; - $bsp_target->insertamum = null; - $bsp_target->insertvon = null; - $bsp_target->updateamum = date('Y-m-d H:i:s'); - $bsp_target->updatevon = $user; - $copy_update_bsp++; - } - else - { - $bsp_target =new beispiel(); - $bsp_target->new = true; - $new = true; - $bsp_target->insertamum = date('Y-m-d H:i:s'); - $bsp_target->insertvon = $user; - $bsp_target->updateamum = null; - $bsp_target->updatevon = null; - $copy_insert_bsp++; - } - $bsp_target->uebung_id = $ueb_2_target->uebung_id; - $bsp_target->nummer = $nummer_source_bsp; - $bsp_target->bezeichnung = $bsp->bezeichnung; - $bsp_target->punkte = $bsp->punkte; - - if (!$bsp_target->save($new)) - { - $error = 1; - echo "".$p->t('benotungstool/beispieleKonntenNichtAngelegtWerden').""; - } - - //Notenschlüssel synchronisieren - $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($ueb_1_target->uebung_id, FHC_INTEGER); - $db->db_query($clear); - - $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($uebung_id_source, FHC_INTEGER); - $result_ns_source = $db->db_query($qry_ns_source); - while($row_ns = $db->db_fetch_object($result_ns_source)) - { - $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values (".$db->db_add_param($ueb_1_target->uebung_id).",".$db->db_add_param($row_ns->note).", ".$db->db_add_param($row_ns->punkte).")"; - $db->db_query($ns_insert); - } - - } - } - - } - } - } - - } - else - echo "".$p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')."!"; - - if ($error == 0) - echo $p->t('benotungstool/uebungErfolgreichKopiert')."! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; - } -} - - - -echo "

".$p->t('benotungstool/uebungenAnlegenUndVerwalten')."

"; -echo "
"; - -//Anlegen einer neuen Uebung -if(isset($_POST['uebung_neu'])) -{ - if(isset($thema)) - { - //pruefen ob alle Daten eingegeben wurden - $error=false; - $error_msg = ''; - if($thema=='') - { - //$error_thema .= "Thema muss eingegeben werden"; - echo "".$p->t('benotungstool/themaMussEingegebenWerden').""; - $error=true; - } - if(!is_numeric($gewicht)) - { - echo "".$p->t('benotungstool/gewichtMussEineZahlSein').""; - $error = true; - } - - if(!$error) - { - //Uebung anlegen - $datum_obj = new datum(); - $uebung_obj = new uebung(); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=false; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=isset($_POST['positiv']); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->insertamum = date('Y-m-d H:i:s'); - $uebung_obj->insertvon = $user; - $uebung_obj->statistik = false; - $uebung_obj->liste_id = null; - $uebung_obj->get_next_nummer(); - $uebung_obj->nummer = $uebung_obj->next_nummer; - - if($uebung_obj->save(true)) - { - if($error_msg!='') - echo "$error_msg"; - //else - // header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id"); - } - else - echo "$uebung_obj->errormsg"; - } - - } - else - echo "".$p->t('benotungstool/uebungKonnteNichtAngelegtWerden')."!
"; -} - - -//Loeschen einer Uebung -if(isset($_POST['delete_uebung'])) -{ - if(isset($_POST['uebung'])) - { - $ueb_obj = new uebung(); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['uebung']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$ueb_obj->delete($id)) - $error_msg=$ueb_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Editieren einer Uebung -if(isset($_POST['uebung_edit'])) -{ - $error = false; - if($thema=='') - { - echo "".$p->t('benotungstool/themaMussEingegebenWerden')."'"; - $error = true; - } - - - if(!$error) - { - $uebung_obj = new uebung($uebung_id); - $uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=false; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=true; - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->statistik = false; - - if($uebung_obj->save(false)) - header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id"); - //echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - - -//Eine Uebung in eine andere Lehreinheit kopieren -if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') -{ - //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; - //Laden der zu kopierenden Uebung - if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) - { - //Source Uebung Laden - $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER); - if($result_source = $db->db_query($qry)) - { - if($row_source = $db->db_fetch_object($result_source)) - { - //Berechtigung Checken - $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($user); - if($row_berechtigt = $db->db_query($qry)) - { - if($db->db_num_rows($row_berechtigt)>0 || - $rechte->isBerechtigt('admin',0) || - $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) - || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) - { - //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist - $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND bezeichnung=".$db->db_add_param($row_source->bezeichnung); - $result_bezeichnung_exists = $db->db_query($qry); - if($db->db_num_rows($result_bezeichnung_exists)==0) - { - //Uebung einfuegen - $uebung_dest = new uebung(); - $uebung_dest->gewicht = $row_source->punkte; - $uebung_dest->punkte = $row_source->punkte; - $uebung_dest->angabedatei = $row_source->angabedatei; - $uebung_dest->freigabevon = $row_source->freigabevon; - $uebung_dest->freigabebis = $row_source->freigabebis; - $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); - $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); - $uebung_dest->bezeichnung = $row_source->bezeichnung; - $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); - $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); - $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; - $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; - $ubeung_dest->updateamum = date('Y-m-d H:i:s'); - $uebung_dest->updatevon = $user; - $uebung_dest->insertamum = date('Y-m-d H:i:s'); - $uebung_dest->insertvon = $user; - - if($uebung_dest->save(true)) - { - //Beispiel laden - $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER); - if($result_bsp_source = $db->db_query($qry)) - { - $error_bsp_save=false; - while($row_bsp_source = $db->db_fetch_object($result_bsp_source)) - { - //Beispiel speichern - $beispiel_dest = new beispiel(); - $beispiel_dest->uebung_id = $uebung_dest->uebung_id; - $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; - $beispiel_dest->punkte = $row_bsp_source->punkte; - $beispiel_dest->updateamum = date('Y-m-d H:i:s'); - $beispiel_dest->updatevon = $user; - $beispiel_dest->insertamum = date('Y-m-d H:i:s'); - $beispiel_dest->insertvon = $user; - - if(!$beispiel_dest->save(true)) - $error_bsp_save=true; - } - - if($error_bsp_save) - echo "".$p->t('benotungstool/fehlerNichtAlleBeispieleKopiert').""; - else - echo $p->t('benotungstool/datenErfolgreichKopiert'); - } - } - else - { - - echo "".$p->t('benotungstool/fehlerKopierenDerDaten').": $uebung_dest->errormsg"; - } - } - else - echo "".$p->t('benotungstool/fehlerBeimKopieren')."!"; - } - else - echo "".$p->t('global/keineBerechtigungFuerDieseSeite').""; - } - } - else - echo "".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden').""; - } - else - echo "".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden').""; - } - else - echo "".$p->t('global/fehlerBeiDerParameteruebergabe').""; -} - -//Uebersichtstabelle -if(isset($uebung_id) && $uebung_id!='') -{ - echo "
"; - //Bearbeiten der ausgewaehlten Uebung - echo "
\n"; - echo "\n"; - echo ""; - - $uebung_obj = new uebung(); - $uebung_obj->load($uebung_id); - - echo " - - - -
".$p->t('benotungstool/ausgewaehlteUebungBearbeiten')." 
 
".$p->t('benotungstool/thema')."$error_thema
-
"; - - $beispiel_obj = new beispiel(); - $beispiel_obj->load_beispiel($uebung_id); - $anzahl = count($beispiel_obj->beispiele); - echo "
"; - - echo "
"; - - echo ""; -} -else -{ - //Gesamtuebersicht ueber alle Uebungen - - echo "
"; - echo "
"; - echo ""; - - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null); - $anzahl = count($uebung_obj->uebungen); - //$copy_content="
".$p->t('benotungstool/vorhandeneUebungenBearbeiten')."
"; - $has_copy_content=false; - if($anzahl>0) - { - echo ""; - - //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren - //und der angemeldete User berechtigt ist - $copy_option_content = array(); - for($i=0;$i<$db->db_num_rows($result_alle_lehreinheiten);$i++) - { - $row_alle_lehreinheiten = $db->db_fetch_object($result_alle_lehreinheiten,$i); - if($lehreinheit_id!=$row_alle_lehreinheiten->lehreinheit_id) - { - //zugeteilte Lektoren holen - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id,FHC_INTEGER); - if($result_lektoren = $db->db_query($qry_lektoren)) - { - $lektoren = '( '; - $j=0; - while($row_lektoren = $db->db_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $j++; - if($j<$db->db_num_rows($result_lektoren)) - $lektoren.=', '; - else - $lektoren.=' '; - } - $lektoren .=')'; - } - //zugeteilte Gruppen holen - $qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id, FHC_INTEGER); - if($result_gruppen = $db->db_query($qry_gruppen)) - { - $gruppen = ''; - $j=0; - while($row_gruppen = $db->db_fetch_object($result_gruppen)) - { - if($row_gruppen->gruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $j++; - if($j<$db->db_num_rows($result_gruppen)) - $gruppen.=', '; - else - $gruppen.=' '; - } - } - //$copy_option_content.= "\n"; - $copy_le_content[$row_alle_lehreinheiten->lehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; - } - - } - $uebung_id_source_dropdown = ""; - echo ""; - echo ""; - - $subuebung_obj = new uebung(); - $subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id); - $subanzahl = count($subuebung_obj->uebungen); - echo ""; - } - echo ""; - echo ""; - if ($copy_dropdown != '') - { - echo ""; - echo ""; - - $uebung_id_source_dropdown .= ""; - echo ""; - } - } - else - echo ""; - - echo "
Übung in andere LE kopieren
 
 
 
".$p->t('benotungstool/thema')."".$p->t('benotungstool/freigeschalten')."".$p->t('benotungstool/auswahl')."
"; - echo " ".$row->bezeichnung.""; - echo ""; - - //if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) - // echo 'Ja'; - //else - // echo 'Nein'; - echo "
"; - echo ""; - //echo "
    "; - foreach ($subuebung_obj->uebungen as $subrow) - { - echo "
"; - } - //echo ""; - echo ""; - echo "
 
".$p->t('benotungstool/vorhandeneUebungenKopieren')."
"; - echo "
".$p->t('benotungstool/uebung')."".$p->t('global/lehreinheit')."
".$uebung_id_source_dropdown."->".$copy_dropdown."
"; - echo "
".$p->t('benotungstool/derzeitSindKeineUebungenAngelegt')."
-

"; - - - //Kopier-Buttons anzeigen - //$copy_content.='
'; - //echo "
"; - //if($has_copy_content) - // echo $copy_content; - //echo "
"; - - //Uebung neu anlegen - if(!isset($_POST['uebung_neu'])) - { - $thema = $p->t('benotungstool/uebung')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - $anzahlderbeispiele = 10; - $punkteprobeispiel = 1; - $freigabevon = date('d.m.Y H:i'); - $freigabebis = date('d.m.Y H:i'); - } - - echo ""; - echo " -
- - - - - - - -
".$p->t('benotungstool/neueUebungAnlegen')."
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')."
-
- "; -} -?> - - - - diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php deleted file mode 100644 index 85b1c016e..000000000 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ /dev/null @@ -1,1250 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/basis_db.class.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); -require_once('../../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); - -if (!$db = new basis_db()) - die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); - -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} -$time = microtime_float(); -$user = get_uid(); - -if(!check_lektor($user)) - die($p->t('global/keineBerechtigungFuerDieseSeite')); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die($p->t('global/fehlerBeiDerParameteruebergabe')); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Angabedatei ausliefern -if (isset($_GET["download"])){ - $file=$_GET["download"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung(); - $ueb->load($uebung_id); - $filename = BENOTUNGSTOOL_PATH."angabe/".$ueb->angabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -?> - - - - - -Kreuzerltool - - - - -load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$global_msg =''; -$error_thema=''; -$error_anzahlderbeispiele=''; -$error_punkteprobeispiel=''; -$error_freigabebis=''; -$error_freigabevon=''; -$error_maxstd = ''; -$error_maxbsp = ''; -$error_gewicht = ''; - -$thema = (isset($_POST['thema'])?$_POST['thema']:''); -$liste_id = (isset($_REQUEST['liste_id'])?$_REQUEST['liste_id']:''); -$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); -$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); -$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); -$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); -$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); -$maxstd = (isset($_POST['maxstd'])?$_POST['maxstd']:''); -$maxbsp = (isset($_POST['maxbsp'])?$_POST['maxbsp']:''); -$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); -if (isset($_FILES["angabedatei"])) - $angabedatei_up = $_FILES["angabedatei"]["tmp_name"]; -else - $angabedatei_up = null; - -$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:''); -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Angabedatei löschen -if (isset($_GET["deletefile"])){ - $file=$_GET["deletefile"]; - $ueb = new uebung(); - $ueb->load($uebung_id); - $filename = BENOTUNGSTOOL_PATH."angabe/".$ueb->angabedatei; - $ueb->angabedatei = ''; - $ueb->save(false); - unlink($filename); -} - -//notenschlüssel anlegen -if (isset($_POST["schluessel"]) && $_POST["schluessel"]=='Speichern') -{ - $punkte_arr = array(); - $punkte_arr[1] = $_POST["schluessel_punkte_1"]; - $punkte_arr[2] = $_POST["schluessel_punkte_2"]; - $punkte_arr[3] = $_POST["schluessel_punkte_3"]; - $punkte_arr[4] = $_POST["schluessel_punkte_4"]; - $punkte_arr[5] = $_POST["schluessel_punkte_5"]; - for ($i=1;$i<=5;$i++) - { - if (is_numeric($punkte_arr[$i])) - { - $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." and note = ".$db->db_add_param($i); - $result = $db->db_query($qry); - if($db->db_num_rows($result)>0) - $str = "update campus.tbl_notenschluesseluebung set punkte = ".$db->db_add_param($punkte_arr[$i])." where uebung_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." and note = ".$db->db_add_param($i); - else - $str = "insert into campus.tbl_notenschluesseluebung (uebung_id, note, punkte) values (".$db->db_add_param($liste_id).",".$db->db_add_param($i).",".$db->db_add_param($punkte_arr[$i]).")"; - if (!$db->db_query($str)) - echo "Daten konnten nicht gespeichert werden"; - } - } -} -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
 

'.$p->t('benotungstool/benotungstool'); -echo '

'."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester(); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - - -//Studiensemester DropDown -$stsem_content = $p->t('global/studiensemester').": \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} -else -{ - $qry = "SELECT - distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz - FROM - lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE - tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND - tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem); -} - -if($result = $db->db_query($qry)) -{ - $result_alle_lehreinheiten = $result; - if($db->db_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " ".$p->t('global/lehreinheit').": '; - } - else - { - if($row = $db->db_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo $p->t('benotungstool/fehlerBeimAuslesen'); -} -echo $stsem_content; -echo '
'; -echo ''; -echo ''; -echo " -
 \n"; -echo "

".$lv_obj->bezeichnung_arr[$sprache]."

"; - -if($lehreinheit_id=='') - die($p->t('benotungstool/esGibtKeineLehreinheiten')); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
- Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -//echo "studiensemester: $stsem
"; -//echo "lehrveranstaltung: $lvid
"; -//echo "lehreinheit: $lehreinheit_id
"; - -echo "

".$p->t('benotungstool/uebungVerwalten')."

"; - -//Anlegen einer neuen Uebung -if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) -{ - if(isset($thema)) - { - //pruefen ob alle Daten eingegeben wurden - $error=false; - if($thema=='') - { - $error_thema.= "".$p->t('benotungstool/themaMussEingegebenWerden').""; - $error=true; - } - if(!is_numeric($gewicht)) - { - echo "".$p->t('benotungstool/gewichtMussEineZahlSein').""; - $error = true; - } - if (isset($_POST['uebung_neu'])) - { - if(!is_numeric($punkteprobeispiel)) - { - $error_punkteprobeispiel= "".$p->t('benotungstool/punkteProBeispielGueltigeZahl').""; - $error=true; - } - elseif($punkteprobeispiel<0) - { - $error_punkteprobeispiel = "".$p->t('benotungstool/punkteProBeispielNichtNegativ').""; - $error=true; - } - if(!is_numeric($anzahlderbeispiele)) - { - $error_anzahlderbeispiele = "".$p->t('benotungstool/anzahlDerBeispieleGueltigeZahl').""; - $error=true; - } - elseif($anzahlderbeispiele<0) - { - $error_anzahlderbeispiele = "".$p->t('benotungstool/anzahlDerBeispieleNichtNegativ').""; - $error=true; - } - elseif($anzahlderbeispiele>99) - { - $error_anzahlderbeispiele = "".$p->t('benotungstool/anzahlDerBeispieleKleiner100').""; - $error=true; - } - - if ($maxstd != '') - { - if(!is_numeric($maxstd)) - { - $error_maxstd = "".$p->t('benotungstool/anzahlStudentenGueltigeZahl').""; - $error=true; - } - elseif($maxstd<0) - { - $error_maxstd = "".$p->t('benotungstool/anzahlStudentenNichtNegativ').""; - $error=true; - } - elseif($maxstd>99) - { - $error_maxd = "".$p->t('benotungstool/anzahlStudentenKleiner100').""; - $error=true; - } - } - else - $maxstd = null; - - if ($maxbsp != '') - { - if(!is_numeric($maxbsp)) - { - $error_maxbsp = "".$p->t('benotungstool/anzahlStudentenGueltigeZahl').""; - $error=true; - } - elseif($maxbsp<0) - { - $error_maxbsp = "".$p->t('benotungstool/anzahlStudentenNichtNegativ').""; - $error=true; - } - elseif($maxbsp>99) - { - $error_maxbsp = "".$p->t('benotungstool/anzahlStudentenKleiner100').""; - $error=true; - } - } - else - $maxbsp = null; - } - - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if(!$freigabebis_sav) - { - $error_freigabebis = "".$p->t('benotungstool/bisDatumUngueltigesFormat').""; - $error=true; - } - - if(!$freigabevon_sav) - { - $error_freigabevon = "".$p->t('benotungstool/vonDatumUngueltigesFormat').""; - $error=true; - } - - if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) - { - $error_freigabevon = "".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum').""; - $error=true; - } - - if(!$error) - { - - //Uebung anlegen (KL oder Abgabe) - $datum_obj = new datum(); - $uebung_obj = new uebung(); - //$uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - if (isset($_POST["uebung_neu"])) - { - if (isset($_POST["kl_abgabe"])) - $uebung_obj->abgabe=true; - else - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=true; - } - else - { - $uebung_obj->abgabe=true; - $uebung_obj->beispiele=false; - } - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=isset($_POST['positiv']); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->insertamum = date('Y-m-d H:i:s'); - $uebung_obj->insertvon = $user; - $uebung_obj->statistik = isset($_POST['statistik']); - $uebung_obj->liste_id = $liste_id; - $uebung_obj->maxstd = $maxstd; - $uebung_obj->maxbsp = $maxbsp; - $uebung_obj->gewicht = $gewicht; - $uebung_obj->get_next_nummer(); - $uebung_obj->nummer = $uebung_obj->next_nummer; - - if($uebung_obj->save(true)) - { - $uebung_id = $uebung_obj->uebung_id; - - //Angabedatei ablegen - if ($angabedatei_up) - { - $name_up = pathinfo($_FILES["angabedatei"]["name"]); - //Handle double file extensions (e.g.: .tar.gz) - //Array of possible double extensions - $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); - //Find occurence of extensions ending with ".tar." - if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) - $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); - else - $extension = $name_up["extension"]; - - $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei = $name_neu.".".$extension; - - $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; - //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; - //unlink($angabepfad); - //echo $angabepfad; - move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); - $uebung_obj->angabedatei = $angabedatei; - $uebung_obj->save(false); - } - //Beispiele anlegen - - $error_msg=''; - for($i=0;$i<$anzahlderbeispiele;$i++) - { - $beispiel_obj = new beispiel(); - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($i+1)); - $beispiel_obj->punkte = $punkteprobeispiel; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - $beispiel_obj->get_next_nummer(); - $beispiel_obj->nummer = $beispiel_obj->next_nummer; - - if(!$beispiel_obj->save(true)) - $error_msg = $beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } - else - echo "$uebung_obj->errormsg"; - } - - } - else - echo "".$p->t('benotungstool/kreuzerllisteNichtAngelegt')."!
"; -} - -//Loeschen eines Beispiels -if(isset($_POST['beispiel_delete'])) -{ - if(isset($_POST['beispiel'])) - { - $beispiel_obj = new beispiel(); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['beispiel']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$beispiel_obj->delete($id)) - $error_msg=$beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Loeschen einer Uebung -if(isset($_POST['delete_uebung'])) -{ - if(isset($_POST['uebung'])) - { - $ueb_obj = new uebung(); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['uebung']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$ueb_obj->delete($id)) - $error_msg=$ueb_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Editieren einer Uebung -if(isset($_POST['uebung_edit'])) -{ - $error = false; - if($thema=='') - { - echo "".$p->t('benotungstool/themaMussEingegebenWerden').""; - $error = true; - } - if(!is_numeric($gewicht)) - { - echo "".$p->t('benotungstool/gewichtMussEineZahlSein').""; - $error = true; - } - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if ($maxstd != '') - { - if(!is_numeric($maxstd)) - { - echo "".$p->t('benotungstool/anzahlStudentenGueltigeZahl').""; - $error=true; - } - elseif($maxstd<0) - { - echo "".$p->t('benotungstool/anzahlStudentenNichtNegativ').""; - $error=true; - } - elseif($maxstd>99) - { - echo "".$p->t('benotungstool/anzahlStudentenKleiner100').""; - $error=true; - } - } - else - $maxstd = null; - - if ($maxbsp != '') - { - if(!is_numeric($maxbsp)) - { - echo "".$p->t('benotungstool/anzahlStudentenGueltigeZahl').""; - $error=true; - } - elseif($maxbsp<0) - { - echo "".$p->t('benotungstool/anzahlStudentenNichtNegativ').""; - $error=true; - } - elseif($maxbsp>99) - { - echo "".$p->t('benotungstool/anzahlStudentenKleiner100').""; - $error=true; - } - } - else - $maxbsp = null; - - if($freigabevon_sav>$freigabebis_sav) - { - echo "".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum').""; - $error=true; - } - if(!$freigabebis_sav) - { - echo "".$p->t('benotungstool/bisDatumUngueltigesFormat').""; - $error=true; - } - - if(!$freigabevon_sav) - { - echo "".$p->t('benotungstool/vonDatumUngueltigesFormat').""; - $error=true; - } - - if(!$error) - { - //Angabedatei ablegen - if ($angabedatei_up) - { - $name_up = pathinfo($_FILES["angabedatei"]["name"]); - //Handle double file extensions (e.g.: .tar.gz) - //Array of possible double extensions - $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); - //Find occurence of extensions ending with ".tar." - if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) - $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); - else - $extension = $name_up["extension"]; - $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei_neu = $name_neu.".".$extension; - - $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; - //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; - //unlink($angabepfad); - //echo $angabepfad; - foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $old) - unlink($old); - move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); - } - else - { - $uebung_akt = new uebung(); - $uebung_akt->load($uebung_id); - $angabedatei_neu = $uebung_akt->angabedatei; - } - $uebung_obj = new uebung(); - $uebung_obj->load($uebung_id); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=$angabedatei_neu; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - if ($uebung_obj->beispiele) - $uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false); - //$uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); - $uebung_obj->liste_id = $_POST["liste_id"]; - $uebung_obj->maxstd = $maxstd; - $uebung_obj->maxbsp = $maxbsp; - - if($uebung_obj->save(false)) - echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - -// Notenschluessel toggle - -if (isset($_GET['liste_id']) && isset($_GET['notenschluessel'])) -{ - $ueb_ns = new uebung(); - $ueb_ns->toggle_prozent_punkte($_GET['liste_id']); - echo $ueb_ns->errormsg; -} - - -//Editieren einer Liste -if(isset($_POST['liste_edit'])) -{ - $error = false; - if($thema=='') - { - echo "".$p->t('benotungstool/themaMussEingegebenWerden').""; - $error = true; - } - if(!is_numeric($gewicht)) - { - echo "".$p->t('benotungstool/gewichtMussEineZahlSein').""; - $error = true; - } - - - if(!$error) - { - - $uebung_obj = new uebung(); - $uebung_obj->load($_GET['liste_id']); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - //$uebung_obj->abgabe=false; - //$uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $_REQUEST["liste_id"]; - //$uebung_obj->statistik = (isset($_POST['statistik'])?true:false); - $uebung_obj->liste_id = ''; - //$uebung_obj->maxstd = $maxstd; - //$uebung_obj->maxbsp = $maxbsp; - - if($uebung_obj->save(false)) - echo $p->t('global/erfolgreichgespeichert')."!"; - else - echo "$uebung_obj->errormsg"; - } - -} - -//Neues Beispiel anlegen -if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) -{ - if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) - { - echo "".$p->t('benotungstool/beispielIdUngueltig').""; - } - else - { - if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) - { - $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); - $punkte = mb_ereg_replace(',','.',$punkte); - $bezeichnung = $_REQUEST["bezeichnung"]; - if(is_numeric($punkte) && $punkte!='') - { - if($bezeichnung!='') - { - $beispiel_obj = new beispiel(); - if(isset($_POST['beispiel_edit'])) - { - $beispiel_obj->load($beispiel_id); - $beispiel_obj->beispiel_id= $beispiel_id; - $beispiel_obj->new=false; - } - else - { - $beispiel_obj->new=true; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - $beispiel_obj->get_next_nummer(); - $beispiel_obj->nummer = $beispiel_obj->next_nummer; - } - - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = $bezeichnung; - $beispiel_obj->punkte = $punkte; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - if($beispiel_obj->save()) - { - $beispiel_id=''; - } - else - echo "$beispiel_obj->errormsg"; - } - else - echo "".$p->t('benotungstool/bezeichnungMussEingegebenWerden').""; - } - else - echo "".$p->t('benotungstool/punkteMuessenEineGueltigeZahlSein').""; - } - else - echo "".$p->t('benotungstool/zugehoerigeUebungFehlerhaft').""; - } -} - - - -//Uebersichtstabelle -if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') -{ - - echo "
"; - //Bearbeiten der ausgewaehlten Uebung - echo "
\n"; - echo "\n"; - echo ""; - - $uebung_obj = new uebung(); - $uebung_obj->load($uebung_id); - //$downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); - $downloadname = mb_str_replace(' ', '_', $uebung_obj->bezeichnung); - $downloadname = mb_str_replace($uebung_id, $downloadname, $uebung_obj->angabedatei); - $downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname); - echo " - - - "; - - if ($uebung_obj->beispiele){ - echo " - "; - echo""; - echo ""; - } - else if ($uebung_obj->abgabe) - { - echo ""; - echo ""; - } - if ($uebung_obj->beispiele) - echo""; - echo ""; - echo ""; - if ($uebung_obj->angabedatei != '') - echo ""; - else - echo ""; - echo ""; - echo " - - -
".$p->t('benotungstool/ausgewaehlteAufgabeBearbeiten')." 
 
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/freigabe')."von mktime_fromtimestamp($uebung_obj->freigabevon))."'>
".$p->t('benotungstool/format')."bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
".$p->t('benotungstool/maxStudentenBeispiel')."$error_maxstd
".$p->t('benotungstool/maxBeispieleStudent')."$error_maxbsp
".$p->t('benotungstool/abgabe')." abgabe?'checked':'').">
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')." positiv?'checked':'').">
".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." statistik?'checked':'').">
".$p->t('benotungstool/angabeidatei')."".$downloadname." [del]
- -
"; - - $beispiel_obj = new beispiel(); - $beispiel_obj->load_beispiel($uebung_id); - $anzahl = count($beispiel_obj->beispiele); - echo "
"; - - //Beispiel neu Anlegen - if ($uebung_obj->beispiele) - { - echo "
\n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
".$p->t('benotungstool/neuesBeispielAnlegen')."
 
".$p->t('global/bezeichnung')." "; - echo " ".$p->t('benotungstool/punkte')."
-
"; - } - - echo "
"; - - - //Uebersicht der Beispiele - if ($uebung_obj->beispiele) - { - echo "
\n"; - echo "\n"; - echo "\n\n"; - - if($anzahl>0) - { - echo "\n"; - foreach ($beispiel_obj->beispiele as $row) - { - echo " - - "; - } - echo ""; - } - else - echo ""; - - echo "
".$p->t('benotungstool/vorhandeneBeispiele')."
 
".$p->t('benotungstool/beispiel')."".$p->t('benotungstool/punkte')."".$p->t('benotungstool/auswahl')."
".$row->bezeichnung."$row->punkte
".$p->t('benotungstool/keineBeispieleAngelegt')."
"; - } - echo "
"; - - //Beispiel Aendern - $error_msg = ''; - if(isset($beispiel_id) && $beispiel_id!='') - { - //Bearbeiten eines Beispiels - if($beispiel_obj->load($beispiel_id)) - { - echo "
\n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
".$p->t('benotungstool/beispielBearbeiten')."
 
".$p->t('global/bezeichnung')." "; - echo " ".$p->t('benotungstool/punkte')."
-


"; - } - else - $error_msg = $beispiel_obj->errormsg; - } - echo "
"; -} -else -{ - if(isset($liste_id) && $liste_id!='') - { - echo "
"; - //Bearbeiten der ausgewaehlten Liste - echo "
\n"; - echo "\n"; - echo ""; - - $liste_obj = new uebung(); - $liste_obj->load($liste_id); - - echo " - - - -
".$p->t('benotungstool/uebungBearbeiten')." 
 
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')." positiv?'checked':'').">
-
"; - } - - //Gesamtuebersicht ueber alle Listen innerhalb der Uebung - echo "
"; - echo "
"; - echo ""; - $studentuebung = new uebung(); - if (!$studentuebung->check_studentuebung($liste_id)) - echo ""; - - $uebung_obj = new uebung(); - $uebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$liste_id); - $anzahl = count($uebung_obj->uebungen); - $copy_content="
".$p->t('benotungstool/vorhandeneAufgabeBearbeiten')."
"; - $has_copy_content=false; - if($anzahl>0) - { - echo ""; - - //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren - //und der angemeldete User berechtigt ist - $copy_option_content = array(); - for($i=0;$i<$db->db_num_rows($result_alle_lehreinheiten);$i++) - { - $row_alle_lehreinheiten = $db->db_fetch_object($result_alle_lehreinheiten,$i); - if($lehreinheit_id!=$row_alle_lehreinheiten->lehreinheit_id) - { - //zugeteilte Lektoren holen - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id, FHC_INTEGER); - if($result_lektoren = $db->db_query($qry_lektoren)) - { - $lektoren = '( '; - $j=0; - while($row_lektoren = $db->db_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $j++; - if($j<$db->db_num_rows($result_lektoren)) - $lektoren.=', '; - else - $lektoren.=' '; - } - $lektoren .=')'; - } - //zugeteilte Gruppen holen - $qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id,FHC_INTEGER); - if($result_gruppen = $db->db_query($qry_gruppen)) - { - $gruppen = ''; - $j=0; - while($row_gruppen = $db->db_fetch_object($result_gruppen)) - { - if($row_gruppen->gruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $j++; - if($j<$db->db_num_rows($result_gruppen)) - $gruppen.=', '; - else - $gruppen.=' '; - } - } - //$copy_option_content.= "\n"; - $copy_le_content[$row_alle_lehreinheiten->lehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; - } - } - - //Uebungen durchlaufen - foreach ($uebung_obj->uebungen as $row) - { - $has_option_content=false; - echo ""; - //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von - //Uebungen in diese Lehreinheiten angeboten. - if(isset($result_alle_lehreinheiten) && $db->db_num_rows($result_alle_lehreinheiten)>1) - { - $copy_content.= ''; - $copy_content.= '"; - } - } - echo ""; - if ($row->beispiele) - $anzeigen = 'beispiele'; - else - $anzeigen = 'abgabe'; - } - else - { - $studentuebung = new uebung(); - if (!$studentuebung->check_studentuebung($liste_id)) - { - echo ""; - $anzeigen = 'beide'; - } - else - $anzeigen = "nada"; - } - - echo "
".$p->t('benotungstool/uebungInAndereLeKopieren')."
 
 
 
".$p->t('benotungstool/thema')."".$p->t('benotungstool/freigeschalten')."".$p->t('benotungstool/auswahl')." 
".$row->bezeichnung.""; - - if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) - echo $p->t('global/ja'); - else - echo $p->t('global/nein'); - echo "
'; - $copy_option_content = ''; - //Lehreinheiten fuer Combo durchgehen und schauen ob - //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert - //Falls ja wird diese nicht in der Combo angezeigt - foreach ($copy_le_content as $id=>$bezeichnung) - { - $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id=".$db->db_add_param($id, FHC_INTEGER)." AND bezeichnung=".$db->db_add_param($row->bezeichnung); - //echo $qry; - if($result_vorhanden = $db->db_query($qry)) - { - if($db->db_num_rows($result_vorhanden)==0) - { - $copy_option_content.= "\n"; - $has_option_content=true; - $has_copy_content=true; - } - } - } - //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt - if($has_option_content) - { - $copy_content.= "\n"; - $copy_content.= "\n '; - $copy_content.= "   "; - $copy_content.= "\n"; - } - else - { - $copy_content.=" "; - } - $copy_content.= "
".$p->t('benotungstool/derzeitSindKeineAufgabenAngelegt')."
-

"; - - //Kopier-Buttons anzeigen - $copy_content.='
'; - echo "
"; - //if($has_copy_content) - // echo $copy_content; - echo "
"; - - //Uebung neu anlegen - if(!isset($_POST['uebung_neu'])) - { - $thema = $p->t('benotungstool/liste')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - $anzahlderbeispiele = 10; - $punkteprobeispiel = 1; - $freigabevon = date('d.m.Y H:i'); - $freigabebis = date('d.m.Y H:i'); - $maxstudentenprobeispiel = ''; - $maxbeispieleprostudent = ''; - $gewicht = 1; - - } - echo "
"; - - if ($anzeigen != 'abgabe' && $anzeigen != 'nada') - { - echo " -
- - - - - - - - - - - - - - -
".$p->t('benotungstool/neueKreuzerllisteAnlegen')."
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/anzahlDerBeispiele')."$error_anzahlderbeispiele
".$p->t('benotungstool/anzahlPunkteProBeispiel')."$error_punkteprobeispiel
".$p->t('benotungstool/maxStudentenBeispiel')."$error_maxstd
".$p->t('benotungstool/maxBeispieleStudent')."$error_maxbsp
".$p->t('benotungstool/freigabe')."von $error_freigabevon
".$p->t('benotungstool/format')."bis $error_freigabebis
".$p->t('benotungstool/abgabe')."
".$p->t('benotungstool/statistikFuerStudentenAnzeigen')."
".$p->t('benotungstool/angabeidatei')."
-
- "; - // notenschlüssel - $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." order by note"; - if($result = $db->db_query($qry)) - { - $notenschluessel = array(); - $notenschluessel[1] = ''; - $notenschluessel[2] = ''; - $notenschluessel[3] = ''; - $notenschluessel[4] = ''; - $notenschluessel[5] = ''; - if($db->db_num_rows($result)>=1) - { - while($schluesselrow = $db->db_fetch_object($result)) - { - $notenschluessel[$schluesselrow->note] = $schluesselrow->punkte; - } - } - } - - if ($anzeigen != "beide") - { - if ($liste_obj->prozent == 't') - { - $einheit = " %"; - $einheit_link = $p->t('benotungstool/notenschluesselInProzent')." / ".$p->t('benotungstool/punkten').""; - } - else - { - $einheit=" ".$p->t('benotungstool/punkte'); - $einheit_link = $p->t('benotungstool/notenschluesselIn')." ".$p->t('benotungstool/prozentPunkten'); - } - - echo "
\n"; - echo "\n"; - echo ""; - echo ""; - echo ""; - echo "\n"; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - - echo "
".$p->t('benotungstool/notenschluesselDefinieren')."
"; - echo $einheit_link; - echo "
 
".$p->t('benotungstool/note')."".$p->t('benotungstool/minimum')."
$einheit
$einheit
$einheit
$einheit
$einheit
"; - if ($liste_obj->prozent == 't') - echo "
"; - echo "
-
"; - } - } - if(!isset($_POST['uebung_neu'])) - $thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - - if ($anzeigen != 'beispiele' && $anzeigen != 'nada') - { - echo " -
- - - - - - - - - - -
".$p->t('benotungstool/neueAbgabeAnlegen')."
".$p->t('benotungstool/thema')."$error_thema
".$p->t('benotungstool/freigabe')."von $error_freigabevon
".$p->t('benotungstool/format')."bis $error_freigabebis
".$p->t('benotungstool/gewicht')."$error_gewicht
".$p->t('benotungstool/positiv')."
".$p->t('benotungstool/angabeidatei')."
-
- "; - } -} -?> -
- - diff --git a/cis/private/lehre/benotungstool/zipdownload_benotungstool.php b/cis/private/lehre/benotungstool/zipdownload_benotungstool.php deleted file mode 100644 index 9e177dba7..000000000 --- a/cis/private/lehre/benotungstool/zipdownload_benotungstool.php +++ /dev/null @@ -1,91 +0,0 @@ -, - * Andreas Oesterreicher - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -/** - * Erstellt ein Zip Archiv des Download-Bereichs und leitet dann zum Download weiter - * @create 20-03-2006 - * Aufruf: zipdownload.php?stg=255&sem=1$short=eng - */ -require_once('../../../../config/cis.config.inc.php'); -require_once('../../../../include/functions.inc.php'); - -$user = get_uid(); - -if(!check_lektor($user)) - die('Sie haben keine Berechtigung fuer diese Seite'); - -//Gueltigkeit der Parameter pruefen -if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id'])) -{ - die('Fehler bei der Parameteruebergabe'); -} -if(!isset($_GET['lehreinheit_id']) || !is_numeric($_GET['lehreinheit_id'])) -{ - die('Fehler bei der Parameteruebergabe'); -} -if(!isset($_GET['stsem'])) -{ - die('Fehler bei der Parameteruebergabe'); -} -if(!isset($_GET['downloadname'])) -{ - die('Fehler bei der Parameteruebergabe'); -} - -$uebung_id = $_GET['uebung_id']; -$lehreinheit_id = $_GET['lehreinheit_id']; -$stsem = $_GET['stsem']; -$downloadname = $_GET['downloadname']; - -if(mb_strstr($downloadname,'..')) - die('Ungueltiger Parameter gefunden'); - -//Pfade bauen -$pfad = BENOTUNGSTOOL_PATH.'abgabe/'; -$filename = 'download_'.$user.'_'.$downloadname.'.zip'; -$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip'; - -if(!check_filename($filename) || !check_filename($filename_tmp)) - die('Ungueltiger Parameter gefunden'); - -//Pfad wechseln -if(chdir($pfad)) -{ - //File loeschen falls es existiert - //if(file_exists("download_".$user."*")) - exec('rm download_'.$user.'*'); - - //Zip File erstellen - exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*'); - - //Auf Zip File Verweisen - //header("Location: $pfad$filename"); - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$filename.'"'); - readfile($filename_tmp); - unlink($filename_tmp); -} -else -{ - die('Path change failed'); -} -?> diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 308058fba..82dcbda10 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -16,7 +16,6 @@ define('DEFAULT_MITARBEITER_FIXANGESTELLT', true); define('CIS_LEHRVERANSTALTUNG_NEWSGROUPS_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_DOWNLOAD_ANZEIGEN',true); -define('CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_PINBOARD_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_STUDENTENUPLOAD_ANZEIGEN',true); diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 2ab43807b..b8c42da11 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -275,41 +275,6 @@ function checkZeilenUmbruch() ); } - // Uebungstool - if((!defined('CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN) && $angemeldet) - { - $link=''; - $link_onclick=''; - $text=''; - - if(isset($angezeigtes_stsem)) - $studiensem = '&stsem='.urlencode($angezeigtes_stsem); - else - $studiensem = ''; - - //Kreuzerltool - if($is_lector) - { - $link='benotungstool/verwaltung.php?lvid='.urlencode($lvid).$studiensem; - $text.=''.$p->t('lehre/benotungstoolHandbuch').' [PDF]'; - } - else - { - $link='benotungstool/studentenansicht.php?lvid='.urlencode($lvid).$studiensem; - } - - $menu[]=array - ( - 'id'=>'core_menu_uebungstool', - 'position'=>'60', - 'name'=>$p->t('lehre/kreuzerltool'), - 'icon'=>'../../../skin/images/button_kreuzerltool.png', - 'link'=>$link, - 'link_onclick'=>$link_onclick, - 'text'=>$text - ); - } - //Gesamtnote if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet)) { From e19533c0ba6780a980fb2a2eb11ea4b0b2d6eab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 4 Feb 2020 14:30:12 +0100 Subject: [PATCH 21/22] Removed legacy Link from Vilesci Menu --- include/tw/vilesci_menu_main.inc.php | 1 - 1 file changed, 1 deletion(-) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index c49542246..d465eba28 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -185,7 +185,6 @@ $menu=array 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main','permissions'=>array('lehre/vorrueckung'),), 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),) ), - 'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')), 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')), 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')), 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')), From a66d319581e760968fec94f7540a3b74537b8d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 4 Feb 2020 14:58:33 +0100 Subject: [PATCH 22/22] Fixed some XSS Bugs --- cis/index.php | 5 +++-- cis/private/stud_in_grp.php | 2 +- include/pgsql.class.php | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cis/index.php b/cis/index.php index f9e18cbda..a6ec16786 100644 --- a/cis/index.php +++ b/cis/index.php @@ -70,13 +70,14 @@ if(defined('CIS_CHECK_PASSWORD_CHANGE') && CIS_CHECK_PASSWORD_CHANGE==true) */ function validURLCheck($param) { - if(strstr($param,':')) + if (strstr($param,':') || strstr($param,'//')) { // Der APP_ROOT muss in der URL vorkommen, sonfern es kein relativer Pfad ist // HTTPS und HTTP if(mb_strpos($param, APP_ROOT)!==0 && mb_strpos(mb_str_replace("http://","https://", $param), APP_ROOT)!==0 - && mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0) + && mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0 + && $param != 'about:blank') { $text="Dies ist eine automatische Mail.\nEs wurde eine mögliche XSS Attacke durchgefuehrt:\n"; $text.="\nFolgende URL wurde versucht aufzurufen: \n".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; diff --git a/cis/private/stud_in_grp.php b/cis/private/stud_in_grp.php index abf3a67a1..d2f9e2d2c 100644 --- a/cis/private/stud_in_grp.php +++ b/cis/private/stud_in_grp.php @@ -183,7 +183,7 @@ else AND studiengang_kz=".$db->db_add_param($_GET['kz']); if (isset($_GET['sem'])) - $qry.=" AND semester=".$db->db_add_param($_GET['sem']); + $qry.=" AND semester=".$db->db_add_param($_GET['sem'], FHC_INTEGER); if (isset($_GET['verband'])) $qry.=" AND verband=".$db->db_add_param($_GET['verband']); diff --git a/include/pgsql.class.php b/include/pgsql.class.php index 52ac9b4f8..7e0333b9f 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -289,7 +289,7 @@ class basis_db extends db case FHC_INTEGER: $var = $this->db_escape($var); if(!is_numeric($var) && $var!=='') - die('Invalid Integer Parameter detected:'.$var); + die('Invalid Integer Parameter detected'); $var = $this->db_null_value($var, false); break;