diff --git a/application/config/fhcomplete.php b/application/config/fhcomplete.php index b680d6f5d..15c5d8be0 100644 --- a/application/config/fhcomplete.php +++ b/application/config/fhcomplete.php @@ -243,4 +243,4 @@ $config['fhc_acl'] = array // $config['addons_aufnahme_url'] = array(); -$config['addons_aufnahme_url']['OE_ROOT'] = 'http://debian.dev/addons/aufnahme/OE_ROOT/cis/index.php'; +$config['addons_aufnahme_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php'; diff --git a/application/config/navigation.php b/application/config/navigation.php new file mode 100644 index 000000000..6e1c711ed --- /dev/null +++ b/application/config/navigation.php @@ -0,0 +1,75 @@ + array( + 'FH-Complete' => base_url('index.ci.php/'), + 'Vilesci' => base_url('/vilesci'), + 'CIS' => CIS_ROOT + ), + 'system/infocenter/InfoCenter/index' => array( + 'FH-Complete' => base_url('index.ci.php/'), + 'Vilesci' => base_url('/vilesci'), + 'CIS' => CIS_ROOT + ), + 'system/infocenter/InfoCenter/showDetails' => array( + 'FH-Complete' => base_url('index.ci.php/'), + 'Vilesci' => base_url('/vilesci'), + 'CIS' => CIS_ROOT + ) +); + +$config['navigation_menu'] = array(); + +$config['navigation_menu']['Vilesci/index'] = array( + 'Dashboard' => array( + 'link' => '#', + 'description' => 'Dashboard', + 'icon' => 'dashboard' + ), + 'Lehre' => array( + 'link' => '#', + 'icon' => 'graduation-cap', + 'description' => 'Lehre', + 'expand' => true, + 'children'=> array( + 'CIS' => array( + 'link' => CIS_ROOT, + 'icon' => '', + 'description' => 'CIS', + 'expand' => true + ), + 'Infocenter' => array( + 'link' => base_url('index.ci.php/system/infocenter/InfoCenter'), + 'icon' => 'info', + 'description' => 'Infocenter', + 'expand' => true + ), + ) + ), + 'Administration' => array( + 'link' => '#', + 'icon' => 'gear', + 'description' => 'Administration', + 'expand' => false, + 'children'=> array( + 'Vilesci' => array( + 'link' => base_url('vilesci/'), + 'icon' => '', + 'description' => 'Vilesci', + 'expand' => true + ), + 'Extensions' => array( + 'link' => base_url('index.ci.php/system/extensions/Manager'), + 'icon' => 'cubes', + 'description' => 'Extensions Manager', + 'expand' => true + ), + 'Datenschutz' => array( + 'link' => base_url('index.ci.php/extensions/FHC-Core-DSMS/export'), + 'description' => 'Datenschutz', + 'icon' => 'legal', + 'expand' => true + ) + ) + ) +); diff --git a/application/controllers/system/Messages.php b/application/controllers/system/Messages.php index 36db0238d..dd112d204 100644 --- a/application/controllers/system/Messages.php +++ b/application/controllers/system/Messages.php @@ -314,6 +314,7 @@ class Messages extends VileSci_Controller if (isset($vorlage_kurzbz)) { $this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel'); + $this->VorlagestudiengangModel->addOrder('version','DESC'); $result = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz)); $this->output diff --git a/application/controllers/system/Navigation.php b/application/controllers/system/Navigation.php new file mode 100644 index 000000000..037a7d0f4 --- /dev/null +++ b/application/controllers/system/Navigation.php @@ -0,0 +1,98 @@ +config->load('navigation'); + + // Load session library + $this->load->library('session'); + } + + /** + * + */ + public function menu() + { + $navigation_widget_called = $this->input->get('navigation_widget_called'); + $json = array(); + + if (isset($navigation_widget_called)) + { + $navigationMenuArray = $this->config->item('navigation_menu'); + + if (isset($navigationMenuArray) && is_array($navigationMenuArray)) + { + if (isset($navigationMenuArray[$navigation_widget_called])) + { + $json = $navigationMenuArray[$navigation_widget_called]; + } + } + + if (isset($_SESSION['navigation_menu'])) + { + $navigationMenuSessionArray = $_SESSION['navigation_menu']; + + if (isset($navigationMenuSessionArray) && is_array($navigationMenuSessionArray)) + { + if (isset($navigationMenuSessionArray[$navigation_widget_called])) + { + $json = array_merge($json, $navigationMenuSessionArray[$navigation_widget_called]); + } + } + } + } + + $this->output->set_content_type('application/json')->set_output(json_encode($json)); + } + + /** + * + */ + public function header() + { + $navigation_widget_called = $this->input->get('navigation_widget_called'); + $json = array(); + + if (isset($navigation_widget_called)) + { + $navigationHeaderArray = $this->config->item('navigation_header'); + + if (isset($navigationHeaderArray) && is_array($navigationHeaderArray)) + { + if (isset($navigationHeaderArray[$navigation_widget_called])) + { + $json = $navigationHeaderArray[$navigation_widget_called]; + } + } + + if (isset($_SESSION['navigation_header'])) + { + $navigationHeaderSessionArray = $_SESSION['navigation_header']; + + if (isset($navigationHeaderSessionArray) && is_array($navigationHeaderSessionArray)) + { + if (isset($navigationHeaderSessionArray[$navigation_widget_called])) + { + $json = array_merge($json, $navigationHeaderSessionArray[$navigation_widget_called]); + } + } + } + } + + $this->output->set_content_type('application/json')->set_output(json_encode($json)); + } +} diff --git a/application/controllers/system/extensions/Manager.php b/application/controllers/system/extensions/Manager.php index db56b0d8b..9e24f00f5 100644 --- a/application/controllers/system/extensions/Manager.php +++ b/application/controllers/system/extensions/Manager.php @@ -11,15 +11,19 @@ class Manager extends VileSci_Controller * */ public function __construct() - { - parent::__construct(); + { + parent::__construct(); // Load helpers to upload files $this->load->helper(array('form', 'url')); - // Loads the extensions library - $this->load->library('ExtensionsLib'); - } + // Loads the extensions library + $this->load->library('ExtensionsLib'); + + $this->load->library('PermissionLib'); + if(!$this->permissionlib->isBerechtigt('system/extensions')) + show_error('You have no Permission! You need Extensions Permission'); + } /** * diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 216aa0619..5b13ce76d 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -45,8 +45,6 @@ class InfoCenter extends VileSci_Controller ) ); private $uid; // contains the UID of the logged user - private $navigationMenuArray; // contains all the voices for the navigation menu - private $navigationHeaderArray; /** * Constructor @@ -77,12 +75,7 @@ class InfoCenter extends VileSci_Controller if(!$this->permissionlib->isBerechtigt('basis/person')) show_error('You have no Permission! You need Infocenter Role'); - $this->_setNavigationMenuArray(); // sets property navigationMenuArray - - $this->navigationHeaderArray = array( - 'headertext' => 'Infocenter', - 'headertextlink' => base_url('index.ci.php/system/infocenter/InfoCenter') - ); + $this->setNavigationMenuArray(); // sets property navigationMenuArray } // ----------------------------------------------------------------------------------------------------------------- @@ -93,13 +86,7 @@ class InfoCenter extends VileSci_Controller */ public function index() { - $this->load->view( - 'system/infocenter/infocenter.php', - array( - 'navigationHeaderArray' => $this->navigationHeaderArray, - 'navigationMenuArray' => $this->navigationMenuArray - ) - ); + $this->load->view('system/infocenter/infocenter.php'); } /** @@ -131,11 +118,7 @@ class InfoCenter extends VileSci_Controller 'system/infocenter/infocenterDetails.php', array_merge( $persondata, - $prestudentdata, - array( - 'navigationHeaderArray' => $this->navigationHeaderArray, - 'navigationMenuArray' => $this->navigationMenuArray - ) + $prestudentdata ) ); } @@ -464,7 +447,7 @@ class InfoCenter extends VileSci_Controller /** * */ - private function _setNavigationMenuArray() + public function setNavigationMenuArray() { $listFiltersSent = array(); $listFiltersNotSent = array(); @@ -532,12 +515,22 @@ class InfoCenter extends VileSci_Controller $this->_fillCustomFilters($listCustomFilters, $filtersarray['personal']); } - $this->navigationMenuArray = array( - 'dashboard' => array( + if (!isset($_SESSION['navigation_menu'])) + { + $_SESSION['navigation_menu'] = array(); + } + + $_SESSION['navigation_menu']['system/infocenter/InfoCenter/index'] = array( + 'filters' => array( 'link' => '#', - 'description' => 'Dashboard', - 'icon' => 'dashboard' - ), + 'description' => 'Filter', + 'icon' => 'filter', + 'expand' => true, + 'children' => $filtersarray + ) + ); + + $_SESSION['navigation_menu']['system/infocenter/InfoCenter/showDetails'] = array( 'filters' => array( 'link' => '#', 'description' => 'Filter', @@ -565,11 +558,17 @@ class InfoCenter extends VileSci_Controller foreach ($filters as $filterId => $description) { $toPrint = "%s=%s"; + + if ($this->router->method != 'index') + { + + } + $tofill['children'][] = array( 'link' => sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filter_id'), $filterId), 'description' => $description, 'subscriptDescription' => 'Remove', - 'subscriptLinkId' => 'removeFilterById', + 'subscriptLinkClass' => 'remove-filter', 'subscriptLinkValue' => $filterId ); } @@ -817,6 +816,8 @@ class InfoCenter extends VileSci_Controller $prestudentstatus = $prestudent->prestudentstatus; $person_id = $prestudent->person_id; $person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval; + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval; + $dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval; //fill mail variables $interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin'; @@ -824,6 +825,25 @@ class InfoCenter extends VileSci_Controller $orgform = $prestudentstatus->orgform != '' ? ' ('.$prestudentstatus->orgform.')' : ''; $geschlecht = $person->geschlecht == 'm' ? 'männlich' : 'weiblich'; $geburtsdatum = date('d.m.Y', strtotime($person->gebdatum)); + $zgvort = !empty($prestudent->zgvort) ? ' in '.$prestudent->zgvort : ''; + $zgvnation = !empty($prestudent->zgvnation_bez) ? ', '.$prestudent->zgvnation_bez : ''; + $zgvdatum = !empty($prestudent->zgvdatum) ? ', am '.date_format(date_create($prestudent->zgvdatum), 'd.m.Y') : ''; + + $dokumenteNachzureichenMail = $dokumenteMail = array(); + //convert documents to array so they can be parsed, and keeping only needed fields + $lastel = end($dokumente); + foreach ($dokumente as $dokument) + { + $postfix = $lastel === $dokument ? '' : ' |'; + $dokumenteMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung.$postfix); + } + + foreach ($dokumenteNachzureichen as $dokument) + { + $anmerkung = !empty($dokument->anmerkung) ? ' | Anmerkung: '.$dokument->anmerkung : ''; + $nachgereichtam = !empty($dokument->nachgereicht_am) ? ' | wird nachgereicht bis '.date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; + $dokumenteNachzureichenMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung, 'anmerkung' => $anmerkung, 'nachgereicht_am' => $nachgereichtam); + } $notizenBewerbung = $this->NotizModel->getNotizByTitel($person_id, 'Anmerkung zur Bewerbung')->retval; @@ -860,7 +880,13 @@ class InfoCenter extends VileSci_Controller 'gebdatum' => $geburtsdatum, 'mailadresse' => $mailadresse, 'prestudentid' => $prestudent_id, - 'notizentext' => $notizentext + 'zgvbez' => $prestudent->zgv_bez, + 'zgvort' => $zgvort, + 'zgvdatum' => $zgvdatum, + 'zgvnation' => $zgvnation, + 'notizentext' => $notizentext, + 'dokumente' => $dokumenteMail, + 'dokumente_nachgereicht' => $dokumenteNachzureichenMail ); $this->load->library('parser'); diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index be9e39082..bcc45ff17 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -29,18 +29,16 @@ class DB_Model extends FHC_Model /** * Constructor */ - public function __construct($dbTable = null, $pk = null, $hasSequence = true) + public function __construct($dbtype = 'default') { // Call parent constructor parent::__construct(); // Set properties - $this->pk = $pk; - $this->dbTable = $dbTable; - $this->hasSequence = $hasSequence; + $this->hasSequence = true; // Loads DB conns and confs - $this->load->database(); + $this->load->database($dbtype); // Loads the UDF library $this->load->library('UDFLib'); diff --git a/application/models/system/Extensions_model.php b/application/models/system/Extensions_model.php index c93817040..0792732d8 100644 --- a/application/models/system/Extensions_model.php +++ b/application/models/system/Extensions_model.php @@ -7,7 +7,7 @@ class Extensions_model extends DB_Model */ public function __construct() { - parent::__construct(); + parent::__construct('system'); $this->dbTable = 'system.tbl_extensions'; $this->pk = 'extension_id'; } diff --git a/application/views/home.php b/application/views/home.php index 5e7deddb0..cd032bc71 100644 --- a/application/views/home.php +++ b/application/views/home.php @@ -11,35 +11,9 @@ $this->load->view('templates/FHC-Header', ?>
- 'FH-Complete', 'headertextlink' => base_url('index.ci.php/')); - $navigationMenuArray = array( - 'Dashboard' => array('link' => '#', 'description' => 'Dashboard', 'icon' => 'dashboard'), - 'Lehre' => array('link' => '#', 'icon' => 'graduation-cap', 'description' => 'Lehre', 'expand' => true, - 'children'=> array( - 'CIS' => array('link' => CIS_ROOT, 'icon' => '', 'description' => 'CIS', 'expand' => true), - 'Infocenter' => array('link' => base_url('index.ci.php/system/infocenter/InfoCenter'), 'icon' => 'info', 'description' => 'Infocenter', 'expand' => true), - ) - ), - 'Administration' => array('link' => '#', 'icon' => 'gear', 'description' => 'Administration', 'expand' => false, - 'children'=> array( - 'Vilesci' => array('link' => base_url('vilesci/'), 'icon' => '', 'description' => 'Vilesci', 'expand' => true), - 'Extensions' => array('link' => base_url('index.ci.php/system/extensions/Manager'), 'icon' => 'cubes', 'description' => 'Extensions Manager', 'expand' => true), - 'Datenschutz' => array('link' => base_url('index.ci.php/extensions/FHC-Core-DSMS/export'), 'description' => 'Datenschutz', 'icon' => 'legal','expand' => true) - ) - ), - ); + widgetlib->widget('NavigationWidget'); ?> - echo $this->widgetlib->widget( - 'NavigationWidget', - array( - 'navigationHeader' => $navigationHeaderArray, - 'navigationMenu' => $navigationMenuArray - ) - ); - - ?>
diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index 3ceaf1fa1..5963f77ca 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -17,15 +17,9 @@
- widgetlib->widget( - 'NavigationWidget', - array( - 'navigationHeader' => $navigationHeaderArray, - 'navigationMenu' => $navigationMenuArray - ) - ); - ?> + + widgetlib->widget('NavigationWidget'); ?> +
diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 6ebf5494b..147f5d981 100755 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -26,15 +26,9 @@ ?>
- widgetlib->widget( - 'NavigationWidget', - array( - 'navigationHeader' => $navigationHeaderArray, - 'navigationMenu' => $navigationMenuArray - ) - ); - ?> + + widgetlib->widget('NavigationWidget'); ?> +
diff --git a/application/views/templates/mailtemplates/interessentFreigabe.php b/application/views/templates/mailtemplates/interessentFreigabe.php index 91ca22f94..9c26a11d6 100644 --- a/application/views/templates/mailtemplates/interessentFreigabe.php +++ b/application/views/templates/mailtemplates/interessentFreigabe.php @@ -8,42 +8,63 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Studiengang{studiengangbez} {studiengangtypbez} {orgform} {sprache}
Studiensemester{studiensemester}
Geschlecht{geschlecht}
Vorname{vorname}
Nachname{nachname}
Geburtsdatum{gebdatum}
E-Mail Adresse{mailadresse}
Prestudent ID{prestudentid}
Anmerkungen zur Bewerbung{notizentext}
Studiengang{studiengangbez} {studiengangtypbez} {orgform} {sprache}
Studiensemester{studiensemester}
Geschlecht{geschlecht}
Vorname{vorname}
Nachname{nachname}
Geburtsdatum{gebdatum}
E-Mail Adresse{mailadresse}
Prestudent ID{prestudentid}
Zugangsvoraussetzung{zgvbez}{zgvort}{zgvnation}{zgvdatum}
Erbrachte Dokumente + {dokumente} + {dokument_bezeichnung} + {/dokumente} +
Nachzureichende Dokumente + {dokumente_nachgereicht} + {dokument_bezeichnung}{anmerkung}{nachgereicht_am} +
+ {/dokumente_nachgereicht} +
Anmerkungen zur Bewerbung{notizentext}

diff --git a/application/views/widgets/filter/filter.php b/application/views/widgets/filter/filter.php index 15b9b4b26..606d19b60 100644 --- a/application/views/widgets/filter/filter.php +++ b/application/views/widgets/filter/filter.php @@ -94,9 +94,26 @@ + diff --git a/application/views/widgets/navigationMenu.php b/application/views/widgets/navigationMenu.php index 46905204f..1fdb4b6b3 100644 --- a/application/views/widgets/navigationMenu.php +++ b/application/views/widgets/navigationMenu.php @@ -1,14 +1,3 @@ - - + + diff --git a/application/widgets/NavigationHeaderWidget.php b/application/widgets/NavigationHeaderWidget.php index 95daf33e1..9a1b48d5a 100644 --- a/application/widgets/NavigationHeaderWidget.php +++ b/application/widgets/NavigationHeaderWidget.php @@ -8,8 +8,8 @@ class NavigationHeaderWidget extends Widget /** * */ - public function display($data) + public function display($widgetData) { - $this->view('widgets/navigationHeader', $data); + $this->view('widgets/navigationHeader'); } } diff --git a/application/widgets/NavigationMenuWidget.php b/application/widgets/NavigationMenuWidget.php index b23054706..cabdeeb3f 100644 --- a/application/widgets/NavigationMenuWidget.php +++ b/application/widgets/NavigationMenuWidget.php @@ -5,87 +5,11 @@ */ class NavigationMenuWidget extends Widget { - private $navigationMenu; - - private static $navigationMenuWidgetInstance; - /** * */ public function display($widgetData) { - $this->navigationMenu = $widgetData; - - self::$navigationMenuWidgetInstance = $this; - $this->view('widgets/navigationMenu'); } - - /** - * - */ - public static function printNavigationMenu() - { - foreach (self::$navigationMenuWidgetInstance->navigationMenu as $item) - { - self::printNavItem($item); - } - } - - /** - * - */ - public static function printNavItem($item, $depth = 1) - { - $expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : ''; - - echo '
  • '; - - if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription'])) - { - echo ''; - } - - echo ''; - - if (isset($item['icon'])) - { - echo ' '; - } - - echo $item['description']; - - if (!empty($item['children'])) - { - echo ''; - } - - echo ''; - - if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription'])) - { - echo ''.$item['subscriptDescription'].''; - } - - if (isset($item['subscriptLinkId']) && isset($item['subscriptDescription'])) - { - echo ''; - } - - if (!empty($item['children'])) - { - $level = ''; - if ($depth === 1) - $level = 'second'; - elseif ($depth > 1) - $level = 'third'; - - echo ''; - } - - echo '
  • '; - } } diff --git a/application/widgets/NavigationWidget.php b/application/widgets/NavigationWidget.php index 7835032ce..5ce5e95b5 100644 --- a/application/widgets/NavigationWidget.php +++ b/application/widgets/NavigationWidget.php @@ -5,14 +5,11 @@ */ class NavigationWidget extends Widget { - const NAVIGATION_HEADER = 'navigationHeader'; // - const NAVIGATION_MENU = 'navigationMenu'; // - /** * */ public function display($widgetData) { - $this->view('widgets/navigation', array('widgetData' => $widgetData)); + $this->view('widgets/navigation'); } } diff --git a/cis/ampel.php b/cis/ampel.php index d8429335f..e767d9a6f 100644 --- a/cis/ampel.php +++ b/cis/ampel.php @@ -1,136 +1,143 @@ - - - - -loadUserAmpel($user); - $rot=0; - $gelb = 0; - $gruen = 0; - $verpflichtend = false; - $cnt_verpflichtend = 0; - $cnt_abgelaufen = 0; - $cnt_notConf_notOverdue = 0; //counts mandatory, not confirmed && not overdued ampeln (for popup) - - $datum = new datum(); - $now = $datum->mktime_fromdate(date('Y-m-d')); - foreach($ampel->result as $row) - { - $deadline =$datum->mktime_fromdate($row->deadline); - $vorlaufzeit = $row->vorlaufzeit; - $verfallszeit = $row->verfallszeit; - $bestaetigt = $ampel->isBestaetigt($user, $row->ampel_id); - $verpflichtend = $row->verpflichtend; - $abgelaufen = false; - - $datum_liegt_vor_vorlaufzeit = false; - $datum_liegt_nach_verfallszeit = false; - - if (!is_null($vorlaufzeit)) - $datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline); - - if (!is_null($verfallszeit)) - $datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline); - - //count mandatory - if($verpflichtend == 't') - $cnt_verpflichtend++; - - //count overdue - if ($datum_liegt_nach_verfallszeit) - $cnt_abgelaufen++; - - //set status - if ($bestaetigt) - $gruen++; - else if ($now >= $deadline && !$datum_liegt_nach_verfallszeit && !$bestaetigt) - $rot++; - else if (!$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) - $gelb++; - - //count mandatory ampeln that are not confirmed and not overdue (for popup) - if ($verpflichtend == 't' && !$bestaetigt && !$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) - $cnt_notConf_notOverdue++; - } - - - // Wenn es eine verpflichtende Ampel gibt, das Pupup im CIS anzeigen - if ($cnt_notConf_notOverdue > 0) - { - echo ' '; - - echo ' '; - } - - //show & color header ampel-link - if($rot > 0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - elseif($gelb > 0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - elseif($rot==0 || $rot <= $cnt_abgelaufen && $gelb==0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - } -else -{ - echo ""; -} + + + + +loadUserAmpel($user); + $rot=0; + $gelb = 0; + $gruen = 0; + $verpflichtend = false; + $cnt_verpflichtend = 0; + $cnt_abgelaufen = 0; + $cnt_notConf_notOverdue = 0; //counts mandatory, not confirmed && not overdued ampeln (for popup) + + $datum = new datum(); + $now = $datum->mktime_fromdate(date('Y-m-d')); + foreach($ampel->result as $row) + { + $deadline =$datum->mktime_fromdate($row->deadline); + $vorlaufzeit = $row->vorlaufzeit; + $verfallszeit = $row->verfallszeit; + $bestaetigt = $ampel->isBestaetigt($user, $row->ampel_id); + $verpflichtend = $row->verpflichtend; + $abgelaufen = false; + + $datum_liegt_vor_vorlaufzeit = false; + $datum_liegt_nach_verfallszeit = false; + + if (!is_null($vorlaufzeit)) + $datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline); + + if (!is_null($verfallszeit)) + $datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline); + + //count mandatory + if($verpflichtend == 't') + $cnt_verpflichtend++; + + //count overdue + if ($datum_liegt_nach_verfallszeit) + $cnt_abgelaufen++; + + //set status + if ($bestaetigt) + $gruen++; + else if ($now >= $deadline && !$datum_liegt_nach_verfallszeit && !$bestaetigt) + $rot++; + else if (!$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) + $gelb++; + + //count mandatory ampeln that are not confirmed and not overdue (for popup) + if ($verpflichtend == 't' && !$bestaetigt && !$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) + $cnt_notConf_notOverdue++; + } + + + //if at least ONE mandatory notification, which is not overdue -> trigger notification-POPUP + if ($cnt_notConf_notOverdue > 0) + { + echo ' '; + + echo ' '; + } + + //show & color header ampel-link + if($rot > 0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + elseif($gelb > 0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + elseif($rot==0 || $rot <= $cnt_abgelaufen && $gelb==0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + } +else +{ + echo ""; +} ?> \ No newline at end of file diff --git a/cis/index.php b/cis/index.php index c5261d7ce..401f0d51f 100644 --- a/cis/index.php +++ b/cis/index.php @@ -164,12 +164,11 @@ $db = new basis_db(); - - - - - - + + + + +

    t('courseInformation/lvInfoFreigabe');?>

    - +
    @@ -196,7 +197,7 @@ $(document).ready(function()
    - + db_add_param($stg)." ORDER by semester"; if(!$result=$db->db_query($qry)) die ("
    ".$p->t('global/fehleraufgetreten')."
    "); @@ -293,7 +294,17 @@ $(document).ready(function() db_add_param($stg)." + AND semester=".$db->db_add_param($sem)." AND tbl_lvinfo.aktiv=true + AND tbl_lvinfo.sprache=".$db->db_add_param(ATTR_SPRACHE_DE)." + ORDER BY tbl_lehrveranstaltung.bezeichnung ASC"; if(!$result=$db->db_query($qry)) die("
    Fehler bei einer Datenbankabfrage
    "); @@ -302,7 +313,15 @@ $(document).ready(function() while($row=$db->db_fetch_object($result)) { $i++; - $qry1="SELECT *, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lvinfo.updatevon as updatevon FROM campus.tbl_lvinfo JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE tbl_lvinfo.sprache='".ATTR_SPRACHE_EN."' AND lehrveranstaltung_id='$row->lehrveranstaltung_id'"; + $qry1="SELECT *, + tbl_lehrveranstaltung.bezeichnung as bezeichnung, + tbl_lvinfo.updatevon as updatevon + FROM + campus.tbl_lvinfo + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_lvinfo.sprache=".$db->db_add_param(ATTR_SPRACHE_EN)." + AND lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id); if(!$result1=$db->db_query($qry1)) die("
    Fehler bei einer Datenbankabfrage
    "); @@ -310,12 +329,12 @@ $(document).ready(function() if(!$row1=$db->db_fetch_object($result1)) die("
    Fehler bei einer Datenbankabfrage
    "); - $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'"; + $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid=".$db->db_add_param($row->updatevon); $style=''; if ($lv==$row->lehrveranstaltung_id) $style='style="background-color: #AAA; border-top: 1px solid black; border-bottom: 1px solid black"'; - + $bearbeitet=$row->updatevon; if($result2=$db->db_query($qry2)) if($row2=$db->db_fetch_object($result2)) @@ -339,6 +358,6 @@ $(document).ready(function() - + - \ No newline at end of file + diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php index 98bc9d812..833afc2f3 100644 --- a/cis/private/tools/ampelverwaltung.php +++ b/cis/private/tools/ampelverwaltung.php @@ -341,6 +341,7 @@ $(document).ready(function(){ +
    -
    +
    - - +
    + diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 9625d9455..ad3056b75 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -61,7 +61,6 @@ if(isset($_GET['method'])) $breadcrumb = "> ".$p->t('incoming/lehrveranstaltungen'); elseif($method == 'files') $breadcrumb = "> ".$p->t('incoming/dateien'); - } $zugangscode = $_SESSION['incoming/user']; @@ -107,7 +106,6 @@ else $stsem = new studiensemester(); $stsem->load($stsemAktOrNext); - $stg = new studiengang(); $stg->getAll(); @@ -135,12 +133,6 @@ $message = ''; - @@ -152,6 +144,7 @@ $message = ''; $.datepicker.setDefaults( $.datepicker.regional[ "" ] ); }); @@ -203,13 +199,13 @@ echo ' '; diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index f2678cfff..d433a747e 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -278,7 +278,7 @@ if (isset($_POST['deletePicture']) || isset($_POST['deleteAudio'])) { if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) die($rechte->errormsg); - + $frage = new frage(); if ($frage->load($_GET['frage_id'])) { @@ -651,11 +651,14 @@ foreach ($studiengang->result as $row) echo ''; //Liste der Gebiete - $qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz.""; + $qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$db->db_add_param($stg_kz); $anzahl = $db->db_num_rows($db->db_query($qry)); if ($stg_kz !== "-1" && $anzahl !== 0) - $qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$stg_kz." ORDER BY semester,reihung"; + { + $qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) + WHERE studiengang_kz=".$db->db_add_param($stg_kz)." ORDER BY semester,reihung"; + } else $qry = "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung"; diff --git a/include/ablauf.class.php b/include/ablauf.class.php index 03d6b733c..9954ca430 100644 --- a/include/ablauf.class.php +++ b/include/ablauf.class.php @@ -76,15 +76,15 @@ class ablauf extends basis_db //laden des Datensatzes $qry = "SELECT - tbl_ablauf.*, - tbl_ablauf_vorgaben.sprache, - tbl_ablauf_vorgaben.sprachwahl, + tbl_ablauf.*, + tbl_ablauf_vorgaben.sprache, + tbl_ablauf_vorgaben.sprachwahl, tbl_ablauf_vorgaben.content_id FROM testtool.tbl_ablauf - LEFT JOIN + LEFT JOIN testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id) - WHERE + WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";"; if($this->db_query($qry)) @@ -92,7 +92,7 @@ class ablauf extends basis_db if($row = $this->db_fetch_object()) { $obj = new ablauf(); - + $obj->studiengang_kz = $row->studiengang_kz; $obj->gebiet_id = $row->gebiet_id; $obj->reihung = $row->reihung; @@ -108,7 +108,7 @@ class ablauf extends basis_db $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[] = $obj; return true; } @@ -152,7 +152,7 @@ class ablauf extends basis_db return false; } } - + /** * Loescht einen Ablauf-Vorgabe Datensatz * @param $ablauf_vorgabe_id ID des zu loeschenden Datensatzes @@ -166,10 +166,10 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgabe_id muss eine gueltige Zahl sein'; return false; } - + $qry = "DELETE FROM testtool.tbl_ablauf_vorgaben WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgabe_id, FHC_INTEGER).";"; - + if($this->db_query($qry)) { return true; @@ -300,7 +300,7 @@ class ablauf extends basis_db return false; } } - + /** * Laedt die zugehoerigen Gebiete zum angegebenen Studiengang (gegebenfalls auch Studienplan) * @param $studiengang_kz ID des Studiengang @@ -308,30 +308,31 @@ class ablauf extends basis_db * @param $semester * @return boolean true wenn ok sonst false */ - public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null) + public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null) { - $qry = "SELECT - tbl_ablauf.*, - tbl_ablauf_vorgaben.sprache, - tbl_ablauf_vorgaben.sprachwahl, - tbl_ablauf_vorgaben.content_id - FROM - testtool.tbl_ablauf - LEFT JOIN + $qry = "SELECT + tbl_ablauf.*, + tbl_ablauf_vorgaben.sprache, + tbl_ablauf_vorgaben.sprachwahl, + tbl_ablauf_vorgaben.content_id + FROM + testtool.tbl_ablauf + LEFT JOIN testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id) - WHERE - tbl_ablauf.studiengang_kz=".$studiengang_kz; + WHERE + tbl_ablauf.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + if (!is_null($studienplan_id)) - $qry .= " AND studienplan_id=".$studienplan_id; + $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); if (!is_null($semester)) - $qry .= " AND semester=".$semester; + $qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER); if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new stdClass(); - + $obj->ablauf_id = $row->ablauf_id; $obj->gebiet_id = $row->gebiet_id; $obj->reihung = $row->reihung; @@ -342,7 +343,7 @@ class ablauf extends basis_db $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -353,7 +354,7 @@ class ablauf extends basis_db return false; } } - + /** * Leadt die ablauf_id zu einer Kombination aus Studiengang und Gebiet * @param $studiengang_kz Studiengang @@ -366,8 +367,10 @@ class ablauf extends basis_db * FROM testtool.tbl_ablauf - WHERE studiengang_kz=".$studiengang_kz." AND gebiet_id=".$gebiet_id.";"; - + WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." + AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER).";"; + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -382,7 +385,7 @@ class ablauf extends basis_db } } } - + /** * Laedt eine Ablauf-Vorgabe * @param $ablauf_vorgaben_id ID des zu ladenden Datensatzes @@ -395,14 +398,14 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein'; return false; } - + //laden des Datensatzes $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER, false).";"; - + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -430,7 +433,7 @@ class ablauf extends basis_db return false; } } - + /** * Speichert eine Ablauf-Vorgabe * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt @@ -506,27 +509,27 @@ class ablauf extends basis_db return false; } } - + /** * Laedt alle Ablauf-Vorgaben Eintraege * @return boolean true wenn ok sonst false */ - public function getAllAblaufVorgaben() + public function getAllAblaufVorgaben() { $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben"; - + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new ablauf(); - + $obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id; $obj->studiengang_kz = $row->studiengang_kz; $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -537,7 +540,7 @@ class ablauf extends basis_db return false; } } - + /** * Laedt einen Ablauf-Vorgabe Eintrag anhand der uebergebenen Studiengangskennzahl * @param $studiengang_kz ID des Studiengang @@ -551,21 +554,22 @@ class ablauf extends basis_db $this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein'; return false; } - - $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false); - + + $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben + WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false); + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new ablauf(); - + $obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id; $obj->studiengang_kz = $row->studiengang_kz; $obj->sprache = $row->sprache; $obj->sprachwahl = $row->sprachwahl; $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -576,7 +580,7 @@ class ablauf extends basis_db return false; } } - + /** * Zaehlt, wie of die ablauf_vorgabe_id noch in tbl_ablauf verwendet wird * @param integer $ablauf_vorgaben_id Ablauf-Vorlage-ID @@ -590,9 +594,10 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein'; return false; } - - $qry = "SELECT count(*) FROM testtool.tbl_ablauf WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER); - + + $qry = "SELECT count(*) FROM testtool.tbl_ablauf + WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER); + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -621,24 +626,25 @@ class ablauf extends basis_db */ public function getDauer($studiengang_kz, $studienplan_id=null, $semester=null) { - $qry = "SELECT + $qry = "SELECT SUM (zeit) as dauer - FROM - testtool.tbl_ablauf - JOIN + FROM + testtool.tbl_ablauf + JOIN testtool.tbl_gebiet USING (gebiet_id) - WHERE - studiengang_kz=".$studiengang_kz; + WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + if (!is_null($studienplan_id)) - $qry .= " AND studienplan_id=".$studienplan_id; + $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); if (!is_null($semester)) - $qry .= " AND semester=".$semester; + $qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER); if($this->db_query($qry)) { if($row = $this->db_fetch_object()) { - + return $row->dauer; } else diff --git a/include/frage.class.php b/include/frage.class.php index fb3e7331b..8a7d4750e 100644 --- a/include/frage.class.php +++ b/include/frage.class.php @@ -81,7 +81,13 @@ class frage extends basis_db return false; } - $qry = "SELECT * FROM testtool.tbl_frage LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER); + $qry = "SELECT + * + FROM + testtool.tbl_frage + LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) + WHERE + frage_id=".$this->db_add_param($frage_id, FHC_INTEGER); if($this->db_query($qry)) { @@ -381,9 +387,9 @@ class frage extends basis_db { $qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache); - + if (!is_null($aktiv)) - $qry .= " AND aktiv=".$aktiv; + $qry .= " AND aktiv=".($aktiv?'true':'false'); if($this->db_query($qry)) { @@ -832,10 +838,10 @@ class frage extends basis_db return false; } } - + /** * Gibt die Nummer der naechsten Frage zurueck (nicht fuer den test sondern fuer die testtool-administrationsseite) - * + * * @param $frage_nummer Nummer der aktuellen Frage * @param $gebiet_id Gebiet der Fragen * @param $aktiv true wenn nur aktiv, false wenn nur inaktiv, null wenn beides @@ -846,14 +852,14 @@ class frage extends basis_db $qry = "SELECT nummer FROM testtool.tbl_frage WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND nummer>".$this->db_add_param($frage_nummer, FHC_INTEGER); - + if (!is_null($aktiv) && $aktiv) $qry .= " AND aktiv"; if (!is_null($aktiv) && !$aktiv) $qry .= " AND NOT aktiv"; - + $qry .= " ORDER BY nummer ASC LIMIT 1"; //Es wird immer nur ein Maximum geben, deswegen kein max() - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -886,7 +892,7 @@ class frage extends basis_db } return $number; } - else + else { return false; } diff --git a/include/jahresplan.class.php b/include/jahresplan.class.php index a3bff5f29..3f52a5bf2 100644 --- a/include/jahresplan.class.php +++ b/include/jahresplan.class.php @@ -22,36 +22,36 @@ */ /** * - * @classe Jahresplan + * @classe Jahresplan * * @param connectSQL Datenbankverbindung - * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key - * @param veranstaltung_id Veranstaltung Key + * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key + * @param veranstaltung_id Veranstaltung Key * @param reservierung_id Reservierung Key * */ -require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); -class jahresplan extends basis_db +class jahresplan extends basis_db { public $new; // @boolean - public $result = array(); // jahresplan Objekt + public $result = array(); // jahresplan Objekt - // Veranstaltungskategorie - public $veranstaltungskategorie_kurzbz; // @string (16) KEY + // Veranstaltungskategorie + public $veranstaltungskategorie_kurzbz; // @string (16) KEY public $bezeichnung; // @string (64) public $farbe; // @string (6) public $bild; // @string (255) - - // Veranstaltungen - public $veranstaltung_id; // @int serial (Key) - + + // Veranstaltungen + public $veranstaltung_id; // @int serial (Key) + public $titel; // @string (64) public $beschreibung; // @string (255) public $inhalt; // @string (255) - + public $start; // @timestamp oder @date - public $ende; // @timestamp oder @date + public $ende; // @timestamp oder @date public $insertamum; // @timestamp public $insertvon; // @string (16) @@ -59,59 +59,58 @@ class jahresplan extends basis_db public $updatevon; // @string (16) public $freigabeamum; // @timestamp oder @date public $freigabevon; // @string (16) - + // Reservierung - public $reservierung_id; // @int serial (key) + public $reservierung_id; // @int serial (key) public $startDatum; // @int public $endeDatum; // @int public $startZeit; // @int - public $endeZeit; // @int - - // Suchbedingungen + public $endeZeit; // @int + + // Suchbedingungen public $show_only_public_kategorie=true; // @boolean - Public Kategorien sollen gelesen werden = false - public $start_jahr; // @int - public $ende_jahr; // @int - - public $start_jahr_monat; // @int - public $ende_jahr_monat; // @int - - public $start_jahr_woche; // @int - public $ende_jahr_woche; // @int - - public $suchtext; // @int + public $start_jahr; // @int + public $ende_jahr; // @int + + public $start_jahr_monat; // @int + public $ende_jahr_monat; // @int + + public $start_jahr_woche; // @int + public $ende_jahr_woche; // @int + + public $suchtext; // @int public $freigabe; // @boolean - + public $schemaSQL="campus"; // string Datenbankschema - + /** * Konstruktor - * @param $db Connection zur DB - * $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion + * @param $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion * $veranstaltung_id zum ladenden der Veranstaltung Funktion * $reservierung_id zum ladenden der Reservierung Funktion * $show_only_public_kategorie Boolean welche Kategorien Public oder Alle fuer Lektoren und Mitarbeiter */ - public function __construct($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="",$show_only_public_kategorie=true) + public function __construct($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="",$show_only_public_kategorie=true) { parent::__construct(); // Init alle Funktionen und Variablen $this->InitJahresplan(); - + // Berechtigungen beim Lesen $this->show_only_public_kategorie=$show_only_public_kategorie; - + // Veranstaltungskategorie $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; if (!empty($this->veranstaltungskategorie_kurzbz)) $this->loadVeranstaltungskategorie($this->veranstaltungskategorie_kurzbz); - + // Veranstaltungen $this->veranstaltung_id=$veranstaltung_id; if (!empty($this->veranstaltung_id)) $this->loadVeranstaltung($this->veranstaltung_id,$this->veranstaltungskategorie_kurzbz); - + $this->reservierung_id=$reservierung_id; if (!empty($this->reservierung_id)) $this->loadReservierung($this->reservierung_id,$this->veranstaltung_id); @@ -122,43 +121,43 @@ class jahresplan extends basis_db * Initialisierung * */ - public function InitJahresplan() + public function InitJahresplan() { $this->errormsg=''; - $this->new=false; - + $this->new=false; + $this->InitVeranstaltungskategorie(); $this->InitVeranstaltung(); - $this->InitReservierung(); + $this->InitReservierung(); } - + /** * Initialisierung der Kategorien * */ public function InitVeranstaltungskategorie() - { - // Veranstaltungskategorie - $this->veranstaltungskategorie_kurzbz=''; - $this->bezeichnung=''; - $this->farbe=''; - $this->bild=''; - $this->result=array(); + { + // Veranstaltungskategorie + $this->veranstaltungskategorie_kurzbz=''; + $this->bezeichnung=''; + $this->farbe=''; + $this->bild=''; + $this->result=array(); } /** * Speichert bzw. Aendert eine Veranstaltungskategorie * @return true wenn ok, false im Fehlerfall - */ + */ public function saveVeranstaltungskategorie() - { + { // Initialisieren $this->errormsg=''; $qry=''; - + $fildsList=''; $fildsValue=''; - + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; @@ -170,7 +169,7 @@ class jahresplan extends basis_db $this->errormsg='Veranstaltungskategorie - Bezeichnung fehlt!'; return false; } - + if($this->new) { @@ -179,61 +178,61 @@ class jahresplan extends basis_db $fildsList.='farbe,'; $fildsList.='bild'; - $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; - $fildsValue.="'".addslashes($this->bezeichnung)."',"; - $fildsValue.="'".addslashes($this->farbe)."',"; - $fildsValue.="'".addslashes($this->bild)."'"; - - $qry=" insert into ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") values (".$fildsValue."); "; + $fildsValue.= $this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.= $this->db_add_param($this->bezeichnung).","; + $fildsValue.= $this->db_add_param($this->farbe).","; + $fildsValue.= $this->db_add_param($this->bild); + + $qry=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") VALUES (".$fildsValue."); "; } else { - $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung='".addslashes($this->bezeichnung)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."farbe='".addslashes($this->farbe)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."bild='".addslashes($this->bild)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung=".$this->db_add_param($this->bezeichnung); + $fildsValue.=(!empty($fildsValue)?',':'')."farbe=".$this->db_add_param($this->farbe); + $fildsValue.=(!empty($fildsValue)?',':'')."bild=".$this->db_add_param($this->bild); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; $qry.=$fildsValue; - $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; - } - + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + if($this->db_query($qry)) return true; else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler beim speichern des Datensatzes'; + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; - } + } } /** * Loescht eine Veranstaltungskategorie * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // Initialisieren $qry=""; $this->errormsg=''; - + // Parameter if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - + // Plausib if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; return false; } - + // Abfrage - $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" DELETE FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; if (is_array($this->veranstaltungskategorie_kurzbz)) - $qry.=" where veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; - else - $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + $qry.=" WHERE veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; + else + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; if($this->db_query($qry)) return true; @@ -246,9 +245,9 @@ class jahresplan extends basis_db } /** - * Lesen der Veranstaltungskategorien + * Lesen der Veranstaltungskategorien * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall - */ + */ public function loadVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // Initialisieren @@ -258,26 +257,26 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - - // Abfrage - $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; - $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; - // Suche nach einer einzigen Veranstaltungskategorie_kurzbz - if (!is_array($this->veranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) - { - $qry.=" and veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; - } - elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) - { - $qry.=" and veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + // Abfrage + $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; + + // Suche nach einer einzigen Veranstaltungskategorie_kurzbz + if (!is_array($this->veranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) + { + $qry.=" AND veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) + { + $qry.=" AND veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles if ($this->show_only_public_kategorie) - $qry.=" and veranstaltungskategorie_kurzbz not like '*%' "; + $qry.=" AND veranstaltungskategorie_kurzbz not like '*%' "; - $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; + $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; if($this->db_query($qry)) { @@ -293,7 +292,7 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler Veranstaltungskategorien lesen!'; return false; - } + } } @@ -301,10 +300,10 @@ class jahresplan extends basis_db * Initialisierung Veranstaltung * */ - public function InitVeranstaltung() + public function InitVeranstaltung() { $this->InitVeranstaltungskategorie(); - + $this->veranstaltung_id=0; $this->veranstaltungskategorie_kurzbz=''; @@ -312,8 +311,8 @@ class jahresplan extends basis_db $this->beschreibung=''; $this->inhalt=''; - - $this->start=''; + + $this->start=''; $this->ende=''; $this->insertamum=''; @@ -322,7 +321,7 @@ class jahresplan extends basis_db $this->updatevon=''; $this->freigabeamum=''; $this->freigabevon=''; - + // Suchfelder $this->start_jahr=''; $this->ende_jahr=''; @@ -335,7 +334,7 @@ class jahresplan extends basis_db $this->suchtext=''; $this->freigabe=false; - + $this->result=array(); } @@ -343,7 +342,7 @@ class jahresplan extends basis_db * Speichert bzw. Aendert eine Veranstaltung * @return true wenn ok, false im Fehlerfall * ToDo: angleichen an die anderen Save Funktionen - */ + */ public function saveVeranstaltung() { // Initialisieren @@ -351,7 +350,7 @@ class jahresplan extends basis_db $qry=''; $fildsList=''; $fildsValue=''; - + if (!$this->new && ( empty($this->veranstaltung_id) || $this->veranstaltung_id==null) ) { $this->errormsg='Veranstaltungs - ID fehlt!'; @@ -368,13 +367,13 @@ class jahresplan extends basis_db { $this->errormsg='Veranstaltungs - Beschreibung fehlt!'; return false; - } - + } + if($this->new) { $fildsList.='veranstaltungskategorie_kurzbz,'; $fildsList.='beschreibung,'; - $fildsList.='inhalt,'; + $fildsList.='inhalt,'; $fildsList.='start,'; $fildsList.='ende,'; $fildsList.='insertamum,'; @@ -384,37 +383,38 @@ class jahresplan extends basis_db $fildsList.='freigabeamum,'; $fildsList.='freigabevon'; - $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; - $fildsValue.="'".addslashes($this->beschreibung)."',"; - $fildsValue.="'".addslashes($this->inhalt)."',"; - $fildsValue.="'".addslashes($this->start)."',"; - $fildsValue.="'".addslashes($this->ende)."',"; - $fildsValue.="'".addslashes($this->insertamum)."',"; - $fildsValue.="'".addslashes($this->insertvon)."',"; - $fildsValue.="'".addslashes($this->updateamum)."',"; - $fildsValue.="'".addslashes($this->updatevon)."',"; - $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':"'".addslashes($this->freigabeamum)."'").","; - $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':"'".addslashes($this->freigabevon)."'"); - $qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") "; + $fildsValue.=$this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.=$this->db_add_param($this->beschreibung).","; + $fildsValue.=$this->db_add_param($this->inhalt).","; + $fildsValue.=$this->db_add_param($this->start).","; + $fildsValue.=$this->db_add_param($this->ende).","; + $fildsValue.=$this->db_add_param($this->insertamum).","; + $fildsValue.=$this->db_add_param($this->insertvon).","; + $fildsValue.=$this->db_add_param($this->updateamum).","; + $fildsValue.=$this->db_add_param($this->updatevon).","; + $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':$this->db_add_param($this->freigabeamum)).","; + $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':$this->db_add_param($this->freigabevon)); + + $qry.=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") VALUES (".$fildsValue.") "; } else { - $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung='".addslashes($this->beschreibung)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."inhalt='".addslashes($this->inhalt)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."start='".addslashes($this->start)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."ende='".addslashes($this->ende)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."updateamum='".addslashes($this->updateamum)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."updatevon='".addslashes($this->updatevon)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz); + $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung=".$this->db_add_param($this->beschreibung); + $fildsValue.=(!empty($fildsValue)?',':'')."inhalt=".$this->db_add_param($this->inhalt); + $fildsValue.=(!empty($fildsValue)?',':'')."start=".$this->db_add_param($this->start); + $fildsValue.=(!empty($fildsValue)?',':'')."ende=".$this->db_add_param($this->ende); + $fildsValue.=(!empty($fildsValue)?',':'')."updateamum=".$this->db_add_param($this->updateamum); + $fildsValue.=(!empty($fildsValue)?',':'')."updatevon=".$this->db_add_param($this->updatevon); if (is_null($this->freigabeamum)) $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null"; else - $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'"; - $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon='".addslashes($this->freigabevon)."'"); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set "; + $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=".$this->db_add_param($this->freigabeamum); + $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon=".$this->db_add_param($this->freigabevon)); + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltung SET "; $qry.=$fildsValue; - $qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" WHERE veranstaltung_id=".$this->db_add_param($this->veranstaltung_id); } if(!$this->db_query($qry)) @@ -423,10 +423,10 @@ class jahresplan extends basis_db $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - + if($this->new) { - $qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; "; + $qry=" SELECT max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) FROM ".$this->schemaSQL.".tbl_veranstaltung; "; if(!$this->db_query($qry)) { if (empty($this->errormsg)) @@ -447,7 +447,7 @@ class jahresplan extends basis_db $veranstaltung_id=$this->veranstaltung_id; $this->InitVeranstaltung(); $this->veranstaltung_id=$veranstaltung_id; - if (!$this->loadVeranstaltung()) + if (!$this->loadVeranstaltung()) return false; return $this->result; } @@ -455,39 +455,39 @@ class jahresplan extends basis_db /** * Loescht eine Veranstaltung * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltung($veranstaltung_id="") { // Initialisieren $qry=''; $this->errormsg=''; - + if (!empty($veranstaltung_id)) $this->veranstaltung_id=$veranstaltung_id; - + if (empty($this->veranstaltung_id) || $this->veranstaltung_id==null ) { $this->errormsg='Veranstaltung - ID fehlt!'; return false; } - + // Abfrage $qry.="BEGIN; "; - - // Reservierung - $qry.="update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=null "; + + // Reservierung + $qry.="UPDATE ".$this->schemaSQL.".tbl_reservierung SET veranstaltung_id=null "; if (is_array($this->veranstaltung_id)) - $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; - else - $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; - - // Veranstaltung - $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltung "; + $qry.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + + // Veranstaltung + $qry.=" DELETE FROM ".$this->schemaSQL.".tbl_veranstaltung "; if (is_array($this->veranstaltung_id)) - $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; - else - $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; - + $qry.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + $qry.=" COMMIT; "; if($this->db_query($qry)) @@ -497,18 +497,18 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler beim Veranstaltung löschen '; return false; - } + } } /** - * Lesen der Veranstaltung + * Lesen der Veranstaltung * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall */ public function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="",$show_only_public_kategorie="") { //Init $qry=''; - + $this->errormsg=''; $this->result=array(); @@ -517,13 +517,13 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - + if ($freigabe!='') $this->freigabe=$freigabe; if ($show_only_public_kategorie!='') $this->show_only_public_kategorie=$show_only_public_kategorie; - + $qry.="SELECT tbl_veranstaltung.* "; $qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" "; @@ -538,7 +538,7 @@ class jahresplan extends basis_db $qry.=", to_char(tbl_veranstaltung.start, 'DD') as \"start_tag\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'DD') as \"ende_tag\" "; - + $qry.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; @@ -547,7 +547,7 @@ class jahresplan extends basis_db $qry.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" "; - + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start::TIMESTAMP WITHOUT TIME ZONE at time zone 'CEST' ) as \"start_timestamp\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende::TIMESTAMP WITHOUT TIME @@ -567,7 +567,7 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; $qry.=", to_char(tbl_veranstaltung.updateamum, 'DD.MM.YYYY') as \"updateamum_datum\" "; $qry.=", to_char(tbl_veranstaltung.updateamum, 'HH24:MI') as \"updateamum_zeit\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.updateamum) as \"updateamum_timestamp\" "; - + $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'DD.MM.YYYY') as \"freigabeamum_datum\" "; $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" "; @@ -577,108 +577,108 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; $qry.=" FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; $qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz "; $qry.=" WHERE ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; - + if ($this->freigabe) { $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.freigabevon>'' "; } - // Suche nach einer einzigen Veranstaltung_id - if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id)) { if(!is_numeric($this->veranstaltung_id)) { $this->errormsg = 'Veranstaltung_id ist ungueltig'; return false; } - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; } elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; } // Suche nach einer einzigen Veranstaltungskategorie_kurzbz if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; } elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } if (!empty($this->start) && empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->db_add_param($this->start).") "; else if (empty($this->start) && !empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->db_add_param($this->ende).") "; else if (!empty($this->start) && !empty($this->ende) ) { - $qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; - $qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->start).") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->ende).") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; } if (!empty($this->start_jahr) && empty($this->ende_jahr)) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')=".$this->db_add_param($this->start_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')=".$this->db_add_param($this->ende_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) { - $qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; - $qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; } if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) ) - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; elseif (empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; elseif (!empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) { - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; - $qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; } - + if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) ) - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; elseif (empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; elseif (!empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) { - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - $qry.=" AND '".addslashes($this->ende_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - } - + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + } + if (!empty($this->start_jahr_monat_tag) && empty($this->ende_jahr_monat_tag) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>='".addslashes($this->start_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>=".$this->db_add_param($this->start_jahr_monat_tag); elseif (empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<='".addslashes($this->ende_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<=".$this->db_add_param($this->ende_jahr_monat_tag); elseif (!empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) { - $qry.=" AND '".addslashes($this->start_jahr_monat_tag)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; - $qry.=" AND '".addslashes($this->ende_jahr_monat_tag)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat_tag)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_monat_tag)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; } if ($this->suchtext) { $this->suchtext='%'.$this->suchtext.'%'; $this->suchtext=str_replace(' ','%',$this->suchtext); - $this->suchtext=str_replace('%%','%',addslashes($this->suchtext)); - $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like '".addslashes($this->suchtext)."' ) "; - } + $this->suchtext=str_replace('%%','%',$this->suchtext); + $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like ".$this->db_add_param($this->suchtext)." ) "; + } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles if ($this->show_only_public_kategorie) - $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; - + $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; + if (!empty($this->start) || !empty($this->ende) || !empty($this->start_jahr) || !empty($this->ende_jahr) || !empty($this->start_jahr_monat) || !empty($this->ende_jahr_monat) || !empty($this->start_jahr_monat_tag) || !empty($this->ende_jahr_monat_tag) ) - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; else - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; - + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; + if($this->db_query($qry)) { $veranstaltungkategorie=array(); @@ -686,40 +686,40 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; { $veranstaltungkategorie[]=$row; } - + return $this->result=$veranstaltungkategorie; } else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler Veranstaltungen lesen'; + $this->errormsg = 'Fehler beim Laden der Veranstaltung'; return false; - } - } + } + } /** * Reservierung Initialisieren * */ - public function InitReservierung() + public function InitReservierung() { - $this->reservierung_id=0; + $this->reservierung_id=0; $this->veranstaltung_id=null; $this->startDatum=''; $this->endeDatum=''; $this->startZeit=''; - $this->endeZeit=''; + $this->endeZeit=''; $this->result=array(); } - + /** * Reservierung Speichern * * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ public function saveReservierung() @@ -727,14 +727,23 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; // Initialisieren $this->errormsg=''; $qry=""; - + // Plausib - if ( empty($this->reservierung_id) ) + if ( empty($this->reservierung_id) ) { $this->errormsg='Keine Reservierung ID gefunden !'; return false; - } - $qry.=" update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=".(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)?$this->veranstaltung_id:"null")." WHERE reservierung_id=".$this->reservierung_id."; " ; + } + + if(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)) + $id = $this->db_add_param($this->veranstaltung_id); + else + $id = null; + + $qry.="UPDATE ".$this->schemaSQL.".tbl_reservierung SET + veranstaltung_id=".$id." + WHERE reservierung_id=".$this->db_add_param($this->reservierung_id)."; " ; + if($this->db_query($qry)) return true; else @@ -755,104 +764,104 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; * @param unknown_type $startZeit * @param unknown_type $endeZeit * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ - public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") - { + public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") + { //Init $this->errormsg=''; - - if ($reservierung_id!='') + + if ($reservierung_id!='') $this->reservierung_id=$reservierung_id; - if ($veranstaltung_id!='') + if ($veranstaltung_id!='') $this->veranstaltung_id=$veranstaltung_id; - - if ($startDatum!='') + + if ($startDatum!='') $this->startDatum=$startDatum; - + if (!empty($this->startDatum) && is_numeric($this->startDatum)) $this->startDatum=strftime('%Y%m%d',$this->startDatum); - + if ($endeDatum!='') $this->endeDatum=$endeDatum; - + if (!empty($this->endeDatum) && is_numeric($this->endeDatum)) $this->endeDatum=strftime('%Y%m%d',$this->endeDatum); - + if ($startZeit!='') $this->startZeit=$startZeit; - + if (!empty($this->startZeit) && is_numeric($this->startZeit)) $this->startZeit=date('Hi',$this->startZeit); - + if ($endeZeit!='') $this->endeZeit=$endeZeit; if (!empty($this->endeZeit) && is_numeric($this->endeZeit)) - $this->endeZeit=date('Hi',$this->endeZeit); - + $this->endeZeit=date('Hi',$this->endeZeit); + $qry=''; $qry.="SELECT tbl_reservierung.* "; - + $qry.=", to_char(tbl_reservierung.datum, 'YYYYMMDD') as \"datum_jjjjmmtt\" "; $qry.=", to_char(tbl_reservierung.datum, 'YYYYMM') as \"datum_jahr_monat\" "; $qry.=", to_char(tbl_reservierung.datum, 'YYYY') as \"datum_jahr\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'WW') as \"datum_woche\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'Q') as \"datum_quartal\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'DD.MM.YYYY') as \"datum_anzeige\" "; - - $qry.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; + + $qry.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; $qry.=", to_char(lehre.tbl_stunde.beginn, 'HH24:MI') as \"beginn_anzeige\" "; $qry.=", to_char(lehre.tbl_stunde.ende, 'HH24:MI') as \"ende_anzeige\" "; - + $qry.=", EXTRACT(EPOCH FROM tbl_reservierung.datum) as \"datum_timestamp\" "; - - + + $qry.=" FROM ".$this->schemaSQL.".tbl_reservierung "; $qry.=" RIGHT JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde=".$this->schemaSQL.".tbl_reservierung.stunde "; - + // Wird nur fuer Lesen alle - benoetigt if (empty($this->reservierung_id) && empty($this->veranstaltung_id)) { if (!empty($this->startZeit) && empty($this->endeZeit) ) - $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')='".$this->startZeit."' "; + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')=".$this->db_add_param($this->startZeit)." "; else if (empty($this->startZeit) && !empty($this->endeZeit) ) - $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI')='".$this->endeZeit."' "; - else if (!empty($this->startZeit) && !empty($this->endeZeit) ) + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI')=".$this->db_add_param($this->endeZeit)." "; + else if (!empty($this->startZeit) && !empty($this->endeZeit)) { - $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >='".$this->startZeit."' "; - $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= '".$this->endeZeit.",' "; - } - } - - $qry.=" WHERE ".$this->schemaSQL.".tbl_reservierung.titel>'' "; - - // Suche nach einer einzigen reservierung_id + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >=".$this->db_add_param($this->startZeit)." "; + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= ".$this->db_add_param($this->endeZeit)." "; + } + } + + $qry.=" WHERE ".$this->schemaSQL.".tbl_reservierung.titel>'' "; + + // Suche nach einer einzigen reservierung_id if (!is_array($this->reservierung_id) && !empty($this->reservierung_id) ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->reservierung_id." "; + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->db_add_param($this->reservierung_id)." "; elseif (is_array($this->reservierung_id) && count($this->reservierung_id)>0 ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".implode(",",$this->reservierung_id).") "; - - // Suche nach einer einzigen Veranstaltung_id + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".$this->db_implode4SQL($this->reservierung_id).") "; + + // Suche nach einer einzigen Veranstaltung_id if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->veranstaltung_id." "; - elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".implode(",",$this->veranstaltung_id).") "; - + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; + elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; + if (!empty($this->startDatum) && empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->start."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($this->start)." "; else if (empty($this->startDatum) && !empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->ende."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($this->ende)." "; else if (!empty($this->startDatum) && !empty($this->endeDatum) ) { - $qry.=" AND '".$this->startDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; - $qry.=" AND '".$this->endeDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; - } - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_reservierung.datum,tbl_reservierung.stunde "; - + $qry.=" AND ".$this->db_add_param($this->startDatum)." between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->endeDatum)." between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + } + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_reservierung.datum,tbl_reservierung.stunde "; + if($this->db_query($qry)) { $this->result=array(); @@ -867,7 +876,7 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; if (empty($this->errormsg)) $this->errormsg = 'Fehler Reservierung lesen'; return false; - } - } + } + } } ?> diff --git a/include/nation.class.php b/include/nation.class.php index 42956ec95..5eecb9fc7 100644 --- a/include/nation.class.php +++ b/include/nation.class.php @@ -49,7 +49,7 @@ class nation extends basis_db public function __construct($code=null) { parent::__construct(); - + if($code != null) $this->load($code); } @@ -64,7 +64,7 @@ class nation extends basis_db { //Lesen der Daten aus der Datenbank $qry = "SELECT * FROM bis.tbl_nation WHERE nation_code=".$this->db_add_param($code).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; @@ -101,17 +101,17 @@ class nation extends basis_db { //Lesen der Daten aus der Datenbank $qry = "SELECT * FROM bis.tbl_nation"; - + if ($ohnesperre) - $qry .= " WHERE sperre is null"; - + $qry .= " WHERE sperre is null OR sperre is false"; + if ($orderEnglish == false) $qry .= " ORDER BY kurztext"; - else + else $qry .= " ORDER BY engltext"; - + $qry .= ';'; - + if (!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; @@ -134,10 +134,10 @@ class nation extends basis_db $this->nation[] = $nation; } - + return true; } - + /** * Speichert die Personendaten in die Datenbank * @return true wenn erfolgreich, false im Fehlerfall @@ -169,4 +169,4 @@ class nation extends basis_db } } } -?> \ No newline at end of file +?> diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 9247cd98d..76938c547 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -176,7 +176,7 @@ $menu=array 'Wartung'=> array ( 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav', - + 'permissions'=>array('basis/studiengang','lehre/vorrueckung','student/vorrueckung','admin','basis/firma','student/stammdaten','assistenz','lv-plan'), 'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')), 'Vorrueckung'=> array ( @@ -186,7 +186,7 @@ $menu=array ), 'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')), 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')), - 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'), + 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')), 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')), 'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')), 'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')), diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php old mode 100644 new mode 100755 index c9b319316..7d8aec3cf --- a/include/zeitaufzeichnung.class.php +++ b/include/zeitaufzeichnung.class.php @@ -133,7 +133,7 @@ class zeitaufzeichnung extends basis_db //Variablen pruefen if(!$this->validate()) return false; - + // check ob identischer eintrag existiert $check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende); if($this->db_query($check_qry) && $this->new) @@ -142,13 +142,13 @@ class zeitaufzeichnung extends basis_db { if ($row->count) { - $this->errormsg = 'Identischer Eintrag existiert!'; + $this->errormsg = 'Identischer Eintrag existiert!'; return false; } } } - - + + if($this->new) { //Neuen Datensatz einfuegen @@ -339,7 +339,7 @@ class zeitaufzeichnung extends basis_db //zusätzlicher Tag - SQL rechnet letzten Tag nicht hinein $to = date('Y-m-d', strtotime($to. ' + 1 days')); - $where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE) + $where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE) OR (ende >= ".$this->db_add_param($from)."::DATE AND ende <= ".$this->db_add_param($to)."::DATE))"; $qry = "SELECT @@ -506,16 +506,16 @@ class zeitaufzeichnung extends basis_db return false; } } - + /** - * Löscht sämtliche Einträge eines Users für einen Tag + * Löscht sämtliche Einträge eines Users für einen Tag * @param string $user * @param string $tag Y-m-d */ public function deleteEntriesForUser($user, $tag) - { - $where = "uid=".$this->db_add_param($user); - + { + $where = "uid=".$this->db_add_param($user); + $qry = "delete from campus.tbl_zeitaufzeichnung where $where and date_trunc('day', start) = '$tag'"; if($result = $this->db_query($qry)) { @@ -529,28 +529,28 @@ class zeitaufzeichnung extends basis_db } /** - * Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen + * Löscht Pauseneinträge eines Users für einen Tag, die außerhalb der Arbeitszeit liegen * Löscht Pauseneinträge an Tagen ohne Arbeitszeit * @param string $user * @param string $tag Y-m-d */ public function cleanPausenForUser($user, $tag) - { - $where = "uid=".$this->db_add_param($user); - + { + $where = "uid=".$this->db_add_param($user); + $qry = " delete from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz = 'Pause' and start::date = '$tag' and $where and ( -start::time >= +start::time >= (SELECT max(ende::time) as endzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause') or ende::time<= (SELECT min(start::time) as startzeit from campus.tbl_zeitaufzeichnung where $where and start::date = '$tag' AND (aktivitaet_kurzbz != 'LehreExtern' or aktivitaet_kurzbz is null ) and aktivitaet_kurzbz != 'Pause') or not exists -(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where ) +(select 1 from campus.tbl_zeitaufzeichnung where aktivitaet_kurzbz != 'LehreExtern' and aktivitaet_kurzbz != 'Pause' and start::date = '$tag' and $where ) ) "; - + if($result = $this->db_query($qry)) { return true; @@ -563,52 +563,79 @@ or not exists } /** - * Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users + * Holt alle ZA-Einträge Typ LehreIntern und LehreExtern eines Users * für das laufende Studienjahr und gibt die Summen in einem Array zurück * @param string $user - * @return Array mit Keay: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert - */ + * @return Array mit Key: LehreIntern, LehreExtern, LehreAuftraege, LehreInkludiert + */ public function getLehreForUser($user,$sem) { - $where = "uid=".$this->db_add_param($user); + $where = "uid=".$this->db_add_param($user); $where_sem = "studiensemester_kurzbz=".$this->db_add_param($sem); $lehre_arr = array("LehreIntern"=>0, "LehreExtern"=>0, "LehreAuftraege"=>0); - + $qry = " select sum(extract(epoch from ende-start))/3600 as lehre, aktivitaet_kurzbz from campus.tbl_zeitaufzeichnung where $where and aktivitaet_kurzbz in ('LehreIntern', 'LehreExtern') and start > (select start from public.tbl_studiensemester where $where_sem) group by aktivitaet_kurzbz "; - + if($result = $this->db_query($qry)) { - + while($row = $this->db_fetch_object($result)) { - $lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2); + $lehre_arr[$row->aktivitaet_kurzbz] = round($row->lehre,2); } } else { return false; - } + } $where = "mitarbeiter_uid=".$this->db_add_param($user); $where_sem = "l.studiensemester_kurzbz=".$this->db_add_param($sem); - $qry = " - select sum(m.semesterstunden) from lehre.tbl_lehreinheitmitarbeiter m, lehre.tbl_lehreinheit l where $where and $where_sem and l.lehreinheit_id = m.lehreinheit_id and m.stundensatz*m.semesterstunden > 0 + + $qry = " + SELECT sum(semstunden) AS stunden + FROM + ( + SELECT sum(m.semesterstunden) AS semstunden + FROM + lehre.tbl_lehreinheitmitarbeiter m, + lehre.tbl_lehreinheit l + WHERE + $where AND + $where_sem AND + l.lehreinheit_id = m.lehreinheit_id AND + m.stundensatz * m.semesterstunden > 0 + UNION + SELECT sum(pb.stunden) AS semstunden + FROM + lehre.tbl_projektarbeit pa, + lehre.tbl_projektbetreuer pb, + lehre.tbl_lehreinheit l, + public.tbl_benutzer b + WHERE + pa.lehreinheit_id = l.lehreinheit_id AND + pb.projektarbeit_id = pa.projektarbeit_id AND + pb.person_id = b.person_id AND + b.uid = ".$this->db_add_param($user)." AND + pb.stunden * pb.stundensatz > 0 AND + $where_sem + ) AS semstunden "; - + if($result = $this->db_query($qry)) { - + while($row = $this->db_fetch_object($result)) { - $lehre_arr["LehreAuftraege"] = round($row->sum); + $lehre_arr["LehreAuftraege"] = round($row->stunden); } } else { return false; - } - + } + return $lehre_arr; } } diff --git a/locale/de-AT/incoming.php b/locale/de-AT/incoming.php index 5a9479770..38a7fa87c 100644 --- a/locale/de-AT/incoming.php +++ b/locale/de-AT/incoming.php @@ -134,10 +134,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='Sie können die Spalten du $this->phrasen['incoming/waehlenSieAusDenOptionen']='Bitte wählen Sie die gewünschen Optionen aus dem DropDown und klicken Sie auf "Filter"'; $this->phrasen['incoming/lvInfo']='LV-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Ihre Bewerbung wurde erfolgreich abgeschickt. Die zuständige Assistenz wird sich in Kürze mit Ihnen in Verbindung setzen'; -$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie %s'; $this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein'; -$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte %s'; $this->phrasen['incoming/beginnNichtInVergangenheit']='Das Beginndatum darf nicht in der Vergangenheit liegen'; $this->phrasen['incoming/endeGroesserStart']='Das Endedatum darf nicht vor dem Beginndatum liegen'; $this->phrasen['incoming/bitteGueltigesDatumEingeben']='Das Start- oder Endedatum muss im Format TT.MM.YYYY vorliegen'; -?> \ No newline at end of file +?> diff --git a/locale/de-AT/notebookregister.php b/locale/de-AT/notebookregister.php index d77071bb2..f954987a4 100644 --- a/locale/de-AT/notebookregister.php +++ b/locale/de-AT/notebookregister.php @@ -1,6 +1,6 @@ phrasen['notebookregister/notebook_absatz1']='Sollten Sie mehr als ein Notebook registrieren lassen wollen, wenden Sie sich bitte an support@technikum-wien.at, da nur ein Eintrag pro Person möglich ist.

    Geben Sie die MAC-Adresse in folgendem Format an: 00-50-DA-C2-32-1C, oder 00:50:DA:C2:32:1C'; -$this->phrasen['notebookregister/notebook_absatz2']='Die Änderungen werden in ca. 30 Minuten wirksam. Bitte haben Sie etwas Geduld.

    Um das Internet nutzen zu können, lassen Sie bitte die Netzwerkverbindungseinstellungen vom DHCP-Server zuweisen.
    In Ihrem Browser tragen Sie bitte den Proxy-Server: proxy.technikum-wien.at und den Port 3128 ein.'; +$this->phrasen['notebookregister/notebook_absatz2']='Die Änderungen werden in ca. 30 Minuten wirksam. Bitte haben Sie etwas Geduld.

    Um das Internet nutzen zu können, lassen Sie bitte die Netzwerkverbindungseinstellungen vom DHCP-Server zuweisen.'; $this->phrasen['notebookregister/notebook_anmerkung']='muss nur angegeben werden, wenn UID nicht gleich dem angemeldetem Benutzer'; $this->phrasen['notebookregister/titelNotebookRegistration']='LAN Zugang'; $this->phrasen['notebookregister/passwortEingebenWennUIDgeaendert']='Es muss ein Passwort eingegeben werden, wenn die UID geändert wird'; diff --git a/locale/de-AT/zeitaufzeichnung.php b/locale/de-AT/zeitaufzeichnung.php index a1f247827..9a475bc1d 100644 --- a/locale/de-AT/zeitaufzeichnung.php +++ b/locale/de-AT/zeitaufzeichnung.php @@ -40,7 +40,7 @@ $this->phrasen['zeitaufzeichnung/alleAnzeigen']='Alle anzeigen'; $this->phrasen['zeitaufzeichnung/alleEintraege']='Alle Einträge'; $this->phrasen['zeitaufzeichnung/summeEintraege']='Summe Einträge'; $this->phrasen['zeitaufzeichnung/arbeitszeit']='Arbeitszeit'; -$this->phrasen['zeitaufzeichnung/pause']='Pausen';'inkl. 30 min. Pflichtpause'; +$this->phrasen['zeitaufzeichnung/pause']='Pausen'; $this->phrasen['zeitaufzeichnung/inklusivePflichtpause']='inkl. 30 min. Pflichtpause'; $this->phrasen['zeitaufzeichnung/handbuchZeitaufzeichnung']='Arbeitszeitaufzeichnung Leitfaden'; $this->phrasen['zeitaufzeichnung/fiktiveNormalarbeitszeit']='Vereinbarung der fiktiven Normalarbeitszeit'; diff --git a/locale/en-US/incoming.php b/locale/en-US/incoming.php index a9f944573..b26d950d7 100644 --- a/locale/en-US/incoming.php +++ b/locale/en-US/incoming.php @@ -135,10 +135,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='You may sort the columns b $this->phrasen['incoming/waehlenSieAusDenOptionen']='Please choose your options from the DropDown-Fields and click "Filter"'; $this->phrasen['incoming/lvInfo']='Course-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Admission sent successfully. The administrative assistant responsible will contact you soon'; -$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact %s'; $this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer'; -$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact %s'; $this->phrasen['incoming/beginnNichtInVergangenheit']='The "From"-date may not be in the past'; $this->phrasen['incoming/endeGroesserStart']='The "To"-date may not be before the start'; $this->phrasen['incoming/bitteGueltigesDatumEingeben']='The date for the begin and end must be entered in the DD.MM.YYYY format'; -?> \ No newline at end of file +?> diff --git a/locale/en-US/notebookregister.php b/locale/en-US/notebookregister.php index 94dd2708f..589b53a05 100644 --- a/locale/en-US/notebookregister.php +++ b/locale/en-US/notebookregister.php @@ -1,6 +1,6 @@ phrasen['notebookregister/notebook_absatz1']='It is only possible to register one notebook PC per person.
    If you want to register more than one, please contact support at support@technikum-wien.at.

    Enter the MAC address in the following format: 00-50-DA-C2-32-1C, or 00:50:DA:C2:32:1C'; -$this->phrasen['notebookregister/notebook_absatz2']='The changes will take effect in about 30 minutes. Please be patient.

    In order to access the Internet, please allow the DHCP server to assign the network connection settings.
    Please enter the following proxy server in your browser: proxy.technikum-wien.at and set the port to 3128.'; +$this->phrasen['notebookregister/notebook_absatz2']='The changes will take effect in about 30 minutes. Please be patient.

    In order to access the Internet, please allow the DHCP server to assign the network connection settings.'; $this->phrasen['notebookregister/notebook_anmerkung']='only has to be entered if the UID is not the same as that of the logged-in user'; $this->phrasen['notebookregister/titelNotebookRegistration']='LAN Access'; $this->phrasen['notebookregister/passwortEingebenWennUIDgeaendert']='A password must be entered when the UID is changed.'; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index e6435f509..5064284f1 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1916,84 +1916,9 @@ if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzb } } -/** Budget **/ -if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) +if (!$result = @$db->db_query("SELECT projekt_id FROM fue.tbl_projekt LIMIT 1")) { - $qry = "CREATE TABLE wawi.tbl_budgetantrag - ( - budgetantrag_id integer NOT NULL, - kostenstelle_id integer NOT NULL, - geschaeftsjahr_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(256), - insertamum timestamp DEFAULT now(), - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag IS 'Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT pk_tbl_budgetantrag PRIMARY KEY (budgetantrag_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_budgetantrag_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag ALTER COLUMN budgetantrag_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_budgetantrag_id_seq'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_budgetantrag_id_seq TO vilesci; - - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_kostenstelle_id FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_geschaeftsjahr_kurzbz FOREIGN KEY (geschaeftsjahr_kurzbz) REFERENCES public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - CREATE TABLE wawi.tbl_budgetstatus - ( - budgetstatus_kurzbz varchar(32) NOT NULL, - bezeichnung varchar(128) - ); - COMMENT ON TABLE wawi.tbl_budgetstatus IS 'Key Table of Budget Request Statuses'; - - ALTER TABLE wawi.tbl_budgetstatus ADD CONSTRAINT pk_tbl_budgetstatus PRIMARY KEY (budgetstatus_kurzbz); - - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('new','Neu'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('sent','Abgeschickt'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('approved','Freigegeben'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('accepted','Akzeptiert'); - INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('rejected','Abgelehnt'); - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - - CREATE TABLE wawi.tbl_budgetantrag_status - ( - budgetantrag_status_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetstatus_kurzbz varchar(32) NOT NULL, - datum timestamp NOT NULL, - uid varchar(32), - oe_kurzbz varchar(32), - insertamum timestamp DEFAULT now(), - insertvon varchar(32) - ); - COMMENT ON TABLE wawi.tbl_budgetantrag_status IS 'Statuses of Budget Requests'; - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT pk_tbl_budgetantrag_status PRIMARY KEY (budgetantrag_status_id); - - CREATE SEQUENCE wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetantrag_status ALTER COLUMN budgetantrag_status_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq'); - - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_budgetstatus_kurzbz FOREIGN KEY (budgetstatus_kurzbz) REFERENCES wawi.tbl_budgetstatus(budgetstatus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq TO vilesci; - - CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq + $qry = "CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -2001,47 +1926,29 @@ if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) GRANT SELECT, UPDATE ON fue.tbl_projekt_projekt_id_seq TO vilesci; ALTER TABLE fue.tbl_projekt ADD COLUMN projekt_id integer NOT NULL DEFAULT nextval('fue.tbl_projekt_projekt_id_seq'); ALTER TABLE fue.tbl_projekt ADD CONSTRAINT uk_tbl_projekt_projekt_id UNIQUE (projekt_id); - - CREATE TABLE wawi.tbl_budgetposition - ( - budgetposition_id integer NOT NULL, - budgetantrag_id integer NOT NULL, - budgetposten varchar(512), - konto_id integer, - betrag numeric(12,4), - kommentar text, - projekt_id integer, - insertamum timestamp, - insertvon varchar(32), - updateamum timestamp, - updatevon varchar(32) - ); - - COMMENT ON TABLE wawi.tbl_budgetposition IS 'Budget position'; - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT pk_tbl_budgetposition PRIMARY KEY (budgetposition_id); - - CREATE SEQUENCE wawi.tbl_budgetposition_budgetposition_id_seq - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - ALTER TABLE wawi.tbl_budgetposition ALTER COLUMN budgetposition_id SET DEFAULT nextval(' wawi.tbl_budgetposition_budgetposition_id_seq'); - - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_budgetantrag_id FOREIGN KEY (budgetantrag_id) REFERENCES wawi.tbl_budgetantrag(budgetantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_konto_id FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON UPDATE CASCADE ON DELETE RESTRICT; - ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_projekt_id FOREIGN KEY (projekt_id) REFERENCES fue.tbl_projekt(projekt_id) ON UPDATE CASCADE ON DELETE RESTRICT; - - GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetposition TO vilesci; - GRANT SELECT, UPDATE ON wawi.tbl_budgetposition_budgetposition_id_seq TO vilesci; "; - if(!$db->db_query($qry)) - echo 'Budget: '.$db->db_last_error().'
    '; + if (!$db->db_query($qry)) + echo 'Projekt: '.$db->db_last_error().'
    '; else - echo '
    Neue Tabellen fuer Budgetantrag in Schema wawi hinzugefuegt'; + echo '
    Neue Spalte projekt_id für fue.tbl_projekt hinzugefügt'; } +// Extension Schema +if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata WHERE schema_name='extension'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE SCHEMA extension; + COMMENT ON SCHEMA extension is 'Extension Tables';"; + + if (!$db->db_query($qry)) + echo 'Extension: '.$db->db_last_error().'
    '; + else + echo '
    Neues Schema extension hinzugefuegt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; @@ -2309,11 +2216,6 @@ $tabellen=array( "wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"), "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"), "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"), - "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"), - "wawi.tbl_budgetantrag" => array("budgetantrag_id","kostenstelle_id","geschaeftsjahr_kurzbz","bezeichnung","insertamum","insertvon","updateamum","updatevon"), - "wawi.tbl_budgetantrag_status" => array("budgetantrag_status_id","budgetantrag_id","budgetstatus_kurzbz","datum","uid","oe_kurzbz","insertamum","insertvon"), - "wawi.tbl_budgetstatus" => array("budgetstatus_kurzbz","bezeichnung"), - "wawi.tbl_budgetposition" => array("budgetposition_id","budgetantrag_id","budgetposten","konto_id","betrag","kommentar","projekt_id","insertamum","insertvon","updateamum","updatevon"), "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"), "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"), "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"), diff --git a/vilesci/personen/incoming_lehrveranstaltungen.php b/vilesci/personen/incoming_lehrveranstaltungen.php index ec31f7374..18e396a25 100644 --- a/vilesci/personen/incoming_lehrveranstaltungen.php +++ b/vilesci/personen/incoming_lehrveranstaltungen.php @@ -17,11 +17,9 @@ * * Authors: Manfred Kindl . */ - - require_once('../../config/vilesci.config.inc.php'); require_once('../../config/global.config.inc.php'); -require_once '../../include/person.class.php'; +require_once '../../include/person.class.php'; require_once '../../include/functions.inc.php'; require_once '../../include/phrasen.class.php'; require_once '../../include/preincoming.class.php'; @@ -38,10 +36,10 @@ $rechte->getBerechtigungen($user); if(isset($_GET['lang'])) setSprache($_GET['lang']); - -$sprache = getSprache(); -$p=new phrasen($sprache); - + +$sprache = getSprache(); +$p=new phrasen($sprache); + $method = htmlspecialchars($_GET['method']); $db = new basis_db(); @@ -68,35 +66,34 @@ if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET[ - - - - - + + + + + - + sortList: [[0,0],[1,0]], + widgets: ["zebra"] + }); + }); + function conf(val1) + { + return confirm("Incomingplätze der LV '"+val1+"' auf 0 setzen?"); + } + -isBerechtigt('inout/incoming', null, 'suid')) die($rechte->errormsg); @@ -106,22 +103,22 @@ if($method=="lehrveranstaltungen") if(isset($_GET['mode']) && $_GET['mode'] == "setZero") { - $id= $_GET['id']; + $id= $_GET['id']; $lehrveranstaltung = new lehrveranstaltung(); $lehrveranstaltung->load($id); - + $lehrveranstaltung->incoming = 0; - + if($lehrveranstaltung->save()) - $message = $p->t('global/erfolgreichgespeichert'); + $message = $p->t('global/erfolgreichgespeichert'); else - $message = $p->t('global/fehleraufgetreten'); + $message = $p->t('global/fehleraufgetreten'); } - + // Übersicht aller LVs echo '

    Lehrveranstaltungs-Verwaltung

    '; echo ' - +
    @@ -146,7 +143,6 @@ if($method=="lehrveranstaltungen") $SSemesterSelected='selected'; echo ''; - echo ''; echo'
    '; @@ -164,7 +160,6 @@ if($method=="lehrveranstaltungen") $EnglishSelected='selected'; echo ''; - echo ''; echo'
    '; @@ -184,14 +179,14 @@ if($method=="lehrveranstaltungen") if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006') { $selected = ''; - + if ($typ != $row->typ || $typ=='') { if ($typ!='') echo ''; echo ''; } - + if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz) $selected='selected'; @@ -209,18 +204,18 @@ if($method=="lehrveranstaltungen")
    '; - + // Filter für Semester setzen $filterqry = ''; - + if(isset($_GET['filter'])) if($_GET['filter'] == "WSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (1,3,5)"; elseif($_GET['filter'] == "SSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (2,4,6)"; - + if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') - $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; + $filterqry .= " AND tbl_lehrveranstaltung.sprache=".$db->db_add_param($_GET['unterrichtssprache']); //Uebersicht LVs /* Erklaerung der Datumszeitraeume ab Zeile 857: @@ -235,15 +230,15 @@ if($method=="lehrveranstaltungen") * -------------------| Von ist NULL und bis innerhalb SS * |--------------------------- Bis ist NULL und von innerhalb SS */ - + $studiensemester_array = array(); $studiensemester = new studiensemester(); $studiensemester_array[] = $studiensemester->getakt(); - + $studiensemester->getFutureStudiensemester('',2); foreach ($studiensemester->studiensemester AS $row) $studiensemester_array[] = $row->studiensemester_kurzbz; - + if(isset($_GET['go'])) { // QUERY liefert LVs aus den gültigen Studienordnungen UND jene mit Anmeldungen, auch wenn Incomingplätze 0 sind oder die LV in keinem gültigen Studienplan liegt @@ -258,19 +253,18 @@ if($method=="lehrveranstaltungen") person_id FROM campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer using(uid) - JOIN public.tbl_student ON(uid=student_uid) - JOIN public.tbl_prestudentstatus USING(prestudent_id) + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') - AND - tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") + AND tbl_prestudentstatus.status_kurzbz='Incoming' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT person_id @@ -280,45 +274,45 @@ if($method=="lehrveranstaltungen") WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND aktiv = true - )a ) as anzahl + )a ) as anzahl FROM lehre.tbl_lehrveranstaltung - JOIN - public.tbl_studiengang USING(studiengang_kz) + JOIN + public.tbl_studiengang USING(studiengang_kz) WHERE - tbl_lehrveranstaltung.incoming>0 AND - tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre AND - tbl_lehrveranstaltung.lehrveranstaltung_id IN + tbl_lehrveranstaltung.incoming>0 AND + tbl_lehrveranstaltung.aktiv AND + tbl_lehrveranstaltung.lehre AND + tbl_lehrveranstaltung.lehrveranstaltung_id IN ( - SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung - JOIN lehre.tbl_studienplan USING (studienplan_id) - JOIN lehre.tbl_studienordnung USING (studienordnung_id) + SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN lehre.tbl_studienordnung USING (studienordnung_id) JOIN lehre.tbl_studienplan_semester USING (studienplan_id) - WHERE tbl_studienordnung.status_kurzbz='approved' + WHERE tbl_studienordnung.status_kurzbz='approved' AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id - AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."') + AND tbl_studienplan_semester.studiensemester_kurzbz IN (".$db->db_implode4SQL($studiensemester_array).") AND tbl_studienplan_semester.semester=tbl_lehrveranstaltung.semester - ) + ) AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; - + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; - + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($_GET['studiengang'], FHC_INTEGER); + $qry .= " AND tbl_studiengang.aktiv ".$filterqry; - - $qry .= " + + $qry .= " UNION SELECT @@ -341,10 +335,10 @@ if($method=="lehrveranstaltungen") lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") AND tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT person_id @@ -354,40 +348,40 @@ if($method=="lehrveranstaltungen") WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND aktiv = true - )a ) as anzahl + )a ) as anzahl FROM public.tbl_preincoming_lehrveranstaltung JOIN public.tbl_preincoming using(preincoming_id) JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE + WHERE ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND tbl_preincoming.aktiv = true "; - + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($_GET['studiengang'], FHC_INTEGER); $qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz"; @@ -420,7 +414,7 @@ if($method=="lehrveranstaltungen") { $freieplaetze = $row->incoming - $row->anzahl; $style = ''; - + $studiengang = new studiengang(); $studiengang->load($row->studiengang_kz); $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; @@ -432,10 +426,10 @@ if($method=="lehrveranstaltungen") else $typ = '-'; echo ''; - + if ($freieplaetze<=0) $style = 'style="background-color: #FF8888"'; - + echo '',$row->lehrveranstaltung_id,''; echo '',$studiengang_language,''; echo '',$typ,''; @@ -471,7 +465,7 @@ elseif($method=="anmeldungen") echo '

    Übersicht Anmeldungen

    '; // Filter für Semester setzen - + //Uebersicht LVs /* Erklaerung der Datumszeitraeume @@ -503,10 +497,10 @@ elseif($method=="anmeldungen") lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=".$id." AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") AND tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT nachname, vorname @@ -517,19 +511,19 @@ elseif($method=="anmeldungen") WHERE lehrveranstaltung_id=".$id." AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND tbl_preincoming.aktiv = true"; - - + + if($result = $db->db_query($qry)) { if ($db->db_num_rows($result)>0) @@ -544,12 +538,12 @@ elseif($method=="anmeldungen") '; while($row = $db->db_fetch_object($result)) { - + echo ''; echo '',$row->nachname,''; echo '',$row->vorname,''; echo ''; - + } echo ''; } @@ -562,4 +556,4 @@ elseif($method=="anmeldungen") } ?> - \ No newline at end of file + diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index 7cb117f5a..1afcc0c3c 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -178,14 +178,22 @@ if(isset($_GET['excel'])) $reihungstest = new reihungstest(); if($reihungstest->load($_GET['reihungstest_id'])) { + $rt_studienplan_id = ''; $studienplaene_arr = array(); $studienplaene = new reihungstest(); $studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); foreach ($studienplaene->result AS $row) { $studienplan = new studienplan(); - $studienplan->loadStudienplan($row->studienplan_id); - $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; + if($studienplan->loadStudienplan($row->studienplan_id)) + { + $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; + $rt_studienplan_id = $row->studienplan_id; + } + else + { + die('Fehler beim Laden:'.$studienplan->errormsg); + } } $studienplaene_list = implode(',', array_keys($studienplaene_arr)); @@ -249,12 +257,15 @@ if(isset($_GET['excel'])) "; $gebietbezeichnungen = array(); - $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung"; - if($result_gebiete = $db->db_query($qry_gebiete)) + if ($rt_studienplan_id != '') { - while($row_gebiete = $db->db_fetch_object($result_gebiete)) + $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($rt_studienplan_id)." ORDER BY reihung"; + if($result_gebiete = $db->db_query($qry_gebiete)) { - $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + while($row_gebiete = $db->db_fetch_object($result_gebiete)) + { + $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + } } }