diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php
index 92c896ce7..fcd9b953c 100644
--- a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php
+++ b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php
@@ -142,7 +142,7 @@ FROM
WHEN oe.organisationseinheittyp_kurzbz = \'Department\' THEN (\'DEP \' || oe.bezeichnung)
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
- TRUNC(lema.semesterstunden, 1) AS "stunden",
+ TRUNC(lema.semesterstunden, 2) AS "stunden",
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
vertrag_id,
vertragsstunden AS "vertrag_stunden",
@@ -232,7 +232,7 @@ FROM
SELECT
pa.lehreinheit_id,
lv.lehrveranstaltung_id,
- pa.projektarbeit_id AS "projektarbeit_id",
+ pa.projektarbeit_id::text AS "projektarbeit_id",
le.studiensemester_kurzbz,
stg.studiengang_kz,
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
@@ -375,9 +375,9 @@ $filterWidgetArray = array(
orgform_kurzbz: {visible: false, headerFilter:"input"},
person_id: {visible: false, headerFilter:"input"},
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
- stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
+ stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
- bottomCalc:"sum", bottomCalcParams:{precision:1}
+ bottomCalc:"sum", bottomCalcParams:{precision:2}
},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php
index 635fd9da9..4f0c61193 100644
--- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php
+++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php
@@ -25,6 +25,7 @@ SELECT
lv_oe_kurzbz,
lektor,
stunden,
+ stundensatz,
betrag,
vertrag_id,
vertrag_stunden,
@@ -148,7 +149,8 @@ FROM
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(person.nachname || \' \' || person.vorname) AS "lektor",
- TRUNC(lema.semesterstunden, 1) AS "stunden",
+ TRUNC(lema.semesterstunden, 2) AS "stunden",
+ lema.stundensatz,
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
vertrag_id,
vertragsstunden AS "vertrag_stunden",
@@ -270,6 +272,7 @@ FROM
END AS "lv_oe_kurzbz",
(nachname || \' \' || vorname) AS "lektor",
TRUNC(pb.stunden, 1) AS "stunden",
+ pb.stundensatz,
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
vertrag_id,
vertragsstunden AS "vertrag_stunden",
@@ -325,6 +328,7 @@ $filterWidgetArray = array(
ucfirst($this->p->t('lehre', 'organisationseinheit')),
ucfirst($this->p->t('lehre', 'lektor')),
ucfirst($this->p->t('ui', 'stunden')),
+ ucfirst($this->p->t('ui', 'stundensatz')),
ucfirst($this->p->t('ui', 'betrag')),
ucfirst($this->p->t('ui', 'vertrag')). '-ID',
ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'stunden')),
@@ -396,9 +400,11 @@ $filterWidgetArray = array(
person_id: {visible: false, headerFilter:"input"},
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
lektor: {headerFilter:"input", widthGrow: 2},
- stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
+ stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
- bottomCalc:"sum", bottomCalcParams:{precision:1}},
+ bottomCalc:"sum", bottomCalcParams:{precision:2}},
+ stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
+ headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}},
diff --git a/application/views/lehre/lehrauftrag/orderLehrauftragData.php b/application/views/lehre/lehrauftrag/orderLehrauftragData.php
index c272c392c..85b663d4a 100644
--- a/application/views/lehre/lehrauftrag/orderLehrauftragData.php
+++ b/application/views/lehre/lehrauftrag/orderLehrauftragData.php
@@ -159,7 +159,7 @@ FROM
(
SELECT
/* lehrauftraege also planned with dummies, therefore personalnummer is needed */
- ma.personalnummer,
+ ma.personalnummer::text,
lema.lehreinheit_id,
lv.lehrveranstaltung_id,
lv.bezeichnung AS "lv_bezeichnung",
@@ -179,7 +179,7 @@ FROM
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(person.nachname || \' \' || person.vorname) AS "lektor",
- TRUNC(lema.semesterstunden, 1) AS "stunden",
+ TRUNC(lema.semesterstunden, 2) AS "stunden",
lema.stundensatz,
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
vertrag_id,
@@ -219,7 +219,7 @@ FROM
(SELECT
uid
FROM
- public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
+ public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
ON tbl_benutzer.uid = ma.mitarbeiter_uid
WHERE
person_id = tmp_projektbetreuung.person_id
@@ -272,7 +272,7 @@ FROM
pa.lehreinheit_id,
lv.lehrveranstaltung_id,
lv.bezeichnung AS "lv_bezeichnung",
- pa.projektarbeit_id AS "projektarbeit_id",
+ pa.projektarbeit_id::text AS "projektarbeit_id",
le.studiensemester_kurzbz,
stg.studiengang_kz,
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
@@ -414,7 +414,7 @@ $filterWidgetArray = array(
row_index: {visible: false},
personalnummer: {visible: false, headerFilter:"input"},
auftrag: {
- headerFilter:"input", widthGrow: 2,
+ headerFilter:"input", widthGrow: 2,
bottomCalc:"count", bottomCalcFormatter:function(cell){return "'. ucfirst($this->p->t('global', 'anzahl')). ': " + cell.getValue();}
},
stg_typ_kurzbz: {headerFilter:"input"},
@@ -432,10 +432,10 @@ $filterWidgetArray = array(
person_id: {visible: false, headerFilter:"input"},
lv_oe_kurzbz: {headerFilter:"input"},
lektor: {headerFilter:"input", widthGrow: 2},
- stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
+ stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
- bottomCalc:"sum", bottomCalcParams:{precision:1}},
- stundensatz: {visible: false, align:"right", formatter: form_formatNulltoStringNumber,
+ bottomCalc:"sum", bottomCalcParams:{precision:2}},
+ stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
diff --git a/application/views/person/bpk/bpkDetails.php b/application/views/person/bpk/bpkDetails.php
index 198065c24..bd6191c6a 100644
--- a/application/views/person/bpk/bpkDetails.php
+++ b/application/views/person/bpk/bpkDetails.php
@@ -9,7 +9,6 @@
'jqueryui1' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
@@ -126,10 +125,18 @@
-
diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php
index d09f0f41e..da816b2c7 100644
--- a/application/views/system/infocenter/infocenterAbgewiesenData.php
+++ b/application/views/system/infocenter/infocenterAbgewiesenData.php
@@ -1,6 +1,7 @@
config->load('infocenter');
+ $APP = '\'infocenter\'';
$ABGEWIESENEN_STATUS = '\'Abgewiesener\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
@@ -17,6 +18,8 @@ $query = '
p.nachname AS "Nachname",
so.studiengangkurzbzlang as "Studiengang",
pss.insertamum AS "AbgewiesenAm",
+ pl.zeitpunkt AS "LockDate",
+ pl.lockuser AS "LockUser",
(
SELECT l.zeitpunkt
FROM system.tbl_log l
@@ -28,21 +31,35 @@ $query = '
ORDER BY l.log_id DESC
LIMIT 1
)
- AND '. $LOGDATA_VON .' = (
+ AND ('. $LOGDATA_VON .' = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
)
+ OR
+ (
+ (
+ SELECT l.insertvon
+ FROM system.tbl_log l
+ WHERE l.person_id = p.person_id
+ ORDER BY l.log_id DESC
+ LIMIT 1
+ ) IS NULL
+ )
+ )
AND l.zeitpunkt >= pss.insertamum
ORDER BY l.log_id DESC
LIMIT 1
) AS "Nachricht",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
@@ -54,6 +71,15 @@ $query = '
JOIN public.tbl_studiengang sg USING(studiengang_kz)
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
JOIN lehre.tbl_studienordnung so USING(studienordnung_id)
+ LEFT JOIN (
+ SELECT tpl.person_id,
+ tpl.zeitpunkt,
+ sp.nachname AS lockuser
+ FROM system.tbl_person_lock tpl
+ JOIN public.tbl_benutzer sb USING (uid)
+ JOIN public.tbl_person sp ON sb.person_id = sp.person_id
+ WHERE tpl.app = '.$APP.'
+ ) pl USING(person_id)
WHERE pss.status_kurzbz = '. $ABGEWIESENEN_STATUS .'
AND pss.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND (sg.typ IN ('. $STUDIENGANG_TYP .')
@@ -70,6 +96,7 @@ $query = '
'requiredPermissions' => 'infocenter',
'datasetRepresentation' => 'tablesorter',
'checkboxes' => 'PersonId',
+ 'additionalColumns' => array('Details'),
'columnsAliases' => array(
'PersonId',
'PreStudentID',
@@ -77,11 +104,23 @@ $query = '
ucfirst($this->p->t('person', 'nachname')),
ucfirst($this->p->t('lehre', 'studiengang')),
ucfirst($this->p->t('infocenter', 'abgewiesenam')),
+ ucfirst($this->p->t('global', 'sperrdatum')),
+ ucfirst($this->p->t('global', 'gesperrtVon')),
ucfirst($this->p->t('global', 'nachricht')),
ucfirst($this->p->t('infocenter', 'kaution'))
),
'formatRow' => function($datasetRaw) {
+ /* NOTE: Dont use $this here for PHP Version compatibility */
+ $datasetRaw->{'Details'} = sprintf(
+ '
Details ',
+ site_url('system/infocenter/InfoCenter/showDetails'),
+ $datasetRaw->{'PersonId'},
+ 'abgewiesen',
+ (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''),
+ (isset($_GET['filter_id']) ? $_GET['filter_id'] : '')
+ );
+
if ($datasetRaw->{'Nachricht'} === null)
{
$datasetRaw->{'Nachricht'} = 'Nein';
@@ -103,10 +142,29 @@ $query = '
{
$datasetRaw->{'Kaution'} = 'Offen';
}
+
+ if ($datasetRaw->{'LockDate'} == null)
+ {
+ $datasetRaw->{'LockDate'} = '-';
+ }
+
+ if ($datasetRaw->{'LockUser'} == null)
+ {
+ $datasetRaw->{'LockUser'} = '-';
+ }
$datasetRaw->{'AbgewiesenAm'} = date_format(date_create($datasetRaw->{'AbgewiesenAm'}),'Y-m-d H:i');
return $datasetRaw;
+ },
+
+ 'markRow' => function($datasetRaw) {
+
+ if ($datasetRaw->LockDate != null)
+ {
+ return FilterWidget::DEFAULT_MARK_ROW_CLASS;
+ }
}
+
);
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
diff --git a/application/views/system/infocenter/infocenterAufgenommen.php b/application/views/system/infocenter/infocenterAufgenommen.php
new file mode 100644
index 000000000..6d65c0f7c
--- /dev/null
+++ b/application/views/system/infocenter/infocenterAufgenommen.php
@@ -0,0 +1,50 @@
+load->view(
+ 'templates/FHC-Header',
+ array(
+ 'title' => 'Info Center',
+ 'jquery3' => true,
+ 'jqueryui1' => true,
+ 'jquerycheckboxes1' => true,
+ 'bootstrap3' => true,
+ 'fontawesome4' => true,
+ 'sbadmintemplate3' => true,
+ 'tablesorter2' => true,
+ 'ajaxlib' => true,
+ 'filterwidget' => true,
+ 'navigationwidget' => true,
+ 'dialoglib' => true,
+ 'phrases' => array(
+ 'person' => array('vorname', 'nachname'),
+ 'global' => array('mailAnXversandt'),
+ 'ui' => array('bitteEintragWaehlen')
+ ),
+ 'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css', 'public/css/infocenter/infocenterPersonDataset.css'),
+ 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
+ )
+ );
+?>
+
+
+
+
+ widgetlib->widget('NavigationWidget'); ?>
+
+
+
+
+
+ load->view('system/infocenter/infocenterAufgenommenData.php'); ?>
+
+
+
+
+
+
+load->view('templates/FHC-Footer'); ?>
diff --git a/application/views/system/infocenter/infocenterAufgenommenData.php b/application/views/system/infocenter/infocenterAufgenommenData.php
new file mode 100644
index 000000000..720d118e3
--- /dev/null
+++ b/application/views/system/infocenter/infocenterAufgenommenData.php
@@ -0,0 +1,95 @@
+config->load('infocenter');
+ $AUFGENOMMENER_STATUS = '\'Aufgenommener\'';
+ $REJECTED_STATUS = '\'Abgewiesener\'';
+ $STUDIENGANG_TYP = '\'l\'';
+ $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
+ $LOGDATA_NAME = '\'Message sent\'';
+ $LOGDATA_VON = '\'online\'';
+
+$query = '
+ SELECT
+ p.person_id AS "PersonId",
+ p.vorname AS "Vorname",
+ p.nachname AS "Nachname",
+ (
+ SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ) || UPPER(sg.kurzbz)), \', \')
+ FROM public.tbl_prestudentstatus pss
+ JOIN public.tbl_prestudent ps USING(prestudent_id)
+ JOIN public.tbl_studiengang sg USING(studiengang_kz)
+ WHERE
+ pss.status_kurzbz = '. $AUFGENOMMENER_STATUS .'
+ AND ps.person_id = p.person_id
+ AND sg.typ IN ('.$STUDIENGANG_TYP.')
+ AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
+ AND NOT EXISTS (
+ SELECT 1
+ FROM tbl_prestudentstatus spss
+ WHERE spss.prestudent_id = pss.prestudent_id
+ AND spss.status_kurzbz = '. $REJECTED_STATUS .'
+ AND spss.studiensemester_kurzbz IN (
+ SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >
+ (SELECT start FROM public.tbl_studiensemester sss WHERE studiensemester_kurzbz = '. $STUDIENSEMESTER .'))
+ )
+ LIMIT 1
+ ) AS "Studiengang"
+ FROM
+ public.tbl_person p
+ WHERE
+ EXISTS (
+ SELECT 1
+ FROM public.tbl_prestudent sps
+ JOIN public.tbl_studiengang ssg USING(studiengang_kz)
+ WHERE sps.person_id = p.person_id
+ AND ssg.typ IN (' . $STUDIENGANG_TYP . ')
+ AND ' . $AUFGENOMMENER_STATUS . ' = (
+ SELECT spss.status_kurzbz
+ FROM public.tbl_prestudentstatus spss
+ WHERE spss.prestudent_id = sps.prestudent_id
+ ORDER BY spss.datum DESC, spss.insertamum DESC, spss.ext_id DESC
+ LIMIT 1
+ )
+ AND EXISTS (
+ SELECT 1
+ FROM tbl_prestudentstatus spss
+ WHERE spss.prestudent_id = sps.prestudent_id
+ AND spss.status_kurzbz = ' . $AUFGENOMMENER_STATUS . '
+ AND spss.studiensemester_kurzbz = ' . $STUDIENSEMESTER . '
+ )
+ )
+
+ ';
+
+ $filterWidgetArray = array(
+ 'query' => $query,
+ 'app' => InfoCenter::APP,
+ 'datasetName' => 'aufgenommen',
+ 'filter_id' => $this->input->get('filter_id'),
+ 'requiredPermissions' => 'infocenter',
+ 'datasetRepresentation' => 'tablesorter',
+ 'checkboxes' => 'PersonId',
+ 'additionalColumns' => array('Details'),
+ 'columnsAliases' => array(
+ 'PersonId',
+ ucfirst($this->p->t('person', 'vorname')) ,
+ ucfirst($this->p->t('person', 'nachname')),
+ ucfirst($this->p->t('lehre', 'studiengang'))
+ ),
+
+ 'formatRow' => function($datasetRaw)
+ {
+ $datasetRaw->{'Details'} = sprintf(
+ '
Details ',
+ site_url('system/infocenter/InfoCenter/showDetails'),
+ $datasetRaw->{'PersonId'},
+ 'aufgenommen',
+ (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''),
+ (isset($_GET['filter_id']) ? $_GET['filter_id'] : '')
+ );
+ return $datasetRaw;
+ }
+ );
+
+ echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
+?>
diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php
index bb5b84479..61dc5a575 100644
--- a/application/views/system/infocenter/infocenterData.php
+++ b/application/views/system/infocenter/infocenterData.php
@@ -292,9 +292,12 @@
rueck.datum_bis AS "HoldDate",
rueck.bezeichnung AS "Rueckstellgrund",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php
index 401e34099..a8e6e3e13 100644
--- a/application/views/system/infocenter/infocenterDetails.php
+++ b/application/views/system/infocenter/infocenterDetails.php
@@ -8,7 +8,7 @@
'dialoglib' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
@@ -57,10 +57,11 @@
if (isset($lockedby)):
echo $this->p->t('global', 'wirdBearbeitetVon').': ';
echo $lockedby;
- if ($origin_page == 'index'):
+ if (in_array($origin_page, array('index', 'abgewiesen'))):
$unlockpath = 'unlockPerson/'.$stammdaten->person_id;
$unlockpath .= '?fhc_controller_id='.$fhc_controller_id;
$unlockpath .= '&filter_id='.$prev_filter_id;
+ $unlockpath .= '&origin_page='.$origin_page;
?>
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php
index 32315c145..8003b42e0 100644
--- a/application/views/system/infocenter/infocenterFreigegebenData.php
+++ b/application/views/system/infocenter/infocenterFreigegebenData.php
@@ -267,9 +267,12 @@ $query = '
LIMIT 1
) AS "AktenId",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
index e6b6d2495..7f9ee1288 100644
--- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
+++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
@@ -198,7 +198,11 @@ $query = '
LIMIT 1
) AS "InfoCenterMitarbeiter",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
diff --git a/application/views/system/infocenter/infocenterZgvDetails.php b/application/views/system/infocenter/infocenterZgvDetails.php
index 7636647ab..aefd95da0 100644
--- a/application/views/system/infocenter/infocenterZgvDetails.php
+++ b/application/views/system/infocenter/infocenterZgvDetails.php
@@ -10,7 +10,7 @@
'dialoglib' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
@@ -131,7 +131,11 @@
p->t('infocenter', 'zgvNichtErfuellt') ?>
-
+
p->t('infocenter', 'zgvErfuelltPruefung') ?>
diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php
index 1d26b9d55..b021379a8 100644
--- a/application/views/system/infocenter/zgvpruefungen.php
+++ b/application/views/system/infocenter/zgvpruefungen.php
@@ -447,7 +447,6 @@
diff --git a/application/views/system/messages/FAShtmlWriteTemplate.php b/application/views/system/messages/FAShtmlWriteTemplate.php
new file mode 100644
index 000000000..83f895d14
--- /dev/null
+++ b/application/views/system/messages/FAShtmlWriteTemplate.php
@@ -0,0 +1,197 @@
+load->view(
+ 'templates/FHC-Header',
+ array(
+ 'title' => 'Write a new message or reply using templates',
+ 'jquery3' => true,
+ 'jqueryui1' => true,
+ 'bootstrap3' => true,
+ 'ajaxlib' => true,
+ 'fontawesome4' => true,
+ 'tinymce3' => true,
+ 'sbadmintemplate3' => true,
+ 'dialoglib' => true,
+ 'widgets' => true,
+ 'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
+ 'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/fasMessageWrite.js')
+ )
+ );
+?>
+
+
+
+
+load->view("templates/FHC-Footer"); ?>
+
diff --git a/application/views/system/messages/ajaxRead.php b/application/views/system/messages/ajaxRead.php
index 2cb88708e..4c1a77deb 100644
--- a/application/views/system/messages/ajaxRead.php
+++ b/application/views/system/messages/ajaxRead.php
@@ -12,7 +12,7 @@
'tabulator4' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/read.js')
diff --git a/application/views/system/messages/ajaxWrite.php b/application/views/system/messages/ajaxWrite.php
index 3b1582f22..b3a598506 100644
--- a/application/views/system/messages/ajaxWrite.php
+++ b/application/views/system/messages/ajaxWrite.php
@@ -10,7 +10,7 @@
'sbadmintemplate3' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/write.js')
diff --git a/application/views/system/messages/ajaxWriteReply.php b/application/views/system/messages/ajaxWriteReply.php
index 0a496c93e..08dc188fa 100644
--- a/application/views/system/messages/ajaxWriteReply.php
+++ b/application/views/system/messages/ajaxWriteReply.php
@@ -10,7 +10,7 @@
'sbadmintemplate3' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/writeReply.js')
diff --git a/application/views/system/messages/htmlWriteReply.php b/application/views/system/messages/htmlWriteReply.php
index 9106d802b..d2150c1fb 100644
--- a/application/views/system/messages/htmlWriteReply.php
+++ b/application/views/system/messages/htmlWriteReply.php
@@ -6,7 +6,7 @@
'jquery3' => true,
'bootstrap3' => true,
'fontawesome4' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWriteReply.js')
diff --git a/application/views/system/messages/htmlWriteTemplate.php b/application/views/system/messages/htmlWriteTemplate.php
index 761e05f96..42a31f374 100644
--- a/application/views/system/messages/htmlWriteTemplate.php
+++ b/application/views/system/messages/htmlWriteTemplate.php
@@ -8,7 +8,7 @@
'bootstrap3' => true,
'ajaxlib' => true,
'fontawesome4' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'dialoglib' => true,
'widgets' => true,
diff --git a/application/views/system/vorlage/templatetextEdit.php b/application/views/system/vorlage/templatetextEdit.php
index 42efc1519..cc2487959 100644
--- a/application/views/system/vorlage/templatetextEdit.php
+++ b/application/views/system/vorlage/templatetextEdit.php
@@ -1,5 +1,5 @@
load->view('templates/header', array('title' => 'VorlageEdit', 'tinymce4' => true, 'jsonforms' => true));
+ $this->load->view('templates/header', array('title' => 'VorlageEdit', 'tinymce5' => true, 'jsonforms' => true));
?>
diff --git a/application/views/templates/FHC-Common.php b/application/views/templates/FHC-Common.php
index dd1d8ae1c..072ff1d7f 100644
--- a/application/views/templates/FHC-Common.php
+++ b/application/views/templates/FHC-Common.php
@@ -23,7 +23,7 @@
$tablesorter2 = isset($tablesorter2) ? $tablesorter2 : false;
$tabulator4 = isset($tabulator4) ? $tabulator4 : false;
$tabulator5 = isset($tabulator5) ? $tabulator5 : false;
- $tinymce4 = isset($tinymce4) ? $tinymce4 : false;
+ $tinymce3 = isset($tinymce3) ? $tinymce3 : false;
$tinymce5 = isset($tinymce5) ? $tinymce5 : false;
$vue3 = isset($vue3) ? $vue3 : false;
$primevue3 = isset($primevue3) ? $primevue3 : false;
@@ -34,6 +34,7 @@
// Internal resources
$ajaxlib = isset($ajaxlib) ? $ajaxlib : false;
$bootstrapper = isset($bootstrapper) ? $bootstrapper : false;
+ $cis = isset($cis) ? $cis : false;
$dialoglib = isset($dialoglib) ? $dialoglib : false;
$filtercomponent = isset($filtercomponent) ? $filtercomponent : false;
$filterwidget = isset($filterwidget) ? $filterwidget : false;
@@ -43,4 +44,3 @@
$tablewidget = isset($tablewidget) ? $tablewidget : false;
$udfs = isset($udfs) ? $udfs : false;
$widgets = isset($widgets) ? $widgets : false;
-
diff --git a/application/views/templates/FHC-Footer.php b/application/views/templates/FHC-Footer.php
index c461dd8b0..75b727f38 100644
--- a/application/views/templates/FHC-Footer.php
+++ b/application/views/templates/FHC-Footer.php
@@ -100,14 +100,14 @@
// Tabulator 5 JS
if ($tabulator5 === true) generateJSsInclude('vendor/olifolkerd/tabulator5/dist/js/tabulator.min.js');
- // Tinymce 4 JS
- if ($tinymce4 === true) generateJSsInclude('vendor/tinymce/tinymce4/tinymce.min.js');
+ // Tinymce 3 JS
+ if ($tinymce3 === true) generateJSsInclude('include/tiny_mce/tiny_mce.js');
// Tinymce 5 JS
if ($tinymce5 === true) generateJSsInclude('vendor/tinymce/tinymce5/tinymce.min.js');
// Vue 3 JS
- if ($vue3 === true)
+ if ($vue3 === true)
{
generateJSsInclude('vendor/vuejs/vuejs3/vue.global.prod.js');
generateJSsInclude('vendor/vuejs/vuerouter4/vue-router.global.js');
@@ -122,6 +122,7 @@
generateJSsInclude('vendor/npm-asset/primevue/column/column.min.js');
generateJSsInclude('vendor/npm-asset/primevue/calendar/calendar.min.js');
generateJSsInclude('vendor/npm-asset/primevue/skeleton/skeleton.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/autocomplete/autocomplete.min.js');
}
// --------------------------------------------------------------------------------------------------------
diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php
index aa63541c5..ed9fa97b9 100644
--- a/application/views/templates/FHC-Header.php
+++ b/application/views/templates/FHC-Header.php
@@ -77,10 +77,7 @@
}
// Tabulator 5 CSS
- if ($tabulator5 === true) generateCSSsInclude('vendor/olifolkerd/tabulator5/dist/css/tabulator_bootstrap5.min.css');
-
- // Tinymce 4 CSS
- if ($tinymce4 === true) generateCSSsInclude('public/css/TinyMCE4.css');
+ if ($tabulator5 === true) generateCSSsInclude('public/css/Tabulator5.css');
// Tinymce 5 CSS
if ($tinymce5 === true) generateCSSsInclude('public/css/TinyMCE5.css');
@@ -118,6 +115,9 @@
// HTML Widget CSS
if ($widgets === true) generateCSSsInclude('public/css/Widgets.css');
+ // CIS
+ if ($cis === true) generateCSSsInclude('public/css/cis_bs5.css');
+
// Eventually required CSS
generateCSSsInclude($customCSSs); // Eventually required CSS
?>
diff --git a/application/views/templates/header.php b/application/views/templates/header.php
index 637eb3c7a..e75acca4f 100644
--- a/application/views/templates/header.php
+++ b/application/views/templates/header.php
@@ -95,7 +95,7 @@ if($jqueryV1 && $jqueryV2) show_error("Two JQuery versions used: composer and in
-
+
diff --git a/application/views/widgets/tinymce.php b/application/views/widgets/tinymce.php
index 3e2093e55..618cb4836 100644
--- a/application/views/widgets/tinymce.php
+++ b/application/views/widgets/tinymce.php
@@ -5,5 +5,6 @@
plugins: [],
toolbar: ""
});
-
- <=$selector?> name="=$name?>" style="=$style?>">=$text?>=$selector?>>
+
+<=$selector?> name="=$name?>" style="=$style?>">=$text?>=$selector?>>
+
diff --git a/cis/private/lehre/abgabe_lektor_zusatz.php b/cis/private/lehre/abgabe_lektor_zusatz.php
index 39488b6c3..b764fd556 100644
--- a/cis/private/lehre/abgabe_lektor_zusatz.php
+++ b/cis/private/lehre/abgabe_lektor_zusatz.php
@@ -121,15 +121,15 @@ echo '
- '.$p->t('abgabetool/kontrollierteSchlagwoerter').':*
+ '.$p->t('abgabetool/kontrollierteSchlagwoerter').':
- '.$p->t('abgabetool/deutscheSchlagwoerter').':
+ '.$p->t('abgabetool/deutscheSchlagwoerter').':*
- '.$p->t('abgabetool/englischeSchlagwoerter').':
+ '.$p->t('abgabetool/englischeSchlagwoerter').':*
diff --git a/cis/private/lehre/abgabe_student.php b/cis/private/lehre/abgabe_student.php
index 9b3cec6f6..2512d9831 100644
--- a/cis/private/lehre/abgabe_student.php
+++ b/cis/private/lehre/abgabe_student.php
@@ -124,7 +124,6 @@ $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tb
AND tbl_projektarbeit.student_uid=".$db->db_add_param($uid)."
ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz";
-//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102';
if(!$erg=$db->db_query($sql_query))
{
$errormsg=$p->t('global/fehlerBeimLesenAusDatenbank');
diff --git a/cis/private/lehre/abgabe_student_details.php b/cis/private/lehre/abgabe_student_details.php
index 6575dcf70..860eb7579 100644
--- a/cis/private/lehre/abgabe_student_details.php
+++ b/cis/private/lehre/abgabe_student_details.php
@@ -64,7 +64,6 @@ if(!isset($_POST['uid']))
$fixtermin = false;
$datum = '01.01.1980';
$kurzbz = '';
- $kontrollschlagwoerter = '';
$schlagwoerter = '';
$schlagwoerter_en = '';
$abstract = '';
@@ -88,7 +87,6 @@ else
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:'');
$betreuer = (isset($_POST['betreuer'])?$_POST['betreuer']:'-1');
$sprache = (isset($_POST['sprache'])?$_POST['sprache']:'German');
- $kontrollschlagwoerter = (isset($_POST['kontrollschlagwoerter'])?$_POST['kontrollschlagwoerter']:'-1');
$schlagwoerter = (isset($_POST['schlagwoerter'])?$_POST['schlagwoerter']:'-1');
$schlagwoerter_en = (isset($_POST['schlagwoerter_en'])?$_POST['schlagwoerter_en']:'-1');
$abstract = (isset($_POST['abstract'])?$_POST['abstract']:'-1');
@@ -211,23 +209,7 @@ if($command=='add')
{
//zusätzliche Daten bearbeiten
//Check der Eingabedaten
- if(strlen($kontrollschlagwoerter)<1)
- {
- $error=true;
- }
- if(mb_strlen($kontrollschlagwoerter)>=150)
- {
- $kontrollschlagwoerter = mb_substr($kontrollschlagwoerter, 0, 146).'...';
- }
- if(strlen($abstract)<1)
- {
- $error=true;
- }
- if(strlen($abstract_en)<1)
- {
- $error=true;
- }
- if($seitenanzahl<1)
+ if((strlen($schlagwoerter) < 1) || (strlen($schlagwoerter_en) < 1) || (strlen($abstract) < 1) || (strlen($abstract_en) < 1) || ($seitenanzahl < 1))
{
$error=true;
}
@@ -237,7 +219,6 @@ if($command=='add')
seitenanzahl = ".$db->db_add_param($seitenanzahl).",
abgabedatum = now(),
sprache = ".$db->db_add_param($sprache).",
- kontrollschlagwoerter = ".$db->db_add_param($kontrollschlagwoerter).",
schlagwoerter_en = ".$db->db_add_param($schlagwoerter_en).",
schlagwoerter = ".$db->db_add_param($schlagwoerter).",
abstract = ".$db->db_add_param($abstract).",
@@ -413,19 +394,16 @@ if($command=="update" && $error!=true)
$htmlstr .= " \n";
}
$htmlstr .= " \n";
- $htmlstr .= '
'.$p->t('abgabetool/kontrollierteSchlagwoerter').':*
-
- '."\n";
- $htmlstr .= '
'.$p->t('abgabetool/deutscheSchlagwoerter').':
- '."\n";
- $htmlstr .= '
'.$p->t('abgabetool/englischeSchlagwoerter').':
- '."\n";
+ $htmlstr .= '
'.$p->t('abgabetool/deutscheSchlagwoerter').':*
+ '."\n";
+ $htmlstr .= '
'.$p->t('abgabetool/englischeSchlagwoerter').':*
+ '."\n";
$htmlstr .= '
'.$p->t('abgabetool/abstract').' '.$p->t('abgabetool/maxZeichen').':*
- '.$db->convert_html_chars($abstract).' '."\n";
+
'.$db->convert_html_chars($abstract).' '."\n";
$htmlstr .= '
'.$p->t('abgabetool/abstractEng').' '.$p->t('abgabetool/maxZeichen').':*
- '.$db->convert_html_chars($abstract_en).' '."\n";
+
'.$db->convert_html_chars($abstract_en).' '."\n";
$htmlstr .= '
'.$p->t('abgabetool/seitenanzahl').':*
- '."\n";
+
'."\n";
$htmlstr .="
\n";
// If there are info about the signed document
@@ -657,7 +635,6 @@ if($command!="add")
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
- $htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
index 73d0e6fca..8337b7c36 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php
@@ -98,9 +98,9 @@ if($stsem=='')
//$note = $_REQUEST["note"];
-if(!$rechte->isBerechtigt('admin',0) &&
- !$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) &&
- !$rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
+if(!$rechte->isBerechtigt('admin', 0) &&
+ !$rechte->isBerechtigt('admin', $lv_obj->studiengang_kz) &&
+ !$rechte->isBerechtigt('lehre', $lv_obj->studiengang_kz))
{
$qry = "SELECT lehreinheit_id FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
@@ -117,11 +117,11 @@ if(!$rechte->isBerechtigt('admin',0) &&
}
}
-function savenote($db,$lvid, $student_uid, $note, $punkte=null)
+function savenote($db, $lvid, $student_uid, $note, $punkte = null)
{
global $stsem, $user, $p, $noten_anmerkung;
$jetzt = date("Y-m-d H:i:s");
- $punkte = str_replace(',','.',$punkte);
+ $punkte = str_replace(',', '.', $punkte);
//Ermitteln ob der Student diesem Kurs zugeteilt ist
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER);
if($result = $db->db_query($qry))
@@ -207,13 +207,12 @@ if (isset($_REQUEST["submit"]))
$note = $_REQUEST["note"];
$punkte = (isset($_REQUEST["punkte"])?$_REQUEST["punkte"]:'');
- $response = savenote($db,$lvid, $student_uid, $note, $punkte);
+ $response = savenote($db, $lvid, $student_uid, $note, $punkte);
echo $response;
}
else
{
-
- foreach ($_POST as $row=>$val)
+ foreach ($_POST as $row => $val)
{
if(mb_strstr(mb_strtolower($row), 'matrikelnr_'))
{
@@ -232,7 +231,7 @@ if (isset($_REQUEST["submit"]))
$response.="\nNote oder Punkte fehlen";
continue;
}
- $punkte=str_replace(',','.', $punkte);
+ $punkte=str_replace(',', '.', $punkte);
//check ob statt Matrikelnummer nicht bereits student_uid (Moodle Grade Import) vorliegt..
$student = new student();
@@ -241,7 +240,7 @@ if (isset($_REQUEST["submit"]))
//UID ermitteln
if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer))
{
- $response.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht',array($matrikelnummer));
+ $response.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht', array($matrikelnummer));
continue;
}
}
@@ -268,7 +267,7 @@ if (isset($_REQUEST["submit"]))
}
}
- $val=savenote($db,$lvid, $student_uid, $note, $punkte);
+ $val=savenote($db, $lvid, $student_uid, $note, $punkte);
if($val!='neu' && $val!='update' && $val!='update_f')
$response.=$val;
}
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index ddf3c54e4..6dce2b6ae 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -20,33 +20,33 @@
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manuela Thamer
*/
-require_once ('../../../../config/cis.config.inc.php');
-require_once ('../../../../config/global.config.inc.php');
-require_once ('../../../../include/functions.inc.php');
-require_once ('../../../../include/lehrveranstaltung.class.php');
-require_once ('../../../../include/studiengang.class.php');
-require_once ('../../../../include/studiensemester.class.php');
-require_once ('../../../../include/lehreinheit.class.php');
-require_once ('../../../../include/benutzerberechtigung.class.php');
-require_once ('../../../../include/uebung.class.php');
-require_once ('../../../../include/beispiel.class.php');
-require_once ('../../../../include/studentnote.class.php');
-require_once ('../../../../include/datum.class.php');
-require_once ('../../../../include/legesamtnote.class.php');
-require_once ('../../../../include/lvgesamtnote.class.php');
-require_once ('../../../../include/zeugnisnote.class.php');
-require_once ('../../../../include/pruefung.class.php');
-require_once ('../../../../include/person.class.php');
-require_once ('../../../../include/benutzer.class.php');
-require_once ('../../../../include/mitarbeiter.class.php');
-require_once ('../../../../include/mail.class.php');
-require_once ('../../../../include/phrasen.class.php');
-require_once ('../../../../include/note.class.php');
-require_once ('../../../../include/notenschluessel.class.php');
-require_once ('../../../../include/studienplan.class.php');
-require_once ('../../../../include/addon.class.php');
-require_once ('../../../../include/mobilitaet.class.php');
-require_once ('../../../../include/student.class.php');
+require_once('../../../../config/cis.config.inc.php');
+require_once('../../../../config/global.config.inc.php');
+require_once('../../../../include/functions.inc.php');
+require_once('../../../../include/lehrveranstaltung.class.php');
+require_once('../../../../include/studiengang.class.php');
+require_once('../../../../include/studiensemester.class.php');
+require_once('../../../../include/lehreinheit.class.php');
+require_once('../../../../include/benutzerberechtigung.class.php');
+require_once('../../../../include/uebung.class.php');
+require_once('../../../../include/beispiel.class.php');
+require_once('../../../../include/studentnote.class.php');
+require_once('../../../../include/datum.class.php');
+require_once('../../../../include/legesamtnote.class.php');
+require_once('../../../../include/lvgesamtnote.class.php');
+require_once('../../../../include/zeugnisnote.class.php');
+require_once('../../../../include/pruefung.class.php');
+require_once('../../../../include/person.class.php');
+require_once('../../../../include/benutzer.class.php');
+require_once('../../../../include/mitarbeiter.class.php');
+require_once('../../../../include/mail.class.php');
+require_once('../../../../include/phrasen.class.php');
+require_once('../../../../include/note.class.php');
+require_once('../../../../include/notenschluessel.class.php');
+require_once('../../../../include/studienplan.class.php');
+require_once('../../../../include/addon.class.php');
+require_once('../../../../include/mobilitaet.class.php');
+require_once('../../../../include/student.class.php');
$summe_stud = 0;
$summe_t2 = 0;
@@ -104,6 +104,152 @@ $sprachen->getAll(true);
$errormsg = '';
+// eingetragene lv-gesamtnoten freigeben
+if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
+{
+ // Passwort pruefen
+ if (checkldapuser($user, $_REQUEST['passwort']))
+ {
+ $jetzt = date("Y-m-d H:i:s");
+ $neuenoten = 0;
+
+ $studlist = "
+ ";
+
+ // entweder personenbezogene Daten einbinden
+ if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
+ {
+ $studlist .= "
+ " . $p->t('global/personenkz') . "
+ " . $p->t('global/studiengang') . "
+ " . $p->t('global/nachname') . "
+ " . $p->t('global/vorname') . "
+ ";
+
+ if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ {
+ $studlist .= "" . $p->t('benotungstool/punkte') . " \n";
+ }
+ $studlist .= "" . $p->t('benotungstool/note') . " \n";
+
+ $studlist .= "" . $p->t('benotungstool/bearbeitetvon') . " \n";
+ }
+ // oder anonymisiert nur die UIDs einbinden
+ else
+ {
+ $studlist .= "
+ " . $p->t('global/uid') . " \n
+ ";
+ }
+
+ // studentenquery
+ $qry_stud = "SELECT
+ DISTINCT uid, vorname, nachname, matrikelnr, kurzbzlang
+ FROM
+ campus.vw_student_lehrveranstaltung
+ JOIN campus.vw_student USING(uid)
+ JOIN public.tbl_studiengang ON campus.vw_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
+ WHERE
+ studiensemester_kurzbz = " . $db->db_add_param($stsem) . "
+ AND lehrveranstaltung_id = " . $db->db_add_param($lvid, FHC_INTEGER) . "
+ ORDER BY nachname, vorname ";
+ if ($result_stud = $db->db_query($qry_stud))
+ {
+ $i = 1;
+ while ($row_stud = $db->db_fetch_object($result_stud))
+ {
+ $lvgesamtnote = new lvgesamtnote();
+ if ($lvgesamtnote->load($lvid, $row_stud->uid, $stsem))
+ {
+ if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
+ {
+ $lvgesamtnote->freigabedatum = $jetzt;
+ $lvgesamtnote->freigabevon_uid = $user;
+ $lvgesamtnote->save();
+
+ if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
+ {
+ $studlist .= "" . trim($row_stud->matrikelnr) . " ";
+ $studlist .= "" . trim($row_stud->kurzbzlang) . " ";
+ $studlist .= "" . trim($row_stud->nachname) . " ";
+ $studlist .= "" . trim($row_stud->vorname) . " ";
+
+ if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ {
+ $studlist .= "";
+ if ($lvgesamtnote->punkte != '')
+ $studlist .= trim(number_format($lvgesamtnote->punkte, 2));
+ $studlist .= " \n";
+ }
+ $studlist .= "" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . " ";
+
+ $studlist .= "" . $lvgesamtnote->mitarbeiter_uid;
+ if ($lvgesamtnote->updatevon != '')
+ $studlist .= " (" . $lvgesamtnote->updatevon . ")";
+ $studlist .= " \n";
+ }
+ else
+ {
+ $studlist .= "" . trim($row_stud->uid) . " \n";
+ }
+
+ $neuenoten ++;
+ }
+ }
+ }
+ }
+
+ $studlist .= "
";
+
+ // mail an assistentin und den user selber verschicken
+ if ($neuenoten > 0)
+ {
+ $lv = new lehrveranstaltung($lvid);
+ $sg = new studiengang($lv->studiengang_kz);
+ $lektor_adresse = $user . "@" . DOMAIN;
+ $adressen = $sg->email . ", " . $user . "@" . DOMAIN;
+
+ $studienplan = new studienplan();
+ $studienplan->getStudienplanLehrveranstaltung($lvid, $stsem);
+ $studienplan_bezeichnung = '';
+ foreach ($studienplan->result as $row)
+ $studienplan_bezeichnung .= $row->bezeichnung . ' ';
+
+ $mit = new mitarbeiter();
+ $mit->load($user);
+ $name = $mit->anrede.' '.$mit->vorname.' '.$mit->nachname.' ('.$mit->kurzbz.')';
+
+ $betreff = 'Notenfreigabe ' . $lv->bezeichnung . ' ' . $lv->orgform_kurzbz . ' - ' . $studienplan_bezeichnung;
+ $mail = new mail($adressen, 'vilesci@' . DOMAIN, $betreff, '');
+ $htmlcontent = "
+
+ $name hat neue Noten für die Lehrveranstaltung\n\n
+ " . $sg->kuerzel . ' ' . $lv->semester . '.Semester
+ ' . $lv->bezeichnung . " " . $lv->orgform_kurzbz . " - " . $stsem . "
+ eingetragen.\n
+ Die Noten können jetzt ins Zeugnis übernommen werden.\n";
+
+ $htmlcontent .= $studlist;
+
+ $htmlcontent.= "
+ Anzahl der Noten:" . $neuenoten . "
+ " . $p->t('abgabetool/mailVerschicktAn') . ": " . $adressen . "
+ ";
+ $mail->setHTMLContent($htmlcontent);
+ $mail->setReplyTo($lektor_adresse);
+ $mail->send();
+ }
+
+ http_response_code(303);
+ header('Location: ' . $_SERVER['REQUEST_URI']);
+ exit;
+ }
+ else
+ {
+ $errormsg = $p->t('gesamtnote/passwortFalsch');
+ }
+}
+
echo '
@@ -145,8 +291,8 @@ echo '
position:absolute;
top:100px;
left:300px;
- width:400px;
- height:200px;
+ min-width:450px;
+ min-height:200px;
background-color:#cccccc;
visibility:hidden;
border-style:solid;
@@ -190,11 +336,14 @@ foreach ($noten_obj->result as $row)
$noten_array[$row->note]['lehre'] = $row->lehre;
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
- foreach ($sprachen->result AS $s)
+ foreach ($sprachen->result as $s)
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
}
?>
+
+ const CIS_GESAMTNOTE_PUNKTE = ;
+
function getOffset(pos)
{
var x,y;
@@ -376,7 +525,7 @@ foreach ($noten_obj->result as $row)
var datum_test = datum.split(".");
if (datum_test[0].length != 2 || datum_test[1].length != 2 || datum_test[2].length!=4
|| isNaN(datum_test[2]) || datum_test[1]>12 || datum_test[1]<1 || datum_test[0]>31 || datum_test[0]<1)
- alert("Invalid Date Format: DD.MM.YYYY");
+ alert("Das Datum entspricht nicht dem Format TT.MM.JJJJ!");
else
{
var anlegendiv = document.getElementById("nachpruefung_div");
@@ -402,6 +551,7 @@ foreach ($noten_obj->result as $row)
url += '&typ='+typ;
url += '&'+ts;
+
$.ajax({
type:"GET",
url: url,
@@ -593,8 +743,8 @@ foreach ($noten_obj->result as $row)
str += "X ";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px";
- str += 't('benotungstool/importAnweisung');?>: ';
- str += ' ';
+ str += 't('benotungstool/importAnweisung');?>:
';
+ str += ' ';
str += " ' onclick='saveGradeBulk();'>";
str += " ";
anlegendiv.innerHTML = str;
@@ -602,6 +752,25 @@ foreach ($noten_obj->result as $row)
$('#noteimporttextarea').focus();
}
+ // ****
+ // * Oeffnet ein Fenster fuer den Import von Noten für die Nachprüfung aus dem Excel
+ // ****
+ function GradeImportNachp(termin)
+ {
+ var str = " ";
+ anlegendiv.innerHTML = str;
+ anlegendiv.style.visibility = "visible";
+ $('#noteimporttextareaNachp').focus();
+ }
+
// Speichert die Noten ueber den Import
function saveGradeBulk()
{
@@ -633,33 +802,48 @@ foreach ($noten_obj->result as $row)
}
?>
+ var linenumber = 0;
for(row in rows)
{
- zeile = rows[row].split(" ");
-
-
-
- if (zeile[0]!='' && zeile[1]!='')
+ linenumber++;
+ if( rows[row] == '' )
{
- gradedata['matrikelnr_'+i]=zeile[0];
-
-
- i++;
+ //skip empty lines
+ continue;
}
+ zeile = rows[row].split(" ");
+
+ if( zeile.length < 2 )
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + 'Zu wenig Paramter - 2 erforderlich. '
+ + 'Die Zeile wurde uebersprungen.' + "\n\n";
+ continue;
+ }
+
+ if (CIS_GESAMTNOTE_PUNKTE == false)
+ {
+ // check for valid grades
+ if (validGrades.indexOf(zeile[1]) === -1)
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + "Die Note "+zeile[1]+" ist nicht zulaessig. "
+ + "Die Zeile wurde uebersprungen. \n\n";
+ continue;
+ }
+ }
+
+ gradedata['matrikelnr_'+i]=zeile[0];
+ if (CIS_GESAMTNOTE_PUNKTE)
+ {
+ gradedata['punkte_'+i]= zeile[1];
+ }
+ else
+ {
+ gradedata['note_'+i]= zeile[1];
+ }
+
+ i++;
}
if (alertMsg != "")
@@ -698,6 +882,142 @@ foreach ($noten_obj->result as $row)
}
}
+ // Speichert die Noten der Nachprüfung ueber den Import
+ function saveGradeBulkNachp(typ)
+ {
+ data = $('#noteimporttextareaNachp').val();
+ closeDiv();
+
+ //Reihen ermitteln
+ var rows = data.split("\n");
+ var i=0;
+ var params='';
+ alertMsg = '';
+
+ var gradedata = {};
+ var validGrades = '';
+
+ result as $row_note)
+ {
+ if ($row_note->lehre && $row_note->aktiv)
+ $gradesArray[] = '"' . $row_note->anmerkung . '"';
+ }
+ // Output JS variable with valid grades
+ echo 'var validGrades = [' . implode(',', $gradesArray) . '];';
+ }
+ ?>
+
+ var linenumber = 0;
+ for(row in rows)
+ {
+ linenumber++;
+ if( rows[row] == '' )
+ {
+ //skip empty lines
+ continue;
+ }
+ zeile = rows[row].split(" ");
+
+ if( zeile.length < 3 )
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + 'Zu wenig Paramter - 3 erforderlich. '
+ + 'Die Zeile wurde uebersprungen.' + "\n\n";
+ continue;
+ }
+
+ if( zeile[1] == '' && zeile[2] == '' )
+ {
+ // ignore lines just copied from excel
+ continue;
+ }
+
+ if( zeile[2] == '' )
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + "Die Note oder Punkte fehlen. "
+ + "Die Zeile wurde uebersprungen. \n\n";
+ continue;
+ }
+
+ if (CIS_GESAMTNOTE_PUNKTE == false)
+ {
+ // check for valid grades
+ if (validGrades.indexOf(zeile[2]) === -1)
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + "Die Note "+zeile[2]+" ist nicht zulaessig. "
+ + "Die Zeile wurde uebersprungen. \n\n";
+ continue;
+ }
+ }
+
+ if( !zeile[1].match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/) )
+ {
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ + "Das Datum "+zeile[1]+" fehlt oder ist nicht zulaessig. "
+ + "Die Zeile wurde uebersprungen. \n\n";
+ continue;
+ }
+
+ gradedata['student_uid_'+i]=zeile[0];
+ gradedata['datumNachp_'+i]=zeile[1];
+ if (CIS_GESAMTNOTE_PUNKTE)
+ {
+ gradedata['punkte_'+i]= zeile[2];
+ }
+ else
+ {
+ gradedata['note_'+i]= zeile[2];
+ }
+ i++;
+ }
+
+
+ if (alertMsg != "")
+ alert(alertMsg);
+
+ if (i>0)
+ {
+
+ var jetzt = new Date();
+ var ts = jetzt.getTime();
+ var url= '';
+ url += '&sammel=1';
+ url += '&typ=' + typ;
+ url += '&submit=1&'+ts;
+ $.ajax({
+ type:"POST",
+ url: url,
+ data: gradedata,
+ success:function(result)
+ {
+ var resp = result;
+ if (resp!='')
+ {
+ alert(resp);
+ }
+ window.location.reload();
+ },
+ error:function(result)
+ {
+ alert('Request Nachprüfung fehlgeschlagen');
+ }
+ });
+
+ }
+ else
+ {
+ alert('t('benotungstool/hilfeImport');?>');
+ }
+ }
+
//-->
@@ -803,149 +1123,6 @@ if (defined('CIS_ANWESENHEITSLISTE_NOTENLISTE_ANZEIGEN') && CIS_ANWESENHEITSLIST
{
$hrefpath = "../notenliste.xls.php?stg=$stg_obj->studiengang_kz&lvid=$lvid&stsem=$stsem";
echo "" . $p->t('benotungstool/notenlisteImport') . " ";
-
-}
-
-// eingetragene lv-gesamtnoten freigeben
-if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
-{
- // Passwort pruefen
- if (checkldapuser($user, $_REQUEST['passwort']))
- {
- $jetzt = date("Y-m-d H:i:s");
- $neuenoten = 0;
-
- $studlist = "
- ";
-
- // entweder personenbezogene Daten einbinden
- if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
- {
- $studlist .= "
- " . $p->t('global/personenkz') . "
- " . $p->t('global/studiengang') . "
- " . $p->t('global/nachname') . "
- " . $p->t('global/vorname') . "
- ";
-
- if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- {
- $studlist .= "" . $p->t('benotungstool/punkte') . " \n";
- }
- $studlist .= "" . $p->t('benotungstool/note') . " \n";
-
- $studlist .= "" . $p->t('benotungstool/bearbeitetvon') . " \n";
- }
- // oder anonymisiert nur die UIDs einbinden
- else
- {
- $studlist .= "
- " . $p->t('global/uid') . " \n
- ";
- }
-
- // studentenquery
- $qry_stud = "SELECT
- DISTINCT uid, vorname, nachname, matrikelnr, kurzbzlang
- FROM
- campus.vw_student_lehrveranstaltung
- JOIN campus.vw_student USING(uid)
- JOIN public.tbl_studiengang ON campus.vw_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
- WHERE
- studiensemester_kurzbz = " . $db->db_add_param($stsem) . "
- AND lehrveranstaltung_id = " . $db->db_add_param($lvid, FHC_INTEGER) . "
- ORDER BY nachname, vorname ";
- if ($result_stud = $db->db_query($qry_stud))
- {
- $i = 1;
- while ($row_stud = $db->db_fetch_object($result_stud))
- {
- $lvgesamtnote = new lvgesamtnote();
- if ($lvgesamtnote->load($lvid, $row_stud->uid, $stsem))
- {
- if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
- {
- $lvgesamtnote->freigabedatum = $jetzt;
- $lvgesamtnote->freigabevon_uid = $user;
- $lvgesamtnote->save();
-
- if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
- {
- $studlist .= "" . trim($row_stud->matrikelnr) . " ";
- $studlist .= "" . trim($row_stud->kurzbzlang) . " ";
- $studlist .= "" . trim($row_stud->nachname) . " ";
- $studlist .= "" . trim($row_stud->vorname) . " ";
-
- if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
- {
- $studlist .= "";
- if ($lvgesamtnote->punkte != '')
- $studlist .= trim(number_format($lvgesamtnote->punkte, 2));
- $studlist .= " \n";
- }
- $studlist .= "" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . " ";
-
- $studlist .= "" . $lvgesamtnote->mitarbeiter_uid;
- if ($lvgesamtnote->updatevon != '')
- $studlist .= " (" . $lvgesamtnote->updatevon . ")";
- $studlist .= " \n";
- }
- else
- {
- $studlist .= "" . trim($row_stud->uid) . " \n";
- }
-
- $neuenoten ++;
- }
- }
- }
- }
-
- $studlist .= "
";
-
- // mail an assistentin und den user selber verschicken
- if ($neuenoten > 0)
- {
- $lv = new lehrveranstaltung($lvid);
- $sg = new studiengang($lv->studiengang_kz);
- $lektor_adresse = $user . "@" . DOMAIN;
- $adressen = $sg->email . ", " . $user . "@" . DOMAIN;
-
- $studienplan = new studienplan();
- $studienplan->getStudienplanLehrveranstaltung($lvid, $stsem);
- $studienplan_bezeichnung = '';
- foreach ($studienplan->result as $row)
- $studienplan_bezeichnung .= $row->bezeichnung . ' ';
-
- $mit = new mitarbeiter();
- $mit->load($user);
- $name = $mit->anrede.' '.$mit->vorname.' '.$mit->nachname.' ('.$mit->kurzbz.')';
-
- $betreff = 'Notenfreigabe ' . $lv->bezeichnung . ' ' . $lv->orgform_kurzbz . ' - ' . $studienplan_bezeichnung;
- $mail = new mail($adressen, 'no-reply@' . DOMAIN, $betreff, '');
- $htmlcontent = "
-
- $name hat neue Noten für die Lehrveranstaltung\n\n
- " . $sg->kuerzel . ' ' . $lv->semester . '.Semester
- ' . $lv->bezeichnung . " " . $lv->orgform_kurzbz . " - " . $stsem . "
- eingetragen.\n
- Die Noten können jetzt ins Zeugnis übernommen werden.\n";
-
- $htmlcontent .= $studlist;
-
- $htmlcontent.= "
- Anzahl der Noten: " . $neuenoten . "
- " . $p->t('abgabetool/mailVerschicktAn') . ": " . $adressen . "
- ";
- $mail->setHTMLContent($htmlcontent);
- $mail->setReplyTo($lektor_adresse);
- $mail->send();
- }
- }
- else
- {
- $errormsg = $p->t('gesamtnote/passwortFalsch');
- }
}
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
@@ -1052,11 +1229,15 @@ $htmlstring .= "" . $p->t('benotungstool/punkte') . ' / ' . $p->t('benotungs
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
- $htmlstring .= " " . $p->t('benotungstool/nachpruefung') . " ";
+ $htmlstring .= " " . $p->t('benotungstool/nachpruefung') . "
+
+ ";
}
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
- $htmlstring .= "" . $p->t('benotungstool/nachpruefung2') . " ";
+ $htmlstring .= " " . $p->t('benotungstool/nachpruefung2') . "
+
+ ";
}
if (defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
@@ -1184,7 +1365,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
foreach ($addon_obj->result as $row)
{
if (file_exists('../../../../addons/' . $row->kurzbz . '/cis/grades.inc.php'))
- include ('../../../../addons/' . $row->kurzbz . '/cis/grades.inc.php');
+ include('../../../../addons/' . $row->kurzbz . '/cis/grades.inc.php');
}
}
}
@@ -1193,7 +1374,6 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
foreach ($grades as $uid => $data)
//Ausgabe Array
{
-
$htmlstring .= '
' . $db->convert_html_chars($uid) . '
@@ -1325,7 +1505,6 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
// Punkte
if (CIS_GESAMTNOTE_PUNKTE)
{
-
$htmlstring .= '
checkformatDatum($datum, 'Y-m-d', true) OR die('Invalid date format');
-}
-else
- die('Fehlerhafte Parameteruebergabe');
-
-//Laden der Lehrveranstaltung
-$lv_obj = new lehrveranstaltung();
-if(!$lv_obj->load($lvid))
- die($lv_obj->errormsg);
-
-//Studiengang laden
-$stg_obj = new studiengang($lv_obj->studiengang_kz);
+ $lehreinheit_id_pr = $_GET['lehreinheit_id_pr'];
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
-
-$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
-$uid = (isset($_GET['uid'])?$_GET['uid']:'');
-
//Studiensemester laden
$stsem_obj = new studiensemester();
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
-$student_uid = $_REQUEST["student_uid"];
-
-$note = $_REQUEST["note"];
-if(isset($_REQUEST['punkte']))
- $punkte = $_REQUEST['punkte'];
-else
- $punkte = '';
-
-$punkte = str_replace(',','.',$punkte);
-
-if($punkte!='')
+//Notenanmerkung für Eintragung von nichtnumerischen Noten wie en (entschuldigt), ue(unentschuldigt)
+$noten_anmerkung = array();
+$noten_arr = array();
+$note_obj = new note();
+$note_obj->getAll();
+foreach($note_obj->result as $row)
{
- // Bei Punkteeingabe wird die Note nochmals geprueft und ggf korrigiert
- $notenschluessel = new notenschluessel();
- $note_pruef = $notenschluessel->getNote($punkte, $lvid, $stsem);
- if($note_pruef!=$note)
- {
- $note = $note_pruef;
- $note_dirty=true;
- }
+ $noten_anmerkung[$row->anmerkung] = $row->note;
+ $noten_arr[$row->note] = $row;
}
if(!isset($_GET['typ']))
@@ -122,22 +97,177 @@ if(!isset($_GET['typ']))
}
else
{
- if(in_array($_GET['typ'],array('Termin2','Termin3')))
+ if(in_array($_GET['typ'], array('Termin2', 'Termin3')))
$typ=$_GET['typ'];
else
die('Typ ist ungueltig');
}
-if($note=='')
- $note = 9;
-
-$old_note = $note;
-
-// lvgesamtnote für studenten speichern
-if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
+if (isset($_REQUEST['sammel']) && $_REQUEST["sammel"] == 1)
+{
+ $errorMatrnr = '';
+ $errorDatum = '';
+ $errorNachp = '';
+
+ foreach ($_POST as $row => $val)
+ {
+ if(mb_strstr(mb_strtolower($row), 'student_uid_'))
+ {
+ $id=mb_substr($row, mb_strlen('student_uid_'));
+
+ $student_uid = $_POST['student_uid_'.$id];
+ $note = null;
+ $punkte = null;
+ $datum = null;
+ $response = '';
+ if(isset($_POST['note_'.$id]))
+ $note = $_POST['note_'.$id];
+ elseif(isset($_POST['punkte_'.$id]))
+ $punkte = $_POST['punkte_'.$id];
+ else
+ {
+ $response.="\nNote oder Punkte fehlen";
+ continue;
+ }
+ $punkte=str_replace(',', '.', $punkte);
+ if($punkte!='')
+ {
+ // Bei Punkteeingabe wird die Note nochmals geprueft und ggf korrigiert
+ $notenschluessel = new notenschluessel();
+ $note_pruef = $notenschluessel->getNote($punkte, $lvid, $stsem);
+ if($note_pruef!=$note)
+ {
+ $note = $note_pruef;
+ $note_dirty=true;
+ }
+ }
+
+ $datum = $_POST['datumNachp_'.$id];
+ //check Datumsformat
+ $checkedDatum = $datum;
+ $datum_obj = new datum();
+ if(!$datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true))
+ {
+ $errorDatum .="\n".$p->t('benotungstool/datumsformatUnzulaessig', array($checkedDatum));
+ continue;
+ }
+
+ //check ob Matrikelnummer anstelle der student_uid übergeben wurde
+ $student = new student();
+ if (!$student->checkIfValidStudentUID($student_uid))
+ {
+ $checkedMatrnr = $student_uid;
+ //UID ermitteln
+ if(!$student_uid = $student->getUidFromMatrikelnummer($student_uid))
+ {
+ $errorMatrnr.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht', array($checkedMatrnr));
+ continue;
+ }
+ }
+
+ //check ob eine Note vorhanden ist oder (intern) angerechnet wurde
+ $lvnote = new lvgesamtnote();
+ if (!$lvnote->load($lvid, $student_uid, $stsem))
+ {
+ $errorNachp.="\n".$p->t('benotungstool/NachpruefungNichtZulaessig', array($student_uid));
+ continue;
+ }
+
+ $lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
+
+ if(isset($_POST['student_uid_'.$id]) && (isset($_POST['note_'.$id]) || isset($_POST['punkte_'.$id])) && isset($_POST['datumNachp_'.$id]))
+ {
+ if(!is_numeric($note))
+ {
+ if(isset($noten_anmerkung[$note]))
+ $note = $noten_anmerkung[$note];
+ }
+ $response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte);
+ if($response!='neu' && $response!='update' && $response!='update_f')
+ {
+ echo $response;
+ }
+ }
+ else
+ {
+ echo "\n fehlende oder fehlerhafte Inputparameter";
+ }
+ }
+ }
+ echo $errorMatrnr . $errorDatum . $errorNachp;
+}
+else
+{
+ // Einzelupdate
+
+ if(isset($_GET['datum']))
+ {
+ $datum = $_GET['datum'];
+ $datum_obj = new datum();
+ $datum = $datum_obj->checkformatDatum($datum, 'Y-m-d', true) or die($p->t('benotungstool/datumsformatUnzulaessig', array($checkedDatum)));
+ }
+ $student_uid = $_REQUEST["student_uid"];
+
+ $note = $_REQUEST["note"];
+ if(isset($_REQUEST['punkte']))
+ $punkte = $_REQUEST['punkte'];
+ else
+ $punkte = '';
+
+ $punkte = str_replace(',', '.', $punkte);
+
+ if($punkte!='')
+ {
+ // Bei Punkteeingabe wird die Note nochmals geprueft und ggf korrigiert
+ $notenschluessel = new notenschluessel();
+ $note_pruef = $notenschluessel->getNote($punkte, $lvid, $stsem);
+ if($note_pruef!=$note)
+ {
+ $note = $note_pruef;
+ $note_dirty=true;
+ }
+ }
+
+ if($note=='')
+ $note = 9;
+
+ $old_note = $note;
+
+ //Laden der Lehrveranstaltung
+ $lv_obj = new lehrveranstaltung();
+ if(!$lv_obj->load($lvid))
+ die($lv_obj->errormsg);
+
+ //Studiengang laden
+ $stg_obj = new studiengang($lv_obj->studiengang_kz);
+
+ $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
+ $uid = (isset($_GET['uid'])?$_GET['uid']:'');
+
+ // lvgesamtnote für studenten speichern
+ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != ''))
+ {
+ // Die Pruefung muss einer Lehreinheit zugeordnet werden
+ // deshalb wird hier versucht eine passende Lehreinheit zu ermitteln.
+ $lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
+
+ $response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note);
+ echo $response;
+ }
+ else
+ echo "Fehler beim Eintragen der Prüfungen";
+}
+
+/**
+ * Berechnet Lehreinheit auf Basis LV-Daten
+ * @param string $db Datenbankvariable
+ * @param string $student_uid student_uid
+ * @param int $lvid Lehrveranstaltungsid
+ * @param string $stsem Studiensemester im Format 'WSYYYY'
+ * @return String LehreinheitId
+ */
+function getLehreinheit($db, $lvid, $student_uid, $stsem)
{
- // Die Pruefung muss einer Lehreinheit zugeordnet werden
- // deshalb wird hier versucht eine passende Lehreinheit zu ermitteln.
$le_arr = array();
$qry_stud = "SELECT lehreinheit_id, lehrform_kurzbz
FROM
@@ -158,104 +288,159 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
}
}
- if (!in_array($lehreinheit_id,$le_arr))
+ //if (!in_array($lehreinheit_id,$le_arr))
$lehreinheit_id = $le_arr[0];
+ return $lehreinheit_id;
+}
+
+/**
+ * Prüfung speichern
+ */
+function savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte = null)
+{
$jetzt = date("Y-m-d H:i:s");
+ global $user; //, $note, $punkte, $datum;
- $pr = new Pruefung();
-
- // Wenn eine Pruefung angelegt wird, wird zuerst eine Pruefung mit 1. Termin angelegt
- // und dort die Zeugnisnote gespeichert
- if($pr->getPruefungen($student_uid, "Termin1", $lvid, $stsem))
+ if ($typ == "Termin2")
{
- if ($pr->result)
+ $pr = new Pruefung();
+ // Wenn eine Pruefung angelegt wird, wird zuerst eine Pruefung mit 1. Termin angelegt
+ // und dort die Zeugnisnote gespeichert
+ if($pr->getPruefungen($student_uid, "Termin1", $lvid, $stsem))
{
- $termin1 = 1;
- }
- else
- {
- $lvnote = new lvgesamtnote();
- if ($lvnote->load($lvid, $student_uid, $stsem))
+ if ($pr->result)
{
- $pr_note = $lvnote->note;
- $pr_punkte = $lvnote->punkte;
- $benotungsdatum = $lvnote->benotungsdatum;
+ $termin1 = 1;
}
else
{
- $pr_note = 9;
- $pr_punkte = '';
- $benotungsdatum = $jetzt;
+ $lvnote = new lvgesamtnote();
+ if ($lvnote->load($lvid, $student_uid, $stsem))
+ {
+ $pr_note = $lvnote->note;
+ $pr_punkte = $lvnote->punkte;
+ $benotungsdatum = $lvnote->benotungsdatum;
+ }
+ else
+ {
+ $pr_note = 9;
+ $pr_punkte = '';
+ $benotungsdatum = $jetzt;
+ }
+
+ $pr_1 = new Pruefung();
+ $pr_1->lehreinheit_id = $lehreinheit_id;
+ $pr_1->student_uid = $student_uid;
+ $pr_1->mitarbeiter_uid = $user;
+ $pr_1->note = $pr_note;
+ $pr_1->punkte = $pr_punkte;
+ $pr_1->pruefungstyp_kurzbz = "Termin1";
+ $pr_1->datum = $benotungsdatum;
+ $pr_1->anmerkung = "";
+ $pr_1->insertamum = $jetzt;
+ $pr_1->insertvon = $user;
+ $pr_1->updateamum = null;
+ $pr_1->updatevon = null;
+ $pr_1->ext_id = null;
+ $pr_1->new = true;
+ $pr_1->save();
+ $response = "neu T1";
}
- $pr_1 = new Pruefung();
- $pr_1->lehreinheit_id = $lehreinheit_id;
- $pr_1->student_uid = $student_uid;
- $pr_1->mitarbeiter_uid = $user;
- $pr_1->note = $pr_note;
- $pr_1->punkte = $pr_punkte;
- $pr_1->pruefungstyp_kurzbz = "Termin1";
- $pr_1->datum = $benotungsdatum;
- $pr_1->anmerkung = "";
- $pr_1->insertamum = $jetzt;
- $pr_1->insertvon = $user;
- $pr_1->updateamum = null;
- $pr_1->updatevon = null;
- $pr_1->ext_id = null;
- $pr_1->new = true;
- $pr_1->save();
+ $prTermin2 = new Pruefung();
+ $pr_2 = new Pruefung();
+
+ // Die Pruefung wird als Termin2 eingetragen
+ if ($prTermin2->getPruefungen($student_uid, 'Termin2', $lvid, $stsem))
+ {
+ if ($prTermin2->result)
+ {
+ $pr_2->load($prTermin2->result[0]->pruefung_id);
+ $pr_2->new = null;
+ $pr_2->updateamum = $jetzt;
+ $pr_2->updatevon = $user;
+ $old_note = $pr_2->note;
+ $pr_2->note = $note;
+ $pr_2->punkte = $punkte;
+ $pr_2->datum = $datum;
+ $pr_2->anmerkung = "";
+ $response = "update T2";
+ }
+ else
+ {
+ $pr_2->lehreinheit_id = $lehreinheit_id;
+ $pr_2->student_uid = $student_uid;
+ $pr_2->mitarbeiter_uid = $user;
+ $pr_2->note = $note;
+ $pr_2->punkte = $punkte;
+ $pr_2->pruefungstyp_kurzbz = $typ;
+ $pr_2->datum = $datum;
+ $pr_2->anmerkung = "";
+ $pr_2->insertamum = $jetzt;
+ $pr_2->insertvon = $user;
+ $pr_2->updateamum = null;
+ $pr_2->updatevon = null;
+ $pr_2->ext_id = null;
+ $pr_2->new = true;
+ $old_note = -1;
+ $response = "new T2";
+ }
+ $pr_2->save();
+ }
}
}
-
-
- $prTermin2 = new Pruefung();
- $pr_2 = new Pruefung();
-
- // Die Pruefung wird als Termin2 eingetragen
- if ($prTermin2->getPruefungen($student_uid, $typ, $lvid, $stsem))
+ elseif ($typ == "Termin3")
{
- if ($prTermin2->result)
+ $prTermin3 = new Pruefung();
+ $pr_3 = new Pruefung();
+
+ if ($prTermin3->getPruefungen($student_uid, 'Termin3', $lvid, $stsem))
{
- $pr_2->load($prTermin2->result[0]->pruefung_id);
- $pr_2->new = null;
- $pr_2->updateamum = $jetzt;
- $pr_2->updatevon = $user;
- $old_note = $pr_2->note;
- $pr_2->note = $note;
- $pr_2->punkte = $punkte;
- $pr_2->datum = $datum;
- $pr_2->anmerkung = "";
+ if ($prTermin3->result)
+ {
+ $pr_3->load($prTermin3->result[0]->pruefung_id);
+ $pr_3->new = null;
+ $pr_3->updateamum = $jetzt;
+ $pr_3->updatevon = $user;
+ $old_note = $pr_3->note;
+ $pr_3->note = $note;
+ $pr_3->punkte = $punkte;
+ $pr_3->datum = $datum;
+ $pr_3->anmerkung = "";
+ $response = "update T3";
+ }
+ else
+ {
+ $pr_3->lehreinheit_id = $lehreinheit_id;
+ $pr_3->student_uid = $student_uid;
+ $pr_3->mitarbeiter_uid = $user;
+ $pr_3->note = $note;
+ $pr_3->punkte = $punkte;
+ $pr_3->pruefungstyp_kurzbz = $typ;
+ $pr_3->datum = $datum;
+ $pr_3->anmerkung = "";
+ $pr_3->insertamum = $jetzt;
+ $pr_3->insertvon = $user;
+ $pr_3->updateamum = null;
+ $pr_3->updatevon = null;
+ $pr_3->ext_id = null;
+ $pr_3->new = true;
+ $old_note = -1;
+ $response = "new T3";
+ }
+ $pr_3->save();
}
- else
- {
- $pr_2->lehreinheit_id = $lehreinheit_id;
- $pr_2->student_uid = $student_uid;
- $pr_2->mitarbeiter_uid = $user;
- $pr_2->note = $note;
- $pr_2->punkte = $punkte;
- $pr_2->pruefungstyp_kurzbz = $typ;
- $pr_2->datum = $datum;
- $pr_2->anmerkung = "";
- $pr_2->insertamum = $jetzt;
- $pr_2->insertvon = $user;
- $pr_2->updateamum = null;
- $pr_2->updatevon = null;
- $pr_2->ext_id = null;
- $pr_2->new = true;
- $old_note = -1;
- }
- $pr_2->save();
+ }
+ else
+ {
+ $response = "fehlende oder fehlerhafte Inputparameter";
}
-
- // Wenn eine Pruefung eingetragen wird, wird danach die LV-Note korrigiert
- $jetzt = date("Y-m-d H:i:s");
-
- $lvid = $_REQUEST["lvid"];
+ //Gesamtnote updaten
$lvgesamtnote = new lvgesamtnote();
- if (!$lvgesamtnote->load($lvid, $student_uid, $stsem))
- {
+ if (!$lvgesamtnote->load($lvid, $student_uid, $stsem))
+ {
$lvgesamtnote->student_uid = $student_uid;
$lvgesamtnote->lehrveranstaltung_id = $lvid;
$lvgesamtnote->studiensemester_kurzbz = $stsem;
@@ -272,9 +457,9 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
$lvgesamtnote->insertvon = $user;
$new = true;
$response = "neu";
- }
- else
- {
+ }
+ else
+ {
$lvgesamtnote->note = $note;
$lvgesamtnote->punkte = $punkte;
$lvgesamtnote->benotungsdatum = $jetzt;
@@ -286,12 +471,11 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') )
else
$response = "update";
}
+
if (!$lvgesamtnote->save($new))
- echo "".$lvgesamtnote->errormsg." ";
+ return $lvgesamtnote->errormsg;
else
- echo $response;
+ return $response;
}
-else
- echo "Fehler beim Eintragen der Prüfungen";
?>
diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php
index 74cb7e7c1..63cf45d29 100644
--- a/cis/private/lehre/notenliste.xls.php
+++ b/cis/private/lehre/notenliste.xls.php
@@ -35,6 +35,7 @@ require_once('../../../include/note.class.php');
require_once('../../../include/notenschluessel.class.php');
require_once('../../../include/Excel/excel.php');
require_once('../../../include/phrasen.class.php');
+require_once('../../../include/pruefung.class.php');
$uid = get_uid();
@@ -120,6 +121,13 @@ else
$format_highlightright->setBorderColor('white');
$format_highlightright->setAlign('right');
+ $format_highlightright_date=& $workbook->addFormat();
+ $format_highlightright_date->setFgColor(15);
+ $format_highlightright_date->setBorder(1);
+ $format_highlightright_date->setBorderColor('white');
+ $format_highlightright_date->setAlign('right');
+ $format_highlightright_date->setNumFormat(49);
+
$format_border_bottom =& $workbook->addFormat();
$format_border_bottom ->setBottom(2);
$format_border_bottom->setBold();
@@ -191,6 +199,19 @@ else
}
//Studenten holen
+
+ //Spaltengruppe für Nachprüfung
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ $worksheet->write($lines,8,$p->t('benotungstool/nachpruefung'),$format_bold);
+ }
+
+ //Spaltengruppe für 2.Nebensprüfungstermin
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
+ {
+ $worksheet->write($lines,12,$p->t('benotungstool/nachpruefung2'),$format_bold);
+ }
+
$lines++;
$worksheet->write($lines,1,$p->t('global/uid'),$format_border_bottom);
$worksheet->write($lines,2,$p->t('global/nachname'),$format_border_bottom);
@@ -203,6 +224,26 @@ else
else
$worksheet->write($lines,6,$p->t('benotungstool/note'),$format_border_bottom);
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ $worksheet->write($lines,8,$p->t('global/personenkennzeichen'),$format_border_bottom);
+ $worksheet->write($lines,9,$p->t('global/datum'),$format_border_bottom);
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ $worksheet->write($lines,10,$p->t('benotungstool/punkte'),$format_border_bottom);
+ else
+ $worksheet->write($lines,10,$p->t('benotungstool/note'),$format_border_bottom);
+ }
+
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
+{
+ $worksheet->write($lines,12,$p->t('global/personenkennzeichen'),$format_border_bottom);
+ $worksheet->write($lines,13,$p->t('global/datum'),$format_border_bottom);
+ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
+ $worksheet->write($lines,14,$p->t('benotungstool/punkte'),$format_border_bottom);
+ else
+ $worksheet->write($lines,14,$p->t('benotungstool/note'),$format_border_bottom);
+}
+
$stsem_obj = new studiensemester();
$stsem_obj->load($stsem);
$stsemdatumvon = $stsem_obj->start;
@@ -229,17 +270,18 @@ else
AND tbl_zeugnisnote.student_uid=tbl_student.student_uid
AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
- LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
+ LEFT JOIN bis.tbl_mobilitaet ON (bis.tbl_mobilitaet.prestudent_id = public.tbl_student.prestudent_id)
LEFT JOIN lehre.tbl_note USING(note)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
- AND vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);";";
+ AND vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);";";
if($lehreinheit_id!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC';
+
if($result = $db->db_query($qry))
{
$i=1;
@@ -282,6 +324,49 @@ else
$worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
$worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight);
$worksheet->write($lines,6, $note, $format_highlightright);
+
+ // Nachprüfung
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ $worksheet->write($lines,8, '="'.trim($elem->matrikelnr).'"', $format_highlight);
+ $pr = new Pruefung();
+ $pr->getPruefungen($elem->uid, "Termin2", $lvid, $sem);
+ $output2 = $pr->result;
+
+ if ($output2)
+ {
+ $resultPr = $output2[0];
+ $worksheet->write($lines,9, date('d.m.Y', strtotime($resultPr->datum)), $format_highlightright_date);
+ $worksheet->write($lines,10, $resultPr->note, $format_highlightright);
+ }
+ else
+ {
+ $worksheet->write($lines,9, '', $format_highlightright_date);
+ $worksheet->write($lines,10, '', $format_highlightright);
+ }
+ }
+
+ // Nachprüfung
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
+ {
+ $worksheet->write($lines,12, '="'.trim($elem->matrikelnr).'"', $format_highlight);
+ $pr = new Pruefung();
+ $pr->getPruefungen($elem->uid, "Termin3", $lvid, $sem);
+ $output3 = $pr->result;
+
+ if ($output3)
+ {
+ $resultPr = $output3[0];
+ $worksheet->write($lines,13, date('d.m.Y', strtotime($resultPr->datum)), $format_highlightright_date);
+ $worksheet->write($lines,14, $resultPr->note, $format_highlightright);
+ }
+ else
+ {
+ $worksheet->write($lines,13, '', $format_highlightright_date);
+ $worksheet->write($lines,14, '', $format_highlightright);
+ }
+ }
+
$i++;
$lines++;
}
@@ -335,5 +420,17 @@ else
$worksheet->setColumn(0, 3, 25);
$worksheet->setColumn(0, 4, 7);
$worksheet->setColumn(0, 5, 21);
+
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
+ {
+ $worksheet->setColumn(8, 8, 15);
+ $worksheet->setColumn(9, 9, 10);
+ }
+ if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
+ {
+ $worksheet->setColumn(12, 12, 15);
+ $worksheet->setColumn(13, 13, 10);
+ }
+
$workbook->close();
?>
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
index e201fbe30..6757cf391 100644
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
@@ -419,7 +419,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$semCounter = $fakultaeten[1]["sem"];
break;
default:
- $semCounter = 2;
+ $semCounter = 3;
break;
}
}
diff --git a/cis/private/lehre/swd.php b/cis/private/lehre/swd.php
deleted file mode 100644
index 248779aac..000000000
--- a/cis/private/lehre/swd.php
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php
index 4535ff74d..6db6f885a 100644
--- a/cis/private/pdfExport.php
+++ b/cis/private/pdfExport.php
@@ -144,6 +144,8 @@ if (isset($_GET['projektarbeit_id']))
$params .= '&projektarbeit_id='. $_GET['projektarbeit_id'];
if (isset($_GET['betreuerart_kurzbz']))
$params .= '&betreuerart_kurzbz='. $_GET['betreuerart_kurzbz'];
+if (isset($_GET['id']))
+ $params .= '&id='. $_GET['id'];
// Logeintrag bei Download von Zahlungsbestaetigungen
diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php
index f75529561..9e7f6bf5b 100644
--- a/cis/private/profile/dokumente.php
+++ b/cis/private/profile/dokumente.php
@@ -31,6 +31,7 @@ require_once('../../../include/akte.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/webservicelog.class.php');
+require_once('../../../include/studierendenantrag.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -228,6 +229,28 @@ echo ' ';
// Wenn es für das übergebene Studiensemester keinen PreStudentStatus gibt, werden nur Abschlussdokumente angezeigt
if (in_array($stsem, $stsem_arr))
{
+ $studierendenantrag = new studierendenantrag();
+ if ($studierendenantrag->loadUserAntrag($student_studiengang->prestudent_id, $stsem) && $studierendenantrag->result) {
+ echo '' . $p->t('studierendenantrag/antraege_header') . ' ';
+ echo '
+
+
+
+ '.$p->t('global/name').'
+
+
+ ';
+ foreach ($studierendenantrag->result as $antrag) {
+ $path = "../pdfExport.php?xsl=Antrag" . $antrag->typ . "&xml=Antrag" . $antrag->typ . ".xml.php&uid=" . $uid . "&id=" . $antrag->studierendenantrag_id;
+ echo '';
+ echo ' ';
+ echo '' . $p->t('studierendenantrag/title_' . $antrag->typ) . ' ';
+ echo ' ';
+ }
+ echo '
';
+ }
+
+
$konto = new konto();
$buchungstypen = array();
diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php
index 46d342971..ffd179401 100644
--- a/cis/private/profile/zeitsperre_resturlaub.php
+++ b/cis/private/profile/zeitsperre_resturlaub.php
@@ -79,7 +79,12 @@ else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GE
else
$gesperrt_bis = '2015-08-31';
-//echo $gesperrt_bis;
+//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
+$maxDauerZS = 730;
+
+if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
+ $maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
+}
//Stundentabelleholen
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
@@ -204,66 +209,72 @@ function berechnen()
function checkdatum()
{
- if(document.getElementById('vondatum').value.length<10)
+ if (document.getElementById('vondatum').value.length < 10)
{
alert('t('zeitsperre/vonDatumIstUngueltigNullenAngeben');?>');
return false;
}
- if(document.getElementById('bisdatum').value.length<10)
+ if (document.getElementById('bisdatum').value.length < 10)
{
alert('t('zeitsperre/bisDatumIstUngueltigNullenAngeben');?>');
return false;
}
- var Datum, Tag, Monat,Jahr,vonDatum,bisDatum, diff;
+ var Datum, Tag, Monat, Jahr, vonDatum, bisDatum, vonDatumDate, bisDatumDate, diff, diffTime, diffmax;
- Datum=document.getElementById('vondatum').value;
- Tag=Datum.substring(0,2);
- Monat=Datum.substring(3,5);
- if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
- {
- alert('t('zeitsperre/vonDatumMonat');?>'+ document.getElementById('vondatum').value+ ' t('zeitsperre/istNichtRichtig');?>.');
+ Datum = document.getElementById('vondatum').value;
+ Tag = Datum.substring(0, 2);
+ Monat = Datum.substring(3, 5);
+ if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12)
+ {
+ alert('t('zeitsperre/vonDatumMonat');?>' + document.getElementById('vondatum').value + ' t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('vondatum').focus();
- return false;
- }
+ return false;
+ }
- Jahr=Datum.substring(6,10);
+ Jahr = Datum.substring(6, 10);
- vonDatum=Jahr+''+Monat+''+Tag;
+ vonDatum = Jahr + '' + Monat + '' + Tag;
+ vonDatumDate = Jahr + '-' + Monat + '-' + Tag;
- Datum=document.getElementById('bisdatum').value;
- Tag=Datum.substring(0,2);
- Monat=Datum.substring(3,5);
- if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
- {
- alert('t('zeitsperre/bisDatumMonat');?>'+ document.getElementById('bisdatum').value+ ' t('zeitsperre/istNichtRichtig');?>.');
+ Datum = document.getElementById('bisdatum').value;
+ Tag = Datum.substring(0, 2);
+ Monat = Datum.substring(3, 5);
+ if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12) {
+ alert('t('zeitsperre/bisDatumMonat');?>' + document.getElementById('bisdatum').value + ' t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('bisdatum').focus();
- return false;
- }
+ return false;
+ }
- Jahr=Datum.substring(6,10);
+ Jahr = Datum.substring(6, 10);
+ bisDatum = Jahr + '' + Monat + '' + Tag;
+ bisDatumDate = Jahr + '-' + Monat + '-' + Tag;
- bisDatum=Jahr+''+Monat+''+Tag;
+ bisDatumDate = new Date(bisDatumDate);
+ vonDatumDate = new Date(vonDatumDate);
- diff=bisDatum-vonDatum;
+ diffTime = bisDatumDate.getTime() - vonDatumDate.getTime();
+ diff = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
+ diffmax =
- if (vonDatum>bisDatum)
- {
- alert('t('zeitsperre/vonDatum');?> '+ document.getElementById('vondatum').value+ ' t('zeitsperre/istGroesserAlsBisDatum');?> '+document.getElementById('bisdatum').value);
+ if (vonDatum > bisDatum) {
+ alert('t('zeitsperre/vonDatum');?> ' + document.getElementById('vondatum').value + ' t('zeitsperre/istGroesserAlsBisDatum');?> ' + document.getElementById('bisdatum').value);
document.getElementById('vondatum').focus();
- return false;
- }
- else if (diff>14)
- {
- Check = confirm('t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
+ return false;
+ }
+ else if (diff > 14 && diff < diffmax) {
+ Check = confirm('t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
document.getElementById('bisdatum').focus();
- if (Check == false)
- return false;
- else
- return true;
- }
-
+ if (Check == false)
+ return false;
+ else
+ return true;
+ } else if (diff >= diffmax) {
+ alert('t('zeitsperre/bisDatumGroesserMax');?> ');
+ document.getElementById('bisdatum').focus();
+ return false;
+ }
return true;
}
@@ -445,7 +456,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$date=explode('.',$_POST['bisdatum']);
if (@checkdate($date[1], $date[0], $date[2]))
{
- $bisdatum=$date[2].$date[1].$date[0];
+ $bisdatum=$date[2].$date[1].$date[0];
+ $bisdatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
}
else
{
@@ -464,6 +476,17 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
}
+ //check if bis-Datum zu weit in der Zukunft
+ $bis = new DateTime($bisdatum);
+ $von = new DateTime($vondatum);
+
+ $intervall = $bis->diff($von);
+ if ($intervall->days >= $maxDauerZS)
+ {
+ $error=true;
+ $error_msg = $p->t('zeitsperre/bisDatumGroesserMax');
+ }
+
//von-datum pruefen TODO
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
{
diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php
index 773582177..7937857ef 100644
--- a/cis/private/tools/zeitaufzeichnung.php
+++ b/cis/private/tools/zeitaufzeichnung.php
@@ -229,6 +229,21 @@ $( document ).ready(function()
';
+echo <<
+ $(document).ready(function() {
+ const scrollDiv = document.createElement('div');
+ scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
+ document.body.appendChild(scrollDiv);
+ const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ var marginright = Math.max((20 - scrollbarWidth), 0);
+ document.body.style.setProperty('width', 'calc(100% - ' + marginright + 'px)');
+ });
+
+
+EOSBJS;
+
echo '
");
if (!in_array($gebiet_id, $_SESSION['alleGebiete']))
diff --git a/cis/testtool/login.php b/cis/testtool/login.php
index 0b114b8c5..475ee9f00 100644
--- a/cis/testtool/login.php
+++ b/cis/testtool/login.php
@@ -126,10 +126,6 @@ if (isset($_REQUEST['prestudent']))
$rt->getReihungstestPerson($ps->person_id);
if (isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
- else
- {
- $alertmsg .= ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').'
';
- }
}
else
{
@@ -138,10 +134,6 @@ if (isset($_REQUEST['prestudent']))
// TODO Was ist wenn da mehrere Zurueckkommen?!
if (isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
- else
- {
- $alertmsg .= ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').'
';
- }
}
else
{
@@ -362,6 +354,8 @@ if ((isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']) &&
$pruefling->idnachweis = '';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
+ $pruefling->gesperrt = $pruefling->isGesperrt(null, $_SESSION['prestudent_id']);
+
if ($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
@@ -385,6 +379,7 @@ if (isset($_POST['save']) && isset($_SESSION['prestudent_id']))
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
$pruefling->semester = $_POST['semester'];
+ $pruefling->gesperrt = $pruefling->isGesperrt(null, $_SESSION['prestudent_id']);
if ($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
diff --git a/composer.json b/composer.json
index fb6914d86..e2932fea5 100644
--- a/composer.json
+++ b/composer.json
@@ -230,9 +230,9 @@
"type": "package",
"package": {
"name": "olifolkerd/tabulator5",
- "version": "5.2.1",
+ "version": "5.5.2",
"dist": {
- "url": "https://github.com/olifolkerd/tabulator/archive/refs/tags/5.2.1.zip",
+ "url": "https://github.com/olifolkerd/tabulator/archive/refs/tags/5.5.2.zip",
"type": "zip"
}
}
@@ -270,17 +270,6 @@
}
}
},
- {
- "type": "package",
- "package": {
- "name": "tinymce/tinymce4",
- "version": "4.9.11",
- "dist": {
- "url": "https://github.com/tinymce/tinymce-dist/archive/refs/tags/4.9.11.zip",
- "type": "zip"
- }
- }
- },
{
"type": "package",
"package": {
@@ -348,6 +337,28 @@
}
}
},
+ {
+ "type": "package",
+ "package": {
+ "name": "vuejs/vuedatepicker_js",
+ "version": "5.4.0",
+ "dist": {
+ "url": "https://unpkg.com/@vuepic/vue-datepicker@5.4.0/dist/vue-datepicker.iife.js",
+ "type": "file"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "vuejs/vuedatepicker_css",
+ "version": "5.4.0",
+ "dist": {
+ "url": "https://unpkg.com/@vuepic/vue-datepicker@5.4.0/dist/main.css",
+ "type": "file"
+ }
+ }
+ },
{
"type": "package",
"package": {
@@ -422,11 +433,11 @@
"nategood/httpful": "0.2.*",
"netcarver/textile": "3.7.*",
"nicolaskruchten/pivottable": "2.23.0",
- "npm-asset/primevue": "3.15.*",
+ "npm-asset/primevue": "3.29.*",
"npm-asset/primeicons": "5.0.0",
"olifolkerd/tabulator4": "4.9.*",
- "olifolkerd/tabulator5": "5.2.*",
+ "olifolkerd/tabulator5": "5.5.*",
"phpseclib/phpseclib": "2.0.*",
@@ -435,7 +446,6 @@
"scottjehl/respond": "1.4.2",
"tapmodo/jcrop": "2.0.4",
- "tinymce/tinymce4": "4.9.*",
"tinymce/tinymce5": "5.10.*",
"tomazdragar/simplecropper": "1.0",
"twbs/bootstrap3": "3.4.*",
@@ -456,4 +466,3 @@
"sebastian/phpcpd": "3.*"
}
}
-
diff --git a/composer.lock b/composer.lock
index e5a839b3b..d83e749b0 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "12acec21673c71641f7f1a6586ec666f",
+ "content-hash": "728ac4542ac39ac1efbcea15134a81f9",
"packages": [
{
"name": "afarkas/html5shiv",
@@ -614,16 +614,16 @@
},
{
"name": "components/jquery",
- "version": "3.6.0",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/components/jquery.git",
- "reference": "6cf38ee1fd04b6adf8e7dda161283aa35be818c3"
+ "reference": "8edc7785239bb8c2ad2b83302b856a1d61de60e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/components/jquery/zipball/6cf38ee1fd04b6adf8e7dda161283aa35be818c3",
- "reference": "6cf38ee1fd04b6adf8e7dda161283aa35be818c3",
+ "url": "https://api.github.com/repos/components/jquery/zipball/8edc7785239bb8c2ad2b83302b856a1d61de60e7",
+ "reference": "8edc7785239bb8c2ad2b83302b856a1d61de60e7",
"shasum": ""
},
"type": "component",
@@ -659,7 +659,7 @@
"source": "https://github.com/jquery/jquery",
"wiki": "http://docs.jquery.com/"
},
- "time": "2021-03-20T19:13:42+00:00"
+ "time": "2023-09-22T01:43:46+00:00"
},
{
"name": "components/jqueryui",
@@ -1490,10 +1490,10 @@
},
{
"name": "npm-asset/primevue",
- "version": "3.15.0",
+ "version": "3.29.2",
"dist": {
"type": "tar",
- "url": "https://registry.npmjs.org/primevue/-/primevue-3.15.0.tgz"
+ "url": "https://registry.npmjs.org/primevue/-/primevue-3.29.2.tgz"
},
"type": "npm-asset",
"license": [
@@ -1511,25 +1511,25 @@
},
{
"name": "olifolkerd/tabulator5",
- "version": "5.2.1",
+ "version": "5.5.2",
"dist": {
"type": "zip",
- "url": "https://github.com/olifolkerd/tabulator/archive/refs/tags/5.2.1.zip"
+ "url": "https://github.com/olifolkerd/tabulator/archive/refs/tags/5.5.2.zip"
},
"type": "library"
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.42",
+ "version": "2.0.45",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "665d289f59e646a259ebf13f29be7f6f54cab24b"
+ "reference": "28d8f438a0064c9de80857e3270d071495544640"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/665d289f59e646a259ebf13f29be7f6f54cab24b",
- "reference": "665d289f59e646a259ebf13f29be7f6f54cab24b",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/28d8f438a0064c9de80857e3270d071495544640",
+ "reference": "28d8f438a0064c9de80857e3270d071495544640",
"shasum": ""
},
"require": {
@@ -1610,7 +1610,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/2.0.42"
+ "source": "https://github.com/phpseclib/phpseclib/tree/2.0.45"
},
"funding": [
{
@@ -1626,7 +1626,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-06T12:45:53+00:00"
+ "time": "2023-09-15T20:55:47+00:00"
},
{
"name": "rmariuzzo/jquery-checkboxes",
@@ -1734,15 +1734,6 @@
},
"type": "library"
},
- {
- "name": "tinymce/tinymce4",
- "version": "4.9.11",
- "dist": {
- "type": "zip",
- "url": "https://github.com/tinymce/tinymce-dist/archive/refs/tags/4.9.11.zip"
- },
- "type": "library"
- },
{
"name": "tinymce/tinymce5",
"version": "5.10.3",
@@ -1850,19 +1841,19 @@
},
{
"name": "vuejs/vuedatepicker_css",
- "version": "4.2.3",
+ "version": "5.4.0",
"dist": {
"type": "file",
- "url": "https://unpkg.com/@vuepic/vue-datepicker@4.2.3/dist/main.css"
+ "url": "https://unpkg.com/@vuepic/vue-datepicker@5.4.0/dist/main.css"
},
"type": "library"
},
{
"name": "vuejs/vuedatepicker_js",
- "version": "4.2.3",
+ "version": "5.4.0",
"dist": {
"type": "file",
- "url": "https://unpkg.com/@vuepic/vue-datepicker@4.2.3/dist/vue-datepicker.iife.js"
+ "url": "https://unpkg.com/@vuepic/vue-datepicker@5.4.0/dist/vue-datepicker.iife.js"
},
"type": "library"
},
@@ -2023,139 +2014,18 @@
],
"time": "2022-02-24T20:20:32+00:00"
},
- {
- "name": "doctrine/instantiator",
- "version": "1.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3,<8.0-DEV"
- },
- "require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.0.5"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2015-06-14T21:17:01+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
- "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^4.1"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/DeepCopy/deep_copy.php"
- ],
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.x"
- },
- "time": "2017-10-19T19:58:43+00:00"
- },
{
"name": "nikic/php-parser",
- "version": "v4.15.5",
+ "version": "v4.18.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e"
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e",
- "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"shasum": ""
},
"require": {
@@ -2196,34 +2066,34 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
},
- "time": "2023-05-19T20:20:00+00:00"
+ "time": "2023-12-10T21:03:43+00:00"
},
{
"name": "pdepend/pdepend",
- "version": "2.14.0",
+ "version": "2.16.1",
"source": {
"type": "git",
"url": "https://github.com/pdepend/pdepend.git",
- "reference": "1121d4b04af06e33e9659bac3a6741b91cab1de1"
+ "reference": "66ceb05eaa8bf358574143c974b04463911bc700"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pdepend/pdepend/zipball/1121d4b04af06e33e9659bac3a6741b91cab1de1",
- "reference": "1121d4b04af06e33e9659bac3a6741b91cab1de1",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/66ceb05eaa8bf358574143c974b04463911bc700",
+ "reference": "66ceb05eaa8bf358574143c974b04463911bc700",
"shasum": ""
},
"require": {
"php": ">=5.3.7",
- "symfony/config": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0"
+ "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/polyfill-mbstring": "^1.19"
},
"require-dev": {
"easy-doc/easy-doc": "0.0.0|^1.2.3",
"gregwar/rst": "^1.0",
- "phpunit/phpunit": "^4.8.36|^5.7.27",
"squizlabs/php_codesniffer": "^2.0.0"
},
"bin": [
@@ -2253,7 +2123,7 @@
],
"support": {
"issues": "https://github.com/pdepend/pdepend/issues",
- "source": "https://github.com/pdepend/pdepend/tree/2.14.0"
+ "source": "https://github.com/pdepend/pdepend/tree/2.16.1"
},
"funding": [
{
@@ -2261,299 +2131,26 @@
"type": "tidelift"
}
],
- "time": "2023-05-26T13:15:18+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0",
- "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "phar-io/version": "^1.0.1",
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/master"
- },
- "time": "2017-03-05T18:14:27+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
- "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "support": {
- "issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/master"
- },
- "time": "2017-03-05T17:38:23+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master"
- },
- "time": "2017-09-11T18:02:19+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "4.3.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c",
- "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
- "phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
- "webmozart/assert": "^1.0"
- },
- "require-dev": {
- "doctrine/instantiator": "^1.0.5",
- "mockery/mockery": "^1.0",
- "phpdocumentor/type-resolver": "0.4.*",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/4.x"
- },
- "time": "2019-12-28T18:55:12+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "0.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "cf842904952e64e703800d094cdf34e715a8a3ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae",
- "reference": "cf842904952e64e703800d094cdf34e715a8a3ae",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/master"
- },
- "time": "2017-12-30T13:23:38+00:00"
+ "time": "2023-12-10T18:38:19+00:00"
},
{
"name": "phpmd/phpmd",
- "version": "2.13.0",
+ "version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/phpmd/phpmd.git",
- "reference": "dad0228156856b3ad959992f9748514fa943f3e3"
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpmd/phpmd/zipball/dad0228156856b3ad959992f9748514fa943f3e3",
- "reference": "dad0228156856b3ad959992f9748514fa943f3e3",
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0",
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0",
"shasum": ""
},
"require": {
"composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
"ext-xml": "*",
- "pdepend/pdepend": "^2.12.1",
+ "pdepend/pdepend": "^2.16.1",
"php": ">=5.3.9"
},
"require-dev": {
@@ -2562,8 +2159,7 @@
"ext-simplexml": "*",
"gregwar/rst": "^1.0",
"mikey179/vfsstream": "^1.6.8",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27",
- "squizlabs/php_codesniffer": "^2.0"
+ "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2"
},
"bin": [
"src/bin/phpmd"
@@ -2600,6 +2196,7 @@
"description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
"homepage": "https://phpmd.org/",
"keywords": [
+ "dev",
"mess detection",
"mess detector",
"pdepend",
@@ -2609,7 +2206,7 @@
"support": {
"irc": "irc://irc.freenode.org/phpmd",
"issues": "https://github.com/phpmd/phpmd/issues",
- "source": "https://github.com/phpmd/phpmd/tree/2.13.0"
+ "source": "https://github.com/phpmd/phpmd/tree/2.15.0"
},
"funding": [
{
@@ -2617,7 +2214,7 @@
"type": "tidelift"
}
],
- "time": "2022-09-10T08:44:15+00:00"
+ "time": "2023-12-11T08:22:20+00:00"
},
{
"name": "phpmetrics/phpmetrics",
@@ -2687,237 +2284,6 @@
},
"time": "2023-03-08T15:03:36+00:00"
},
- {
- "name": "phpspec/prophecy",
- "version": "v1.10.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "451c3cd1418cf640de218914901e51b064abb093"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093",
- "reference": "451c3cd1418cf640de218914901e51b064abb093",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
- "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5 || ^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.10.3"
- },
- "time": "2020-03-05T15:02:03+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "5.3.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "c89677919c5dd6d3b3852f230a663118762218ac"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac",
- "reference": "c89677919c5dd6d3b3852f230a663118762218ac",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlwriter": "*",
- "php": "^7.0",
- "phpunit/php-file-iterator": "^1.4.2",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^2.0.1",
- "sebastian/code-unit-reverse-lookup": "^1.0.1",
- "sebastian/environment": "^3.0",
- "sebastian/version": "^2.0.1",
- "theseer/tokenizer": "^1.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "suggest": {
- "ext-xdebug": "^2.5.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.3.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/5.3"
- },
- "time": "2018-04-06T15:36:58+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "1.4.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5"
- },
- "time": "2017-11-27T13:52:08+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
- },
- "time": "2015-06-21T13:50:34+00:00"
- },
{
"name": "phpunit/php-timer",
"version": "1.0.9",
@@ -2971,212 +2337,6 @@
},
"time": "2017-02-26T11:10:40+00:00"
},
- {
- "name": "phpunit/php-token-stream",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "791198a2c6254db10131eecfe8c06670700904db"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
- "reference": "791198a2c6254db10131eecfe8c06670700904db",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.2.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
- "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master"
- },
- "abandoned": true,
- "time": "2017-11-27T05:48:46+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "6.5.14",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7",
- "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "myclabs/deep-copy": "^1.6.1",
- "phar-io/manifest": "^1.0.1",
- "phar-io/version": "^1.0",
- "php": "^7.0",
- "phpspec/prophecy": "^1.7",
- "phpunit/php-code-coverage": "^5.3",
- "phpunit/php-file-iterator": "^1.4.3",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^1.0.9",
- "phpunit/phpunit-mock-objects": "^5.0.9",
- "sebastian/comparator": "^2.1",
- "sebastian/diff": "^2.0",
- "sebastian/environment": "^3.1",
- "sebastian/exporter": "^3.1",
- "sebastian/global-state": "^2.0",
- "sebastian/object-enumerator": "^3.0.3",
- "sebastian/resource-operations": "^1.0",
- "sebastian/version": "^2.0.1"
- },
- "conflict": {
- "phpdocumentor/reflection-docblock": "3.0.2",
- "phpunit/dbunit": "<3.0"
- },
- "require-dev": {
- "ext-pdo": "*"
- },
- "suggest": {
- "ext-xdebug": "*",
- "phpunit/php-invoker": "^1.1"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.5.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/6.5.14"
- },
- "time": "2019-02-01T05:22:47+00:00"
- },
- {
- "name": "phpunit/phpunit-mock-objects",
- "version": "5.0.10",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f",
- "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.5",
- "php": "^7.0",
- "phpunit/php-text-template": "^1.2.1",
- "sebastian/exporter": "^3.1"
- },
- "conflict": {
- "phpunit/phpunit": "<6.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.5.11"
- },
- "suggest": {
- "ext-soap": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
- "keywords": [
- "mock",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
- "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/5.0.10"
- },
- "abandoned": true,
- "time": "2018-08-09T05:50:03+00:00"
- },
{
"name": "psr/container",
"version": "1.0.0",
@@ -3280,316 +2440,6 @@
},
"time": "2021-05-03T11:20:27+00:00"
},
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619",
- "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-30T08:15:22+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "2.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
- "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/diff": "^2.0 || ^3.0",
- "sebastian/exporter": "^3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/master"
- },
- "time": "2018-02-01T13:46:46+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd",
- "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/master"
- },
- "time": "2017-08-03T08:09:46+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
- "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/master"
- },
- "time": "2017-07-01T08:51:00+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "3.1.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/73a9676f2833b9a7c36968f9d882589cd75511e6",
- "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^8.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2022-09-14T06:00:17+00:00"
- },
{
"name": "sebastian/finder-facade",
"version": "1.2.2",
@@ -3634,173 +2484,6 @@
"abandoned": true,
"time": "2017-11-18T17:31:49+00:00"
},
- {
- "name": "sebastian/global-state",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0"
- },
- "time": "2017-04-27T15:39:26+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "3.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
- "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-30T07:40:27+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "1.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
- "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-30T07:37:18+00:00"
- },
{
"name": "sebastian/phpcpd",
"version": "3.0.1",
@@ -3856,115 +2539,6 @@
"abandoned": true,
"time": "2017-11-16T08:49:28+00:00"
},
- {
- "name": "sebastian/recursion-context",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb",
- "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-30T07:34:24+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/master"
- },
- "time": "2015-07-28T20:34:47+00:00"
- },
{
"name": "sebastian/version",
"version": "2.0.1",
@@ -4017,12 +2591,12 @@
"version": "3.6.2",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
"reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
"reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
"shasum": ""
},
@@ -4066,6 +2640,20 @@
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
"time": "2021-12-12T21:44:58+00:00"
},
{
@@ -4630,103 +3218,6 @@
},
"abandoned": true,
"time": "2022-01-25T23:10:35+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
- "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "support": {
- "issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/master"
- },
- "time": "2019-06-13T22:48:21+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.9.1"
- },
- "time": "2020-07-08T17:02:28+00:00"
}
],
"aliases": [],
diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php
index 5a7162765..346af8801 100644
--- a/config/cis.config-default.inc.php
+++ b/config/cis.config-default.inc.php
@@ -86,7 +86,7 @@ define("AUTH_NAME","FH-Complete");
* LDAP_BIND_USER: DN des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_BIND_PASSWORD: Passwort des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_USER_SEARCH_FILTER: LDAP Attribut in dem der Username steht nach dem gesucht wird (uid | sAMAccountName)
- * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false)
+ * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false) - wirksam für alle LDAP Server
*/
define('LDAP_SERVER','ldap://ldap.example.com');
define('LDAP_PORT',389);
@@ -294,5 +294,4 @@ define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
//Echter Dienstvertrag
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
-
?>
diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index 8990bbd81..c4da2f6e3 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -47,6 +47,9 @@ define('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN',true);
// Zeitaufzeichnung gesperrt_bis Datum YYYY-MM-DD
define('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS','');
+// maximale Dauer einer Zeitsperre in Tagen
+define('CIS_ZEITSPERREN_MAX_DAUER', 730);
+
// Anzeige des Links zur Noteneingabe in der LVA Uebersicht
define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
diff --git a/config/system.config-default.inc.php b/config/system.config-default.inc.php
index 0d93b8eec..a1f70086a 100644
--- a/config/system.config-default.inc.php
+++ b/config/system.config-default.inc.php
@@ -52,7 +52,7 @@
* LDAP_BIND_USER: DN des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_BIND_PASSWORD: Passwort des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_USER_SEARCH_FILTER: LDAP Attribut in dem der Username steht nach dem gesucht wird (uid | sAMAccountName)
- * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false)
+ * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false) - wirksam für alle LDAP Server
*/
define('LDAP_SERVER','ldap://ldap.example.com');
define('LDAP_PORT',389);
diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php
index 1d8e476c7..ddcf8d563 100644
--- a/config/vilesci.config-default.inc.php
+++ b/config/vilesci.config-default.inc.php
@@ -75,7 +75,7 @@ define('AUTH_NAME', 'FH Complete');
* LDAP_BIND_USER: DN des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_BIND_PASSWORD: Passwort des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_USER_SEARCH_FILTER: LDAP Attribut in dem der Username steht nach dem gesucht wird (uid | sAMAccountName)
- * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false)
+ * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false) - wirksam für alle LDAP Server
*/
define('LDAP_SERVER', 'ldap://ldap.example.com');
define('LDAP_PORT', 389);
@@ -276,7 +276,13 @@ define('DOCSBOX_WAITING_SLEEP_TIME', 1);
// Bei folgenden Buchungstypen wird ein Anlegen geprüft ob bereits ein Eintrag für diesen Typ vorhanden ist im selben
// Semester und ggf ein Hinweis ausgegeben
define('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK', serialize(
- array('StudiengebuehrAnzahlung', 'Studiengebuehr', 'StudiengebuehrRestzahlung', 'OEH')
+ array(
+ 'Studiengebuehr' => array('StudiengebuehrErhoeht', 'Studiengebuehr', 'StudiengebuehrAnzahlung', 'StudiengebuehrRestzahlung'),
+ 'StudiengebuehrErhoeht' => array('StudiengebuehrErhoeht', 'Studiengebuehr', 'StudiengebuehrAnzahlung', 'StudiengebuehrRestzahlung'),
+ 'StudiengebuehrAnzahlung' => array('StudiengebuehrErhoeht', 'Studiengebuehr', 'StudiengebuehrAnzahlung'),
+ 'StudiengebuehrRestzahlung' => array('StudiengebuehrErhoeht', 'Studiengebuehr', 'StudiengebuehrRestzahlung'),
+ 'OEH' => array('OEH')
+ ))
));
// Spezialnoten die am Zeunigs und Diplomasupplement ignoriert werden
diff --git a/config/wawi.config-default.inc.php b/config/wawi.config-default.inc.php
index a5adccf04..0081c2420 100644
--- a/config/wawi.config-default.inc.php
+++ b/config/wawi.config-default.inc.php
@@ -53,7 +53,7 @@ define("AUTH_NAME","FHComplete");
* LDAP_BIND_USER: DN des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_BIND_PASSWORD: Passwort des Users falls eine Authentifizierung am LDAP noetig ist oder null
* LDAP_USER_SEARCH_FILTER: LDAP Attribut in dem der Username steht nach dem gesucht wird (uid | sAMAccountName)
- * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false)
+ * LDAP_SERVICEPING: LDAP Service Ping verwenden (true | false) - wirksam für alle LDAP Server
*/
define('LDAP_SERVER','ldap://ldap.example.com');
define('LDAP_PORT',389);
diff --git a/content/fas.xul.php b/content/fas.xul.php
index 80efdb2f9..abe7f613e 100644
--- a/content/fas.xul.php
+++ b/content/fas.xul.php
@@ -140,6 +140,8 @@ foreach($addon_obj->result as $addon)
+
+
@@ -507,19 +509,38 @@ foreach($addon_obj->result as $addon)
label = "&menu-dokumente-zutrittskarte.label;"
command = "menu-dokumente-zutrittskarte:command"
accesskey = "&menu-dokumente-zutrittskarte.accesskey;"/>
+
-
+
+ accesskey = "&menu-dokumente-inskriptionsbestaetigungeng.accesskey;"
+ />
- Kontrollierte Schlagwörter:*
+ Kontrollierte Schlagwörter:
- Dt. Schlagwörter:
+ Dt. Schlagwörter:*
- Engl. Schlagwörter:
+ Engl. Schlagwörter:*
diff --git a/vilesci/lehre/check/ueberbuchung.php b/vilesci/lehre/check/ueberbuchung.php
index 3cb6b62e5..1e133384a 100644
--- a/vilesci/lehre/check/ueberbuchung.php
+++ b/vilesci/lehre/check/ueberbuchung.php
@@ -50,31 +50,47 @@ echo '
-
-
-
+ ';
+
+ include('../../../include/meta/jquery.php');
+ include('../../../include/meta/jquery-tablesorter.php');
+
+echo '
-
-
+
+
LV-Plan Überbuchungen - '.$db_stpl_table.'
';
@@ -93,8 +109,8 @@ if($beginn=='' || $ende=='')
$dontloadcontent=true;
}
-echo " Beginn ";
-echo " Ende ";
+echo " Beginn ";
+echo " Ende ";
$stg = new studiengang();
$stg->getAll('typ, kurzbzlang', true);
@@ -128,7 +144,7 @@ foreach ($ort_obj->result as $row)
$ort[$row->ort_kurzbz] = new stdClass(); // Prevents the warning "Creating default object from empty value"
$ort[$row->ort_kurzbz]->max_person = $row->max_person;
}
-$qry = "SELECT DISTINCT vw_".$db_stpl_table.".unr,datum, stunde, ort_kurzbz, studiensemester_kurzbz, vw_".$db_stpl_table.".studiengang_kz, vw_".$db_stpl_table.".semester, verband, gruppe, gruppe_kurzbz, UPPER(stg_typ || stg_kurzbz) as stg_kurzbz, lehrfach, lehrfach_bez
+$qry = "SELECT DISTINCT vw_".$db_stpl_table.".unr,datum, stunde, ort_kurzbz, studiensemester_kurzbz, vw_".$db_stpl_table.".studiengang_kz, vw_".$db_stpl_table.".semester, verband, gruppe, gruppe_kurzbz, UPPER(stg_typ || stg_kurzbz) as stg_kurzbz, lehrfach, lehrfach_bez, lehrform
FROM lehre.vw_".$db_stpl_table." JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
WHERE datum>='".addslashes($beginn)."' AND datum<='".addslashes($ende)."'";
if($stg_kz!='')
@@ -144,7 +160,8 @@ echo '
Ort
Studierende aktuell (Plätze maximal)
Gruppen (Studierende aktuell)
- Lehrfach
+ Lehrveranstaltung
+ Lehrform
';
@@ -156,6 +173,7 @@ $lastort=0;
$anzahl_studenten=0;
$lehrfach='';
$lehrfach_bez='';
+$lehrform='';
$arr=array();
function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz)
@@ -192,7 +210,7 @@ if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
- if($lastdatum==$row->datum && $laststunde==$row->stunde && $lastort==$row->ort_kurzbz && $lehrfach==$row->lehrfach && $lehrfach_bez==$row->lehrfach_bez)
+ if($lastdatum==$row->datum && $laststunde==$row->stunde && $lastort==$row->ort_kurzbz && $lehrfach==$row->lehrfach && $lehrfach_bez==$row->lehrfach_bez && $lehrform==$row->lehrform)
{
//Solange alles gleich ist zusammenzaehlen
$anzahl = getAnzahl($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $row->studiensemester_kurzbz);
@@ -222,7 +240,13 @@ if($result = $db->db_query($qry))
$style='style="background-color: a00404; color: d3d3d3"';
//echo "$lastdatum $laststunde $lastort $anzahl_studenten (".$ort[$lastort]->max_person.") $gruppen $lehrfach - $lehrfach_bez ";
- $arr[]="$lastdatum $lastort $anzahl_studenten (".$ort[$lastort]->max_person.") $gruppen $lehrfach - $lehrfach_bez ";
+ $arr[]="
+ $lastdatum
+ $lastort
+ $anzahl_studenten (".$ort[$lastort]->max_person.")
+ $gruppen
+ $lehrfach - $lehrfach_bez
+ $lehrform ";
}
$anzahl_studenten=0;
@@ -238,6 +262,7 @@ if($result = $db->db_query($qry))
$lastort = $row->ort_kurzbz;
$lehrfach = $row->lehrfach;
$lehrfach_bez = $row->lehrfach_bez;
+ $lehrform = $row->lehrform;
}
}
else
diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php
index 3cdfefb06..d1830eaeb 100644
--- a/vilesci/personen/import/interessentenimport.php
+++ b/vilesci/personen/import/interessentenimport.php
@@ -806,7 +806,12 @@ if (isset($_POST['save']))
$stg_obj = new studiengang();
$stg_obj->load(ltrim($stg,'0'));
- $uid = generateUID($stg_obj->kurzbz,$jahr, $stg_obj->typ, $matrikelnr);
+ $nachname_clean = mb_strtolower(convertProblemChars($person->nachname));
+ $vorname_clean = mb_strtolower(convertProblemChars($person->vorname));
+ $nachname_clean = str_replace(' ','_', $nachname_clean);
+ $vorname_clean = str_replace(' ','_', $vorname_clean);
+
+ $uid = generateUID($stg_obj->kurzbz,$jahr, $stg_obj->typ, $matrikelnr, $vorname_clean, $nachname_clean);
//Benutzerdatensatz anlegen
$benutzer = new benutzer();
@@ -815,10 +820,6 @@ if (isset($_POST['save']))
$benutzer->aktiv = true;
$benutzer->aktivierungscode = generateActivationKey();
- $nachname_clean = mb_strtolower(convertProblemChars($person->nachname));
- $vorname_clean = mb_strtolower(convertProblemChars($person->vorname));
- $nachname_clean = str_replace(' ','_', $nachname_clean);
- $vorname_clean = str_replace(' ','_', $vorname_clean);
if (!defined('GENERATE_ALIAS_STUDENT') || GENERATE_ALIAS_STUDENT === true)
{
diff --git a/vilesci/personen/urlaubsverwaltung.php b/vilesci/personen/urlaubsverwaltung.php
index 274a04b94..20b2d293c 100644
--- a/vilesci/personen/urlaubsverwaltung.php
+++ b/vilesci/personen/urlaubsverwaltung.php
@@ -34,6 +34,7 @@ require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/benutzerfunktion.class.php');
+require_once('../../include/phrasen.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -63,6 +64,16 @@ $message='';
$error=false;
$mlAbgeschickt = '';
+//Phrasen
+$sprache = getSprache();
+$p = new phrasen($sprache);
+
+//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
+$maxDauerZS = 730;
+
+if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
+ $maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
+}
//prüfen, ob addon casetime aktiviert ist
$addon_obj = new addon();
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
@@ -205,6 +216,24 @@ if(isset($_POST['save']))
if(!$berechtigt)
die('Sie haben keine Berechtigung für diese Aktion');
+ //Validierungen Felder Bis-Datum und Von-Datum
+ if($vondatum > $bisdatum)
+ {
+ $errormsg = $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
+ $error=true;
+ }
+
+ //Check if Bisdatum zu weit in der Zukunft
+ $von = new DateTime($vondatum);
+ $bis = new DateTime($bisdatum);
+
+ $intervall = $bis->diff($von);
+ if ($intervall->days > $maxDauerZS)
+ {
+ $error=true;
+ $errormsg = $p->t('zeitsperre/bisDatumGroesserMax');
+ }
+
//Speichern der Daten
$zeitsperre = new zeitsperre();
@@ -225,6 +254,8 @@ if(isset($_POST['save']))
$zeitsperre->mitarbeiter_uid=$uid;
}
+
+
if(!$error)
{
$zeitsperre->zeitsperretyp_kurzbz=$zeitsperretyp_kurzbz;
diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php
index e5975b651..e52235fda 100644
--- a/vilesci/stammdaten/auswertung_fhtw.php
+++ b/vilesci/stammdaten/auswertung_fhtw.php
@@ -490,22 +490,67 @@ if ($rtprueflingEntSperren)
exit();
}
- if (isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id'])
+ if (isset($_POST['person_id']) && is_numeric($_POST['person_id'])
&& isset($_POST['art']))
{
- $qry = "UPDATE testtool.tbl_pruefling SET gesperrt =" . $db->db_add_param($_POST['art'], 'BOOLEAN') . "
- WHERE prestudent_id IN
- (SELECT prestudent_id FROM public.tbl_prestudent ps
- JOIN public.tbl_person tp ON tp.person_id = ps.person_id
- WHERE tp.person_id = (SELECT person_id FROM public.tbl_prestudent sps WHERE sps.prestudent_id = " . $db->db_add_param($_POST['prestudent_id']) . "));";
+ $qry = "SELECT pruefling_id
+ FROM testtool.tbl_pruefling
+ WHERE prestudent_id IN (
+ SELECT prestudent_id
+ FROM public.tbl_prestudent
+ WHERE person_id = ". $db->db_add_param($_POST['person_id']) . "
+ )";
if ($result = $db->db_query($qry))
{
- $msg = $_POST['art'] === 'false' ? 'Pruefling wurde gesperrt' : 'Pruefling wurde freigeschaltet';
- echo json_encode(array(
- 'status' => 'ok',
- 'msg' => $msg));
- exit();
+ if ($db->db_num_rows($result) === 0)
+ {
+ $ps = new prestudent();
+ $ps->getPrestudenten($_POST['person_id']);
+
+ $prestudent = new prestudent($ps->result[0]->prestudent_id);
+ $prestudent->getLastStatus($prestudent->prestudent_id);
+
+ $pruefling = new pruefling();
+ $pruefling->new = true;
+ $pruefling->studiengang_kz = $prestudent->studiengang_kz;
+ $pruefling->registriert = date('Y-m-d H:i:s');
+ $pruefling->semester = $prestudent->ausbildungssemester;
+ $pruefling->prestudent_id = $prestudent->prestudent_id;
+ $pruefling->gesperrt = true;
+
+ $resultSperre = $pruefling->save();
+ }
+ else
+ {
+ $pruefling_ids = array();
+
+ while ($row = $db->db_fetch_object($result))
+ $pruefling_ids[] = $row->pruefling_id;
+
+ $qry = "UPDATE testtool.tbl_pruefling
+ SET gesperrt =" . $db->db_add_param($_POST['art'], 'BOOLEAN') . "
+ WHERE pruefling_id IN (" . $db->db_implode4SQL($pruefling_ids) . ")";
+
+ $resultSperre = $db->db_query($qry);
+ }
+
+ if ($resultSperre)
+ {
+ $msg = $_POST['art'] === 'false' ? 'Pruefling wurde gesperrt' : 'Pruefling wurde freigeschaltet';
+ echo json_encode(array(
+ 'status' => 'ok',
+ 'msg' => $msg));
+ exit();
+ }
+ else
+ {
+ echo json_encode(array(
+ 'status' => 'fehler',
+ 'msg' => 'Fehler beim speichern der Daten'
+ ));
+ exit();
+ }
}
else
{
@@ -1248,6 +1293,7 @@ $semester = isset($_REQUEST['semester']) ? $_REQUEST['semester'] : '';
$prestudent_id = isset($_REQUEST['prestudent_id']) ? $_REQUEST['prestudent_id'] : '';
$orgform_kurzbz = isset($_REQUEST['orgform_kurzbz']) ? $_REQUEST['orgform_kurzbz'] : '';
$format = (isset($_REQUEST['format']) ? $_REQUEST['format'] : '');
+$stgtyp = (isset($_REQUEST['stgtyp']) ? $_REQUEST['stgtyp'] : '');
$rtStudiensemester = '';
if ($reihungstest != '' && (is_array($reihungstest) || is_numeric($reihungstest)))
@@ -1418,7 +1464,12 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
ORDER BY studienplan_id DESC LIMIT 1)
OR tbl_ablauf.studienplan_id IS NULL)";
}
- //$query .= " AND nachname='Al-Mafrachi'";
+
+ if ($stgtyp !== '')
+ {
+ $query .= " AND tbl_studiengang.typ = " .$db->db_add_param($stgtyp);
+ }
+
$query .= " ORDER BY tbl_ablauf.studiengang_kz, tbl_ablauf.semester, reihung";
if (!($result = $db->db_query($query)))
@@ -1638,18 +1689,23 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
//$query .= " AND tbl_ablauf.studienplan_id = 5";
$query .= " AND tbl_studienplan.orgform_kurzbz=" . $db->db_add_param($orgform_kurzbz);
}
+
+ if ($stgtyp !== '')
+ {
+ $query .= " AND tbl_studiengang.typ = " . $db->db_add_param($stgtyp);
+ }
+
//$query .= " AND nachname='Al-Mafrachi'";
$query .= " ORDER BY nachname,
vorname,
- person_id
- ";/*print_r($query);*/
- //echo '', var_dump($query), ' ';
+ person_id";
if (!($result = $db->db_query($query)))
{
die($db->db_last_error());
}
$gebiete_arr = array();
+ $gesperrt_arr = array();
while ($row = $db->db_fetch_object($result))
{
// Hack für BEW-BB, wenn auch BEW-DL-Ergebnisse vorliegen
@@ -1666,7 +1722,10 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
$ergebnis[$row->prestudent_id] = new stdClass();
$gebiete_arr[$row->prestudent_id] = array();
}
-
+
+ if (!isset($gesperrt_arr[$row->person_id]))
+ $gesperrt_arr[$row->person_id] = new stdClass();
+
$ergebnis[$row->prestudent_id]->prestudent_id = $row->prestudent_id;
$ergebnis[$row->prestudent_id]->person_id = $row->person_id;
$ergebnis[$row->prestudent_id]->reihungstest_id = $row->reihungstest_id;
@@ -1678,7 +1737,6 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
$ergebnis[$row->prestudent_id]->geschlecht = $row->geschlecht;
$ergebnis[$row->prestudent_id]->idnachweis = $row->idnachweis;
$ergebnis[$row->prestudent_id]->registriert = $row->registriert;
- $ergebnis[$row->prestudent_id]->gesperrt = $row->gesperrt;
$ergebnis[$row->prestudent_id]->stg_kurzbz = $row->stg_kurzbz;
$ergebnis[$row->prestudent_id]->stg_bez = $row->stg_bez;
$ergebnis[$row->prestudent_id]->ausbildungssemester = $row->ausbildungssemester;
@@ -1690,6 +1748,13 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
$ergebnis[$row->prestudent_id]->teilgenommen = $db->db_parse_bool($row->teilgenommen);
$ergebnis[$row->prestudent_id]->qualifikationskurs = $db->db_parse_bool($row->qualifikationskurs);
$ergebnis[$row->prestudent_id]->letzter_status = $row->letzter_status;
+ $ergebnis[$row->prestudent_id]->gesperrt = $row->gesperrt;
+
+ $gesperrt = $db->db_parse_bool($row->gesperrt);
+ if (!isset($gesperrt_arr[$row->person_id]->gesperrt) || ($gesperrt_arr[$row->person_id]->gesperrt !== true && $gesperrt === true))
+ {
+ $gesperrt_arr[$row->person_id]->gesperrt = $gesperrt;
+ }
if (!isset($ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]))
{
@@ -2440,7 +2505,7 @@ else
});
}
}
- function prueflingEntSperren(prestudent_id, name, art)
+ function prueflingEntSperren(person_id, name, art)
{
if (art === true)
var text = "sperren";
@@ -2450,7 +2515,7 @@ else
if (confirm("Wollen Sie den Studenten "+ name + " wirklich " + text + "?"))
{
data = {
- prestudent_id: prestudent_id,
+ person_id: person_id,
art: art,
rtprueflingEntSperren: true
};
@@ -2464,21 +2529,31 @@ else
{
if(data.status !== "ok")
{
- $("#msgbox").attr("class","alert alert-danger");
- $("#msgbox").show();
- $("#msgbox").html(data["msg"]);
+ if (data.status === "warning")
+ {
+ $("#msgbox").attr("class","alert alert-warning");
+ $("#msgbox").show();
+ $("#msgbox").html(data["msg"]);
+ $("#msgbox").html(data["msg"]).delay(2000).fadeOut();
+ }
+ else
+ {
+ $("#msgbox").attr("class","alert alert-danger");
+ $("#msgbox").show();
+ $("#msgbox").html(data["msg"]);
+ }
}
else
{
if (art === true)
{
- $("#prueflingentsperren_" + prestudent_id).removeClass("hidden");
- $("#prueflingsperren_" + prestudent_id).addClass("hidden");
+ $(".prueflingentsperren_" + person_id).removeClass("hidden");
+ $(".prueflingsperren_" + person_id).addClass("hidden");
}
else if (art === false)
{
- $("#prueflingsperren_" + prestudent_id).removeClass("hidden");
- $("#prueflingentsperren_" + prestudent_id).addClass("hidden");
+ $(".prueflingsperren_" + person_id).removeClass("hidden");
+ $(".prueflingentsperren_" + person_id).addClass("hidden");
}
}
},
@@ -3019,6 +3094,20 @@ else
echo ' von Datum: ';
echo 'bis Datum: ';
+
+ $studiengangtyp = ['b' => 'Bachelor', 'm' => 'Master'];
+ echo ' Studiengang Typ:
+
+ Alle ';
+ foreach ($studiengangtyp as $key => $typ)
+ {
+ $selected = "";
+ if (isset($_REQUEST['stgtyp']) && $_REQUEST['stgtyp'] !== '' && $_REQUEST['stgtyp'] === $key)
+ $selected = 'selected';
+
+ echo ''. $typ . ' ';
+ }
+ echo ' ';
echo '';
echo '';
echo 'PrestudentIn: ';
@@ -3032,6 +3121,7 @@ else
&prestudent_id=' . $prestudent_id . '
&' . http_build_query(array('reihungstest' => $reihungstest)) . '
&orgform_kurzbz=' . $orgform_kurzbz . '
+ &stgtyp=' . $stgtyp . '
&format=xls"
class="btn btn-primary"
role="button">
@@ -3293,10 +3383,10 @@ else
echo "
-
+
-
+
";
diff --git a/vilesci/stammdaten/benutzerberechtigung_autocomplete.php b/vilesci/stammdaten/benutzerberechtigung_autocomplete.php
index a888a5b67..f963da2d9 100644
--- a/vilesci/stammdaten/benutzerberechtigung_autocomplete.php
+++ b/vilesci/stammdaten/benutzerberechtigung_autocomplete.php
@@ -36,9 +36,9 @@ if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'benutzer')
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
if (is_null($search) || $search == '')
exit();
-
+
$benutzer = new benutzer();
-
+
if ($benutzer->search(array(
$search
)))
@@ -61,9 +61,9 @@ if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'berechtigu
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
if (is_null($search) || $search == '')
exit();
-
+
$berechtigung = new berechtigung();
-
+
if ($berechtigung->searchBerechtigungen($search))
{
$result_obj = array();
@@ -98,17 +98,29 @@ if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'oe_kurzbz'
if(is_array($oe->result) && count($oe->result) > 0)
{
- $result_obj = array();
+ $resultArray = array();
foreach($oe->result as $row)
{
if($row->aktiv==true)
{
- $item['oe_kurzbz'] = html_entity_decode($row->oe_kurzbz);
- $item['organisationseinheittyp_kurzbz'] = html_entity_decode($row->organisationseinheittyp_kurzbz);
- $item['bezeichnung'] = html_entity_decode($row->bezeichnung);
- $result_obj[] = $item;
+ $resultArray[html_entity_decode($row->oe_kurzbz)] = array('organisationseinheittyp_kurzbz' => html_entity_decode($row->organisationseinheittyp_kurzbz),'bezeichnung' => html_entity_decode($row->bezeichnung));
}
}
+
+ uasort($resultArray, function($a, $b)
+ {
+ return $a['organisationseinheittyp_kurzbz'].$a['bezeichnung'] <=> $b['organisationseinheittyp_kurzbz'].$b['bezeichnung'];
+ });
+
+ $result_obj = array();
+ foreach($resultArray as $key => $value)
+ {
+ $item['oe_kurzbz'] = $key;
+ $item['organisationseinheittyp_kurzbz'] = $value['organisationseinheittyp_kurzbz'];
+ $item['bezeichnung'] = $value['bezeichnung'];
+ $result_obj[] = $item;
+ }
+
echo json_encode($result_obj);
}
exit();
diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php
index 4cee06950..b230d702f 100644
--- a/vilesci/stammdaten/benutzerberechtigung_details.php
+++ b/vilesci/stammdaten/benutzerberechtigung_details.php
@@ -479,12 +479,11 @@ if(isset($_POST['copy']) && $_POST['copy'] != '')
if (!$b = new berechtigung())
die($b->errormsg);
-$b->getRollen();
+$b->getRollen('rolle_kurzbz');
foreach($b->result as $berechtigung)
{
$rolle_arr[$berechtigung->rolle_kurzbz] = $berechtigung->beschreibung;
}
-ksort($rolle_arr, SORT_STRING | SORT_FLAG_CASE);
$b->getBerechtigungen();
foreach($b->result as $berechtigung)
@@ -600,7 +599,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
}
if (count($bn) > 0)
{
- $htmlstr .= "Rechte Details
";
+ $htmlstr .= "Rechte Detailaufschlüsselung
";
}
}
elseif(isset($_REQUEST['funktion_kurzbz']) && $_REQUEST['funktion_kurzbz']!='')
diff --git a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php
index ecc9c6e09..0be268b70 100644
--- a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php
+++ b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php
@@ -182,7 +182,7 @@ $(document).ready(function()
-Benutzerberechtigungen Übersicht ';
+Berechtigungen Übersicht ';
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -229,7 +229,7 @@ $htmlstr='
- Berechtigung:
+ Rechte:
';
$berechtigung = new berechtigung();
@@ -251,7 +251,7 @@ $htmlstr='
';
$rollen = new berechtigung();
- $rollen->getRollen();
+ $rollen->getRollen('rolle_kurzbz');
foreach($rollen->result as $rolle)
{
if ($rolle_kurzbz == $rolle->rolle_kurzbz)
diff --git a/vilesci/stammdaten/berechtigungen.php b/vilesci/stammdaten/berechtigungen.php
new file mode 100644
index 000000000..54ff60e27
--- /dev/null
+++ b/vilesci/stammdaten/berechtigungen.php
@@ -0,0 +1,218 @@
+
+ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
+ * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
+ * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
+ */
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/berechtigung.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
+
+$user = get_uid();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('basis/berechtigung'))
+ die($rechte->errormsg);
+
+$berechtigung_kurzbz = filter_input(INPUT_POST, 'berechtigung_kurzbz');
+$beschreibung = filter_input(INPUT_POST, 'beschreibung');
+$kurzbz = filter_input(INPUT_GET, 'kurzbz');
+$kurzbzPost = filter_input(INPUT_POST, 'kurzbz_post');
+$edit = filter_input(INPUT_GET, 'edit');
+$save = filter_input(INPUT_POST, 'save');
+$delete = filter_input(INPUT_GET, 'delete');
+$saveNew = filter_input(INPUT_POST, 'saveNew');
+
+//$delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
+?>
+
+
+ Rechte Übersicht
+
+
+
+
+
+
+
+
+
+
+ Rechte Übersicht
+
+ berechtigung_kurzbz = $kurzbzPost;
+ $berechtigung->beschreibung = $beschreibung;
+ $berechtigung->new = true;
+
+ if($berechtigung->save())
+ {
+ echo 'Recht '.$kurzbzPost.' wurde angelegt ';
+ }
+ else
+ {
+ echo 'Fehler beim Speichern:'.$berechtigung->errormsg.' ';
+ }
+ }
+ else
+ {
+ echo 'Zum Speichern der Daten muss die Kurzbz und die Beschreibung angegeben werden ';
+ }
+ }
+
+ if(isset($delete) && isset($kurzbz))
+ {
+ $berechtigung = new berechtigung();
+ if($berechtigung->delete($kurzbz))
+ echo 'Das Recht "'.$kurzbz.'" wurde erfolgreich gelöscht ';
+ else
+ echo 'Fehler beim Löschen des Rechts:'.$berechtigung->errormsg.' ';
+ }
+
+ if(isset($save))
+ {
+ $berechtigung = new berechtigung();
+ $berechtigung->load($berechtigung_kurzbz);
+ $berechtigung->beschreibung = $beschreibung;
+ if (!$berechtigung->save(false))
+ echo 'Fehler beim Speichern:'.$berechtigung->errormsg.' ';
+ }
+
+ //Tabelle mit Rollen anzeigen
+ $berechtigung = new berechtigung();
+ $berechtigung->getBerechtigungen();
+
+ echo 'Reset Filter ';
+ echo '
+
+
+ ';
+
+ echo '
+ Neues Recht einfügen
+ Kurzbz:
+ Beschreibung:
+ 256
+
+
+
+
+';
+ ?>
diff --git a/vilesci/stammdaten/berechtigungrolle.php b/vilesci/stammdaten/berechtigungrolle.php
index e33057d59..7e87a4901 100644
--- a/vilesci/stammdaten/berechtigungrolle.php
+++ b/vilesci/stammdaten/berechtigungrolle.php
@@ -35,10 +35,12 @@ if(!$rechte->isBerechtigt('basis/berechtigung'))
$rolle_kurzbz = filter_input(INPUT_GET, 'rolle_kurzbz');
$delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
+$copy = filter_input(INPUT_POST, 'copy');
+$vergleich = filter_input(INPUT_GET, 'vergleich');
?>
- Berechtigungen Uebersicht
+ Rollen Uebersicht
@@ -54,15 +56,37 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$("#t1").tablesorter(
{
sortList: [[0,0]],
- widgets: ["zebra"],
- headers: {3:{sorter:false}}
+ widgets: ["zebra", "filter", "stickyHeaders"],
+ headers: {3:{filter:false, sorter:false}},
+ widgetOptions : {filter_saveFilters : true}
});
$("#t2").tablesorter(
{
sortList: [[0,0]],
- widgets: ["zebra"],
- headers: {2:{sorter:false}}
+ widgets: ["zebra", "filter", "stickyHeaders"],
+ headers: {2:{filter:false, sorter:false}},
+ widgetOptions : {filter_saveFilters : true}
+ });
+ $("#t3").tablesorter(
+ {
+ sortList: [],
+ widgets: ["zebra"]
+ });
+ $("#t4").tablesorter(
+ {
+ sortList: [],
+ widgets: ["zebra"]
+ });
+ $('.resetsaved').click(function()
+ {
+ $(".tablesorter").trigger("filterReset");
+ window.location("");
+ return false;
+ });
+ $("textarea").keyup(function()
+ {
+ $(this).siblings("span").text((256 - $(this).val().length));
});
// Breite des Autocompletes korrigieren um das Springen zu verhindern
@@ -93,16 +117,15 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$(this).val(ui.item.berechtigung_kurzbz);
}
});
- });
- function confdel()
- {
- var value=prompt('Achtung! Sie sind dabei eine Rolle zu löschen. Die Zuordnungen gehen dadurch verloren! Um diese Rolle wirklich zu Löschen tippen Sie "LÖSCHEN" in das untenstehende Feld.');
- if(value=='LÖSCHEN')
- return true;
- else
- return false;
- }
+ $(".copyButton").click(function(event)
+ {
+ event.preventDefault();
+ $(this).siblings().show();
+ $(this).hide();
+ });
+ });
+
function validateNewData()
{
if($('#berechtigung_neu_autocomplete').val() == '')
@@ -138,14 +161,16 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
- Berechtigung - Rolle -
+
Berechtigungen der Rolle "'.$rolle_kurzbz.'"';
$berechtigung_kurzbz = filter_input(INPUT_GET, 'berechtigung_kurzbz');
$art = filter_input(INPUT_GET, 'art');
$save = filter_input(INPUT_GET, 'save');
+ $anmerkung = filter_input(INPUT_GET, 'anmerkung');
if(isset($save))
{
@@ -155,10 +180,17 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$berechtigung->rolle_kurzbz = $rolle_kurzbz;
$berechtigung->berechtigung_kurzbz = $berechtigung_kurzbz;
$berechtigung->art = $art;
+ $berechtigung->anmerkung = $anmerkung;
+ $berechtigung->insertamum = date('Y-m-d H:i:s');
+ $berechtigung->insertvon = $user;
if($berechtigung->saveRolleBerechtigung()): ?>
Zuteilung gespeichert
-
+
Fehler beim Speichern der Zuteilung: errormsg ?>
- Zurück zur Rollenübersicht
+ Zurück zur Rollen Übersicht
getBerechtigungen();
?>
-
+
+
-
- getRolleBerechtigung($rolle_kurzbz);
- $berechtigungen_arr = array();
- foreach ($berechtigungen->result as $row)
- {
- $berechtigungen_arr[] = $row->berechtigung_kurzbz;
- }
- foreach ($berechtigung->result as $row): ?>
- berechtigung_kurzbz,$berechtigungen_arr)!==false ? 'disabled' : '' ?>>
- berechtigung_kurzbz ?>
-
-
-
-
+
+
+
-
+ Reset Filter
Kurzbz
Art
Beschreibung
-
+ Anmerkung
+
@@ -224,9 +262,15 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
berechtigung_kurzbz ?>
art ?>
beschreibung ?>
+ anmerkung ?>
-
- entfernen
+
+ Bearbeiten
+
+
+
+
+ Recht entfernen
@@ -235,8 +279,166 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
Rollen vergleichen';
+ $rolle1 = filter_input(INPUT_GET, 'rolle_kurzbz1');
+ $rolle2 = filter_input(INPUT_GET, 'rolle_kurzbz2');
+ ?>
+
+
+ Zurück zur Rollen Übersicht
+
+
+
+ getRolleBerechtigung($rolle1);
+ foreach ($rollen->result AS $recht)
+ {
+ $rollen1Arr[$recht->berechtigung_kurzbz] = $recht->art;
+ }
+ $rollen = new berechtigung();
+ $rollen->getRolleBerechtigung($rolle2);
+ foreach ($rollen->result AS $recht)
+ {
+ $rollen2Arr[$recht->berechtigung_kurzbz] = $recht->art;
+ }
+ $rollenGesamt = array_merge($rollen1Arr,$rollen2Arr);
+ ksort($rollenGesamt);
+
+ echo '
+
+
+ Rolle 1:
+
+ Bitte auswählen ';
+ $rollen = new berechtigung();
+ $rollen->getRollen('rolle_kurzbz');
+ foreach($rollen->result as $rolle)
+ {
+ if ($rolle1 == $rolle->rolle_kurzbz)
+ $selected = 'selected="selected"';
+ else
+ $selected = '';
+
+ echo ''.$rolle->rolle_kurzbz.' ';
+ }
+ echo ' ';
+ if (isset($rolle1))
+ {
+ echo '
+
+
+ Kurzbz
+ Art
+
+
+ ';
+
+ foreach ($rollenGesamt AS $recht => $art)
+ {
+ if (array_key_exists($recht, $rollen1Arr))
+ {
+ if ($art != $rollen1Arr[$recht])
+ {
+ echo '
+ '.$recht.'
+ '.$rollen1Arr[$recht].'
+ ';
+ }
+ else
+ {
+ echo '
+ '.$recht.'
+ '.$art.'
+ ';
+ }
+
+ }
+ else
+ {
+ echo '
+
+
+ ';
+ }
+ }
+ echo '
+
+
';
+ }
+ echo '
+
+
+ Rolle 2:
+
+ Bitte auswählen ';
+ $rollen = new berechtigung();
+ $rollen->getRollen('rolle_kurzbz');
+ foreach($rollen->result as $rolle)
+ {
+ if ($rolle2 == $rolle->rolle_kurzbz)
+ $selected = 'selected="selected"';
+ else
+ $selected = '';
+
+ echo ''.$rolle->rolle_kurzbz.' ';
+ }
+ echo ' ';
+ echo '
';
+ if (isset($rolle2))
+ {
+ echo '
+
+
+ Kurzbz
+ Art
+
+
+ ';
+ foreach ($rollenGesamt AS $recht => $art)
+ {
+ if (array_key_exists($recht, $rollen2Arr))
+ {
+ if ($art != $rollen2Arr[$recht])
+ {
+ echo '
+ '.$recht.'
+ '.$rollen2Arr[$recht].'
+ ';
+ }
+ else
+ {
+ echo '
+ '.$recht.'
+ '.$art.'
+ ';
+ }
+ }
+ else
+ {
+ echo '
+
+
+ ';
+ }
+ }
+ echo '
+
+
';
+ }
+ echo '
+
+
+ ';
+ }
else
{
+ echo 'Rollen Übersicht ';
$save = filter_input(INPUT_POST, 'save');
$edit = filter_input(INPUT_POST, 'edit');
@@ -273,11 +475,56 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
{
$berechtigung = new berechtigung();
if($berechtigung->deleteRolle($kurzbz))
- echo 'Rolle wurde entfernt';
+ echo 'Die Rolle '.$kurzbz.' wurde erfolgreich gelöscht';
else
echo 'Fehler beim Löschen:'.$berechtigung->errormsg;
}
+ if(isset($copy))
+ {
+ $kurzbz = filter_input(INPUT_POST, 'kurzbz');
+ $copyName = filter_input(INPUT_POST, 'copy_name');
+ $beschreibung = filter_input(INPUT_POST, 'beschreibung');
+
+ if(isset($kurzbz))
+ {
+ $berechtigung = new berechtigung();
+ $berechtigung->rolle_kurzbz = $copyName;
+ $berechtigung->beschreibung = $beschreibung;
+ $berechtigung->new = true;
+
+ if($berechtigung->saveRolle())
+ {
+ $rollenrechte = new berechtigung();
+ $rollenrechte->getRolleBerechtigung($kurzbz);
+ foreach($rollenrechte->result as $rollenrecht)
+ {
+ $newRolleRecht = new berechtigung();
+ $newRolleRecht->rolle_kurzbz = $copyName;
+ $newRolleRecht->berechtigung_kurzbz = $rollenrecht->berechtigung_kurzbz;
+ $newRolleRecht->art = $rollenrecht->art;
+ $newRolleRecht->anmerkung = $rollenrecht->anmerkung;
+ $newRolleRecht->insertamum = date('Y-m-d H:i:s');
+ $newRolleRecht->insertvon = $user;
+ if(!$newRolleRecht->saveRolleBerechtigung())
+ {
+ echo 'Fehler beim Speichern des Rechts '.$rollenrecht->berechtigung_kurzbz.' zur Rolle '.$rollenrecht->rolle_kurzbz;
+ break;
+ }
+ }
+ echo 'Rolle erfolgreich kopiert';
+ }
+ else
+ {
+ echo 'Fehler beim kopieren der Rolle '.$kurzbz.':'.$berechtigung->errormsg;
+ }
+ }
+ else
+ {
+ echo 'Zum Speichern der Daten muss die kurzbz und die Beschreibung angegeben werden';
+ }
+ }
+
if(isset($edit))
{
$beschreibung = filter_input(INPUT_POST, 'beschreibung');
@@ -292,13 +539,18 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$berechtigung = new berechtigung();
$berechtigung->getRollen(); ?>
- Rollen:
+
+
+ Rollen vergleichen
+
+
+ Reset Filter
Kurzbz
Beschreibung
- Aktion
+ Aktion
@@ -325,7 +577,18 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
-
+
+
+
+
+
+
+
+ Rolle kopieren
+
+
+
+
Rolle löschen
@@ -341,6 +604,7 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
Kurzbz:
Beschreibung: beschreibung ?>
+ beschreibung)) ?>
Neue Rolle anlegen
@@ -348,6 +612,7 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
Kurzbz:
Beschreibung:
+ 256
diff --git a/vilesci/stammdaten/reihungstest_administration.php b/vilesci/stammdaten/reihungstest_administration.php
index 3f3ec6e83..3b59e1961 100644
--- a/vilesci/stammdaten/reihungstest_administration.php
+++ b/vilesci/stammdaten/reihungstest_administration.php
@@ -783,7 +783,9 @@ $qry="SELECT
studiengang_kz,
reihung,
gebiet_id,
- tbl_gebiet.bezeichnung,
+ gb.bezeichnung,
+ gb.bezeichnung_mehrsprachig[1] as bezeichnung_de,
+ gb.bezeichnung_mehrsprachig[2] as bezeichnung_en,
zeit,
multipleresponse,
maxfragen,
@@ -794,17 +796,19 @@ $qry="SELECT
level_sprung_ab,
levelgleichverteilung,
maxpunkte,
+ offsetpunkte,
antwortenprozeile,
(SELECT SUM (zeit) AS sum FROM testtool.tbl_gebiet JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($semester!='')
$qry.=" AND semester=".$db->db_add_param($semester, FHC_INTEGER);
$qry.=" ) AS gesamtzeit,
+ (SELECT count(*) FROM testtool.tbl_frage WHERE gebiet_id=gb.gebiet_id AND demo=false) AS anz_fragen,
(SELECT SUM (zeit) AS sum FROM testtool.tbl_gebiet JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($semester!='')
$qry.=" AND semester=".$db->db_add_param($semester, FHC_INTEGER);
$qry.=" )-'00:40:00'::time without time zone AS gesamtzeit_persoenlichkeit
FROM testtool.tbl_ablauf
- JOIN testtool.tbl_gebiet USING (gebiet_id)
+ JOIN testtool.tbl_gebiet gb USING (gebiet_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($semester!='')
@@ -827,9 +831,11 @@ if ($studiengang_kz!=1 && $num_rows!=0)
KZ
NR
Gebiet_id
- Bezeichnung
+ Bezeichnung DE
+ Bezeichnung EN
Zeit
MR
+ Summe Fragen
Maxfragen
ZFF
ZFV
@@ -838,6 +844,7 @@ if ($studiengang_kz!=1 && $num_rows!=0)
Level ab
LGV
Maxpunkte
+ Offset
AWPZ
\n";
echo "";
echo " ";
@@ -850,7 +857,8 @@ if ($studiengang_kz!=1 && $num_rows!=0)
$row->studiengang_kz
$row->reihung
$row->gebiet_id
- $row->bezeichnung ";
+ $row->bezeichnung_de
+ $row->bezeichnung_en ";
if ($row->gebiet_id==7)
{
echo "00:20:00* ";
@@ -861,15 +869,17 @@ if ($studiengang_kz!=1 && $num_rows!=0)
{
echo "$row->zeit ";
}
- echo "
+ echo "".($row->multipleresponse=='t'?'Ja':'Nein')."
+ $row->anz_fragen
$row->maxfragen
-
-
+ ".($row->zufallfrage=='t'?'Ja':'Nein')."
+ ".($row->zufallvorschlag=='t'?'Ja':'Nein')."
$row->level_start
$row->level_sprung_auf
$row->level_sprung_ab
-
+ ".($row->levelgleichverteilung=='t'?'Ja':'Nein')."
$row->maxpunkte
+ ".number_format((intval(($row->offsetpunkte*100))/100),2,',','.')."
$row->antwortenprozeile ";
echo "\n";
}
@@ -881,6 +891,7 @@ if ($studiengang_kz!=1 && $num_rows!=0)
echo " ";
echo " ";
echo " ";
+ echo " ";
echo "Gesamt ";
echo "".$gesamtzeit." ";
echo " ";
@@ -893,6 +904,8 @@ if ($studiengang_kz!=1 && $num_rows!=0)
echo " ";
echo " ";
echo " ";
+ echo " ";
+ echo " ";
echo "\n";
echo "
";
}
diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php
index 6fac37be7..038c1977d 100644
--- a/vilesci/stammdaten/reihungstestverwaltung.php
+++ b/vilesci/stammdaten/reihungstestverwaltung.php
@@ -1010,6 +1010,7 @@ if(isset($_GET['excel']))
headers: {0: { sorter: false}},
widgetOptions: {filter_cssFilter: [
"filter_clm_null",
+ "filter_clm_prestudent_id",
"filter_clm_person_id",
"filter_clm_null",
"filter_clm_vorname",
@@ -1027,18 +1028,30 @@ if(isset($_GET['excel']))
$("#"+v.id).checkboxes('toggle');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
+ {
$("#mailSendButton").html('Mail an markierte Personen senden');
+ $("#msgSendButton").html('Message an markierte Personen senden');
+ }
else
+ {
$("#mailSendButton").html('Mail an alle senden');
+ $("#msgSendButton").html('Message an alle senden');
+ }
});
$("#uncheck_"+v.id).on('click', function(e) {
$("#"+v.id).checkboxes('uncheck');
e.preventDefault();
if ($("input.chkbox:checked").size() > 0)
+ {
$("#mailSendButton").html('Mail an markierte Personen senden');
+ $("#msgSendButton").html('Message an markierte Personen senden');
+ }
else
+ {
$("#mailSendButton").html('Mail an alle senden');
+ $("#msgSendButton").html('Message an alle senden');
+ }
});
$("#"+v.id).checkboxes('range', true);
@@ -1049,6 +1062,7 @@ if(isset($_GET['excel']))
if (typeof(Storage) !== 'undefined')
{
var arr = ['clm_null',
+ 'clm_prestudent_id',
'clm_person_id',
'clm_null',
'clm_vorname',
@@ -1114,9 +1128,15 @@ if(isset($_GET['excel']))
$('.chkbox').change(function()
{
if ($("input.chkbox:checked").size() > 0)
+ {
$("#mailSendButton").html('Mail an markierte Personen senden');
+ $("#msgSendButton").html('Message an markierte Personen senden');
+ }
else
+ {
$("#mailSendButton").html('Mail an alle senden');
+ $("#msgSendButton").html('Message an alle senden');
+ }
});
$('#toggle_bearbeitenForm').click(function()
@@ -1227,6 +1247,23 @@ if(isset($_GET['excel']))
});
window.location.href = "mailto:?bcc="+mailadressen;
}
+
+ function SendMessage()
+ {
+ // Wenn Checkboxen markiert sind, an diese senden, sonst an alle
+ if ($("input.chkbox:checked").size() > 0)
+ var elements = $("input.chkbox:checked");
+ else
+ var elements = $("input.chkbox");
+ var form = $("#sendMsgForm");
+ form.find("input[type=hidden]").remove();
+ $.each(elements, function(index, item)
+ {
+ var prestudent_id = $(this).closest('tr').find('td.clm_prestudent_id').text();
+ form.append(" ");
+ });
+ form.submit();
+ }