Merge branch 'master' into merge_FHC4_C4

This commit is contained in:
Harald Bamberger
2025-02-03 15:53:55 +01:00
9 changed files with 300 additions and 150 deletions
+10 -1
View File
@@ -1,6 +1,6 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
if (!defined('BASEPATH')) exit('No direct script access allowed');
// Deadline for Application given as Time-Interval after Semesterstart.
@@ -24,3 +24,12 @@ $config['send_mail'] = TRUE;
// Display fields to explain equivalence of ECTS and LV-Inhalte
$config['explain_equivalence'] = TRUE;
// Displays infobox if set to true
$config['display_infobox'] = [
'fristen' => TRUE,
'referenzbeispiele_ects' => TRUE,
'voraussetzungen' => TRUE,
'nachweisdokumente' => TRUE,
'herkunft_kenntnisse' => TRUE
];
@@ -28,6 +28,11 @@ class GehaltsbestandteilLib
$this->GehaltsbestandteilModel = $this->CI->GehaltsbestandteilModel;
}
public function fetchGehaltsbestandteileValorisiertForChart($dienstverhaeltnis_id, $stichtag=null, $includefuture=false)
{
return $this->GehaltsbestandteilModel->getGehaltsbestandteileValorisiertForChart($dienstverhaeltnis_id, $stichtag, $includefuture);
}
public function fetchGehaltsbestandteile($dienstverhaeltnis_id, $stichtag=null,
$includefuture=false, $withvalorisationhistory=true)
{
@@ -243,6 +243,85 @@ EOSQL;
return $result;
}
public function getGehaltsbestandteileValorisiertForChart($dienstverhaeltnis_id, $stichtag=null, $includefuture=false)
{
$stichtagclause = '';
if( !is_null($stichtag) )
{
$date = strftime('%Y-%m-%d', strtotime($stichtag));
$stichtagclause = 'AND (' . $this->escape($date)
. ' BETWEEN COALESCE(von, \'1970-01-01\'::date)'
. ' AND COALESCE(bis, \'2170-01-01\'::date)';
if( $includefuture )
{
$stichtagclause .= ' OR COALESCE(von, \'1970-01-01\'::date) > '
. $this->escape($date);
}
$stichtagclause .= ')';
}
// Note: replaced gb.betrag_valorisiert with vh.betrag_valorisiert!
$qry = "
SELECT
gb.gehaltsbestandteil_id,gb.dienstverhaeltnis_id,gb.vertragsbestandteil_id,gb.gehaltstyp_kurzbz,
gb.von,gb.bis,gb.anmerkung,gb.grundbetrag as grundbetrag,gb.valorisierungssperre,gb.insertamum,
gb.insertvon,gb.updateamum,gb.updatevon,gb.valorisierung,gb.auszahlungen,
vh.valorisierungsdatum, vh.betrag_valorisiert as betrag_valorisiert
FROM hr.tbl_gehaltsbestandteil gb LEFT JOIN hr.tbl_valorisierung_historie vh using (gehaltsbestandteil_id)
WHERE dienstverhaeltnis_id=?
$stichtagclause
ORDER BY gb.von,vh.valorisierungsdatum, gb.gehaltsbestandteil_id;
";
$query = $this->execQuery($qry,
array($dienstverhaeltnis_id),
$this->getEncryptedColumns());
$gehaltsbestandteile = array();
if( null !== ($rows = getData($query)) )
{
// store for preserving the last records of every gehaltsbestandteil_id
$lastRecords = array();
foreach( $rows as $row ) {
$tmpgb = new Gehaltsbestandteil();
$tmpgb->hydrateByStdClass($row, true);
// prevent duplication (caused by the join with historic values)
if (!isset($lastRecords[(string)$row->gehaltsbestandteil_id])) {
$gehaltsbestandteile[] = $tmpgb;
$lastRecords[(string)$row->gehaltsbestandteil_id] = $tmpgb;
}
if ($row->betrag_valorisiert != null && $row->valorisierungsdatum != null
&& $row->valorisierungsdatum != $row->von && $row->valorisierungsdatum != $row->bis) {
// create additional row
$tmpgbv = new Gehaltsbestandteil();
$tmpgbv->hydrateByStdClass($row, true);
$tmpgbv->setVon($row->valorisierungsdatum);
$tmpgbv->setBis($lastRecords[(string)$row->gehaltsbestandteil_id]->getBis());
// overwrite Grundbetrag with the current valorized loan
// (otherwise the chart would show the wrong value)
$tmpgbv->setGrundbetrag($row->betrag_valorisiert);
$gehaltsbestandteile[] = $tmpgbv;
// finish previous
$daybefore = new DateTimeImmutable($row->valorisierungsdatum);
$daybefore = $daybefore->sub(new \DateInterval('P1D'));
$lastRecords[(string)$row->gehaltsbestandteil_id]->setBis($daybefore->format('Y-m-d'));
// preserve as last row, because there might be another valorization
$lastRecords[(string)$row->gehaltsbestandteil_id] = $tmpgbv;
}
}
}
return $gehaltsbestandteile;
}
public function getGehaltsbestandteil($id)
{
$this->addSelect('*');
@@ -1,71 +1,83 @@
<div class="accordion" id="requestAnrechnungImportant">
<!-- Beantragung: Fristen panel -->
<?php if (isset($this->config->item('display_infobox')['fristen']) && $this->config->item('display_infobox')['fristen'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenTitle'); ?>
<div class="accordion" id="requestAnrechnungImportant">
<!-- Beantragung: Fristen panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenTitle'); ?>
</div>
</div>
</h2>
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Referenzbeispiele ECTS Berechnung panel -->
<?php if (isset($this->config->item('display_infobox')['referenzbeispiele_ects']) && $this->config->item('display_infobox')['referenzbeispiele_ects'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
</div>
</div>
</h2>
<div id="Referenzbeispiele" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
</div>
</div>
</div>
</h2>
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenBody'); ?>
</div>
</div>
</div>
<!-- Referenzbeispiele ECTS Berechnung panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
<?php endif; ?>
<!-- Nachweisdokumente: Voraussetzung panel -->
<?php if (isset($this->config->item('display_infobox')['voraussetzungen']) && $this->config->item('display_infobox')['voraussetzungen'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="d-flex">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteTitle'); ?>
</div>
</div>
</h2>
<div id="Nachweisdokumente" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteBody'); ?>
</div>
</div>
</div>
</div>
</h2>
<div id="Referenzbeispiele" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
</div>
</div>
</div>
<!-- Nachweisdokumente: Voraussetzung panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="d-flex">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteTitle'); ?>
</div>
</div>
</h2>
<div id="Nachweisdokumente" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Herkunft der Kenntnisse: Angaben panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseTitle'); ?>
<?php if (isset($this->config->item('display_infobox')['herkunft_kenntnisse']) && $this->config->item('display_infobox')['herkunft_kenntnisse'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
<div class="d-flex">
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseTitle'); ?>
</div>
</div>
</h2>
<div id="HerkunftKenntnisse" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseBody'); ?>
</div>
</div>
</div>
</div>
</h2>
<div id="HerkunftKenntnisse" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
</div>
@@ -2,7 +2,6 @@
$this->load->config('anrechnung');
$includesArray = array(
array(
'title' => $this->p->t('anrechnung', 'anrechnungenPruefen'),
'jquery3' => true,
'jqueryui1' => true,
@@ -50,7 +49,6 @@ $includesArray = array(
'public/js/bootstrapper.js',
'public/js/lehre/anrechnung/reviewAnrechnungDetail.js'
)
)
);
if (defined("CIS4")) {
@@ -1,86 +1,102 @@
<div class="accordion" id="requestAnrechnungImportant">
<!-- Beantragung: Fristen panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenTitle'); ?>
</div>
</div>
</h2>
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenBody'); ?>
</div>
</div>
</div>
<!-- Referenzbeispiele ECTS Berechnung panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
</div>
</div>
</h2>
<div id="Referenzbeispiele" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
</div>
</div>
</div>
<!-- Antrag: Voraussetzungen panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="d-flex">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Antrag" aria-expanded="false" aria-controls="Antrag">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenTitle'); ?>
</div>
</div>
</h2>
<div id="Antrag" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenBody'); ?>
</div>
</div>
</div>
<!-- Nachweisdokumente: Voraussetzung panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteTitle'); ?>
</div>
</div>
</h2>
<div id="Nachweisdokumente" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteBody'); ?>
</div>
</div>
</div>
<!-- Herkunft der Kenntnisse: Angaben panel -->
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseTitle'); ?>
</div>
</div>
</h2>
<div id="HerkunftKenntnisse" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseBody'); ?>
</div>
</div>
</div>
<!-- Beantragung: Fristen panel -->
<?php if (isset($this->config->item('display_infobox')['fristen']) && $this->config->item('display_infobox')['fristen'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenTitle'); ?>
</div>
</div>
</h2>
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Referenzbeispiele ECTS Berechnung panel -->
<?php if (isset($this->config->item('display_infobox')['referenzbeispiele_ects']) && $this->config->item('display_infobox')['referenzbeispiele_ects'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
</div>
</div>
</h2>
<div id="Referenzbeispiele" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Antrag: Voraussetzungen panel -->
<?php if (isset($this->config->item('display_infobox')['voraussetzungen']) && $this->config->item('display_infobox')['voraussetzungen'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="d-flex">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#Antrag" aria-expanded="false" aria-controls="Antrag">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenTitle'); ?>
</div>
</div>
</h2>
<div id="Antrag" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Nachweisdokumente: Voraussetzung panel -->
<?php if (isset($this->config->item('display_infobox')['nachweisdokumente']) && $this->config->item('display_infobox')['nachweisdokumente'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteTitle'); ?>
</div>
</div>
</h2>
<div id="Nachweisdokumente" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- Herkunft der Kenntnisse: Angaben panel -->
<?php if (isset($this->config->item('display_infobox')['herkunft_kenntnisse']) && $this->config->item('display_infobox')['herkunft_kenntnisse'] === true): ?>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
<div class="d-flex">
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>&ensp;
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseTitle'); ?>
</div>
</div>
</h2>
<div id="HerkunftKenntnisse" class="accordion-collapse collapse"
data-bs-parent="#requestAnrechnungImportant">
<div class="accordion-body">
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseBody'); ?>
</div>
</div>
</div>
<?php endif; ?>
</div>
+1 -1
View File
@@ -25,7 +25,7 @@ $this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Zum Starten klicken Sie b
$this->phrasen['testtool/gebietStarten']='Gebiet starten';
$this->phrasen['testtool/startseite']='Startseite';
$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite';
$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien!";
$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien";
$this->phrasen['testtool/anmeldedaten']= "Sie sind mit folgenden Daten angemeldet:";
$this->phrasen['testtool/keineAntwort']='Keine Antwort';
$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter';
+1
View File
@@ -69,6 +69,7 @@ require_once('dbupdate_3.4/40717_lv_faktor.php');
require_once('dbupdate_3.4/48526_pep_tagging.php');
require_once('dbupdate_3.4/41950_perm_gehaelter.php');
require_once('dbupdate_3.4/53903_valorisierung.php');
require_once('dbupdate_3.4/55968_index_anrechnung.php');
require_once('dbupdate_3.4/25999_locale_update.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -0,0 +1,30 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// Add index to lehre.tbl_anrechnung.prestudent_id
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_anrechnungen_prestudent_id'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE INDEX idx_anrechnungen_prestudent_id ON lehre.tbl_anrechnung USING btree (prestudent_id)";
if (! $db->db_query($qry))
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Index fuer lehre.tbl_anrechnung_prestudent_id hinzugefuegt';
}
}
// Add index to lehre.tbl_anrechnung.studiensemester_kurzbz
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_anrechnungen_studiensemester_kurzbz'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE INDEX idx_anrechnungen_studiensemester_kurzbz ON lehre.tbl_anrechnung USING btree (studiensemester_kurzbz)";
if (! $db->db_query($qry))
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Index fuer lehre.tbl_anrechnung_studiensemester_kurzbz hinzugefuegt';
}
}