mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
- Übersicht über die LVs mit Plätzen für Incoming
- Kollisionsplanung auf Studentenebene direkt beim Verplanen im Tempus - Scrollposition im Tempus bleibt nach dem verschieben einer Stunde erhalten - Semesterplan wird beim Starten nicht mehr automatisch geladen - Diverse Bugfixes beim Bearbeiten und Anlegen von Lehreinheiten
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010 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 >
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->getNextStudiensemester();
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->getAll();
|
||||
?>
|
||||
<!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">
|
||||
<link href="../../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
|
||||
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<title>Lehrveranstaltungen - Übersicht</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo '
|
||||
<table class="tabcontent" id="inhalt">
|
||||
<tr>
|
||||
<td class="tdwidth10"> </td>
|
||||
<td>
|
||||
<table class="tabcontent">
|
||||
<tr>
|
||||
<td class="ContentHeader">
|
||||
<font class="ContentHeader"> Lehrveranstaltungen - Übersicht ('.$stsem->studiensemester_kurzbz.')</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
';
|
||||
|
||||
$qry = "SELECT
|
||||
*,
|
||||
(
|
||||
SELECT
|
||||
count(*)
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN public.tbl_student ON(uid=student_uid)
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
WHERE
|
||||
lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
|
||||
WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz')
|
||||
AND tbl_prestudentstatus.status_kurzbz='Incoming'
|
||||
GROUP BY uid
|
||||
) as anzahlincoming
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.incoming>0 AND
|
||||
tbl_lehrveranstaltung.aktiv AND
|
||||
tbl_lehrveranstaltung.lehre
|
||||
";
|
||||
|
||||
echo '<table width="100%" class="table-autosort:3 table-stripeclass:alternate table-autostripe">
|
||||
<thead>
|
||||
<tr class="liste">
|
||||
<th class="table-sortable:numeric">ID</th>
|
||||
<th class="table-sortable:default">Studiengang</th>
|
||||
<th class="table-sortable:numeric">Semester</th>
|
||||
<th class="table-sortable:default">Lehrveranstaltung</th>
|
||||
<th class="table-sortable:default">Lehrveranstaltung Englisch</th>
|
||||
<th>LV-Info</th>
|
||||
<th class="table-sortable:numeric">Plätze gesamt</th>
|
||||
<th class="table-sortable:numeric">Freie Plätze</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$i=0;
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$freieplaetze = $row->incoming - $row->anzahlincoming;
|
||||
if($freieplaetze<0)
|
||||
$freieplaetze=0;
|
||||
|
||||
$i++;
|
||||
echo '<tr class="liste'.($i%2).'">';
|
||||
echo '<td>',$row->lehrveranstaltung_id,'</td>';
|
||||
echo '<td>',$stg->kuerzel_arr[$row->studiengang_kz],'</td>';
|
||||
echo '<td>',$row->semester,'</td>';
|
||||
echo '<td>',$row->bezeichnung,'</td>';
|
||||
echo '<td>',$row->bezeichnung_english,'</td>';
|
||||
echo '<td>
|
||||
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'ects/preview.php?lv='.$row->lehrveranstaltung_id.'&language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Deutsch </a>
|
||||
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'ects/preview.php?lv='.$row->lehrveranstaltung_id.'&language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Englisch</a>
|
||||
</td>';
|
||||
echo '<td>',$row->incoming,'</td>';
|
||||
echo '<td>',$freieplaetze,'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -170,7 +170,10 @@ var LeLvbgrpDDObserver=
|
||||
var child = { }
|
||||
|
||||
if(lehreinheit_id=='')
|
||||
{
|
||||
alert('Eine Gruppe kann nur zu einer Lehreinheit hinzugefügt werden. Nicht aber zu einer Lehrveranstaltung');
|
||||
return false;
|
||||
}
|
||||
|
||||
quell_gruppe=dropdata.data;
|
||||
var arr = quell_gruppe.split("&");
|
||||
@@ -499,6 +502,7 @@ var boardObserver=
|
||||
{
|
||||
if (dropdata.data!="")
|
||||
{
|
||||
saveScrollPositionTimeTableWeek();
|
||||
var stplData=document.getElementById('TimeTableWeekData');
|
||||
var datum=stplData.getAttribute("datum");
|
||||
var type=stplData.getAttribute("stpl_type");
|
||||
|
||||
@@ -471,7 +471,6 @@ if(!$error)
|
||||
$variable = new variable();
|
||||
|
||||
$variable->uid = $user;
|
||||
$variable->new = false;
|
||||
|
||||
// Aendert die Variable Studiensemester
|
||||
if(isset($_POST['stsem']))
|
||||
|
||||
@@ -807,14 +807,22 @@ if(!$error)
|
||||
|
||||
if(!$leg->checkVorhanden())
|
||||
{
|
||||
if($leg->save(true))
|
||||
if($leg->errormsg=='')
|
||||
{
|
||||
$return = true;
|
||||
if($leg->save(true))
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $leg->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $leg->errormsg;
|
||||
$errormsg=$leg->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -519,6 +519,7 @@ function LeDetailReset()
|
||||
document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value='Dummy';
|
||||
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=getStudiensemester();
|
||||
document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value='UE';
|
||||
document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value='';
|
||||
|
||||
//mitarbeiterlehreinheit tree leeren
|
||||
lektortree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
|
||||
|
||||
@@ -57,7 +57,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
<iframe id="iframeTimeTableSemester" name="TimeTableSemester" flex="1"
|
||||
src="<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php?semesterplan=true" />
|
||||
<iframe id="iframeTimeTableSemester" name="TimeTableSemester" flex="1" />
|
||||
<!-- src="<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php?semesterplan=true"-->
|
||||
</vbox>
|
||||
</overlay>
|
||||
@@ -23,6 +23,7 @@
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
?>
|
||||
|
||||
|
||||
// LVA-Panel aktualisieren
|
||||
function onLVARefresh()
|
||||
{
|
||||
@@ -210,6 +211,7 @@ function onStplSearchRoom(event)
|
||||
|
||||
function StplSearchRoom(target)
|
||||
{
|
||||
saveScrollPositionTimeTableWeek();
|
||||
if(typeof(target)==='undefined')
|
||||
target = document.popupNode;
|
||||
|
||||
@@ -239,6 +241,7 @@ function StplSearchRoom(target)
|
||||
|
||||
function onStplDelete(aktion)
|
||||
{
|
||||
saveScrollPositionTimeTableWeek();
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var daten=document.getElementById('TimeTableWeekData');
|
||||
var datum=parseInt(daten.getAttribute("datum"));
|
||||
@@ -424,4 +427,36 @@ function STPLDetailDelete()
|
||||
treeStplDetails.setAttribute('datasources', STPLlastDetailUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichert die aktuelle Scrollposition der Wochenuebersicht.
|
||||
// * Nach dem neuladen der Uebersicht, kann die Scrollposition mit setScrollpositionTimeTableWeek wieder gesetzt werden
|
||||
// ****
|
||||
function saveScrollPositionTimeTableWeek()
|
||||
{
|
||||
|
||||
var sbox = document.getElementById('timetable-week-scrollbox');
|
||||
if(sbox)
|
||||
{
|
||||
var xpcomInterface = sbox.boxObject.QueryInterface(Components.interfaces.nsIScrollBoxObject);
|
||||
var x={};
|
||||
var y={};
|
||||
xpcomInterface.getPosition(x, y);
|
||||
window.parent.TimeTableWeekPositionX=x.value;
|
||||
window.parent.TimeTableWeekPositionY=y.value;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt die Scrollposition wieder auf den Stand zurueck der zuvor mittels saveScrollPositionTimeTableWeek gespeichert wurde
|
||||
// ****
|
||||
function setScrollpositionTimeTableWeek()
|
||||
{
|
||||
var sbox = document.getElementById('timetable-week-scrollbox');
|
||||
if(sbox)
|
||||
{
|
||||
var xpcomInterface = sbox.boxObject.QueryInterface(Components.interfaces.nsIScrollBoxObject);
|
||||
xpcomInterface.scrollTo(window.parent.TimeTableWeekPositionX, window.parent.TimeTableWeekPositionY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ require_once('../../include/wochenplan.class.php');
|
||||
require_once('../../include/reservierung.class.php');
|
||||
require_once('../../include/log.class.php');
|
||||
|
||||
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
|
||||
$PHP_SELF = $_SERVER['PHP_SELF'];
|
||||
@@ -126,6 +125,7 @@ if (!isset($semester_aktuell) && $semesterplan)
|
||||
<window id="windowTimeTableWeek"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
<?php echo ((isset($semesterplan) && $semesterplan)?'':'onload="setScrollpositionTimeTableWeek()"'); ?>
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
|
||||
@@ -138,7 +138,8 @@ if (isset($semesterplan) && $semesterplan)
|
||||
else
|
||||
echo '<script type="application/x-javascript" src="'.APP_ROOT.'content/lvplanung/stpl-week-overlay.js.php"/>';
|
||||
?>
|
||||
<vbox id="boxTimeTableWeek" flex="5" style="overflow:auto;">
|
||||
<scrollbox id="timetable-week-scrollbox" flex="1" style="overflow:auto;" orient="vertical">
|
||||
<vbox id="boxTimeTableWeek" flex="5">
|
||||
<?php
|
||||
$user=NULL;
|
||||
|
||||
@@ -266,7 +267,7 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set')
|
||||
}
|
||||
|
||||
//UNDO Befehl schreiben
|
||||
if($undo!='')
|
||||
if($undo!='' && $error_msg=='')
|
||||
{
|
||||
$log = new log();
|
||||
$log->executetime = date('Y-m-d H:i:s');
|
||||
@@ -275,7 +276,7 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set')
|
||||
$log->beschreibung = 'Stundenverschiebung '.$new_datum.'('.$new_stunde.') '.$ort;
|
||||
$log->mitarbeiter_uid = $uid;
|
||||
if(!$log->save(true))
|
||||
$error_msg.='Fehler beim Schreiben des UNDO Befehls'.$log->errormsg;
|
||||
$error_msg.='Fehler: '.$log->errormsg;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -515,8 +516,8 @@ if (! $stdplan->load_data($type,$pers_uid,$ort,$stg_kz,$sem,$ver,$grp,$gruppe) &
|
||||
$error_msg.=$stdplan->errormsg;
|
||||
|
||||
// Stundenplan einer Woche laden
|
||||
if (! $stdplan->load_week($datum,$db_stpl_table))
|
||||
$error_msg.=$stdplan->errormsg;
|
||||
//if (! $stdplan->load_week($datum,$db_stpl_table))
|
||||
// $error_msg.=$stdplan->errormsg;
|
||||
while ($begin<=$ende)
|
||||
{
|
||||
$stdplan->init_stdplan();
|
||||
@@ -545,20 +546,22 @@ while ($begin<=$ende)
|
||||
}
|
||||
|
||||
// Stundenplan der Woche drucken
|
||||
$stdplan->draw_week_xul($semesterplan,$uid,$zeitwunsch, $ignore_kollision);
|
||||
$stdplan->draw_week_xul($semesterplan,$uid,$zeitwunsch, $ignore_kollision, $kollision_student);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</vbox>
|
||||
</scrollbox>
|
||||
<label id="TimeTableWeekErrors"><?php echo htmlspecialchars($error_msg); ?></label>
|
||||
|
||||
<script type="application/x-javascript">
|
||||
<?php
|
||||
if ($error_msg!='')
|
||||
echo "alert('".str_replace("'",'"',$error_msg)."');";
|
||||
echo "alert('".str_replace("'",'"',str_replace(chr(10),'',htmlspecialchars($error_msg)))."');";
|
||||
?>
|
||||
top.document.getElementById("statusbarpanel-text").setAttribute("label","<?php echo htmlspecialchars($PHP_SELF.$error_msg); ?>");
|
||||
|
||||
top.document.getElementById("statusbarpanel-text").setAttribute("label","<?php echo str_replace(chr(10),' ',htmlspecialchars($PHP_SELF.$error_msg)); ?>");
|
||||
</script>
|
||||
</window>
|
||||
@@ -185,7 +185,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</row>
|
||||
<row>
|
||||
<label value="Firma" control="student-projektarbeit-menulist-firma"/>
|
||||
<box class="Firma" id="student-projektarbeit-menulist-firma" />
|
||||
<box class="Firma" id="student-projektarbeit-menulist-firma" disabled="true"/>
|
||||
<!--
|
||||
<hbox>
|
||||
<menulist id="student-projektarbeit-menulist-firma" disabled="true"
|
||||
|
||||
@@ -24,6 +24,10 @@ require_once('../config/vilesci.config.inc.php');
|
||||
var menuUndoDatasource=0;
|
||||
var STPLlastDetailUrl='leer';
|
||||
|
||||
//Speichert die Position der Scrollbalken in der Wochenuebersicht
|
||||
TimeTableWeekPositionX=0;
|
||||
TimeTableWeekPositionY=0;
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// ------- CLASS Progressmeter ------------------------------
|
||||
function Progressmeter(progress_id)
|
||||
|
||||
+16
-1
@@ -49,6 +49,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
<command id="menu-prefs-ignore_kollision:command" oncommand="variableChange('ignore_kollision','menu-prefs-ignore_kollision');"/>
|
||||
<command id="menu-prefs-ignore_zeitsperre:command" oncommand="variableChange('ignore_zeitsperre','menu-prefs-ignore_zeitsperre');"/>
|
||||
<command id="menu-prefs-ignore_reservierung:command" oncommand="variableChange('ignore_reservierung','menu-prefs-ignore_reservierung');"/>
|
||||
<command id="menu-prefs-kollision_student:command" oncommand="variableChange('kollision_student','menu-prefs-kollision_student');"/>
|
||||
<command id="menu-extras-kollisionstudent:command" oncommand="KollisionStudentShow();"/>
|
||||
<command id="menu-extras-lvplanwartung:command" oncommand="LVPlanWartungShow();"/>
|
||||
<command id="menu-extras-rescheck:command" oncommand="ResCheckShow();"/>
|
||||
@@ -120,7 +121,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
</menupopup>
|
||||
</menu>
|
||||
<?php
|
||||
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lv-plan'))
|
||||
if($rechte->isBerechtigt('lv-plan'))
|
||||
{
|
||||
?>
|
||||
<menu id="menu-prefs-stpltable" label="&menu-prefs-stpltable.label;" accesskey="&menu-prefs-stpltable.accesskey;">
|
||||
@@ -173,6 +174,16 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
checkbox ="true"
|
||||
checked ="<?php echo $ignore_reservierung;?>"
|
||||
/>
|
||||
<menuitem
|
||||
id ="menu-prefs-kollision_student"
|
||||
type ="checkbox"
|
||||
key ="menu-prefs-kollision_student:key"
|
||||
label ="&menu-prefs-kollision_student.label;"
|
||||
command ="menu-prefs-kollision_student:command"
|
||||
accesskey ="&menu-prefs-kollision_student.accesskey;"
|
||||
checkbox ="true"
|
||||
checked ="<?php echo $kollision_student;?>"
|
||||
/>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
@@ -258,6 +269,10 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
oncommand="studiensemesterChange('', 1)"
|
||||
/>
|
||||
</statusbarpanel>
|
||||
<?php
|
||||
if($rechte->isBerechtigt('system/developer'))
|
||||
echo '<statusbarpanel label="'.DB_NAME.'"/>';
|
||||
?>
|
||||
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo $db_stpl_table; ?>"/>
|
||||
<statusbarpanel>
|
||||
<toolbarbutton id="statusbarpanel-ignore_kollision" label="Kollisionscheck <?php echo ($ignore_kollision=='true'?'AUS':'AN'); ?>" <?php echo ($ignore_kollision=='true'?'style="background-color: RED;"':'');?> oncommand="updateignorekollision()"/>
|
||||
|
||||
@@ -279,7 +279,7 @@ class adresse extends basis_db
|
||||
$this->addslashes($this->name).', '.
|
||||
$this->addslashes($this->strasse).', '.
|
||||
$this->addslashes($this->plz).', '.
|
||||
$this->addslashes($this->typ).', '.
|
||||
$this->addslashes(trim($this->typ)).', '.
|
||||
$this->addslashes($this->ort).', '.
|
||||
$this->addslashes($this->nation).', now(), '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
@@ -303,7 +303,7 @@ class adresse extends basis_db
|
||||
' name='.$this->addslashes($this->name).', '.
|
||||
' strasse='.$this->addslashes($this->strasse).', '.
|
||||
' plz='.$this->addslashes($this->plz).', '.
|
||||
' typ='.$this->addslashes($this->typ).', '.
|
||||
' typ='.$this->addslashes(trim($this->typ)).', '.
|
||||
' ort='.$this->addslashes($this->ort).', '.
|
||||
' nation='.$this->addslashes($this->nation).', '.
|
||||
' gemeinde='.$this->addslashes($this->gemeinde).', '.
|
||||
|
||||
@@ -288,7 +288,13 @@ function loadVariables($user)
|
||||
global $ignore_kollision;
|
||||
$ignore_kollision='false';
|
||||
}
|
||||
|
||||
|
||||
if (!isset($kollision_student))
|
||||
{
|
||||
global $kollision_student;
|
||||
$kollision_student='false';
|
||||
}
|
||||
|
||||
if (!isset($ignore_zeitsperre))
|
||||
{
|
||||
global $ignore_zeitsperre;
|
||||
|
||||
@@ -377,9 +377,9 @@ class lehreinheitgruppe extends basis_db
|
||||
lehreinheit_id='".addslashes($this->lehreinheit_id)."' AND
|
||||
studiengang_kz='".addslashes($this->studiengang_kz)."'";
|
||||
if($this->semester!='')
|
||||
$qry.=" AND trim(semester)='".addslashes($this->semester)."'";
|
||||
$qry.=" AND semester='".addslashes($this->semester)."'";
|
||||
else
|
||||
$qry.=" AND (trim(semester)='' OR semester is null)";
|
||||
$qry.=" AND (semester='' OR semester is null)";
|
||||
|
||||
if($this->verband!='')
|
||||
$qry.=" AND trim(verband)='".addslashes($this->verband)."'";
|
||||
|
||||
@@ -204,6 +204,22 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Pruefen ob dieser Mitarbeiter schon zugeordnet ist
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".addslashes($this->lehreinheit_id)."' AND mitarbeiter_uid='".addslashes($this->mitarbeiter_uid)."'";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows()>0)
|
||||
{
|
||||
$this->errormsg='Der Mitarbeiter ist bereits zugeteilt!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Pruefen der Zuordnung';
|
||||
return false;
|
||||
}
|
||||
|
||||
//ToDo ID entfernen
|
||||
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
|
||||
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon)
|
||||
|
||||
+179
-81
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/variable.class.php');
|
||||
|
||||
class lehrstunde extends basis_db
|
||||
{
|
||||
@@ -525,107 +526,65 @@ class lehrstunde extends basis_db
|
||||
|
||||
/**
|
||||
* Prueft die geladene Lehrveranstaltung auf Kollisionen im Stundenplan.
|
||||
* Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'.
|
||||
* @param string datum gewuenschtes Datum YYYY-MM-TT
|
||||
* @param integer stunde gewuenschte Stunde
|
||||
* @param string ort gewuenschter Ort
|
||||
* Bei einer Kollision steht der Grund der Kollision in '$this->errormsg'.
|
||||
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
|
||||
* @return boolean true=ok, false=fehler
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision($stpl_table='stundenplandev')
|
||||
{
|
||||
$ignore_reservation=false;
|
||||
$variablen_obj = new variable();
|
||||
$variablen_obj->loadVariables(get_uid());
|
||||
|
||||
$kollision_student = $variablen_obj->variable->kollision_student;
|
||||
$ignore_reservierung = $variablen_obj->variable->ignore_reservierung;
|
||||
$ignore_zeitsperre = $variablen_obj->variable->ignore_zeitsperre;
|
||||
|
||||
//Kollisionspruefung auf Studentenebene
|
||||
if($kollision_student=='true' && $this->kollision_student($stpl_table))
|
||||
return true;
|
||||
|
||||
// Parameter Checken
|
||||
// Bezeichnung der Stundenplan-Tabelle und des Keys
|
||||
$stpl_id=$stpl_table.TABLE_ID;
|
||||
$stpl_table='lehre.'.VIEW_BEGIN.$stpl_table;
|
||||
|
||||
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id AS id, lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde FROM $stpl_table
|
||||
WHERE datum='$this->datum' AND stunde=$this->stunde AND (ort_kurzbz='$this->ort_kurzbz' OR ";
|
||||
WHERE datum='$this->datum' AND stunde=$this->stunde AND (ort_kurzbz='$this->ort_kurzbz' ";
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.="(uid='$this->lektor_uid' AND uid!='_DummyLektor') OR ";
|
||||
$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
$sql_query.=" AND (verband='$this->ver' OR verband IS NULL OR verband='' OR verband=' ')";
|
||||
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
|
||||
$sql_query.=" AND (gruppe='$this->grp' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
|
||||
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
|
||||
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
|
||||
$sql_query.=")) AND unr!=$this->unr";
|
||||
$sql_query.=" OR (uid='$this->lektor_uid' AND uid!='_DummyLektor') ";
|
||||
|
||||
if (!$this->db_query($sql_query))
|
||||
//Wenn eine Kollisionspruefung auf Studentenebene durchgefuehrt wird, werden die LVB nicht gecheckt
|
||||
if(!$kollision_student)
|
||||
{
|
||||
$sql_query.=" OR (studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
$sql_query.=" AND (verband='$this->ver' OR verband IS NULL OR verband='' OR verband=' ')";
|
||||
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
|
||||
$sql_query.=" AND (gruppe='$this->grp' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
|
||||
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
|
||||
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz' OR gruppe_kurzbz IS null)";
|
||||
$sql_query.=")";
|
||||
}
|
||||
$sql_query.=") AND unr!=$this->unr";
|
||||
|
||||
if (!$erg_stpl = $this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
$erg_stpl = $this->db_result;
|
||||
|
||||
$anz=$this->db_num_rows($erg_stpl);
|
||||
//Check
|
||||
if ($anz==0)
|
||||
{
|
||||
// Zeitsperren pruefen
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
{
|
||||
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
|
||||
$sql_query="SELECT zeitsperre_id,zeitsperretyp_kurzbz,mitarbeiter_uid AS lektor,vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid='$this->lektor_uid'
|
||||
AND (vondatum<'$this->datum' OR (vondatum='$this->datum' AND (vonstunde<=$this->stunde OR vonstunde IS NULL)))
|
||||
AND (bisdatum>'$this->datum' OR (bisdatum='$this->datum' AND (bisstunde>=$this->stunde OR bisstunde IS NULL)));";
|
||||
//echo $sql_query.'<br>';
|
||||
if (!$this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
$erg_zs = $this->db_result;
|
||||
$anz_zs=$this->db_num_rows($erg_zs);
|
||||
//Check
|
||||
if ($anz_zs!=0)
|
||||
{
|
||||
$row = $this->db_fetch_object($erg_zs);
|
||||
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->lektor|$row->zeitsperretyp_kurzbz - $row->vondatum/$row->vonstunde|$row->bisdatum/$row->bisstunde";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// Reservierungen pruefen?
|
||||
if (!$ignore_reservation)
|
||||
{
|
||||
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
|
||||
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
|
||||
FROM lehre.vw_reservierung
|
||||
WHERE datum='$this->datum' AND stunde=$this->stunde AND (ort_kurzbz='$this->ort_kurzbz' OR ";
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.="(uid='$this->lektor_uid' AND uid!='_DummyLektor') OR ";
|
||||
$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
$sql_query.=" AND (verband='$this->ver' OR verband IS NULL OR verband='' OR verband=' ')";
|
||||
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
|
||||
$sql_query.=" AND (gruppe='$this->grp' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
|
||||
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
|
||||
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
|
||||
$sql_query.="))";
|
||||
//echo $sql_query.'<br>';
|
||||
if (!$this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
$erg_res = $this->db_result;
|
||||
$anz_res = $this->db_num_rows($erg_res);
|
||||
//Check
|
||||
if ($anz_res==0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$row = $this->db_fetch_object($erg_res);
|
||||
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if($ignore_zeitsperre=='false' && $this->lektor_uid!='_DummyLektor' && $this->kollision_zeitsperre())
|
||||
return true;
|
||||
|
||||
// Reservierungen pruefen
|
||||
if ($ignore_reservierung=='false' && $this->kollision_reservierung())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -635,6 +594,145 @@ class lehrstunde extends basis_db
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Kollision mit den Zeitsperren vorhanden ist
|
||||
*
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision_zeitsperre()
|
||||
{
|
||||
$sql_query="SELECT
|
||||
zeitsperre_id,zeitsperretyp_kurzbz,mitarbeiter_uid AS lektor,vondatum,vonstunde,bisdatum,bisstunde
|
||||
FROM campus.tbl_zeitsperre
|
||||
WHERE mitarbeiter_uid='$this->lektor_uid'
|
||||
AND (vondatum<'$this->datum' OR (vondatum='$this->datum' AND (vonstunde<=$this->stunde OR vonstunde IS NULL)))
|
||||
AND (bisdatum>'$this->datum' OR (bisdatum='$this->datum' AND (bisstunde>=$this->stunde OR bisstunde IS NULL)));";
|
||||
|
||||
if (!$erg_zs = $this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
|
||||
$anz_zs=$this->db_num_rows($erg_zs);
|
||||
if ($anz_zs!=0)
|
||||
{
|
||||
$row = $this->db_fetch_object($erg_zs);
|
||||
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->lektor|$row->zeitsperretyp_kurzbz - $row->vondatum/$row->vonstunde|$row->bisdatum/$row->bisstunde";
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine LV-Plan Kollision mit den Reservierungen besteht
|
||||
*
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision_reservierung()
|
||||
{
|
||||
$sql_query="SELECT
|
||||
reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz,
|
||||
semester, verband, gruppe, gruppe_kurzbz, datum, stunde
|
||||
FROM lehre.vw_reservierung
|
||||
WHERE
|
||||
datum='$this->datum' AND
|
||||
stunde=$this->stunde AND
|
||||
(ort_kurzbz='$this->ort_kurzbz' OR ";
|
||||
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.="(uid='$this->lektor_uid' AND uid!='_DummyLektor') OR ";
|
||||
|
||||
$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem";
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
$sql_query.=" AND (verband='$this->ver' OR verband IS NULL OR verband='' OR verband=' ')";
|
||||
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
|
||||
$sql_query.=" AND (gruppe='$this->grp' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
|
||||
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
|
||||
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
|
||||
$sql_query.="))";
|
||||
|
||||
if (!$erg_res = $this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
$anz_res = $this->db_num_rows($erg_res);
|
||||
|
||||
if ($anz_res!=0)
|
||||
{
|
||||
$row = $this->db_fetch_object($erg_res);
|
||||
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft eine Kollision auf Studentenebene
|
||||
* Es werden nur die Kollisionen der Studenten abgefragt
|
||||
* Raum, Lektor, Reservierung, Zeitsperren, etc werden hier nicht geprueft
|
||||
*
|
||||
* @param $stpl_table
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision_student($stpl_table='stundenplandev')
|
||||
{
|
||||
// Parameter Checken
|
||||
// Bezeichnung der Stundenplan-Tabelle
|
||||
$stpl_table='lehre.'.VIEW_BEGIN.$stpl_table;
|
||||
|
||||
$sql_query = "SELECT *
|
||||
FROM ".$stpl_table."_student_unr
|
||||
WHERE datum='$this->datum' AND stunde='$this->stunde' AND student_uid IN(
|
||||
SELECT uid FROM public.vw_gruppen WHERE
|
||||
|
||||
";
|
||||
$sql_query.="(studiengang_kz=$this->studiengang_kz AND semester=$this->sem
|
||||
AND studiensemester_kurzbz=(
|
||||
SELECT tbl_studiensemester.studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
tbl_studiensemester.ende >= '$this->datum'
|
||||
AND tbl_studiensemester.start <='$this->datum' LIMIT 1)";
|
||||
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
|
||||
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
|
||||
else
|
||||
{
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
$sql_query.=" AND (verband='$this->ver')";
|
||||
else
|
||||
$sql_query.=" AND (verband IS NULL OR verband='' OR verband=' ')";
|
||||
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
|
||||
$sql_query.=" AND (gruppe='$this->grp')";
|
||||
else
|
||||
$sql_query.=" AND (gruppe IS NULL OR gruppe='' OR gruppe=' ')";
|
||||
}
|
||||
|
||||
|
||||
$sql_query.=")) AND unr!=$this->unr";
|
||||
|
||||
if (!$erg_stpl=$this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg=$sql_query.$this->db_last_error();
|
||||
return true;
|
||||
}
|
||||
|
||||
$anz=$this->db_num_rows($erg_stpl);
|
||||
|
||||
if ($anz>0)
|
||||
{
|
||||
$row = $this->db_fetch_object($erg_stpl);
|
||||
$this->errormsg="Kollision Student ($stpl_table): $row->student_uid $row->datum/$row->stunde ";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -53,6 +53,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $updatevon; // string
|
||||
public $sprache='German'; // varchar(16)
|
||||
public $sort; // smallint
|
||||
public $incoming; // smallint
|
||||
public $zeugnis=true; // boolean
|
||||
public $projektarbeit; // boolean
|
||||
public $koordinator; // varchar(16)
|
||||
@@ -116,6 +117,7 @@ class lehrveranstaltung extends basis_db
|
||||
$this->updatevon=$row->updatevon;
|
||||
$this->sprache=$row->sprache;
|
||||
$this->sort=$row->sort;
|
||||
$this->incoming=$row->incoming;
|
||||
$this->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$this->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$this->koordinator=$row->koordinator;
|
||||
@@ -167,6 +169,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
$lv_obj->sort=$row->sort;
|
||||
$lv_obj->incoming=$row->incoming;
|
||||
$lv_obj->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$lv_obj->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$lv_obj->koordinator=$row->koordinator;
|
||||
@@ -234,7 +237,7 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
if ($sort == "bezeichnung")
|
||||
$qry .= " ORDER BY bezeichnung";
|
||||
else if (is_null($sort) || empty($sort))
|
||||
elseif (is_null($sort) || empty($sort))
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
@@ -273,6 +276,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
$lv_obj->sort=$row->sort;
|
||||
$lv_obj->incoming=$row->incoming;
|
||||
$lv_obj->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$lv_obj->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$lv_obj->koordinator=$row->koordinator;
|
||||
@@ -285,7 +289,7 @@ class lehrveranstaltung extends basis_db
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester
|
||||
* @param $studiengang_kz
|
||||
* @param $semester
|
||||
@@ -344,11 +348,11 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
if ($sort == "bezeichnung")
|
||||
$qry .= " ORDER BY bezeichnung";
|
||||
else if (is_null($sort) || empty($sort))
|
||||
elseif (is_null($sort) || empty($sort))
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
#echo "<hr> $qry <hr>";
|
||||
|
||||
//Datensaetze laden
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
@@ -383,6 +387,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
$lv_obj->sort=$row->sort;
|
||||
$lv_obj->incoming=$row->incoming;
|
||||
$lv_obj->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$lv_obj->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$lv_obj->koordinator=$row->koordinator;
|
||||
@@ -442,6 +447,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
$lv_obj->sort=$row->sort;
|
||||
$lv_obj->incoming=$row->incoming;
|
||||
$lv_obj->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$lv_obj->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$lv_obj->koordinator=$row->koordinator;
|
||||
@@ -516,6 +522,16 @@ class lehrveranstaltung extends basis_db
|
||||
$this->errormsg = 'Semesterstunden muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->sort!='' && !isint($this->sort))
|
||||
{
|
||||
$this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if($this->incoming!='' && !isint($this->incoming))
|
||||
{
|
||||
$this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
@@ -538,7 +554,7 @@ class lehrveranstaltung extends basis_db
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz,
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
|
||||
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz) VALUES ('.
|
||||
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz,incoming) VALUES ('.
|
||||
$this->addslashes($this->studiengang_kz).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->kurzbz).', ';
|
||||
@@ -568,7 +584,8 @@ class lehrveranstaltung extends basis_db
|
||||
$this->addslashes($this->sprache).','.
|
||||
$this->addslashes($this->koordinator).','.
|
||||
$this->addslashes($this->bezeichnung_english).','.
|
||||
$this->addslashes($this->orgform_kurzbz).');';
|
||||
$this->addslashes($this->orgform_kurzbz).','.
|
||||
$this->addslashes($this->incoming).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -608,6 +625,7 @@ class lehrveranstaltung extends basis_db
|
||||
'updateamum='.$this->addslashes($this->updateamum) .','.
|
||||
'updatevon='.$this->addslashes($this->updatevon) .','.
|
||||
'sort='.$this->addslashes($this->sort) .','.
|
||||
'incoming='.$this->addslashes($this->incoming).','.
|
||||
'zeugnis='.($this->zeugnis?'true':'false').','.
|
||||
'projektarbeit='.($this->projektarbeit?'true':'false').','.
|
||||
'koordinator='.$this->addslashes($this->koordinator).','.
|
||||
@@ -705,6 +723,7 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
$lv_obj->sort=$row->sort;
|
||||
$lv_obj->incoming=$row->incoming;
|
||||
$lv_obj->zeugnis=($row->zeugnis=='t'?true:false);
|
||||
$lv_obj->projektarbeit=($row->projektarbeit=='t'?true:false);
|
||||
$lv_obj->zeugnis=$row->koordinator;
|
||||
@@ -781,6 +800,7 @@ class lehrveranstaltung extends basis_db
|
||||
$l->insertamum = $row->insertamum;
|
||||
$l->insertvon = $row->insertvon;
|
||||
$l->sort = $row->sort;
|
||||
$l->incoming = $row->incoming;
|
||||
$l->zeugnis = ($row->zeugnis=='t'?true:false);
|
||||
$l->projektarbeit = ($row->projektarbeit=='t'?true:false);
|
||||
$l->koordinator = $row->koordinator;
|
||||
|
||||
@@ -167,7 +167,7 @@ $menu=array
|
||||
'link'=>'left.php?categorie=Inventar', 'target'=>'nav',
|
||||
'Inventar'=> array
|
||||
(
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support'),
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php', 'target'=>'main'),
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'inventar/inventar.php', 'target'=>'main'),
|
||||
'AfA'=>array('name'=>'AfA', 'link'=>'inventar/inventar_afa.php', 'target'=>'main'),
|
||||
@@ -176,7 +176,7 @@ $menu=array
|
||||
),
|
||||
'WAWI'=> array
|
||||
(
|
||||
'name'=>'WAWI', 'permissions'=>array('admin','wawi','support'),
|
||||
'name'=>'WAWI', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'inventar/bestellung.php', 'target'=>'main'),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -109,6 +109,18 @@ class variable extends basis_db
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
if(!is_bool($new))
|
||||
{
|
||||
$qry ="SELECT * FROM public.tbl_variable WHERE uid='".addslashes($this->uid)."' AND name='".addslashes($this->name)."';";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows()==0)
|
||||
$new=true;
|
||||
else
|
||||
$new=false;
|
||||
}
|
||||
}
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
@@ -247,6 +259,8 @@ class variable extends basis_db
|
||||
if (!isset($this->variable->ignore_reservierung))
|
||||
$this->variable->ignore_reservierung='false';
|
||||
|
||||
if (!isset($this->variable->kollision_student))
|
||||
$this->variable->kollision_student='false';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -848,7 +848,7 @@ class wochenplan extends basis_db
|
||||
* @param datum Datum eines Tages in der angeforderten Woche
|
||||
* @return true oder false
|
||||
*/
|
||||
public function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false)
|
||||
public function draw_week_xul($semesterplan, $uid, $wunsch=null, $ignore_kollision=false, $kollision_student=false)
|
||||
{
|
||||
//echo $wunsch;
|
||||
global $cfgStdBgcolor;
|
||||
@@ -924,7 +924,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$isferien=$ferien->isferien($datum);
|
||||
echo '<row><vbox>';
|
||||
echo '<html:div><html:small>'.date("l",$datum).'<html:br /></html:small>'.date("j.m y",$datum).'</html:div>';
|
||||
echo '<html:div><html:small>'.date("l",$datum).'<html:br /></html:small>'.date("j.m. y",$datum).'</html:div>';
|
||||
echo '</vbox>';
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
@@ -993,19 +993,58 @@ class wochenplan extends basis_db
|
||||
$a_unr[]=$lehrstunde->unr;
|
||||
$a_lvb[$lehrstunde->unr][]=$lehrstunde->sem.$lehrstunde->ver.$lehrstunde->grp;
|
||||
}
|
||||
|
||||
// Unterrichtsnummer (Kollision?)
|
||||
$a_unr=array_unique($a_unr);
|
||||
$kollision+=count($a_unr);
|
||||
// Ist es bei LVB-Ansicht wirklich eine Kollision?
|
||||
if ($kollision>0 && $this->type=='verband')
|
||||
//Kollisionspruefung Studentenebene
|
||||
if($kollision_student=='true')
|
||||
{
|
||||
$kollision=0;
|
||||
$a=0;
|
||||
foreach ($a_unr as $unr)
|
||||
$studiensemester = getStudiensemesterFromDatum(date('Y-m-d',$datum));
|
||||
|
||||
$qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl
|
||||
FROM (
|
||||
SELECT sub_stpl_uid.unr, sub_stpl_uid.datum, sub_stpl_uid.stunde, sub_stpl_uid.student_uid
|
||||
FROM ( SELECT stpl.unr, stpl.datum, stpl.stunde, tbl_benutzergruppe.uid AS student_uid
|
||||
FROM lehre.tbl_stundenplandev stpl
|
||||
JOIN public.tbl_benutzergruppe USING (gruppe_kurzbz)
|
||||
WHERE tbl_benutzergruppe.studiensemester_kurzbz::text = '".$studiensemester."'
|
||||
GROUP BY stpl.unr, stpl.datum, stpl.stunde, tbl_benutzergruppe.uid
|
||||
UNION
|
||||
SELECT stpl.unr, stpl.datum, stpl.stunde, tbl_studentlehrverband.student_uid
|
||||
FROM lehre.tbl_stundenplandev stpl
|
||||
JOIN public.tbl_studentlehrverband ON stpl.gruppe_kurzbz IS NULL AND stpl.studiengang_kz = tbl_studentlehrverband.studiengang_kz AND stpl.semester = tbl_studentlehrverband.semester AND (stpl.verband = tbl_studentlehrverband.verband OR stpl.verband = ' '::bpchar AND stpl.verband <> tbl_studentlehrverband.verband) AND (stpl.gruppe = tbl_studentlehrverband.gruppe OR stpl.gruppe = ' '::bpchar AND stpl.gruppe <> tbl_studentlehrverband.gruppe)
|
||||
WHERE tbl_studentlehrverband.studiensemester_kurzbz::text = '".$studiensemester."'
|
||||
GROUP BY stpl.unr, stpl.datum, stpl.stunde, tbl_studentlehrverband.student_uid) sub_stpl_uid
|
||||
GROUP BY sub_stpl_uid.unr, sub_stpl_uid.datum, sub_stpl_uid.stunde, sub_stpl_uid.student_uid
|
||||
|
||||
) as a
|
||||
WHERE datum='".date('Y-m-d',$datum)."' AND stunde='$j'
|
||||
GROUP BY datum, stunde, student_uid
|
||||
HAVING count(student_uid)>1
|
||||
ORDER BY datum, stunde, student_uid LIMIT 1;
|
||||
";
|
||||
|
||||
if($this->db_query($qry))
|
||||
if($this->db_num_rows()>0)
|
||||
$kollision++;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//Kollisionspruefung LVB Ebene
|
||||
// Ist es bei LVB-Ansicht wirklich eine Kollision?
|
||||
if ($kollision>0 && $this->type=='verband')
|
||||
{
|
||||
array_unique($a_lvb[$unr]);
|
||||
$lvb[$a++]=$a_lvb[$unr];
|
||||
}
|
||||
$kollision=0;
|
||||
$a=0;
|
||||
foreach ($a_unr as $unr)
|
||||
{
|
||||
array_unique($a_lvb[$unr]);
|
||||
$lvb[$a++]=$a_lvb[$unr];
|
||||
}
|
||||
|
||||
for ($a=0;$a<count($lvb)-1;$a++)
|
||||
for ($b=0;$b<count($lvb[$a]);$b++)
|
||||
for ($c=$a+1;$c<count($lvb);$c++)
|
||||
@@ -1013,16 +1052,18 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$s1=mb_substr($lvb[$a][$b],0,1);
|
||||
$s2=mb_substr($lvb[$c][$d],0,1);
|
||||
$v1=mb_substr($lvb[$a][$b],1,1);
|
||||
$v2=mb_substr($lvb[$c][$d],1,1);
|
||||
$g1=mb_substr($lvb[$a][$b],2,1);
|
||||
$g2=mb_substr($lvb[$c][$d],2,1);
|
||||
$v1=trim(mb_substr($lvb[$a][$b],1,1));
|
||||
$v2=trim(mb_substr($lvb[$c][$d],1,1));
|
||||
$g1=trim(mb_substr($lvb[$a][$b],2,1));
|
||||
$g2=trim(mb_substr($lvb[$c][$d],2,1));
|
||||
if ($s1==$s2 || !$s1 || $s1=='' || $s1=='0' || !$s2 || $s2=='' || $s2=='0')
|
||||
if ($v1==$v2 || !$v1 || $v1=='' || $v1=='0' || !$v2 || $v2=='' || $v2=='0')
|
||||
if ($g1==$g2 || !$g1 || $g1=='' || $g1=='0' || !$g2 || $g2=='' || $g2=='0')
|
||||
$kollision++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Kollision anzeigen?
|
||||
if ($ignore_kollision)
|
||||
$kollision=0;
|
||||
@@ -1141,14 +1182,17 @@ class wochenplan extends basis_db
|
||||
$blink_aus='';
|
||||
}
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($stg_kz);
|
||||
|
||||
// Ausgabe
|
||||
echo '<button id="buttonSTPL'.$count++.'"
|
||||
tooltiptext="('.$updatevonam.') '.$titel.' - '.$anmerkung.'"
|
||||
style="border-width:1px;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';"
|
||||
styleOrig="border-width:1px;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').'" ';
|
||||
if ($berechtigung->isBerechtigt('lv-plan',$stg_kz,'uid') || $berechtigung->isBerechtigt('lv-plan',0,'uid') || $berechtigung->isBerechtigt('admin',0,'uid') || $berechtigung->isBerechtigt('admin',$stg_kz,'uid'))
|
||||
styleOrig="border-width:1px;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';" ';
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'uid'))
|
||||
echo ' context="stplPopupMenue" ';
|
||||
if ($berechtigung->isBerechtigt('lv-plan',$stg_kz,'u') || $berechtigung->isBerechtigt('lv-plan',0,'u') || $berechtigung->isBerechtigt('admin',0,'u') || $berechtigung->isBerechtigt('admin',$stg_kz,'u'))
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'u'))
|
||||
echo 'ondraggesture="nsDragAndDrop.startDrag(event,listObserver)" ';
|
||||
echo 'ondragdrop="nsDragAndDrop.drop(event,boardObserver)"
|
||||
ondragover="nsDragAndDrop.dragOver(event,boardObserver)"
|
||||
|
||||
@@ -50,6 +50,10 @@
|
||||
<!ENTITY menu-prefs-ignore_kollision.label "ignore_kollision">
|
||||
<!ENTITY menu-prefs-ignore_kollision.accesskey "k">
|
||||
|
||||
<!ENTITY menu-prefs-kollision_student.key "s">
|
||||
<!ENTITY menu-prefs-kollision_student.label "kollision_student">
|
||||
<!ENTITY menu-prefs-kollision_student.accesskey "s">
|
||||
|
||||
<!ENTITY menu-help-about.key "U">
|
||||
<!ENTITY menu-help-about.label "Über FHComplete">
|
||||
<!ENTITY menu-help-about.accesskey "U">
|
||||
|
||||
+16
-1
@@ -973,6 +973,10 @@ if(!@$db->db_query('SELECT gid FROM public.tbl_gruppe'))
|
||||
OR trim(tbl_lehrverband.gruppe)=''
|
||||
OR tbl_studentlehrverband.gruppe is null
|
||||
);
|
||||
GRANT SELECT ON public.vw_gruppen TO admin;
|
||||
GRANT SELECT ON public.vw_gruppen TO web;
|
||||
|
||||
CREATE INDEX idx_benutzer_aktiv ON public.tbl_benutzer (aktiv);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
@@ -981,6 +985,17 @@ if(!@$db->db_query('SELECT gid FROM public.tbl_gruppe'))
|
||||
echo 'tbl_gruppe/tbl_lehrverband: GID wurde hinzugefuegt! (inklusive Trigger und View)<br>';
|
||||
}
|
||||
|
||||
//Spalte incoming zur Lehrveranstaltung hinzufuegen. Legt fest wie viele Incoming an der LV teilnehmen duerfen
|
||||
if(!@$db->db_query('SELECT incoming FROM lehre.tbl_lehrveranstaltung'))
|
||||
{
|
||||
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN incoming smallint DEFAULT null;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'lehre.tbl_lehrveranstaltung: Spalte incoming hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
echo '<br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -1050,7 +1065,7 @@ $tabellen=array(
|
||||
"lehre.tbl_lehrfach" => array("lehrfach_id","studiengang_kz","fachbereich_kurzbz","kurzbz","bezeichnung","farbe","aktiv","semester","sprache","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"),
|
||||
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming"),
|
||||
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"),
|
||||
|
||||
+246
-126
@@ -26,19 +26,28 @@ require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/fachbereich.class.php');
|
||||
require_once('../../include/lvinfo.class.php');
|
||||
require_once('../../include/lehrveranstaltung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
$s=new studiengang();
|
||||
$s->getAll('typ, kurzbz', false);
|
||||
$studiengang=$s->result;
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
$oe_studiengang='';
|
||||
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
|
||||
{
|
||||
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
|
||||
if($stg_kz!='')
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
if(!$stg_obj->load($stg_kz))
|
||||
die('Studiengang kann nicht geladen werden');
|
||||
$oe_studiengang = $stg_obj->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
else
|
||||
$stg_kz='';
|
||||
|
||||
@@ -57,112 +66,221 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
|
||||
if(!is_numeric($semester))
|
||||
$semester=0;
|
||||
|
||||
$fachbereich_kurzbz = (isset($_REQUEST['fachbereich_kurzbz'])?$_REQUEST['fachbereich_kurzbz']:'');
|
||||
$oe_fachbereich='';
|
||||
if(isset($_REQUEST['fachbereich_kurzbz']))
|
||||
{
|
||||
$fachbereich_kurzbz = $_REQUEST['fachbereich_kurzbz'];
|
||||
if($fachbereich_kurzbz!='')
|
||||
{
|
||||
$fb_obj = new fachbereich();
|
||||
if(!$fb_obj->load($fachbereich_kurzbz))
|
||||
die('Institut konnte nicht geladen werden');
|
||||
$oe_fachbereich = $fb_obj->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
else
|
||||
$fachbereich_kurzbz = '';
|
||||
|
||||
//Wenn kein Fachbereich und kein Studiengang gewaehlt wurde
|
||||
//dann wird der Studiengang auf 0 gesetzt da sonst die zu ladende liste zu lang wird
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
$write_admin=false;
|
||||
$write_low=false;
|
||||
|
||||
if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid')
|
||||
&& !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid')
|
||||
&& !$rechte->isBerechtigt('assistenz', null, 'suid', $fachbereich_kurzbz))
|
||||
die('Sie haben keine Berechtigung für diesen Studiengang');
|
||||
if($rechte->isBerechtigt('lehre/lehrveranstaltung', $oe_studiengang, 'suid')
|
||||
|| $rechte->isBerechtigt('lehre/lehrveranstaltung', $oe_fachbereich, 'suid'))
|
||||
$write_admin=true;
|
||||
|
||||
if($rechte->isBerechtigt('lehre/lehrveranstaltung:begrenzt', $oe_studiengang, 'suid')
|
||||
|| $rechte->isBerechtigt('lehre/lehrveranstaltung:begrenzt', $oe_fachbereich, 'suid'))
|
||||
$write_low=true;
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung:begrenzt'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
|
||||
{
|
||||
if($rechte->isBerechtigt('admin', $stg_kz, 'suid'))
|
||||
if($write_admin)
|
||||
{
|
||||
//Lehrevz Speichern
|
||||
if(isset($_POST['lehrevz']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichern!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->lehreverzeichnis=$_POST['lehrevz'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//Aktiv Feld setzen
|
||||
if(isset($_GET['aktiv']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET aktiv=".($_GET['aktiv']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichen!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->aktiv=($_GET['aktiv']=='t'?false:true);
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
//Organisationsform Speichern
|
||||
if(isset($_POST['orgform']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET orgform_kurzbz=".($_POST['orgform']==''?'null':"'".addslashes($_POST['orgform'])."'")." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichern!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->orgform_kurzbz=$_POST['orgform'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
//LVInfo kopieren
|
||||
if(isset($_POST['source_id']))
|
||||
if($write_low || $write_admin)
|
||||
{
|
||||
$lvinfo = new lvinfo();
|
||||
if(!$lvinfo->copy($_POST['source_id'], $_GET['lvid']))
|
||||
echo 'Fehler beim Kopieren';
|
||||
else
|
||||
echo 'Erfolgreich gespeichert';
|
||||
}
|
||||
//LVInfo kopieren
|
||||
if(isset($_POST['source_id']))
|
||||
{
|
||||
$lvinfo = new lvinfo();
|
||||
if(!$lvinfo->copy($_POST['source_id'], $_GET['lvid']))
|
||||
echo 'Fehler beim Kopieren';
|
||||
else
|
||||
echo 'Erfolgreich gespeichert';
|
||||
}
|
||||
|
||||
//Lehre Feld setzen
|
||||
if(isset($_GET['lehre']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->lehre=($_GET['lehre']=='t'?false:true);
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//Lehre Feld setzen
|
||||
if(isset($_GET['lehre']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehre=".($_GET['lehre']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichen!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
//Zeugnis Feld setzen
|
||||
if(isset($_GET['zeugnis']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->zeugnis=($_GET['zeugnis']=='t'?false:true);
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//Sort Speichern
|
||||
if(isset($_POST['sort']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->sort=$_POST['sort'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//Incoming Speichern
|
||||
if(isset($_POST['incoming']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->incoming=$_POST['incoming'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//FBK Speichern
|
||||
if(isset($_POST['fbk']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->koordinator=$_POST['fbk'];
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
|
||||
//Projektarbeit Feld setzen
|
||||
if(isset($_GET['projektarbeit']))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if($lv_obj->load($_GET['lvid']))
|
||||
{
|
||||
$lv_obj->projektarbeit=($_GET['projektarbeit']=='t'?false:true);
|
||||
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$lv_obj->updatevon = $user;
|
||||
if($lv_obj->save(false))
|
||||
echo 'Erfolgreich gespeichert';
|
||||
else
|
||||
echo 'Fehler beim Speichern:'.$lv_obj->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Laden der LV:'.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
//Zeugnis Feld setzen
|
||||
if(isset($_GET['zeugnis']))
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET zeugnis=".($_GET['zeugnis']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichen!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
}
|
||||
|
||||
//Sort Speichern
|
||||
if(isset($_POST['sort']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET sort=".($_POST['sort']!=''?"'".addslashes($_POST['sort'])."'":'null')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichern!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
}
|
||||
|
||||
//FBK Speichern
|
||||
if(isset($_POST['fbk']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET koordinator=".($_POST['fbk']==''?'null':"'".addslashes($_POST['fbk'])."'")." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichern!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
}
|
||||
|
||||
//Projektarbeit Feld setzen
|
||||
if(isset($_GET['projektarbeit']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET projektarbeit=".($_GET['projektarbeit']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
//echo $qry;
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichen!";
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
echo 'Sie haben keine Schreibrechte fuer diese Seite';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +327,7 @@ if($result = $db->db_query($qry))
|
||||
//Wenn nicht admin, dann nur die aktiven anzeigen
|
||||
$aktiv='';
|
||||
$isaktiv=trim($isaktiv);
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
if(!$write_admin)
|
||||
$aktiv = ' AND tbl_lehrveranstaltung.aktiv=true';
|
||||
else
|
||||
{
|
||||
@@ -249,9 +367,11 @@ $s=array();
|
||||
$outp.="<form action='".$_SERVER['PHP_SELF']."' method='GET' onsubmit='return checksubmit();'>";
|
||||
$outp.=" Studiengang <SELECT name='stg_kz' id='select_stg_kz'>";
|
||||
$outp.="<OPTION value='' ".($stg_kz==''?'selected':'').">-- Alle --</OPTION>";
|
||||
$stg_berechtigt = $rechte->getStgKz('lehre/lehrveranstaltung:begrenzt');
|
||||
|
||||
foreach ($studiengang as $stg)
|
||||
{
|
||||
if($rechte->isBerechtigt('admin', $stg->studiengang_kz, 'suid') || $rechte->isBerechtigt('assistenz', $stg->studiengang_kz, 'suid'))
|
||||
if(in_array($stg->studiengang_kz, $stg_berechtigt))
|
||||
{
|
||||
$outp.="<OPTION value='$stg->studiengang_kz' ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->kurzbzlang</OPTION>";
|
||||
}
|
||||
@@ -273,6 +393,7 @@ $outp.= ' Institut <SELECT name="fachbereich_kurzbz" id="select_fachbereich_kurz
|
||||
$fachb = new fachbereich();
|
||||
$fachb->getAll();
|
||||
$outp.= "<OPTION value='' ".($fachbereich_kurzbz==''?'selected':'').">-- Alle --</OPTION>";
|
||||
$fachbereich_berechtigt = $rechte->getFbKz('lehre/lehrveranstaltung:begrenzt');
|
||||
foreach ($fachb->result as $fb)
|
||||
{
|
||||
if($fachbereich_kurzbz==$fb->fachbereich_kurzbz)
|
||||
@@ -280,15 +401,13 @@ foreach ($fachb->result as $fb)
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if($rechte->isBerechtigt('admin', 0, 'suid') ||
|
||||
$rechte->isBerechtigt('assistenz', null, 'suid', $fb->fachbereich_kurzbz) ||
|
||||
$rechte->isBerechtigt('admin', null, 'suid', $fb->fachbereich_kurzbz))
|
||||
$outp.= "<OPTION value='$fb->fachbereich_kurzbz' $selected>$fb->fachbereich_kurzbz</OPTION>";
|
||||
if(in_array($fb->fachbereich_kurzbz, $fachbereich_berechtigt))
|
||||
$outp.= "<OPTION value='$fb->fachbereich_kurzbz' $selected>$fb->fachbereich_kurzbz</OPTION>";
|
||||
}
|
||||
|
||||
$outp.= '</SELECT>';
|
||||
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
{
|
||||
//Aktiv DropDown
|
||||
$outp.= ' Aktiv <SELECT name="isaktiv" id="isaktiv">';
|
||||
@@ -309,28 +428,25 @@ $outp .="</form>";
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Lehrveranstaltung Verwaltung</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>
|
||||
<script language="Javascript">
|
||||
var isaktiv="'.$isaktiv.'";
|
||||
function checksubmit()
|
||||
{
|
||||
//alert(document.getElementById("select_stg_kz").value+" : "+document.getElementById("select_fachbereich_kurzbz").value);
|
||||
//return false;
|
||||
|
||||
if(document.getElementById("select_stg_kz").value==\'\' && document.getElementById("select_fachbereich_kurzbz").value==\'\')
|
||||
{
|
||||
alert("Studiengang und Fachbereich dürfen nicht gleichzeitig auf \'Alle\' gesetzt sein");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
}
|
||||
</script>
|
||||
<title>Lehrveranstaltung Verwaltung</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>
|
||||
<script type="text/javascript">
|
||||
var isaktiv="'.$isaktiv.'";
|
||||
function checksubmit()
|
||||
{
|
||||
if(document.getElementById("select_stg_kz").value==\'\' && document.getElementById("select_fachbereich_kurzbz").value==\'\')
|
||||
{
|
||||
alert("Studiengang und Fachbereich dürfen nicht gleichzeitig auf \'Alle\' gesetzt sein");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
';
|
||||
@@ -341,7 +457,7 @@ echo $outp;
|
||||
|
||||
echo '</td><td>';
|
||||
//Neu Button
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
echo "<input type='button' onclick='parent.lv_detail.location=\"lehrveranstaltung_details.php?neu=true&stg_kz=$stg_kz&semester=$semester\"' value='Neu'/>";
|
||||
echo '</td></tr></table>';
|
||||
|
||||
@@ -357,17 +473,18 @@ if ($result_lv!=0)
|
||||
<th class='table-sortable:default'>Bezeichnung</th>
|
||||
<th class='table-sortable:default'>LF</th>
|
||||
<th class='table-sortable:default'>Stg</th>
|
||||
<th class='table-sortable:default'>Organisationsform</th>
|
||||
<th class='table-sortable:default'>SS</th>
|
||||
<th class='table-sortable:default'>Orgform</th>
|
||||
<th class='table-sortable:default' title='Semesterstunden'>SS</th>
|
||||
<th class='table-sortable:default'>ECTS</th>
|
||||
<th class='table-sortable:default'>Lehre</th>
|
||||
<th class='table-sortable:default'>LehreVz</th>
|
||||
<th class='table-sortable:default' title='Verzeichnisname im Filesystem'>LehreVz</th>
|
||||
<th class='table-sortable:default'>Aktiv</th>
|
||||
<th class='table-sortable:numeric'>Sort</th>
|
||||
<th class='table-sortable:numeric' title='Sortierreihenfolge der LV am Zeugnis'>Sort</th>
|
||||
<th class='table-sortable:numeric' title='Anzahl der Incoming die an dieser LV teilnehmen duerfen'>Incoming</th>
|
||||
<th class='table-sortable:default'>Zeugnis</th>
|
||||
<th class='table-sortable:default'>BA/DA</th>
|
||||
<th class='table-sortable:default' title='Soll diese Lehrveranstaltung bei Diplom-/Bachelorarbeit ausgewaehlt werden koennen?'>BA/DA</th>
|
||||
<th class='table-sortable:default'>Koordinator</th>
|
||||
<th class='table-sortable:default'>LVInfo</th>\n";
|
||||
<th class='table-sortable:default'>LV-Info</th>\n";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
for($i=0;$i<$num_rows;$i++)
|
||||
@@ -377,7 +494,7 @@ if ($result_lv!=0)
|
||||
//ID
|
||||
echo "<td align='right'>";
|
||||
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
echo "<a href='lehrveranstaltung_details.php?lv_id=$row->lehrveranstaltung_id' target='lv_detail'>$row->lehrveranstaltung_id</a>";
|
||||
else
|
||||
echo "$row->lehrveranstaltung_id";
|
||||
@@ -386,7 +503,7 @@ if ($result_lv!=0)
|
||||
echo "<td>$row->kurzbz</td>";
|
||||
//Bezeichnung
|
||||
echo "<td>";
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
echo "<a href='lehrveranstaltung_details.php?lv_id=$row->lehrveranstaltung_id' target='lv_detail'>$row->bezeichnung</a>";
|
||||
else
|
||||
echo $row->bezeichnung;
|
||||
@@ -395,7 +512,7 @@ if ($result_lv!=0)
|
||||
echo "<td>".$s[$row->studiengang_kz]->kurzbz."</td>";
|
||||
//Organisationsform
|
||||
echo "<td style='white-space:nowrap;'>";
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
{
|
||||
echo "<form action='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&fachbereich_kurzbz=$fachbereich_kurzbz&isaktiv=$isaktiv' method='POST'>";
|
||||
echo "<SELECT name='orgform'>";
|
||||
@@ -430,14 +547,14 @@ if ($result_lv!=0)
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&lehre=$row->lehre&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz'><img src='../../skin/images/".($row->lehre=='t'?'true.png':'false.png')."' height='20'></a></td>";
|
||||
//LehreVz
|
||||
echo "<td style='white-space:nowrap;'>";
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
echo "<form action='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz' method='POST'><input type='text' value='$row->lehreverzeichnis' size='4' name='lehrevz'><input type='submit' value='ok'></form>";
|
||||
else
|
||||
echo $row->lehreverzeichnis;
|
||||
echo "</td>";
|
||||
//Aktiv
|
||||
echo "<td align='center' style='white-space:nowrap;'>";
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
if($write_admin)
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&aktiv=$row->aktiv&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz'><img src='../../skin/images/".($row->aktiv=='t'?'true.png':'false.png')."' height='20'></a>";
|
||||
else
|
||||
echo ($row->aktiv?'Ja':'Nein');
|
||||
@@ -447,6 +564,11 @@ if ($result_lv!=0)
|
||||
echo "<div style='display: none'>$row->sort</div>";
|
||||
echo "<form action='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz' method='POST'><input type='text' value='$row->sort' size='4' name='sort'><input type='submit' value='ok'></form>";
|
||||
echo "</td>";
|
||||
//Incoming
|
||||
echo "<td style='white-space:nowrap;'>";
|
||||
echo "<div style='display: none'>$row->incoming</div>";
|
||||
echo "<form action='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz' method='POST'><input type='text' value='$row->incoming' size='4' name='incoming'><input type='submit' value='ok'></form>";
|
||||
echo "</td>";
|
||||
//Zeugnis
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&zeugnis=$row->zeugnis&isaktiv=$isaktiv&fachbereich_kurzbz=$fachbereich_kurzbz'><img src='../../skin/images/".($row->zeugnis=='t'?'true.png':'false.png')."' height='20'></a></td>";
|
||||
//Projektarbeit
|
||||
@@ -464,7 +586,7 @@ if ($result_lv!=0)
|
||||
echo "<option value='$fb_uid' $selected>".$fb_k['nachname']." ".$fb_k['vorname']."</option>";
|
||||
}
|
||||
echo "</SELECT><input type='submit' value='ok' name='submitfbk'></form>";
|
||||
echo "</td>";
|
||||
echo '</td>';
|
||||
echo '<td nowrap>';
|
||||
//LVInfo
|
||||
$lvinfo = new lvinfo();
|
||||
@@ -484,11 +606,9 @@ if ($result_lv!=0)
|
||||
|
||||
}
|
||||
else
|
||||
echo "Kein Eintrag gefunden!";
|
||||
echo 'Kein Eintrag gefunden!';
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
</body>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -49,6 +49,10 @@
|
||||
{
|
||||
$lv->new=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
die('Fehler beim Laden der Lehrveranstaltung');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -77,6 +81,7 @@
|
||||
$lv->updateamum = date('Y-m-d H:i:s');
|
||||
$lv->updatevon = $user;
|
||||
$lv->sort = $_POST['sort'];
|
||||
$lv->incoming = $_POST['incoming'];
|
||||
$lv->zeugnis = isset($_POST['zeugnis']);
|
||||
$lv->projektarbeit = isset($_POST['projektarbeit']);
|
||||
$lv->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
@@ -259,6 +264,14 @@
|
||||
$htmlstr .= "</SELECT>";
|
||||
$htmlstr .= " </td>";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td>Incomingplätze</td>";
|
||||
$htmlstr .= " <td><input type='text' name='incoming' value='$lv->incoming' maxlength='2'></td>";
|
||||
$htmlstr .= " </tr><tr>\n";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td></td>";
|
||||
$htmlstr .= " <td><input type='submit' value='Speichern' name='schick'></td>";
|
||||
|
||||
$htmlstr .= " </tr>\n";
|
||||
@@ -272,14 +285,11 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Lehrveranstaltung - Details</title>
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<script src="../../include/js/mailcheck.js"></script>
|
||||
<script src="../../include/js/datecheck.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Lehrveranstaltung - Details</title>
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<script src="../../include/js/mailcheck.js"></script>
|
||||
<script src="../../include/js/datecheck.js"></script>
|
||||
</head>
|
||||
<body style="background-color:#eeeeee;">
|
||||
|
||||
|
||||
@@ -1,187 +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 >
|
||||
*/
|
||||
|
||||
/*
|
||||
Entfernen (doppelter) Interessenten
|
||||
*/
|
||||
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
require_once('../../include/functions.inc.php');
|
||||
|
||||
|
||||
function myaddslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
$msg='';
|
||||
|
||||
|
||||
//prestudent_id
|
||||
if (isset($_GET['prestudent']) || isset($_POST['prestudent']))
|
||||
{
|
||||
$prestudent=(isset($_GET['prestudent'])?$_GET['prestudent']:$_POST['prestudent']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$prestudent='';
|
||||
}
|
||||
|
||||
//person_id
|
||||
if (isset($_GET['person']) || isset($_POST['person']))
|
||||
{
|
||||
$person=(isset($_GET['person'])?$_GET['person']:$_POST['person']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$person='';
|
||||
}
|
||||
if($person!='' && $prestudent!='')
|
||||
{
|
||||
$qry="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person.";";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>1)
|
||||
{
|
||||
$q2="SELECT * FROM public.tbl_prestudent WHERE person_id=".$person." AND prestudent_id=".$prestudent.";";
|
||||
if($result2 = $db->db_query($q2))
|
||||
{
|
||||
if($db->db_num_rows($result2)<1)
|
||||
{
|
||||
//kein prestudent mit eingegebener person_id und prestudent_id gefunden
|
||||
$msg="Die Eingaben passen nicht zusammen!";
|
||||
}
|
||||
else
|
||||
{
|
||||
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
|
||||
if($result3 = $db->db_query($q3))
|
||||
{
|
||||
if($db->db_num_rows($result3)==1)
|
||||
{
|
||||
//mehrere prestudenten an diesem studenten => nur prestudentrolle und prestudent werden gelöscht
|
||||
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";";
|
||||
if($db->db_query($del))
|
||||
{
|
||||
$msg="Prestudent mit ID ".$prestudent." und Prestudentrolle Interessent entfernt.<br>".mb_eregi_replace(";DELETE",";<br>DELETE",$del);
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Fehler bei: ".$del;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif($db->db_num_rows($result)==1)
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->prestudent_id==$prestudent)
|
||||
{
|
||||
$q3="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';";
|
||||
if($result3 = $db->db_query($q3))
|
||||
{
|
||||
if($db->db_num_rows($result3)==1)
|
||||
{
|
||||
//löschen von prestudentrolle, prestudent, adresse, kontakt und person werden gelöscht
|
||||
$del="DELETE FROM public.tbl_prestudentstatus WHERE prestudent_id=".$prestudent." AND status_kurzbz='Interessent';DELETE FROM public.tbl_prestudent WHERE prestudent_id=".$prestudent.";DELETE FROM public.tbl_adresse WHERE person_id=".$person.";DELETE FROM public.tbl_kontakt WHERE person_id=".$person.";DELETE FROM public.tbl_person WHERE person_id=".$person.";";
|
||||
if($db->db_query($del))
|
||||
{
|
||||
$msg="Prestudent mit ID ".$prestudent." und Person mit ID ".$person." entfernt.<br>".mb_eregi_replace(";DELETE",";<br>DELETE",$del);
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Fehler bei: ".$del;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Eingabedaten zeigen nicht auf einen Interessenten!";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Eingaben passen nicht zusammen!";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//kein prestudent gefunden
|
||||
$msg="Keinen Prestudent mit dieser person_id gefunden! Bitte Eingabe überprüfen!";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg="Bitte beide Parameter eingeben!";
|
||||
}
|
||||
?>
|
||||
<!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">
|
||||
|
||||
<title>Entfernen von (doppelten) Interessenten</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<H1>Entfernen von (doppelten) Interessenten</H1>
|
||||
|
||||
<?php
|
||||
echo "<form name='suche' action='interessent_entfernen.php' method='POST'>";
|
||||
echo "<table><tr>";
|
||||
echo "<th>prestudent_id</th><th>person_id</th><th> </th>";
|
||||
echo "<tr>";
|
||||
echo "<td><input name=\"prestudent\" type=\"text\" value=\"$prestudent\" size=\"16\" maxlength=\"8\"></td>";
|
||||
echo "<td><input name='person' type='text' value=\"$person\" size='16' maxlength='8'></td>";
|
||||
echo "<td><input type='submit' value=' entfernen '></td></tr>";
|
||||
echo "</table></form>";
|
||||
|
||||
?>
|
||||
<br>
|
||||
<center><h2><?php echo "<span style=\"font-size:0.7em\">".
|
||||
#substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7).": ".
|
||||
$msg."</span>"; ?></h2></center>
|
||||
<br>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -20,12 +20,7 @@
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
@@ -40,6 +35,9 @@ require_once('../../include/firma.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user