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
-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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/**
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/**
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/**
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
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, 'vilesci@technikum-wien.at', '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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
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 <andreas.oesterreicher@technikum-wien.at>
*/
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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/**
* 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/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='fas_sync@technikum-wien.at';
$adress_stpl='stpl@technikum-wien.at';
$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('pam@technikum-wien.at','stpl@technikum-wien.at','Stundenplan update','');
$mail->setHTMLContent($message);
$mail->send();
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
$mail = new mail('stpl@technikum-wien.at','stpl@technikum-wien.at','Stundenplan update','');
$mail->setHTMLContent($message);
$mail->send();
?>
</body>
</html>