Veraltete Files entfernt

This commit is contained in:
Andreas Österreicher
2015-01-16 07:38:37 +00:00
parent bfc056842d
commit 6d55c148d1
102 changed files with 0 additions and 50022 deletions
-196
View File
@@ -1,196 +0,0 @@
<?php
/* Copyright (C) 2008 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
* Gerald Simane-Senquens <[email protected]>.
*/
/*
* Aktualisiert in der Datenbank alle UID Felder und verlaengert diese von 16 auf 32 Zeichen
* Views die UIDs als Spalten enthalten werden geloescht und danach wieder angelegt
*/
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
$db = new basis_db();
//Alle Tabellen holen die UID als Spalte haben
//die 16 Zeichen lang ist.
$qry="
SELECT column_name as spalte, table_name as tabelle, table_schema as schema
FROM information_schema.columns
WHERE
column_name in('student_uid','uid','mitarbeiter_uid', 'insertvon','updatevon','koordinator',
'lektor','vorsitz','updateaktivvon','freigabevon_uid','vertretung_uid','freigabevon', 'lektor_uid')
AND data_type='character varying'
AND character_maximum_length='16'
ORDER BY table_name DESC, column_name";
$views=array();
$anzviews=0;
if($result = $db->db_query($qry))
{
$db->db_query('BEGIN');
while($row = $db->db_fetch_object($result))
{
//Alle Views die Spalten enthalten die geaendert werden loeschen
if(substr($row->tabelle,0,3)=='vw_')
{
$qry_view = "SELECT * FROM pg_views WHERE viewname='$row->tabelle'";
if($result_view = $db->db_query($qry_view))
{
if($row_view = $db->db_fetch_object($result_view))
{
$views[$anzviews]['definition']=$row_view->definition;
$views[$anzviews]['schema']=$row_view->schemaname;
$views[$anzviews]['viewname']=$row_view->viewname;
$anzviews++;
$qry_drp_view = "DROP VIEW $row_view->schemaname.$row_view->viewname;";
echo $qry_drp_view;
$db->db_query($qry_drp_view);
}
}
}
else
{
//Spalte in der Tabelle aendern
$qry_alter="ALTER TABLE $row->schema.$row->tabelle ALTER COLUMN $row->spalte TYPE varchar(32);";
echo $qry_alter.'<br>';
if($db->db_query($qry_alter))
echo "$row->tabelle : $row->spalte<br>";
else
echo "<b>Fehler: $qry_alter</b><br>";
}
}
// ----------- ort_kurzbz ------------ //
$qry="SELECT column_name as spalte, table_name as tabelle, table_schema as schema
FROM information_schema.columns
WHERE
column_name='ort_kurzbz'
AND data_type='character varying'
AND character_maximum_length='8'
ORDER BY table_name DESC, column_name";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
//Alle Views die Spalten enthalten die geaendert werden loeschen
if(substr($row->tabelle,0,3)=='vw_')
{
$qry_view = "SELECT * FROM pg_views WHERE viewname='$row->tabelle'";
if($result_view = $db->db_query($qry_view))
{
if($row_view = $db->db_fetch_object($result_view))
{
$views[$anzviews]['definition']=$row_view->definition;
$views[$anzviews]['schema']=$row_view->schemaname;
$views[$anzviews]['viewname']=$row_view->viewname;
$anzviews++;
$qry_drp_view = "DROP VIEW $row_view->schemaname.$row_view->viewname;";
echo $qry_drp_view;
$db->db_query($qry_drp_view);
}
}
}
else
{
//Spalte in der Tabelle aendern
$qry_alter="ALTER TABLE $row->schema.$row->tabelle ALTER COLUMN $row->spalte TYPE varchar(16);";
echo $qry_alter.'<br>';
if($db->db_query($qry_alter))
echo "$row->tabelle : $row->spalte<br>";
else
echo "<b>Fehler: $qry_alter</b><br>";
}
}
}
//Views wieder anlegen
foreach ($views as $view)
{
$qry = "CREATE VIEW ".$view['schema'].".".$view['viewname']." AS ".$view['definition'];
if($db->db_query($qry))
echo $qry.'<br>';
else
echo '<b>Fehler beim Anlegen der View: '.$qry.'<br>';
}
//ViewBerechtigungen wieder einspielen
$qry ='
Grant select on campus.vw_benutzer to group "admin";
Grant select on campus.vw_benutzer to group "web";
Grant select on campus.vw_lehreinheit to group "admin";
Grant select on campus.vw_lehreinheit to group "web";
Grant select on campus.vw_mitarbeiter to group "admin";
Grant select on campus.vw_mitarbeiter to group "web";
Grant select on campus.vw_reservierung to group "admin";
Grant select on campus.vw_reservierung to group "web";
Grant select on campus.vw_stundenplan to group "admin";
Grant select on campus.vw_stundenplan to group "web";
Grant select on campus.vw_persongruppe to group "admin";
Grant select on campus.vw_persongruppe to group "web";
Grant select on campus.vw_student to group "admin";
Grant select on campus.vw_student to group "web";
Grant select on campus.vw_student_lehrveranstaltung to group "admin";
Grant select on campus.vw_student_lehrveranstaltung to group "web";
Grant select on lehre.vw_stundenplan to group "admin";
Grant select on lehre.vw_stundenplan to group "web";
Grant select on lehre.vw_stundenplandev to group "admin";
Grant select on lehre.vw_stundenplandev to group "web";
Grant select on lehre.vw_lva_stundenplan to group "admin";
Grant select on lehre.vw_lva_stundenplan to group "web";
Grant select on lehre.vw_lva_stundenplandev to group "admin";
Grant select on lehre.vw_lva_stundenplandev to group "web";
Grant select on lehre.vw_reservierung to group "admin";
Grant select on lehre.vw_reservierung to group "web";
Grant select on lehre.vw_fas_lehrveranstaltung to group "admin";
Grant select on lehre.vw_fas_lehrveranstaltung to group "web";
Grant select on vw_betriebsmittelperson to group "admin";
Grant select on vw_betriebsmittelperson to group "web";
Grant select on testtool.vw_ablauf to group "admin";
Grant select on testtool.vw_ablauf to group "web";
Grant select on testtool.vw_pruefling to group "admin";
Grant select on testtool.vw_pruefling to group "web";
Grant select on testtool.vw_auswertung to group "admin";
Grant select on testtool.vw_auswertung to group "web";
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_prestudent to group "admin";
GRANT SELECT ON public.vw_prestudent to group web;
GRANT SELECT ON lehre.vw_stundenplandev_student_unr TO GROUP web;
GRANT SELECT ON lehre.vw_stundenplandev_student_unr TO GROUP admin;
';
echo $qry;
if(!$db->db_query($qry))
echo '<b>Fehler bei qry:</b>'.$qry;
if(!$db->db_query('COMMIT'))
echo '<b>Fehler beim Commit</b>';
else
echo '<br><br><b>Aktualisierung erfolgreich</b>';
}
?>
-33
View File
@@ -1,33 +0,0 @@
Anleitung zum Update von FH-Complete Version 1.2 auf Version 2.0
================================================================
Features der Version 2.0:
-------------------------
- Neues umfassenderes Rechtekonzept
- Datenbank UTF-8 kodiert
- Dateien die in der Datenbank gespeichert sind (PDFs, Bilder), sind nun base64 kodiert
- Organisationsstruktur kann über Organisationseinheiten abgebildet werden
- Datenbank Abstraktionsebene für den Einsatz alternativer Datenbanken
- Diverse Bugfixes
Update:
-------
Die folgenden Schritte sind für ein Upgrade von Version 1.2 auf Version 2.0 nötig:
- Updatescript /system/ExtendUidInDatabase.php starten - UID wird auf 32 Zeichen und Räume auf 16 Zeichen erweitert. (Funktioniert auch, wenn die Datenbank bereits als utf8 eingespielt ist) Laufzeit ca 20 min
- Datenbank Dump erstellen
- Datenbank als UTF8 neu einspielen
- Updatescript starten: /system/update12-20.php (Laufzeit: 2 sec)
- Konvertierung der PDFs und Bilder in der Datenbank von Hex auf base64: /system/hextobase64.php Laufzeit < 2 Minuten
- Konvertieren der Testtool-Daten: /system/TesttoolCleanEncoding.php Laufzeit: 2 sec
- Kopieren ALLER Scripten aus dem trunk inclusive der neuen configs (Scripten unter include/Excel, include/xslfo2pdf, include/xslfo2pdf/fpdf nicht vergessen)
- anpassen der configs (diese befinden sich ab sofort unter /config/)
- in der Tabelle public.tbl_vorlagestudiengang muss bei jeder Vorlage im Header das Encoding von "ISO-8859-15" auf "UTF-8" geändert werden
- die Files /trunk/system/xsl/Zeugnis_0_v1.xsl und ZeugnisEng_0_v1.xsl neu in die Tabelle public.tbl_vorlagestudiengang einspielen
(bei XSL-Vorlagen wird das Attribut content-length nun richtig(er) interpretiert. Deshalb muss an manchen Stellen dieser Wert angepasst werden an die tatsächlichen mm Werte)
- /system/checksystem.php starten
- Fertig!
Die Updatescripte im System Ordner verwenden alle die Config /config/system.config.inc.php
Die Scripten TesttoolCleanEncoding.php und hextobase64.php prüfen nicht ob das Script bereits ausgeführt wurde.
D.h. sie dürfen nur einmal gestartet werden, da die Daten sonst doppelt kodiert werden!!
-45
View File
@@ -1,45 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Roadmap</title>
</head>
<body>
<h1>Roadmap FH-Complete</h1>
<br>
<h2>Version 2.0</h2>
<ul>
<li>Erweiterte Architektur mit Basisklasse und DB-Abstraktion<br>
Einsatz von anderen DBMS wie Oracle oder Sybase (MSSQL) wird
m&ouml;glich</li>
<li>Rollenkonzept<br>
Berrechtigungen werden auf Rollen vergeben. Rollen k&ouml;nnen selbst
definiert werden.</li>
<li>Organisationseinheiten<br>
Als Basisstruktur wird eine rekursive Tabelle f&uuml;r
Organisationseinheiten eingef&uuml;hrt. Somit kann jede beliebige
Organisationsstruktur abgebildet werden. Studieng&auml;nge, Institute,
Kostenstellen, etc. werden dann auf OEen geh&auml;ngt.</li>
</ul>
Release: 1. Sept. 2009<br>
<br>
<h2>Version 2.2</h2>
<ul>
<li>einfache Modularchitektur</li>
<li>Projektverwaltungsmodul (F&amp;E BIS-Meldung)<br>
</li>
<li>einfaches mehrsprachiges CMS f&uuml;r CIS</li>
<li>XML/XSLT-Architektur f&uuml;r CIS<br>
</li>
</ul>
Release: 1. Sept. 2010<br>
<h2>Version 2.4</h2>
<ul>
<li>Ausbau LV-Plan (Schnittstellen, evtl. mehrere Zeitraster)<br>
</li>
<li>Integration von eGroupware<br>
</li>
</ul>
Release: 1. Sept. 2011<br>
<br>
</body>
</html>
-32
View File
@@ -1,32 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>TesttoolCleanEncoding</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/**
* Die Testtool Daten haben nach der Umstellung auf UTF8 ein Fehlerhaftes Encoding.
* Um dies zu bereinigen, muss dieses Script gestartet werden.
*
* ACHTUNG! Dieses Script darf nicht mehrmals auf die gleiche DB angewandt werden
*/
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
$db = new basis_db();
$db->db_query('BEGIN;');
$qry = "UPDATE testtool.tbl_frage_sprache SET text=convert_from(convert_to(text,'LATIN9'),'UTF8');
UPDATE testtool.tbl_vorschlag_sprache SET text=convert_from(convert_to(text,'LATIN9'),'UTF8') WHERE text<>'' and text is not null AND strpos(text,'ß')=0;";
if($db->db_query($qry))
echo "Aktualiserung erfolgreich";
else
echo "Fehler beim Aktualisieren:".$db->db_last_error();
$db->db_query('COMMIT;');
?>
</body>
</html>
-200
View File
@@ -1,200 +0,0 @@
<map version="0.9.0">
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
<node CREATED="1263374154424" ID="ID_471564337" MODIFIED="1263374859450" TEXT="Firma">
<node CREATED="1263375363306" ID="ID_256219247" MODIFIED="1263375367578" POSITION="right" TEXT="Wo?">
<node CREATED="1263375008045" ID="ID_1507122203" MODIFIED="1266328965984" TEXT="Bestellung">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<ul>
<li>
Bestellung h&#228;ngt auf Standort.
</li>
<li>
Wenn optional eine Ansprechperson ausgew&#228;hlt wird, werden diese Kontaktdaten (FaxNummer) verwendet.
</li>
<li>
Vorausgew&#228;hlt wird die Kontaktperson aus der letzten Bestellung bei der gleichen Firma.
</li>
</ul>
</body>
</html>
</richcontent>
<node CREATED="1263377702917" ID="ID_1682615779" MODIFIED="1266329187998" TEXT="Lieferadressen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
&#220;ber die tbl_standort wird die Standort-Adresse des Benutzers als Lieferadresse vorausgew&#228;hlt. Diese kann auf alle anderen Standort-Adressen ge&#228;ndert werden. GmbH
</body>
</html>
</richcontent>
</node>
<node CREATED="1263378163177" ID="ID_1716680379" MODIFIED="1263378165584" TEXT="Besteller">
<node CREATED="1263379642522" ID="ID_1173818220" MODIFIED="1263379644759" TEXT="Person"/>
<node CREATED="1263379647854" ID="ID_948357071" MODIFIED="1263379665802" TEXT="Firma die Bestellt"/>
</node>
<node CREATED="1263378281382" ID="ID_1757080766" MODIFIED="1266328811510" TEXT="Bestellnummer">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Schema:
</p>
<ul>
<li>
Bestellung_id wird auf Bestellnummer kopiert.
</li>
</ul>
</body>
</html>
</richcontent>
</node>
<node CREATED="1263378351360" ID="ID_1889631166" MODIFIED="1263378354289" TEXT="Kostenstelle">
<node CREATED="1263378372810" ID="ID_853881088" MODIFIED="1263378377016" TEXT="Organisationseinheit"/>
</node>
<node CREATED="1263378541556" ID="ID_398359254" MODIFIED="1263379487063" TEXT="Projekt (optional)"/>
<node CREATED="1266329200388" ID="ID_1338939196" MODIFIED="1266329210151" TEXT="Template f&#xfc;r Bestellung">
<node CREATED="1266329275157" ID="ID_388004028" MODIFIED="1266329318934" TEXT="h&#xe4;ngt auf OE">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
verwendet wird die erste die im Baum gefunden wird.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1266329523636" ID="ID_689821816" MODIFIED="1266329543628" TEXT="muss kein PDF ergeben"/>
</node>
<node CREATED="1266329320742" ID="ID_1340046779" MODIFIED="1266329402740" TEXT="Rechnungsadressen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
wie
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1266329989261" ID="ID_1394802262" MODIFIED="1266330062776" TEXT="Unterschrift als Grafik?">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Hier k&#246;nnte wirklich die Unterschrift vom obersten Freigeber verwendet werden.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1266330115411" ID="ID_755088728" MODIFIED="1266330422841" TEXT="Konto">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Kostenstellenleiter kann sich aus dem bestehenden Kontorahmen verschiedene Konten f&#252;r seine Kostenstelle ausw&#228;hlen.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1266330485836" ID="ID_1123475806" MODIFIED="1266330488225" TEXT="Bericht">
<node CREATED="1266330490799" ID="ID_1732496060" MODIFIED="1266330508437" TEXT="Matrix Bestellungen/Konten"/>
<node CREATED="1266330511373" ID="ID_1515110412" MODIFIED="1266330518795" TEXT="Matrix Bestellungen/Projekte"/>
</node>
</node>
<node CREATED="1263375166897" ID="ID_1801119910" MODIFIED="1263375176181" TEXT="Projektarbeit">
<node CREATED="1263375198511" ID="ID_429711882" MODIFIED="1263375217261" TEXT="Berufspraktikum"/>
<node CREATED="1263375220355" ID="ID_1808182341" MODIFIED="1263375246015" TEXT="Projektarbeitsbetreuer">
<node CREATED="1266328827027" ID="ID_1909467504" MODIFIED="1266328849238" TEXT="Firmenbetreuer ist einer Firma zugeordnet"/>
</node>
</node>
<node CREATED="1263375116331" ID="ID_241137506" MODIFIED="1263375128511" TEXT="Betriebsmittel">
<node CREATED="1266327307866" ID="ID_848764622" MODIFIED="1266327314208" TEXT="Reparatur">
<node CREATED="1266328045783" ID="ID_195924258" MODIFIED="1266328169955" TEXT="bei Welcher Firma (Anmerkung)"/>
</node>
<node CREATED="1266327321534" ID="ID_386381454" MODIFIED="1266327344982" TEXT="Zuteilung Organisationseinheit"/>
<node CREATED="1266327349521" ID="ID_26128919" MODIFIED="1266327355410" TEXT="Zuteilung Person">
<node CREATED="1266327359579" ID="ID_1740997873" MODIFIED="1266327371222" TEXT="Datum von bis"/>
<node CREATED="1266327374219" ID="ID_1909929145" MODIFIED="1266327386509" TEXT="Kaution &#xfc;ber Konto"/>
<node CREATED="1266327451370" ID="ID_143017059" MODIFIED="1266327465481" TEXT="Datum R&#xfc;ckgabefrist"/>
</node>
<node CREATED="1266328018602" ID="ID_983489538" MODIFIED="1266328032315" TEXT="optionaler Verweis auf Bestellung"/>
</node>
<node CREATED="1263375026408" ID="ID_184537137" MODIFIED="1263375036792" TEXT="Organisationseinheit"/>
<node CREATED="1263375147640" ID="ID_1722259213" MODIFIED="1263375164658" TEXT="Lehrauftrag"/>
<node CREATED="1263375289953" ID="ID_115813900" MODIFIED="1263375297249" TEXT="PreInteressenten"/>
</node>
<node CREATED="1263375387346" ID="ID_1887819714" MODIFIED="1263375538199" POSITION="left" TEXT="Tag">
<node CREATED="1263375396681" ID="ID_1961756876" MODIFIED="1263375532731" TEXT="Partner"/>
<node CREATED="1263375406253" ID="ID_374534979" MODIFIED="1263375414382" TEXT="Schulen"/>
<node CREATED="1263375421988" ID="ID_1388610220" MODIFIED="1263375425446" TEXT="Lieferanten"/>
<node CREATED="1263375433075" ID="ID_206196011" MODIFIED="1263375439885" TEXT="Lektoren"/>
<node CREATED="1263375455157" ID="ID_471741296" MODIFIED="1263375458728" TEXT="Kunden"/>
<node CREATED="1263375461223" ID="ID_1999952010" MODIFIED="1263375463998" TEXT="Sponsoren"/>
</node>
<node CREATED="1263375585251" ID="ID_1612372534" MODIFIED="1263375592383" POSITION="right" TEXT="Typ">
<node CREATED="1263375677329" ID="ID_1019529139" MODIFIED="1263375681315" TEXT="Schulformen"/>
</node>
<node CREATED="1263375863234" ID="ID_453712036" MODIFIED="1263375866648" POSITION="left" TEXT="Standorte">
<node CREATED="1263375876619" ID="ID_195659885" MODIFIED="1263376629098" TEXT="Adresse (1:1)"/>
<node CREATED="1263375869470" ID="ID_1610538989" MODIFIED="1263376681081" TEXT="Person/Funktion (n:n)">
<node CREATED="1263377222733" ID="ID_1236560985" MODIFIED="1263377224330" TEXT="Kontakt"/>
</node>
<node CREATED="1263377216853" ID="ID_25819312" MODIFIED="1263377220558" TEXT="Kontakt"/>
</node>
<node CREATED="1263379520124" ID="ID_493781026" MODIFIED="1266327073117" POSITION="right" TEXT="Kundennummer">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Wo wird die Kundenummer angeh&#228;ngt?
</p>
<p>
</p>
<ol>
<li>
zwischen Organisationseinheit und Firma<br />Vorerst werden nur die obersten Organisationseinheit verwendet (GmbH und FH TW)<br />Implementiert wird jedoch jetzt schon, dass die n&#228;chste/n&#228;heste Kundennummer verwendet wird.<br />
</li>
<li>
h&#228;ngt nur auf der Firma -&gt;<br />nein<br />
</li>
</ol>
</body>
</html>
</richcontent>
</node>
<node CREATED="1266327198308" ID="ID_1443789880" MODIFIED="1266327283793" POSITION="left" TEXT="Sperren">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Wenn bei Firmen nichts mehr bestellt werden darf, kann der Administrator diese Firma sperren. (Blacklist) (Kein Tag)
</p>
</body>
</html>
</richcontent>
</node>
</node>
</map>
-84
View File
@@ -1,84 +0,0 @@
<?php
/* Copyright (C) 2012 FH 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: Andreas Oesterreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/person.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('admin'))
die('Sie haben keine Berechtigung für diese Seite');
//Alle Kartenuser holen
$qry = "
SELECT
nummer, betriebsmittelperson_id, person_id
FROM
wawi.tbl_betriebsmittelperson
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
WHERE
tbl_betriebsmittelperson.uid is null
AND tbl_betriebsmittelperson.retouram is null
AND tbl_betriebsmittel.betriebsmitteltyp='Zutrittskarte'
AND EXISTS (SELECT * FROM public.tbl_benutzer WHERE person_id=tbl_betriebsmittelperson.person_id AND aktiv=true)";
$db = new basis_db();
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if(!$user = getUidFromCardNumber($row->nummer))
{
$qry = "SELECT uid FROM public.tbl_benutzer WHERE aktiv AND person_id=".$db->db_add_param($row->person_id);
if($result_user = $db->db_query($qry))
{
//Wenn nur 1 aktiver User vorhanden ist, wird dieser genommen
if($db->db_num_rows($result_user)==1)
{
if($row_user = $db->db_fetch_object($result_user))
{
$user = $row_user->uid;
}
}
else
{
$pers = new person();
$pers->load($row->person_id);
echo "<br>Fot Found: $row->nummer PersonID: $row->person_id BetriebsmittelpersonID: $row->betriebsmittelperson_id $pers->vorname $pers->nachname<br>";
}
}
}
if($user!='')
{
$qry = "UPDATE wawi.tbl_betriebsmittelperson
SET uid=".$db->db_add_param($user)."
WHERE betriebsmittelperson_id=".$db->db_add_param($row->betriebsmittelperson_id);
if($db->db_query($qry))
echo '+';
else
echo '|';
}
}
}
?>
-100
View File
@@ -1,100 +0,0 @@
<?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 < [email protected] >
* Andreas Oesterreicher < [email protected] >
*/
/**
* Scannt das documents Verzeichnis nach LV-Ordnern die nicht mehr benoetigt werden
*
* Parameter:
* stg_von ... Kennzahl ab der gescannt wird (inklusive)
* stg_bis ... Kennzahl bis zu der gescannt wird (inklusive)
*/
require_once('../config/cis.config.inc.php');
require_once('../include/basis_db.class.php');
$text='';
$getstr='';
$lv_arr = array();
$db = new basis_db();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unused Dirs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Zu den folgenden Verzeichnissen sind keine aktiven Lehrveranstaltungen vorhanden:<br><br>
';
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung";
if (isset($_REQUEST["stg_von"]))
$getstr .= " studiengang_kz >= '".$_REQUEST["stg_von"]."'";
if (isset($_REQUEST["stg_bis"]))
{
if ($getstr != "")
$getstr .= " AND";
$getstr .= " studiengang_kz <= '".$_REQUEST["stg_bis"]."'";
}
if ($getstr != "")
$getstr = " WHERE".$getstr;
$qry.= ($getstr!=''?$getstr:' WHERE ').' AND tbl_lehrveranstaltung.aktiv ';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$lv_arr[$row->studiengang_kz][$row->semester][$row->lehreverzeichnis] = 1;
}
}
$sqlstr = "SELECT studiengang_kz, lower(typ||kurzbz) as stg, max_semester FROM public.tbl_studiengang";
$sqlstr = $sqlstr.$getstr." ORDER BY typ, kurzbz";
if($result = $db->db_query($sqlstr))
{
while($row = $db->db_fetch_object($result))
{
echo "<hr><b>".$row->stg."</b><br>";
for ($i=1; $i <= $row->max_semester; $i++)
{
$dir = "../documents/".strtolower($row->stg)."/".$i."/";
echo "*** ".$i." ***<br>";
if (is_dir($dir))
{
$files = scandir($dir);
foreach ($files as $f)
{
if (is_dir($dir.$f) && $f != "." && $f != "..")
{
if (!key_exists($f, $lv_arr[$row->studiengang_kz][$i]))
{
echo $dir.$f.'<br>';
}
}
}
}
}
}
}
?>
</body>
</html>
-200
View File
@@ -1,200 +0,0 @@
<?php
/* Copyright (C) 2013 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <[email protected]>,
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/studienordnung.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/studienplan.class.php');
require_once('../include/lehrveranstaltung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('admin'))
die('Keine berechtigung');
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz',true);
$db = new basis_db();
// Alle Studiengaenge durchlaufen
foreach($studiengang->result as $rowstg)
{
/*
$qry = "SELECT
studiensemester_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz, FHC_INTEGER)."
ORDER BY tbl_studiensemester.start LIMIT 1";
*/
$stsem = 'WS2013';
/*
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$stsem = $row->studiensemester_kurzbz;
}
}
*/
// eine Neue Studienordnung anlegen
$studienordnung = new studienordnung();
$studienordnung->studiengang_kz=$rowstg->studiengang_kz;
$studienordnung->bezeichnung=sprintf('%04s',$rowstg->studiengang_kz).'-'.$rowstg->kuerzel.'-'.$stsem;
$studienordnung->version='01';
$studienordnung->ects=($rowstg->max_semester*30);
$studienordnung->gueltigvon=$stsem;
$studienordnung->gueltigbis='';
$studienordnung->studiengangbezeichnung = $rowstg->bezeichnung;
$studienordnung->studiengangbezeichnung_englisch = $rowstg->english;
$studienordnung->studiengangkurzbzlang = $rowstg->kurzbzlang;
$studienordnung->insertvon = 'generate';
$studienordnung->akadgrad_id=1;
if(!$studienordnung->save())
{
echo 'Fehler bei Stg'.$rowstg->studiengang_kz.$studienordnung->errormsg;
continue;
}
else
$studienordnung_id = $studienordnung->studienordnung_id;
// Studienplan anlegen
if($rowstg->mischform)
{
$qry = "SELECT
distinct orgform_kurzbz
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz);
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if($row->orgform_kurzbz!='')
createStudienplan($row->orgform_kurzbz, $studienordnung_id, $rowstg, $studienordnung->bezeichnung);
}
}
}
else
{
createStudienplan($rowstg->orgform_kurzbz, $studienordnung_id, $rowstg, $studienordnung->bezeichnung);
}
}
/*
$qry = "SELECT * FROM public.tbl_studiensemester WHERE begin<now()";
$stsem = array();
if($result_stsem = $db->db_query($qry))
{
while($row_stsem = $db->db_fetch_object($result_stsem))
{
$stsem[] = $row_stsem->studiensemester_kurzbz;
}
}
*/
$qry="SELECT *, (Select max_semester FROM public.tbl_studiengang where studiengang_kz=a.studiengang_kz) as max_semester FROM lehre.tbl_studienordnung as a WHERE studienordnung_id=(Select max(studienordnung_id) FROM lehre.tbl_studienordnung WHERE studiengang_kz=a.studiengang_kz)";
if($result_sto = $db->db_query($qry))
{
while($row_sto = $db->db_fetch_object($result_sto))
{
echo $row_sto->bezeichnung.'<br>';
for($i=1;$i<=$row_sto->max_semester;$i++)
{
$qry="INSERT INTO lehre.tbl_studienordnung_semester(studienordnung_id, semester, studiensemester_kurzbz)
VALUES(".$db->db_add_param($row_sto->studienordnung_id).','.$i.',';
$stsem_arr=array('WS2013','SS2014','WS2014');
foreach($stsem_arr as $studiensemester)
{
$db->db_query($qry.$db->db_add_param($studiensemester).');');
}
}
}
}
function createStudienplan($orgform, $studienordnung_id, $rowstg, $studienordnungbezeichnung)
{
global $db;
$studienplan = new studienplan();
$studienplan->studienordnung_id = $studienordnung_id;
$studienplan->orgform_kurzbz=$orgform;
$studienplan->version = 'V1';
$studienplan->bezeichnung = $studienordnungbezeichnung.'-'.$orgform;
$studienplan->regelstudiendauer = $rowstg->max_semester;
$studienplan->sprache = $rowstg->sprache;
$studienplan->aktiv = true;
$wochen='15';
$qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz)." LIMIT 1";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$wochen = $row->wochen;
}
}
$studienplan->semesterwochen = $wochen;
$studienplan->testtool_sprachwahl = true;//$db->db_parse_bool($rowstg->testtool_sprachwahl);
$studienplan->insertvon = 'generate';
if(!$studienplan->save())
{
echo 'Studienplan failed for '.$rowstg->studiengang_kz.$studienplan->errormsg;
continue;
}
else
$studienplan_id = $studienplan->studienplan_id;
$qry = "SELECT
distinct lehrveranstaltung_id, semester, koordinator
FROM
lehre.tbl_lehrveranstaltung
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz)."
AND (orgform_kurzbz is null or orgform_kurzbz=".$db->db_add_param($orgform).")
AND lehrtyp_kurzbz<>'lf'
AND tbl_lehrveranstaltung.aktiv";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$lehrveranstaltung = new studienplan();
$lehrveranstaltung->new=true;
$lehrveranstaltung->studienplan_id=$studienplan_id;
$lehrveranstaltung->semester=$row->semester;
$lehrveranstaltung->pflicht=true;
$lehrveranstaltung->koordinator = $row->koordinator;
$lehrveranstaltung->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lehrveranstaltung->insertvon='generate';
$lehrveranstaltung->saveStudienplanLehrveranstaltung();
}
}
}
?>
-205
View File
@@ -1,205 +0,0 @@
<?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: Cbristian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]>,
* Rudolf Hangl <[email protected]> and
* Gerald Simane-Sequens <[email protected]>
*
*/
/**
* Dieses Script veraendert die Datenbank, damit die Dokumente (PDFs, Bilder, etc) die in
* der Datenbank gespeichert sind, nicht mebr HEX codiert, sondern base64 Codiert sind
*
* !!! Dieses Script muss von der CommandLine gestartet werden da es sonst zu einem Timeout kommt !!!
*/
header('Expires: -1');
header('Cache-Control: no-store, no-cache, must-revalidate' );
header('Pragma: no-cache' );
header('Content-Type: text/html;charset=UTF-8');
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
$next_row_counter=10;
$db = new basis_db();
if (!$db->db_query('BEGIN'))
die('Error bei begin');
echo "tbl_akte...".date('Y-m-d H:i:s')."<br>\n";
flush();
//Akte
$qry = "UPDATE public.tbl_akte SET inhalt = encode(decode(inhalt, 'hex'),'base64')";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntbl_akte...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
//Person
echo "tbl_person...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE public.tbl_person SET foto = encode(decode(foto, 'hex'),'base64') WHERE foto is not null";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntbl_person...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."<br>\n";
flush();
echo "<hr>\n";
//Testtool - tbl_frage_sprache.bild
echo "tbl_frage_sprache bild...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE testtool.tbl_frage_sprache SET bild = encode(decode(bild, 'hex'),'base64') WHERE bild is not null and bild<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntbl_frage_sprache bild...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
//Testtool - tbl_frage_sprache.bild
echo "tbl_frage_sprache audio...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE testtool.tbl_frage_sprache SET audio = encode(decode(audio, 'hex'),'base64') WHERE audio is not null AND audio<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntbl_frage_sprache audio...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
//Testtool - tbl_vorschlag_sprache.bild
echo "testtool.tbl_vorschlag_sprache bild...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE testtool.tbl_vorschlag_sprache SET bild = encode(decode(bild, 'hex'),'base64') WHERE bild is not null AND bild<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntesttool.tbl_vorschlag_sprache bild...".date('Y-m-d H:i:s')." ENDE <br>\n";
flush();
echo "<hr>\n";
//Testtool - tbl_vorschlag_sprache.audio
echo "testtool.tbl_vorschlag_sprache audio...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE testtool.tbl_vorschlag_sprache SET audio = encode(decode(audio, 'hex'),'base64') WHERE audio is not null AND audio<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ntesttool.tbl_vorschlag_sprache audio...".date('Y-m-d H:i:s')." ENDE <br>\n";
flush();
echo "<hr>\n";
//Kommune tbl_wettbewerb
echo "kommune.tbl_wettbewerb icon...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE kommune.tbl_wettbewerb SET icon = encode(decode(icon, 'hex'),'base64') WHERE icon is not null AND icon<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\nkommune.tbl_wettbewerb icon...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
//Kommune tbl_team
echo "kommune.tbl_team.logo...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE kommune.tbl_team SET logo = encode(decode(logo, 'hex'),'base64') WHERE logo is not null AND logo<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\nkommune.tbl_team logo...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
//tbl_sprache
echo "public.tbl_sprache flagge ...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE public.tbl_sprache SET flagge = encode(decode(flagge, 'hex'),'base64') WHERE flagge is not null AND flagge<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\npublic.tbl_sprache flagge...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
//tbl_erhalter
echo "public.tbl_erhalter logo ...".date('Y-m-d H:i:s')."<br>\n";
flush();
$qry = "UPDATE public.tbl_erhalter SET logo = encode(decode(logo, 'hex'),'base64') WHERE logo is not null AND logo<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\npublic.tbl_erhalter logo...".date('Y-m-d H:i:s')."<br>\n";
flush();
echo "<hr>\n";
$qry = "UPDATE campus.tbl_veranstaltungskategorie SET bild = encode(decode(bild, 'hex'),'base64') WHERE bild is not null AND bild<>''";
if(!$db->db_query($qry))
{
$db->db_query('ROLLBACK');
die('Fehler:'.$db->db_last_error());
}
echo "<br>\ncampus.tbl_veranstaltungskategorie bild...".date('Y-m-d H:i:s')." ENDE<br>\n";
flush();
echo "<hr>\n";
if(!$db->db_query('COMMIT'))
echo "<br>\n".date('Y-m-d H:i:s')." ERROR :".$db->db_last_error()."<br>\n".' line '. __LINE__ .' ; file ' . __FILE__;
else
echo "<br>\n<b>Aktualisierung abgeschlossen ".date('Y-m-d H:i:s')."</b>";
?>
-66
View File
@@ -1,66 +0,0 @@
<?php
/* Copyright (C) 2012 FH 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: Karl Burkhart <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
?>
<html>
<head>
<title>Check Studenten</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="../skin/vilesci.css" type="text/css">
</head>
<body class="background_main">
<h2>Zuweisung von Zugangscodes zu Personen</h2>
<?php
$db = new basis_db();
$count = 0;
$countError=0;
$qry="SELECT person_id FROM public.tbl_person WHERE zugangscode is null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$qry_zugangscode = "UPDATE public.tbl_person Set zugangscode ='".uniqid()."' where person_id = '".$row->person_id."'";
if($db->db_query($qry_zugangscode))
$count+=1;
else
$countError+=1;
}
}
else
{
die('Es ist ein fehler bei der Abfrage aufgetreten');
}
echo $count." Datensätze wurden upgedatet dabei sind ".$countError." Fehler aufgetreten";
?>
</body>
</html>
-100
View File
@@ -1,100 +0,0 @@
<?php
/**
* Resettet den Usability Test auf der CIS-Redesign Seite
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Reset Usability Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2>Reset Usability Test</h2>
<p>
<ul>
<li>Foto löschen</li>
<li>Fotostati löschen</li>
<li>Daten aus Urlaubstool löschen und Demodaten eintragen</li>
<li>Newseinträge löschen</li>
</ul>
</p>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="submit" name="reset" value="Reset starten">
</form>';
/** echo '
<br />
<br />
<h2>Abgabetool</h2>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="hidden" value="student1" name="uid">
<input type="submit" name="reset_abgabe" value="Projektabgaben von Student1 resetten">
</form>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="hidden" value="student2" name="uid">
<input type="submit" name="reset_abgabe" value="Projektabgaben von Student2 resetten">
</form>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="hidden" value="student3" name="uid">
<input type="submit" name="reset_abgabe" value="Projektabgaben von Student3 resetten">
</form>
'; */
if(isset($_POST['reset']))
{
/*echo ' <font color="green"><ul>
<li>Foto gelöscht</li>
<li>Fotostati gelöscht</li>
<li>Daten aus Urlaubstool gelöscht</li>
</ul></font> ';*/
$db = new basis_db();
$qry = "
delete from public.tbl_person_fotostatus where person_id in (30566,453);
delete from public.tbl_ampel_benutzer_bestaetigt where uid in ('gl1','if10b066');
update public.tbl_person set foto=NULL, foto_sperre=FALSE where person_id in (30566,453);
delete from campus.tbl_zeitsperre where mitarbeiter_uid='gl1';
INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz,mitarbeiter_uid,bezeichnung,vondatum,vonstunde,bisdatum,bisstunde,vertretung_uid,updateamum,updatevon,insertamum,insertvon,erreichbarkeit_kurzbz,freigabeamum,freigabevon) VALUES ('Urlaub', 'gl1', 'Urlaub', '2013-05-01', NULL, '2013-05-03', NULL, NULL,NULL,NULL, now(), 'gl1',NULL,now(), 'kindlm');
INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz,mitarbeiter_uid,bezeichnung,vondatum,vonstunde,bisdatum,bisstunde,vertretung_uid,updateamum,updatevon,insertamum,insertvon,erreichbarkeit_kurzbz,freigabeamum,freigabevon) VALUES ('Urlaub', 'gl1', 'Urlaub', '2013-05-06', NULL, '2013-05-10', NULL, NULL,NULL,NULL, now(), 'gl1',NULL,now(), 'kindlm');
INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz,mitarbeiter_uid,bezeichnung,vondatum,vonstunde,bisdatum,bisstunde,vertretung_uid,updateamum,updatevon,insertamum,insertvon,erreichbarkeit_kurzbz,freigabeamum,freigabevon) VALUES ('Urlaub', 'gl1', 'Urlaub', '2013-07-22', NULL, '2013-07-26', NULL, NULL,NULL,NULL, now(), 'gl1',NULL,now(), 'kindlm');
INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz,mitarbeiter_uid,bezeichnung,vondatum,vonstunde,bisdatum,bisstunde,vertretung_uid,updateamum,updatevon,insertamum,insertvon,erreichbarkeit_kurzbz,freigabeamum,freigabevon) VALUES ('Urlaub', 'gl1', 'Urlaub', '2013-07-29', NULL, '2013-08-02', NULL, NULL,NULL,NULL, now(), 'gl1',NULL,now(), 'kindlm');
delete from campus.tbl_news where insertvon='gl1';
delete from campus.tbl_contentsprache where insertvon='gl1';
delete from campus.tbl_content where insertvon='gl1';
";
if($db->db_query($qry))
echo '<font color="green">ERFOLGREICH BEENDET</font>';
else
echo '<font color="red">ERROR</font>'.$db->db_last_error();
}
/* if(isset($_POST['reset_abgabe']))
{
$uid=$_POST['uid'];
echo '<br />Resetting Abgabetool '.$uid.'...';
$db = new basis_db();
$qry = "
DELETE FROM campus.tbl_paabgabe
WHERE paabgabe_id IN(SELECT paabgabe_id
FROM
campus.tbl_paabgabe
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
WHERE student_uid='".addslashes($uid)."');
DELETE FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id IN(SELECT projektarbeit_id FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($uid)."');
DELETE FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($uid)."';
";
if($db->db_query($qry))
echo '<font color="green">done</font>';
else
echo '<font color="red">error</font>'.$db->db_last_error();
}*/
?>
-130
View File
@@ -1,130 +0,0 @@
<?php
/* Copyright (C) 2012 FH 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: Karl Burkhart <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/mail.class.php');
require_once('../include/person.class.php');
require_once('../include/kontakt.class.php');
?>
<html>
<head>
<title>Zugangscode Senden</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="../skin/vilesci.css" type="text/css">
</head>
<body class="background_main">
<h2>Email an Neuanfänger schicken</h2>
<?php
$db = new basis_db();
$count = 0;
$count_studenten = 0;
$countError = 0;
$qry = "SELECT * FROM public.tbl_benutzer
JOIN public.tbl_person USING(person_id)
WHERE uid LIKE '__12%'
AND foto is null";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$kon_alt='';
$person = new person();
$person->load($row->person_id);
// private email holen
$kontakt = new kontakt();
$kontakt->load_persKontakttyp($row->person_id, 'email');
$zugangscode = $row->zugangscode;
$count_studenten+=1;
// Falls mehrere vorhanden sind, an alle schicken
foreach($kontakt->result as $kon)
{
if($kon_alt != $kon->kontakt)
{
if(sendMail($kon->kontakt, $row->nachname, $zugangscode))
{
echo $kon->kontakt.'</br>';
$count+=1;
}
else
$countError+=1;
}
$kon_alt = $kon->kontakt;
}
}
}
else
echo('Fehler bei der Abfrage aufgetreten');
echo $count.' Emails an '.$count_studenten.' Studenten geschickt. Es sind dabei '.$countError.' Fehler aufgetreten';
function sendMail($email, $name, $zugangscode)
{
// trim zugangscode
// an private email schicken
$msg = '<b>Sehr geehrter Herr/Frau '.$name.'</b><br><br>';
$msg.= 'Willkommen an der Fachhochschule Technikum Wien. <br><br>';
$msg.= 'Für Ihren FH-Ausweis, der gleichzeitig als Zutrittskarte dient, benötigen wir ein Foto von Ihnen.<br>';
$msg.= 'Bitte nutzen Sie den folgenden Link und den angegebenen Zugangscode um Ihr Foto hochzuladen.<br><br>';
$msg.= '<a href="https://cis.technikum-wien.at/cis/public/prestudententool/index.php">https://cis.technikum-wien.at/cis/public/prestudententool/index.php</a><br>';
$msg.= 'Zugangscode: '.trim($zugangscode).'<br><br>';
$msg.= 'Die Kriterien, die Ihr Foto erfüllen muss, finden Sie beim Upload oder unter <a href="https://cis.technikum-wien.at/cms/content.php?content_id=6174">https://cis.technikum-wien.at/cms/content.php?content_id=6174</a> <br><br>';
$msg.= 'Technische Unterstützung erhalten Sie unter <a href="mailto:[email protected]">[email protected]</a> <br><br>';
$msg.= 'Wir wünschen Ihnen einen erfolgreichen Start ins Studium!<br><br>';
$msg.= 'Fachhochschule Technikum Wien <br><br>';
$msg.= '---------------- <br><br>';
$msg.= '<b>Dear Mr/Ms '.$name.'</b><br><br>';
$msg.= 'Welcome to the University of Applied Sciences Technikum Wien.<br><br>';
$msg.= 'For your UAS identity card, which also serves as a key card, we need a photo of you.<br>';
$msg.= 'Please use the following link and the access code indicated in order to upload your photo.<br><br>';
$msg.= '<a href="https://cis.technikum-wien.at/cis/public/prestudententool/index.php?lang=English">https://cis.technikum-wien.at/cis/public/prestudententool/index.php</a><br>';
$msg.= 'Access code: '.trim($zugangscode).'<br><br>';
$msg.= 'You can find the criteria that your photo has to fulfil either when uploading or under <a href ="https://cis.technikum-wien.at/cms/content.php?content_id=6174&sprache=English">https://cis.technikum-wien.at/cms/content.php?content_id=6174</a><br><br>';
$msg.= 'Technical support is available under <a href="mailto:[email protected]">[email protected]</a> <br><br>';
$msg.= 'We wish you a successful start to your studies!<br><br>';
$msg.= 'University of Applied Sciences Technikum Wien';
$mail = new mail($email, 'no-reply', 'Fotoupload für Ihren FH-Ausweis', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($msg);
if($mail->send())
return true;
else
return false;
}
?>
</body>
</html>
-6
View File
@@ -1,6 +0,0 @@
<html>
<body>
<a href="sync_stpldev_stpl.php">LV-Plan Sync (Mail)</a>
<a href="sync_stpldev_stpl.php?sendmail=false">LV-Plan Sync (ohne Mails)</a>
</body>
</html>
-41
View File
@@ -1,41 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/wawi_kostenstelle.class.php');
$kostenstelle = new wawi_kostenstelle();
$kostenstelle->getAll();
$db = new basis_db();
foreach($kostenstelle->result as $row)
{
$qry = "INSERT INTO wawi.tbl_konto_kostenstelle(konto_id, kostenstelle_id, insertamum, insertvon)
SELECT konto_id, $row->kostenstelle_id, now(),'oesi' FROM wawi.tbl_konto WHERE kontonr::integer<100
AND konto_id NOT IN(SELECT konto_id FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id='$row->kostenstelle_id')";
if(!$db->db_query($qry))
echo 'Failed:'.$qry;
}
echo '<br /><br />DONE';
?>
-174
View File
@@ -1,174 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
/**
* Syncronisiert die Aufteilung von WaWi DB in FHComplete DB
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI))
die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n");
$error_log='';
$update_log='';
$anzahl_aufteilungen=0;
$anzahl_insert=0;
$anzahl_update=0;
$anzahl_delete=0;
$anzahl_fehler=0;
$starttime=date("d.m.Y H:i:s");
?>
<html>
<head>
<title>Synchro - WaWi -&gt; FAS - Aufteilung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="
SET CLIENT_ENCODING TO UNICODE;
SELECT
*, aufteilung.lupdate, aufteilung.cdate, bn_create.username_neu as insertvon, bn_update.username_neu as updatevon
FROM
aufteilung
JOIN studiengang USING(studiengang_id)
LEFT JOIN benutzer bn_update ON(aufteilung.luser=bn_update.user_id)
LEFT JOIN benutzer bn_create ON(aufteilung.luser=bn_create.user_id)
WHERE studiengang_id<>20
ORDER BY aufteilung_id
";
if($result=pg_query($conn_wawi, $qry))
{
$anzahl_aufteilungen=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//check, ob firma bereits übertragen
$qry_check="SELECT * FROM wawi.tbl_aufteilung WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'";
if($result_check=$db->db_query($qry_check))
{
if($db->db_num_rows($result_check)>0)
{
$update = false;
//Aufteilung vorhanden - Änderungen im WaWi?
if($row_check = $db->db_fetch_object($result_check))
{
if($row_check->bestellung_id!=$row->bestellung_id)
{
$update = true;
$update_log.="\nBestellung_id von $row_check->bestellung_id auf $row->bestellung_id geändert";
}
if($row_check->oe_kurzbz!=$row->oe_kurzbz)
{
$update=true;
$update_log.="\nOrganisationseinheit von $row_check->oe_kurzbz auf $row->oe_kurzbz geändert";
}
if($row_check->anteil!=$row->anteil)
{
$update=true;
$update_log.="\nAnteil von $row_check->anteil auf $row->anteil geändert";
}
if($row_check->updatevon!=$row->username_neu)
{
$update=true;
$update_log.="\nUpdateVon von $row_check->updatevon auf $row->username_neu geändert";
}
if($update)
{
$qry = "UPDATE wawi.tbl_aufteilung SET
bestellung_id=".$db->addslashes($row->bestellung_id).",
oe_kurzbz=".$db->addslashes($row->oe_kurzbz).",
anteil=".$db->addslashes($row->anteil).",
updatevon=".$db->addslashes($row->updatevon).",
updateamum=".$db->addslashes($row->lupdate)."
WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'";
if($db->db_query($qry))
{
$anzahl_update++;
}
else
{
$error_log.="\nFehler beim Update: $qry";
$anzahl_fehler++;
}
}
}
}
else
{
//Aufteilung nicht vorhanden
$qry="INSERT INTO wawi.tbl_aufteilung(aufteilung_id, bestellung_id, oe_kurzbz, anteil,
insertamum, insertvon, updateamum, updatevon) VALUES("
.$db->addslashes($row->aufteilung_id).","
.$db->addslashes($row->bestellung_id).","
.$db->addslashes($row->oe_kurzbz).","
.$db->addslashes($row->anteil).","
.$db->addslashes($row->cdate).","
.$db->addslashes($row->insertvon).","
.$db->addslashes($row->lupdate).","
.$db->addslashes($row->updatevon).");";
if($db->db_query($qry))
{
$anzahl_insert++;
}
else
{
$error_log.="\nFehler beim Insert: $qry";
$anzahl_fehler++;
}
}
}
else
{
$error_log.="\nFehler bei Select: $qry_check";
$anzahl_fehler++;
}
}
if(!$db->db_query("SELECT setval('wawi.seq_aufteilung_aufteilung_id',(SELECT max(aufteilung_id) FROM wawi.tbl_aufteilung));"))
{
$error_log.="\nFehler beim Update der Sequence";
$anzahl_fehler++;
}
//Mail versenden
$statistik="Aufteilung Default Sync\n--------------\n";
$statistik.="Beginn: ".$starttime." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_aufteilungen."\n\n";
$statistik.="\nEingefügte Datensätze: $anzahl_insert";
$statistik.="\nGeänderte Datensätze: $anzahl_update";
$statistik.="\nFehler: $anzahl_fehler\n";
$synced=$statistik.$error_log.$update_log;
$mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Aufteilung Default von ".DB_NAME, $synced);
$mail->setReplyTo("vilesci@".DOMAIN);
if(!$mail->send())
{
echo "<font color=\"#FF0000\">Fehler beim Versenden des Durchführungs-Mails!</font><br>";
}
}
?>
-174
View File
@@ -1,174 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
/**
* Syncronisiert die Default Aufteilung von WaWi DB in FHComplete DB
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI))
die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n");
$error_log='';
$update_log='';
$anzahl_aufteilungen=0;
$anzahl_insert=0;
$anzahl_update=0;
$anzahl_delete=0;
$anzahl_fehler=0;
$starttime = date("d.m.Y H:i:s");
?>
<html>
<head>
<title>Synchro - WaWi -&gt; FAS - Aufteilung Default</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="
SET CLIENT_ENCODING TO UNICODE;
SELECT
*, aufteilung_default.lupdate
FROM
aufteilung_default
JOIN studiengang USING(studiengang_id)
LEFT JOIN benutzer ON(aufteilung_default.luser=user_id)
WHERE studiengang_id<>20
ORDER BY aufteilung_id
";
if($result=pg_query($conn_wawi, $qry))
{
$anzahl_aufteilungen=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//check, ob firma bereits übertragen
$qry_check="SELECT * FROM wawi.tbl_aufteilung_default WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'";
if($result_check=$db->db_query($qry_check))
{
if($db->db_num_rows($result_check)>0)
{
$update = false;
//Aufteilung vorhanden - Änderungen im WaWi?
if($row_check = $db->db_fetch_object($result_check))
{
if($row_check->kostenstelle_id!=$row->kostenstelle_id)
{
$update = true;
$update_log.="\nKostenstelle_id von $row_check->kostenstelle auf $row->kostenstelle_id geändert";
}
if($row_check->oe_kurzbz!=$row->oe_kurzbz)
{
$update=true;
$update_log.="\nOrganisationseinheit von $row_check->oe_kurzbz auf $row->oe_kurzbz geändert";
}
if($row_check->anteil!=$row->anteil)
{
$update=true;
$update_log.="\nAnteil von $row_check->anteil auf $row->anteil geändert";
}
if($row_check->updatevon!=$row->username_neu)
{
$update=true;
$update_log.="\nUpdateVon von $row_check->updatevon auf $row->username_neu geändert";
}
if($update)
{
$qry = "UPDATE wawi.tbl_aufteilung_default SET
kostenstelle_id=".$db->addslashes($row->kostenstelle_id).",
oe_kurzbz=".$db->addslashes($row->oe_kurzbz).",
anteil=".$db->addslashes($row->anteil).",
updatevon=".$db->addslashes($row->username_neu).",
updateamum=".$db->addslashes($row->lupdate)."
WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'";
if($db->db_query($qry))
{
$anzahl_update++;
}
else
{
$error_log.="\nFehler beim Update: $qry";
$anzahl_fehler++;
}
}
}
}
else
{
//Aufteilung nicht vorhanden
$qry="INSERT INTO wawi.tbl_aufteilung_default(aufteilung_id, kostenstelle_id, oe_kurzbz, anteil,
insertamum, insertvon, updateamum, updatevon) VALUES("
.$db->addslashes($row->aufteilung_id).","
.$db->addslashes($row->kostenstelle_id).","
.$db->addslashes($row->oe_kurzbz).","
.$db->addslashes($row->anteil).","
.$db->addslashes($row->lupdate).","
.$db->addslashes($row->username_neu).","
.$db->addslashes($row->lupdate).","
.$db->addslashes($row->username_neu).");";
if($db->db_query($qry))
{
$anzahl_insert++;
}
else
{
$error_log.="\nFehler beim Insert: $qry";
$anzahl_fehler++;
}
}
}
else
{
$error_log.="\nFehler bei Select: $qry_check";
$anzahl_fehler++;
}
}
if(!$db->db_query("SELECT setval('wawi.seq_aufteilung_default_aufteilung_id',(SELECT max(aufteilung_id) FROM wawi.tbl_aufteilung_default));"))
{
$error_log.="\nFehler beim Update der Sequence";
$anzahl_fehler++;
}
//Mail versenden
$statistik="Aufteilung Default Sync\n--------------\n";
$statistik.="Beginn: ".$starttime." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_aufteilungen."\n\n";
$statistik.="\nEingefügte Datensätze: $anzahl_insert";
$statistik.="\nGeänderte Datensätze: $anzahl_update";
$statistik.="\nFehler: $anzahl_fehler\n";
$synced=$statistik.$error_log.$update_log;
$mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Aufteilung Default von ".DB_NAME, $synced);
$mail->setReplyTo("vilesci@".DOMAIN);
if(!$mail->send())
{
echo "<font color=\"#FF0000\">Fehler beim Versenden des Durchführungs-Mails!</font><br>";
}
}
?>
-287
View File
@@ -1,287 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
/**
* Syncronisiert die Aufteilung von WaWi DB in FHComplete DB
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/berechtigung.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI))
die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n");
$error_log='';
$update_log='';
$anzahl=0;
$anzahl_insert=0;
$anzahl_update=0;
$anzahl_delete=0;
$anzahl_fehler=0;
$starttime=date("d.m.Y H:i:s");
checkBerechtigung('wawi/bestellung','Bestellungen verwalten');
checkBerechtigung('wawi/rechnung','Rechnungen verwalten');
checkBerechtigung('wawi/konto','Konten verwalten');
checkBerechtigung('wawi/kostenstelle','Kostenstellen verwalten');
checkBerechtigung('wawi/freigabe','Freigeben von Bestellungen');
checkBerechtigung('wawi/rechnung_freigeben','Freigeben von Rechnungen');
checkBerechtigung('wawi/rechnung_transfer','Setzen des TransferDatums von Rechnungen');
?>
<html>
<head>
<title>Synchro - WaWi -&gt; FAS - Berechtigung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*
* Berechtigungen holen, Spalten:
* username_neu, lesen, schreiben, freigeben, verwalten, kostenstelle_id, oe_kurzbz
*
* Direkte Kostenstellenzuordnung
* UNION
* Direkte Studiengangszuordnung
*/
$qry="
SET CLIENT_ENCODING TO UNICODE;
SELECT
username_neu, lesen, schreiben, freigeben, verwalten, kostenstelle_id, null as oe_kurzbz
FROM
public.kostenstelle_benutzer
JOIN public.benutzer USING(user_id)
UNION
SELECT
username_neu, lesen, schreiben, freigeben, verwalten, null as kostenstelle_id, oe_kurzbz
FROM
public.studiengang_benutzer
JOIN public.benutzer USING(user_id)
JOIN public.studiengang USING(studiengang_id)
";
/*
* Wird nicht uebernommen:
*
* Kostenstellenzuordnung über Gruppen
* UNION
* Studiengangszuordnung über Gruppen
* UNION
SELECT
username_neu, lesen, schreiben, freigeben, verwalten, kostenstelle_id, null as oe_kurzbz
FROM
public.kostenstelle_gruppe
JOIN public.gruppe_benutzer USING(gruppe_id)
JOIN public.benutzer USING(user_id)
UNION
SELECT
username_neu, lesen, schreiben, freigeben, verwalten, null as kostenstelle_id, oe_kurzbz
FROM
public.studiengang_gruppe
JOIN public.gruppe_benutzer USING(gruppe_id)
JOIN public.benutzer USING(user_id)
JOIN public.studiengang USING(studiengang_id)
UNION
*/
if($result=pg_query($conn_wawi, $qry))
{
$anzahl=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
if($row->username_neu=='test')
continue;
if($row->freigeben=='t' && $row->kostenstelle_id!='')
{
// wawi/freigabe suid kostenstelle_id
addBerechtigung($row->username_neu, 'wawi/freigabe', 'suid', null, $row->kostenstelle_id);
}
$art='';
if($row->lesen=='t')
$art='s';
if($row->schreiben=='t')
$art.='uid';
if($art!='')
{
// wawi/bestellung $art $kostenstelle_id/$oe_kurzbz
addBerechtigung($row->username_neu, 'wawi/bestellung', $art, $row->oe_kurzbz, $row->kostenstelle_id);
// wawi/rechnung $art $kostenstelle_id/$oe_kurzbz
addBerechtigung($row->username_neu, 'wawi/rechnung', $art, $row->oe_kurzbz, $row->kostenstelle_id);
// wawi/firma sui Firmenverwaltung fuer alle freischalten die eine berechtigung im wawi haben
addBerechtigung($row->username_neu, 'wawi/firma', 'sui', null, null);
}
}
/**
* Permissions aufgrund des Feldes perms
*/
//GST
$qry = "SELECT username_neu FROM public.benutzer WHERE perms='gst'";
if($result = pg_query($conn_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
addBerechtigung($row->username_neu, 'wawi/freigabe', 'suid', 'gst', null);
}
}
//REK
$qry = "SELECT username_neu FROM public.benutzer WHERE perms='rek'";
if($result = pg_query($conn_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
addBerechtigung($row->username_neu, 'wawi/freigabe', 'suid', 'etw', null);
}
}
//GMBH
$qry = "SELECT username_neu FROM public.benutzer WHERE perms='gmb'";
if($result = pg_query($conn_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
addBerechtigung($row->username_neu, 'wawi/freigabe', 'suid', 'gmbh', null);
}
}
//Admin
$qry = "SELECT username_neu FROM public.benutzer WHERE perms='admin'";
if($result = pg_query($conn_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
addBerechtigung($row->username_neu, 'wawi/konto', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/kostenstelle', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/bestellung', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/rechnung', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/rechnung_transfer', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/rechnung_freigeben', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/firma', 'suid', null, null);
addBerechtigung($row->username_neu, 'wawi/budget', 'suid', 'gst', null);
addBerechtigung($row->username_neu, 'wawi/storno', 'suid', 'gst', null);
}
}
//Mail versenden
$statistik="Berechtigung Sync\n--------------\n";
$statistik.="Beginn: ".$starttime." von ".DB_NAME." - Anzahl Einträge: ".$anzahl."\n\n";
$statistik.="\nEingefügte Datensätze: $anzahl_insert";
$statistik.="\nGeänderte Datensätze: $anzahl_update";
$statistik.="\nFehler: $anzahl_fehler\n";
$synced=$statistik.$error_log.$update_log;
$mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Berechtigung von ".DB_NAME, $synced);
$mail->setReplyTo("vilesci@".DOMAIN);
if(!$mail->send())
{
echo "<font color=\"#FF0000\">Fehler beim Versenden des Durchführungs-Mails!</font><br>";
}
}
/**
* Prueft ob die Berechtigung (Benutzerrolle) vorhanden ist. Wenn nicht wird diese Angelegt
* @param $username
* @param $berechtigung_kurbz
* @param $art
* @param $oe_kurzbz
* @param $kostenstelle_id
*/
function addBerechtigung($username, $berechtigung_kurzbz, $art, $oe_kurzbz, $kostenstelle_id)
{
global $error_log, $anzahl_fehler, $anzahl_insert, $db;
$qry = "SELECT * FROM system.tbl_benutzerrolle
WHERE
uid='".addslashes($username)."'
AND berechtigung_kurzbz='".addslashes($berechtigung_kurzbz)."'";
if($oe_kurzbz!='')
$qry.=" AND oe_kurzbz='".addslashes($oe_kurzbz)."'";
if($kostenstelle_id!='')
$qry.=" AND kostenstelle_id='".addslashes($kostenstelle_id)."'";
if($art!='')
$qry.=" AND art='".addslashes($art)."'";
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)==0)
{
$rechte = new benutzerberechtigung();
$rechte->uid = $username;
$rechte->berechtigung_kurzbz = $berechtigung_kurzbz;
$rechte->art = $art;
$rechte->oe_kurzbz = $oe_kurzbz;
$rechte->kostenstelle_id = $kostenstelle_id;
$rechte->insertamum = date('Y-m-d H:i:s');
$rechte->inservon = 'Syncro';
$rechte->new = true;
if($rechte->save())
{
$anzahl_insert++;
}
else
{
$anzahl_fehler++;
$error_log.="\n".$rechte->errormsg;
}
}
}
}
/**
* Prueft ob eine Berechtigung vorhanden ist und legt diese ggf an
* @param $berechtigung_kurzbz
* @param $beschreibung
*/
function checkBerechtigung($berechtigung_kurzbz, $beschreibung)
{
global $error_log, $anzahl_fehler;
$berechtigung = new berechtigung();
if(!$berechtigung->load($berechtigung_kurzbz))
{
$berechtigung->berechtigung_kurzbz=$berechtigung_kurzbz;
$berechtigung->beschreibung=$beschreibung;
$berechtigung->new = true;
if(!$berechtigung->save())
{
$error_log.="\nFehler beim Anlegen der Berechtigung wawi/bestellung";
$anzahl_fehler++;
}
}
}
?>
-622
View File
@@ -1,622 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/datum.class.php');
$db = new basis_db();
$date = new datum();
$count_insert = 0;
$count_insert_detail = 0;
$count_insert_status = 0;
$count_update = 0;
$count_update_detail = 0;
$count_update = 0;
$count_delete = 0;
$error_count = 0;
$errormsg = '';
$starttime=date("d.m.Y H:i:s");
$bool_insert = false;
$firma_id = '';
if($con_wawi = pg_connect(CONN_STRING_WAWI))
{
if(!pg_query($con_wawi, 'SET CLIENT_ENCODING TO UNICODE;'))
{
$errormsg .= 'Fehler beim Setzen des Encodings';
}
$qry =" SELECT
*,
public.bestellung_freigegeben.bestellung_id as bestellung_id_freigegeben,
bestellung.titel as newtitel,
cbenutzer.username_neu as cusername,
lbenutzer.username_neu as lusername,
kst_benutzer.username_neu as kst_username,
rek_benutzer.username_neu as rek_username,
gst_benutzer.username_neu as gst_username,
gmb_benutzer.username_neu as gmb_username,
geliefert_benutzer.username_neu as geliefert_username,
besteller.username_neu as besteller_neu,
public.bestellung.firma_id as firma
FROM public.bestellung
LEFT JOIN public.bestellung_freigegeben USING (bestellung_id)
LEFT JOIN public.benutzer kst_benutzer ON (freigb_kst_user_id=kst_benutzer.user_id)
LEFT JOIN public.benutzer rek_benutzer ON (freigb_rek_user_id=rek_benutzer.user_id)
LEFT JOIN public.benutzer gst_benutzer ON (freigb_gst_user_id=gst_benutzer.user_id)
LEFT JOIN public.benutzer gmb_benutzer ON (freigabe_gmb_user_id=gmb_benutzer.user_id)
LEFT JOIN public.benutzer geliefert_benutzer ON(geliefert_user_id=geliefert_benutzer.user_id)
LEFT JOIN public.benutzer cbenutzer ON (public.bestellung.cuser=cbenutzer.user_id)
LEFT JOIN public.benutzer lbenutzer ON (public.bestellung.luser=lbenutzer.user_id)
LEFT JOIN public.benutzer besteller ON (public.bestellung.kontaktperson=besteller.user_id)
ORDER BY bestellung_id DESC";
if($result = pg_query($con_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
// firma id joinen
if ( $row->firma != '')
{
$qry_firma = "SELECT firma_id from public.tbl_firma where ext_id = '$row->firma'";
if($result_firma = $db->db_query($qry_firma))
{
if($row_firma = $db->db_fetch_object($result_firma))
{
$firma = $row_firma->firma_id;
}
}
else
{
//fehler aufgetreten
$error_count++;
$errormsg.= $qry_firma.' '.pg_last_error($con_wawi);
}
}
else
{
$firma = null;
}
// ob es den eintrag schon gibt.
$qry = "SELECT * FROM wawi.tbl_bestellung WHERE bestellung_id=$row->bestellung_id;";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)>0)
{
$bool_insert=false;
if($row_neu = $db->db_fetch_object($result_check))
{
//update der bestellung
if($row->bestellung_id_freigegeben != null)
$freigegeben = "t";
else
$freigegeben = "f";
if($row_neu->besteller_uid != $row->besteller_neu || $row_neu->kostenstelle_id != $row->kostenstelle_id || $row_neu->konto_id != $row->konto_id || $row_neu->firma_id != $firma || $row_neu->bestell_nr != $row->bestellnr ||
$row_neu->titel != $row->newtitel || $row_neu->bemerkung != $row->bemerkungen || $row_neu->liefertermin != $row->liefertermin || $row_neu->updatevon != $row->lusername ||
$row_neu->insertvon != $row->cusername || $date->formatDatum($row_neu->updateamum, 'Y-m-d H:i:s') != $date->formatDatum($row->lupdate, 'Y-m-d H:i:s') ||
$date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->erstellung, 'Y-m-d H:i:s') || $row_neu->freigegeben!=$freigegeben)
{
$qry="UPDATE wawi.tbl_bestellung SET besteller_uid = ".$db->addslashes($row->besteller_neu).", kostenstelle_id = ".$db->addslashes($row->kostenstelle_id).", konto_id = ".$db->addslashes($row->konto_id).", firma_id =
".$db->addslashes($firma)." ,bestell_nr = ".$db->addslashes($row->bestellnr).", titel = ".$db->addslashes($row->newtitel).", bemerkung = ".$db->addslashes($row->bemerkungen).", freigegeben=".($freigegeben=='t'?'true':'false').", liefertermin=
".$db->addslashes($row->liefertermin).", updateamum = ".$db->addslashes($row->lupdate).", updatevon = ".$db->addslashes($row->lusername).", insertamum = ".$db->addslashes($row->erstellung).", insertvon =
".$db->addslashes($row->cusername)." WHERE bestellung_id = ".$db->addslashes($row->bestellung_id).";";
if($db->db_query($qry) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry.' '.$db->db_last_error();
}
$count_update++;
$errormsg.= "Update Bestellung_id: ".$row->bestellung_id.'<br>';
}
}
if($row->freigb_kst != '')
{
// gibt es schon die freigabe
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Freigabe' AND oe_kurzbz is null;";
// echo $qry;
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->kst_username).",null,".$db->addslashes($row->freigb_kst).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
// Prüfung ob sich Freigabe geändert hat
if($row->freigb_rek != '')
{
// gibt es schon die freigabe
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Freigabe' and oe_kurzbz = 'etw'";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->rek_username).",'etw',".$db->addslashes($row->freigb_rek).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
if($row->freigb_gst != '')
{
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Freigabe' and oe_kurzbz = 'gst';";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->gst_username).",'gst',".$db->addslashes($row->freigb_gst).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
if($row->freigabe_gmb != '')
{
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Freigabe' and uid = ".$db->addslashes($row->gmb_username)." and oe_kurzbz = 'gmbh'";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->gmb_username).",'gmbh',".$db->addslashes($row->freigabe_gmb).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
if($row->geliefert != '')
{
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Lieferung' and uid = ".$db->addslashes($row->geliefert_username).";";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Lieferung').",".$db->addslashes($row->geliefert_username).",null,".$db->addslashes($row->geliefert).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
if($row->bestellung != '')
{
$qry = "SELECT * FROM wawi.tbl_bestellung_bestellstatus where bestellung_id = ".$db->addslashes($row->bestellung_id)." and bestellstatus_kurzbz = 'Bestellung'";
if($result_check = $db->db_query($qry))
{
if($db->db_num_rows($result_check)==0)
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Bestellung').",null, null,".$db->addslashes($row->bestellung).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
}
else
{
// insert bestellung
if($row->bestellung_id_freigegeben != null)
$freigegeben = "true";
else
$freigegeben = "false";
// lieferadresse,rechnungsadresse = immer 1 -> public.tbl_adresse id1
$qry="INSERT INTO wawi.tbl_bestellung(bestellung_id, besteller_uid, kostenstelle_id, konto_id, firma_id, lieferadresse,
rechnungsadresse, freigegeben, bestell_nr, titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon,
ext_id) VALUES (
".$db->addslashes($row->bestellung_id).",".$db->addslashes($row->besteller_neu).",".$db->addslashes($row->kostenstelle_id).",
".$db->addslashes($row->konto_id).",".$db->addslashes($firma).",".$db->addslashes('1').",".$db->addslashes('1').",
".$freigegeben.",".$db->addslashes($row->bestellnr).",".$db->addslashes($row->newtitel).",".$db->addslashes($row->bemerkungen).",
".$db->addslashes($row->liefertermin).",".$db->addslashes($row->lupdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->erstellung).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->bestellung_id).")";
//echo $qry;
if($db->db_query($qry) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry.' '.$db->db_last_error();
}
$bool_insert=true;
$count_insert++;
// insert tbl_bestellung_bestellstatus
if($row->freigb_kst != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->kst_username).",null,".$db->addslashes($row->freigb_kst).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
if($row->freigb_rek != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->rek_username).",'etw',".$db->addslashes($row->freigb_rek).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
if($row->freigb_gst != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->gst_username).",'gst',".$db->addslashes($row->freigb_gst).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
if($row->freigabe_gmb != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Freigabe').",".$db->addslashes($row->gmb_username).",'gmbh',".$db->addslashes($row->freigabe_gmb).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
if($row->geliefert != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Lieferung').",".$db->addslashes($row->geliefert_username).",null,".$db->addslashes($row->geliefert).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
if($row->bestellung != '')
{
$qry_stati = "INSERT INTO wawi.tbl_bestellung_bestellstatus(bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum)
VALUES(
".$db->addslashes($row->bestellung_id).",".$db->addslashes('Bestellung').",null, null,".$db->addslashes($row->bestellung).",
".$db->addslashes($row->cusername).",".$db->addslashes($row->cdate).",".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).")";
if($db->db_query($qry_stati) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry_stati.' '.$db->db_last_error();
}
$count_insert_status++;
}
}
}
// alle bestelldetails zu bestellung holen
$qry = "SELECT
*, benutzer.username_neu as lusername
FROM
public.bestelldetail
LEFT JOIN public.benutzer ON(bestelldetail.luser=benutzer.user_id)
WHERE bestellung_id = $row->bestellung_id";
if($result_detail = pg_query($con_wawi, $qry))
{
while($row = pg_fetch_object($result_detail))
{
//echo $row->bestelldetail_id."<br>";
// ob eintrag in neuer Tabelle schon vorhanden ist
$qry = "SELECT * FROM wawi.tbl_bestelldetail WHERE bestelldetail_id = $row->bestelldetail_id";
if($bool_insert || $result_check = $db->db_query($qry))
{
if($bool_insert || $db->db_num_rows($result_check)==0)
{
// insert bestelldetails
$qry = "INSERT INTO wawi.tbl_bestelldetail (bestelldetail_id, bestellung_id, position, menge, verpackungseinheit,
beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, text, insertamum, insertvon, updateamum, updatevon)
VALUES (
".$db->addslashes($row->bestelldetail_id).",".$db->addslashes($row->bestellung_id).",".$db->addslashes($row->pos).",
".$db->addslashes($row->menge).",".$db->addslashes($row->ve).",".$db->addslashes($row->beschreibung).",
".$db->addslashes($row->artikelnr).",".$db->addslashes($row->preisve).",".$db->addslashes($row->mwst).",
".$db->addslashes($row->erhalten).",".$db->addslashes($row->pos).", false ,".$db->addslashes($row->lupdate).",
".$db->addslashes($row->lusername).",".$db->addslashes($row->lupdate).",".$db->addslashes($row->lusername).")";
//echo $qry;
if($db->db_query($qry) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry.' '.$db->db_last_error();
}
$count_insert_detail++;
}
else
{
// update bestelldetails
if($row_neu = $db->db_fetch_object($result_check))
{
if($row_neu->bestellung_id != $row->bestellung_id || $row_neu->position != $row->pos || $row_neu->menge != $row->menge ||$row_neu->verpackungseinheit != $row->ve ||
$row_neu->beschreibung != $row->beschreibung || $row_neu->artikelnummer != $row->artikelnr || round($row_neu->preisprove,2) != round($row->preisve,2) || $row_neu->mwst != $row->mwst)
{
//echo $row->preisve."<br>";
//echo $row_neu->preisprove."<br><br>";
$qry = "UPDATE wawi.tbl_bestelldetail SET position =
".$db->addslashes($row->pos).", menge = ".$db->addslashes($row->menge).", verpackungseinheit = ".$db->addslashes($row->ve).", beschreibung =
".$db->addslashes($row->beschreibung).", artikelnummer = ".$db->addslashes($row->artikelnr).", preisprove =
".$db->addslashes($row->preisve).", mwst = ".$db->addslashes($row->mwst).", erhalten = ".$db->addslashes($row->erhalten).", sort =
".$db->addslashes($row->pos).", text = false, insertamum = ".$db->addslashes($row->lupdate).", insertvon = ".$db->addslashes($row->lusername).", updateamum =
".$db->addslashes($row->lupdate).", updatevon = ".$db->addslashes($row->lusername)." WHERE bestelldetail_id = ".$db->addslashes($row->bestelldetail_id).";";
if($db->db_query($qry) != true)
{
// Fehler
$error_count++;
$errormsg.= $qry.' '.$db->db_last_error();
}
$count_update_detail++;
$errormsg.= "Update Bestelldetail_id: ".$row->bestelldetail_id.'<br>';
}
}
}
}
}
}
} // ende while
}
else
{
$error_count++;
$errormsg.= "Verbindung zu Datenbank fehlgeschlagen.";
}
// delete --> bestellungen die es im wawi nicht mehr gibt
$qry_delete = "DELETE
FROM
wawi.tbl_bestellung
WHERE NOT EXISTS (
SELECT bestellung_id FROM
dblink(
'".CONN_STRING_WAWI."'::text,
'SELECT bestellung_id FROM public.bestellung WHERE bestellung_id=' || tbl_bestellung.bestellung_id
)
as foo(bestellung_id integer));";
if($result_delete = $db->db_query($qry_delete))
{
$count_delete += $db->db_affected_rows($result_delete);
}
else
{
$error_count++;
$errormsg.= "Fehler beim Löschen der Bestellungen! ".$db->db_last_error();
}
// delete --> bestelldetails die es im wawi nicht mehr gibt
$qry_delete = "DELETE
FROM
wawi.tbl_bestelldetail
WHERE NOT EXISTS (
SELECT bestelldetail_id FROM
dblink(
'".CONN_STRING_WAWI."'::text,
'SELECT bestelldetail_id FROM public.bestelldetail WHERE bestelldetail_id=' || tbl_bestelldetail.bestelldetail_id
)
as foo(bestelldetail_id integer));";
if($result_delete = $db->db_query($qry_delete))
{
$count_delete += $db->db_affected_rows($result_delete);
}
else
{
$error_count++;
$errormsg.= "Fehler beim Löschen der Bestelldetails! ".$db->db_last_error();
}
if ($count_insert >0)
{
$max_qry= "SELECT MAX(bestellung_id) as max FROM wawi.tbl_bestellung";
if($result_max = $db->db_query($max_qry))
{
if($row_max = $db->db_fetch_object($result_max))
{
$set_qry ="SELECT setval('wawi.seq_bestellung_bestellung_id', $row_max->max)";
$db->db_query($set_qry);
}
else
{
$error_count++;
$errormsg.= $set_qry.' '.$db->db_last_error();
}
}
else
$error_count++;
}
if ($count_insert_detail >0)
{
$max_qry= "SELECT MAX(bestelldetail_id) as max from wawi.tbl_bestelldetail";
if($result_max = $db->db_query($max_qry))
{
if($row_max = $db->db_fetch_object($result_max))
{
$set_qry ="SELECT setval('wawi.seq_bestelldetail_bestelldetail_id', $row_max->max)";
$db->db_query($set_qry);
}
else
{
$error_count++;
$errormsg.= $set_qry.' '.$db->db_last_error();
}
}
else
$error_count++;
}
if ($count_insert_status >0)
{
$max_qry= "SELECT MAX(bestellung_bestellstatus_id) as max from wawi.tbl_bestellung_bestellstatus";
if($result_max = $db->db_query($max_qry))
{
if($row_max = $db->db_fetch_object($result_max))
{
$set_qry ="SELECT setval('wawi.seq_bestellung_bestellstatus_bestellung_bestellstatus_id', $row_max->max)";
$db->db_query($set_qry);
}
else
{
$error_count++;
$errormsg.= $set_qry.' '.$db->db_last_error();
}
}
else
$error_count++;
}
echo $errormsg;
$send_msg = "
Bestellungen Syncro
Beginn: ".$starttime." von ".DB_NAME."
$count_update Bestellungen wurden geändert.
$count_update_detail Bestelldetails wurden geändert.
$count_insert Bestellungen wurden hinzugefügt.
$count_insert_detail Bestelldetails wurden hinzugefügt.
$count_insert_status Bestellstati wurden hinzugefügt.
$count_delete Bestellungen wurden gelöscht.
$error_count Fehler sind dabei aufgetreten.
";
echo $send_msg;
$mail = new mail(MAIL_ADMIN, '[email protected]', 'WaWi Syncro - Bestellung', $send_msg.$errormsg);
if(!$mail->send())
echo 'Fehler beim Senden des Mails';
else
echo '<br> Mail verschickt!';
}
?>
-213
View File
@@ -1,213 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/datum.class.php');
$errormsg = '';
$ausgabe = '';
$updated_lines = '';
$error_count=0;
$insert_count=0;
$update_count=0;
$interval ='';
$date = new datum();
$db = new basis_db();
//Datenbankverbindung zur WaWi Datenbank herstellen
if ($conn_wawi = pg_pconnect(CONN_STRING_WAWI))
{
//Encoding auf UTF8 setzen, da die WaWi Datenbank LATIN9 kodiert ist
if(!pg_query($conn_wawi, 'SET CLIENT_ENCODING TO UNICODE;'))
{
$errormsg .= 'Fehler beim Setzen des Encodings';
$error_count++;
}
//Alle Kontoeintraege aus der WaWi Datenbank holen
$qry = 'SELECT
*,
cbenutzer.username as cusername,
lbenutzer.username as lusername,
konto.lupdate as lkontoupdate
FROM
public.konto
LEFT JOIN public.benutzer cbenutzer ON (cuser=user_id)
LEFT JOIN public.benutzer lbenutzer ON (konto.luser=lbenutzer.user_id)
;';
if($result = pg_query($conn_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
//Dazupassenden Eintrag in der neuen Datenbank suchen
$qry = "SELECT *, beschreibung[1] AS first_beschreibung FROM wawi.tbl_konto WHERE konto_id='".addslashes($row->konto)."'";
if($result_neu = $db->db_query($qry))
{
if($db->db_num_rows($result_neu)>0)
{
//Wenn der Eintrag in der neuen Datenbank bereits vorhanden ist -> Update
if($row_neu = $db->db_fetch_object($result_neu))
{
$update = 'UPDATE wawi.tbl_konto SET ';
$bedingung = '';
//Spalten ueberpruefen
if($row_neu->kontonr != $row->kontonr)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " kontonr=".$db->addslashes($row->kontonr);
$updated_lines .= "kontonr von: \"".$row_neu->kontonr."\" auf: \"".$row->kontonr."\"\n";
$update_count++;
}
//Wenn sich Beschreibung ändert, ändert sich kurzbeschreibung auch mit
if($row_neu->first_beschreibung != $row->beschreibung)
{
$kurzbz = substr($row->beschreibung, 0, 32);
if($bedingung!='')
$bedingung.=',';
$bedingung .= " beschreibung[1]=".$db->addslashes($row->beschreibung);
$bedingung .= ", kurzbz =".$db->addslashes($kurzbz);
$updated_lines .= "beschreibung von: \"".$row_neu->first_beschreibung."\" auf: \"".$row->beschreibung."\" \n";
$updated_lines .= "kurzbz von: \"".$row_neu->kurzbz."\" auf: \"".$kurzbz."\" \n";
$update_count+= 2;
}
if($date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->cdate, 'Y-m-d H:i:s'))
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " insertamum=".$db->addslashes($row->cdate);
$updated_lines .= "insertamum von: \"".$row_neu->insertamum."\" auf: \"".$row->cdate."\" \n";
$update_count++;
}
if ($row_neu->insertvon != $row->cusername)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " insertvon=".$db->addslashes($row->cusername);
$updated_lines .= "insertvon von: \"".$row_neu->insertvon."\" auf: \"".$row->cusername."\" \n";
$update_count++;
}
if($date->formatDatum($row_neu->updateamum, 'Y-m-d H:i:s') != $date->formatDatum($row->lkontoupdate, 'Y-m-d H:i:s'))
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " updateamum=".$db->addslashes($row->lkontoupdate);
$updated_lines .= "updateamum von: \"".$row_neu->updateamum."\" auf: \"".$row->lkontoupdate."\" \n";
$update_count++;
}
if($row_neu->updatevon != $row->lusername)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " updatevon=".$db->addslashes($row->lusername);
$updated_lines .= "updatevon von: \"".$row_neu->updatevon."\" auf: \"".$row->lusername."\" \n";
$update_count++;
}
if($updated_lines != '')
$ausgabe .= "ID ".$row_neu->konto_id.": ".$updated_lines."\n \n";
$updated_lines ='';
}
if ($bedingung !='')
{
$update .= $bedingung." WHERE konto_id =".$row_neu->konto_id.";";
//echo ($update);
$db->db_query($update);
}
}
else
{
//Wenn der Eintrag noch nicht vorhanden ist, dann wird er neu angelegt
$kurzbz = substr($row->beschreibung, 0, 32);
$insert_qry = "INSERT INTO
wawi.tbl_konto
(konto_id, kontonr, beschreibung, kurzbz, aktiv, insertamum, insertvon, updateamum, updatevon)
VALUES (
".$row->konto.",".$row->kontonr.","."ARRAY[".$db->addslashes($row->beschreibung).", 'EE_".$row->beschreibung."']".",
".$db->addslashes($kurzbz).", true, ".$db->addslashes($row->cdate).",".$db->addslashes($row->cusername).",
".$db->addslashes($row->lkontoupdate).",".$db->addslashes($row->lusername).");";
$insert_count++;
//echo ($insert_qry);
if($db->db_query($insert_qry) != true)
$error_count++;
}
}
}
}
}
else
{
$errormsg .= 'Es konnte keine Verbindung zum WAWI Server aufgebaut werden';
$error_count++;
}
//Sequenz neu setzen
if ($insert_count >0)
{
$max_qry= "SELECT MAX(konto_id) as max from wawi.tbl_konto";
if($result_max = $db->db_query($max_qry))
{
if($row_max = $db->db_fetch_object($result_max))
{
$set_qry ="SELECT setval('wawi.seq_konto_konto_id', $row_max->max)";
$db->db_query($set_qry);
}
else
$error_count++;
}
else
$error_count++;
}
$msg = "
$update_count Datensätze wurden geändert.
$insert_count Datensätze wurden hinzugefügt.
$error_count Fehler sind dabei aufgetreten!
$ausgabe
";
$msg.=$errormsg;
$mail = new mail(MAIL_ADMIN, 'vilesci.technikum-wien.at', 'WaWi Syncro - Konto', $msg);
if(!$mail->send())
echo 'Fehler beim Senden des Mails';
else
echo '<br> Mail verschickt!';
?>
-358
View File
@@ -1,358 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/datum.class.php');
$errormsg = '';
$error_count = 0;
$insert_count =0;
$update_count =0;
$updated_lines ='';
$ausgabe ='';
$date = new datum();
$db = new basis_db();
//Datenbankverbindung zum WaWi Server herstellen
if($con_wawi = pg_connect(CONN_STRING_WAWI))
{
if(!pg_query($con_wawi, 'SET CLIENT_ENCODING TO UNICODE;'))
{
$errormsg .= 'Fehler beim Setzen des Encodings';
}
//Alle Kostenstellen aus der WaWi Datenbank holen
$qry = 'SELECT
*,
cbenutzer.username as cusername,
lbenutzer.username as lusername,
dbenutzer.username as dusername,
kostenstelle.lupdate as lkostenupdate,
kostenstelle.cdate as ckostendate,
kostenstelle.bezeichnung as kostenbezeichnung,
kostenstelle.kurzzeichen as kostenkurzzeichen,
kostenstelle.duser as deleteuser,
kostenstelle.ddate as deletedate
FROM
public.kostenstelle
LEFT JOIN public.benutzer cbenutzer ON (cuser=user_id)
LEFT JOIN public.benutzer lbenutzer ON (kostenstelle.luser=lbenutzer.user_id)
LEFT JOIN public.benutzer dbenutzer ON (kostenstelle.duser=dbenutzer.user_id)
LEFT JOIN public.studiengang stud ON (kostenstelle.studiengang_id=stud.studiengang_id)
;';
if($result = pg_query($con_wawi, $qry))
{
while($row = pg_fetch_object($result))
{
//Dazupassenden Eintrag in der neuen Datenbank suchen
$qry = "SELECT * from wawi.tbl_kostenstelle WHERE kostenstelle_id = '$row->kostenstelle_id' ;";
if($result_neu = $db->db_query($qry))
{
if($db->db_num_rows($result_neu)>0)
{
// Update des Eintrages
if($row_neu = $db->db_fetch_object($result_neu))
{
$update = 'UPDATE wawi.tbl_kostenstelle SET ';
$bedingung = '';
//Spalten ueberpruefen
if($row_neu->kostenstelle_id != $row->kostenstelle_id)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " kostenselle_id=".$db->addslashes($row->kostenstelle_id);
$updated_lines .= "kostenstelle_id von: \"".$row_neu->kostenstelle_id."\" auf: \"".$row->kostenstelle_id."\"\n";
$update_count++;
}
if($row_neu->oe_kurzbz != $row->oe_kurzbz)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " oe_kurzbz=".$db->addslashes($row->oe_kurzbz);
$updated_lines .= "oe_kurzbz von: \"".$row_neu->oe_kurzbz."\" auf: \"".$row->oe_kurzbz."\"\n";
$update_count++;
}
if($row_neu->bezeichnung != $row->kostenbezeichnung)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " bezeichnung=".$db->addslashes($row->kostenbezeichnung);
$updated_lines .= "beschreibung von: \"".$row_neu->bezeichnung."\" auf: \"".$row->kostenbezeichnung."\"\n";
$update_count++;
}
if($row_neu->kurzbz != $row->kostenkurzzeichen)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " kurzbz=".$db->addslashes($row->kostenkurzzeichen);
$updated_lines .= "kurzbz von: \"".$row_neu->kurzbz."\" auf: \"".$row->kostenkurzzeichen."\"\n";
$update_count++;
}
if($row_neu->ext_id != $row->kostenstelle_id)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " ext_id=".$db->addslashes($row->kostenstelle_id);
$updated_lines .= "ext_id von: \"".$row_neu->ext_id."\" auf: \"".$row->kostenstelle_id."\"\n";
$update_count++;
}
if($row_neu->kostenstelle_nr != $row->kostenstelle_nr)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " kostenstelle_nr=".$db->addslashes($row->kostenstelle_nr);
$updated_lines .= "kostenstelle_nr von: \"".$row_neu->kostenstelle_nr."\" auf: \"".$row->kostenstelle_nr."\"\n";
$update_count++;
}
if($date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->ckostendate, 'Y-m-d H:i:s'))
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " insertamum=".$db->addslashes($row->ckostendate);
$updated_lines .= "insertamum von: \"".$row_neu->insertamum."\" auf: \"".$row->ckostendate."\"\n";
$update_count++;
}
if($row_neu->insertvon != $row->cusername)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " insertvon=".$db->addslashes($row->cusername);
$updated_lines .= "insertvon von: \"".$row_neu->insertvon."\" auf: \"".$row->cusername."\"\n";
$update_count++;
}
if($date->formatDatum($row_neu->updateamum, 'Y-m-d H:i:s') != $date->formatDatum($row->lkostenupdate, 'Y-m-d H:i:s'))
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " updateamum=".$db->addslashes($row->lkostenupdate);
$updated_lines .= "updateamum von: \"".$row_neu->updateamum."\" auf: \"".$row->lkostenupdate."\"\n";
$update_count++;
}
if($row_neu->updatevon != $row->lusername)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " updatevon=".$db->addslashes($row->lusername);
$updated_lines .= "updatevon von: \"".$row_neu->updatevon."\" auf: \"".$row->lusername."\"\n";
$update_count++;
}
if($date->formatDatum($row_neu->deaktiviertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->deletedate, 'Y-m-d H:i:s'))
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " deaktiviertamum=".$db->addslashes($row->deletedate);
$updated_lines .= "deaktiviertamum von: \"".$row_neu->deaktiviertamum."\" auf: \"".$row->deletedate."\"\n";
$update_count++;
}
if($row_neu->deaktiviertvon != $row->dusername)
{
if($bedingung!='')
$bedingung.=',';
$bedingung .= " deaktiviertvon=".$db->addslashes($row->dusername);
$updated_lines .= "deaktiviertvon von: \"".$row_neu->deaktiviertvon."\" auf: \"".$row->dusername."\"\n";
if(($row->dusername) != '')
{
// wenn dusername gesetzt ist, aktiv auf false setzen
$bedingung.= ", aktiv = false";
$updated_lines .= "aktiv = false \n";
$update_count++;
}
else
{
$bedingung.=", aktiv = true";
$updated_lines .= "aktiv = true \n";
$update_count++;
}
$update_count++;
}
if($updated_lines != '')
$ausgabe .= "ID ".$row_neu->kostenstelle_id.": ".$updated_lines."\n \n";
$updated_lines ='';
}
if ($bedingung !='')
{
$update .= $bedingung." WHERE kostenstelle_id =".$row_neu->kostenstelle_id.";";
echo "$update <br>";
if($db->db_query($update) != true)
{
$errormsg.= "Fehler bei Update aufgetreten. ID:$row_neu->kostenstelle_id";
$error_count++;
}
}
if($row->budget=='')
{
$row->budget=0;
}
$gj = 'GJ2010-2011';
//Budget
$qry_budget = "SELECT budget FROM wawi.tbl_budget WHERE kostenstelle_id = '$row_neu->kostenstelle_id' AND geschaeftsjahr_kurzbz='$gj'";
if($result_budget = $db->db_query($qry_budget))
{
$qry_budget='';
if($row_budget = $db->db_fetch_object($result_budget))
{
if($row_budget->budget!=$row->budget)
{
$qry_budget = "UPDATE wawi.tbl_budget SET budget='$row->budget WHERE kostenstelle_id='$row_neu->kostenstelle_id' AND geschaeftsjahr_kurzbz='$gj'";
$updated_lines .= "budget im gj $gj von: \"".$row_budget->budget."\" auf: \"".$row->budget."\"\n";
$update_count++;
}
}
else
{
$qry_budget = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES('".$row_neu->kostenstelle_id."','".$gj."','".$row->budget."');";
$updated_lines .= "budget im gj $gj auf: \"".$row->budget."\"\n";
$insert_count++;
}
if($qry_budget!='')
{
if(!$db->db_query($qry_budget))
{
$error_count++;
$errormsg.="Fehler beim Aktualisieren des Budgets:".$qry_budget;
}
}
}
}
else
{
$aktiv = 'true';
if(isset($row->dusername))
$aktiv = 'false';
// Insert neuen Eintrag
$insert_qry = "INSERT INTO
wawi.tbl_kostenstelle
(kostenstelle_id, oe_kurzbz, bezeichnung, kurzbz, aktiv, updateamum, updatevon, insertamum, insertvon, ext_id, kostenstelle_nr, deaktiviertvon, deaktiviertamum)
VALUES (
".$db->addslashes($row->kostenstelle_id).",".$db->addslashes($row->oe_kurzbz).",".$db->addslashes($row->kostenbezeichnung).",
".$db->addslashes($row->kostenkurzzeichen).", $aktiv,".$db->addslashes($row->lkostenupdate).",
".$db->addslashes($row->lusername).",".$db->addslashes($row->ckostendate).",".$db->addslashes($row->cusername).",
".$db->addslashes($row->kostenstelle_id).",".$db->addslashes($row->kostenstelle_nr).",
".$db->addslashes($row->dusername).",".$db->addslashes($row->deletedate).");";
//echo "$insert_qry <br>";
$insert_count++;
if($db->db_query($insert_qry) != true)
{
$errormsg.= "Fehler bei Insert aufgetreten. ID: $row->kostenstelle_id";
$error_count++;
$insert_count--;
}
if($row->budget=='')
{
$row->budget=0;
}
$gj = 'GJ2010-2011';
$qry_budget = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES('".$row->kostenstelle_id."','".$gj."','".$row->budget."');";
if(!$db->db_query($qry_budget))
{
$error_count++;
$errormsg.="Fehler beim Aktualisieren des Budgets:".$qry_budget;
}
}
}
}
}
}
else
{
$errormsg .= 'Es konnte keine Verbindung zum WAWI Server aufgebaut werden';
$error_count++;
}
if ($insert_count >0)
{
// Sequenz erhöhen
$max_qry= "SELECT MAX(kostenstelle_id) as max from wawi.tbl_kostenstelle";
if($result_max = $db->db_query($max_qry))
{
if($row_max = $db->db_fetch_object($result_max))
{
$set_qry ="SELECT setval('wawi.seq_kostenstelle_kostenstelle_id', $row_max->max)";
$db->db_query($set_qry);
}
else
{
$error_count++;
$errormsg.= "Fehler bei Select setval aufgetreten ";
}
}
else
{
$error_count++;
$errormsg.= "Fehler bei Select MAX aufgetreten";
}
}
$msg = "
$update_count Datensätze wurden geändert.
$insert_count Datensätze wurden hinzugefügt.
$error_count Fehler sind dabei aufgetreten!
$ausgabe
";
// Nachricht versenden
$msg.=$errormsg;
$mail = new mail(MAIL_ADMIN, 'vilesci.technikum-wien.at', 'WaWi Syncro - Kostenstelle', $msg);
if(!$mail->send())
echo 'Fehler beim Senden des Mails';
else
echo '<br> Mail verschickt!';
?>
-98
View File
@@ -1,98 +0,0 @@
<?php
/* Copyright (C) 2011 FH 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: Andreas Oesterreicher <[email protected]>
*/
require_once('../../config/system.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/content.class.php');
$db = new basis_db();
$qry = 'SELECT * FROM campus.tbl_news';
$gesamt=0;
$fehler=0;
$ok=0;
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$gesamt++;
$xml = '<news>
<verfasser><![CDATA['.$row->verfasser.']]></verfasser>
<betreff><![CDATA['.$row->betreff.']]></betreff>
<text><![CDATA['.$row->text.']]></text>
</news>';
$content = new content();
$content->template_kurzbz = 'news';
$content->oe_kurzbz = 'etw';
$content->updatevon = $row->updatevon;
$content->updateamum = $row->updateamum;
$content->insertamum = $row->insertamum;
$content->insertvon = $row->insertvon;
$content->aktiv = true;
$content->menu_open=false;
$content->content = $xml;
$content->sichtbar = true;
$content->sprache = 'German';
$content->titel = $row->betreff;
$content->version = 1;
if($content->save(true))
{
if($content->saveContentSprache(true))
{
$qry = "UPDATE campus.tbl_news SET content_id='".$content->content_id."' WHERE news_id='".$row->news_id."';";
if($db->db_query($qry))
{
echo "ID $row->news_id angelegt<br>";
$ok++;
}
else
{
echo "News Update Failed $row->news_id<br>";
$fehler++;
}
}
else
{
echo "Content Sprache Update Failed $row->news_id<br>";
$fehler++;
}
}
else
{
echo "Content Update Failed $row->news_id<br>";
$fehler++;
}
}
}
else
{
echo 'Fehler beim Laden der News';
}
echo "
Gesamt: $gesamt<br>
OK: $ok<br>
Fehler: $fehler<br>
";
?>
-278
View File
@@ -1,278 +0,0 @@
<?php
/* Copyright (C) 2010 FH 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Karl Burkhart <[email protected]>.
*/
/**
* Syncronisiert die Aufteilung von WaWi DB in FHComplete DB
*/
require_once('../../config/wawi.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/datum.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI))
die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n");
$error_log='';
$update_log='';
$anzahl_gesamt=0;
$anzahl_insert=0;
$anzahl_update=0;
$anzahl_delete=0;
$anzahl_fehler=0;
$starttime=date("d.m.Y H:i:s");
$datum_obj = new datum();
?>
<html>
<head>
<title>Synchro - WaWi -&gt; FAS - Rechnungen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="
SET CLIENT_ENCODING TO UNICODE;
SELECT
*, rechnung.lupdate, bn_update.username_neu as updatevon
FROM
rechnung
LEFT JOIN benutzer bn_update ON(rechnung.luser=bn_update.user_id)
ORDER BY r_id;
";
if($result=pg_query($conn_wawi, $qry))
{
$anzahl_gesamt=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//check, ob rechnung bereits übertragen
$qry_check="SELECT * FROM wawi.tbl_rechnung WHERE rechnung_id='".addslashes($row->r_id)."'";
if($result_check=$db->db_query($qry_check))
{
if($db->db_num_rows($result_check)>0)
{
$update = false;
//Rechnung vorhanden
if($row_check = $db->db_fetch_object($result_check))
{
if($row_check->bestellung_id!=$row->bestellung_id)
{
$update = true;
$update_log.="\nBestellung_id von $row_check->bestellung_id auf $row->bestellung_id geändert";
}
if($row_check->buchungsdatum!=$row->buchungsdatum)
{
$update=true;
$update_log.="\nBuchungsdatum von $row_check->buchungsdatum auf $row->buchungsdatum geändert";
}
if($row_check->rechnungsnr!=$row->rechnungsnr)
{
$update=true;
$update_log.="\nRechnungsnr von $row_check->rechnungsnr auf $row->rechnungsnr geändert";
}
if($row_check->transfer_datum!=$row->transfer_datum)
{
$update=true;
$update_log.="\nTransferDatum von $row_check->transfer_datum auf $row->transfer_datum geändert";
}
if($row_check->buchungstext!=$row->buchungstext)
{
$update=true;
$update_log.="\nBuchungstext von $row_check->buchungstext auf $row->buchungstext geändert";
}
if($row_check->updatevon!=$row->updatevon)
{
$update=true;
$update_log.="\nUpdatevon von $row_check->updatevon auf $row->updatevon geändert";
}
if($row_check->updateamum!=$datum_obj->formatDatum($row->lupdate))
{
$update=true;
$update_log.="\nUpdateamum von $row_check->updateamum auf $row->lupdate geändert";
}
if($update)
{
$qry = "UPDATE wawi.tbl_rechnung SET
bestellung_id=".$db->addslashes($row->bestellung_id).",
buchungsdatum=".$db->addslashes($row->buchungsdatum).",
rechnungsnr=".$db->addslashes($row->rechnungsnr).",
transfer_datum=".$db->addslashes($row->transfer_datum).",
buchungstext=".$db->addslashes($row->buchungstext).",
updatevon=".$db->addslashes($row->updatevon).",
updateamum=".$db->addslashes($datum_obj->formatDatum($row->lupdate))."
WHERE rechnung_id='".addslashes($row->r_id)."'";
if($db->db_query($qry))
{
$anzahl_update++;
}
else
{
$error_log.="\nFehler beim Update: $qry";
$anzahl_fehler++;
}
}
//Rechnungsbetrag
for($i=1;$i<=3;$i++)
{
$mwst = 'mwst'.$i;
$betrag = 'betrag'.$i;
if($row->$mwst!='')
{
$qry = "SELECT * FROM wawi.tbl_rechnungsbetrag
WHERE rechnung_id=".$db->addslashes($row->r_id)." AND ext_id='$i'";
if($result_rbetrag = $db->db_query($qry))
{
if($row_rbetrag = $db->db_fetch_object($result_rbetrag))
{
//Update
if($row_rbetrag->betrag!=round($row->$betrag,2))
{
$qry = "UPDATE wawi.tbl_rechnungsbetrag SET
betrag=".$db->addslashes($row->$betrag)."
mwst=".$db->addslashes($row->$betrag)."
WHERE rechnungsbetrag_id=".$db->addslashes($row_rbetrag->rechnungsbetrag_id);
if($db->db_query($qry))
{
$anzahl_update++;
$update_log.="\nBetrag von $row_rbetrag->betrag auf ".$row->$betrag." geändert bei Mwst ".$row->$mwst;
}
}
}
else
{
//Insert
$qry = "INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".
$db->addslashes($row->r_id).",".
$db->addslashes($row->$mwst).",".
$db->addslashes($row->$betrag).",'".$i."');";
if($db->db_query($qry))
{
$anzahl_insert++;
$update_log.="\nRechnungsbetrag hinzugefügt Mwst ".$row->$mwst." Betrag ".$row->$betrag;
}
}
}
else
{
$anzahl_fehler++;
$error_log.="\nFehler beim Select: $qry";
}
}
}
//Loeschen von ueberfluessigen Rechnungsbetraegen
$qry="DELETE FROM wawi.tbl_rechnungsbetrag
WHERE mwst NOT IN(".$db->addslashes($row->mwst1).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->mwst3).")
AND rechnung_id=".$db->addslashes($row->r_id);
if($result_delete = $db->db_query($qry))
{
$rechnungsbetrag_delete = $db->db_affected_rows($result_delete);
if($rechnungsbetrag_delete>0)
{
$update_log.="\n $rechnungsbetrag_delete Rechnungsbetrag Einträge gelöscht";
$anzahl_delete+=$rechnungsbetrag_delete;
}
}
else
{
$anzahl_fehler++;
$error_log.="\nFehler bei Delete: $qry";
}
}
}
else
{
//Aufteilung nicht vorhanden
$qry="INSERT INTO wawi.tbl_rechnung(rechnung_id, bestellung_id, rechnungstyp_kurzbz,
buchungsdatum, rechnungsnr, rechnungsdatum, transfer_datum, buchungstext,
freigegeben, freigegebenamum, freigegebenvon, insertamum, insertvon,
updateamum, updatevon) VALUES("
.$db->addslashes($row->r_id).","
.$db->addslashes($row->bestellung_id).","
."'Rechnung',"
.$db->addslashes($row->buchungsdatum).","
.$db->addslashes($row->rechnungsnr).","
.$db->addslashes($row->rechnungsdatum).","
.$db->addslashes($row->transfer_datum).","
.$db->addslashes($row->buchungstext).","
."true,"
.$db->addslashes($datum_obj->formatDatum($row->lupdate)).","
.$db->addslashes($row->updatevon).","
.$db->addslashes($datum_obj->formatDatum($row->lupdate)).","
.$db->addslashes($row->updatevon).","
.$db->addslashes($datum_obj->formatDatum($row->lupdate)).","
.$db->addslashes($row->updatevon).");";
if($row->mwst1!='')
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst1).",".$db->addslashes($row->betrag1).",1);";
if($row->mwst2!='')
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst2).",".$db->addslashes($row->betrag2).",2);";
if($row->mwst3!='')
$qry.="INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, ext_id) VALUES(".$db->addslashes($row->r_id).",".$db->addslashes($row->mwst3).",".$db->addslashes($row->betrag3).",3);";
if($db->db_query($qry))
{
$anzahl_insert++;
}
else
{
$error_log.="\nFehler beim Insert: $qry";
$anzahl_fehler++;
}
}
}
else
{
$error_log.="\nFehler bei Select: $qry_check";
$anzahl_fehler++;
}
}
$qry = "
SELECT setval('wawi.seq_rechnung_rechnung_id',(SELECT max(rechnung_id) FROM wawi.tbl_rechnung));
SELECT setval('wawi.seq_rechnungsbetrag_rechnungsbetrag_id',(SELECT max(rechnungsbetrag_id) FROM wawi.tbl_rechnungsbetrag));
";
if(!$db->db_query($qry))
{
$error_log.="\nFehler beim Update der Sequence";
$anzahl_fehler++;
}
//Mail versenden
$statistik="Rechnung Sync\n--------------\n";
$statistik.="Beginn: ".$starttime." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_gesamt."\n\n";
$statistik.="\nEingefügte Datensätze: $anzahl_insert";
$statistik.="\nGeänderte Datensätze: $anzahl_update";
$statistik.="\nFehler: $anzahl_fehler\n";
$synced=$statistik.$error_log.$update_log;
$mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Rechnung von ".DB_NAME, $synced);
$mail->setReplyTo("vilesci@".DOMAIN);
if(!$mail->send())
{
echo "<font color=\"#FF0000\">Fehler beim Versenden des Durchführungs-Mails!</font><br>";
}
}
?>
-104
View File
@@ -1,104 +0,0 @@
<?php
/* Copyright (C) 2008 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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/mail.class.php');
echo '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Stundenplan-Check (stpldev-le)</title>
</head>
<body>';
// Startvariablen setzen
$adress='[email protected]';
$adress_stpl='[email protected]';
$message_stpl='';
$message_sync='';
$count_del=0;
$count_ins=0;
$count_upd=0;
$count_err=0;
$db = new basis_db();
// Mails an die Lektoren und Verbaende
$message='';
// Mail Headers festlegen
$headers= "MIME-Version: 1.0\r\n";
$headers.="Content-Type: text/html; charset=UTF-8\r\n";
$message_begin='Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem Stundenplan ergeben:<BR>';
/**************************************************
* Datensaetze holen die nicht mehr plausibel sind
*/
echo 'Folgende Lehreinheiten sind nicht plausibel.<BR>';flush();
$sql_query="SELECT DISTINCT lehreinheit_id,studiengang_kz,semester,gruppe_kurzbz,mitarbeiter_uid,ort_kurzbz,
tbl_lehreinheitmitarbeiter.mitarbeiter_uid AS lehreinheitmitarbeiter_uid
FROM lehre.tbl_stundenplandev LEFT OUTER JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id, mitarbeiter_uid)
WHERE datum>=now() AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid IS NULL;";
if (!$result = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
{
flush();
while ($row = $db->db_fetch_object($result))
{
echo $row->lehreinheit_id.'-'.$row->studiengang_kz.'-'.$row->semester.'-'.$row->gruppe_kurzbz.'-'.$row->mitarbeiter_uid.'-'.$row->ort_kurzbz.'<BR>';
$message.=$row->lehreinheit_id.'-'.$row->studiengang_kz.'-'.$row->semester.'-'.$row->gruppe_kurzbz.'-'.$row->mitarbeiter_uid.'-'.$row->ort_kurzbz.'<BR>';
}
$message.='</table>';
}
/**************************************************
* Mails verschicken
*/
// Mail an Admin
$message_tmp=$count_upd.' Datens&auml;tze wurden ge&auml;ndert.<BR>
'.$count_ins.' Datens&auml;tze wurden hinzugef&uuml;gt.<BR>
'.$count_del.' Datens&auml;tze wurden gel&ouml;scht.<BR>
'.$count_err.' Fehler sind dabei aufgetreten!<BR><BR>';
echo '<BR>'.$message_tmp;
$message_sync='<HTML><BODY>'.$message_tmp.$message_sync.$message_stpl.'</BODY></HTML>';
$mail = new mail('[email protected]','[email protected]','Stundenplan update','');
$mail->setHTMLContent($message);
$mail->send();
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
$mail = new mail('[email protected]','[email protected]','Stundenplan update','');
$mail->setHTMLContent($message);
$mail->send();
?>
</body>
</html>
-360
View File
@@ -1,360 +0,0 @@
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]>,
* Rudolf Hangl <[email protected]> and
* Gerald Simane-Sequens <[email protected]>
******************************************************************************
* Beschreibung:
* Dieses Skript fuehrt Datenbankupdates von Version 1.2 auf 2.0 durch
*/
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
$db = new basis_db();
echo '<H1>DB-Updates!</H1>';
echo '<H2>Version 1.2 &rarr; 2.0</H2>';
// **************** lehre.tbl_prestudentstatus -> tbl_prestudentstatus ************************
if(!@$db->db_query('SELECT * FROM public.tbl_status LIMIT 1;'))
{
$qry = "ALTER TABLE public.tbl_rolle RENAME TO tbl_status;
ALTER TABLE public.tbl_prestudentrolle RENAME TO tbl_prestudentstatus;
ALTER TABLE public.tbl_status RENAME COLUMN rolle_kurzbz TO status_kurzbz;
ALTER TABLE public.tbl_prestudentstatus RENAME COLUMN rolle_kurzbz TO status_kurzbz;
UPDATE pg_catalog.pg_constraint SET conname='pk_tbl_status' WHERE conname='pk_tbl_rolle';
UPDATE pg_catalog.pg_constraint SET conname='orgform_prestudentstatus' WHERE conname='orgform_prestudentrolle';
UPDATE pg_catalog.pg_constraint SET conname='pk_tbl_prestudentstatus' WHERE conname='pk_tbl_prestudentrolle';
UPDATE pg_catalog.pg_constraint SET conname='prestudent_prestudentstatus' WHERE conname='prestudent_prestudentrolle';
UPDATE pg_catalog.pg_constraint SET conname='status_prestudentstatus' WHERE conname='rolle_prestudentrolle';
UPDATE pg_catalog.pg_constraint SET conname='studiensemester_prestudentstatus' WHERE conname='studiensemester_prestudentrolle';
CREATE OR REPLACE FUNCTION get_rolle_prestudent (integer, character varying) returns character varying as $$
DECLARE i_prestudent_id ALIAS FOR $1;
DECLARE cv_studiensemester_kurzbz ALIAS FOR $2;
DECLARE rec RECORD;
BEGIN
IF (cv_studiensemester_kurzbz IS NULL) THEN
SELECT INTO rec status_kurzbz
FROM public.tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
ELSE
SELECT INTO rec status_kurzbz
FROM tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id AND studiensemester_kurzbz=cv_studiensemester_kurzbz
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
END IF;
RETURN rec.status_kurzbz;
END;
$$ LANGUAGE plpgsql;
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_status: '.$db->db_last_error().' </strong><br>';
else
echo ' public.tbl_status: Umbenannt auf tbl_status!<br>
constrains umbenannt
public.tbl_prestudentstatus: Umbenannt auf tbl_prestudentstatus!<br>
constrains umbenannt';
}
// *************** public.tbl_organisationseinheit *******************************
if(!@$db->db_query('SELECT * FROM public.tbl_organisationseinheit LIMIT 1;'))
{
$qry = "CREATE TABLE public.tbl_organisationseinheit
(
oe_kurzbz Character varying(32) NOT NULL,
oe_parent_kurzbz Character varying(32),
bezeichnung Character varying(256),
organisationseinheittyp_kurzbz Character varying(16) NOT NULL
)
WITH (OIDS=FALSE);
ALTER TABLE public.tbl_organisationseinheit ADD CONSTRAINT pk_tbl_organisationseinheit PRIMARY KEY (oe_kurzbz);
ALTER TABLE public.tbl_organisationseinheit ADD CONSTRAINT oe_parent_oe FOREIGN KEY (oe_parent_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE public.tbl_organisationseinheittyp
(
organisationseinheittyp_kurzbz Character varying(16) NOT NULL,
bezeichnung Character varying(256),
beschreibung text
)
WITH (OIDS=FALSE);
ALTER TABLE public.tbl_organisationseinheittyp ADD CONSTRAINT pk_organisationseinheittyp PRIMARY KEY (organisationseinheittyp_kurzbz);
ALTER TABLE public.tbl_organisationseinheit ADD CONSTRAINT organisationseinheit_organisationseinheittyp FOREIGN KEY (organisationseinheittyp_kurzbz) REFERENCES public.tbl_organisationseinheittyp (organisationseinheittyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT on public.tbl_organisationseinheit TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE on public.tbl_organisationseinheit TO GROUP ".DB_FAS_USER_GROUP.";
GRANT SELECT on public.tbl_organisationseinheittyp TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE on public.tbl_organisationseinheittyp TO GROUP ".DB_FAS_USER_GROUP.";
ALTER TABLE public.tbl_studiengang ADD COLUMN oe_kurzbz character varying(32);
ALTER TABLE public.tbl_studiengang ADD CONSTRAINT studiengang_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE public.tbl_fachbereich ADD COLUMN oe_kurzbz character varying(32);
ALTER TABLE public.tbl_fachbereich ADD CONSTRAINT fachbereich_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-- ORGANISATIONSEINHEITEN Anlegen
INSERT INTO public.tbl_organisationseinheittyp(organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Erhalter',null, null);
INSERT INTO public.tbl_organisationseinheittyp(organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Studienzentrum',null, null);
INSERT INTO public.tbl_organisationseinheittyp(organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Studiengang',null, null);
INSERT INTO public.tbl_organisationseinheittyp(organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Institut',null, null);
INSERT INTO public.tbl_organisationseinheittyp(organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Abteilung',null, null);
-- Technikum Wien Spezifisch!!
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('etw',null,'Technikum Wien','Erhalter');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ctee','etw','Communication Technologies & Electronic Engineering','Studienzentrum');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bel','ctee','BEL','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bew','ctee','BEW','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bic','ctee','BIC','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mes','ctee','MES','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mie','ctee','MIE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mtm','ctee','MTM','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mti','ctee','MTI','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('EmbeddedSystems','ctee','Embedded System','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Telecom','ctee','Telecommunications & Internet Technologies','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ElectronicEng','ctee','Electronic Engineering','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('itbs','etw','Information Technologies & Business Solutions','Studienzentrum');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bif','itbs','BIF','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bit','itbs','BIT','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bwi','itbs','BWI','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mic','itbs','MIC','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mit','itbs','MIT','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mse','itbs','MSE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mwi','itbs','MWI','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mgs','itbs','MGS','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Informatik','itbs','Informatik','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Wirtschaftsinf','itbs','Wirtschaftsinformatik','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('InformationEng','itbs','Information Engineering & Security','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('eet','etw','Engineering & Environmental Technologies','Studienzentrum');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('biw','eet','BIW','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('miw','eet','MIW','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bmr','eet','BMR','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mmr','eet','MMR','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bee','eet','BEE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mee','eet','MEE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Mechatronics','eet','Mechatronics','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('AdvancedTech','eet','Advanced Technologies','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ErnEnergie','eet','Erneuerbare Energietechnologien','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('lst','etw','Life Science Technologies','Studienzentrum');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bbe','lst','BBE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('bst','lst','BST','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mbe','lst','MBE','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mgr','lst','MGR','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mst','lst','MST','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('mut','lst','MUT','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('BiomedTech','lst','Biomedizinische Technik & Umweltmanagement','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('SportsEng','lst','Sports Engineering and Biomechanics','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('AngewandteMath','etw','Angewandte Mathematik und Naturwissenschaften','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('MgmntWirtRecht','etw','Management, Wirtschaft, Recht','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Sozialkompetenz','etw','Sozialkompetenz- und Managementmethoden','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Sprachen','etw','Sprachen und Kulturwissenschaften','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Dummy','etw','Dummy','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Freifaecher','etw','Freifaecher','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Praxissemester','etw','Praxissemester','Institut');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('eak','etw','Aufbaukurse','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('lca','etw','Cisco Academy','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ltc','etw','LLL China','Studiengang');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Auslandsbuero','etw','Auslandsbüro','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Bibliothek','etw','Bibliothek','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Geschaeftsltg','etw','Geschäftsleitung','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Unternehmenskommunikation','etw','Unternehmenskommunikation','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Infrastruktur','etw','Infrastruktur','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Haustechnik','Infrastruktur','Haustechnik','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('ServiceDesk','Infrastruktur','ServiceDesk','Abteilung');
INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz) VALUES('Systementwicklung','Infrastruktur','Systementwicklung','Abteilung');
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', 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
UPDATE public.tbl_studiengang set oe_kurzbz = lower(typ::varchar(1) || kurzbz) WHERE lower(typ::varchar(1) || kurzbz) in(select oe_kurzbz FROM public.tbl_organisationseinheit);
UPDATE public.tbl_fachbereich set oe_kurzbz=fachbereich_kurzbz WHERE fachbereich_kurzbz in(select oe_kurzbz FROM public.tbl_organisationseinheit);
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_organisationseinheit: '.$db->db_last_error().' </strong><br>';
else
echo ' public.tbl_organisationseinheit: Tabelle wurde hinzugefgt!<br>';
;
}
// ************* system.tbl_berechtigung ******************
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,
rolle_kurzbz Character varying(32),
berechtigung_kurzbz Character varying(32),
uid Character varying(16),
funktion_kurzbz Character varying(16),
oe_kurzbz Character varying(32),
art Character varying(5) DEFAULT 's'::character varying NOT NULL,
studiensemester_kurzbz Character varying(16),
start Date,
ende Date,
negativ Boolean DEFAULT FALSE NOT NULL,
updateamum Timestamp,
updatevon Character varying(16),
insertamum Timestamp DEFAULT now(),
insertvon Character varying(16)
)
WITH (OIDS=FALSE);
CREATE INDEX idx_userberechtigung_uid ON system.tbl_benutzerrolle (uid);
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT pk_tbl_benutzerberechtigung PRIMARY KEY (benutzerberechtigung_id);
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_benutzer FOREIGN KEY (uid) REFERENCES public.tbl_benutzer (uid) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_funktion FOREIGN KEY (funktion_kurzbz) REFERENCES public.tbl_funktion (funktion_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE system.tbl_berechtigung
(
berechtigung_kurzbz Character varying(32) NOT NULL,
beschreibung Character varying(256)
)
WITH (OIDS=FALSE);
ALTER TABLE system.tbl_berechtigung ADD CONSTRAINT pk_tbl_berechtigung PRIMARY KEY (berechtigung_kurzbz);
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_berechtigung FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung (berechtigung_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE system.tbl_rolle
(
rolle_kurzbz Character varying(32) NOT NULL,
beschreibung Character varying(256)
)
WITH (OIDS=FALSE);
CREATE TABLE system.tbl_rolleberechtigung
(
berechtigung_kurzbz Character varying(32) NOT NULL,
rolle_kurzbz Character varying(32),
art Character varying(5)
)
WITH (OIDS=FALSE);
ALTER TABLE system.tbl_rolle ADD CONSTRAINT pk_tbl_rolle PRIMARY KEY (rolle_kurzbz);
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT pk_tbl_rolleberechtigung PRIMARY KEY(berechtigung_kurzbz, rolle_kurzbz);
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT rolleberechtigung_rolle FOREIGN KEY(rolle_kurzbz) REFERENCES system.tbl_rolle (rolle_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_rolleberechtigung ADD CONSTRAINT rolleberechtigung_berechtigung FOREIGN KEY(berechtigung_kurzbz) REFERENCES system.tbl_berechtigung (berechtigung_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE system.tbl_benutzerrolle ADD CONSTRAINT benutzerrolle_rolle FOREIGN KEY (rolle_kurzbz) REFERENCES system.tbl_rolle (rolle_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT ON system.tbl_benutzerrolle TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT ON system.tbl_berechtigung TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT ON system.tbl_rolle TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT ON system.tbl_rolleberechtigung TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT, UPDATE ON system.tbl_benutzerrolle_benutzerberechtigung_id_seq TO GROUP ".DB_FAS_USER_GROUP.";
GRANT SELECT, UPDATE ON system.tbl_benutzerrolle_benutzerberechtigung_id_seq TO GROUP ".DB_CIS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_benutzerrolle TO GROUP ".DB_FAS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_berechtigung TO GROUP ".DB_FAS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_rolle TO GROUP ".DB_FAS_USER_GROUP.";
GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_rolleberechtigung TO GROUP ".DB_FAS_USER_GROUP.";
--- SYNCRONISIEREN
INSERT INTO system.tbl_rolle(rolle_kurzbz, beschreibung) SELECT berechtigung_kurzbz, beschreibung FROM public.tbl_berechtigung;
-- Berechtigungen uebernehmen
INSERT INTO system.tbl_benutzerrolle(uid, funktion_kurzbz, rolle_kurzbz, berechtigung_kurzbz, art, oe_kurzbz,
studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon, insertamum, insertvon)
SELECT
uid, null, berechtigung_kurzbz, null, art,
CASE WHEN fachbereich_kurzbz IS NOT NULL THEN (SELECT oe_kurzbz FROM public.tbl_fachbereich WHERE fachbereich_kurzbz=tbl_benutzerberechtigung.fachbereich_kurzbz)
WHEN studiengang_kz IS NOT NULL THEN (SELECT oe_kurzbz FROM public.tbl_studiengang WHERE studiengang_kz=tbl_benutzerberechtigung.studiengang_kz)
ELSE null
END,
studiensemester_kurzbz, start, ende, false, updateamum, updatevon, insertamum, insertvon
FROM public.tbl_benutzerberechtigung;
--- ALTE TABELLE LOESCHEN
DROP TABLE public.tbl_benutzerberechtigung;
-- Berechtigung anlegen
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) SELECT rolle_kurzbz, beschreibung FROM system.tbl_rolle;
-- Berechtigungen zu den Rollen
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) SELECT rolle_kurzbz, rolle_kurzbz, 'suid' FROM system.tbl_rolle;
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('mitarbeiter','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lv-plan','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('raumres','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('assistenz','admin','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('news','admin','suid');
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))
echo '<strong>system schema: '.$db->db_last_error().' </strong><br>';
else
echo 'system schema: Berechtigungstabellen wurden hinzugefuegt!<br>';
}
// **************** public.tbl_benutzerfunktion ************************
if(!@$db->db_query('SELECT oe_kurzbz FROM public.tbl_benutzerfunktion LIMIT 1;'))
{
$qry = "ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN oe_kurzbz Character varying(32);
ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN datum_von Date;
ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN datum_bis Date;
-- studiengang in oe_kurzbz kopieren
UPDATE public.tbl_benutzerfunktion SET oe_kurzbz = (SELECT lower(typ::varchar(1) || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz);
DROP VIEW public.vw_benutzerfunktion;
ALTER TABLE public.tbl_benutzerfunktion ALTER COLUMN oe_kurzbz SET NOT NULL;
-- spalte loeschen
ALTER TABLE public.tbl_benutzerfunktion DROP COLUMN studiengang_kz;
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_benutzerfunktion: '.$db->db_last_error().' </strong><br>';
else
echo ' public.tbl_benutzerfunktion: Umbenannt auf oe_kurzbz statt studiengang_kz hinzugefuegt!<br>
Datum Von/Bis hinzugefuegt';
}
?>