From 1121eb8352ba11f87e02d00e18f9f08c77f5262f Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 16 May 2019 12:58:59 +0200 Subject: [PATCH 1/9] - Updated composer.json and composer.lock - Changed phpci.yml to be used with the new CI machine --- composer.json | 3 - composer.lock | 97 +++------------------------------ phpci.yml | 148 ++++++++++++++++++++++++++++++++++---------------- 3 files changed, 111 insertions(+), 137 deletions(-) diff --git a/composer.json b/composer.json index 4dee6d438..d763dc5ad 100644 --- a/composer.json +++ b/composer.json @@ -278,9 +278,6 @@ "zetacomponents/workflow-database-tiein": "1.*", "zetacomponents/workflow-event-log-tiein": "1.*" }, - "require-dev": { - "squizlabs/php_codesniffer": "2.*" - }, "config": { "bin-dir": "vendor/bin" } diff --git a/composer.lock b/composer.lock index e22b4e733..8fc88ce07 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": "5cc3ff3f9a49ae251ef22baabfd33768", - "content-hash": "7b2f22ffd076c3cf329fe7d2c01a174d", + "hash": "ddbbad487c655512e6983408339cb85f", + "content-hash": "b5902c71fe21cd14397101dba5a3080c", "packages": [ { "name": "BlackrockDigital/startbootstrap-sb-admin-2", @@ -2180,16 +2180,16 @@ }, { "name": "twig/twig", - "version": "v1.40.1", + "version": "v1.41.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "35889516bbd6bbe46a600c2c33b03515df4a076e" + "reference": "575cd5028362da591facde1ef5d7b94553c375c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/35889516bbd6bbe46a600c2c33b03515df4a076e", - "reference": "35889516bbd6bbe46a600c2c33b03515df4a076e", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/575cd5028362da591facde1ef5d7b94553c375c9", + "reference": "575cd5028362da591facde1ef5d7b94553c375c9", "shasum": "" }, "require": { @@ -2204,7 +2204,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.40-dev" + "dev-master": "1.41-dev" } }, "autoload": { @@ -2242,7 +2242,7 @@ "keywords": [ "templating" ], - "time": "2019-04-29 14:12:28" + "time": "2019-05-14 11:59:08" }, { "name": "zetacomponents/base", @@ -2630,86 +2630,7 @@ "time": "2007-12-17 09:04:44" } ], - "packages-dev": [ - { - "name": "squizlabs/php_codesniffer", - "version": "2.9.2", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "2acf168de78487db620ab4bc524135a13cfe6745" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/2acf168de78487db620ab4bc524135a13cfe6745", - "reference": "2acf168de78487db620ab4bc524135a13cfe6745", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "bin": [ - "scripts/phpcs", - "scripts/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Fixer.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", - "keywords": [ - "phpcs", - "standards" - ], - "time": "2018-11-07 22:31:41" - } - ], + "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], diff --git a/phpci.yml b/phpci.yml index b8942d4aa..1edfb36d4 100644 --- a/phpci.yml +++ b/phpci.yml @@ -1,55 +1,111 @@ +# Globally valid entries build_settings: - verbose: false - prefer_symlink: false - ignore: + ignore: # Ignores vendor and tests folders - "vendor" - "tests" - pgsql: - host: 'localhost;dbname=template1' - user: 'fhcomplete' - pass: 'fhcomplete' + pgsql: # PostgreSQL connection parameters + host: "localhost;dbname=template1" # Connects to the template1 database to be able to drop database fhcomplete + user: "fhcomplete" + pass: "fhcomplete" -setup: - composer: +setup: # First! + pgsql: # Close previous connections to database -> drop database -> create database + - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhcomplete';" + - "DROP DATABASE IF EXISTS fhcomplete;" + - "CREATE DATABASE fhcomplete;" + composer: # Run composer to install all the required 3rd party software action: "install" - prefer_dist: true - no_dev: true - pgsql: - - "UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'fhctest';" # Stops connections to database - - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhctest';" # Close previous connections to database - - "DROP DATABASE IF EXISTS fhctest;" # Drops database - - "CREATE DATABASE fhctest OWNER fhcomplete;" # Creates database shell: - - "rm -f /var/www/html/build" # Remove the previous soft link, if exists, to the build directory - - "ln -s %BUILD_PATH% /var/www/html/build" # Create a new soft link to the actual build directory - # Copies configuration files - - "cp /home/phpci/config/*.inc.php %BUILD_PATH%/config/" - - "cp /home/phpci/config/*.php %BUILD_PATH%/application/config/" - - "cd %BUILD_PATH% && php index.ci.php DBTools migrate" # Install Database -test: - lint: - directories: - - "application/" - recursive: true - codeception: + # Install addons + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Abrechnung.git %BUILD_PATH%/addons/abrechnung" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Asterisk.git %BUILD_PATH%/addons/asterisk" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Aufnahme.git %BUILD_PATH%/addons/aufnahme" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Bewerbung.git %BUILD_PATH%/addons/bewerbung" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-CaseTime.git %BUILD_PATH%/addons/casetime" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LDAP.git %BUILD_PATH%/addons/ldap" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Lehrmittel.git %BUILD_PATH%/addons/lehrmittel" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LV-Evaluierung.git %BUILD_PATH%/addons/lvevaluierung" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-LVInfo.git %BUILD_PATH%/addons/lvinfo" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Kompetenzen.git %BUILD_PATH%/addons/kompetenzen" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Moodle.git %BUILD_PATH%/addons/moodle" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Reports.git %BUILD_PATH%/addons/reports" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Studiengangsverwaltung.git %BUILD_PATH%/addons/studiengangsverwaltung" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-Textbausteine.git %BUILD_PATH%/addons/textbausteine" + - "git clone --quiet https://github.com/FH-Complete/FHC-AddOn-WaWi.git %BUILD_PATH%/addons/wawi" + # Copy addons configs + - "cp -R /var/www/configs/fhc/abrechnung/* %BUILD_PATH%/addons/abrechnung" + - "cp -R /var/www/configs/fhc/asterisk/* %BUILD_PATH%/addons/asterisk" + - "cp -R /var/www/configs/fhc/bewerbung/* %BUILD_PATH%/addons/bewerbung" + - "cp -R /var/www/configs/fhc/casetime/* %BUILD_PATH%/addons/casetime" + - "cp -R /var/www/configs/fhc/lehrmittel/* %BUILD_PATH%/addons/lehrmittel" + - "cp -R /var/www/configs/fhc/lvinfo/* %BUILD_PATH%/addons/lvinfo" + - "cp -R /var/www/configs/fhc/reports/* %BUILD_PATH%/addons/reports" + - "cp -R /var/www/configs/fhc/wawi/* %BUILD_PATH%/addons/wawi" + # Copy core configs and .htaccess + - "cp -R /var/www/configs/fhc/configs/* ./config" + - "cp /var/www/configs/fhc/configs/.htaccess ./cis/private/" + - "cp /var/www/configs/fhc/configs/.htaccess ./content" + - "cp /var/www/configs/fhc/configs/.htaccess ./rdf" + - "cp /var/www/configs/fhc/configs/.htaccess ./system" + - "cp /var/www/configs/fhc/configs/.htaccess ./vilesci" + # Create core directories + - "mkdir documents" + - "mkdir documents/csv_import" + - "mkdir documents/dms" + - "mkdir documents/import" + - "mkdir documents/benotungstool" + - "mkdir paabgabe" + # Copy codeigniter configs + - "mkdir ./application/config/development" + - "cp -R /var/www/configs/ci/* ./application/config/development" + # Clone extensions + - "git clone --quiet https://github.com/FH-Complete/FHC-Core-MobilityOnline.git /tmp/FHC-Core-MobilityOnline" + - "git clone --quiet https://github.com/FH-Complete/FHC-Core-Budget.git /tmp/FHC-Core-Budget" + - "git clone --quiet https://github.com/FH-Complete/FHC-Core-DSMS.git /tmp/FHC-Core-DSMS" + - "git clone --quiet https://github.com/FH-Complete/FHC-Core-Nextcloud.git /tmp/FHC-Core-Nextcloud" + # Create extensions archives + - "tar cfzP /tmp/FHC-Core-MobilityOnline.tgz /tmp/FHC-Core-MobilityOnline/" + - "tar cfzP /tmp/FHC-Core-Budget.tgz /tmp/FHC-Core-Budget/" + - "tar cfzP /tmp/FHC-Core-DSMS.tgz /tmp/FHC-Core-DSMS/" + - "tar cfzP /tmp/FHC-Core-Nextcloud.tgz /tmp/FHC-Core-Nextcloud/" + # Install extensions + - "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-MobilityOnline /tmp/FHC-Core-MobilityOnline.tgz" + - "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-Budget /tmp/FHC-Core-Budget.tgz" + - "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-DSMS /tmp/FHC-Core-DSMS.tgz" + - "php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-Nextcloud /tmp/FHC-Core-Nextcloud.tgz" + # Remove temporary files + - "rm -fR /tmp/FHC-Core-MobilityOnline*" + - "rm -fR /tmp/FHC-Core-Budget*" + - "rm -fR /tmp/FHC-Core-DSMS*" + - "rm -fR /tmp/FHC-Core-Nextcloud*" + # Change files permissions + - "chmod -R 0770 *" + - "find . -type f -exec chmod 0644 {} \\;" + # Create a symlink to the current build folder + - "ln -s %BUILD_PATH% ../fhcomplete" + +test: # Run tests + php_parallel_lint: # Lint + allow_failures: true + php_mess_detector: # Mess detector + allow_failures: true + php_cpd: # Copy/paste detector + allow_failures: true + php_code_sniffer: # Code sniffer + standard: "tests/codesniffer/FHComplete" + allow_failures: true + codeception: # Codeception config: "tests/codeception/" path: "tests/codeception/_output/" -# php_docblock_checker: -# path: "application/controllers/" -# allowed_warnings: 100 -# skip_classes: false -# php_code_sniffer: -# path: "application/controllers/" -# standard: "tests/codesniffer/FHComplete" -# allowed_errors: 200 -# allowed_warnings: 200 -# php_unit: -# directory: "tests/phpunit/" + allow_failures: true -complete: - pgsql: - - "UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'fhctest';" # Stops connections to database - - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhctest';" # Close previous connections to database - - "DROP DATABASE IF EXISTS fhctest;" # Drops database - shell: - - "rm -f /var/www/html/build" # Remove the previous soft link, if exists, to the build directory \ No newline at end of file +failure: # On failure + email: # Send an email to warn the team + default_mailto_address: systementwicklung@technikum-wien.at + +complete: # Last! + pgsql: # Close previous connections to database -> drop database + - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND datname = 'fhcomplete';" + - "DROP DATABASE IF EXISTS fhcomplete;" + shell: # Remove the previously created symlink + - "rm ../fhcomplete" From ee7209266fef1d0a62c352b86570680067f2079e Mon Sep 17 00:00:00 2001 From: raab Date: Fri, 17 May 2019 09:28:04 +0200 Subject: [PATCH 2/9] CSV-Import um service_id erweitert --- cis/private/tools/zeitaufzeichnung.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index a644f9b77..bb509ef90 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -545,7 +545,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->aktivitaet_kurzbz = $data[1]; $zeit->start = $datum->formatDatum($data[2], $format='Y-m-d H:i:s'); $zeit->ende = $datum->formatDatum($data[3], $format='Y-m-d H:i:s'); - $zeit->beschreibung = $data[4]; + if (isset($data[4])) + $zeit->beschreibung = $data[4]; + if (isset($data[5])) + $zeit->service_id = $data[5]; $tag = $datum->formatDatum($data[2], $format='Y-m-d'); if(!in_array($tag, $importtage_array)) From a8bd11b03c2820f2d34c327ff9c17ade0b1b4f2c Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:45:13 +0200 Subject: [PATCH 3/9] =?UTF-8?q?Testuser=20f=C3=BCr=20Camus=20International?= =?UTF-8?q?=20in=20Testtool=20Login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/testtool/login.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cis/testtool/login.php b/cis/testtool/login.php index dd4115ed7..ea0387d52 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -120,8 +120,12 @@ if (isset($_POST['prestudent']) && isset($gebdatum)) $rt = new reihungstest(); // Wenns der Dummy ist dann extra laden + // An der FHTW gibt es 3 Testuser für den Camus International $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); - if($prestudent_id_dummy_student==$ps->prestudent_id) + if($prestudent_id_dummy_student==$ps->prestudent_id || + (CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30891) || + (CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30890) || + (CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30889)) { $rt->getReihungstestPerson($ps->person_id); if(isset($rt->result[0])) @@ -613,6 +617,13 @@ else $selected=''; echo '\n'; } + // An der FHTW gibt es 3 Testuser für den Camus International + if (CAMPUS_NAME == 'FH Technikum Wien') + { + echo '\n'; + echo '\n'; + echo '\n'; + } echo ''; echo '  '.$p->t('global/geburtsdatum').': '; echo ''; From 31de258b7fc7a49127f370f830e90c4f9e2c0d2f Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:45:27 +0200 Subject: [PATCH 4/9] =?UTF-8?q?Lehrgangsart=20in=20Studiengang=C3=BCbersic?= =?UTF-8?q?ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/stammdaten/studiengang_uebersicht.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vilesci/stammdaten/studiengang_uebersicht.php b/vilesci/stammdaten/studiengang_uebersicht.php index 64b5721ff..c81e1e35b 100644 --- a/vilesci/stammdaten/studiengang_uebersicht.php +++ b/vilesci/stammdaten/studiengang_uebersicht.php @@ -65,6 +65,7 @@ require_once('../../include/benutzerberechtigung.class.php'); Typ Bezeichnung Englisch + Lehrgangsart Aktiv Email @@ -72,6 +73,8 @@ require_once('../../include/benutzerberechtigung.class.php'); $i = 0; foreach ($sg->result as $stg) { + $lehrgangsart = new studiengang(); + $lehrgangsart->loadLehrgangstyp($stg->lgartcode); //$htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " ".$stg->studiengang_kz."\n"; @@ -80,6 +83,7 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " ".$stg->typ."\n"; $htmlstr .= " ".$stg->bezeichnung."\n"; $htmlstr .= " ".$stg->english."\n"; + $htmlstr .= " ".$lehrgangsart->bezeichnung."\n"; if($stg->aktiv) $aktivbild = "true.png"; From 92b1850cd8c59883192dfd54a9ea13bf9f0261fe Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:45:44 +0200 Subject: [PATCH 5/9] Cronjobverwaltung GUI-Verbesserungen --- vilesci/stammdaten/cronjobverwaltung.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vilesci/stammdaten/cronjobverwaltung.php b/vilesci/stammdaten/cronjobverwaltung.php index 405bd4db0..c1d011d98 100644 --- a/vilesci/stammdaten/cronjobverwaltung.php +++ b/vilesci/stammdaten/cronjobverwaltung.php @@ -258,7 +258,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit' || $_GET['type']=='new')) - + @@ -287,7 +287,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit' || $_GET['type']=='new')) - + @@ -322,6 +322,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit' || $_GET['type']=='new')) + From 45c1304b51993bed49570a2ae4e9b6b56916f331 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:48:49 +0200 Subject: [PATCH 6/9] convert_html_chars bei Studiengangsnamen Um Sonderzeichen herauszufiltern --- rdf/ausbildungsvertrag.xml.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/rdf/ausbildungsvertrag.xml.php b/rdf/ausbildungsvertrag.xml.php index 647ef3168..062ed5f17 100644 --- a/rdf/ausbildungsvertrag.xml.php +++ b/rdf/ausbildungsvertrag.xml.php @@ -86,8 +86,8 @@ if($student_help->load($uid)) $studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch; echo "\t".$studTyp."\n"; - echo "\t".$studiengang_bezeichnung."\n"; - echo "\t".$studiengang_bezeichnung_englisch."\n"; + echo "\t".$db->convert_html_chars($studiengang_bezeichnung)."\n"; + echo "\t".$db->convert_html_chars($studiengang_bezeichnung_englisch)."\n"; } foreach($uid_arr as $uid) @@ -148,8 +148,8 @@ foreach($uid_arr as $uid) echo "\t\t".$staatsbuergerschaft->langtext."\n"; echo "\t\t".$svnr."\n"; echo "\t\t".trim($student->matrikelnr)."\n"; - echo "\t\t".$studiengang_bezeichnung."\n"; - echo "\t\t".$studiengang_bezeichnung_englisch."\n"; + echo "\t\t".$db->convert_html_chars($studiengang_bezeichnung)."\n"; + echo "\t\t".$db->convert_html_chars($studiengang_bezeichnung_englisch)."\n"; echo "\t\t".$studiengang->kurzbzlang."\n"; echo "\t\t".$studiengang_kz."\n"; echo "\t\t".$studiengang->sprache.""; @@ -301,8 +301,8 @@ if($prestudent_help->load($prest_id)) $studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch; echo "\t".$studTyp."\n"; - echo "\t".$studiengang_bezeichnung."\n"; - echo "\t".$studiengang_bezeichnung_englisch."\n"; + echo "\t".$db->convert_html_chars($studiengang_bezeichnung)."\n"; + echo "\t".$db->convert_html_chars($studiengang_bezeichnung_englisch)."\n"; } foreach($prestudent_arr as $prest_id) @@ -364,8 +364,8 @@ foreach($prestudent_arr as $prest_id) echo "\t\t".$person->gebort."\n"; echo "\t\t".$staatsbuergerschaft->langtext."\n"; echo "\t\t".$svnr."\n"; - echo "\t\t".$studiengang_bezeichnung."\n"; - echo "\t\t".$studiengang_bezeichnung_englisch."\n"; + echo "\t\t".$db->convert_html_chars($studiengang_bezeichnung)."\n"; + echo "\t\t".$db->convert_html_chars($studiengang_bezeichnung_englisch)."\n"; echo "\t\t".$studiengang->kurzbzlang."\n"; echo "\t\t".$studiengang_kz."\n"; echo "\t\t".$studiengang->sprache.""; From d449431469c6f6dd3b822901c28a8da655c27f19 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:49:10 +0200 Subject: [PATCH 7/9] SQL formatted --- include/kontakt.class.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/kontakt.class.php b/include/kontakt.class.php index b09bf6683..0ac3fccde 100644 --- a/include/kontakt.class.php +++ b/include/kontakt.class.php @@ -279,9 +279,14 @@ class kontakt extends basis_db return false; } - $qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id - FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." - AND kontakttyp =".$this->db_add_param($kontakttyp, FHC_STRING); + $qry = "SELECT tbl_kontakt.*, + tbl_firma.NAME AS firma_name, + tbl_firma.firma_id + FROM PUBLIC.tbl_kontakt + LEFT JOIN PUBLIC.tbl_standort USING (standort_id) + LEFT JOIN PUBLIC.tbl_firma USING (firma_id) + WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND kontakttyp = ".$this->db_add_param($kontakttyp, FHC_STRING); if ($order != null) $qry .= " ORDER BY ".$order; From d95441fb529b8760022d3de8f68d4ee33f27430d Mon Sep 17 00:00:00 2001 From: raab Date: Tue, 21 May 2019 13:30:14 +0200 Subject: [PATCH 8/9] =?UTF-8?q?text=20eidesstattliche=20erkl=C3=A4rung=20a?= =?UTF-8?q?ngepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/de-AT/abgabetool.php | 2 +- locale/en-US/abgabetool.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/de-AT/abgabetool.php b/locale/de-AT/abgabetool.php index 1d103abf3..eb12cab75 100644 --- a/locale/de-AT/abgabetool.php +++ b/locale/de-AT/abgabetool.php @@ -70,7 +70,7 @@ $this->phrasen['abgabetool/fehlerTerminVorbei']='Die Abgabefrist für diesen Ter $this->phrasen['abgabetool/eidesstattlicheErklaerung']='Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit selbständig angefertigt habe. Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Die Arbeit wurde bisher weder in gleicher noch in ähnlicher Form einer anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht.

-Ich räume der Fachhochschule Technikum Wien das Recht ein, das/die übermittelte/n Dokument/e elektronisch zu speichern und in Datennetzen öffentlich zugänglich zu machen. +Ich räume der Fachhochschule Technikum Wien das Recht ein, das/die übermittelte/n Dokument/e elektronisch zu speichern und - im Falle von Masterarbeiten - in Datennetzen öffentlich zugänglich zu machen. Ich räume der Fachhochschule Technikum Wien ferner das Recht zur Konvertierung zum Zwecke der Langzeitarchivierung unter Beachtung der Bewahrung des Inhalts ein. Ich erkläre außerdem, dass von mir die urheber- und lizenzrechtliche Seite (Copyright) geklärt wurde und Rechte Dritter der Publikation nicht entgegenstehen.

Bei den Master Arbeiten dürfen ausschließlich Dokumente hochgeladen werden, bei denen die `Eidesstattliche Erklärung´ nicht unterschrieben ist (Datenschutz). diff --git a/locale/en-US/abgabetool.php b/locale/en-US/abgabetool.php index a5e201e22..bc4201125 100644 --- a/locale/en-US/abgabetool.php +++ b/locale/en-US/abgabetool.php @@ -70,7 +70,7 @@ $this->phrasen['abgabetool/eidesstattlicheErklaerung']='I confirm that this pape All sources and quotations have been fully acknowledged in the appropriate places with adequate footnotes and citations. Quotations have been properly acknowledged and marked with appropriate punctuation. The works consulted are listed in the bibliography. This paper has not been submitted to another examination panel in the same or a similar form, and has not been published.

-I grant the University Of Applied Sciences Technikum Wien the right to store the uploaded file(s) in electronic form and to make them publicly available in data networks. +I grant the University Of Applied Sciences Technikum Wien the right to store the uploaded file(s) in electronic form and - in the case of master\'s theses - to make them publicly available in data networks. I further grant the University of Applied Sciences Technikum Wien the right to convert the file(s) for long term preservation purposes. I declare that copyright and licensing issues related to my work have been resolved and that therefore no rights on the part of any third parties impede the publication.

Bei den Master Arbeiten dürfen ausschließlich Dokumente hochgeladen werden, bei denen die `Eidesstattliche Erklärung´ nicht unterschrieben ist (Datenschutz). From 73328f0dea2459ef1cab8199b28a0e98f51d2e7c Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 21 May 2019 18:28:28 +0200 Subject: [PATCH 9/9] =?UTF-8?q?Infocenter=20Message=20Sending=20-=20Infoce?= =?UTF-8?q?nter=20RT=20Freigabe=20not=20sent=20if=20Prestudent=20has=20ANY?= =?UTF-8?q?=20best=C3=A4tigt=20Interessentenstatus=20for=20the=20Studiense?= =?UTF-8?q?mester=20(not=20only=20last=20Status)=20-=20removed=20unnecessa?= =?UTF-8?q?ry=20interessentenCount=20array=20-=20moved=20part=20of=20messa?= =?UTF-8?q?ge=20send=20check=20logic=20to=20InfoCenter=20Controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/infocenter/InfoCenter.php | 51 +++++++++++++++---- public/js/infocenter/infocenterDetails.js | 25 ++++----- 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 575f1f23b..4a66daabe 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -65,6 +65,9 @@ class InfoCenter extends Auth_Controller ) ); + // Statusgruende for which no Studiengangsfreigabemessage should be sent + private $_statusgruendeNoStgFreigabeMessage = array('FIT Programm', 'FIT program', 'FIT programme'); + /** * Constructor */ @@ -1210,18 +1213,16 @@ class InfoCenter extends Auth_Controller show_error($prestudenten->retval); } - $interessentenCount = array(); - foreach ($prestudenten->retval as $prestudent) { - $prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent->prestudent_id); + $prestudentWithZgv = $this->PrestudentModel->getPrestudentWithZgv($prestudent->prestudent_id); - if (isError($prestudent)) + if (isError($prestudentWithZgv)) { - show_error($prestudent->retval); + show_error($prestudentWithZgv->retval); } - $zgvpruefung = $prestudent->retval[0]; + $zgvpruefung = $prestudentWithZgv->retval[0]; if (isset($zgvpruefung->prestudentstatus)) { @@ -1233,7 +1234,39 @@ class InfoCenter extends Auth_Controller //if prestudent is not interessent or is already bestaetigt, then show only as information, non-editable $zgvpruefung->infoonly = !isset($zgvpruefung->prestudentstatus) || isset($zgvpruefung->prestudentstatus->bestaetigtam) || $zgvpruefung->prestudentstatus->status_kurzbz != 'Interessent'; - //numeric application priority + //wether prestudent was freigegeben for RT/Stg + $zgvpruefung->isRtFreigegeben = false; + $zgvpruefung->isStgFreigegeben = false; + $zgvpruefung->sendStgFreigabeMsg = true;//wether Stgudiengangfreigabemessage can be sent (for "exceptions", Studiengänge with no message sending) + $this->PrestudentstatusModel->addSelect('bestaetigtam, statusgrund_id, tbl_status_grund.bezeichnung_mehrsprachig AS bezeichnung_statusgrund'); + $this->PrestudentstatusModel->addJoin('public.tbl_status_grund', 'statusgrund_id', 'LEFT'); + $isFreigegeben = $this->PrestudentstatusModel->loadWhere(array('studiensemester_kurzbz' => $zgvpruefung->prestudentstatus->studiensemester_kurzbz, + 'tbl_prestudentstatus.status_kurzbz' => 'Interessent', 'prestudent_id' => $prestudent->prestudent_id)); + + + if (hasData($isFreigegeben)) + { + foreach ($isFreigegeben->retval as $prestudentstatus) + { + if (isset($prestudentstatus->bestaetigtam)) + { + //if statusgrund set - RTfreigabe, otherwise Stgfreigabe + if (isset($prestudentstatus->statusgrund_id)) + { + if (isset($prestudentstatus->bezeichnung_statusgrund[0]) + && in_array($prestudentstatus->bezeichnung_statusgrund[0], $this->_statusgruendeNoStgFreigabeMessage)) + $zgvpruefung->sendStgFreigabeMsg = false; + else + $zgvpruefung->isStgFreigegeben = true; + + } + else + $zgvpruefung->isRtFreigegeben = true; + } + } + } + + //application priority change possible? $zgvpruefung->changeup = false; $zgvpruefung->changedown = false; @@ -1244,10 +1277,6 @@ class InfoCenter extends Auth_Controller $studiensemester = $zgvpruefung->prestudentstatus->studiensemester_kurzbz; $zgvpruefung->changeup = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, -1); $zgvpruefung->changedown = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, 1); - if (array_key_exists($studiensemester, $interessentenCount)) - $interessentenCount[$studiensemester]++; - else - $interessentenCount[$studiensemester] = 1; } } diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index e05b772ce..471fc1c18 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -9,7 +9,6 @@ const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben"; //Statusgründe for which no Studiengang Freigabe Message should be sent const FIT_PROGRAMM_STUDIENGAENGE = [10021, 10027]; -const STGFREIGABE_MESSAGESEND_EXCEPTIONS = ["FIT Programm", "FIT program", "FIT programme"]; /** * javascript file for infocenterDetails page @@ -510,10 +509,11 @@ var InfocenterDetails = { var prestudent_id = freigabedata.prestudent_id; var statusgrund_id = freigabedata.statusgrund_id; - var rtfreigabe = !$.isNumeric(statusgrund_id); + var rtfreigabe = !$.isNumeric(statusgrund_id);//no Statusgrund - RT Freigabe var rtFreigegeben = false; var stgFreigegeben = false; + var receiverPrestudent = null; var receiverPrestudentstatus = null; //get prestudentstatus of message receiver @@ -521,12 +521,13 @@ var InfocenterDetails = { { if (prestudentdata[i].prestudentstatus.prestudent_id === prestudent_id) { - receiverPrestudentstatus = prestudentdata[i].prestudentstatus; + receiverPrestudent = prestudentdata[i]; + receiverPrestudentstatus = receiverPrestudent.prestudentstatus; break; } } - if (receiverPrestudentstatus == null) + if (receiverPrestudent == null || receiverPrestudentstatus == null) return; //check other prestudentstati wether already freigegeben @@ -536,20 +537,18 @@ var InfocenterDetails = { var prestudentstatus = prestudent.prestudentstatus; var id = prestudentstatus.prestudent_id; - if (id !== prestudent_id) + if (id !== prestudent_id) //exclude receiver prestudentstatus { - var fitfreigegeben = $.inArray(prestudentstatus.bezeichnung_statusgrund[0], STGFREIGABE_MESSAGESEND_EXCEPTIONS) >= 0; var fitstg = $.inArray(parseInt(prestudent.studiengang_kz), FIT_PROGRAMM_STUDIENGAENGE) >= 0; if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz - && prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent" && (prestudent.studiengangtyp === "b" || fitstg)) { - if (prestudentstatus.statusgrund_id === null) + if (prestudent.isRtFreigegeben) { rtFreigegeben = true; } - else if ($.isNumeric(prestudentstatus.statusgrund_id) && !fitfreigegeben) + else if (prestudent.isStgFreigegeben) { stgFreigegeben = true; } @@ -603,12 +602,10 @@ var InfocenterDetails = { InfocenterDetails.sendFreigabeMessage(prestudent_id, vorlage, msgvars); } } - else if (rtfreigabe === false) + else { - var statusgrundbez = freigabedata.statusgrundbezeichnung ? freigabedata.statusgrundbezeichnung : ""; - - //if Freigabe to Studiengang, send StgFreigabe Message if not already sent - if (!stgFreigegeben && $.inArray(statusgrundbez, STGFREIGABE_MESSAGESEND_EXCEPTIONS) < 0) + //if Freigabe to Studiengang, send StgFreigabe Message if not already sent and allowed to send + if (!stgFreigegeben && receiverPrestudent.sendStgFreigabeMsg === true) { InfocenterDetails.sendFreigabeMessage(prestudent_id, STGFREIGABE_MESSAGE_VORLAGE, msgvars); }