Merge branch 'master' into feature-3716/Messaging_inbox_outbox_user

This commit is contained in:
Paolo
2020-02-04 17:16:17 +01:00
59 changed files with 1233 additions and 9617 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
/*
|--------------------------------------------------------------------------
@@ -184,14 +184,14 @@ class LehrauftragAkzeptieren extends Auth_Controller
}
/**
* Check if lectors latest active Verwendung has inkludierte Lehre
* Check if lectors latest Verwendung has inkludierte Lehre
* - inkludierte_lehre is null OR 0: freelancer lector -> has NO inkludierte Lehre
* - inkludierte_lehre -1: fix employed lector -> has inkludierte Lehre (all inclusive)
* - inkludierte_lehre > 0: fix employed lector -> has inkludierte Lehre (value is amount of hours included)
*/
public function checkInkludierteLehre()
{
$result = $this->BisverwendungModel->getLast($this->_uid);
$result = $this->BisverwendungModel->getLast($this->_uid, false);
if (hasData($result))
{
@@ -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);
}
}
@@ -15,7 +15,7 @@ class Bisverwendung_model extends DB_Model
/**
* Get latest (active) Verwendung of the user.
* @param string $uid
* @param bool $active If false, returns latest Verwendung no matter if actual or not (ignores ending/beginning date).
* @param bool $active If false, returns latest Verwendung no matter if it is still actual.
* @return array
*/
public function getLast($uid, $active = true)
@@ -28,14 +28,14 @@ class Bisverwendung_model extends DB_Model
mitarbeiter_uid = '. $this->escape($uid). '
AND ( beginn <= NOW() OR beginn IS NULL )
AND ( ende >= NOW() OR ende IS NULL )
ORDER BY ende DESC NULLS LAST, beginn DESC NULLS LAST
ORDER BY ende DESC NULLS FIRST, beginn DESC NULLS LAST
';
}
else
{
$condition = '
mitarbeiter_uid = '. $this->escape($uid). '
ORDER BY ende DESC NULLS LAST, beginn DESC NULLS LAST
ORDER BY ende DESC NULLS FIRST, beginn DESC NULLS LAST
';
}
+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));
}
}
@@ -182,7 +182,8 @@ FROM
(SELECT
uid
FROM
public.tbl_benutzer
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
ON tbl_benutzer.uid = ma.mitarbeiter_uid
WHERE
person_id = tmp_projektbetreuung.person_id
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
@@ -187,7 +187,8 @@ FROM
(SELECT
uid
FROM
public.tbl_benutzer
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
ON tbl_benutzer.uid = ma.mitarbeiter_uid
WHERE
person_id = tmp_projektbetreuung.person_id
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
@@ -219,7 +219,8 @@ FROM
(SELECT
uid
FROM
public.tbl_benutzer
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
ON tbl_benutzer.uid = ma.mitarbeiter_uid
WHERE
person_id = tmp_projektbetreuung.person_id
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
+21 -14
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;
@@ -73,6 +74,9 @@
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');
// Table sorter CSS
if ($tablesorter === true)
{
@@ -137,16 +141,28 @@
}
// 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');
@@ -171,15 +187,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
+4 -3
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'];
@@ -170,7 +171,7 @@ $db = new basis_db();
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" type="text/css" href="../vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
</head>
<script type="text/javascript">
function changeSprache(sprache)
@@ -1,832 +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/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
include_once('../../../../include/Excel/excel.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diesen Bereich');
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id']))
{
$uebung_id = $_GET['uebung_id'];
$uebung_obj = new uebung($uebung_id);
$lehreinheit_obj = new lehreinheit($uebung_obj->lehreinheit_id);
}
else
{
if(!isset($_GET['all']))
die('Fehlerhafte Parameteruebergabe');
else
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$lehreinheit_obj = new lehreinheit($lehreinheit_id);
}
}
//Abgabedatei ausliefern
if (isset($_GET["download_abgabe"])){
$file=$_GET["download_abgabe"];
$uebung_id = $_GET["uebung_id"];
$uid = $_GET['uid'];
$ueb = new uebung();
$ueb->load_studentuebung($uid, $uebung_id);
$ueb->load_abgabe($ueb->abgabe_id);
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
/*
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER)." AND
mitarbeiter_uid=".$db->db_add_param($user);
*/
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER).") AND
mitarbeiter_uid=".$db->db_add_param($user);
if(!$result = $db->db_query($qry))
die('Fehler beim laden der Berechtigung');
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!($db->db_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz)))
die('Sie haben keine Berechtigung f&uuml;r diesen Bereich');
// Beteiligte Gruppen laden
$gruppen = '';
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
if(isset($_GET['output']) && $_GET['output']=='xls')
{
if(isset($_GET['all']))
{
//EXCEL VERSION / ALLE Kreuzerllisten
$le_obj = new lehreinheit();
$le_obj->load($lehreinheit_id);
$lv_obj = new lehrveranstaltung();
$lv_obj->load($le_obj->lehrveranstaltung_id);
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$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');
$worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold);
$maxlength = array();
//Ueberschrift
$i=0;
$worksheet->write(1,$i,"Vorname", $format_title);
$maxlength[$i]=strlen('Vorname');
$worksheet->write(1,++$i,"Nachname", $format_title);
$maxlength[$i]=strlen('Nachname');
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
$maxlength[$i]=strlen('Matrikelnr');
$worksheet->write(1,++$i,"Gruppe", $format_title);
$maxlength[$i]=strlen('Gruppe');
$ueb_obj = new uebung();
$ueb_obj->load_uebung($lehreinheit_id);
foreach($ueb_obj->uebungen as $row_ueb)
{
$worksheet->write(1,++$i,$row_ueb->bezeichnung, $format_title);
$maxlength[$i]=strlen($row_ueb->bezeichnung);
}
$worksheet->write(1,++$i,"Summe", $format_title);
$maxlength[$i]=8;
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
$maxlength[$i]=strlen('Mitarbeit insgesamt');
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
$maxlength[$i]=strlen('Punkte insgesamt');
$worksheet->write(1,++$i,"Unterschrift", $format_title);
$maxlength[$i]=strlen('Unterschrift')+5;
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
//Alle Studenten die dieser Lehreinheit zugeordnet sind
$qry_stud = "SELECT
vw_student.uid, vorname, nachname, matrikelnr,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe
FROM
campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe,
public.tbl_studentlehrverband, lehre.tbl_lehreinheit
WHERE
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND
vw_student.uid=tbl_studentlehrverband.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz
UNION
SELECT
vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester,
tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe
FROM
campus.vw_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit
WHERE
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_lehreinheitgruppe.studiengang_kz=tbl_studentlehrverband.studiengang_kz AND
tbl_lehreinheitgruppe.semester = tbl_studentlehrverband.semester AND
tbl_studentlehrverband.student_uid=vw_student.uid AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
if($result_stud = $db->db_query($qry_stud))
{
$zeile=3;
while($row_stud = $db->db_fetch_object($result_stud))
{
$spalte=0;
$summe=0;
//vorname
$worksheet->write($zeile,$spalte,$row_stud->vorname);
if(strlen($row_stud->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->vorname);
//nachname
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
if(strlen($row_stud->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->nachname);
//matrikelnr
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
//Gruppe
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
foreach($ueb_obj->uebungen as $row_ueb)
{
$qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id)
WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$punkte = $row->punkte;
$summe +=$punkte;
}
else
$punkte = 'failed';
}
else
$punkte='failed';
//punkte auf uebung
$worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0'));
}
//summe
$worksheet->write($zeile,++$spalte,$summe);
//mitarbeit
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit=$row->mitarbeit;
else
$mitarbeit='failed';
else
$mitarbeit='failed';
$worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0'));
//punkte insgesamt
$worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold);
$zeile++;
}
for($i=0;$i<count($maxlength);$i++)
{
$worksheet->setColumn(0, $i, $maxlength[$i]);
}
}
$workbook->close();
}
else
{
//EXCEL VERSION / Einzelne Kreuzerlliste
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$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');
$worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y').' '.$gruppen, $format_bold);
$maxlength = array();
//Ueberschrift
$i=0;
$worksheet->write(1,$i,"Vorname", $format_title);
$maxlength[$i]=strlen('Vorname');
$worksheet->write(1,++$i,"Nachname", $format_title);
$maxlength[$i]=strlen('Nachname');
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
$maxlength[$i]=strlen('Matrikelnr');
//$worksheet->write(1,++$i,"Gruppe", $format_title);
//$maxlength[$i]=strlen('Gruppe');
$beispiel_obj = new beispiel();
$beispiel_obj->load_beispiel($uebung_id);
foreach($beispiel_obj->beispiele as $row_bsp)
{
$worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title);
$maxlength[$i]=strlen($row_bsp->bezeichnung);
}
$worksheet->write(1,++$i,"Punkte heute", $format_title);
$maxlength[$i]=strlen('Punkte heute');
$worksheet->write(1,++$i,"Mitarbeit heute", $format_title);
$maxlength[$i]=strlen('Mitarbeit_heute');
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
$maxlength[$i]=strlen('Punkte insgesamt');
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
$maxlength[$i]=strlen('Mitarbeit insgesamt');
$worksheet->write(1,++$i,"Unterschrift", $format_title);
$maxlength[$i]=strlen('Unterschrift')+5;
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
$lehreinheit_id = $uebung_obj->lehreinheit_id;
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
//Alle Studenten die dieser Lehreinheit zugeordnet sind
/*
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
UNION
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
*/
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
if($result_stud = $db->db_query($qry_stud))
{
$zeile=3;
while($row_stud = $db->db_fetch_object($result_stud))
{
$spalte=0;
$punkte_heute=0;
//vorname
$worksheet->write($zeile,$spalte,$row_stud->vorname);
if(strlen($row_stud->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->vorname);
//nachname
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
if(strlen($row_stud->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->nachname);
//matrikelnr
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
//Gruppe
/*
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
*/
foreach($beispiel_obj->beispiele as $row_bsp)
{
$studentbeispiel_obj = new beispiel();
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
if($studentbeispiel_obj->vorbereitet)
$punkte = $row_bsp->punkte;
else
$punkte = 0;
$punkte_heute +=$punkte;
//punkte auf uebung
$worksheet->write($zeile,++$spalte,$punkte);
}
//punkte heute
$worksheet->write($zeile,++$spalte,$punkte_heute);
//mitarbeit heute
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
//punkte insgesamt
$qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE
tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND
tbl_studentbeispiel.vorbereitet=true AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($uebung_obj->lehreinheit_id, FHC_INTEGER)." AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id
";
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
//mitarbeit insgesamt
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE student_uid=".$db->db_add_param($row_stud->uid)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
$zeile++;
}
for($i=0;$i<count($maxlength);$i++)
$worksheet->setColumn(0, $i, $maxlength[$i]);
}
$workbook->close();
}
}
else
{
//HTML VERSION
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="Javascript">
function addUser(student_uid)
{
var upd, upd_f;
upd = document.forms[0].update_ids;
upd_f = "update_" + student_uid;
if (document.forms[0].elements[upd_f].checked != true)
{
document.forms[0].elements[upd_f].checked = true;
upd.value += student_uid + "#";
}
}
</script>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
//Update der Daten
$uids = explode('#',$_POST['update_ids']);
$uebung_obj = new uebung($uebung_id);
$beispiel_obj = new beispiel();
$beispiel_obj->load_beispiel($uebung_id);
$error=false;
foreach($uids as $uid)
{
if($uid!='')
{
if ($uebung_obj->beispiele)
{
foreach($beispiel_obj->beispiele as $bsp)
{
if(isset($_POST['update_'.$uid.'_'.$bsp->beispiel_id]))
$vorbereitet=true;
else
$vorbereitet=false;
$bsp_obj = new beispiel();
if(!$bsp_obj->studentbeispiel_exists($uid,$bsp->beispiel_id))
{
$new=true;
$bsp_obj->insertamum = date('Y-m-d H:i:s');
$bsp_obj->insertvon = $user;
}
else
{
$bsp_obj->load_studentbeispiel($uid, $bsp->beispiel_id);
$new=false;
}
$bsp_obj->student_uid = $uid;
$bsp_obj->beispiel_id = $bsp->beispiel_id;
$bsp_obj->vorbereitet = $vorbereitet;
$bsp_obj->updateamum = date('Y-m-d H:i:s');
$bsp_obj->updatevon = $user;
if(!$bsp_obj->studentbeispiel_save($new))
$error=true;
}
}
else
{
if (!$uebung_obj->load_studentuebung($uid,$uebung_id))
{
$uebung_obj->student_uid = $uid;
$uebung_obj->mitarbeiter_uid = $user;
$uebung_obj->abgabe_id = null;
$uebung_obj->note = $_POST['update_'.$uid.'_note'];
$uebung_obj->mitarbeitspunkte = null;
$uebung_obj->punkte = null;
$uebung_obj->anmerkung = null;
$uebung_obj->benotungsdatum = date("Y-m-d H:i:s");
$uebung_obj->updateamum = null;
$uebung_obj->updatevon = null;
$uebung_obj->insertamum = date("Y-m-d H:i:s");
$uebung_obj->insertvon = $user;
$new = true;
}
else
{
$uebung_obj->load_studentuebung($uid,$uebung_id);
$uebung_obj->mitarbeiter_uid = $user;
$uebung_obj->note = $_POST['update_'.$uid.'_note'];
$uebung_obj->benotungsdatum = date("Y-m-d H:i:s");
$uebung_obj->updateamum = date("Y-m-d H:i:s");
$uebung_obj->updatevon = $user;
$new = false;
}
$uebung_obj->studentuebung_save($new);
}
}
}
if(!$error)
echo "Die &Auml;nderungen wurden erfolgreich gespeichert";
else
echo "<span class='error'>Fehler beim Speichern der &Auml;nderungen</span>";
}
$uebung_obj = new uebung($uebung_id);
$lehreinheit_obj = new lehreinheit($uebung_obj->lehreinheit_id);
$beispiel_obj = new beispiel();
$lehrveranstaltung_obj = new lehrveranstaltung($lehreinheit_obj->lehrveranstaltung_id);
$stg_obj = new studiengang($lehrveranstaltung_obj->studiengang_kz);
$beispiel_obj->load_beispiel($uebung_id);
if ($uebung_obj->beispiele)
$anzahl = count($beispiel_obj->beispiele);
else
$anzahl = 1;
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)."
ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
$lehreinheit_id = '';
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studierende';
//Alle Studenten die dieser lehreinheit zugeordnet sind
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
/*
$qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND
tbl_benutzergruppe.studiensemester_kurzbz = '$stsem'
UNION
SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
tbl_lehreinheitgruppe.verband is not null AND
tbl_lehreinheitgruppe.gruppe is not null AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND tbl_lehreinheitgruppe.verband is not null AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
*/
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
echo "<form method='POST' action='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&gruppe=$gruppe&stsem=$stsem'>";
echo "<input type='hidden' name='update_ids' value=''>";
echo "<table border='1'>
<tr>
<td colspan='".($anzahl+3)."' width='100%'>
<table width='100%'>
<tr>
<td><font class='headline'>$lehrveranstaltung_obj->semester.Semester</font></td>
<td align='center'><font class='headline'>$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez - $gruppen</font></td>
<td align='right'><font class='headline'>".date('d.m.Y')."</font></td>
</tr>
</table>
</td>
</tr>";
echo "<tr><td align='center'><b>Name</b></td>";
if (!$uebung_obj->beispiele)
echo "<td>Note</td>";
else
{
foreach($beispiel_obj->beispiele as $row)
{
echo "<td>$row->bezeichnung</td>";
}
}
echo "<td align='center' width='200'><b>Unterschrift</b></td><td></td></tr>\n";
if($result = $db->db_query($qry_stud))
{
while($row_stud = $db->db_fetch_object($result))
{
$filename = '';
$su_obj = new uebung($uebung_id);
$su_obj->load_studentuebung($row_stud->uid, $uebung_id);
if ($su_obj->abgabe_id)
{
$su_obj->load_abgabe($su_obj->abgabe_id);
$filename = $su_obj->abgabedatei;
}
else
$filename='';
echo "<tr onMouseOver=\"this.style.backgroundColor='#c7dfe8'\" onMouseOut=\"this.style.backgroundColor='#ffffff'\">
<td nowrap><input type='checkbox' name='update_$row_stud->uid' disabled>&nbsp;<b>$row_stud->nachname</b>&nbsp;$row_stud->vorname $row_stud->uid</td>";
if (!$uebung_obj->beispiele)
{
$studentuebung_obj = new uebung();
$studentuebung_obj->load_studentuebung($row_stud->uid,$uebung_id);
echo "<td align='center'><input type='text' name='update_".$row_stud->uid."_note' onchange=\"addUser('$row_stud->uid');\" value='".$studentuebung_obj->note."' size='3'></td>\n";
}
else
{
foreach($beispiel_obj->beispiele as $row_bsp)
{
$studentbeispiel_obj = new beispiel();
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
echo "<td align='center'><input type='checkbox' name='update_".$row_stud->uid."_".$row_bsp->beispiel_id."' onClick=\"addUser('$row_stud->uid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'<i><small>P</small></i>':'')."</td>\n";
}
}
echo "<td>&nbsp;</td>";
if ($filename != "")
echo "<td><a href='anwesenheitsliste.php?uid=$row_stud->uid&output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem&download_abgabe=$filename'>Abgabe</a></td>\n";
else if ($uebung_obj->abgabe)
echo "<td><span style='color:red;'>Fehlt!</span></td>";
else
echo "<td></td>";
echo "</tr>\n";
}
}
echo '</table>';
echo "<br><br><table width='100%'><tr><td align='right'><input type='submit' name='submit' value='Änderungen Speichern'></td></tr></table>";
echo '</form>'
?>
</body>
</html>
<?php
}
@@ -1,392 +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/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
$sprache = getSprache();
$p = new phrasen($sprache);
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title><?php echo $p->t('benotungstool/benotungstool');?></title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
//-->
</script>
</head>
<body>
<?php
$user = get_uid();
if(!check_lektor($user))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
//Vars
$datum_obj = new datum();
$show_excel_link = false;
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Kopfzeile
echo '<table width="100%">';
echo ' <tr><td>';
echo '<h1>&nbsp;'.$p->t('benotungstool/benotungstool');
echo '</h1></td><td align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>1)
{
//Lehreinheiten DropDown
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = $db->db_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = $db->db_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo $p->t('benotungstool/fehlerBeimAuslesen');
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table width="100%"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
if($lehreinheit_id=='')
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br>
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\n";
*/
echo "<h3>".$p->t('benotungstool/anwesenheitstabelle')."</h3>";
/*
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id=='')
$uebung_id=$row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
echo '+ ';
else
echo '- ';
echo $row->bezeichnung;
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die("Derzeit gibt es keine Uebungen");
*/
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>".$p->t('benotungstool/waehlenSieEineAufgabeAus').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<option value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
{
$disabled = 'disabled';
$selected = '';
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
{
$selected = 'selected';
if ($subrow->beispiele)
$show_excel_link = true;
}
else
{
$selected = '';
}
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
<td><b>+</b>...</td>
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
$uebung_obj = new uebung();
$uebung_obj->load($uebung_id);
echo "<h3><u>$uebung_obj->bezeichnung</u></h3>";
echo '<table width="100%"><tr><td>';
echo "<ul><li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'>".$p->t('benotungstool/alleStudierenden')."</a>&nbsp;";
if ($show_excel_link)
echo "<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><img src='../../../../skin/images/excel.gif' width=16 height=16></a>";
echo "</li>";
echo '</ul>';
echo "</td><!--<td valign='top'>
<ul><li>
<a href='anwesenheitsliste.php?output=xls&lehreinheit_id=$lehreinheit_id&all'>Gesamt&uuml;bersicht&nbsp;<img src='../../../../skin/images/excel.gif' width=16 height=16></a>
</li></ul>
</td>--></tr></table>";
?>
</td></tr>
</table>
</body>
</html>
@@ -1,874 +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>.
*/
/*
* Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit
* (zB fuer die Uebernahme der Uebungen aus dem Vorjahr)
*/
require_once('../../../../config/cis.config.inc.php');
// ------------------------------------------------------------------------------------------
// Datenbankanbindung
// ------------------------------------------------------------------------------------------
require_once('../../../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
// ---------------- Standart Include Dateien einbinden
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/lehreinheitgruppe.class.php');
require_once('../../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
// ***********************************************************************************************
// Datenbankverbindungen zu Classen
// ***********************************************************************************************
if (!$le_obj = new lehreinheit())
die('Fehler beim Oeffnen der Lehreinheit');
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
if (!$stg_obj = new studiengang())
die('Fehler beim Oeffnen der Studieng&auml;nge');
if (!$stsem = new studiensemester())
die('Fehler beim Oeffnen der Studiensemester');
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
if (!$stsem_aktuell = $stsem->getakt())
$stsem_aktuell = $stsem->getaktorNext();
##echo "<hr> GET <br> ";
#var_dump($_GET);
#echo "<hr> POST <br> ";
#var_dump($_POST);
$errormsg=array();
$error=0;
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin'))
die('Sie haben keine Rechte f&uuml;r diese Seite');
// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx
$studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?trim($_GET['studiensemester_kurzbz']):$stsem_aktuell);
// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit
$lehrveranstaltung_id=(isset($_GET['lvid'])?trim($_GET['lvid']):(isset($_GET['lehrveranstaltung_id'])?trim($_GET['lehrveranstaltung_id']):''));
// @$studiengang_kz Studiengang
$studiengang_kz=(isset($_GET['studiengang_kz'])?trim($_GET['studiengang_kz']):227);
// @$semester Semester des Studienganges
$semester=(isset($_GET['semester'])?trim($_GET['semester']):1);
// @$lehreinheit_id Lehreinheit
$lehreinheit_id=(isset($_GET['leid'])?trim($_GET['leid']):(isset($_GET['lehreinheit_id'])?trim($_GET['lehreinheit_id']):''));
$uebung_id_source=(isset($_GET['uebung_id_source'])?$_GET['uebung_id_source']:(isset($_GET['uebung_id'])?trim($_GET['uebung_id']):''));
// ------------- Target
// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx
$studiensemester_kurzbz_target=(isset($_GET['studiensemester_kurzbz_target'])?trim($_GET['studiensemester_kurzbz_target']):$stsem_aktuell);
// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit
$lehrveranstaltung_id_target=(isset($_GET['lvid_target'])?trim($_GET['lvid_target']):(isset($_GET['lehrveranstaltung_id_target'])?trim($_GET['lehrveranstaltung_id_target']):''));
// @$studiengang_kz Studiengang
$studiengang_kz_target=(isset($_GET['studiengang_kz_target'])?trim($_GET['studiengang_kz_target']):227);
// @$semester Semester des Studienganges
$semester_target=(isset($_GET['semester_target'])?trim($_GET['semester_target']):$semester);
// @$lehreinheit_id_target Lehreinheit
$lehreinheit_id_target=(isset($_GET['lehreinheit_id_target'])?trim($_GET['lehreinheit_id_target']):'');
// @$lehreinheit_id_sel Lehreinheit
$lehreinheit_id_sel=(isset($_GET['lehreinheit_id_sel'])?trim($_GET['lehreinheit_id_sel']):'');
// @$lehreinheit_id_sel Lehreinheit
$uebung_id_sel=(isset($_GET['uebung_id_sel'])?trim($_GET['uebung_id_sel']):'');
if ($uebung_id_sel!='' && !is_array($uebung_id_sel))
$uebung_id_sel=array($uebung_id_sel);
if ($uebung_id_source!='' && !is_array($uebung_id_source))
$uebung_id_source=array($uebung_id_source);
#var_dump($uebung_id_source);
if (!empty($lehreinheit_id_sel))
{
if ($le_obj->load($lehreinheit_id_sel))
{
$studiensemester_kurzbz=$le_obj->studiensemester_kurzbz;
$lehrveranstaltung_id=$le_obj->lehrveranstaltung_id;
$lehreinheit_id=$lehreinheit_id_sel;
if ($lv_obj->load($lehrveranstaltung_id))
{
$studiengang_kz=$lv_obj->studiengang_kz;
$semester=$lv_obj->semester;
}
else
{
$errormsg[]='Lehrveranstaltung '.$lehrveranstaltung_id.' wurden nicht gefunden! '.$lv_obj->errormsg;
}
}
else
{
$errormsg[]='Lehreinheit '.$lehreinheit_id_sel.' wurden nicht gefunden! '.$le_obj->errormsg;
}
}
else if(!isset($_GET['kopieren']) && $uebung_id_source=='' && $uebung_id_sel!='' )
{
#var_dump($uebung_id_sel);
$uebung_id_source=$uebung_id_sel;
}
#var_dump($uebung_id_source);
// Es wurde nur eine Uebungsid uebergeben, und noch keine Aktion gedrueckt
if(!isset($_GET['kopieren']) && $uebung_id_source!='')
{
if (!is_array($uebung_id_source) && !empty($uebung_id_source))
$uebung_id_source=array($uebung_id_source);
$ueb_0 = new uebung($uebung_id_source[0]);
#var_dump($ueb_0);
if ($lehreinheit_id=$ueb_0->lehreinheit_id)
{
if ($le_obj->load($lehreinheit_id))
{
$lehrveranstaltung_id = $le_obj->lehrveranstaltung_id;
$studiensemester_kurzbz = $le_obj->studiensemester_kurzbz;
// @$lehrveranstaltung_id Lehrveranstaltung
if ($lehrveranstaltung_id)
{
if ($lv_obj->load($lehrveranstaltung_id))
{
$studiengang_kz = $lv_obj->studiengang_kz;
$semester = $lv_obj->semester;
}
else
{
$bAnzeige=false;
$errormsg[]='Lehrveranstaltung wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$lv_obj->errormsg;
}
}
}
else
{
$bAnzeige=false;
$errormsg[]='Lehreinheit wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$le_obj->errormsg;
}
}
else
{
$errormsg[]='&Uuml;bung wurde nicht gefunden '.addslashes($uebung_id_source).' '.$ueb_0->errormsg;
}
}
// Aktion wurde gedruckt
if(isset($_GET['kopieren']))
{
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
$uebung_id_source=array($uebung_id_source);
if (!is_array($uebung_id_source) || count($uebung_id_source)<1 )
{
$error=true;
$errormsg[]="<span class='error'>&Uuml;bung muss ausgew&auml;hlt sein!</span>";
}
if (!is_numeric($lehreinheit_id_target))
{
$error=true;
$errormsg[]="<span class='error'>Lehreinheit muss ausgew&auml;hlt sein!</span>";
}
if (!$error)
{
$db->db_query('BEGIN;');
reset($uebung_id_source);
foreach ($uebung_id_source as $ueb)
{
$copy_insert = 0;
$copy_update = 0;
$copy_insert_bsp = 0;
$copy_update_bsp = 0;
$error=false;
$ueb_1 = new uebung($ueb);
$lehreinheit_id_unterord=$ueb_1->lehreinheit_id;
$nummer_source = $ueb_1->nummer;
$qry = "SELECT * from campus.tbl_uebung where nummer = ".myaddslashes($nummer_source)." and lehreinheit_id = ".myaddslashes($lehreinheit_id_target).";";
//echo $qry;
if($result1 = $db->db_query($qry))
{
if ($db->db_num_rows($result1) >0)
{
$row1 = $db->db_fetch_object($result1);
$ueb_1_target =new uebung($row1->uebung_id);
$ueb_1_target->new = false;
$new = null;
$ueb_1_target->insertamum = null;
$ueb_1_target->insertvon = null;
$ueb_1_target->updateamum = date('Y-m-d H:i:s');
$ueb_1_target->updatevon = $user;
$copy_update++;
}
else
{
$ueb_1_target =new uebung();
$ueb_1_target->new = true;
$new = true;
$ueb_1_target->insertamum = date('Y-m-d H:i:s');
$ueb_1_target->insertvon = $user;
$ueb_1_target->updateamum = null;
$ueb_1_target->updatevon = null;
$copy_insert++;
}
$ueb_1_target->gewicht = $ueb_1->gewicht;
$ueb_1_target->punkte = null;
$ueb_1_target->angabedatei=null;
$ueb_1_target->freigabevon = null;
$ueb_1_target->freigabebis = null;
$ueb_1_target->abgabe = false;
$ueb_1_target->beispiele = false;
$ueb_1_target->statistik = false;
$ueb_1_target->maxstd = null;
$ueb_1_target->maxbsp=null;
$ueb_1_target->liste_id=null;
$ueb_1_target->bezeichnung = $ueb_1->bezeichnung;
$ueb_1_target->positiv = $ueb_1->positiv;
$ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung;
$ueb_1_target->lehreinheit_id = $lehreinheit_id_target;
$ueb_1_target->nummer = $nummer_source;
if (!$ueb_1_target->save($new))
{
$error = 1;
$errormsg[]="<span class='error'>Haupt&uuml;bung konnte nicht kopiert werden!</span>";
}
else
{
// Subübungen durchlaufen
$ueb_2 = new uebung();
$ueb_2->load_uebung($lehreinheit_id_unterord,2,$ueb);
$ueb_2anzahl = count($ueb_2->uebungen);
if ($ueb_2anzahl >0)
{
foreach ($ueb_2->uebungen as $subrow)
{
$nummer_source2 = $subrow->nummer;
$qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'";
$result2 = $db->db_query($qry2);
if ($db->db_num_rows($result2) >0)
{
$row2 = $db->db_fetch_object($result2);
$ueb_2_target =new uebung($row2->uebung_id);
$ueb_2_target->new = false;
$new = null;
$ueb_2_target->insertamum = null;
$ueb_2_target->insertvon = null;
$ueb_2_target->updateamum = date('Y-m-d H:i:s');
$ueb_2_target->updatevon = $user;
$copy_update++;
}
else
{
$ueb_2_target =new uebung();
$ueb_2_target->new = true;
$new = true;
$ueb_2_target->insertamum = date('Y-m-d H:i:s');
$ueb_2_target->insertvon = $user;
$ueb_2_target->updateamum = null;
$ueb_2_target->updatevon = null;
$copy_insert++;
}
$ueb_2_target->gewicht = $subrow->gewicht;
$ueb_2_target->punkte = $subrow->punkte;
$ueb_2_target->angabedatei=null;
$ueb_2_target->freigabevon = $subrow->freigabevon;
$ueb_2_target->freigabebis = $subrow->freigabebis;
$ueb_2_target->abgabe = $subrow->abgabe;
$ueb_2_target->beispiele = $subrow->beispiele;
$ueb_2_target->statistik = $subrow->statistik;
$ueb_2_target->maxstd = $subrow->maxstd;
$ueb_2_target->maxbsp=$subrow->maxbsp;
$ueb_2_target->liste_id=$ueb_1_target->uebung_id;
$ueb_2_target->bezeichnung = $subrow->bezeichnung;
$ueb_2_target->positiv = $subrow->positiv;
$ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung;
$ueb_2_target->lehreinheit_id = $lehreinheit_id_target;
$ueb_2_target->nummer = $nummer_source2;
if (!$ueb_2_target->save($new))
{
$error = 1;
$errormsg[]="<span class='error'>&Uuml;bung konnte nicht kopiert werden!</span>";
}
//angabedatei syncen
if (($error == 0) and $subrow->angabedatei != "")
{
$angabedatei_source = $subrow->angabedatei;
$angabedatei_target = makeUploadName($db,'angabe', $lehreinheit_id_target, $ueb_2_target->uebung_id, $stsem);
$angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.',0) + 1);
echo $angabedatei_source."->".$angabedatei_target."<br>";
exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target);
$angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'";
$db->db_query($angabeupdate);
}
if (($error == 0) and $ueb_2_target->beispiele)
{
// beispiele synchronisieren
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($subrow->uebung_id);
foreach ($bsp_obj->beispiele as $bsp)
{
$nummer_source_bsp = $bsp->nummer;
$qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'";
$resultbsp = $db->db_query($qrybsp);
if ($db->db_num_rows($resultbsp) >0)
{
$rowbsp = $db->db_fetch_object($resultbsp);
$bsp_target =new beispiel($rowbsp->beispiel_id);
$bsp_target->new = false;
$new = null;
$bsp_target->insertamum = null;
$bsp_target->insertvon = null;
$bsp_target->updateamum = date('Y-m-d H:i:s');
$bsp_target->updatevon = $user;
$copy_update_bsp++;
}
else
{
$bsp_target =new beispiel();
$bsp_target->new = true;
$new = true;
$bsp_target->insertamum = date('Y-m-d H:i:s');
$bsp_target->insertvon = $user;
$bsp_target->updateamum = null;
$bsp_target->updatevon = null;
$copy_insert_bsp++;
}
$bsp_target->uebung_id = $ueb_2_target->uebung_id;
$bsp_target->nummer = $nummer_source_bsp;
$bsp_target->bezeichnung = $bsp->bezeichnung;
$bsp_target->punkte = $bsp->punkte;
if (!$bsp_target->save($new))
{
$error = 1;
$errormsg[]="<span class='error'>Beispiele konnten nicht angelegt werden</span>";
}
//Notenschlüssel synchronisieren
$clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'";
$db->db_query($clear);
$qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb."'";
$result_ns_source = $db->db_query($qry_ns_source);
while($row_ns = $db->db_fetch_object($result_ns_source))
{
$ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')";
$db->db_query($ns_insert);
}
}
}
}
}
}
}
else
{
$errormsg[]="<span class='error'>Fehler beim Datenbankzugriff!</span>";
}
if ($error == 0)
{
$errormsg[]="&Uuml;bung ".$ueb." erfolgreich kopiert! (&Uuml;: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
}
else
{
$errormsg[]="&Uuml;bung ".$ueb." wurde nicht kopiert! (&Uuml;: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
break;
}
}
}
// Nun alle An Felder - Lehreinheit zum Von kopieren (neue Anzeige)
if ($error == 0)
{
$db->db_query('COMMIT');
}
else
{
$db->db_query('ROLLBACK');
}
$errormsg[]='<br><br><a href="'.$_SERVER['PHP_SELF'].'" class="Item">noch eine &Uuml;bung kopieren</a>';
}
// ***********************************************************************************************
// Datenbankfeld - Variable
// ***********************************************************************************************
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool - Copy </title>
</head>
<body>
<?php
$cFormName='copy_uebung';
$content='';
$content.='
<h1>Kopieren von &Uuml;bungen in eine andere Lehreinheit</h1>
<form title="Script zum Kopieren einer &Uuml;bung in eine beliebige Lehreinheit." accept-charset="UTF-8" name="'.$cFormName.'" method="GET" target="_self" action="'.$_SERVER['PHP_SELF'].'" >
Direkt Eingabe : LE ID:<input name="lehreinheit_id_sel" onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();">&nbsp;,&nbsp;
&Uuml;bung ID:<input name="uebung_id_sel" onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();">&nbsp;&nbsp;oder<br><br>
<table class="liste">
<tr>
<th>Studiensem</th>
<th>StgKz</th>
<th>Sem</th>
<th>Lehrveranstaltung</th>
<th>Lehreinheiten</th>
<th>&Uuml;bungID die kopiert werden soll:</th>
</tr>
<tr>
';
//---------------------------------------------------------------------------
// Auswahlfelder
$content.='<tr>';
// Studiensemester public.tbl_studiensemester_kurzbz
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="studiensemester_kurzbz">';
# $content.='<option value="">&nbsp;Alle&nbsp;</option>';
$stsem->studiensemester=array();
if ($stsem->getAll())
{
foreach ($stsem->studiensemester as $row)
{
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
else
{
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Studiengang public.tbl_studiengang_kz
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="studiengang_kz">';
# $content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$stsem->result=array();
if ($stg_obj->getAll('typ, kurzbz',true))
{
$max_semester=0;
$arrStudiengang='';
foreach ($stg_obj->result as $row)
{
if (empty($studiengang_kz) && !isset($_REQUEST['studiengang_kz']) )
{
$studiengang_kz=$row->studiengang_kz;
$semester=1;
}
if ($studiengang_kz==$row->studiengang_kz)
{
$arrStudiengang=$row;
$max_semester=$row->max_semester;
}
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kuerzel.'&nbsp;('.$row->kurzbzlang.')&nbsp;</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Studieng&auml;nge wurden nicht gefunden! '.$stg_obj->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="semester">';
# $content.='<option value="" '.(empty($semester)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
if ($studiengang_kz!='')
{
for($i=0;$i<=$max_semester;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
else
{
for($i=0;$i<=9;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Lehrveranstaltungen
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="lehrveranstaltung_id">';
# $content.='<option value="" '.(empty($lehrveranstaltung_id)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$lv_obj->lehrveranstaltungen=array();
if (!empty($studiengang_kz))
{
if ($lv_obj->load_lva_le($studiengang_kz, $studiensemester_kurzbz, $semester,null,null,null,'bezeichnung'))
{
foreach ($lv_obj->lehrveranstaltungen as $row)
{
if (empty($lehrveranstaltung_id))
$lehrveranstaltung_id=$row->lehrveranstaltung_id;
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.(("$lehrveranstaltung_id"=="$row->lehrveranstaltung_id")?' selected="selected" ':'').'>&nbsp;'.CutString($row->bezeichnung, 30, '...').' '.$row->lehrform_kurzbz.'&nbsp;('.$row->lehrveranstaltung_id.')</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Lehrveranstaltungen wurden nicht gefunden! '.$lv_obj->errormsg;
}
}
$content.='</select>
</td>';
//---------------------------------------------------------------------------
// Lehreinheit
$content.='<td valign="top"><select onchange="document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="lehreinheit_id">';
# $content.='<option value="" '.(empty($lehreinheit_id)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$le_obj->lehreinheiten=array();
if (!empty($lehrveranstaltung_id))
{
$le_obj->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
foreach ($le_obj->lehreinheiten as $row)
{
if (empty($lehreinheit_id))
$lehreinheit_id=$row->lehreinheit_id;
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
//Lektoren laden
$lektoren='';
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
{
$lektoren.= ($lektoren?',':'').'&nbsp;'.$ma->mitarbeiter_uid;
}
$lektoren=CutString($lektoren, 30, '...');
$content.='<option value="'.$row->lehreinheit_id.'" '.($lehreinheit_id==$row->lehreinheit_id?' selected="selected" ':'').'>&nbsp;'.$row->lehrform_kurzbz.' '.$gruppen.'&nbsp;'.$lektoren.'&nbsp;('.$row->lehreinheit_id.')</option>';
}
}
$content.='</select></td>';
#var_dump($uebung_id_source);
$submitOK=false;
if (!$ueb = new uebung())
{
die('Fehler beim Oeffnen der &Uuml;bungen');
}
else
{
$ueb->uebungen=array();
$ueb->errormsg ='';
if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id))
{
$errormsg[]=$ueb->errormsg;
}
}
$content.='<td valign="top"><select multiple size="'.count($ueb->uebungen).'" name="uebung_id_source[]">';
if (is_array($ueb->uebungen) && count($ueb->uebungen)>0)
{
foreach ($ueb->uebungen as $row)
{
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
$uebung_id_source=array($uebung_id_source);
$selected='';
if (is_array($uebung_id_source) && count($uebung_id_source)>0 )
{
reset($uebung_id_source);
foreach ($uebung_id_source as $ueb)
{
if ($row->uebung_id==$ueb)
$selected=' selected="selected" ';
}
}
$submitOK=true;
$content.='<option value="'.$row->uebung_id.'" '.$selected.'>&nbsp;'.$row->bezeichnung.'&nbsp;('.$row->uebung_id.')</option>';
}
}
if (!$submitOK)
$content.='<option value="">&nbsp;<span class="error">keine &Uuml;bung zur LE</span></option>';
$content.='</select></td>';
$content.='
</tr>
<tr><td colspan="6"><hr></td></tr>
';
if ($submitOK)
$content.='<tr><th colspan="5">Lehreinheit ID in welche diese &Uuml;bung kopiert werden soll</th><td><input type="submit" value="Kopieren" name="kopieren"></td></tr>';
else
$content.='<tr><th colspan="6">Lehreinheit ID in welche diese &Uuml;bung kopiert werden soll</th></tr>';
$content.='
<tr><td colspan="6">&nbsp;</td></tr>
';
$content.='
<tr>
';
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester_target.value=\'\';document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="studiensemester_kurzbz_target">';
# $content.='<option value="">&nbsp;Alle&nbsp;</option>';
$stsem->studiensemester=array();
if ($stsem->getAll())
{
foreach ($stsem->studiensemester as $row)
{
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz_target"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
else
{
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Studiengang public.tbl_studiengang_kz
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester_target.value=\'\';document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="studiengang_kz_target">';
# $content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$stsem->result=array();
if ($stg_obj->getAll('typ, kurzbz',true))
{
$max_semester=0;
$arrStudiengang='';
foreach ($stg_obj->result as $row)
{
if (empty($studiengang_kz_target) && !isset($_REQUEST['studiengang_kz_target']) )
{
$studiengang_kz_target=$row->studiengang_kz;
$semester_target=1;
}
if ($studiengang_kz_target==$row->studiengang_kz)
{
$arrStudiengang=$row;
$max_semester=$row->max_semester;
}
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz_target"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kuerzel.'&nbsp;('.$row->kurzbzlang.')&nbsp;</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz_target)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Studieng&auml;nge wurden nicht gefunden! '.$stg_obj->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
// document.'.$cFormName.'.uebung_id_source_target.value=\'\';
// $content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="semester_target">';
# $content.='<option value="" '.(empty($semester)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="semester_target">';
if ($studiengang_kz_target!='')
{
for($i=0;$i<=$max_semester;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester_target"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
else
{
for($i=0;$i<=9;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester_target"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
$content.='</select></td>';
##echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
//---------------------------------------------------------------------------
// Lehrveranstaltungen
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="lehrveranstaltung_id_target">';
# $content.='<option value="" '.(empty($lehrveranstaltung_id)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$lv_obj->lehrveranstaltungen=array();
if (!empty($studiengang_kz))
{
if ($lv_obj->load_lva_le($studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target,null,null,null,'bezeichnung'))
{
foreach ($lv_obj->lehrveranstaltungen as $row)
{
if (empty($lehrveranstaltung_id_target))
$lehrveranstaltung_id_target=$row->lehrveranstaltung_id;
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.(("$lehrveranstaltung_id_target"=="$row->lehrveranstaltung_id")?' selected="selected" ':'').'>&nbsp;'.CutString($row->bezeichnung, 30, '...').' '.$row->lehrform_kurzbz.'&nbsp;('.$row->lehrveranstaltung_id.')</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz_target)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Lehrveranstaltungen wurden nicht gefunden! '.$lv_obj->errormsg;
}
}
$content.='</select>
</td>';
#echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
//---------------------------------------------------------------------------
// Lehreinheit
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.submit();" name="lehreinheit_id_target">';
# $content.='<option value="" '.(empty($lehreinheit_id)?' selected="selected" ':'').'>&nbsp;Alle&nbsp;</option>';
$le_obj->lehreinheiten=array();
if (!empty($lehrveranstaltung_id_target))
{
$le_obj->load_lehreinheiten($lehrveranstaltung_id_target, $studiensemester_kurzbz_target);
foreach ($le_obj->lehreinheiten as $row)
{
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
//Lektoren laden
$lektoren='';
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
{
$lektoren.= ($lektoren?',':'').'&nbsp;'.$ma->mitarbeiter_uid;
}
$lektoren=CutString($lektoren, 30, '...');
$content.='<option value="'.$row->lehreinheit_id.'" '.($lehreinheit_id_target==$row->lehreinheit_id?' selected="selected" ':'').'>&nbsp;'.$row->lehrform_kurzbz.' '.$gruppen.'&nbsp;'.$lektoren.'&nbsp;('.$row->lehreinheit_id.')</option>';
}
}
$content.='</select></td>';
$content.='<td valign="top" align="right">';
#echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
if (!$ueb = new uebung())
{
die('Fehler beim Oeffnen der &Uuml;bungen');
}
else if (!empty($lehreinheit_id_target))
{
$ueb->uebungen=array();
$ueb->errormsg ='';
if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id_target))
{
$errormsg[]=$ueb->errormsg;
}
else if (count($ueb->uebungen))
{
$content.='<select disabled multiple size="'.count($ueb->uebungen) .'">';
foreach ($ueb->uebungen as $row)
{
$submitOK=true;
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
$uebung_id_source=array($uebung_id_source);
$selected='';
$content.='<option value="'.$row->uebung_id.'" '.$selected.'>&nbsp;'.$row->bezeichnung.'&nbsp;('.$row->uebung_id.')</option>';
}
$content.='</select>';
}
else if (!empty($lehreinheit_id_target))
{
$content.='<span class="error">keine &Uuml;bungen vorhanden</span>';
}
}
$content.='</td>';
$content.='</tr>';
$content.='</table>';
$content.='</form><hr>'.implode('<br>',$errormsg);
print_r($content);
?>
</body>
</html>
@@ -1,31 +0,0 @@
<?php
//Filenamen für up-/downloads bauen
// which kann sein angabe, abgabe oder zip
function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss=null, $uid=null, $date=null)
{
$query = "SELECT tbl_studiengang.kurzbzlang, lehrfach.semester, lehrfach.kurzbz from public.tbl_studiengang, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit where tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id and tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id and tbl_lehrveranstaltung.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_lehreinheit.lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
$result = $db->db_query($query);
$row = $db->db_fetch_object($result);
$name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss;
if ($which == "angabe")
{
$name .= "_".$uebung_id;
}
else if ($which == "abgabe")
{
$query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid);
$result = $db->db_query($query);
$row = $db->db_fetch_object($result);
$name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date;
}
else if ($which == "zip")
{
$name .= "_".$uebung_id."_".$date;
}
$name = str_replace(":","-",$name);
return $name;
}
?>
@@ -1,129 +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/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/legesamtnote.class.php');
require_once('../../../../include/lvgesamtnote.class.php');
require_once('../../../../include/zeugnisnote.class.php');
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diesen Bereich');
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die('Fehlerhafte Parameteruebergabe');
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
//Vars
$datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
//Kopfzeile
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
if($lehreinheit_id=='')
die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
$note = $_REQUEST["note"];
// lvgesamtnote für studenten speichern
if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0) && ($note < 6)) || ($note == 7) || ($note==8) || ($note==16)) ){
$jetzt = date("Y-m-d H:i:s");
$student_uid = $_REQUEST["student_uid"];
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($student_uid,$lehreinheit_id))
{
$legesamtnote->student_uid = $student_uid;
$legesamtnote->lehreinheit_id = $lehreinheit_id;
$legesamtnote->note = $_REQUEST["note"];
$legesamtnote->benotungsdatum = $jetzt;
$legesamtnote->updateamum = null;
$legesamtnote->updatevon = null;
$legesamtnote->insertamum = $jetzt;
$legesamtnote->insertvon = $user;
$legesamtnote->new = true;
$response = "neu";
}
else
{
$legesamtnote->note = $_REQUEST["note"];
$legesamtnote->benotungsdatum = $jetzt;
$legesamtnote->updateamum = $jetzt;
$legesamtnote->updatevon = $user;
$legesamtnote->new = false;
$response = "update";
}
if (!$legesamtnote->save())
echo "<span class='error'>".$legesamtnote->errormsg."</span>";
else
echo $response;
}
else
echo "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!";
?>
@@ -1,488 +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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/legesamtnote.class.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
if(!check_lektor($user))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
if($stsem!='' && !check_stsem($stsem))
die($p->t('global/studiensemesterKonnteNichtGefundenWerden'));
//Vars
$datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
var anfrage = null;
function erzeugeAnfrage()
{
try
{
anfrage = new XMLHttpRequest();
}
catch (versuchmicrosoft)
{
try
{
anfrage = new ActiveXObject("Msxml12.XMLHTTP");
}
catch (anderesmicrosoft)
{
try
{
anfrage = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (fehlschlag)
{
anfrage = null;
}
}
}
if (anfrage == null)
alert("Fehler beim Erstellen des Anfrageobjekts!");
}
function saveLENote(uid)
{
note = document.getElementById(uid).note.value;
if ((note < 0) || (note > 5 && note != 8 && note != 7 && note!=16))
{
alert("<?php echo $p->t('benotungstool/noteEingeben');?>");
document.getElementById(uid).note.value="";
}
else
{
erzeugeAnfrage();
//note = document.getElementById(uid).note.value;
stud_uid = uid;
var jetzt = new Date();
var ts = jetzt.getTime();
var url= '<?php echo "legesamtnoteeintragen.php?lvid=".addslashes($lvid)."&lehreinheit_id=".addslashes($lehreinheit_id)."&stsem=".addslashes($stsem); ?>';
url += '&submit=1&student_uid='+uid+"&note="+note+"&"+ts;
anfrage.open("GET", url, true);
anfrage.onreadystatechange = updateSeite;
anfrage.send(null);
}
}
function updateSeite()
{
if (anfrage.readyState == 4)
{
if (anfrage.status == 200)
{
uid = stud_uid;
var note = document.getElementById(uid).note.value;
var resp = anfrage.responseText;
if (resp == "neu" || resp == "update")
{
notentd = document.getElementById("note_"+uid);
while (notentd.childNodes.length>0)
{
notentd.removeChild(notentd.lastChild);
}
notenode = document.createTextNode(note);
notentd.appendChild(notenode);
}
else
{
alert(resp);
document.getElementById(uid).note.value="";
}
}
else
alert("Request status:" + anfrage.status);
}
}
//-->
</script>
</head>
<body>
<?php
//Kopfzeile
echo '<table width="100%">';
echo ' <tr>';
echo '<td><h1>'.$p->t('benotungstool/benotungstool');
echo '</h1></td><td align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='legesamtnoteeintragen.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
{
//Lehreinheiten DropDown
echo $p->t('global/lehreinheit')." : <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = $db->db_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = $db->db_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo $p->t('benotungstool/fehlerBeimAuslesen');
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table class="tabcontent"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
if($lehreinheit_id=='')
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\n";
*/
// legesamtnote für studenten speichern
if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){
$jetzt = date("Y-m-d H:i:s");
$student_uid = $_POST["student_uid"];
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($student_uid,$lehreinheit_id))
{
$legesamtnote->student_uid = $student_uid;
$legesamtnote->lehreinheit_id = $lehreinheit_id;
$legesamtnote->note = $_POST["note"];
$legesamtnote->benotungsdatum = $jetzt;
$legesamtnote->updateamum = null;
$legesamtnote->updatevon = null;
$legesamtnote->insertamum = $jetzt;
$legesamtnote->insertvon = $user;
$legesamtnote->new = true;
}
else
{
$legesamtnote->note = $_POST["note"];
$legesamtnote->benotungsdatum = $jetzt;
$legesamtnote->updateamum = $jetzt;
$legesamtnote->updatevon = $user;
}
if (!$legesamtnote->save())
echo "<span class='error'>".$legesamtnote->errormsg."</span>";
}
echo "<h3>".$p->t('benotungstool/leGesamtnotenVerwalten')."</h3>";
echo $p->t('benotungstool/noten');
//Studentenliste
echo "
<table>
";
echo "<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/gesamtnote')."</td>
<td class='ContentHeader2'>&nbsp;</td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'>".$p->t('benotungstool/leGesamtnote')."</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<td colspan='8' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
}
else
{
echo "
<tr>
<td colspan='8' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
semester='$row_grp->semester' ".
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
" ORDER BY nachname, vorname";
}
*/
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
while($row_stud = $db->db_fetch_object($result_stud))
{
$studentnote = new studentnote();
$studentnote->calc_gesamtnote($lehreinheit_id,$stsem,$row_stud->uid);
//echo $studentnote->debug;
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id))
{
$note = null;
}
else
{
$note = $legesamtnote->note;
}
if ($studentnote->studentgesamtnote!=0)
$note_calc = round($studentnote->studentgesamtnote,2);
else
$note_calc = null;
echo "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>";
echo "<td>$note_calc</td>";
echo "<td align='center'>";
if ($studentnote->negativ)
echo "<span class='negativ'>neg</span>";
echo "</td>";
echo "<td align='center'>";
if ($studentnote->fehlt)
echo "<span class='negativ'>X</span>";
else
echo "ok";
echo "</td>";
if ($note)
$note_final = $note;
else
{
if ($studentnote->negativ)
$note_final = 5;
else
{
$note_final = round($studentnote->studentgesamtnote);
if ($note_final == 0)
$note_final = null;
}
}
echo "<form accept-charset='UTF-8' name='$row_stud->uid' id='$row_stud->uid' method='POST' action='legesamtnoteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><td><input type='hidden' name='student_uid' value='$row_stud->uid'><input type='text' size='1' value='$note_final' name='note'><input type='button' value='->' onclick='saveLENote(\"$row_stud->uid\")'></td></form>";
if ($note == 5)
$negmarkier = " style='color:red; font-weight:bold;'";
else
$negmarkier = "";
echo "<td align='center' id='note_$row_stud->uid'><span".$negmarkier.">$note</span></td>";
echo "</tr>";
$i++;
}
}
echo "</table>";
?>
</td></tr>
</table>
</body>
</html>
@@ -1,63 +0,0 @@
<?php
$class_uebung = 'benotungstool_tabs';
$class_benotung = 'benotungstool_tabs';
$class_anwesenheit = 'benotungstool_tabs';
$class_statistik = 'benotungstool_tabs';
$file = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $file);
$pfile = $break[count($break) - 1];
if ($pfile == 'verwaltung.php' or $pfile == 'verwaltung_listen.php')
$class_uebung = 'benotungstool_tabs_active';
else if ($pfile == 'studentenpunkteverwalten.php' or $pfile == 'legesamtnoteverwalten.php' or $pfile == 'lvgesamtnoteverwalten.php')
$class_benotung = 'benotungstool_tabs_active';
else if ($pfile == 'anwesenheitstabelle.php')
$class_anwesenheit = 'benotungstool_tabs_active';
else if ($pfile == 'statistik.php')
$class_statistik = 'benotungstool_tabs_active';
echo "\n\n<!--Menue-->\n";
echo "<div><ul><li><a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/lehrveranstaltungBenoten')."</font></a></li><li><a href=".APP_ROOT."cms/dms.php?id=".$p->t('dms_link/benotungstoolHandbuch')." class='Item' target='_blank'><font size='3'>".$p->t('benotungstool/handbuchBenotungstool')."</font></a></li></ul></div>";
echo "<br>\n";
echo "<table cellpadding='3' width='100%'>\n";
echo " <tr>\n";
echo " <td class='$class_uebung'><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/uebungen')."</font></a></td>\n";
echo " <td class='$class_benotung'><a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/benotung')."</font></a></td>\n";
echo " <td class='$class_anwesenheit'><a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'>".$p->t('benotungstool/anwesenheitstabelle')."</font></a></td>\n";
echo " <td class='$class_statistik'><a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/statistik')."</font></a></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan='4' class='benotungstool_subtab'>";
if ($pfile == "verwaltung.php")
echo "<b>".$p->t('benotungstool/uebersicht')."</b>";
else if ($pfile == "verwaltung_listen.php")
{
echo "<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/uebersicht')."</a> \n";
if (isset($_GET["liste_id"]) && !isset($_GET["uebung_id"]))
echo " | <b>".$p->t('benotungstool/uebung')."</b> \n";
if (isset($_GET["liste_id"]) && isset($_GET["uebung_id"]))
echo " | <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id'>".$p->t('benotungstool/uebung')."</a> | <b>".$p->t('benotungstool/liste')."</b> \n";
}
if ($pfile == "studentenpunkteverwalten.php" && (!isset($_GET["uid"]) || $_GET["uid"]==""))
echo "<b>".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/uebersicht')."</b> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
else if ($pfile == "studentenpunkteverwalten.php")
echo "<b>".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/detail')."</b> / <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebersicht')."</a> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
else if ($pfile == "legesamtnoteverwalten.php")
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebungsnotenVerwalten')."</a> | <b>".$p->t('benotungstool/leNotenVerwalten')."</b> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
else if ($pfile == "lvgesamtnoteverwalten.php")
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebungsnotenVerwalten')."</a> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <b>".$p->t('benotungstool/lvNotenVerwalten')."</b>";
if ($pfile == 'anwesenheitstabelle.php')
echo "&nbsp;";
if ($pfile == 'statistik.php')
echo "&nbsp;";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "<!--Menue Ende--><br>\n\n";
?>
@@ -1,398 +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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
$sprache = getSprache();
$p = new phrasen($sprache);
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title><?php echo $p->t('benotungstool/kreuzerltool');?></title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
//-->
</script>
</head>
<body>
<?php
$user = get_uid();
if(!check_lektor($user))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
//Vars
$datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Kopfzeile
echo '<table width="100%">';
echo ' <tr><td>';
echo '<h1>'.$p->t('benotungstool/benotungstool');
echo '</h1></td><td align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='statistik.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>1)
{
//Lehreinheiten DropDown
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = $db->db_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = $db->db_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo $p->t('benotungstool/fehlerBeimAuslesen');
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table width="100%"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
if($lehreinheit_id=='')
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br>
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\n";
*/
echo "<h3>".$p->t('benotungstool/statistikFuerKreuzerllisten')."</h3>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>".$p->t('benotungstool/waehlenSieEineKreuzerlliste').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<option value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
{
$disabled = 'disabled';
$selected = '';
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
//if($uebung_id=='')
// $uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
if ($subrow->beispiele)
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
<td><b>+</b>...</td>
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
echo "<br><br><br>";
if(isset($uebung_id) && $uebung_id!='')
{
$beispiel_obj = new beispiel();
if($beispiel_obj->load_beispiel($uebung_id))
{
if(count($beispiel_obj->beispiele)>0)
{
echo '<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td>&nbsp;</td>
<td height="19" width="339" valign="bottom">
<table border="0" cellpadding="0" cellspacing="0" width="339" background="../../../../skin/images/bg.gif">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>';
$i=0;
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." GROUP BY student_uid";
if($result_cnt = $db->db_query($qry_cnt))
$gesamt=$db->db_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
$solved = 0;
$psolved = 0;
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$db->db_add_param($row->beispiel_id, FHC_INTEGER)." AND vorbereitet=true";
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
</font></td>
<td '.($i%2?'class="MarkLine"':'').'>
<table width="339" border="0" cellpadding="0" cellspacing="0" background="../../../../skin/images/bg_.gif">
<tr>
<td valign="top">
<table class="tabcontent">
<tr>
<td nowrap><font size="2" face="Arial, Helvetica, sans-serif">
<img src="../../../../skin/images/entry.gif" width="'.($psolved*3).'" height="5" alt="" border="1" />
<span class="smallb"><b>&nbsp;'.$solved.'</b> ['.number_format($psolved,1,'.','').'%]</span></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>';
}
echo "</table>";
echo "<br><br>Es haben insgesamt <u>$gesamt Studenten</u> eingetragen.";
}
}
else
echo "<span class='error'>$beispiel_obj->errormsg</span>";
}
?>
</td></tr>
</table>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,978 +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/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
if(!check_lektor($user))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
//Vars
$datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
//Abgabedatei ausliefern
if (isset($_GET["download_abgabe"])){
$file=$_GET["download_abgabe"];
$uebung_id = $_GET["uebung_id"];
$ueb = new uebung();
$ueb->load_studentuebung($uid, $uebung_id);
$ueb->load_abgabe($ueb->abgabe_id);
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
//Handbuch ausliefern
if (isset($_GET["handbuch"])){
$filename = BENOTUNGSTOOL_PATH."handbuch_benotungstool.pdf";
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="handbuch_benotungstool.pdf"');
readfile($filename);
exit;
}
if (isset($_FILES["abgabedatei"]))
{
//echo $_FILES["abgabedatei"];
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
if ($abgabedatei_up)
{
$student_uid = $uid;
$datum = date('Y-m-d H:i:s');
$datumstr = ereg_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($student_uid, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $student_uid;
$uebung_obj->mitarbeiter_uid = null;
$uebung_obj->abgabe_id = null;
$uebung_obj->uebung_id = $uebung_id;
$uebung_obj->note = null;
$uebung_obj->mitarbeitspunkte = null;
$uebung_obj->punkte = null;
$uebung_obj->anmerkung = null;
$uebung_obj->benotungsdatum = null;
$uebung_obj->updateamum = null;
$uebung_obj->updatevon = null;
$uebung_obj->insertamum = $datum;
$uebung_obj->insertvon = $user;
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = "";
$uebung_obj->abgabe_save(false);
}
else
{
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = "";
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
}
else
$abgabedatei_up = null;
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title><?php echo $p->t('benotungstool/benotungstool');?></title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
//-->
</script>
</head>
<body>
<?php
//Kopfzeile
echo '<table width="100%"><tr><td><h1>'.$p->t('benotungstool/benotungstool');
echo '</h1></td><td align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
{
//Lehreinheiten DropDown
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = $db->db_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = $db->db_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo $p->t('benotungstool/fehlerBeimAuslesen');
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table width="100%"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
if($lehreinheit_id=='')
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\n";
*/
echo "<h3>".$p->t('benotungstool/studentenaufgabenVerwalten')."</h3>";
if(isset($_POST['submit']))
{
$error=false;
$punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):'');
if(isset($punkte) && is_numeric($punkte) && !isset($_POST['abgabe']))
{
$ueb_obj = new uebung();
if($ueb_obj->load_studentuebung($uid, $uebung_id))
$ueb_obj->new = false;
else
{
$ueb_obj->new = true;
$ueb_obj->insertamum = date('Y-m-d H:i:s');
$ueb_obj->insertvon = $user;
}
$ueb_obj->mitarbeitspunkte = $punkte;
$ueb_obj->anmerkung = $_POST['anmerkung'];
$ueb_obj->updateamum = date('Y-m-d H:i:s');
$ueb_obj->updatevon = $user;
$ueb_obj->mitarbeiter_uid = $user;
$ueb_obj->uebung_id = $uebung_id;
$ueb_obj->student_uid = $uid;
if(!$ueb_obj->studentuebung_save())
$error = true;
$bsp_obj = new beispiel();
if($bsp_obj->load_beispiel($uebung_id))
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
}
else
{
$stud_bsp_obj->new=true;
$stud_bsp_obj->insertamum = date('Y-m-d H:i:s');
$stud_bsp_obj->insertvon = $user;
}
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $uid;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$stud_bsp_obj->studentbeispiel_save())
{
echo $stud_bsp_obj->errormsg;
$error=true;
}
}
}
if($error)
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span>";
else
echo $p->t('global/erfolgreichgespeichert')."<br>";
}
else if (!isset($_POST['abgabe']))
{
echo "<span class='error'>".$p->t('benotungstool/punkteSindUngueltig')."</span>";
}
if(isset($_POST['abgabe']) && is_numeric($_POST['note']))
{
$note = $_POST['note'];
$ueb_obj = new uebung();
if($ueb_obj->load_studentuebung($uid, $uebung_id))
$ueb_obj->new = false;
else
{
$ueb_obj->new = true;
$ueb_obj->insertamum = date('Y-m-d H:i:s');
$ueb_obj->insertvon = $user;
}
$ueb_obj->note = $note;
$ueb_obj->anmerkung = $_POST['anmerkung'];
$ueb_obj->updateamum = date('Y-m-d H:i:s');
$ueb_obj->updatevon = $user;
$ueb_obj->mitarbeiter_uid = $user;
$ueb_obj->uebung_id = $uebung_id;
$ueb_obj->student_uid = $uid;
if(!$ueb_obj->studentuebung_save())
$error = true;
if($error)
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span>";
else
echo $p->t('global/erfolgreichgespeichert')."<br>";
}
else if (isset($_POST['abgabe']))
echo "<span class='error'>".$p->t('benotungstool/noteIstUngueltig')."<br></span>";
}
if(isset($_GET['uid']) && $_GET['uid']!='')
{
//Punkte eintragen
$uid = addslashes($_GET['uid']);
$qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'";
if(!$result_stud = $db->db_query($qry_stud))
die($p->t('benotungstool/fehlerBeimLadenDesStudenten'));
if(!$row_stud = $db->db_fetch_object($result_stud))
die($p->t('benotungstool/studentWurdeNichtGefunden'));
//echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
// studentenquery
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
$i=1;
while($row_stud_dd = $db->db_fetch_object($result_stud_dd))
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
// }
// }
echo $p->t('benotungstool/studentenAuswaehlen').": ";
$key = array_search($uid,$uid_arr);
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>".$p->t('benotungstool/waehlenSieEineAufgabeAus').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
{
$disabled = 'disabled';
$selected = '';
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
<td><b>+</b>...</td>
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
$ueb_obj = new uebung();
$ueb_obj->load($uebung_id);
if($ueb_obj->load_studentuebung($uid, $uebung_id))
{
$anmerkung = $ueb_obj->anmerkung;
$mitarbeit = $ueb_obj->mitarbeitspunkte;
$note = $ueb_obj->note;
}
else
{
$anmerkung = '';
$mitarbeit = 0;
$note = '';
}
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
{
echo "
<form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
<table width='100%'><tr><td valign='top'>
".$p->t('global/anmerkung').":<br>
<textarea name='anmerkung' cols=50 rows=5>".$anmerkung."</textarea>
<br><br>
<table border='1'>
<tr>
<td class='ContentHeader2'>".$p->t('benotungstool/beispiel')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/vorbereitet')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/nichtVorbereitet')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
{
$vorbereitet = $stud_bsp_obj->vorbereitet;
$probleme = $stud_bsp_obj->probleme;
}
else
{
$vorbereitet = false;
$probleme = false;
}
echo "<tr>
<td>$row->bezeichnung</td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='1' ".($vorbereitet?'checked':'')."></td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='0' ".(!$vorbereitet?'checked':'')."></td>
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."></td>
<td align='center'>$row->punkte</td>
</tr>";
}
echo "</table>";
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
else
$filename='';
if ($filename != '')
echo "<br>".$p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." and tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER);
$punkte_gesamt_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id);
$mitarbeit_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid);
$mitarbeit=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
echo "
<br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Diese Kreuzerlliste:</td>
</tr>
<tr>
<td width='180'>".$p->t('benotungstool/punkteInsgesamtMoeglich').":</td>
<td width='30'>$punkte_gesamt</td>
</tr>
<tr>
<td>".$p->t('benotungstool/punkteEingetragen').":</td>
<td>$punkte_eingetragen</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/alleKreuzerllistenDieserUebung').":</td>
</tr>
<tr>
<td width='180'>".$p->t('benotungstool/punkteInsgesamtMoeglich').":</td>
<td width='30'>$punkte_gesamt_alle</td>
</tr>
<tr>
<td>".$p->t('benotungstool/punkteEingetragen').":</td>
<td>$punkte_eingetragen_alle</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/mitarbeitspunkte').":</td>
</tr>
<tr>
<td width='180'>".$p->t('benotungstool/bisherInsgesamt').":</td>
<td width='30'>$mitarbeit_alle</td>
</tr>
<tr>
<td>".$p->t('benotungstool/dieseKreuzerlliste').":</td>
<td><input type='text' size=2 name='punkte' value='$mitarbeit'></td>
</tr>
</table>
";
echo "
</td></tr>
<tr>
<td>&nbsp;</td>
<td>
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>
";
}
else if (is_numeric($_GET['uebung_id']))
{
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
else
$filename='';
//Abgaben benoten
$studentnote = new studentnote($lehreinheit_id,$stsem,$uid,$uebung_id);
$studentnote->calc_note($uebung_id, $uid);
echo "<span class='studentnote'>".$p->t('benotungstool/note').": ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")</span><br><br>";
if ($filename != '')
echo $p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
echo "
<form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
<table width='100%'><tr><td valign='top'>
".$p->t('global/anmerkung').":<br>
<textarea name='anmerkung' cols=50 rows=5>".$anmerkung."</textarea>
</td><td>
<table border='1'>
<tr>
<td class='ContentHeader2'>Note</td>
<td><input type='text' name='note' value='$note'><input type='hidden' name='abgabe' value='1'></td>
</tr>";
echo "
<tr>
<td colspan='2'>
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>";
}
echo "</td></tr></table>";
echo "<table>\n";
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$uid' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <b>".$p->t('benotungstool/studentenabgabedatei').":</b><br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
echo "</table>";
}
else
{
//Übungen benoten
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>".$p->t('benotungstool/aufgabeKreuzerllistenAbgaben').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
{
$disabled = 'disabled';
$selected = '';
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo "<a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'> [".$p->t('benotungstool/benoten')."]</a>";
$abgabe_obj = new uebung($uebung_id);
if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*"))
{
$date = date('Y-m-d_H:i:s');
$downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date);
$downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname);
echo "<a href='zipdownload_benotungstool.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&downloadname=$downloadname'> [".$p->t('benotungstool/abgabenDownloaden')."]</a>";
}
else
echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]";
echo '</td></tr></table>';
}
echo "<br><hr><br>";
//Studentenliste
echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."<br>";
echo "
<table width='80%'>
";
echo "<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/studentenansicht')."</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<td colspan='4' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
}
else
{
echo "
<tr>
<td colspan='4' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
semester='$row_grp->semester' ".
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
" ORDER BY nachname, vorname";
}
*/
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
while($row_stud = $db->db_fetch_object($result_stud))
{
echo "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>
<td><a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item' target='_blank'>".$p->t('benotungstool/studentenansicht')."</a></td>
</tr>";
$i++;
}
}
// }
// }
echo "</table>";
}
?>
</td></tr>
</table>
</body>
</html>
@@ -1,941 +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/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time = microtime_float();
?>
<!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/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
//Aus- und Einblenden der Listen
__js_page_array = new Array();
function js_toggle_container(conid)
{
if (document.getElementById)
{
var block = "table-row";
if (navigator.appName.indexOf('Microsoft') > -1)
block = 'block';
var status = __js_page_array[conid];
if (status == null)
status=document.getElementById(conid).style.display; //status = "none";
if (status == "none")
{
document.getElementById(conid).style.display = block;
__js_page_array[conid] = "visible";
}
else
{
document.getElementById(conid).style.display = 'none';
__js_page_array[conid] = "none";
}
return false;
}
else
return true;
}
//-->
</script>
</head>
<body>
<?php
$user = get_uid();
if(!check_lektor($user))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Laden der Lehrveranstaltung
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load($lvid))
die($lv_obj->errormsg);
//Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
//Vars
$datum_obj = new datum();
$global_msg ='';
$error_thema='';
$error_anzahlderbeispiele='';
$error_punkteprobeispiel='';
$error_freigabebis='';
$error_freigabevon='';
$error_gewicht='';
$thema = (isset($_POST['thema'])?$_POST['thema']:'');
$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:'');
$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:'');
$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel);
$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:'');
$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:'');
$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:'');
$positiv = (isset($_POST['positiv'])?$_POST['positiv']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$copy_content = '';
$copy_dropdown = '';
//Kopfzeile
echo '<table width="100%"><tr><td><h1>'.$p->t('benotungstool/benotungstool');
echo '</h1></td><td align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
}
if($result = $db->db_query($qry))
{
$result_alle_lehreinheiten = $result;
if($db->db_num_rows($result)>1)
{
//Lehreinheiten DropDown
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
$copy_dropdown = "<select name='lehreinheit_id_target'><option></option>";
while($row = $db->db_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
//Zugeteilte Lektoren
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
//Zugeteilte Gruppen
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
if ($lehreinheit_id != $row->lehreinheit_id)
$copy_dropdown .= "<option value='".$row->lehreinheit_id."'>$row->lfbez-$row->lehrform_kurzbz - $gruppen</option>";
}
echo '</SELECT> ';
$copy_dropdown .="</select>";
}
else
{
if($row = $db->db_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo $p->t('benotungstool/fehlerBeimAuslesen');
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table width="100%"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<h2>".$lv_obj->bezeichnung_arr[$sprache]."</h2>";
if($lehreinheit_id=='')
die($p->t('benotungstool/esGibtKeineLehreinheiten'));
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br>
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\n";
*/
//echo "studiensemester: $stsem<br>";
//echo "lehrveranstaltung: $lvid<br>";
//echo "lehreinheit: $lehreinheit_id<br>";
//Übung in andere LE kopieren
if (isset($_REQUEST["copy_uebung"]))
{
$copy_insert = 0;
$copy_update = 0;
$copy_insert_bsp = 0;
$copy_update_bsp = 0;
$uebung_id_source = $_REQUEST["uebung_id_source"];
$lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"];
if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target))
echo "<span class='error'>".$p->t('benotungstool/uebungUndLehreinheit')."!</span>";
else
{
$ueb_1 = new uebung($uebung_id_source);
$nummer_source = $ueb_1->nummer;
$qry = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER);
//echo $qry;
if($result1 = $db->db_query($qry))
{
if ($db->db_num_rows($result1) >0)
{
$row1 = $db->db_fetch_object($result1);
$ueb_1_target =new uebung($row1->uebung_id);
$ueb_1_target->new = false;
$new = null;
$ueb_1_target->insertamum = null;
$ueb_1_target->insertvon = null;
$ueb_1_target->updateamum = date('Y-m-d H:i:s');
$ueb_1_target->updatevon = $user;
$copy_update++;
}
else
{
$ueb_1_target =new uebung();
$ueb_1_target->new = true;
$new = true;
$ueb_1_target->insertamum = date('Y-m-d H:i:s');
$ueb_1_target->insertvon = $user;
$ueb_1_target->updateamum = null;
$ueb_1_target->updatevon = null;
$copy_insert++;
}
$ueb_1_target->gewicht = $ueb_1->gewicht;
$ueb_1_target->punkte = null;
$ueb_1_target->angabedatei=null;
$ueb_1_target->freigabevon = null;
$ueb_1_target->freigabebis = null;
$ueb_1_target->abgabe = false;
$ueb_1_target->beispiele = false;
$ueb_1_target->statistik = false;
$ueb_1_target->maxstd = null;
$ueb_1_target->maxbsp=null;
$ueb_1_target->liste_id=null;
$ueb_1_target->bezeichnung = $ueb_1->bezeichnung;
$ueb_1_target->positiv = $ueb_1->positiv;
$ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung;
$ueb_1_target->lehreinheit_id = $lehreinheit_id_target;
$ueb_1_target->nummer = $nummer_source;
if (!$ueb_1_target->save($new))
{
$error = 1;
echo "<span class='error'>".$p->t('benotungstool/hauptuebungKonnteNichtKopiertWerden')."!</span>";
}
else
{
// Subübungen durchlaufen
$error = 0;
$ueb_2 = new uebung();
$ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source);
$ueb_2anzahl = count($ueb_2->uebungen);
if ($ueb_2anzahl >0)
{
foreach ($ueb_2->uebungen as $subrow)
{
$nummer_source2 = $subrow->nummer;
$qry2 = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source2)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER);
$result2 = $db->db_query($qry2);
if ($db->db_num_rows($result2) >0)
{
$row2 = $db->db_fetch_object($result2);
$ueb_2_target =new uebung($row2->uebung_id);
$ueb_2_target->new = false;
$new = null;
$ueb_2_target->insertamum = null;
$ueb_2_target->insertvon = null;
$ueb_2_target->updateamum = date('Y-m-d H:i:s');
$ueb_2_target->updatevon = $user;
$copy_update++;
}
else
{
$ueb_2_target =new uebung();
$ueb_2_target->new = true;
$new = true;
$ueb_2_target->insertamum = date('Y-m-d H:i:s');
$ueb_2_target->insertvon = $user;
$ueb_2_target->updateamum = null;
$ueb_2_target->updatevon = null;
$copy_insert++;
}
$ueb_2_target->gewicht = $subrow->gewicht;
$ueb_2_target->punkte = $subrow->punkte;
$ueb_2_target->angabedatei=null;
$ueb_2_target->freigabevon = $subrow->freigabevon;
$ueb_2_target->freigabebis = $subrow->freigabebis;
$ueb_2_target->abgabe = $subrow->abgabe;
$ueb_2_target->beispiele = $subrow->beispiele;
$ueb_2_target->statistik = $subrow->statistik;
$ueb_2_target->maxstd = $subrow->maxstd;
$ueb_2_target->maxbsp=$subrow->maxbsp;
$ueb_2_target->liste_id=$ueb_1_target->uebung_id;
$ueb_2_target->bezeichnung = $subrow->bezeichnung;
$ueb_2_target->positiv = $subrow->positiv;
$ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung;
$ueb_2_target->lehreinheit_id = $lehreinheit_id_target;
$ueb_2_target->nummer = $nummer_source2;
if (!$ueb_2_target->save($new))
{
$error = 1;
echo "<span class='error'>".$p->t('benotungstool/uebungKonnteNichtKopiertWerden')."!</span>";
}
//angabedatei syncen
if ($subrow->angabedatei != "")
{
$angabedatei_source = $subrow->angabedatei;
$angabedatei_target = makeUploadName($db, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem);
$angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.') + 1);
echo $angabedatei_source."->".$angabedatei_target."<br>";
exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target);
$angabeupdate = "update campus.tbl_uebung set angabedatei = ".$db->db_add_param($angabedatei_target)." where uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER);
$db->db_query($angabeupdate);
}
if (($error == 0) and $ueb_2_target->beispiele)
{
// beispiele synchronisieren
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($subrow->uebung_id);
foreach ($bsp_obj->beispiele as $bsp)
{
$nummer_source_bsp = $bsp->nummer;
$qrybsp = "SELECT * from campus.tbl_beispiel where nummer = ".$db->db_add_param($nummer_source_bsp)." and uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER);
$resultbsp = $db->db_query($qrybsp);
if ($db->db_num_rows($resultbsp) >0)
{
$rowbsp = $db->db_fetch_object($resultbsp);
$bsp_target =new beispiel($rowbsp->beispiel_id);
$bsp_target->new = false;
$new = null;
$bsp_target->insertamum = null;
$bsp_target->insertvon = null;
$bsp_target->updateamum = date('Y-m-d H:i:s');
$bsp_target->updatevon = $user;
$copy_update_bsp++;
}
else
{
$bsp_target =new beispiel();
$bsp_target->new = true;
$new = true;
$bsp_target->insertamum = date('Y-m-d H:i:s');
$bsp_target->insertvon = $user;
$bsp_target->updateamum = null;
$bsp_target->updatevon = null;
$copy_insert_bsp++;
}
$bsp_target->uebung_id = $ueb_2_target->uebung_id;
$bsp_target->nummer = $nummer_source_bsp;
$bsp_target->bezeichnung = $bsp->bezeichnung;
$bsp_target->punkte = $bsp->punkte;
if (!$bsp_target->save($new))
{
$error = 1;
echo "<span class='error'>".$p->t('benotungstool/beispieleKonntenNichtAngelegtWerden')."</span>";
}
//Notenschlüssel synchronisieren
$clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($ueb_1_target->uebung_id, FHC_INTEGER);
$db->db_query($clear);
$qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($uebung_id_source, FHC_INTEGER);
$result_ns_source = $db->db_query($qry_ns_source);
while($row_ns = $db->db_fetch_object($result_ns_source))
{
$ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values (".$db->db_add_param($ueb_1_target->uebung_id).",".$db->db_add_param($row_ns->note).", ".$db->db_add_param($row_ns->punkte).")";
$db->db_query($ns_insert);
}
}
}
}
}
}
}
else
echo "<span class='error'>".$p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')."!</span>";
if ($error == 0)
echo $p->t('benotungstool/uebungErfolgreichKopiert')."! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
}
}
echo "<h3>".$p->t('benotungstool/uebungenAnlegenUndVerwalten')."</h3>";
echo "</tr></table>";
//Anlegen einer neuen Uebung
if(isset($_POST['uebung_neu']))
{
if(isset($thema))
{
//pruefen ob alle Daten eingegeben wurden
$error=false;
$error_msg = '';
if($thema=='')
{
//$error_thema .= "<span class='error'>Thema muss eingegeben werden</span>";
echo "<span class='error'>".$p->t('benotungstool/themaMussEingegebenWerden')."</span>";
$error=true;
}
if(!is_numeric($gewicht))
{
echo "<span class='error'>".$p->t('benotungstool/gewichtMussEineZahlSein')."</span>";
$error = true;
}
if(!$error)
{
//Uebung anlegen
$datum_obj = new datum();
$uebung_obj = new uebung();
$uebung_obj->gewicht=$gewicht;
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = null;
$uebung_obj->freigabebis = null;
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=false;
$uebung_obj->bezeichnung=$thema;
$uebung_obj->positiv=isset($_POST['positiv']);
$uebung_obj->defaultbemerkung='';
$uebung_obj->lehreinheit_id=$lehreinheit_id;
$uebung_obj->updateamum = date('Y-m-d H:i:s');
$uebung_obj->updatevon = $user;
$uebung_obj->insertamum = date('Y-m-d H:i:s');
$uebung_obj->insertvon = $user;
$uebung_obj->statistik = false;
$uebung_obj->liste_id = null;
$uebung_obj->get_next_nummer();
$uebung_obj->nummer = $uebung_obj->next_nummer;
if($uebung_obj->save(true))
{
if($error_msg!='')
echo "<span class='error'>$error_msg</span>";
//else
// header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id");
}
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
else
echo "<span class='error'>".$p->t('benotungstool/uebungKonnteNichtAngelegtWerden')."!</span><br>";
}
//Loeschen einer Uebung
if(isset($_POST['delete_uebung']))
{
if(isset($_POST['uebung']))
{
$ueb_obj = new uebung();
$error_msg='';
//Ausgewaehlte Beispiele holen
$delete_ids = $_POST['uebung'];
foreach($delete_ids as $id)
{
//Beispiel loeschen
if(!$ueb_obj->delete($id))
$error_msg=$ueb_obj->errormsg;
}
if($error_msg!='')
echo "<span class='error'>$error_msg</span>";
}
}
//Editieren einer Uebung
if(isset($_POST['uebung_edit']))
{
$error = false;
if($thema=='')
{
echo "<span class='error'>".$p->t('benotungstool/themaMussEingegebenWerden')."'</span>";
$error = true;
}
if(!$error)
{
$uebung_obj = new uebung($uebung_id);
$uebung_obj->gewicht='';
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = null;
$uebung_obj->freigabebis = null;
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=false;
$uebung_obj->bezeichnung=$thema;
$uebung_obj->positiv=true;
$uebung_obj->defaultbemerkung='';
$uebung_obj->lehreinheit_id=$lehreinheit_id;
$uebung_obj->updateamum = date('Y-m-d H:i:s');
$uebung_obj->updatevon = $user;
$uebung_obj->uebung_id = $uebung_id;
$uebung_obj->statistik = false;
if($uebung_obj->save(false))
header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id");
//echo "Die &Auml;nderung wurde gespeichert!";
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
//Eine Uebung in eine andere Lehreinheit kopieren
if(isset($_GET['kopieren']) && $_GET['kopieren']=='true')
{
//echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id'];
//Laden der zu kopierenden Uebung
if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id']))
{
//Source Uebung Laden
$qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER);
if($result_source = $db->db_query($qry))
{
if($row_source = $db->db_fetch_object($result_source))
{
//Berechtigung Checken
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($user);
if($row_berechtigt = $db->db_query($qry))
{
if($db->db_num_rows($row_berechtigt)>0 ||
$rechte->isBerechtigt('admin',0) ||
$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)
|| $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
//Schauen ob bereits eine uebung mit diesem Namen vorhanden ist
$qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND bezeichnung=".$db->db_add_param($row_source->bezeichnung);
$result_bezeichnung_exists = $db->db_query($qry);
if($db->db_num_rows($result_bezeichnung_exists)==0)
{
//Uebung einfuegen
$uebung_dest = new uebung();
$uebung_dest->gewicht = $row_source->punkte;
$uebung_dest->punkte = $row_source->punkte;
$uebung_dest->angabedatei = $row_source->angabedatei;
$uebung_dest->freigabevon = $row_source->freigabevon;
$uebung_dest->freigabebis = $row_source->freigabebis;
$uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false);
$uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false);
$uebung_dest->bezeichnung = $row_source->bezeichnung;
$uebung_dest->positiv = ($row_source->positiv=='t'?true:false);
$uebung_dest->statistik = ($row_source->statistik=='t'?true:false);
$uebung_dest->defaultbemerkung = $row_source->defaultbemerkung;
$uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id'];
$ubeung_dest->updateamum = date('Y-m-d H:i:s');
$uebung_dest->updatevon = $user;
$uebung_dest->insertamum = date('Y-m-d H:i:s');
$uebung_dest->insertvon = $user;
if($uebung_dest->save(true))
{
//Beispiel laden
$qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER);
if($result_bsp_source = $db->db_query($qry))
{
$error_bsp_save=false;
while($row_bsp_source = $db->db_fetch_object($result_bsp_source))
{
//Beispiel speichern
$beispiel_dest = new beispiel();
$beispiel_dest->uebung_id = $uebung_dest->uebung_id;
$beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung;
$beispiel_dest->punkte = $row_bsp_source->punkte;
$beispiel_dest->updateamum = date('Y-m-d H:i:s');
$beispiel_dest->updatevon = $user;
$beispiel_dest->insertamum = date('Y-m-d H:i:s');
$beispiel_dest->insertvon = $user;
if(!$beispiel_dest->save(true))
$error_bsp_save=true;
}
if($error_bsp_save)
echo "<span class='error'>".$p->t('benotungstool/fehlerNichtAlleBeispieleKopiert')."</span>";
else
echo $p->t('benotungstool/datenErfolgreichKopiert');
}
}
else
{
echo "<span class='error'>".$p->t('benotungstool/fehlerKopierenDerDaten').": $uebung_dest->errormsg</span>";
}
}
else
echo "<span class='error'>".$p->t('benotungstool/fehlerBeimKopieren')."!</span>";
}
else
echo "<span class='error'>".$p->t('global/keineBerechtigungFuerDieseSeite')."</span>";
}
}
else
echo "<span class='error'>".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden')."</span>";
}
else
echo "<span class='error'>".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden')."</span>";
}
else
echo "<span class='error'>".$p->t('global/fehlerBeiDerParameteruebergabe')."</span>";
}
//Uebersichtstabelle
if(isset($uebung_id) && $uebung_id!='')
{
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' method=POST>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>".$p->t('benotungstool/ausgewaehlteUebungBearbeiten')."</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$uebung_obj = new uebung();
$uebung_obj->load($uebung_id);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='$uebung_obj->bezeichnung'></td><td>$error_thema</td></tr>
<!--
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>
<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." <input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td><td></td></tr>
-->
<tr><td colspan=2 align='right'><input type='submit' name='uebung_edit' value='".$p->t('global/speichern')."'></td></tr>
</table>
</form>";
$beispiel_obj = new beispiel();
$beispiel_obj->load_beispiel($uebung_id);
$anzahl = count($beispiel_obj->beispiele);
echo "</td><td valign='top'>";
echo "</td></tr><tr><td valign='top'>";
echo "</td><td valign='top'>";
}
else
{
//Gesamtuebersicht ueber alle Uebungen
echo "<table><tr><td valign='top'>";
echo "<form accept-charset='UTF-8' name='del' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'>";
echo "<table width='440'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneUebungenBearbeiten')."</td></tr>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null);
$anzahl = count($uebung_obj->uebungen);
//$copy_content="<table cellpadding=0><tr><td class='ContentHeader3'>&Uuml;bung in andere LE kopieren</td></tr><tr><td></td><td></td><td>&nbsp;</td></tr><tr><th>&nbsp;</th></tr>";
$has_copy_content=false;
if($anzahl>0)
{
echo "<tr><td></td><td></td><td>&nbsp;</td><td></td></tr><tr><th>".$p->t('benotungstool/thema')."</th><th>".$p->t('benotungstool/freigeschalten')."</th><th>".$p->t('benotungstool/auswahl')."</th></tr>";
//Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren
//und der angemeldete User berechtigt ist
$copy_option_content = array();
for($i=0;$i<$db->db_num_rows($result_alle_lehreinheiten);$i++)
{
$row_alle_lehreinheiten = $db->db_fetch_object($result_alle_lehreinheiten,$i);
if($lehreinheit_id!=$row_alle_lehreinheiten->lehreinheit_id)
{
//zugeteilte Lektoren holen
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id,FHC_INTEGER);
if($result_lektoren = $db->db_query($qry_lektoren))
{
$lektoren = '( ';
$j=0;
while($row_lektoren = $db->db_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$j++;
if($j<$db->db_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
//zugeteilte Gruppen holen
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$gruppen = '';
$j=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$j++;
if($j<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
//$copy_option_content.= "<OPTION value='$row_alle_lehreinheiten->lehreinheit_id'>$row_alle_lehreinheiten->lfbez - $gruppen $lektoren</OPTION>\n";
$copy_le_content[$row_alle_lehreinheiten->lehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren";
}
}
$uebung_id_source_dropdown = "<select name='uebung_id_source'><option></option>";
//Uebungen durchlaufen
foreach ($uebung_obj->uebungen as $row)
{
$uebung_id_source_dropdown .= "<option value='$row->uebung_id'>$row->bezeichnung</option>";
$has_option_content=false;
echo "<tr height=23><td align='left'>";
echo "<a onClick='return(js_toggle_container(\"submenu_$row->uebung_id\"));' class='MenuItem'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'></a>&nbsp;<a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$row->uebung_id' class='Item'><u>".$row->bezeichnung."</u></a>";
echo "</td><td align='center'>";
//if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time()))
// echo 'Ja';
//else
// echo 'Nein';
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$row->uebung_id'></td>";
echo "<!--<form name='copy' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'><td><input type='hidden' name='uebung_id_source' value='".$row->uebung_id."'>".$copy_dropdown."<input type='submit' name='copy_uebung' value='>'></td></form>-->";
echo "</tr>";
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id);
$subanzahl = count($subuebung_obj->uebungen);
echo "<tr><td colspan='3'>";
echo "<table id='submenu_".$row->uebung_id."' style='display:none;' width='400'>";
//echo "<ul style='margin-top: 0px; margin-bottom: 0px;'>";
foreach ($subuebung_obj->uebungen as $subrow)
{
echo "<tr><td width='200'><li style='margin-left:20px;'><a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&liste_id=$row->uebung_id'>".$subrow->bezeichnung."</a></li></td><td width='150'>";
if((strtotime(strftime($subrow->freigabevon))<=time()) && (strtotime(strftime($subrow->freigabebis))>=time()))
echo $p->t('global/ja');
else
echo $p->t('global/nein');
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$subrow->uebung_id'></td></tr>";
}
//echo "</ul>";
echo "</table>";
echo "</td></tr>";
}
echo "<tr><td colspan='3' align='right'><input type='Submit' value='".$p->t('benotungstool/auswahlLoeschen')."' name='delete_uebung' onclick='return confirmdelete();'></td><td></td></tr>";
echo "</form>";
if ($copy_dropdown != '')
{
echo "<tr><td colspan='3'>&nbsp;</td></tr>";
echo "<tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneUebungenKopieren')."</td></tr>";
$uebung_id_source_dropdown .= "</select>";
echo "<tr><td colspan='3'>";
echo "<form name='copy' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'><table><tr><td>".$p->t('benotungstool/uebung')."</td><td></td><td>".$p->t('global/lehreinheit')."</td><td></td></tr><tr><td>".$uebung_id_source_dropdown."</td><td>-></td><td>".$copy_dropdown."</td><td><input type='submit' name='copy_uebung' value='".$p->t('global/kopieren')."'></td></tr></table></form>";
echo "</td></tr>";
}
}
else
echo "<tr><td colspan='3'>".$p->t('benotungstool/derzeitSindKeineUebungenAngelegt')."</td><td></td></tr>";
echo "</table>
<br><br>";
//Kopier-Buttons anzeigen
//$copy_content.='</table>';
//echo "</td><td valign='top'>";
//if($has_copy_content)
// echo $copy_content;
//echo "</td></tr></table>";
//Uebung neu anlegen
if(!isset($_POST['uebung_neu']))
{
$thema = $p->t('benotungstool/uebung')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
$anzahlderbeispiele = 10;
$punkteprobeispiel = 1;
$freigabevon = date('d.m.Y H:i');
$freigabebis = date('d.m.Y H:i');
}
echo "</td><td valign='top'>";
echo "
<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method=POST>
<table >
<tr><td width='440' colspan=2 class='ContentHeader3'>".$p->t('benotungstool/neueUebungAnlegen')."</td><td></td></tr>
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='$thema'></td><td><span class='error'>$error_thema</td></tr>
<tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='1'></td><td>$error_gewicht</td></tr>
<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv'></td></tr>
<!--
<tr><td>".$p->t('benotungstool/anzahlDerBeispiele')."</td><td align='right'><input type='text' name='anzahlderbeispiele' maxlength='2' size='2' value='$anzahlderbeispiele'></td><td>$error_anzahlderbeispiele</td></tr>
<tr><td>".$p->t('benotungstool/anzahlPunkteProBeispiel')."</td><td align='right'><input type='text' name='punkteprobeispiel' value='$punkteprobeispiel'></td><td>$error_punkteprobeispiel</td></tr>
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='$freigabevon'></td><td>$error_freigabevon</td></tr>
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='$freigabebis'></td><td>$error_freigabebis</td></tr>
<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." <input type='checkbox' name='statistik'></td><td></td></tr>
-->
<tr><td colspan=2 align='right'><input type='submit' name='uebung_neu' value='".$p->t('benotungstool/anlegen')."'></td></tr>
</table>
</form>
";
}
?>
</td></tr>
</table>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,91 +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>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/**
* Erstellt ein Zip Archiv des Download-Bereichs und leitet dann zum Download weiter
* @create 20-03-2006
* Aufruf: zipdownload.php?stg=255&sem=1$short=eng
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diese Seite');
//Gueltigkeit der Parameter pruefen
if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id']))
{
die('Fehler bei der Parameteruebergabe');
}
if(!isset($_GET['lehreinheit_id']) || !is_numeric($_GET['lehreinheit_id']))
{
die('Fehler bei der Parameteruebergabe');
}
if(!isset($_GET['stsem']))
{
die('Fehler bei der Parameteruebergabe');
}
if(!isset($_GET['downloadname']))
{
die('Fehler bei der Parameteruebergabe');
}
$uebung_id = $_GET['uebung_id'];
$lehreinheit_id = $_GET['lehreinheit_id'];
$stsem = $_GET['stsem'];
$downloadname = $_GET['downloadname'];
if(mb_strstr($downloadname,'..'))
die('Ungueltiger Parameter gefunden');
//Pfade bauen
$pfad = BENOTUNGSTOOL_PATH.'abgabe/';
$filename = 'download_'.$user.'_'.$downloadname.'.zip';
$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip';
if(!check_filename($filename) || !check_filename($filename_tmp))
die('Ungueltiger Parameter gefunden');
//Pfad wechseln
if(chdir($pfad))
{
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename_tmp);
unlink($filename_tmp);
}
else
{
die('Path change failed');
}
?>
-77
View File
@@ -1,77 +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>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/**
* Erstellt ein Zip Archiv des Download-Bereichs und leitet dann zum Download weiter
* @create 20-03-2006
* Aufruf: zipdownload.php?stg=255&sem=1$short=eng
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/functions.inc.php');
//Gueltigkeit der Parameter pruefen
if(!isset($_GET['stg']) || !is_numeric($_GET['stg']))
{
die('Fehler bei der Parameteruebergabe');
}
if(!isset($_GET['sem']) || !is_numeric($_GET['sem']))
{
die('Fehler bei der Parameteruebergabe');
}
if(!isset($_GET['short']) || mb_strstr("..",$_GET['short'],false))
{
die("Fehler bei der Parameteruebergabe");
}
$stg = $_GET['stg'];
$sem = $_GET['sem'];
$short = $_GET['short'];
//Studiengangskuerzel holen
$stg_obj = new studiengang();
$stg_obj->load($stg);
$kurzbz = mb_strtolower($stg_obj->kuerzel);
//Pfade bauen
$pfad = '../../../documents/'.$kurzbz.'/'.$sem.'/'.$short.'/download/';
$filename = $kurzbz.'_'.$sem.'_'.$short.'_download.zip';
$pfad2 = '../../../documents/'.$kurzbz.'/'.$sem.'/'.$short.'/';
//Pfad wechseln
chdir($pfad);
//File loeschen falls es existiert
if(file_exists('../'.$filename))
exec("rm ../$filename");
//Zip File erstellen
exec("zip -r ../".$filename." ./*");
//Auf Zip File Verweisen
header("Location: $pfad2$filename");
?>
+3 -3
View File
@@ -497,19 +497,19 @@ $stdplan->user_uid=$uid;
// Zusaetzliche Daten laden
if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gruppe_kurzbz,null,$lva) )
{
die($stdplan->errormsg);
die(htmlentities($stdplan->errormsg));
}
// Stundenplan einer Woche laden
if (! $stdplan->load_week($datum))
{
die($stdplan->errormsg);
die(htmlentities($stdplan->errormsg));
}
// Kopfbereich drucken
if (! $stdplan->draw_header())
{
die($stdplan->errormsg);
die(htmlentities($stdplan->errormsg));
}
// Stundenplan der Woche drucken
+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']);
+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",
-1
View File
@@ -16,7 +16,6 @@ define('DEFAULT_MITARBEITER_FIXANGESTELLT', true);
define('CIS_LEHRVERANSTALTUNG_NEWSGROUPS_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_DOWNLOAD_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_PINBOARD_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_STUDENTENUPLOAD_ANZEIGEN',true);
-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();
+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";
-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();
?>
+26 -12
View File
@@ -532,20 +532,34 @@ class lehreinheit extends basis_db
for($anz=0;$anz<count($this->studiengang_kz);$anz++)
{
$sql_query.=" OR ((studiengang_kz=".$this->db_add_param($this->studiengang_kz[$anz])." AND semester=".$this->db_add_param($this->semester[$anz]).")";
// Direkte Gruppen kollidieren nicht
$direktgruppe = false;
if($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ')
{
$grp_obj = new gruppe();
$grp_obj->load($this->gruppe_kurzbz[$anz]);
if($grp_obj->direktinskription)
{
$direktgruppe = true;
}
}
if(!$direktgruppe)
{
$sql_query.=" OR ((studiengang_kz=".$this->db_add_param($this->studiengang_kz[$anz])." AND semester=".$this->db_add_param($this->semester[$anz]).")";
if ($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ')
{
$sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz[$anz]).")";
if ($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ')
{
$sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz[$anz]).")";
}
else
{
if ($this->verband[$anz]!=null && $this->verband[$anz]!='' && $this->verband[$anz]!=' ')
$sql_query.=" AND (verband=".$this->db_add_param($this->verband[$anz])." OR verband IS NULL OR verband='' OR verband=' ')";
if ($this->gruppe[$anz]!=null && $this->gruppe[$anz]!='' && $this->gruppe[$anz]!=' ')
$sql_query.=" AND (gruppe=".$this->db_add_param($this->gruppe[$anz])." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
}
$sql_query.=')';
}
else
{
if ($this->verband[$anz]!=null && $this->verband[$anz]!='' && $this->verband[$anz]!=' ')
$sql_query.=" AND (verband=".$this->db_add_param($this->verband[$anz])." OR verband IS NULL OR verband='' OR verband=' ')";
if ($this->gruppe[$anz]!=null && $this->gruppe[$anz]!='' && $this->gruppe[$anz]!=' ')
$sql_query.=" AND (gruppe=".$this->db_add_param($this->gruppe[$anz])." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
}
$sql_query.=')';
}
$sql_query.=")";
+10 -5
View File
@@ -291,6 +291,11 @@ class lehrstunde extends basis_db
$this->errormsg='Fehler: LVA-ID ist nicht gesetzt';
return -1;
}
if ($type=='lva' && !is_numeric($lva))
{
$this->errormsg='Fehler: LVA-ID ist ungueltig';
return -1;
}
// Type
if ($type==null)
{
@@ -362,7 +367,7 @@ class lehrstunde extends basis_db
}
else
{
$this->errormsg=$this->db_last_error();
$this->errormsg = 'Fehler beim Laden der Verbaende';
return -2;
}
// Spezialgruppen ermitteln zu denen die Person zugeteilt ist
@@ -394,7 +399,7 @@ class lehrstunde extends basis_db
if (!$result_einheit=$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error($this->conn);
$this->errormsg= 'Fehler beim Laden der Gruppen';
return false;
}
else
@@ -424,7 +429,7 @@ class lehrstunde extends basis_db
if (!$result_einheit=$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error($this->conn);
$this->errormsg='Fehler beim Laden der Gruppen';
return false;
}
else
@@ -565,7 +570,7 @@ class lehrstunde extends basis_db
//Datenbankabfrage
if (!$this->db_query($sql_query_stdplan))
{
$this->errormsg = $this->db_last_error();
$this->errormsg = 'Fehler beim Laden der Stundenplandaten';
return -2;
}
$stpl_tbl = $this->db_result;
@@ -619,7 +624,7 @@ class lehrstunde extends basis_db
//Datenbankabfrage
if (!$this->db_query($sql_query_reservierung))
{
$this->errormsg = $this->db_last_error();
$this->errormsg = 'Fehler beim Laden der Reservierungen';
return -2;
}
$stpl_tbl = $this->db_result;
+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;
-39
View File
@@ -189,10 +189,6 @@ function checkZeilenUmbruch()
$text.= '<br>';
$text.= "<a class='Item' target='_blank' href='upload.php?course_id=$studiengang_kz&term_id=$semester&short=$short'>".$p->t('lehre/upload')."</a>";
$text.= '&nbsp;&nbsp;&nbsp;';
if(isset($dir_empty) && $dir_empty == false)
$text.= "<a class='Item' title='".$p->t('lehre/ziparchivTitle')."' href='zipdownload.php?stg=$studiengang_kz&sem=$semester&short=$short' target='_blank'>".$p->t('lehre/ziparchiv')."</a>";
else
$text.= $p->t('lehre/ziparchiv');
}
$menu[]=array
@@ -279,41 +275,6 @@ function checkZeilenUmbruch()
);
}
// Uebungstool
if((!defined('CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_UEBUNGSTOOL_ANZEIGEN) && $angemeldet)
{
$link='';
$link_onclick='';
$text='';
if(isset($angezeigtes_stsem))
$studiensem = '&stsem='.urlencode($angezeigtes_stsem);
else
$studiensem = '';
//Kreuzerltool
if($is_lector)
{
$link='benotungstool/verwaltung.php?lvid='.urlencode($lvid).$studiensem;
$text.='<a href="'.APP_ROOT.'cms/dms.php?id='.$p->t('dms_link/benotungstoolHandbuch').'" class="Item" target="_blank">'.$p->t('lehre/benotungstoolHandbuch').' [PDF]</a>';
}
else
{
$link='benotungstool/studentenansicht.php?lvid='.urlencode($lvid).$studiensem;
}
$menu[]=array
(
'id'=>'core_menu_uebungstool',
'position'=>'60',
'name'=>$p->t('lehre/kreuzerltool'),
'icon'=>'../../../skin/images/button_kreuzerltool.png',
'link'=>$link,
'link_onclick'=>$link_onclick,
'text'=>$text
);
}
//Gesamtnote
if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet))
{
-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)
+10 -7
View File
@@ -240,7 +240,7 @@ class wochenplan extends basis_db
if (!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
$this->errormsg = 'Failed to load Personal Information';
return false;
}
if ($row = $this->db_fetch_object())
@@ -262,7 +262,7 @@ class wochenplan extends basis_db
}
else
{
$this->errormsg='User nicht gefunden';
$this->errormsg = 'User nicht gefunden';
return false;
}
}
@@ -275,7 +275,7 @@ class wochenplan extends basis_db
if (!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
$this->errormsg = 'Failed to load Location Information';
return false;
}
@@ -303,7 +303,7 @@ class wochenplan extends basis_db
if (!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
$this->errormsg = 'Failed to load Location Information';
return false;
}
@@ -328,7 +328,10 @@ class wochenplan extends basis_db
FROM public.tbl_studiengang WHERE studiengang_kz=".$this->db_add_param($this->stg_kz);
if (!($this->db_query($sql_query)))
die($this->db_last_error());
{
$this->errormsg = 'Failed to load Degree Program';
return false;
}
if ($row = $this->db_fetch_object())
{
$this->stg_bez = $row->bezeichnung;
@@ -342,13 +345,13 @@ class wochenplan extends basis_db
// Stundentafel abfragen
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
if (!$this->db_query($sql_query))
die($this->db_last_error());
die('Failed to load Timetable');
$this->stunde = $this->db_result;
// Studiensemesterdaten ermitteln
$sql_query="SELECT * FROM public.tbl_studiensemester WHERE now()<ende ORDER BY start LIMIT 2";
if (!$this->db_query($sql_query))
die($this->db_last_error());
die('Failed to load Studiensemester');
else
{
if ($row = $this->db_fetch_object())
-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">
+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>
+14
View File
@@ -3474,6 +3474,20 @@ if(!$result = @$db->db_query("SELECT oe_kurzbz FROM public.tbl_msg_recipient LIM
}
}
// 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>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+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',
@@ -4115,6 +4115,206 @@ When on hold, the date is only a reminder.',
)
)
),
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'
)
)
),
array(
'app' => 'core',
'category' => 'global',
+1 -1
View File
@@ -104,7 +104,7 @@ echo '</SELECT>';
echo ' Semester: <SELECT name="semester">';
echo '<OPTION value="">-- Alle --</OPTION>';
for ($i = 1;$i <= 8;$i++)
for ($i = 1;$i <= 10;$i++)
{
if ($semester == $i)
$selected = 'selected';