This commit is contained in:
Andreas Österreicher
2009-07-10 12:51:53 +00:00
parent 7e3caa520b
commit cb969e8b97
31 changed files with 580 additions and 184 deletions
+1 -1
View File
@@ -488,7 +488,7 @@
tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
vw_mitarbeiter.uid=COALESCE(koordinator, tbl_benutzerfunktion.uid) AND
tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz";
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)";
echo "<tr><td class='tdvertical'><b>Institutskoordinator</b></td><td>";
if($result=$db->db_query($qry))
+1 -1
View File
@@ -225,7 +225,7 @@
tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
vw_mitarbeiter.uid=COALESCE(koordinator, tbl_benutzerfunktion.uid) AND
tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz ";
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) ";
if(!$res=$db->db_query($qry))
die('Fehler ! '.$db->errormsg);
+6 -5
View File
@@ -296,8 +296,9 @@ function show(id)
<p>Studiengangsleiter:<br>
<?php
$stg_oe_obj = new studiengang($studiengang_kz);
//Studiengangsleiter auslesen
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE campus.vw_mitarbeiter.aktiv and uid=(SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz='$studiengang_kz' AND funktion_kurzbz='stgl' LIMIT 1)";
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE campus.vw_mitarbeiter.aktiv and uid=(SELECT uid FROM public.tbl_benutzerfunktion WHERE oe_kurzbz='$stg_oe_obj->oe_kurzbz' AND funktion_kurzbz='stgl' LIMIT 1)";
if($result_course_leader = $db->db_query($qry))
{
$num_rows_course_leader = $db->db_num_rows($result_course_leader);
@@ -463,8 +464,8 @@ function show(id)
echo "</p>";
echo "<p>Sekretariat:</font><font face='Arial, Helvetica, sans-serif' size='2'>";
//Sekritariat auslesen
$sql_query = "SELECT distinct * FROM campus.vw_mitarbeiter WHERE campus.vw_mitarbeiter.aktiv and uid in (SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz='$studiengang_kz' AND funktion_kurzbz='ass')";
$stg_oe_obj = new studiengang($studiengang_kz);
$sql_query = "SELECT distinct * FROM campus.vw_mitarbeiter WHERE campus.vw_mitarbeiter.aktiv and uid in (SELECT uid FROM public.tbl_benutzerfunktion WHERE oe_kurzbz='$stg_oe_obj->oe_kurzbz' AND funktion_kurzbz='ass')";
if($result_course_secretary = $db->db_query($sql_query))
{
@@ -552,9 +553,9 @@ function show(id)
echo $row->zusatzinfo_html;
}
}
$stg_oe_obj = new studiengang($studiengang_kz);
echo "<p>Studentenvertreter:</font><font face='Arial, Helvetica, sans-serif' size='2'><br>";
$sql_query = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, tbl_person.titelpost, tbl_benutzer.uid FROM public.tbl_person, public.tbl_benutzer,public.tbl_benutzerfunktion WHERE studiengang_kz='$studiengang_kz' AND funktion_kurzbz='stdv' AND tbl_person.aktiv and tbl_person.person_id=public.tbl_benutzer.person_id AND public.tbl_benutzer.aktiv AND tbl_benutzerfunktion.uid=tbl_benutzer.uid";
$sql_query = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, tbl_person.titelpost, tbl_benutzer.uid FROM public.tbl_person, public.tbl_benutzer,public.tbl_benutzerfunktion WHERE oe_kurzbz='$stg_oe_obj->oe_kurzbz' AND funktion_kurzbz='stdv' AND tbl_person.aktiv and tbl_person.person_id=public.tbl_benutzer.person_id AND public.tbl_benutzer.aktiv AND tbl_benutzerfunktion.uid=tbl_benutzer.uid";
if($result_course_stdv = $db->db_query($sql_query))
{
$num_rows_course_stdv = $db->db_num_rows($result_course_stdv);
+5 -5
View File
@@ -278,25 +278,25 @@ function RefreshImage()
{
//Funktionen
$qry = "SELECT
*, tbl_benutzerfunktion.studiengang_kz as studiengang_kz,
*, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz,
tbl_fachbereich.bezeichnung as bezeichnung, tbl_benutzerfunktion.semester
FROM
public.tbl_benutzerfunktion JOIN public.tbl_funktion USING(funktion_kurzbz)
LEFT JOIN public.tbl_fachbereich USING(fachbereich_kurzbz)
LEFT JOIN public.tbl_studiengang ON(tbl_benutzerfunktion.studiengang_kz=tbl_studiengang.studiengang_kz)
LEFT JOIN public.tbl_studiengang ON(tbl_benutzerfunktion.oe_kurzbz=tbl_studiengang.oe_kurzbz)
WHERE
uid='$uid' AND
(tbl_fachbereich.aktiv=true OR fachbereich_kurzbz is null) AND
(tbl_studiengang.aktiv=true OR tbl_benutzerfunktion.studiengang_kz is null)";
(tbl_studiengang.aktiv=true OR tbl_benutzerfunktion.oe_kurzbz is null)";
if($result_funktion = $db->db_query($qry))
{
if($db->db_num_rows($result_funktion)>0)
{
echo '<br><br><b>Funktionen</b><table><tr class="liste"><th>Funktion</th><th>Studiengang</th><th>Semester</th><th>Institut</th></tr>';
echo '<br><br><b>Funktionen</b><table><tr class="liste"><th>Funktion</th><th>Organisationseinheit</th><th>Semester</th><th>Institut</th></tr>';
while($row_funktion = $db->db_fetch_object($result_funktion))
{
echo "<tr class='liste1'><td>$row_funktion->beschreibung</td><td>".($row_funktion->studiengang_kz!=0?$stg_arr[$row_funktion->studiengang_kz]:'')."</td><td>$row_funktion->semester</td><td>$row_funktion->bezeichnung</td></tr>";
echo "<tr class='liste1'><td>$row_funktion->beschreibung</td><td>".$row_funktion->oe_kurzbz."</td><td>$row_funktion->semester</td><td>$row_funktion->bezeichnung</td></tr>";
}
echo '</table>';
}
+1 -1
View File
@@ -235,7 +235,7 @@
tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.studiensemester_kurzbz='$stdsem' AND
(tbl_lehrveranstaltung.koordinator='$user' OR
(tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz FROM public.tbl_benutzerfunktion
(tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE funktion_kurzbz='fbk' AND uid='$uid')
)";
if($result = $db->db_query($qry))
+4 -1
View File
@@ -33,7 +33,10 @@ $error_msg='';
//$error_msg.=loadVariables($user);
$variable = new variable();
$variable->loadVariables($user);
if(!$variable->loadVariables($user))
{
die('Fehler beim Laden der Variablen:'.$variable->errormsg);
}
//$benutzer = new benutzer($conn);
//if(!$benutzer->loadVariables($user))
+2 -2
View File
@@ -343,7 +343,7 @@ if(!$error)
!$rechte->isBerechtigt('mitarbeiter', null, 'suid')))
{
$return = false;
$errormsg = 'Keine Berechtigung';
$errormsg = 'Keine Berechtigung'.$_POST['studiengang_kz_berecht'];
$data = '';
$error = true;
}
@@ -381,7 +381,7 @@ if(!$error)
if(!$error)
{
$benutzerfunktion->studiengang_kz = $_POST['studiengang_kz'];
$benutzerfunktion->oe_kurzbz = $_POST['oe_kurzbz'];
$benutzerfunktion->semester = $_POST['semester'];
$benutzerfunktion->fachbereich_kurzbz = $_POST['fachbereich_kurzbz'];
$benutzerfunktion->uid = $_POST['uid'];
+26 -10
View File
@@ -22,15 +22,31 @@
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
$user = get_uid();
loadVariables($user);
?>
// ********** GLOBALE VARIABLEN ********** //
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
var FunktionenSelectID='';
var FunktionenUID=null;
<?php
// JS-Variable anlegen mit einer Uebersetzungstabellle
// Studiengang zu Organisationseinheit
$stg_obj = new studiengang();
$stg_obj->getAll();
echo 'var organisationseinheit = {';
$content = '';
foreach ($stg_obj->result as $stg)
$content .= $stg->studiengang_kz.':"'.$stg->oe_kurzbz.'",';
echo substr($content, 0, mb_strlen($content)-1).'};';
?>
// ********** LISTENER UND OBSERVER ********** //
// ****
@@ -152,13 +168,13 @@ function FunktionNeu()
//Wenn die aktuelle Person ein Student ist,
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
oe_kurzbz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
if(studiengang_kz!='')
if(oe_kurzbz!='')
{
document.getElementById('funktion-menulist-studiengang').value=studiengang_kz;
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-funktion').value='stdv';
}
@@ -227,7 +243,7 @@ function FunktionDelete()
function FunktionDetailSpeichern()
{
funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
studiengang_kz = document.getElementById('funktion-menulist-studiengang').value;
oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
semester = document.getElementById('funktion-menulist-semester').value;
fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
neu = document.getElementById('funktion-checkbox-neu').checked;
@@ -249,7 +265,7 @@ function FunktionDetailSpeichern()
req.add('type', 'funktionsave');
req.add('funktion_kurzbz', funktion_kurzbz);
req.add('studiengang_kz', studiengang_kz);
req.add('oe_kurzbz', oe_kurzbz);
req.add('semester', semester);
req.add('studiengang_kz_berecht', studiengang_kz_berecht);
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
@@ -308,12 +324,12 @@ function FunktionBearbeiten()
//Daten holen
fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
studiengang_kz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" ));
oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
document.getElementById('funktion-menulist-studiengang').value=studiengang_kz;
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-semester').value=semester;
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
@@ -341,7 +357,7 @@ function FunktionDisableFields(val)
function FunktionDetailDisableFields(val)
{
document.getElementById('funktion-menulist-fachbereich').disabled=val;
document.getElementById('funktion-menulist-studiengang').disabled=val;
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
document.getElementById('funktion-menulist-semester').disabled=val;
document.getElementById('funktion-menulist-funktion').disabled=val;
document.getElementById('funktion-button-speichern').disabled=val;
@@ -353,7 +369,7 @@ function FunktionDetailDisableFields(val)
function FunktionDetailResetFields()
{
document.getElementById('funktion-menulist-fachbereich').value='';
document.getElementById('funktion-menulist-studiengang').value='0';
document.getElementById('funktion-menulist-oe_kurzbz').value='0';
document.getElementById('funktion-menulist-semester').value='';
document.getElementById('funktion-menulist-funktion').value='ass';
}
+8 -8
View File
@@ -64,7 +64,7 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion" onclick="FunktionTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="funktion-treecol-studiengang" label="Studiengang" flex="1" hidden="false"
<treecol id="funktion-treecol-oe_kurzbz" label="Organisationseinheit" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang" onclick="FunktionTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -100,7 +100,7 @@ else
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion" />
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang" />
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#organisationseinheit" />
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#semester" />
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#uid" />
@@ -149,14 +149,14 @@ else
</menulist>
</row>
<row>
<label value="Studiengang" control="funktion-menulist-studiengang"/>
<menulist id="funktion-menulist-studiengang" disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/studiengang.rdf.php" flex="1"
ref="http://www.technikum-wien.at/studiengang/liste" >
<label value="Organisationseinheit" control="funktion-menulist-oe_kurzbz"/>
<menulist id="funktion-menulist-oe_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT;?>rdf/organisationseinheit.rdf.php" flex="1"
ref="http://www.technikum-wien.at/organisationseinheit/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiengang/rdf#studiengang_kz"
label="rdf:http://www.technikum-wien.at/studiengang/rdf#kuerzel"
<menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz"
label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#organisationseinheittyp_kurzbz rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
+14 -6
View File
@@ -245,7 +245,6 @@ if (!isset($_REQUEST["archive"]))
}
else
{
$uid = $_REQUEST["uid"];
$ss = $_REQUEST["ss"];
$heute = date('Y-m-d');
@@ -298,21 +297,25 @@ else
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
if (!$fo2pdf->generatePdf($buffer, $filename, 'F'))
{
echo('Failed to generate PDF');
}
$file = "/tmp/".$filename.".pdf";
}
$handle = fopen($file, "rb");
$string = fread($handle, filesize($file));
fclose($handle);
//$string = file_get_contents($file);
unlink($file);
$hex="";
for ($i=0;$i<strlen($string);$i++)
$hex.=(strlen(dechex(ord($string[$i])))<2)? "0".dechex(ord($string[$i])): dechex(ord($string[$i]));
for ($i=0;$i<mb_strlen($string);$i++)
$hex.=(mb_strlen(dechex(ord(mb_substr($string,$i,1)))<2)? "0".dechex(ord(mb_substr($string,$i,1))): dechex(ord(mb_substr($string,$i,1))));
$hex = base64_encode($string);
$akte = new akte();
$akte->person_id = $person_id;
$akte->dokument_kurzbz = "Zeugnis";
@@ -330,9 +333,14 @@ else
$akte->uid = $uid;
$akte->new = true;
if (!$akte->save())
return true;
else
{
echo 'Erstellen Fehlgeschlagen: '.$akte->errormsg;
return false;
}
else
{
return true;
}
}
else
echo 'Keine Berechtigung zum Speichern';
+2 -2
View File
@@ -86,7 +86,7 @@ $qry = "
SELECT (SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
WHERE uid=COALESCE(koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
WHERE fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz AND
studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
funktion_kurzbz='fbk' LIMIT 1
)
)
@@ -246,7 +246,7 @@ if($result = $db->db_query($qry))
(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
WHERE uid=COALESCE(koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
WHERE fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz AND
studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
funktion_kurzbz='fbk' LIMIT 1
)
)
+3 -1
View File
@@ -30,6 +30,7 @@ require_once('../include/benutzerberechtigung.class.php');
require_once('../include/log.class.php');
require_once('../include/benutzerfunktion.class.php');
require_once('../include/stundenplan.class.php');
require_once('../include/studiengang.class.php');
$user = get_uid();
@@ -136,8 +137,9 @@ if(!$error)
else
{
$obj = new benutzerfunktion();
$stg_obj = new studiengang($_POST['studiengang_kz']);
//Benutzerfunktion suchen
if($obj->getBenutzerFunktion($_POST['uid'], 'lkt', $_POST['studiengang_kz']))
if($obj->getBenutzerFunktion($_POST['uid'], 'lkt', $stg_obj->oe_kurzbz))
{
//Benutzerfunktion loeschen
if($obj->delete($obj->benutzerfunktion_id))
+5 -4
View File
@@ -24,6 +24,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/organisationseinheit.class.php');
require_once(dirname(__FILE__).'/studiengang.class.php');
require_once(dirname(__FILE__).'/fachbereich.class.php');
require_once(dirname(__FILE__).'/functions.inc.php');
class benutzerberechtigung extends basis_db
{
@@ -208,7 +209,7 @@ class benutzerberechtigung extends basis_db
$qry = "SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
@@ -220,7 +221,7 @@ class benutzerberechtigung extends basis_db
SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
@@ -234,7 +235,7 @@ class benutzerberechtigung extends basis_db
SELECT
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
@@ -273,7 +274,7 @@ class benutzerberechtigung extends basis_db
$b->funktion_kurzbz=$row->funktion_kurzbz;
$b->rolle_kurzbz = $row->rolle_kurzbz;
$b->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$b->art=$row->art;
$b->art=intersect($row->art, $row->art1);
$b->oe_kurzbz = $oe_kurzbz;
$b->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$b->start=$row->start;
+85 -88
View File
@@ -24,45 +24,45 @@
* @create 04-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class benutzerfunktion extends basis_db
{
var $new; // @var boolean
var $errormsg; // @var string
var $result = array(); // @var benutzerfunktion Objekt
public $new; // boolean
public $result = array(); // benutzerfunktion Objekt
//Tabellenspalten
var $benutzerfunktion_id; // @var serial
var $fachbereich_kurzbz; // @var integer
var $uid; // @var varchar(16)
var $studiengang_kz; // @var integer
var $funktion_kurzbz; // @var varchar(16)
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
var $ext_id; // @var bigint
var $semester; // @var smallint
public $benutzerfunktion_id;// serial
public $fachbereich_kurzbz; // integer
public $uid; // varchar(16)
public $oe_kurzbz; // varchar(32)
public $funktion_kurzbz; // varchar(16)
public $updateamum; // timestamp
public $updatevon=0; // string
public $insertamum; // timestamp
public $insertvon=0; // string
public $ext_id; // bigint
public $semester; // smallint
// **********************************************************
// * Konstruktor
// * @param $conn Connection zur DB
// * $benutzerfunktion_id ID der zu ladenden Funktion
// **********************************************************
function __construct($benutzerfunktion_id=null)
/**
* Konstruktor
* @param $conn Connection zur DB
* $benutzerfunktion_id ID der zu ladenden Funktion
*/
public function __construct($benutzerfunktion_id=null)
{
parent::__construct();
if($benutzerfunktion_id != null)
$this->load($benutzerfunktion_id);
}
// *********************************************
// * Laedt alle verfuegbaren Benutzerfunktionen
// * @return true wenn ok, false im Fehlerfall
// *********************************************
function getAll()
/**
* Laedt alle verfuegbaren Benutzerfunktionen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll()
{
$qry = 'SELECT * FROM public.tbl_benutzerfunktion ORDER BY benutzerfunktion_id;';
@@ -92,13 +92,14 @@ class benutzerfunktion extends basis_db
return true;
}
// *********************************
// * Prueft ob der Benutzer $uid die
// * Funktion $benutzerfunktion hat
// *********************************
function benutzerfunktion_exists($uid, $benutzerfunktion)
/**
* Prueft ob der Benutzer $uid die
* Funktion $benutzerfunktion hat
*/
public function benutzerfunktion_exists($uid, $benutzerfunktion)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzerfunktion WHERE uid='".addslashes($uid)."' AND funktion_kurzbz='".addslashes($benutzerfunktion)."'";
$qry = "SELECT count(*) as anzahl FROM public.tbl_benutzerfunktion
WHERE uid='".addslashes($uid)."' AND funktion_kurzbz='".addslashes($benutzerfunktion)."'";
if($row = $this->db_fetch_object($this->db_query($qry)))
{
@@ -114,15 +115,17 @@ class benutzerfunktion extends basis_db
}
}
// *********************************
// * Laedt eine BenutzerFunktion
// * @param uid, funktion_kurzbz, studiengang_kz
// * @return false wenn nicht vorhanden oder fehler
// * sonst true
// *********************************
function getBenutzerFunktion($uid, $funktion_kurzbz, $studiengang_kz)
/**
* Laedt eine BenutzerFunktion
* @param uid, funktion_kurzbz, oe_kurzbz
* @return false wenn nicht vorhanden oder fehler
* sonst true
*/
public function getBenutzerFunktion($uid, $funktion_kurzbz, $oe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".addslashes($uid)."' AND funktion_kurzbz='".addslashes($funktion_kurzbz)."' AND studiengang_kz='".addslashes($studiengang_kz)."'";
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE uid='".addslashes($uid)."' AND funktion_kurzbz='".addslashes($funktion_kurzbz)."'
AND oe_kurzbz='".addslashes($oe_kurzbz)."'";
if($result = $this->db_query($qry))
{
@@ -153,33 +156,33 @@ class benutzerfunktion extends basis_db
}
}
// *********************************
// * Laedt mehrere BenutzerFunktionen
// * @param funktion_kurzbz, studiengang_kz, semester
// * @return false wenn nicht vorhanden oder fehler
// * sonst true
// *********************************
function getBenutzerFunktionen($funktion_kurzbz, $studiengang_kz='', $semester='')
/**
* Laedt mehrere BenutzerFunktionen
* @param funktion_kurzbz, studiengang_kz, semester
* @return false wenn nicht vorhanden oder fehler
* sonst true
*/
public function getBenutzerFunktionen($funktion_kurzbz, $oe_kurzbz='', $semester='')
{
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE funktion_kurzbz='".addslashes($funktion_kurzbz)."'";
if($studiengang_kz!='')
$qry.=" AND studiengang_kz='".addslashes($studiengang_kz)."'";
if($oe_kurzbz!='')
$qry.=" AND oe_kurzbz='".addslashes($oe_kurzbz)."'";
if($semester!='')
$qry.=" AND semester='".addslashes($semester)."'";
$qry.=" ORDER BY funktion_kurzbz, studiengang_kz, semester";
$qry.=" ORDER BY funktion_kurzbz, oe_kurzbz, semester";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new benutzerfunktion(null, null);
$obj = new benutzerfunktion();
$obj->benutzerfunktion_id = $row->benutzerfunktion_id;
$obj->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$obj->uid = $row->uid;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->funktion_kurzbz = $row->funktion_kurzbz;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
@@ -199,16 +202,16 @@ class benutzerfunktion extends basis_db
}
}
// *********************************************************
// * Laedt eine Benutzerfunktion
// * @param $bnutzerfunktion_id ID der zu ladenden Funktion
// * @return true wenn ok, false im Fehlerfall
// *********************************************************
function load($benutzerfunktion_id)
/**
* Laedt eine Benutzerfunktion
* @param $bnutzerfunktion_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function load($benutzerfunktion_id)
{
if($benutzerfunktion_id == '')
if($benutzerfunktion_id == '' || !is_numeric($benutzerfunktion_id))
{
$this->errormsg = 'benutzerfunktion_id muß eine gültige Zahl sein';
$this->errormsg = 'benutzerfunktion_id muss eine gueltige Zahl sein';
return false;
}
@@ -225,7 +228,7 @@ class benutzerfunktion extends basis_db
$this->benutzerfunktion_id = $row->benutzerfunktion_id;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->uid = $row->uid;
$this->studiengang_kz = $row->studiengang_kz;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->funktion_kurzbz = $row->funktion_kurzbz;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
@@ -242,13 +245,19 @@ class benutzerfunktion extends basis_db
return true;
}
// ****************************************************************************
// * Loescht einen Datensatz
// * @param $fbenutzerfunktion_id id des Datensatzes der geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ****************************************************************************
function delete($benutzerfunktion_id)
/**
* Loescht einen Datensatz
* @param $fbenutzerfunktion_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($benutzerfunktion_id)
{
if(!is_numeric($benutzerfunktion_id) || $benutzerfunktion_id=='')
{
$this->errormsg='Benutzerfunktion_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM public.tbl_benutzerfunktion WHERE benutzerfunktion_id='$benutzerfunktion_id'";
if(!$this->db_query($qry))
{
@@ -258,25 +267,13 @@ class benutzerfunktion extends basis_db
else
return true;
}
// *******************************************
// * Prueft die Gueltigkeit der Variablen
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function addslashes($var)
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************
// * Speichert den aktuellen Datensatz
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function save($new=null)
{
//Gueltigkeit der Variablen pruefen
//if(!$this->checkvars())
// return false;
if($new==null)
$new = $this->new;
@@ -298,11 +295,11 @@ class benutzerfunktion extends basis_db
return false;
}
}
$qry = 'BEGIN;INSERT INTO public.tbl_benutzerfunktion (fachbereich_kurzbz, uid, studiengang_kz, funktion_kurzbz, insertamum, insertvon,
$qry = 'BEGIN;INSERT INTO public.tbl_benutzerfunktion (fachbereich_kurzbz, uid, oe_kurzbz, funktion_kurzbz, insertamum, insertvon,
updateamum, updatevon, semester) VALUES ('.
$this->addslashes($this->fachbereich_kurzbz).', '.
$this->addslashes($this->uid).', '.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->oe_kurzbz).', '.
$this->addslashes($this->funktion_kurzbz).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
@@ -325,7 +322,7 @@ class benutzerfunktion extends basis_db
'benutzerfunktion_id='.$this->addslashes($this->benutzerfunktion_id).', '.
'fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).', '.
'uid='.$this->addslashes($this->uid).', '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).', '.
'oe_kurzbz='.$this->addslashes($this->oe_kurzbz).', '.
'funktion_kurzbz='.$this->addslashes($this->funktion_kurzbz).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
+19
View File
@@ -389,4 +389,23 @@ function checkldapuser($username,$password)
@ldap_close($connect);
return(false);
}
//Berechnet die Schnittmenge zweier Strings
function intersect($str1, $str2)
{
if (mb_strlen($str1) > mb_strlen($str2))
$size = mb_strlen($str1);
else
$size = mb_strlen($str2);
$intersect = null;
for ($i=0; $i<$size; $i++)
{
if (mb_substr($str1, $i, 1) == mb_substr($str2, $i, 1))
$intersect.= mb_substr($str1, $i, 1);
}
return $intersect;
}
?>
+15 -12
View File
@@ -339,7 +339,10 @@ class mitarbeiter extends benutzer
}
if (!is_null($stg_kz))
$sql_query.=' AND studiengang_kz='.$stg_kz;
{
$stg = new studiengang($stg_kz);
$sql_query.=' AND oe_kurzbz='.$stg->oe_kurzbz;
}
$sql_query.=' ORDER BY nachname, vornamen, kurzbz';
@@ -395,8 +398,8 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz)
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, tbl_benutzerfunktion.studiengang_kz FROM campus.vw_mitarbeiter
JOIN public.tbl_benutzerfunktion USING (uid)
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz FROM campus.vw_mitarbeiter
JOIN public.tbl_benutzerfunktion USING (uid) JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE true';
if(!is_null($lektor))
{
@@ -899,7 +902,7 @@ class mitarbeiter extends benutzer
$uid=$this->uid;
// Suche in Instituten
$qry = "SELECT CASE WHEN fachbereich_kurzbz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE fachbereich_kurzbz=a.fachbereich_kurzbz AND funktion_kurzbz='fbl' LIMIT 1)
WHEN studiengang_kz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE studiengang_kz=a.studiengang_kz AND funktion_kurzbz='stgl' LIMIT 1)
WHEN studiengang_kz is not null THEN (SELECT uid FROM public.tbl_benutzerfunktion WHERE oe_kurzbz=a.oe_kurzbz AND funktion_kurzbz='stgl' LIMIT 1)
ELSE ''
END as vorgesetzter
FROM public.tbl_benutzerfunktion a WHERE funktion_kurzbz='oezuordnung' AND uid='".addslashes($uid)."'";
@@ -924,14 +927,14 @@ class mitarbeiter extends benutzer
}
// ************************
// * gibt die UIDs der Untergebenen zurck
// * gibt die UIDs der Untergebenen zurueck
// ************************
public function getUntergebene($uid=null)
{
if (is_null($uid))
$uid=$this->uid;
//Alle Studiengnge und Fachbereiche holen bei denen die Person die Leitung hat
//Alle Studiengaenge und Fachbereiche holen bei denen die Person die Leitung hat
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($uid)."'";
@@ -950,9 +953,9 @@ class mitarbeiter extends benutzer
}
elseif($row->funktion_kurzbz=='stgl')
{
if($stge!='')
$stge.=',';
$stge.="'".$row->studiengang_kz."'";
if($oe!='')
$oe.=',';
$oe.="'".$row->oe_kurzbz."'";
}
}
@@ -963,13 +966,13 @@ class mitarbeiter extends benutzer
if($institut!='')
$qry.=" OR fachbereich_kurzbz in($institut)";
if($stge!='')
$qry.=" OR studiengang_kz in($stge)";
if($oe!='')
$qry.=" OR oe_kurzbz in($oe)";
$qry.=")) ";
if($stge!='')
$qry.=" OR (funktion_kurzbz='ass' AND studiengang_kz in($stge))";
$qry.=" OR (funktion_kurzbz='ass' AND oe_kurzbz in($oe))";
if($this->db_query($qry))
{
+26
View File
@@ -51,6 +51,32 @@ class organisationseinheit extends basis_db
}
public function getAll()
{
$qry = "SELECT * FROM public.tbl_organisationseinheit ORDER BY organisationseinheittyp_kurzbz, oe_kurzbz";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
/**
* Laedt eine Organisationseinheit
* @param $oe_kurzbz
+6 -6
View File
@@ -257,7 +257,7 @@
//URLAUBE
//Untergebene holen
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE (funktion_kurzbz='fbl' OR funktion_kurzbz='stgl') AND uid='".addslashes($user)."'";
$oe='';
if($result = $db->db_query($qry))
{
$institut='';
@@ -273,9 +273,9 @@
}
elseif($row->funktion_kurzbz=='stgl')
{
if($stge!='')
$stge.=',';
$stge.="'".$row->studiengang_kz."'";
if($oe!='')
$oe.=',';
$oe.="'".$row->oe_kurzbz."'";
}
}
@@ -285,8 +285,8 @@
if($institut!='')
$qry.=" OR fachbereich_kurzbz in($institut)";
if($stge!='')
$qry.=" OR studiengang_kz in($stge)";
if($oe!='')
$qry.=" OR oe_kurzbz in($oe)";
$qry.=")";
+4 -8
View File
@@ -32,6 +32,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../config/vilesci.config.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/funktion.class.php');
require_once('../include/organisationseinheit.class.php');
$rdf_url='http://www.technikum-wien.at/bnfunktion';
@@ -48,12 +49,6 @@ $benutzerfunktion_id = (isset($_GET['benutzerfunktion_id'])?$_GET['benutzerfunkt
$stg_arr = array();
$fkt_arr = array();
$stg = new studiengang();
$stg->getAll(null, false);
foreach ($stg->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
$fkt = new funktion();
$fkt->getAll();
@@ -74,14 +69,15 @@ if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$oe = new organisationseinheit($row->oe_kurzbz);
echo '
<RDF:li>
<RDF:Description id="'.$row->benutzerfunktion_id.'" about="'.$rdf_url.'/'.$row->benutzerfunktion_id.'" >
<BNFUNKTION:benutzerfunktion_id><![CDATA['.$row->benutzerfunktion_id.']]></BNFUNKTION:benutzerfunktion_id>
<BNFUNKTION:fachbereich_kurzbz><![CDATA['.$row->fachbereich_kurzbz.']]></BNFUNKTION:fachbereich_kurzbz>
<BNFUNKTION:uid><![CDATA['.$row->uid.']]></BNFUNKTION:uid>
<BNFUNKTION:studiengang_kz><![CDATA['.$row->studiengang_kz.']]></BNFUNKTION:studiengang_kz>
<BNFUNKTION:studiengang><![CDATA['.$stg_arr[$row->studiengang_kz].']]></BNFUNKTION:studiengang>
<BNFUNKTION:oe_kurzbz><![CDATA['.$row->oe_kurzbz.']]></BNFUNKTION:oe_kurzbz>
<BNFUNKTION:organisationseinheit><![CDATA['.$oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung.']]></BNFUNKTION:organisationseinheit>
<BNFUNKTION:semester><![CDATA['.$row->semester.']]></BNFUNKTION:semester>
<BNFUNKTION:funktion_kurzbz><![CDATA['.$row->funktion_kurzbz.']]></BNFUNKTION:funktion_kurzbz>
<BNFUNKTION:funktion><![CDATA['.$fkt_arr[$row->funktion_kurzbz].']]></BNFUNKTION:funktion>
+3 -3
View File
@@ -164,8 +164,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo " <auslandssemester>Auslandssemester/International semester ".$datum->convertISODate($row1->von)." - ".$datum->convertISODate($row1->bis)."</auslandssemester>";
}
}
$qry = "SELECT * FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE studiengang_kz='$row->studiengang_kz' AND funktion_kurzbz='stgl'";
$stg_oe_obj = new studiengang($row->studiengang_kz);
$qry = "SELECT * FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE oe_kurzbz='$stg_oe_obj->oe_kurzbz' AND funktion_kurzbz='stgl'";
if($db->db_query($qry))
{
if($row1 = $db->db_fetch_object())
@@ -174,7 +174,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
$qry = "SELECT telefonklappe FROM public.tbl_mitarbeiter JOIN tbl_benutzerfunktion ON(uid=mitarbeiter_uid) WHERE funktion_kurzbz='ass' AND studiengang_kz='$row->studiengang_kz'";
$qry = "SELECT telefonklappe FROM public.tbl_mitarbeiter JOIN tbl_benutzerfunktion ON(uid=mitarbeiter_uid) WHERE funktion_kurzbz='ass' AND oe_kurzbz='$stg_oe_obj->oe_kurzbz'";
if($db->db_query($qry))
{
if($row1 = $db->db_fetch_object())
+3 -2
View File
@@ -136,7 +136,7 @@ if(!$result = $db->db_query($qry))
SELECT
COALESCE(koordinator, uid) as koordinator
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion, public.tbl_studiensemester
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion, public.tbl_studiensemester, public.tbl_studiengang
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id='$row_lva->lehrveranstaltung_id' AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -144,7 +144,8 @@ if(!$result = $db->db_query($qry))
tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_lehreinheit.studiensemester_kurzbz=tbl_studiensemester.studiensemester_kurzbz AND
tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz ORDER BY tbl_studiensemester.ende DESC LIMIT 1 ) ";
tbl_benutzerfunktion.oe_kurzbz=tbl_studiengang.oe_kurzbz AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz ORDER BY tbl_studiensemester.ende DESC LIMIT 1 ) ";
if(!$result_fbk = $db->db_query($qry_fbk))
die('Fehlerhafte Abfrage');
+66
View File
@@ -0,0 +1,66 @@
<?php
/* Copyright (C) 2009 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> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../config/vilesci.config.inc.php');
require_once('../include/organisationseinheit.class.php');
// raumtypen holen
$org=new organisationseinheit();
$org->getAll();
$rdf_url='http://www.technikum-wien.at/organisationseinheit';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ORGANISATIONSEINHEIT="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
foreach ($org->result as $oe)
{
echo '
<RDF:li>
<RDF:Description id="'.$oe->oe_kurzbz.'" about="'.$rdf_url.'/'.$oe->oe_kurzbz.'" >
<ORGANISATIONSEINHEIT:oe_kurzbz><![CDATA['.$oe->oe_kurzbz.']]></ORGANISATIONSEINHEIT:oe_kurzbz>
<ORGANISATIONSEINHEIT:oe_parent_kurzbz><![CDATA['.$oe->oe_parent_kurzbz.']]></ORGANISATIONSEINHEIT:oe_parent_kurzbz>
<ORGANISATIONSEINHEIT:bezeichnung><![CDATA['.$oe->bezeichnung.']]></ORGANISATIONSEINHEIT:bezeichnung>
<ORGANISATIONSEINHEIT:organisationseinheittyp_kurzbz><![CDATA['.$oe->organisationseinheittyp_kurzbz.']]></ORGANISATIONSEINHEIT:organisationseinheittyp_kurzbz>
</RDF:Description>
</RDF:li>';
}
?>
</RDF:Seq>
</RDF:RDF>
+2 -1
View File
@@ -63,11 +63,12 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
if($semester_aktuell=='')
$studiensemester_aktuell='';
$stg_oe_obj = new studiengang($row->studiengang_kz);
$stgl_query = "SELECT titelpre, titelpost, vorname, nachname
FROM public.tbl_person, public.tbl_benutzer, public.tbl_benutzerfunktion
WHERE tbl_person.person_id = tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_benutzerfunktion.uid
AND tbl_benutzerfunktion.funktion_kurzbz = 'stgl'
AND tbl_benutzerfunktion.studiengang_kz = '".$row->studiengang_kz."'";
AND tbl_benutzerfunktion.oe_kurzbz = '".$stg_oe_obj->oe_kurzbz."'";
if($db->db_query($stgl_query))
$stgl_row = $db->db_fetch_object();
+3 -2
View File
@@ -28,6 +28,7 @@ require_once('../include/zeugnisnote.class.php');
require_once('../include/datum.class.php');
require_once('../include/note.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/studiengang.class.php');
$datum = new datum();
$db = new basis_db();
@@ -164,11 +165,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
else
die('Student not found');
$stg_oe_obj = new studiengang($row->studiengang_kz);
$stgl_query = "SELECT titelpre, titelpost, vorname, nachname FROM tbl_person, tbl_benutzer, tbl_benutzerfunktion
WHERE tbl_person.person_id = tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_benutzerfunktion.uid
AND tbl_benutzerfunktion.funktion_kurzbz = 'stgl'
AND tbl_benutzerfunktion.studiengang_kz = '".$row->studiengang_kz."'";
AND tbl_benutzerfunktion.oe_kurzbz = '".$stg_oe_obj->oe_kurzbz."'";
if($db->db_query($stgl_query))
$stgl_row = $db->db_fetch_object();
else
+2 -1
View File
@@ -120,11 +120,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
else
die('Student not found');
$stg_oe_obj = new studiengang($row->studiengang_kz);
$stgl_query = "SELECT titelpre, titelpost, vorname, nachname
FROM tbl_person, tbl_benutzer, tbl_benutzerfunktion
WHERE tbl_person.person_id = tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_benutzerfunktion.uid
AND tbl_benutzerfunktion.funktion_kurzbz = 'stgl'
AND tbl_benutzerfunktion.studiengang_kz = '".addslashes($row->studiengang_kz)."'";
AND tbl_benutzerfunktion.oe_kurzbz = '".addslashes($stg_oe_obj->oe_kurzbz)."'";
if($stgl_result = $db->db_query($stgl_query))
$stgl_row = $db->db_fetch_object($stgl_result);
+1 -1
View File
@@ -177,7 +177,7 @@ if($result = $db->db_query($qry))
Grant select on testtool.vw_auswertung_kategorie to group "admin";
Grant select on testtool.vw_auswertung_kategorie to group "web";
Grant select on vw_studiensemester to group "admin";
Grant select on public.vw_benutzerfunktion to group "admin";
--Grant select on public.vw_benutzerfunktion to group "admin";
Grant select on public.vw_prestudent to group "admin";
GRANT SELECT ON public.vw_prestudent to group web;
GRANT SELECT ON lehre.vw_stundenplandev_student_unr TO GROUP web;
+248
View File
@@ -0,0 +1,248 @@
<?php
/* Copyright (C) 2009 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> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*
*/
/**
* Dieses Script veraendert die Datenbank, damit die Dokumente (PDFs, Bilder, etc) die in
* der Datenbank gespeichert sind, nicht mehr HEX codiert, sondern base64 Codiert sind
*
* !!! Dieses Script muss von der CommandLine gestartet werden da es sonst zu einem Timeout kommt !!!
*/
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
$db = new basis_db();
//Hexcode in String umwandeln
function hexstr($hex)
{
$string="";
for ($i=0;$i<mb_strlen($hex)-1;$i+=2)
$string.=chr(hexdec(mb_substr($hex,$i,1).mb_substr($hex,$i+1,1)));
return $string;
}
function convert($string)
{
return base64_encode(hexstr($string));
}
$db->db_query('BEGIN');
echo 'tbl_akte...<br>';
flush();
//Akte
$qry = "SELECT akte_id, inhalt FROM public.tbl_akte";
$i=0;
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$i++;
$qry = "UPDATE public.tbl_akte SET inhalt='".convert($row->inhalt)."' WHERE akte_id='".$row->akte_id."'";
if($i==10)
{
echo'<br>';
$i=0;
}
echo $row->akte_id,', ';
flush();
$db->db_query($qry);
}
}
echo 'tbl_person...<br>';
flush();
//Person
$qry = "SELECT foto, person_id FROM public.tbl_person WHERE foto is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE public.tbl_person SET foto='".convert($row->foto)."' WHERE person_id='".$row->person_id."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_frage_sprache.bild...<br>';
flush();
//Testtool - tbl_frage_sprache.bild
$qry = "SELECT bild, frage_id, sprache FROM testtool.tbl_frage_sprache WHERE bild is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE testtool.tbl_frage_sprache SET bild='".convert($row->bild)."' WHERE frage_id='".$row->frage_id."' AND sprache='".$row->sprache."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_frage_sprache.audio...<br>';
flush();
//Testtool - tbl_frage_sprache.audio
$qry = "SELECT audio, frage_id, sprache FROM testtool.tbl_frage_sprache WHERE audio is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE testtool.tbl_frage_sprache SET audio='".convert($row->audio)."' WHERE frage_id='".$row->frage_id."' AND sprache='".$row->sprache."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_vorschlag_sprache.bild...<br>';
flush();
//Testtool - tbl_vorschlag_sprache.bild
$qry = "SELECT bild, frage_id, sprache FROM testtool.tbl_vorschlag_sprache WHERE bild is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE testtool.tbl_vorschlag_sprache SET bild='".convert($row->bild)."' WHERE frage_id='".$row->frage_id."' AND sprache='".$row->sprache."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_vorschlag_sprache.audio...<br>';
flush();
//Testtool - tbl_vorschlag_sprache.audio
$qry = "SELECT audio, frage_id, sprache FROM testtool.tbl_vorschlag_sprache WHERE audio is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE testtool.tbl_vorschlag_sprache SET audio='".convert($row->audio)."' WHERE frage_id='".$row->frage_id."' AND sprache='".$row->sprache."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_wettbewerb...<br>';
flush();
//Kommune tbl_wettbewerb
$qry = "SELECT icon, wettbewerb_kurzbz FROM kommune.tbl_wettbewerb WHERE icon is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE kommune.tbl_wettbewerb SET icon='".convert($row->icon)."' WHERE wettbewerb_kurzbz='".$row->wettbewerb_kurzbz."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_team...<br>';
flush();
//Kommune tbl_team
$qry = "SELECT logo, team_kurzbz FROM kommune.tbl_team WHERE logo is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE kommune.tbl_team SET logo='".convert($row->logo)."' WHERE team_kurzbz='".$row->team_kurzbz."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_sprache...<br>';
flush();
//tbl_sprache
$qry = "SELECT flagge, sprache FROM public.tbl_sprache WHERE flagge is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE public.tbl_sprache SET flagge='".convert($row->flagge)."' WHERE sprache='".$row->sprache."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
echo 'tbl_erhalter...<br>';
flush();
//tbl_erhalter
$qry = "SELECT logo, erhalter_kz FROM public.tbl_erhalter WHERE logo is not null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry = "UPDATE public.tbl_erhalter SET logo='".convert($row->logo)."' WHERE erhalter_kz='".$row->erhalter_kz."'";
if(!$db->db_query($qry))
{
die('Error:'.$db->db_last_error().$qry);
$db->db_query('ROLLBACK');
}
}
}
if(!$db->db_query('COMMIT'))
echo 'ERROR:'.$db->db_last_error();
else
echo '<b>Aktualisierung abgeschlossen</b>';
?>
+1 -1
View File
@@ -320,7 +320,7 @@ $error_msg='';
}
// Studenten holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz Like '%_STDV')";
$sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.studiengang_kz LIMIT 1) AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.studiengang_kz LIMIT 1) AND gruppe_kurzbz Like '%_STDV')";
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
while($row = $db->db_fetch_object($result))
+7 -1
View File
@@ -189,7 +189,7 @@ if(!@$db->db_query('SELECT * FROM public.tbl_organisationseinheit LIMIT 1;'))
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ZentrServices','Infrastruktur','ZentraleServices','Abteilung');
-- Alle noch nicht eingetragenen Institute und Studiengaenge direkt unter etw haengen
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) SELECT lower(typ::varchar(1) || kurzbz), 'etw', lower(typ::varchar(1) || kurzbz), 'Studiengang' FROM public.tbl_studiengang WHERE lower(typ::varchar(1) || kurzbz) not in (SELECT oe_kurzbz FROM public.tbl_organisationseinheit) AND studiengang_kz<>999;
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) SELECT lower(typ::varchar(1) || kurzbz), 'etw', UPPER(typ::varchar(1) || kurzbz), 'Studiengang' FROM public.tbl_studiengang WHERE lower(typ::varchar(1) || kurzbz) not in (SELECT oe_kurzbz FROM public.tbl_organisationseinheit) AND studiengang_kz<>999;
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) SELECT fachbereich_kurzbz, 'etw', bezeichnung, 'Institut' FROM public.tbl_fachbereich WHERE fachbereich_kurzbz not in (SELECT oe_kurzbz FROM public.tbl_organisationseinheit);
-- Eintraege in Tabelle Studiengang und Fachbereich
@@ -208,6 +208,10 @@ if(!@$db->db_query('SELECT * FROM public.tbl_organisationseinheit LIMIT 1;'))
if(!@$db->db_query('SELECT * FROM system.tbl_berechtigung LIMIT 1;'))
{
$qry = "CREATE SCHEMA system;
GRANT USAGE ON SCHEMA system TO GROUP ".DB_CIS_USER_GROUP.";
GRANT USAGE ON SCHEMA system TO GROUP ".DB_FAS_USER_GROUP.";
CREATE TABLE system.tbl_benutzerrolle
(
benutzerberechtigung_id serial NOT NULL,
@@ -314,6 +318,8 @@ if(!@$db->db_query('SELECT * FROM system.tbl_berechtigung LIMIT 1;'))
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('preinteressent','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('veranstaltung','admin','suid');
-- Bei alle ohne oe_kurzbz die Organisaitonseinheit auf etw setzen (admins)
UPDATE system.tbl_benutzerrolle SET oe_kurzbz='etw' WHERE oe_kurzbz is null;
";
if(!$db->db_query($qry))
+1 -1
View File
@@ -196,7 +196,7 @@ if($result = $db->db_query($qry))
<BeschaeftigungsAusmass>".$rowvw->beschausmasscode."</BeschaeftigungsAusmass>
<VerwendungsCode>".$rowvw->verwendung_code."</VerwendungsCode>";
//Studiengangsleiter
$qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl' AND studiengang_kz<10000;";
$qryslt="SELECT tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl' AND studiengang_kz<10000;";
if($resultslt=$db->db_query($qryslt))
{
while($rowslt=$db->db_fetch_object($resultslt))
+10 -10
View File
@@ -59,9 +59,9 @@ if ($type=='new' || $type=='editsave')
$funktion=new benutzerfunktion();
$funktion->uid=$_POST['uid'];
$funktion->funktion_kurzbz=$_POST['kurzbz'];
if (isset($_POST['stg_kz']) && $_POST['stg_kz']!=-1)
if (isset($_POST['oe_kurzbz']) && $_POST['oe_kurzbz']!=-1)
{
$funktion->studiengang_kz=$_POST['stg_kz'];
$funktion->oe_kurzbz=$_POST['oe_kurzbz'];
if (isset($_POST['fb_kurzbz']) && $_POST['fb_kurzbz']!=-1)
{
@@ -121,7 +121,7 @@ $result_person=$db->db_query($sql_query);
if(!$result_person)
die ($db->db_last_error());
// Daten für Studiengangauswahl
$sql_query="SELECT studiengang_kz, UPPER(typ::varchar(1) || kurzbz) as kurzbz, bezeichnung FROM public.tbl_studiengang ORDER BY kurzbz";
$sql_query="SELECT oe_kurzbz, oe_kurzbz as kurzbz, bezeichnung FROM public.tbl_organisationseinheit ORDER BY kurzbz";
$result_stg=$db->db_query($sql_query);
if(!$result_stg)
die ($db->db_last_error());
@@ -158,7 +158,7 @@ if (!$funktion->load($kurzbz))
WHERE funktion_kurzbz='".addslashes($kurzbz)."' AND
tbl_benutzerfunktion.uid=tbl_benutzer.uid AND
tbl_benutzer.person_id=tbl_person.person_id AND
tbl_benutzerfunktion.studiengang_kz=tbl_studiengang.studiengang_kz";
tbl_benutzerfunktion.oe_kurzbz=tbl_studiengang.oe_kurzbz";
if($result = $db->db_query($qry))
{
@@ -172,8 +172,8 @@ if (!$funktion->load($kurzbz))
echo "<td>".$row->uid."</td>";
echo "<td>".$row->studiengang_kurzbz."</td>";
echo "<td>".$row->fachbereich_kurzbz."</td>";
echo "<td><a href=\"funktion_det.php?type=edit&kurzbz=$kurzbz&uid=".$row->uid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&stg_kz=$row->studiengang_kz\">Edit</a></td>";
echo "<td><a href=\"funktion_det.php?type=delete&kurzbz=$kurzbz&uid=".$row->uid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&stg_kz=$row->studiengang_kz\">Delete</a></td>";
echo "<td><a href=\"funktion_det.php?type=edit&kurzbz=$kurzbz&uid=".$row->uid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz\">Edit</a></td>";
echo "<td><a href=\"funktion_det.php?type=delete&kurzbz=$kurzbz&uid=".$row->uid."&bn_funktion_id=$row->benutzerfunktion_id&fb_kurzbz=$row->fachbereich_kurzbz&oe_kurzbz=$row->oe_kurzbz\">Delete</a></td>";
echo "</tr>\n";
}
@@ -215,16 +215,16 @@ if (!$funktion->load($kurzbz))
}
?>
</SELECT></td></tr>
<tr><td>Studiengang: </td><td>
<SELECT name="stg_kz">
<tr><td>Organisationseinheit: </td><td>
<SELECT name="oe_kurzbz">
<option value="-1">- auswählen -</option>
<?php
// Auswahl des Studiengangs
$num_rows=$db->db_num_rows($result_stg);
while($row=$db->db_fetch_object ($result_stg))
{
echo "<option value=\"$row->studiengang_kz\" ";
if (($type=='edit') && ($row->studiengang_kz==$_GET['stg_kz']) && isset($_GET['stg_kz']))
echo "<option value=\"$row->oe_kurzbz\" ";
if (($type=='edit') && ($row->oe_kurzbz==$_GET['oe_kurzbz']) && isset($_GET['oe_kurzbz']))
echo 'selected ';
echo ">$row->kurzbz</option>";
}