This commit is contained in:
hainberg
2020-02-10 14:53:35 +01:00
56 changed files with 1683 additions and 2080 deletions
+3 -1
View File
@@ -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
/*
|--------------------------------------------------------------------------
@@ -26,7 +26,7 @@ class Lehrauftrag extends Auth_Controller
array(
'index' => 'lehre/lehrauftrag_bestellen:r',
'orderLehrauftrag' => 'lehre/lehrauftrag_bestellen:rw',
'Dashboard' => array('lehre/lehrauftrag_bestellen:r', 'lehre/lehrauftrag_erteilen:rw'),
'Dashboard' => array('lehre/lehrauftrag_bestellen:r', 'lehre/lehrauftrag_erteilen:r'),
'LehrendeUebersicht' => array('lehre/lehrauftrag_erteilen:r')
)
);
@@ -107,7 +107,7 @@ class Lehrauftrag extends Auth_Controller
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
{
$studiensemester = $this->StudiensemesterModel->getNext();
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
if (hasData($studiensemester))
{
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
@@ -71,7 +71,7 @@ class LehrauftragAkzeptieren extends Auth_Controller
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
{
$studiensemester = $this->StudiensemesterModel->getNext();
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
if (hasData($studiensemester))
{
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
@@ -90,7 +90,7 @@ class LehrauftragErteilen extends Auth_Controller
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
{
$studiensemester = $this->StudiensemesterModel->getNext();
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
if (hasData($studiensemester))
{
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
@@ -0,0 +1,31 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller is used to set the current language for a user
* It is part of the Language Switcher Widget
*/
class Language extends FHC_Controller
{
/**
* Calls the parent's constructor
*/
public function __construct()
{
parent::__construct();
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
*
*/
public function setSessionLanguage()
{
$language = $this->input->post('language');
$this->outputJson(setUserLanguage($language));
}
}
+19
View File
@@ -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');
}
}
}
+111 -26
View File
@@ -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[LANG_SESSION_CURRENT_LANGUAGE]) && !isEmptyString($_SESSION[LANG_SESSION_CURRENT_LANGUAGE]))
{
$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
// 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;
@@ -62,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);
}
@@ -100,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
}
+28
View File
@@ -0,0 +1,28 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
use phpseclib\Crypt\Rijndael;
/**
* Collection of different encryption/hashing algorithms
*/
class CryptLib
{
/**
* Encrypt using the Rijndael algorithm with a key length of 256 bits and the ECB mode
* It is possible to disable the padding, enabled by default
*/
public static function RIJNDAEL_256_ECB($value, $key, $paddingDisabled = false)
{
if (isEmptyString($key) || strlen($value) % 32 != 0) return null;
$cipher = new Rijndael(Rijndael::MODE_ECB);
$cipher->setBlockLength(256);
$cipher->setKey($key);
if ($paddingDisabled === true) $cipher->disablePadding();
return $cipher->encrypt($value);
}
}
+1 -1
View File
@@ -101,7 +101,7 @@ class FilterWidgetLib
const FILTER_UNIQUE_ID = 'filterUniqueId'; // Filter page parameter name
const PERMISSION_FILTER_METHOD = 'FilterWidget'; // Name for fake method to be checked by the PermissionLib
const PERMISSION_TYPE = 'rw';
const PERMISSION_TYPE = 'r';
// Name and array keys of the filters menu array
const NAV_MENU_FILTER_KEY = 'filters';
+1 -1
View File
@@ -66,7 +66,7 @@ class TableWidgetLib
const DATASET_REP_TABULATOR = 'tabulator';
const PERMISSION_TABLE_METHOD = 'TableWidget'; // Name for fake method to be checked by the PermissionLib
const PERMISSION_TYPE = 'rw';
const PERMISSION_TYPE = 'r';
private $_ci; // Code igniter instance
private $_tableUniqueId; // unique id for this table widget
+1 -1
View File
@@ -57,7 +57,7 @@ class VariableLib
if (!isEmptyString($uid) && !isEmptyString($name) && is_numeric($change))
{
$change = (int) $change;
$change = (int)$change;
$varres = $this->_ci->VariableModel->getVariables($uid, array($name));
if (isSuccess($varres))
+3 -19
View File
@@ -205,28 +205,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));
}
}
+11 -10
View File
@@ -24,30 +24,32 @@ class Variable_model extends DB_Model
*/
public function getVariables($uid, $names = null)
{
if (isEmptyString($uid) || (isset($names) && !is_array($names)))
if (isEmptyString($uid))
$result = error('wrong parameters passed');
else
{
$vardata = array();
$parametersArray = array($uid);
$qry = "SELECT name, wert FROM public.tbl_variable WHERE uid = ?";
if (isset($names))
if (!isEmptyArray($names))
{
$qry .= " AND name IN ('".implode(',', $names)."')";
$qry .= " AND name IN ?";
$parametersArray[] = $names;
}
$qry .= ";";
$varresults = $this->execQuery($qry, array($uid));
$varresults = $this->execQuery($qry, $parametersArray);
if (hasData($varresults))
{
$varresults = getData($varresults);
foreach ($varresults as $varresult)
{
if (isset($varresult->wert))
$vardata[$varresult->name] = $varresult->wert;
}
foreach ($varresults as $varresult)
{
if (isset($varresult->wert))
$vardata[$varresult->name] = $varresult->wert;
}
}
$vardefaults = $this->VariablennameModel->getDefaults($names);
@@ -56,7 +58,6 @@ class Variable_model extends DB_Model
{
$vardefaults = getData($vardefaults);
foreach ($vardefaults as $vardefault)
{
if (!isset($vardata[$vardefault->name]) && isset($vardefault->defaultwert))
+31 -20
View File
@@ -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
+3 -2
View File
@@ -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'];
+1 -1
View File
@@ -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']);
+3
View File
@@ -125,6 +125,9 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
{
if($rt->freigeschaltet)
{
// regenerate Session ID after Login
session_regenerate_id();
$pruefling = new pruefling();
if($pruefling->getPruefling($ps->prestudent_id))
{
+2
View File
@@ -254,6 +254,8 @@
"components/font-awesome": "4.*",
"components/angular.js": "1.3.*",
"dapphp/securimage": "3.6.7",
"easyrdf/easyrdf": "0.9.*",
"fzaninotto/faker": "1.*",
Generated
+56 -7
View File
@@ -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": "59fc693321fbae0364ec7174a0d0dcb1",
"content-hash": "b377fd50d87a28fdedf6214e4ffb6a6d",
"hash": "d9941245360c86434d18413999bdc812",
"content-hash": "fbeb5d4ef943f6d1d55220cb844d11f1",
"packages": [
{
"name": "BlackrockDigital/startbootstrap-sb-admin-2",
@@ -627,6 +627,55 @@
"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-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",
"version": "0.9.1",
@@ -1455,16 +1504,16 @@
},
{
"name": "tinymce/tinymce",
"version": "4.9.7",
"version": "4.9.8",
"source": {
"type": "git",
"url": "https://github.com/tinymce/tinymce-dist.git",
"reference": "e14935a4ba07beb716ccdb192ee9823dbb4a73d5"
"reference": "912df2bc85015c758e32d1262219f1653bbf9783"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/e14935a4ba07beb716ccdb192ee9823dbb4a73d5",
"reference": "e14935a4ba07beb716ccdb192ee9823dbb4a73d5",
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/912df2bc85015c758e32d1262219f1653bbf9783",
"reference": "912df2bc85015c758e32d1262219f1653bbf9783",
"shasum": ""
},
"type": "component",
@@ -1497,7 +1546,7 @@
"tinymce",
"wysiwyg"
],
"time": "2019-12-19 06:05:16"
"time": "2020-01-28 05:03:01"
},
{
"name": "tomazdragar/SimpleCropper",
-32
View File
@@ -96,7 +96,6 @@ foreach($addon_obj->result as $addon)
<command id="menu-prefs-stpltable-stundenplandev:command" oncommand="stpltableChange('stundenplandev');"/>
<command id="menu-prefs-kontofilterstg:command" oncommand="EinstellungenKontoFilterStgChange();"/>
<command id="menu-prefs-number_displayed_past_studiensemester:command" oncommand="variableChangeValue('number_displayed_past_studiensemester');"/>
<command id="menu-statistic-koordinatorstunden:command" oncommand="StatistikPrintKoordinatorstunden();"/>
<command id="menu-statistic-lehrauftraege:command" oncommand="StatistikPrintLehrauftraege();"/>
<command id="menu-statistic-lvplanung:command" oncommand="StatistikPrintLVPlanung();"/>
<command id="menu-statistic-lvplanungexcel:command" oncommand="StatistikPrintLVPlanungExcel();"/>
@@ -115,14 +114,12 @@ foreach($addon_obj->result as $addon)
<command id="menu-statistic-substatistik-studentenprosemester-html:command" oncommand="StatistikPrintStudentenProSemester('');"/>
<command id="menu-statistic-substatistik-alvsstatistik-excel:command" oncommand="StatistikPrintALVSStatistik('xls');"/>
<command id="menu-statistic-substatistik-alvsstatistik-html:command" oncommand="StatistikPrintALVSStatistik('');"/>
<command id="menu-statistic-substatistik-lvplanunggesamtsj-excel:command" oncommand="StatistikPrintLvPlanungGesamtSJ();"/>
<command id="menu-statistic-absolventenstatistik:command" oncommand="StatistikPrintAbsolventenstatistik();"/>
<command id="menu-statistic-absolventenzahlen:command" oncommand="StatistikPrintAbsolventenZahlen();"/>
<command id="menu-statistic-studentenstatistik:command" oncommand="StatistikPrintStudentenstatistik();"/>
<command id="menu-statistic-oehbeitraege:command" oncommand="StatistikPrintOehBeitrag();"/>
<command id="menu-statistic-mitarbeiterstatistik:command" oncommand="StatistikPrintMitarbeiterstatistik();"/>
<command id="menu-statistic-studentendetails:command" oncommand="StatistikPrintStudentExportExtended();"/>
<command id="menu-statistic-lektorenstatistik:command" oncommand="StatistikPrintLektorenstatistik();"/>
<command id="menu-statistic-stromanalyse:command" oncommand="StatistikPrintStromanalyse();"/>
<command id="menu-dokumente-bewerberakt:command" oncommand="StudentPrintBewerberakt(event);"/>
<command id="menu-dokumente-inskriptionsbestaetigung:command" oncommand="StudentPrintInskriptionsbestaetigung(event);"/>
@@ -317,12 +314,6 @@ foreach($addon_obj->result as $addon)
<menu id="menu-statistic-mitarbeiter" label="&menu-statistic-mitarbeiter.label;" accesskey="&menu-statistic-mitarbeiter.accesskey;">
<menupopup id="menu-statistic-mitarbeiter-popup">
<menuitem
id = "menu-statistic-koordinatorstunden"
key = "menu-statistic-koordinatorstunden:key"
label = "&menu-statistic-koordinatorstunden.label;"
command = "menu-statistic-koordinatorstunden:command"
accesskey = "&menu-statistic-koordinatorstunden.accesskey;"/>
<menuitem
id = "menu-statistic-lehrauftragsliste"
key = "menu-statistic-lehrauftragsliste:key"
label = "&menu-statistic-lehrauftragsliste.label;"
@@ -422,23 +413,6 @@ foreach($addon_obj->result as $addon)
accesskey = "&menu-statistic-substatistik-alvsstatistik-html.accesskey;"/>
</menupopup>
</menu>
<?php
if($rechte->isBerechtigt('admin'))
{
echo '
<menu id="menu-statistic-substatistik-lvplanunggesamtsj" label="&menu-statistic-substatistik-lvplanunggesamtsj.label;" accesskey="&menu-statistic-substatistik-lvplanunggesamtsj.accesskey;">
<menupopup id="menu-statistic-substatistik-lvplanunggesamtsj-popup">
<menuitem
id = "menu-statistic-substatistik-lvplanunggesamtsj-excel"
key = "menu-statistic-substatistik-lvplanunggesamtsj-excel:key"
label = "&menu-statistic-substatistik-lvplanunggesamtsj-excel.label;"
command = "menu-statistic-substatistik-lvplanunggesamtsj-excel:command"
accesskey = "&menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey;"/>
</menupopup>
</menu>
';
}
?>
<menu id="menu-statistic-substatistik-bewerberstatistik" label="&menu-statistic-substatistik-bewerberstatistik.label;" accesskey="&menu-statistic-substatistik-bewerberstatistik.accesskey;">
<menupopup id="menu-statistic-substatistik-bewerberstatistik-popup">
<menuitem
@@ -480,12 +454,6 @@ foreach($addon_obj->result as $addon)
command = "menu-statistic-studentenstatistik:command"
accesskey = "&menu-statistic-studentenstatistik.accesskey;"/>
<menuitem
id = "menu-statistic-lektorenstatistik"
key = "menu-statistic-lektorenstatistik:key"
label = "&menu-statistic-lektorenstatistik.label;"
command = "menu-statistic-lektorenstatistik:command"
accesskey = "&menu-statistic-lektorenstatistik.accesskey;"/>
<menuitem
id = "menu-statistic-mitarbeiterstatistik"
key = "menu-statistic-mitarbeiterstatistik:key"
label = "&menu-statistic-mitarbeiterstatistik.label;"
-42
View File
@@ -797,30 +797,6 @@ function loadURL(event)
if (url) contentFrame.setAttribute('src', url);
};
// ****
// * Liefert eine HTML Liste mit den Koordinatorstunden
// * fuer einen Fachbereich
// ****
function StatistikPrintKoordinatorstunden()
{
tree = document.getElementById('tree-organisationseinheit');
try
{
//Organisationseinheit holen
var col;
col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz";
var oe_kurzbz=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT ?>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('<?php echo APP_ROOT ?>content/statistik/studentenstatistik.php?stsem='+stsem,'Studentenstatistik');
}
// ****
// * Liefert eine statistik ueber die Lektorenverteilung auf die Institute
// ****
function StatistikPrintLektorenstatistik()
{
var stsem = getStudiensemester();
window.open('<?php echo APP_ROOT ?>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('<?php echo APP_ROOT ?>content/statistik/alvsstatistik.php?format='+format,'ALVS-Statistik','');
}
// ****
// * Oeffnet die LVPlanunggesamtSJ Statistik
// ****
function StatistikPrintLvPlanungGesamtSJ()
{
window.open('<?php echo APP_ROOT ?>content/statistik/lvplanunggesamtsj.php','LVPlanungGesamtSJ','');
}
// ****
// * Oeffnet Studenten/Semester Statistik
// ****
+2 -8
View File
@@ -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)
@@ -2546,8 +2546,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;
+17 -14
View File
@@ -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();
@@ -143,13 +143,18 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menulist>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/geschlecht.rdf.php"
ref="http://www.technikum-wien.at/geschlecht"
oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/geschlecht/rdf#geschlecht"
label="rdf:http://www.technikum-wien.at/geschlecht/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
+2 -5
View File
@@ -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";
+6 -24
View File
@@ -288,13 +288,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
AND (
anmeldedatum<=".$db->db_add_param($datum)."
OR
(anmeldedatum is null
AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).")
)
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
)
) AS interessentenrtanmeldung,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
@@ -310,13 +304,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
AND (
anmeldedatum<=".$db->db_add_param($datum)."
OR
(anmeldedatum is null
AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).")
)
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
)
) AS interessentenrtanmeldung_m,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
@@ -332,13 +320,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
AND (
anmeldedatum<=".$db->db_add_param($datum)."
OR
(anmeldedatum is null
AND tbl_rt_person.insertamum<=".$db->db_add_param($datum).")
)
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
)
) AS interessentenrtanmeldung_w,
@@ -841,7 +823,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
AND (
anmeldedatum<=".$db->db_add_param($datum)."
OR
@@ -863,7 +845,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
AND (anmeldedatum<=".$db->db_add_param($datum)."
OR
(anmeldedatum is null
@@ -884,7 +866,7 @@ if (isset($_GET['excel']))
WHERE
person_id=tbl_prestudent.person_id
AND tbl_reihungstest.studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz
/*AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz*/
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
AND (anmeldedatum<=".$db->db_add_param($datum)."
OR
(anmeldedatum is null
-137
View File
@@ -1,137 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Koordinatorstunden</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body>';
$user = get_uid();
loadVariables($user);
$db = new basis_db();
if(isset($_GET['oe_kurzbz']))
$oe_kurzbz = $_GET['oe_kurzbz'];
else
die('Falsche Parameteruebergabe');
echo '<h2>Koordinatorstunden - Organisationseinheit '.$oe_kurzbz.'</h2>';
$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 '<br /><table class="liste table-autosort:0 table-stripeclass:alternate table-autostripe">
<thead>
<tr class="liste">
<th class="table-sortable:default">Name</th>
<th class="table-sortable:default">Studiengang</th>
<th class="table-sortable:numeric">Stunden</th>
</tr>
</thead>
<tbody>';
$i=0;
foreach ($name as $uid=>$row)
{
foreach ($data[$uid] as $stg=>$row2)
{
echo '<tr>
<td>'.$name[$uid]['vorname'].' '.$name[$uid]['nachname'].'</td>
<td>'.$stg_arr[$stg].'</td>
<td>'.$row2.'</td>
</tr>';
$i++;
}
}
echo '</tbody></table>';
?>
</body>
</html>
@@ -1,283 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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";
?>
+59 -51
View File
@@ -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();
?>
+341 -306
View File
@@ -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!<BR>';
@@ -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;
}
@@ -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
@@ -107,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();
@@ -127,69 +125,71 @@ $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()."<br>";
$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.*,
tbl_person.vorname,
@@ -198,10 +198,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 +241,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,11 +257,19 @@ 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'
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,
@@ -278,8 +285,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
@@ -289,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*$row->faktor);
$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]['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*$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;
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;
@@ -321,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,
$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,
(
WITH RECURSIVE meine_oes(oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz) AS (
SELECT oe_kurzbz,
@@ -357,9 +402,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 +418,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,28 +430,31 @@ 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))
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))
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;
@@ -415,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;
@@ -425,33 +473,69 @@ 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);
if($result = $db->db_query($qry))
//Betreuungen fuer Projektarbeiten
foreach ($liste as $uid => $arr)
{
$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,
(
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
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))
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);
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);
}
}
}
@@ -459,19 +543,19 @@ 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'];
$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;
@@ -482,231 +566,182 @@ 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'];
else
$liste_gesamt[$uid]['gesamtstunden']=$row['gesamtstunden'];
if(isset($liste_gesamt[$uid]['gesamtkosten']))
$liste_gesamt[$uid]['gesamtkosten']+=$row['gesamtkosten'];
else
$liste_gesamt[$uid]['gesamtkosten']=$row['gesamtkosten'];
$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'];
if (isset($liste_gesamt[$uid]['gesamtkosten']))
$liste_gesamt[$uid]['gesamtkosten'] += $row['gesamtkosten'];
else
$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);
}
}
/*
// 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
studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
stunden>0";
WHERE
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.="
GROUP BY
studiensemester_kurzbz,person_id,nachname,vorname, titelpre
ORDER BY
nachname,vorname
$qry .= "
GROUP BY
studiensemester_kurzbz, person_id, nachname, vorname, titelpre
ORDER BY
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();
//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);
if($mail->send())
echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!';
else
echo "Fehler beim Versenden der Lehrauftragsliste";
}
$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
echo "Fehler beim Versenden der Lehrauftragsliste";
}
-281
View File
@@ -1,281 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body>';
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 "<h2>LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss - ".$fachbereich->bezeichnung.'</h2>';
$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.= '<tr>';
$ausgabe.= "<td>$row->anrede</td>";
$ausgabe.= "<td>$row->titelpre</td>";
$ausgabe.= "<td>$row->nachname</td>";
$ausgabe.= "<td>$row->vorname</td>";
$ausgabe.= "<td>$row->titelpost</td>";
$ausgabe.= "</tr>";
$fix_w=$row->fix_w;
$fix_m=$row->fix_m;
}
echo (($fix_m)+($fix_w))." Fixangestellte<br>M: ".$fix_m." <br>W: ".$fix_w."
<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>Anrede</th>
<th>TitelPre</th>
<th>Nachname</th>
<th>Vorname</th>
<th>Titelpost</th>
</tr>
</thead>
<tbody>
";
echo $ausgabe;
}
echo '</tbody></table>';
$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.= '<tr>';
$ausgabe.= "<td>$row->anrede</td>";
$ausgabe.= "<td>$row->titelpre</td>";
$ausgabe.= "<td>$row->nachname</td>";
$ausgabe.= "<td>$row->vorname</td>";
$ausgabe.= "<td>$row->titelpost</td>";
$ausgabe.= "</tr>";
$not_fix_w=$row->not_fix_w;
$not_fix_m=$row->not_fix_m;
}
echo "<br /><br />".(($not_fix_m)+($not_fix_w))." Freiangestellte<br>M: ".$not_fix_m." <br>W: ".$not_fix_w."
<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th>Anrede</th>
<th>TitelPre</th>
<th>Nachname</th>
<th>Vorname</th>
<th>Titelpost</th>
</tr>
</thead>
<tbody>
";
echo $ausgabe;
}
echo '</tbody></table>';
}
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 "<h2>LektorInnenstatistik (Lehrauftrag ohne Betreuungen) $ws / $ss";
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
echo '</h2>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$studsem = new studiensemester();
$studsem->getAll();
foreach ($studsem->studiensemester as $stsemester)
{
if($stsemester->studiensemester_kurzbz==$ws)
$selected='selected';
else
$selected='';
if(substr($stsemester->studiensemester_kurzbz, 0, 2)=='WS')
{
$stsem_obj = new studiensemester();
$ss1 = $stsem_obj->getNextFrom($stsemester->studiensemester_kurzbz);
$ws1 = $stsemester->studiensemester_kurzbz;
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$ws1.'/'.$ss1.'</option>';
}
}
echo '</SELECT>
<input type="submit" value="Anzeigen" /></form><br><br>';
if($stsem!='')
{
echo "<table class='liste table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th></th>
<th colspan=4>Anzahl</th>
<th colspan=2>ALVS</th>
</tr>
<tr>
<th>Institute</th>
<th colspan=2>fix</th>
<th colspan=2>extern</th>
<th>$ws</th>
<th>$ss</th>
</tr>
<tr>
<th></th>
<th>M</th>
<th>W</th>
<th>M</th>
<th>W</th>
<th colspan=2></th>
</tr>
</thead>
<tbody>
";
$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 '<tr>';
echo "<td><a href='".$_SERVER['PHP_SELF']."?details=true&fachbereich_kurzbz=$row->fachbereich_kurzbz&ss=$ss&ws=$ws'>$row->bezeichnung</a></td>";
echo "<td align='center'>$row->fix_m</td>";
echo "<td align='center'>$row->fix_w</td>";
echo "<td align='center'>$row->extern_m</td>";
echo "<td align='center'>$row->extern_w</td>";
echo "<td align='center'>$row->ws</td>";
echo "<td align='center'>$row->ss</td>";
echo "</tr>";
//$gesamt_fix+=$row->fix;
//$gesamt_extern+=$row->extern;
$gesamt_ws+=$row->ws;
$gesamt_ss+=$row->ss;
}
echo '<tr>';
echo '<td><b>SUMME</b></td>';
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'>&nbsp;</td>";
echo "<td align='center'><b>$gesamt_ws</b></td>";
echo "<td align='center'><b>$gesamt_ss</b></td>";
echo "</tr>";
}
echo '</tbody></table>';
}
}
?>
</body>
</html>
+56 -36
View File
@@ -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 "<td align='right'>$row->lektor_semesterstunden</td>";
echo "<td>$gruppen</td>";
echo "<td>$row->nachname $row->vorname</td>";
echo "<td align='right'>".number_format(($row->lektor_stundensatz*$row->lektor_faktor*$row->lektor_semesterstunden),2,',','.')." €</td>";
echo "<td align='right'>".number_format(($row->lektor_stundensatz*$row->lektor_semesterstunden),2,',','.')." €</td>";
echo '<td>&nbsp;</td>';
echo '</tr>';
$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 '<tr>';
echo '<th>&nbsp;</th>';
echo "<th colspan='3'>Titel</th>";
//echo "<th>&nbsp;</th>";
//echo '<th>&nbsp;</th>';
echo "<th align='right'>Stunden</th>";
echo "<th>Student</th>";
echo "<th>Lektor</th>";
@@ -348,17 +370,15 @@ if($result = $db->db_query($qry))
echo '<tr class="liste1">';
echo '<td>&nbsp;</td>';
echo "<td colspan='3'>$row->titel</td>";
//echo "<td>&nbsp;</td>";
//echo '<td>&nbsp;</td>';
echo "<td align='right'>".number_format($row->stunden,2)."</td>";
$benutzer = new benutzer();
$benutzer->load($row->student_uid);
echo "<td>$benutzer->nachname $benutzer->vorname</td>";
echo "<td>$row->nachname $row->vorname</td>";
echo "<td align='right'>".number_format(($row->stundensatz*$row->faktor*$row->stunden),2,',','.')." €</td>";
echo "<td align='right'>".number_format(($row->stundensatz*$row->stunden),2,',','.')." €</td>";
echo '<td>&nbsp;</td>';
echo '</tr>';
$gesamtkosten_betreuung +=($row->stundensatz*$row->faktor*$row->stunden);
$gesamtkosten_betreuung +=($row->stundensatz*$row->stunden);
$stunden_betreuung+=$row->stunden;
}
+4 -11
View File
@@ -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]<mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
-340
View File
@@ -1,340 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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();
?>
+128 -120
View File
@@ -20,9 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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();
?>
+11 -7
View File
@@ -145,12 +145,16 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<label value="Geschlecht" control="student-detail-menulist-geschlecht"/>
<menulist id="student-detail-menulist-geschlecht" disabled="true">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
<menulist id="student-detail-menulist-geschlecht" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/geschlecht.rdf.php"
ref="http://www.technikum-wien.at/geschlecht">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/geschlecht/rdf#geschlecht"
label="rdf:http://www.technikum-wien.at/geschlecht/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Familienstand" control="student-detail-menulist-familienstand"/>
<menulist id="student-detail-menulist-familienstand" disabled="true">
@@ -475,7 +479,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</hbox>
<hbox>
<label value="Priorität" control="student-prestudent-textbox-priorisierung"/>
<?php
<?php
$readonly = 'readonly="true"';
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
+116
View File
@@ -0,0 +1,116 @@
<?php
/* Copyright (C) 2019 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/sprache.class.php');
class geschlecht extends basis_db
{
public $new; // boolean
public $result = array();
//Tabellenspalten
public $geschlecht; // character(1)
public $bezeichnung_mehrsprachig; // varchar(255)[]
public $bezeichnung_mehrsprachig_arr = array();
/**
* Konstruktor
* @param $geschlecht ID des Geschlechts das geladen werden soll (Default=null)
*/
public function __construct($geschlecht=null)
{
parent::__construct();
if(!is_null($geschlecht))
$this->load($geschlecht);
}
/**
* Laedt ein geschlecht
* @param $geschlecht das zu ladende Geschlecht
* @return true wenn ok, false im Fehlerfall
*/
public function load($geschlecht)
{
$sprache = new sprache();
$qry = "
SELECT
*,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM
public.tbl_geschlecht
WHERE
geschlecht=".$this->db_add_param($geschlecht);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->geschlecht = $row->geschlecht;
$this->bezeichnung_mehrsprachig_arr = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt alle Geschlechter
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function getAll()
{
$sprache = new sprache();
$qry = "
SELECT
*,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM
public.tbl_geschlecht
ORDER BY sort, geschlecht";
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while ($row = $this->db_fetch_object())
{
$obj = new stdClass();
$obj->geschlecht = $row->geschlecht;
$obj->bezeichnung_mehrsprachig_arr = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $obj;
}
return true;
}
}
?>
+1 -6
View File
@@ -374,12 +374,7 @@ class person extends basis_db
$this->errormsg = 'Staatsbuergerschaft darf nicht laenger als 3 Zeichen sein';
return false;
}
if ($this->geschlecht != 'm' && $this->geschlecht != 'w' && $this->geschlecht != 'u')
{
$this->errormsg = 'Geschlecht muss w, m oder u sein!';
return false;
}
//Pruefen ob das Geburtsdatum mit der SVNR uebereinstimmt.
if ($this->svnr != '' && $this->gebdatum != '')
{
+1 -1
View File
@@ -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;
+6 -4
View File
@@ -154,6 +154,7 @@ class studienordnung extends basis_db
FROM lehre.tbl_studienordnung sto
LEFT JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
LEFT JOIN public.tbl_studiensemester stoende ON(sto.gueltigbis=stoende.studiensemester_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
}
else
@@ -164,6 +165,7 @@ class studienordnung extends basis_db
LEFT JOIN lehre.tbl_studienplan USING(studienordnung_id)
LEFT JOIN lehre.tbl_studienplan_semester sem USING (studienplan_id)
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
LEFT JOIN public.tbl_studiensemester stoende ON(sto.gueltigbis=stoende.studiensemester_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if (!is_null($studiensemester_kurzbz))
@@ -172,7 +174,7 @@ class studienordnung extends basis_db
$qry.=" AND semester=".$this->db_add_param($semester, FHC_INTEGER,false);
}
$qry.=" ORDER BY gueltig_startdatum desc";
$qry.=" ORDER BY gueltig_startdatum desc, stoende.start nulls first";
if(!$this->db_query($qry))
{
@@ -475,10 +477,10 @@ class studienordnung extends basis_db
return false;
}
$qry = 'SELECT 1 FROM lehre.tbl_studienplan_semester
WHERE studienplan_id
$qry = 'SELECT 1 FROM lehre.tbl_studienplan_semester
WHERE studienplan_id
IN (SELECT studienplan_id FROM lehre.tbl_studienplan
WHERE studienordnung_id ='.$this->db_add_param($studienordnung_id).';';
WHERE studienordnung_id ='.$this->db_add_param($studienordnung_id).';';
if($this->db_query($qry))
{
-1
View File
@@ -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')),
+4 -4
View File
@@ -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
@@ -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)
-16
View File
@@ -46,10 +46,6 @@
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
<!ENTITY menu-statistic-koordinatorstunden.key "K">
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
<!ENTITY menu-statistic-koordinatorstunden.accesskey "K">
<!ENTITY menu-statistic-lehre.key "L">
<!ENTITY menu-statistic-lehre.label "Lehre">
<!ENTITY menu-statistic-lehre.accesskey "L">
@@ -155,14 +151,6 @@
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.label "HTML">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.key "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.label "LV-Planung Gesamt SJ">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.accesskey "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.key "E">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey "E">
<!ENTITY menu-statistic-abgaengerstatistik.key "A">
<!ENTITY menu-statistic-abgaengerstatistik.label "AbgängerInnenstatistik">
<!ENTITY menu-statistic-abgaengerstatistik.accesskey "A">
@@ -175,10 +163,6 @@
<!ENTITY menu-statistic-absolventenzahlen.label "AbsolventInnenzahlen">
<!ENTITY menu-statistic-absolventenzahlen.accesskey "Z">
<!ENTITY menu-statistic-lektorenstatistik.key "L">
<!ENTITY menu-statistic-lektorenstatistik.label "LektorInnenstatistik">
<!ENTITY menu-statistic-lektorenstatistik.accesskey "L">
<!ENTITY menu-statistic-studentenstatistik.key "S">
<!ENTITY menu-statistic-studentenstatistik.label "Studierendenstatistik">
<!ENTITY menu-statistic-studentenstatistik.accesskey "S">
+40
View File
@@ -0,0 +1,40 @@
<?php
/* Copyright (C) 2019 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/geschlecht.class.php');
$oRdf = new rdf('GESCHLECHT','http://www.technikum-wien.at/geschlecht');
$oRdf->sendHeader();
$geschlecht = new geschlecht();
$geschlecht->getAll();
foreach($geschlecht->result as $row)
{
$i=$oRdf->newObjekt($row->geschlecht);
$oRdf->obj[$i]->setAttribut('geschlecht', $row->geschlecht,true);
$oRdf->obj[$i]->setAttribut('bezeichnung', $row->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE],true);
$oRdf->addSequence($row->geschlecht);
}
$oRdf->sendRdfText();
?>
+3 -3
View File
@@ -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)
<lehrveranstaltung><![CDATA['.$lv_row['lehrveranstaltung'].']]></lehrveranstaltung>
<fachbereich><![CDATA['.$lv_row['fachbereich'].']]></fachbereich>
<gruppe><![CDATA['.$lv_row['gruppe'].']]></gruppe>
<gruppen_getrennt>'. $lv_row['einzelgruppe']. '</gruppen_getrennt> <!-- Variable enthält CDATA tags-->
<gruppen_getrennt>'. $lv_row['einzelgruppe']. '</gruppen_getrennt> <!-- Variable enthält CDATA tags-->
<stunden><![CDATA['.$lv_row['stunden'].']]></stunden>
<satz><![CDATA['.$lv_row['satz'].']]></satz>
<faktor><![CDATA['.$lv_row['faktor'].']]></faktor>
+139 -140
View File
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <kindlm@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <kindlm@technikum-wien.at>
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
@@ -36,6 +36,7 @@ require_once('../include/mitarbeiter.class.php');
require_once('../include/organisationsform.class.php');
require_once('../include/zgv.class.php');
require_once('../include/konto.class.php');
require_once('../include/geschlecht.class.php');
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
$studiensemester = (isset($_REQUEST['ss'])?$_REQUEST['ss']:null);
@@ -52,33 +53,33 @@ $student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang><![CDATA[".$studiengang->bezeichnung."]]></studiengang>\n";
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang><![CDATA[".$studiengang->bezeichnung."]]></studiengang>\n";
}
foreach($uid_arr as $uid)
@@ -105,152 +106,150 @@ foreach($uid_arr as $uid)
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
switch($student->geschlecht)
{
case 'm':
$geschlecht = 'Männlich';
break;
case 'w':
$geschlecht = 'Weiblich';
break;
case 'u':
$geschlecht = 'Unbekannt';
break;
default:
$geschlecht ='';
}
$geschlecht_obj = new geschlecht();
$geschlecht_obj->load($student->geschlecht);
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studienordnung->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studienordnung->studiengang_kz);
$geschlecht = $geschlecht_obj->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE];
$geschlecht_englisch = $geschlecht_obj->bezeichnung_mehrsprachig_arr['English'];
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studienordnung->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studienordnung->studiengang_kz));
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studienordnung->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studienordnung->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studienordnung->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studienordnung->studiengang_kz));
$sprache_obj = new sprache();
$sprache_obj->load($studienplan->sprache);
$studienplan_sprache = $sprache_obj->bezeichnung_arr[DEFAULT_LANGUAGE];
$studienplan_sprache_englisch = $sprache_obj->bezeichnung_arr['English'];
echo "\t\t<quote>1</quote>\n";
echo "\t\t<personenkz>".$uid."</personenkz>\n";
echo "\t\t<geschlecht>".$geschlecht."</geschlecht>\n";
echo "\t\t<personenkz><![CDATA[".$uid."]]></personenkz>\n";
echo "\t\t<geschlecht><![CDATA[".$geschlecht."]]></geschlecht>\n";
echo "\t\t<geschlecht_englisch><![CDATA[".$geschlecht_englisch."]]></geschlecht_englisch>\n";
echo "\t\t<anrede><![CDATA[".$student->anrede."]]></anrede>\n";
echo "\t\t<vorname><![CDATA[".$student->vorname." ".$student->vornamen."]]></vorname>\n";
echo "\t\t<vornamen><![CDATA[".$student->vornamen."]]></vornamen>\n";
echo "\t\t<nachname><![CDATA[".$student->nachname."]]></nachname>\n";
echo "\t\t<titelpre><![CDATA[".$student->titelpre."]]></titelpre>\n";
echo "\t\t<titelpost><![CDATA[".$student->titelpost."]]></titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebdatum><![CDATA[".$gebdatum."]]></gebdatum>\n";
echo "\t\t<gebort><![CDATA[".$student->gebort."]]></gebort>\n";
echo "\t\t<staatsbuergerschaft><![CDATA[".$staatsbuergerschaft->langtext."]]></staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matr_nr>".trim($student->matr_nr)."</matr_nr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<svnr><![CDATA[".$svnr."]]></svnr>\n";
echo "\t\t<matr_nr><![CDATA[".trim($student->matr_nr)."]]></matr_nr>\n";
echo "\t\t<matrikelnr><![CDATA[".trim($student->matrikelnr)."]]></matrikelnr>\n";
echo "\t\t<studiengang><![CDATA[".$studienordnung->studiengangbezeichnung."]]></studiengang>\n";
echo "\t\t<studiengang_englisch><![CDATA[".$studienordnung->studiengangbezeichnung_englisch."]]></studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz><![CDATA[".$studienordnung->studiengangkurzbzlang."]]></studiengang_kurzbz>\n";
echo "\t\t<studiengang_kurzbz><![CDATA[".$studienordnung->studiengangkurzbzlang."]]></studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz><![CDATA[".$studiengang_kz."]]></studiengang_kz>\n";
echo "\t\t<studiengangSprache><![CDATA[".$studienplan->sprache."]]></studiengangSprache>";
echo "\t\t<ects_gesamt>".$studienordnung->ects."</ects_gesamt>";
echo "\t\t<ects_pro_semester>".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."</ects_pro_semester>";
echo "\t\t<studiengangSprache><![CDATA[".$studienplan_sprache."]]></studiengangSprache>";
echo "\t\t<studiengangSpracheEnglisch><![CDATA[".$studienplan_sprache_englisch."]]></studiengangSpracheEnglisch>";
echo "\t\t<ects_gesamt><![CDATA[".$studienordnung->ects."]]></ects_gesamt>";
echo "\t\t<ects_pro_semester><![CDATA[".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."]]></ects_pro_semester>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
echo "\t\t<aktuellesJahr><![CDATA[".date('Y')."]]></aktuellesJahr>";
echo "\t\t<ausbildungssemester_aktuell>".$prestudent->ausbildungssemester."</ausbildungssemester_aktuell>";
echo "\t\t<ausbildungssemester_aktuell><![CDATA[".$prestudent->ausbildungssemester."]]></ausbildungssemester_aktuell>";
$studiensemester_aktuell = new studiensemester();
$studiensemester_aktuell->load($studiensemester);
$studiensemester_aktuell = new studiensemester();
$studiensemester_aktuell->load($studiensemester);
echo "\t\t<studiensemester_aktuell><![CDATA[".$studiensemester_aktuell->bezeichnung."]]></studiensemester_aktuell>";
echo "\t\t<studiensemester_aktuell><![CDATA[".$studiensemester_aktuell->bezeichnung."]]></studiensemester_aktuell>";
// check ob Oeh-Beitrag bezahlt wurde
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
echo "\t\t<oehbeitrag>".str_replace('.', ',', $oehbeitrag)."</oehbeitrag>";
echo "\t\t<oehbeitrag><![CDATA[".str_replace('.', ',', $oehbeitrag)."]]></oehbeitrag>";
// check ob Quereinsteiger
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
// check ob Quereinsteiger
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
echo "\t\t<semesterStudent><![CDATA[".$ausbildungssemester."]]></semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
echo "\t\t<studiensemester_beginn><![CDATA[".$studiensemester_beginn->bezeichnung."]]></studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_beginn->start))."]]></studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
echo "\t\t<voraussichtlichLetztesStudiensemester>".$studiensemester_abschluss->bezeichnung."</voraussichtlichLetztesStudiensemester>";
echo "\t\t<voraussichtlichLetztesStudiensemester_datum>".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."</voraussichtlichLetztesStudiensemester_datum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
echo "\t\t<voraussichtlichLetztesStudiensemester><![CDATA[".$studiensemester_abschluss->bezeichnung."]]></voraussichtlichLetztesStudiensemester>";
echo "\t\t<voraussichtlichLetztesStudiensemester_datum><![CDATA[".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."]]></voraussichtlichLetztesStudiensemester_datum>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
echo "\t\t<studiensemester_endedatum><![CDATA[".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."]]></studiensemester_endedatum>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
switch($status_aktuell)
{
case 'Student':
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Absolvent':
$studierendenstatus_aktuell = 'AbsolventIn';
break;
case 'Diplomand':
$studierendenstatus_aktuell = 'DiplomandIn';
break;
case 'Abbrecher':
$studierendenstatus_aktuell = 'AbbrecherIn';
break;
default:
$studierendenstatus_aktuell ='';
}
{
case 'Student':
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Absolvent':
$studierendenstatus_aktuell = 'AbsolventIn';
break;
case 'Diplomand':
$studierendenstatus_aktuell = 'DiplomandIn';
break;
case 'Abbrecher':
$studierendenstatus_aktuell = 'AbbrecherIn';
break;
default:
$studierendenstatus_aktuell ='';
}
echo "\t\t<studierendenstatus_aktuell>".$studierendenstatus_aktuell."</studierendenstatus_aktuell>\n";
echo "\t\t<datum_reifepruefung>".$prestudent->zgvdatum."</datum_reifepruefung>\n";
$zgv = new zgv($prestudent->zgv_code);
echo "\t\t<schulform_zgv><![CDATA[".$zgv->zgv_kurzbz."]]></schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung><![CDATA[".$studienplan->bezeichnung."]]></studienplan_bezeichnung>\n";
echo "\t\t<anmerkungpre><![CDATA[$prestudent->anmerkung]]></anmerkungpre>\n";
echo "\t\t<studierendenstatus_aktuell><![CDATA[".$studierendenstatus_aktuell."]]></studierendenstatus_aktuell>\n";
echo "\t\t<datum_reifepruefung><![CDATA[".$prestudent->zgvdatum."]]></datum_reifepruefung>\n";
$zgv = new zgv($prestudent->zgv_code);
echo "\t\t<schulform_zgv><![CDATA[".$zgv->zgv_kurzbz."]]></schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung><![CDATA[".$studienplan->bezeichnung."]]></studienplan_bezeichnung>\n";
echo "\t\t<anmerkungpre><![CDATA[$prestudent->anmerkung]]></anmerkungpre>\n";
$titel_kurzbz = '';
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
$titel_kurzbz = '';
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz><![CDATA[".$titel_kurzbz."]]></titel_kurzbz>\n";
echo "\t\t<titel_kurzbz><![CDATA[".$titel_kurzbz."]]></titel_kurzbz>\n";
echo "\t\t<studiengang_typ><![CDATA[".$studTyp."]]></studiengang_typ>\n";
echo "\t\t<studienplan_sprache><![CDATA[".$studienplan->sprache."]]></studienplan_sprache>\n";
echo "\t\t<regelstudiendauer>".$studienplan->regelstudiendauer."</regelstudiendauer>\n";
echo "\t\t<regelstudiendauer><![CDATA[".$studienplan->regelstudiendauer."]]></regelstudiendauer>\n";
$akadgrad = new akadgrad();
$akadgrad->getAkadgradStudent($student->uid);
@@ -272,15 +271,15 @@ foreach($uid_arr as $uid)
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
echo "\t\t<lv_studiengang_kz><![CDATA[".sprintf('%04s', $lv_studiengang_kz)."]]></lv_studiengang_kz>";
echo "\t\t<lv_studiengang_typ><![CDATA[$lv_studiengang_typ]]></lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung><![CDATA[$lv_studiengang_bezeichnung]]></lv_studiengang_bezeichnung>";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
echo "\t\t<datum_aktuell><![CDATA[".$datum_aktuell."]]></datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($student->person_id);
+77
View File
@@ -3449,6 +3449,82 @@ if(!$result = @$db->db_query("SELECT 1 FROM fue.tbl_projekttyp LIMIT 1"))
echo '<br>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 '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_webservicetyp: Added webservice type "API"<br>';
}
}
// Add new Table for gender
// Add FK to public.tbl_person and Drop old Check Constraint
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_geschlecht LIMIT 1"))
{
$qry = "
CREATE TABLE public.tbl_geschlecht
(
geschlecht character(1) NOT NULL,
bezeichnung_mehrsprachig varchar(255)[],
sort smallint
);
COMMENT ON TABLE public.tbl_geschlecht IS 'Key-Table of Gender';
ALTER TABLE public.tbl_geschlecht ADD CONSTRAINT pk_tbl_geschlecht PRIMARY KEY (geschlecht);
INSERT INTO public.tbl_geschlecht(geschlecht, bezeichnung_mehrsprachig, sort) VALUES ('m', '{\"männlich\",\"male\"}', 1);
INSERT INTO public.tbl_geschlecht(geschlecht, bezeichnung_mehrsprachig, sort) VALUES ('w', '{\"weiblich\",\"female\"}', 2);
INSERT INTO public.tbl_geschlecht(geschlecht, bezeichnung_mehrsprachig, sort) VALUES ('x', '{\"divers\",\"divers\"}', 3);
INSERT INTO public.tbl_geschlecht(geschlecht, bezeichnung_mehrsprachig, sort) VALUES ('u', '{\"unbekannt\",\"unknown\"}', 4);
ALTER TABLE public.tbl_person ADD CONSTRAINT fk_tbl_person_geschlecht FOREIGN KEY (geschlecht) REFERENCES public.tbl_geschlecht (geschlecht) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE public.tbl_person DROP CONSTRAINT tbl_person_geschlecht;
GRANT SELECT ON TABLE public.tbl_geschlecht TO web;
GRANT SELECT ON TABLE public.tbl_geschlecht TO wawi;
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE public.tbl_geschlecht TO vilesci;
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_geschlecht: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_geschlecht hinzugefügt. Check Constraint für Geschlecht entfernt.';
}
if($result = $db->db_query("SELECT * FROM pg_proc WHERE proname = 'transform_geschlecht'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = '
CREATE OR REPLACE FUNCTION transform_geschlecht(character, date) RETURNS character
LANGUAGE plpgsql
AS $_$
DECLARE geschlecht ALIAS FOR $1;
DECLARE gebdatum ALIAS FOR $2;
BEGIN
IF geschlecht=\'x\' THEN
IF date_part(\'day\', gebdatum)::int%2=0 THEN
geschlecht:=\'m\';
ELSE
geschlecht:=\'w\';
END IF;
END IF;
RETURN geschlecht;
END;
$_$;';
if(!$db->db_query($qry))
echo '<strong>transform_geschlecht: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Function transform_geschlecht hinzugefügt.';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3626,6 +3702,7 @@ $tabellen=array(
"public.tbl_firmatag" => array("firma_id","tag","insertamum","insertvon"),
"public.tbl_fotostatus" => array("fotostatus_kurzbz","beschreibung"),
"public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"),
"public.tbl_geschlecht" => array("geschlecht","bezeichnung_mehrsprachig","sort"),
"public.tbl_geschaeftsjahr" => array("geschaeftsjahr_kurzbz","start","ende","bezeichnung"),
"public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid","content_visible","gesperrt","zutrittssystem","aufnahmegruppe","direktinskription"),
"public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
+260 -60
View File
@@ -3789,7 +3789,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'
)
@@ -4036,65 +4036,65 @@ When on hold, the date is only a reminder.',
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeBestellen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge bestellen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Order lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeErteilen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge erteilen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Approve lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeAnnehmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge annehmen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Accept lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeBestellen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge bestellen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Order lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeErteilen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge erteilen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Approve lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'lehrauftraegeAnnehmen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehraufträge annehmen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Accept lectureships',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
@@ -4114,6 +4114,206 @@ 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.<br>Das Passwort muss zumindest 8 Zeichen enthalten, davon mindestens 1 Großbuchstabe, 1 Kleinbuchstabe und eine Ziffer.<br>Das Passwort darf keine Leerzeichen und Umlaute enthalten.<br>Erlaubte Sonderzeichen sind: -$#[]{}!().,*:;_',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Please choose a password for your account<br>The password must contain at least 8 characters, of which 1 must be upper case, 1 lower case and 1 a numeral.<br>The password may not include spaces or umlauts.<br>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<br>Zeichen in das untere Feld.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Enter the characters in<br>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'
)
)
),
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'
)
)
),
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'
)
)
)
);
+1 -1
View File
@@ -197,7 +197,7 @@ if($result = $db->db_query($qry))
{
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
}
if($row->geschlecht!='m' && $row->geschlecht!='w')
if($row->geschlecht!='m' && $row->geschlecht!='w' && $row->geschlecht!='x')
{
$error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')";
}
+7 -2
View File
@@ -115,7 +115,7 @@ $stg_obj = new studiengang();
$stg_obj->getAll(null,false);
$qry="
SELECT DISTINCT ON (UID) *
SELECT DISTINCT ON (UID) *, transform_geschlecht(tbl_person.geschlecht, tbl_person.gebdatum) as geschlecht_imputiert
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
@@ -175,7 +175,12 @@ if($result = $db->db_query($qry))
<Person>
<PersonalNummer>".sprintf("%015s",$row->personalnummer)."</PersonalNummer>
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>";
if ($row->geschlecht == 'x')
$person_content.="
<GeschlechtX>".strtoupper($row->geschlecht_imputiert)."</GeschlechtX>";
$person_content.="
<HoechsteAbgeschlosseneAusbildung>".$row->ausbildungcode."</HoechsteAbgeschlosseneAusbildung>";
$qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)." AND habilitation=true;";
if($resultvw=$db->db_query($qryvw))
+24 -7
View File
@@ -648,7 +648,7 @@ function GenerateXMLStudentBlock($row)
{
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
}
if($row->geschlecht!='m' && $row->geschlecht!='w')
if($row->geschlecht!='m' && $row->geschlecht!='w' && $row->geschlecht!='x')
{
$error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')";
}
@@ -1355,13 +1355,19 @@ function GenerateXMLBewerberBlock($orgformcode=null)
if(mb_strstr($ssem,"WS"))
{
//Bewerber
$qrybw="SELECT * FROM public.tbl_prestudent
$qrybw="
SELECT
*, transform_geschlecht(tbl_person.geschlecht, tbl_person.gebdatum) as geschlecht_imputiert
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_person USING(person_id)
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).") AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).")
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
AND status_kurzbz='Bewerber' AND reihungstestangetreten
AND status_kurzbz='Bewerber'
AND reihungstestangetreten
";
if(!is_null($orgformcode))
$qrybw.=" AND tbl_orgform.code=".$db->db_add_param($orgformcode);
@@ -1373,7 +1379,7 @@ function GenerateXMLBewerberBlock($orgformcode=null)
// Bachelor / Diplom
if(($stgart==1 || $stgart==3) && $rowbw->zgv_code!=NULL)
{
if(strtoupper($rowbw->geschlecht)=='M')
if(strtoupper($rowbw->geschlecht_imputiert)=='M')
{
if(!isset($bewerberM[$rowbw->zgv_code]))
{
@@ -1393,7 +1399,7 @@ function GenerateXMLBewerberBlock($orgformcode=null)
// Master
if($stgart==2 && $rowbw->zgvmas_code!=NULL)
{
if(strtoupper($rowbw->geschlecht)=='M')
if(strtoupper($rowbw->geschlecht_imputiert)=='M')
{
if(!isset($bewerberM[$rowbw->zgvmas_code]))
{
@@ -1421,7 +1427,18 @@ function GenerateXMLBewerberBlock($orgformcode=null)
else
$bewerbercount[$bworgform]=1;
$bwlist.='<tr><td>'.trim($rowbw->nachname).'</td><td>'.trim($rowbw->vorname).'</td><td>'.$bworgform.'</td></tr>';
if($rowbw->geschlecht_imputiert!=$rowbw->geschlecht)
$geschlecht_imputiert = ' -> '.$rowbw->geschlecht_imputiert;
else
$geschlecht_imputiert = '';
$bwlist.='
<tr>
<td>'.trim($rowbw->nachname).'</td>
<td>'.trim($rowbw->vorname).'</td>
<td>'.$bworgform.'</td>
<td>'.$rowbw->geschlecht.$geschlecht_imputiert.'</td>
</tr>';
}
}
@@ -37,6 +37,7 @@ require_once('../../../include/student.class.php');
require_once('../../../include/lehrverband.class.php');
require_once('../../../include/nation.class.php');
require_once('../../../include/studienplan.class.php');
require_once('../../../include/geschlecht.class.php');
$db = new basis_db();
$user = get_uid();
@@ -940,9 +941,17 @@ echo '<tr><td>Weitere Vornamen </td><td><input type="text" id="vornamen" maxleng
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" id="nachname" name="nachname" value="'.$nachname.'" required="required" autofocus/></td></tr>';
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" value="'.$titelpost.'" /></td></tr>';
echo '<tr><td>Geschlecht *</td><td><SELECT id="geschlecht" name="geschlecht">';
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>m&auml;nnlich</OPTION>';
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
$geschlecht_obj = new geschlecht();
$geschlecht_obj->getAll();
foreach ($geschlecht_obj->result as $row_geschlecht)
{
if ($row_geschlecht->geschlecht == $geschlecht)
$selected = 'selected';
else
$selected = '';
echo '<OPTION value="'.$row_geschlecht->geschlecht.'" '.$selected.'>'.$row_geschlecht->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE].'</OPTION>';
}
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>Geburtsdatum </td><td><input type="text" id="geburtsdatum" size="10" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum_orig.'" /> (Format: dd.mm.JJJJ)</td></tr>';
+13 -3
View File
@@ -30,6 +30,7 @@ require_once('../../../include/kontakt.class.php');
require_once('../../../include/adresse.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/nation.class.php');
require_once('../../../include/geschlecht.class.php');
require_once('../../../include/'.EXT_FKT_PATH.'/generateuid.inc.php');
$db = new basis_db();
@@ -932,9 +933,18 @@ echo '<input type="text" id="vornamen" maxlength="32" size="30" name="vornamen"
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" size="30" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" size="30" value="'.$titelpost.'" /></td></tr>';
echo '<tr><td>Geschlecht *</td><td><SELECT id="geschlecht" name="geschlecht" onchange="GeschlechtChange()">';
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>m&auml;nnlich</OPTION>';
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
$geschlecht_obj = new geschlecht();
$geschlecht_obj->getAll();
foreach($geschlecht_obj->result as $row_geschlecht)
{
if($geschlecht == $row_geschlecht->geschlecht)
$selected = 'selected';
else
$selected = '';
echo '<OPTION value="'.$row_geschlecht->geschlecht.'" '.$selected.'>'.$row_geschlecht->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE].'</OPTION>';
}
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="30" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
+13 -4
View File
@@ -27,6 +27,7 @@ require_once('../../include/person.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/kontakt.class.php');
require_once('../../include/adresse.class.php');
require_once('../../include/geschlecht.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -39,7 +40,7 @@ loadVariables($user);
<html>
<head>
<meta charset="UTF-8">
<link href="../../skin/cis.css" rel="stylesheet" type="text/css">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<script language="Javascript">
function disablefields(obj)
{
@@ -347,9 +348,17 @@ echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" nam
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" value="'.$titelpost.'" /></td></tr>';
echo '<tr><td>Geschlecht *</td><td><SELECT id="geschlecht" name="geschlecht">';
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>m&auml;nnlich</OPTION>';
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
$geschlecht_obj = new geschlecht();
$geschlecht_obj->getAll();
foreach ($geschlecht_obj->result as $row_geschlecht)
{
if ($geschlecht == $row_geschlecht->geschlecht)
$selected = 'selected';
else
$selected = '';
echo '<OPTION value="'.$row_geschlecht->geschlecht.'" '.$selected.'>'.$row_geschlecht->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE].'</OPTION>';
}
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="10" maxlength="10" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
+17 -26
View File
@@ -31,7 +31,7 @@ require_once('../../include/nation.class.php');
require_once('../../include/ort.class.php');
require_once('../../include/akte.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/fckeditor/fckeditor.php');
require_once('../../include/geschlecht.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -119,7 +119,6 @@ $ort_kurzbz = (isset($_POST['ort_kurzbz'])?$_POST['ort_kurzbz']:'');
$standort_id = (isset($_POST['standort_id'])?$_POST['standort_id']:'');
$anmerkung = (isset($_POST['anmerkung'])?$_POST['anmerkung']:'');
$bismelden = (isset($_POST['bismelden'])?$_POST['bismelden']:'');
$kurzbeschreibung = (isset($_POST['kurzbeschreibung'])?$_POST['kurzbeschreibung']:'');
$matrikelnummer = (isset($_POST['matrikelnummer'])?$_POST['matrikelnummer']:'');
$semester = (isset($_POST['semester'])?$_POST['semester']:'');
$verband = (isset($_POST['verband'])?$_POST['verband']:'');
@@ -128,9 +127,9 @@ $dms_id_lichtbild = '';
if($uid!='')
{
$qry = "SELECT person_id, true as mitarbeiter FROM campus.vw_mitarbeiter WHERE uid='".addslashes($uid)."'
$qry = "SELECT person_id, true as mitarbeiter FROM campus.vw_mitarbeiter WHERE uid=".$db->db_add_param($uid)."
UNION
SELECT person_id, false as mitarbeiter FROM campus.vw_student WHERE uid='".addslashes($uid)."'";
SELECT person_id, false as mitarbeiter FROM campus.vw_student WHERE uid=".$db->db_add_param($uid);
if($result = $db->db_query($qry))
{
@@ -176,7 +175,6 @@ if(isset($_POST['saveperson']))
$person->homepage = $homepage;
$person->updateamum = date('Y-m-d H:i:s');
$person->updatevon = $user;
$person->kurzbeschreibung = $kurzbeschreibung;
$person->new = false;
if($person->save())
@@ -344,7 +342,6 @@ if(!$error_person_save)
$anzahlderkinder = $person->anzahlkinder;
$anmerkungen = $person->anmerkungen;
$homepage = $person->homepage;
$kurzbeschreibung = $person->kurzbeschreibung;
}
$akte = new akte();
@@ -452,11 +449,19 @@ echo "
</tr>
<tr>
<td>Geschlecht</td>
<td><SELECT name='geschlecht'>
<option value='m' ".($geschlecht=='m'?'selected':'').">maennlich</option>
<option value='w' ".($geschlecht=='w'?'selected':'').">weiblich</option>
<option value='u' ".($geschlecht=='u'?'selected':'').">unbekannt</option>
</SELECT>
<td><SELECT name='geschlecht'>";
$geschlecht_obj = new geschlecht();
$geschlecht_obj->getAll();
foreach ($geschlecht_obj->result as $row_geschlecht)
{
if($geschlecht == $row_geschlecht->geschlecht)
$selected = 'selected';
else
$selected = '';
echo "<option value='".$row_geschlecht->geschlecht."' ".$selected.">".$row_geschlecht->bezeichnung_mehrsprachig_arr[DEFAULT_LANGUAGE]."</option>";
}
echo " </SELECT>
</td>
<td>Familienstand</td>
<td><SELECT name='familienstand'>
@@ -485,19 +490,6 @@ echo "
<a href=\"../fhausweis/search.php?person_id=".$person_id."\">FH-Ausweis Status</a>
</td>
</tr>
<tr>
<td colspan=6>
";
$oFCKeditor = new FCKeditor('kurzbeschreibung') ;
$sBasePath = '../../include/fckeditor/';
$oFCKeditor->BasePath = $sBasePath ;
$oFCKeditor->Value = $kurzbeschreibung;
$oFCKeditor->Create() ;
echo "
</td>
</tr>
<tr>
<td></td>
<td></td>
@@ -521,7 +513,7 @@ if(isset($uid) && $uid!='')
<legend>Benutzerdaten</legend>
";
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'";
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$db->db_add_param($uid);
if(!$result_benutzer = $db->db_query($qry))
die('Fehler beim Auslesen der Benutzerdaten');
@@ -545,7 +537,6 @@ if(isset($uid) && $uid!='')
echo '<br><a href="../../content/pdfExport.php?xsl=AccountInfo&xml=accountinfoblatt.xml.php&uid='.$uid.'" >AccountInfoBlatt erstellen</a>';
echo '<br><a href="../stammdaten/betriebsmittel_frameset.php?searchstr='.$uid.'" >Betriebsmittel verwalten</a>';
echo "</fieldset></td></tr>";
if($is_mitarbeiter)