Merge branch 'master' into feature-25999/C4_CMS_content_router

This commit is contained in:
Johann Hoffmann
2024-12-13 12:00:50 +01:00
11 changed files with 99 additions and 49 deletions
+7
View File
@@ -0,0 +1,7 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// use vuejs dev version
$config['use_vuejs_dev_version'] = false;
// use bundled javascript
$config['use_bundled_javascript'] = false;
+11 -1
View File
@@ -13,6 +13,9 @@
$calledPath = $this->router->directory.$this->router->class;
$calledMethod = $this->router->method;
$this->load->config('javascript');
$use_vuejs_dev_version = $this->config->item('use_vuejs_dev_version');
// By default set the parameters to null
$customJSs = isset($customJSs) ? $customJSs : null;
$customJSModules = isset($customJSModules) ? $customJSModules : null;
@@ -110,7 +113,14 @@
// Vue 3 JS
if ($vue3 === true)
{
generateJSsInclude('vendor/vuejs/vuejs3/vue.global.prod.js');
if($use_vuejs_dev_version && $use_vuejs_dev_version === true)
{
generateJSsInclude('vendor/vuejs/vuejs3_dev/vue.global.js');
}
else
{
generateJSsInclude('vendor/vuejs/vuejs3/vue.global.prod.js');
}
generateJSsInclude('vendor/vuejs/vuerouter4/vue-router.global.js');
}
+1 -1
View File
@@ -98,6 +98,7 @@ if(!$result_ort)
die("ort not found!");
$num_rows_ort=$db->db_num_rows($result_ort);
/*$sql_query="SELECT student_uid FROM public.tbl_student ORDER BY student_uid";
$result_lektor=$db->db_query($sql_query);
if(!$result_lektor)
@@ -531,7 +532,6 @@ if(!defined('CIS_LVPLAN_ZUSATZMENUE_ANZEIGEN') || CIS_LVPLAN_ZUSATZMENUE_ANZEIGE
echo '
<td class="menubox">
<p><a href="raumsuche.php">'.$p->t('lvplan/raumsuche').'</a></p>
<p><a class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/fehlerUndFeedback').'</a></p>
<p><a href="../../../cms/content.php?content_id='.$p->t('dms_link/lvPlanFAQ').'" class="hilfe" target="_blank">'.$p->t('global/hilfe').'</a></p>
</td>';
}
+39 -39
View File
@@ -37,8 +37,8 @@ require_once('../../../include/datum.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/mitarbeiter.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
@@ -46,7 +46,7 @@ if (!$db = new basis_db())
// Variablen uebernehmen
if (isset($_GET['type']))
$type=$_GET['type'];
else
else
$type='';
if (isset($_GET['datum']))
@@ -61,7 +61,7 @@ if (isset($_GET['stg_kz']))
$stg_kz=$_GET['stg_kz'];
if (isset($_GET['sem']))
$sem=$_GET['sem'];
if($sem!='' && !is_numeric($sem))
die($p->t('lvplan/semesterIstUngueltig'));
@@ -70,7 +70,7 @@ if($stunde!='' && !is_numeric($stunde))
if (isset($_GET['ver']))
$ver=$_GET['ver'];
if (isset($_GET['grp']))
$grp=$_GET['grp'];
if (isset($_GET['gruppe_kurzbz']))
@@ -83,32 +83,32 @@ if(!$datum_obj->checkDatum($datum))
$stsem = getStudiensemesterFromDatum($datum);
//Stundenplan
$sql_query="
SELECT
campus.vw_stundenplan.*, lehrfach.bezeichnung, vw_mitarbeiter.titelpre,
SELECT
campus.vw_stundenplan.*, lehrfach.bezeichnung, vw_mitarbeiter.titelpre,
vw_mitarbeiter.titelpost, vw_mitarbeiter.nachname, vw_mitarbeiter.vorname,
(SELECT
count(*)
FROM
public.tbl_studentlehrverband
WHERE
studiengang_kz=vw_stundenplan.studiengang_kz
(SELECT
count(*)
FROM
public.tbl_studentlehrverband
WHERE
studiengang_kz=vw_stundenplan.studiengang_kz
AND semester=vw_stundenplan.semester
AND (verband=vw_stundenplan.verband OR vw_stundenplan.verband is null OR trim(vw_stundenplan.verband)='')
AND (gruppe=vw_stundenplan.gruppe OR vw_stundenplan.gruppe is null OR trim(vw_stundenplan.gruppe)='')
AND studiensemester_kurzbz=".$db->db_add_param($stsem).") as anzahl_lvb,
(SELECT
count(*)
FROM
public.tbl_benutzergruppe
WHERE
gruppe_kurzbz=vw_stundenplan.gruppe_kurzbz
AND studiensemester_kurzbz=".$db->db_add_param($stsem).") as anzahl_lvb,
(SELECT
count(*)
FROM
public.tbl_benutzergruppe
WHERE
gruppe_kurzbz=vw_stundenplan.gruppe_kurzbz
AND studiensemester_kurzbz=".$db->db_add_param($stsem).") as anzahl_grp
FROM
campus.vw_stundenplan
FROM
campus.vw_stundenplan
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (vw_stundenplan.lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN campus.vw_mitarbeiter USING (uid)
WHERE
datum=".$db->db_add_param($datum)."
WHERE
datum=".$db->db_add_param($datum)."
AND stunde=".$db->db_add_param($stunde);
if ($type=='lektor')
@@ -121,7 +121,7 @@ else
{
if($stg_kz=='' || $sem=='')
die('Fehlerhafte Parameteruebergabe');
if($type=="verband" && $stg_kz!='' && $sem!='')
{
// Studiengangsansicht
@@ -133,7 +133,7 @@ else
else
{
// Pers. Ansicht
$sql_query.=" AND EXISTS (SELECT 1 FROM campus.vw_student_lehrveranstaltung
$sql_query.=" AND EXISTS (SELECT 1 FROM campus.vw_student_lehrveranstaltung
WHERE lehreinheit_id=vw_stundenplan.lehreinheit_id AND uid=".$db->db_add_param($pers_uid).")";
}
// Manfred weiss nicht mehr warum, aber wir aktivieren 23-09-2009
@@ -154,16 +154,16 @@ $num_rows_stpl = $db->db_num_rows($erg_stpl);
//Reservierungen
$sql_query="
SELECT
vw_reservierung.*, vw_mitarbeiter.titelpre, vw_mitarbeiter.titelpost,
vw_mitarbeiter.vorname, vw_mitarbeiter.nachname, reserviert_von.titelpre AS titelpre_reserviertvon, reserviert_von.titelpost AS titelpost_reserviertvon,
reserviert_von.vorname AS vorname_reserviertvon, reserviert_von.nachname AS nachname_reserviertvon
FROM
SELECT
vw_reservierung.*, vw_mitarbeiter.titelpre, vw_mitarbeiter.titelpost,
vw_mitarbeiter.vorname, vw_mitarbeiter.nachname, reserviert_von.titelpre AS titelpre_reserviertvon, reserviert_von.titelpost AS titelpost_reserviertvon,
reserviert_von.vorname AS vorname_reserviertvon, reserviert_von.nachname AS nachname_reserviertvon
FROM
campus.vw_reservierung
JOIN campus.vw_mitarbeiter ON vw_reservierung.uid=vw_mitarbeiter.uid
LEFT JOIN campus.vw_mitarbeiter reserviert_von ON vw_reservierung.insertvon=reserviert_von.uid
WHERE
datum=".$db->db_add_param($datum)."
WHERE
datum=".$db->db_add_param($datum)."
AND stunde=".$db->db_add_param($stunde);
if (isset($ort_kurzbz) && $type=='ort')
@@ -172,7 +172,7 @@ if ($type=='lektor')
$sql_query.=" AND vw_reservierung.uid=".$db->db_add_param($pers_uid);
if ($type=='verband' || $type=='student')
{
$sql_query.=" AND studiengang_kz=".$db->db_add_param($stg_kz)."
$sql_query.=" AND studiengang_kz=".$db->db_add_param($stg_kz)."
AND (semester=".$db->db_add_param($sem)." OR semester=0 OR semester IS NULL)";
}
$sql_query.=' ORDER BY titel LIMIT 100';
@@ -258,12 +258,12 @@ if ($num_rows_stpl>0)
echo (!is_null($semester) && !empty($semester)?'</A>':'');
echo '
</td>
<td><A class="Item" title="'.$anzahl_grp.' Studierende" href="mailto:'.mb_strtolower($gruppe_kurzbz).'@'.DOMAIN.'">
'.$db->convert_html_chars($gruppe_kurzbz).'</A></td>
<td>'.$db->convert_html_chars($titel).'</td>
</tr>';
</tr>';
}
echo '</table><BR>';
}
@@ -294,7 +294,7 @@ if ($num_rows_repl>0)
$pers_nachname_reserviertvon=$row->nachname_reserviertvon;
$ort->load($ortkurzbz);
echo '<tr class="liste'.($i%2).'">';
echo '<td>'.$db->convert_html_chars($titel).'</td>';
echo '<td>'.(!empty($ortkurzbz)?($ort->content_id!=''?'<a href="../../../cms/content.php?content_id='.$ort->content_id.'" target="_self" onClick="window.resizeTo(1200,880)">'.$db->convert_html_chars($ortkurzbz).'</a>':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).'</td>';
@@ -304,6 +304,6 @@ if ($num_rows_repl>0)
}
echo '</table><br>';
}
echo '<P>'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A>.</P>
echo '<P>'.$p->t('lvplan/FragenZuLvPlan', array(MAIL_LVPLAN)).'</P>
</body></html>';
?>
+1 -1
View File
@@ -341,7 +341,7 @@ elseif($format=='excel')
// Print in HTML-File
else
{
echo '<P class="dont-print">'.$p->t('lvplan/fehlerUndFeedback').' <A class="Item" href="mailto:'.MAIL_LVPLAN.'">'.$p->t('lvplan/lvKoordinationsstelle').'</A></P>';
echo '<br><P class="dont-print">'.$p->t('lvplan/FragenZuLvPlan', array(MAIL_LVPLAN)).'</P>';
echo '</body></html>';
}
+1 -1
View File
@@ -524,6 +524,6 @@ if (isset($reservdelcount))
echo "Es wurde".($reservdelcount!=1?'n':'')." $reservdelcount Stunde".($reservdelcount!=1?'n':'')." gel&ouml;scht!<BR>";
?>
<P><br><?php echo $p->t('lvplan/fehlerUndFeedback');?> <A class="Item" href="mailto:<?php echo MAIL_LVPLAN?>"><?php echo $p->t('lvplan/lvKoordinationsstelle');?></A>.</P>
<P><br><?php echo $p->t('lvplan/FragenZuLvPlan', array(MAIL_LVPLAN)); ?>.</P>
</BODY>
</HTML>
+12
View File
@@ -326,6 +326,17 @@
}
}
},
{
"type": "package",
"package": {
"name": "vuejs/vuejs3_dev",
"version": "3.3.8",
"dist": {
"url": "https://unpkg.com/vue@3.3.8/dist/vue.global.js",
"type": "file"
}
}
},
{
"type": "package",
"package": {
@@ -439,6 +450,7 @@
},
"require-dev": {
"vuejs/vuejs3_dev": "3.3.8",
"squizlabs/php_codesniffer": "3.6.*",
"phpmd/phpmd": "2.*",
"phpmetrics/phpmetrics": "2.*",
Generated
+10 -1
View File
@@ -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": "eedcd2abe226d372ff8d735498eb3b0a",
"content-hash": "01ea35652d88680f8262c5365828eb46",
"packages": [
{
"name": "afarkas/html5shiv",
@@ -4680,6 +4680,15 @@
},
"time": "2019-06-13T22:48:21+00:00"
},
{
"name": "vuejs/vuejs3_dev",
"version": "3.3.8",
"dist": {
"type": "file",
"url": "https://unpkg.com/vue@3.3.8/dist/vue.global.js"
},
"type": "library"
},
{
"name": "webmozart/assert",
"version": "1.9.1",
+2 -1
View File
@@ -101,4 +101,5 @@ $this->phrasen['lvplan/folgendeAenderungen']='Es haben sich folgende Aenderungen
$this->phrasen['lvplan/reserviertInDev']='reserviert<br>für<br>lehre';
$this->phrasen['lvplan/raumNichtReservierbar']='Die Möglichkeit der Reservierung ist für diesen Raum deaktiviert.';
$this->phrasen['lvplan/reserviertVon']='Reserviert von';
?>
$this->phrasen['lvplan/FragenZuLvPlan']='Für Fragen zu Ihrem LV-Plan wenden Sie sich bitte an Ihre <a class="Item" href="mailto:%s">LV-Koordinationsstelle</a>';
?>
+1
View File
@@ -100,4 +100,5 @@ $this->phrasen['lvplan/folgendeAenderungen']='There have been the following chan
$this->phrasen['lvplan/reserviertInDev']='not<br>available';
$this->phrasen['lvplan/raumNichtReservierbar']='Reservation is disabled for this room.';
$this->phrasen['lvplan/reserviertVon']='Reserved by';
$this->phrasen['lvplan/FragenZuLvPlan']='For questions about your personal schedule, please contact the <a class="Item" href="mailto:%s">Course-Coordination Office</a>';
?>
+14 -4
View File
@@ -14,6 +14,16 @@ export default {
}
},
methods:{
c4_disabled: function (menuItem) {
if (!this.c4_link(menuItem) && !menuItem.c4_moodle_links?.length) {
return true;
}
return null;
},
c4_target: function (menuItem) {
if (menuItem.c4_moodle_links?.length > 0) return null;
return menuItem.c4_target ?? null;
},
selectMenu: function (menuItem, index = null) {
// early return if link is #
@@ -37,7 +47,7 @@ export default {
if (!menuItem) return null;
if (Array.isArray(menuItem.c4_moodle_links) && menuItem.c4_moodle_links.length)
{
return '#';
return null;
}
else
{
@@ -50,9 +60,9 @@ export default {
<div v-else>
<div class="container" :class="containerStyles">
<div class="row g-2 justify-content-center" :class="rowStyles">
<div style="min-height:150px; min-width:150px;" class="col-12 col-lg-6 col-xl-4" v-for="(menuItem, index) in menu" :key="index">
<a :id="menuItem.name" :class="{'dropdown-toggle':menuItem.c4_moodle_links?.length }" :target="menuItem.c4_target ?? null" role="button" :href="c4_link(menuItem)"
:disabled="!c4_link(menuItem)?true:null"
<div style="min-height:150px; min-width:150px;" class="col-12 col-lg-6 col-xl-4" v-for="(menuItem, index) in menu" :key="index">
<a :id="menuItem.name" :class="{'dropdown-toggle':menuItem.c4_moodle_links?.length }" role="button" :href="c4_link(menuItem)"
:disabled="c4_disabled(menuItem)" :data-bs-toggle="menuItem.c4_moodle_links?.length?'dropdown':null"
class="fhc-entry p-2 w-100 text-wrap border border-1 rounded-3 d-flex flex-column align-items-center justify-content-center text-center text-decoration-none link-dark h-100">
<img :src="menuItem.c4_icon" :alt="menuItem.name" />
<p @click="selectMenu(menuItem)" class="w-100 mt-2">{{menuItem.name}}</p>