This commit is contained in:
Andreas Österreicher
2007-08-29 06:51:10 +00:00
parent a65ec26569
commit e9371e0a16
16 changed files with 871 additions and 7 deletions
+7
View File
@@ -89,6 +89,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<command id="menu-dokumente-studienerfolg-normal:command" oncommand="StudentCreateStudienerfolg();"/>
<command id="menu-dokumente-studienerfolg-finanzamt:command" oncommand="StudentCreateStudienerfolg('finanzamt');"/>
<command id="menu-extras-reihungstest:command" oncommand="ExtrasShowReihungstest();"/>
<command id="menu-extras-firma:command" oncommand="ExtrasShowFirmenverwaltung();"/>
<command id="menu-help-close:command" oncommand="OpenAboutDialog()"/>
</commandset>
@@ -264,6 +265,12 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
label = "&menu-extras-reihungstest.label;"
command = "menu-extras-reihungstest:command"
accesskey = "&menu-extras-reihungstest.accesskey;"/>
<menuitem
id = "menu-extras-firma"
key = "menu-extras-firma:key"
label = "&menu-extras-firma.label;"
command = "menu-extras-firma:command"
accesskey = "&menu-extras-firma.accesskey;"/>
</menupopup>
</menu>
<menu id="menu-help" label="&menu-help.label;" accesskey="&menu-help.accesskey;">
+11
View File
@@ -727,11 +727,22 @@ function StatistikPrintNotenspiegel()
window.open('<?php echo APP_ROOT ?>content/statistik/notenspiegel.php?studiengang_kz='+studiengang_kz+'&semester='+semester,'Notenspiegel');
}
// ****
// * Zeigt HTML Seite zur Bearbeitung der Reihungstests an
// ****
function ExtrasShowReihungstest()
{
window.open('<?php echo APP_ROOT ?>vilesci/stammdaten/reihungstestverwaltung.php','Reihungstest','');
}
// ****
// * Zeigt HTML Seite zur bearbeitung der Firmen an
// ****
function ExtrasShowFirmenverwaltung()
{
window.open('<?php echo APP_ROOT ?>vilesci/stammdaten/firma_frameset.html','Firma','');
}
// ****
// * Oeffnet den About Dialog
// ****
@@ -375,9 +375,10 @@ function InteressentDokumenteFilter()
var typ=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["stsem"] : "stsem";
var stsem=tree.view.getCellText(tree.currentIndex,col);
if(typ=='')
typ='student';
stsem = getStudiensemester();
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&filter2=dokumente&"+gettimestamp();
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2=dokumente&"+gettimestamp();
var treeStudent=document.getElementById('student-tree');
//Alte DS entfernen
+3
View File
@@ -37,6 +37,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.ph
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentpruefungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentabschlusspruefungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentprojektarbeitoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentgruppenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentdokumenteoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -251,6 +252,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentdokumenteoverla
<tab id="student-tab-pruefung" label="Prüfung" />
<tab id="student-tab-abschlusspruefung" label="AbschlussPrüfung" />
<tab id="student-tab-projektarbeit" label="Projektarbeit" />
<tab id="student-tab-gruppen" label="Gruppen" onclick="StudentGruppenLoadData();"/>
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
@@ -265,6 +267,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentdokumenteoverla
<vbox id="student-pruefung" style="margin-top:10px;" />
<vbox id="student-abschlusspruefung" style="margin-top:10px;" />
<vbox id="student-projektarbeit" style="margin-top:10px;" />
<vbox id="student-gruppen" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
@@ -0,0 +1,171 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// *********** Globale Variablen *****************//
var StudentGruppenTreeDatasource=null; //Datasource fuer den GruppenTree
// ********** Observer und Listener ************* //
// ****
// * Observer fuer den GruppenTree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentGruppenSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-gruppen-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild des GruppenTrees
// ****
var StudentGruppenListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//Bei Bedarf Datensatz markieren
}
};
// ****************** FUNKTIONEN ************************** //
function StudentGruppenLoadData()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
tree = document.getElementById('student-gruppen-tree');
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
if(oldDatasources.hasMoreElements())
{
//Wenn Datasource bereits gesetzt ist, dann muss nicht neu geladen werden
return true;
}
//Alte Datasource entfernen
StudentGruppenRemoveDatasource();
var stsem = getStudiensemester();
uid = document.getElementById('student-detail-textbox-uid').value;
url="<?php echo APP_ROOT;?>rdf/gruppen.rdf.php?uid="+uid+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp();
try
{
StudentGruppenTreeDatasource.removeXMLSinkObserver(StudentGruppenSinkObserver);
tree.builder.removeListener(StudentGruppenListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentGruppenTreeDatasource = rdfService.GetDataSource(url);
StudentGruppenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentGruppenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StudentGruppenTreeDatasource);
StudentGruppenTreeDatasource.addXMLSinkObserver(StudentGruppenSinkObserver);
tree.builder.addListener(StudentGruppenListener);
}
// ****
// * Datasource aus GruppenTree entfernen
// ****
function StudentGruppenRemoveDatasource()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
tree = document.getElementById('student-gruppen-tree');
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
tree.builder.rebuild();
}
function StudentGruppeDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('student-gruppen-tree');
if(tree.currentIndex>=0)
i = tree.currentIndex;
else
{
alert('Bitte zuerst eine Gruppe markieren');
return;
}
col = tree.columns ? tree.columns["student-gruppen-gruppe_kurzbz"] : "student-gruppen-gruppe_kurzbz";
gruppe_kurzbz = tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["student-gruppen-uid"] : "student-gruppen-uid";
uid = tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["student-gruppen-generiert"] : "student-gruppen-generiert";
generiert = tree.view.getCellText(i,col);
if(generiert=='Ja')
{
alert('Automatisch generierte Gruppezuordnungen koennen nicht geloescht werden');
return false;
}
//Abfrage ob wirklich geloescht werden soll
if (confirm(' Student wirklich aus Gruppe '+gruppe_kurzbz+' entfernen?'))
{
//Script zum loeschen aufrufen
var req = new phpRequest('student/studentDBDML.php','','');
req.add('type','deleteGruppenzuteilung');
req.add('uid',uid);
req.add('gruppe_kurzbz', gruppe_kurzbz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if(!val.dbdml_return)
alert(val.dbdml_errormsg)
StudentGruppenTreeDatasource.Refresh(false);
}
}
@@ -0,0 +1,94 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="interessent-dokumente-overlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentgruppenoverlay.js.php" />
<!-- Dokumente Overlay -->
<vbox id="student-gruppen" style="overflow:auto; margin:0px;" flex="1">
<popupset>
<popup id="student-gruppe-tree-popup">
<menuitem label="Entfernen" oncommand="StudentGruppeDelete();" id="student-gruppe-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<hbox flex="1">
<groupbox flex="1">
<caption label="Gruppen"/>
<tree id="student-gruppen-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/gruppen/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:10px;"
context="student-gruppe-tree-popup"
>
<treecols>
<treecol id="student-gruppen-gruppe_kurzbz" label="Gruppe" flex="1" primary="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/gruppen/rdf#gruppe_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-gruppen-studiensemester_kurzbz" label="Studiensemester" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/gruppen/rdf#studiensemester_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-gruppen-generiert" label="automatisch generiert" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/gruppen/rdf#generiert" />
<splitter class="tree-splitter"/>
<treecol id="student-gruppen-uid" label="UID" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/gruppen/rdf#uid" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#gruppe_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#studiensemester_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#generiert" />
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#uid" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</groupbox>
</hbox>
</vbox>
</overlay>
+12
View File
@@ -865,6 +865,7 @@ function StudentAuswahl()
document.getElementById('student-tab-pruefung').collapsed=true;
document.getElementById('student-tab-abschlusspruefung').collapsed=true;
document.getElementById('student-tab-projektarbeit').collapsed=true;
document.getElementById('student-tab-gruppen').collapsed=true;
document.getElementById('student-detail-groupbox-student').hidden=true;
document.getElementById('student-toolbar-abbrecher').hidden=true;
@@ -896,6 +897,7 @@ function StudentAuswahl()
document.getElementById('student-tab-pruefung').collapsed=false;
document.getElementById('student-tab-abschlusspruefung').collapsed=false;
document.getElementById('student-tab-projektarbeit').collapsed=false;
document.getElementById('student-tab-gruppen').collapsed=false;
document.getElementById('student-detail-groupbox-student').hidden=false;
document.getElementById('student-toolbar-abbrecher').hidden=false;
@@ -1173,6 +1175,16 @@ function StudentAuswahl()
StudentProjektbetreuerDisableFields(true);
StudentProjektarbeitTreeLoad(uid);
}
if(uid!='')
{
StudentGruppenRemoveDatasource();
if(document.getElementById('student-content-tabs').selectedItem==document.getElementById('student-tab-gruppen'))
{
StudentGruppenLoadData();
}
}
}
// ****
+6 -2
View File
@@ -93,8 +93,12 @@
<!ENTITY menu-extras.label "Extras">
<!ENTITY menu-extras.accesskey "E">
<!ENTITY menu-extras.accesskey "X">
<!ENTITY menu-extras-reihungstest.key "R">
<!ENTITY menu-extras-reihungstest.label "Reihungstestverwaltung">
<!ENTITY menu-extras-reihungstest.accesskey "R">
<!ENTITY menu-extras-reihungstest.accesskey "R">
<!ENTITY menu-extras-firma.key "F">
<!ENTITY menu-extras-firma.label "Firmenverwaltung">
<!ENTITY menu-extras-firma.accesskey "F">
+83
View File
@@ -0,0 +1,83 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
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('../vilesci/config.inc.php');
require_once('../include/datum.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
die('uid muss uebergeben werden');
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz = $_GET['studiensemester_kurzbz'];
else
die('studiensemester_kurzbz muss uebergeben werden');
$datum = new datum();
$rdf_url='http://www.technikum-wien.at/gruppen';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:GRP="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
$qry = "SELECT * FROM public.tbl_benutzergruppe JOIN tbl_gruppe using(gruppe_kurzbz) WHERE uid='".addslashes($uid)."' AND (studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' OR studiensemester_kurzbz is null)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
echo '
<RDF:li>
<RDF:Description id="'.$row->uid.'/'.$row->gruppe_kurzbz.'" about="'.$rdf_url.'/'.$row->uid.'/'.$row->gruppe_kurzbz.'" >
<GRP:gruppe_kurzbz><![CDATA['.$row->gruppe_kurzbz.']]></GRP:gruppe_kurzbz>
<GRP:generiert><![CDATA['.($row->generiert=='t'?'Ja':'Nein').']]></GRP:generiert>
<GRP:uid><![CDATA['.$row->uid.']]></GRP:uid>
<GRP:studiensemester_kurzbz><![CDATA['.$row->studiensemester_kurzbz.']]></GRP:studiensemester_kurzbz>
</RDF:Description>
</RDF:li>
';
}
}
?>
</RDF:Seq>
</RDF:RDF>
+2 -1
View File
@@ -132,7 +132,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$anzahl=0;
foreach ($obj->result as $row)
{
if($row->zeugnis && $row->note!=5)
//Note darf nicht negativ(5), nicht beurteilt (9) order nicht erfolgreich absolviert (13) sein
if($row->zeugnis && $row->note!=5 && $row->note!=9 && $row->note!=13)
{
if ($row->note)
$note = $note_arr[$row->note];
+14 -1
View File
@@ -198,7 +198,6 @@
</table>
</td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
<!--Menu Eintrag Reihungstest-->
<tr>
<td nowrap><a href="?reihungstest" class="MenuItem1" onClick="return(js_toggle_container('Reihungstest'));"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Reihungstest</a></td>
@@ -214,6 +213,20 @@
</table>
</td>
</tr>
<tr>
<td nowrap><a href="?firma" class="MenuItem1" onClick="return(js_toggle_container('Firma'));"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Firma</a></td>
</tr>
<tr>
<td nowrap>
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="Firma" style="display:block;">
<tr>
<td width="10" nowrap>&nbsp;</td>
<td nowrap><a class="MenuItem2" href="stammdaten/firma_frameset.html" target="main"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Verwaltung</a></td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
</table>
</td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
</table>
</div>
+1 -1
View File
@@ -139,7 +139,7 @@ echo "<h3>&Uuml;bersicht</h3>
if ($result_lv!=0)
{
$num_rows=pg_num_rows($result_lv);
echo "<th class='table-sortable:default'>ID</th><th class='table-sortable:default'>Kurzbz</th><th class='table-sortable:default'>Bezeichnung</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'>Aktiv</th><th class='table-sortable:default'>Sort</th><th class='table-sortable:default'>Zeugnis</th>\n";
echo "<th class='table-sortable:default'>ID</th><th class='table-sortable:default'>Kurzbz</th><th class='table-sortable:default'>Bezeichnung</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'>Aktiv</th><th class='table-sortable:numeric'>Sort</th><th class='table-sortable:default'>Zeugnis</th>\n";
echo "</tr></thead>";
echo "<tbody>";
for($i=0;$i<$num_rows;$i++)
+152
View File
@@ -0,0 +1,152 @@
<?php
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/firma.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
// ******* INIT ********
$user = get_uid();
$htmlstr = '';
$errorstr = '';
$reloadstr = '';
$error = false;
$firma_id = (isset($_REQUEST["firma_id"])?$_REQUEST['firma_id']:'');
$name = (isset($_POST['name'])?$_POST['name']:'');
$adresse = (isset($_POST['adresse'])?$_POST['adresse']:'');
$email = (isset($_POST['email'])?$_POST['email']:'');
$telefon = (isset($_POST['telefon'])?$_POST['telefon']:'');
$fax = (isset($_POST['fax'])?$_POST['fax']:'');
$anmerkung = (isset($_POST['anmerkung'])?$_POST['anmerkung']:'');
$firmentyp_kurzbz = (isset($_POST['typ'])?$_POST['typ']:'');
// ******* SPEICHERN ********
if(isset($_POST['save']))
{
$firma = new firma($conn);
if($firma_id!='')
{
if(!$firma->load($firma_id))
{
$error = true;
}
else
{
$firma->new = false;
}
}
else
{
$firma->insertamum = date('Y-m-d H:i:s');
$firma->insertvon = $user;
$firma->new = true;
}
if(!$error)
{
$firma->name = $name;
$firma->adresse = $adresse;
$firma->email = $email;
$firma->telefon = $telefon;
$firma->fax = $fax;
$firma->anmerkung = $anmerkung;
$firma->firmentyp_kurzbz = $firmentyp_kurzbz;
$firma->updateamum = date('Y-m-d H:i:s');
$firma->updatevon = $user;
if($firma->save())
{
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= " parent.uebersicht.location.href='firma_uebersicht.php';";
$reloadstr .= "</script>\n";
}
else
{
$errorstr = 'Datensatz konnte nicht gespeichert werden: '.$firma->errormsg;
}
}
}
// ******* FORMULAR **********
$firma = new firma($conn);
if($firma_id!='')
if (!$firma->load($firma_id))
$htmlstr .= "<br><div class='kopf'>Firma mit der ID <b>".$firma_id."</b> existiert nicht</div>";
$htmlstr .= "<form action='firma_details.php' method='POST' name='firma'>\n";
$htmlstr .= "<input type='hidden' name='firma_id' value='".$firma->firma_id."'>\n";
$htmlstr .= "<br><div class='kopf'>Firma</div>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>Name: </td>";
$htmlstr .= " <td colspan='3'><input type='text' name='name' value='".htmlentities($firma->name)."' size='80' maxlength='128' /></td>\n";
$htmlstr .= " <td>Typ: </td>";
$htmlstr .= " <td><select name='typ'>\n";
$qry = "SELECT firmentyp_kurzbz FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if ($firma->firmentyp_kurzbz == $row->firmentyp_kurzbz)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$row->firmentyp_kurzbz."' ".$sel.">".$row->firmentyp_kurzbz."</option>";
}
}
$htmlstr .= " </select></td></tr><tr>\n";
$htmlstr .= " <td>EMail: </td>";
$htmlstr .= " <td><input type='text' name='email' value='".htmlentities($firma->email)."' maxlength='128' /></td>\n";
$htmlstr .= " <td>Telefon: </td>";
$htmlstr .= " <td><input type='text' name='telefon' value='".htmlentities($firma->telefon)."' maxlength='32' /></td>\n";
$htmlstr .= " <td>Fax: </td>";
$htmlstr .= " <td><input type='text' name='fax' value='".htmlentities($firma->fax)."' maxlength='32' /></td>\n";
$htmlstr .= "</tr><tr valign='top'>";
$htmlstr .= " <td>Adresse: </td>";
$htmlstr .= " <td><input type='text' name='adresse' value='".htmlentities($firma->adresse)."' maxlength='256'></td>\n";
$htmlstr .= " <td>Anmerkung: </td>";
$htmlstr .= " <td><textarea name='anmerkung'/>".htmlentities($firma->anmerkung)."</textarea></td>\n";
$htmlstr .= " <td valign='bottom'><input type='submit' name='save' value='speichern'></td>";
$htmlstr .= " </tr></table>\n";
$htmlstr .= "</form>\n";
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Firma - 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">
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
}
</script>
</head>
<body style="background-color:#eeeeee;">
<?php
echo $htmlstr;
echo $reloadstr;
?>
</body>
</html>
+21
View File
@@ -0,0 +1,21 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>VileSci</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<frameset rows="70%,*">
<frame src="firma_uebersicht.php" id="uebersicht" name="uebersicht" frameborder="0" />
<frame src="firma_details.php" id="detail" name="detail" frameborder="0" />
<noframes>
<body bgcolor="#FFFFFF">
This application works only with a frames-enabled browser.<br />
<a href="main.php">Use without frames</a>
</body>
</noframes>
</frameset>
</html>
+74
View File
@@ -0,0 +1,74 @@
<?php
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/firma.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$htmlstr = "";
$sql_query = "SELECT * FROM public.tbl_firma";
if(!$erg=pg_query($conn, $sql_query))
{
$errormsg='Fehler beim Laden der Firma';
}
else
{
$htmlstr .= "</form><table id='t1' class='liste table-autosort:1 table-stripeclass:alternate table-autostripe'>\n";
$htmlstr .= " <thead><tr class='liste'>\n";
$htmlstr .= " <th class='table-sortable:numeric'>ID</th><th class='table-sortable:default'>Name</th><th class='table-sortable:default'>Adresse</th><th class='table-sortable:default'>Email</th><th class='table-sortable:default'>Telefon</th><th class='table-sortable:default'>Fax</th><th class='table-sortable:default'>Anmerkung</th><th class='table-sortable:default'>Typ</th>";
$htmlstr .= " </tr></thead><tbody>\n";
$i = 0;
while($row=pg_fetch_object($erg))
{
//$htmlstr .= " <tr class='liste". ($i%2) ."'>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->firma_id."</td>\n";
$htmlstr .= " <td><a href='firma_details.php?firma_id=".$row->firma_id."' target='detail'>".$row->name."</a></td>\n";
$htmlstr .= " <td>$row->adresse</td>\n";
$htmlstr .= " <td>$row->email</td>\n";
$htmlstr .= " <td>$row->telefon</td>\n";
$htmlstr .= " <td>$row->fax</td>\n";
$htmlstr .= " <td>$row->anmerkung</td>\n";
$htmlstr .= " <td>$row->firmentyp_kurzbz</td>\n";
$htmlstr .= " </tr>\n";
$i++;
}
$htmlstr .= "</tbody></table>\n";
}
?>
<html>
<head>
<title>Firma Uebersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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">
</script>
</head>
<body class="background_main">
<h2>Firmen - &Uuml;bersicht</h2>
<?php
echo '<table width="100%"><tr><td>';
echo '<h3>Übersicht</h3>';
echo '</td><td align="right">';
echo "<input type='button' onclick='parent.detail.location=\"firma_details.php?neu=true\"' value='Neue Firma anlegen'/>";
echo '</td></tr></table><br />';
echo $htmlstr;
?>
</body>
</html>
+217
View File
@@ -0,0 +1,217 @@
<?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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/firma.class.php');
require_once('../../include/datum.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
$datum_obj = new datum();
$firma_id = (isset($_GET['firma_id'])?$_GET['firma_id']:'');
$neu = (isset($_GET['neu'])?true:false);
$error = false;
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Firma</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>Reihungstest - Verwaltung</h2>';
// Speichern einer Firma
if(isset($_POST['speichern']))
{
$firma = new firma($conn);
if(isset($_POST['firma_id']) && $_POST['firma_id']!='')
{
//Reihungstest laden
if(!$firma->load($_POST['firma_id']))
die($firma->errormsg);
$firma->new = false;
}
else
{
//Neue Firma anlegen
$firma->new=true;
$firma->insertvon = $user;
$firma->insertamum = date('Y-m-d H:i:s');
}
if(!$error)
{
$firma->name = $_POST['name'];
$firma->adresse = $_POST['adresse'];
$firma->email = $_POST['email'];
$firma->telefon = $_POST['telefon'];
$firma->fax = $_POST['fax'];
$firma->anmerkung = $_POST['anmerkung'];
$firma->firmentyp_kurzbz = $_POST['firmentyp_kurzbz'];
$reihungstest->updateamum = date('Y-m-d H:i:s');
$reihungstest->udpatevon = $user;
if($firma->save())
{
echo 'Daten wurden erfolgreich gespeichert';
$firma_id = $firma->firma_id;
}
else
{
echo 'Fehler beim Speichern der Daten: '.$firma->errormsg;
}
}
}
echo '<br><table width="100%"><tr><td>';
//Firma DropDown
$reihungstest = new reihungstest($conn);
if($stg_kz==-1)
$reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden
else
$reihungstest->getReihungstest($stg_kz);
echo "<SELECT name='reihungstest' onchange='window.location.href=this.value'>";
foreach ($reihungstest->result as $row)
{
if($reihungstest_id=='')
$reihungstest_id=$row->reihungstest_id;
if($row->reihungstest_id==$reihungstest_id)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&reihungstest_id=$row->reihungstest_id' $selected>$row->datum $row->uhrzeit $row->ort_kurzbz $row->anmerkung</OPTION>";
}
echo "</SELECT></td>";
echo "<td align='right'><INPUT type='button' value='Neuen Reihungstesttermin anlegen' onclick='window.location.href=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&neu=true\"' >";
echo "</td></tr></table><br><br>";
$reihungstest = new reihungstest($conn);
if(!$neu)
{
if(!$reihungstest->load($reihungstest_id))
die('Reihungstest existiert nicht: '.$reihungstest_id);
}
else
{
if($stg_kz!=-1 && $stg_kz!='')
$reihungstest->studiengang_kz = $stg_kz;
}
//Formular zum bearbeiten des Reihungstests
echo '<HR>';
echo "<FORM method='POST'>";
echo "<input type='hidden' value='$reihungstest->reihungstest_id' name='reihungstest_id' />";
//Studiengang DropDown
echo "<table><tr><td>Studiengang</td><td><SELECT name='studiengang_kz'>";
if($reihungstest->studiengang_kz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
foreach ($studiengang->result as $row)
{
if($row->studiengang_kz==$reihungstest->studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT></TD></TR>";
//Ort DropDown
echo "<tr><td>Ort</td><td><SELECT name='ort_kurzbz'>";
if($reihungstes->ort_kurzbz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
$ort = new ort($conn);
$ort->getAll();
foreach ($ort->result as $row)
{
if($row->ort_kurzbz==$reihungstest->ort_kurzbz)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->ort_kurzbz' $selected>$row->ort_kurzbz</OPTION";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Anmerkung</td><td><input type="input" name="anmerkung" value="'.$reihungstest->anmerkung.'"></td></tr>';
echo '<tr><td>Datum</td><td><input type="input" name="datum" value="'.$datum_obj->convertISODate($reihungstest->datum).'"></td></tr>';
echo '<tr><td>Uhrzeit</td><td><input type="input" name="uhrzeit" value="'.$reihungstest->uhrzeit.'"></td></tr>';
echo '<tr><td></td><td><input type="submit" name="speichern" value="Speichern"></td></tr>';
echo '</table>';
echo '</FORM>';
echo '<HR>';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&excel=true'>Excel Export</a><br><br>";
//Liste der Interessenten die zum Reihungstest angemeldet sind
$qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id ORDER BY zustellung LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest_id' ORDER BY nachname, vorname";
$mailto = '';
if($result = pg_query($conn, $qry))
{
echo 'Anzahl: '.pg_num_rows($result);
echo "<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'><thead><tr class='liste'><th class='table-sortable:default'>Vorname</th><th class='table-sortable:default'>Nachname</th><th class='table-sortable:default'>Studiengang</th><th class='table-sortable:default'>Geburtsdatum</th><th>EMail</th></tr></thead><tbody>";
while($row = pg_fetch_object($result))
{
echo "
<tr>
<td>$row->vorname</td>
<td>$row->nachname</td>
<td>".$stg_arr[$row->studiengang_kz]."</td>
<td>".$datum_obj->convertISODate($row->gebdatum)."</td>
<td><a href='mailto:$row->email'>$row->email</a></td>
</tr>";
$mailto.= ($mailto!=''?',':'').$row->email;
}
echo "</tbody></table>";
echo "<br><a href='mailto:$mailto'>Mail an alle senden</a>";
}
echo '
</body>
</html>';
}
?>