mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
544 lines
17 KiB
PHP
544 lines
17 KiB
PHP
<?php
|
|
/**
|
|
* Copyright (C) 2024 fhcomplete.org
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
|
|
use CI3_Events as Events;
|
|
|
|
/**
|
|
* This controller operates between (interface) the JS (GUI) and the SearchBarLib (back-end)
|
|
* Provides data to the ajax get calls about the searchbar component
|
|
* This controller works with JSON calls on the HTTP GET and the output is always JSON
|
|
*/
|
|
class LvMenu extends FHCAPI_Controller
|
|
{
|
|
|
|
|
|
/**
|
|
* Object initialization
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct([
|
|
'getLvMenu' => self::PERM_LOGGED
|
|
]);
|
|
|
|
$this->load->model("ressource/Mitarbeiter_model");
|
|
$this->load->model("education/Lehreinheit_model");
|
|
$this->load->model("education/Lehrveranstaltung_model");
|
|
$this->load->model("organisation/Studiengang_model");
|
|
$this->load->model("accounting/Vertrag_model");
|
|
$this->load->model("system/Variable_model");
|
|
$this->load->model("person/Benutzergruppe_model");
|
|
$this->load->model("education/Lvangebot_model");
|
|
$this->load->model("ressource/Lehretools_model");
|
|
|
|
$this->load->library("PermissionLib", null, 'PermissionLib');
|
|
|
|
$this->load->library("PhrasesLib", null, 'PhrasesLib');
|
|
$this->loadPhrases(array('global', 'lehre'));
|
|
}
|
|
|
|
//------------------------------------------------------------------------------------------------------------------
|
|
// Public methods
|
|
|
|
|
|
/**
|
|
* alternative function to get multiple lvMenus with a single http request
|
|
*/
|
|
public function getMultipleLvMenu($lvMenuOptionList){
|
|
$result =[];
|
|
foreach($lvMenuOptionList as $lvMenuOptions){
|
|
$lvMenu = $this->getLvMenu($lvMenuOptions['lvid'],$lvMenuOptions['studiensemester_kurzbz']);
|
|
if(isError($lvMenu)){
|
|
// TODO: some lvMenu threw an error, handle error here
|
|
}
|
|
$result[$lvMenuOptions['lvid']]=$lvMenu;
|
|
}
|
|
$this->terminateWithSuccess($result);
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public function getLvMenu($lvid, $studiensemester_kurzbz)
|
|
{
|
|
|
|
// return early if parameters are missing
|
|
if(!isset($lvid) || !isset($studiensemester_kurzbz))
|
|
$this->terminateWithError('Missing parameters', self::ERROR_TYPE_GENERAL);
|
|
|
|
// get the sprache
|
|
$sprache = getUserLanguage();
|
|
|
|
// get the user
|
|
if (!$user=getAuthUID())
|
|
$this->terminateWithError($this->p->t('global', 'nichtAngemeldet'));
|
|
|
|
// check if is_lector
|
|
$is_lector = false;
|
|
$mares = $this->Mitarbeiter_model->isMitarbeiter($user);
|
|
if(hasData($mares))
|
|
{
|
|
$is_lector = getData($mares);
|
|
}
|
|
|
|
// definition of user_is_allowed_to_upload
|
|
$user_is_allowed_to_upload=false;
|
|
$angezeigtes_stsem = $studiensemester_kurzbz;
|
|
|
|
// load lehrveranstaltung
|
|
$lvres = $this->Lehrveranstaltung_model->load($lvid);
|
|
if(!hasData($lvres))
|
|
{
|
|
$this->terminateWithError('LV ' . $lvid . ' not found.');
|
|
}
|
|
$lv = (getData($lvres))[0];
|
|
$this->addMeta('lvInfo',$lv);
|
|
// define studiengang_kz / semester / lehrverzeichnis
|
|
$studiengang_kz = $lv->studiengang_kz;
|
|
$semester = $lv->semester;
|
|
$short = $lv->lehreverzeichnis;
|
|
// return empty menu for studiengang_kz = 0
|
|
if($studiengang_kz == 0){
|
|
$this->terminateWithSuccess("organisatorische_einheit");
|
|
}
|
|
|
|
// load studiengang
|
|
$stgres = $this->Studiengang_model->load(strval($studiengang_kz));
|
|
if(!hasData($stgres))
|
|
{
|
|
$this->terminateWithError('Stg ' . $lv->studiengang_kz . ' not found.');
|
|
}
|
|
$stg = (getData($stgres))[0];
|
|
$kurzbz = strtoupper($stg->typ . $stg->kurzbz);
|
|
|
|
$short_name = $lv->bezeichnung;
|
|
$short_short_name = $lv->lehreverzeichnis;
|
|
|
|
// angemeldet
|
|
$angemeldet = true;
|
|
if(defined('CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN && !$is_lector)
|
|
{
|
|
$angemeldet = false;
|
|
|
|
$lesres = $this->Lehreinheit_model->getLehreinheitenForStudentAndStudienSemester(
|
|
$lvid, $user, $angezeigtes_stsem
|
|
);
|
|
|
|
if(hasData($lesres) && count(getData($lesres)) > 0)
|
|
$angemeldet = true;
|
|
}
|
|
|
|
// lehrfach
|
|
$lehrfach_id='';
|
|
|
|
if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN)
|
|
{
|
|
// Wenn der eingeloggte User zu einer der Lehreinheiten zugeteilt ist
|
|
// wird zusätzlich das Lehrfach der Lehreinheit angezeigt.
|
|
if($is_lector )
|
|
{
|
|
$result = $this->Lehreinheit_model->getLehrfachIdMitarbeiter($angezeigtes_stsem,$user,$lvid);
|
|
}
|
|
else
|
|
{
|
|
$result = $this->Lehreinheit_model->getLehrfachIdStudierender($angezeigtes_stsem,$user,$lvid);
|
|
}
|
|
|
|
// Wenn die LV mehrere verschiedenen Lehrfaecher hat, und der User zu mehreren davon zugeteilt ist
|
|
// wird das Lehrfach nicht angezeigt damit es nicht zu verwirrungen kommt.
|
|
if( ($lehrfaecher = getData($result)) && count($lehrfaecher)==1 && ($lehrfach = $lehrfaecher[0]))
|
|
{
|
|
$lehrfach_id=$lehrfach->lehrfach_id;
|
|
}
|
|
}
|
|
|
|
// lektor der lv
|
|
$lektor_der_lv=false;
|
|
|
|
$leinfores = $this->Lehreinheit_model->getLehreinheitInfo($lvid,$angezeigtes_stsem,$lehrfach_id);
|
|
$db_result = hasData($leinfores) ? getData($leinfores) : array();
|
|
|
|
foreach($db_result as $row_lector)
|
|
{
|
|
|
|
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
|
|
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
|
|
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
|
|
{
|
|
if (!$this->Vertrag_model->isVertragErteiltLV($lvid, $angezeigtes_stsem, $row_lector->uid))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
if($user == $row_lector->uid)
|
|
{
|
|
$lektor_der_lv=true;
|
|
$user_is_allowed_to_upload=true;
|
|
}
|
|
|
|
// style of the link
|
|
if($row_lector->lvleiter === true)
|
|
$style='style="font-weight: bold"';
|
|
else
|
|
$style='';
|
|
|
|
}
|
|
|
|
//Berechtigungen auf Fachbereichsebene
|
|
$lehrfach_oe_kurzbz_arr = array();
|
|
$fbres = $this->Lehrveranstaltung_model->getBerechtigungenAufFachberechsebene($lvid, $angezeigtes_stsem);
|
|
$fbs = (hasData($fbres)) ? getData($fbres) : array();
|
|
foreach($fbs as $row)
|
|
{
|
|
$lehrfach_oe_kurzbz_arr[] = $row->oe_kurzbz;
|
|
if($this->PermissionLib->isBerechtigt('lehre', null, $row->oe_kurzbz)
|
|
|| $this->PermissionLib->isBerechtigt('assistenz', null, $stg->oe_kurzbz))
|
|
{
|
|
$user_is_allowed_to_upload=true;
|
|
}
|
|
}
|
|
|
|
// FH-Core Menu Logic
|
|
// ##########################################################################################
|
|
|
|
$menu = array();
|
|
|
|
$this->fhc_menu_lvinfo($menu, $lvid, $studiengang_kz, $lektor_der_lv, $is_lector, $lehrfach_oe_kurzbz_arr);
|
|
|
|
$this->fhc_menu_feedback($menu, $angemeldet, $lvid);
|
|
|
|
$this->fhc_menu_gesamtnote($menu, $angemeldet, $lvid, $lv, $is_lector, $angezeigtes_stsem);
|
|
|
|
$this->fhc_menu_emailStudierende($menu, $user, $angemeldet, $lvid, $angezeigtes_stsem);
|
|
|
|
$this->fhc_menu_abmeldung($menu, $user, $is_lector, $lvid, $angezeigtes_stsem);
|
|
|
|
$this->fhc_menu_lehretools($menu, $lvid, $angezeigtes_stsem, $sprache);
|
|
|
|
$this->fhc_menu_anrechnungStudent($menu, $lvid, $angezeigtes_stsem);
|
|
|
|
$this->fhc_menu_anrechnungLector($menu, $angezeigtes_stsem);
|
|
|
|
|
|
// Addons Menu Logic
|
|
// ##########################################################################################
|
|
|
|
$params = [
|
|
'sprache'=>$sprache,
|
|
//'p'=>$p,
|
|
'ci_p'=> $this->p,
|
|
//'db'=>$db,
|
|
'user'=>$user,
|
|
'is_lector'=>$is_lector,
|
|
'user_is_allowed_to_upload'=>$user_is_allowed_to_upload,
|
|
//'rechte'=>$rechte,
|
|
'angezeigtes_stsem'=>$angezeigtes_stsem,
|
|
//'lehreinheit'=>$lehreinheit,
|
|
'lv_obj'=>$lv,
|
|
'lv'=>$lv,
|
|
'lvid'=>$lvid,
|
|
'studiengang_kz'=>$studiengang_kz,
|
|
'semester'=>$semester,
|
|
'short'=>$short,
|
|
'stg_obj'=>$stg,
|
|
'kurzbz'=>$kurzbz,
|
|
'short_name'=>$short_name,
|
|
'short_short_name'=>$short_short_name,
|
|
//'dir_name'=>$dir_name,
|
|
'angemeldet'=>$angemeldet,
|
|
'lehrfach_id'=>$lehrfach_id,
|
|
'lektor_der_lv'=>$lektor_der_lv,
|
|
'lehrfach_oe_kurzbz_arr'=>$lehrfach_oe_kurzbz_arr,
|
|
'permissionLib' => &$this->PermissionLib,
|
|
'phrasesLib' => &$this->PhrasesLib
|
|
];
|
|
|
|
Events::trigger('lvMenuBuild',
|
|
// passing $menu per reference
|
|
function & () use (&$menu) {
|
|
return $menu;
|
|
},
|
|
$params
|
|
);
|
|
|
|
// Menu sortieren
|
|
// ##########################################################################################
|
|
|
|
foreach ($menu as $key => $row){
|
|
|
|
// removes menu points that are not needed in the c4 lvUebersicht
|
|
if( !array_key_exists('c4_link',$row) || !array_key_exists('c4_icon',$row)){
|
|
unset($menu[$key]);
|
|
continue;
|
|
}
|
|
|
|
// fills pos array to sort the menu
|
|
$pos[$key] = $row['position'];
|
|
|
|
}
|
|
|
|
array_multisort($pos, SORT_ASC, SORT_NUMERIC, $menu);
|
|
|
|
// HTTP response
|
|
// ##########################################################################################
|
|
|
|
$this->terminateWithSuccess($menu);
|
|
|
|
}
|
|
|
|
private function fhc_menu_lvinfo(&$menu, $lvid, $studiengang_kz, $lektor_der_lv, $is_lector, $lehrfach_oe_kurzbz_arr){
|
|
|
|
// LVINFO
|
|
if(!defined('CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN)
|
|
{
|
|
$c4_linkList=array();
|
|
|
|
// Bearbeiten Button anzeigen wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist
|
|
// Oder Berechtigung zum Bearbeiten eingetragen ist
|
|
if((!defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && $lektor_der_lv)
|
|
|| (defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT==true && $lektor_der_lv)
|
|
|| $this->PermissionLib->isBerechtigt('lehre/lvinfo',$studiengang_kz)
|
|
|| $this->PermissionLib->isBerechtigtMultipleOe('lehre/lvinfo', $lehrfach_oe_kurzbz_arr)
|
|
)
|
|
{
|
|
$c4_linkList[]= [$this->p->t('lehre', 'lvInfoBearbeiten'), 'ects/index.php?lvid='.$lvid];
|
|
}
|
|
elseif ($is_lector)
|
|
{
|
|
$c4_linkList[]= ["Bearbeiten der LV-Infos derzeit gesperrt",'#'];
|
|
}
|
|
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_lvinfo',
|
|
'position'=>'10',
|
|
'name'=>$this->p->t('lehre', 'lehrveranstaltungsinformation'),
|
|
'phrase' => 'lehre/lehrveranstaltungsinformation',
|
|
'icon'=>'../../../skin/images/button_lvinfo.png',
|
|
'link'=>'',
|
|
'c4_icon'=> base_url('skin/images/button_lvinfo.png'),
|
|
'c4_link'=>'',
|
|
'c4_linkList'=>$c4_linkList
|
|
);
|
|
}
|
|
}
|
|
|
|
private function fhc_menu_feedback(&$menu, $angemeldet, $lvid){
|
|
//FEEDBACK
|
|
if((!defined('CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN) && $angemeldet)
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_feedback',
|
|
'position'=>'60',
|
|
'name'=>$this->p->t('lehre', 'feedback'),
|
|
'phrase' => 'lehre/feedback',
|
|
'c4_icon'=> base_url('skin/images/button_feedback.png'),
|
|
'c4_link'=> base_url('feedback.php?lvid='.$lvid),
|
|
);
|
|
}
|
|
}
|
|
|
|
private function fhc_menu_gesamtnote(&$menu, $angemeldet, $lvid, $lv_obj, $is_lector, $angezeigtes_stsem){
|
|
//Gesamtnote
|
|
if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet))
|
|
{
|
|
if($lv_obj->benotung)
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_gesamtnote',
|
|
'position'=>'80',
|
|
'name'=>$this->p->t('lehre', 'gesamtnote'),
|
|
'phrase' => 'lehre/gesamtnote',
|
|
'c4_icon'=> base_url('skin/images/button_endnote.png'),
|
|
'c4_link'=> base_url('cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
|
|
//'c4_link'=> base_url('benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
|
|
);
|
|
}
|
|
else
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_gesamtnote',
|
|
'position'=>'80',
|
|
'name'=>$this->p->t('lehre', 'gesamtnote'),
|
|
'phrase'=>'lehre/gesamtnote',
|
|
'c4_icon'=>base_url('skin/images/button_endnote.png'),
|
|
'c4_link'=>'#',
|
|
'c4_linkList'=>[[$this->p->t('lehre', 'noteneingabedeaktiviert'),'#']],
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function fhc_menu_emailStudierende(&$menu, $user, $angemeldet, $lvid, $angezeigtes_stsem){
|
|
// Email an Studierende
|
|
if((!defined('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN) && $angemeldet)
|
|
{
|
|
$mailto='mailto:';
|
|
$c4_linkList=array();
|
|
|
|
$studentMailsRes = $this->Lehrveranstaltung_model->getStudentEMail($lvid, $angezeigtes_stsem);
|
|
|
|
// get the data of the database result and map the array of objects to their object property
|
|
$studentMails = $this->getDataOrTerminateWithError($studentMailsRes, 'No student mails found');
|
|
|
|
|
|
$nomail='';
|
|
$variablesres = $this->Variable_model->getVariables($user);
|
|
$variables = (hasData($variablesres)) ? getData($variablesres) : array();
|
|
|
|
foreach ($studentMails as $row)
|
|
{
|
|
if($row->gruppe_kurzbz != '')
|
|
{
|
|
$bngrp_uids = $this->Benutzergruppe_model->getUids($row->gruppe_kurzbz, $angezeigtes_stsem);
|
|
if(count($bngrp_uids) > 0)
|
|
{
|
|
if(!$row->mailgrp)
|
|
{
|
|
$nomail = $row->gruppe_kurzbz . ' ';
|
|
}
|
|
else
|
|
{
|
|
$mailto .= mb_strtolower($row->gruppe_kurzbz . '@'
|
|
. DOMAIN . $variables['emailadressentrennzeichen']);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$mailto .= mb_strtolower($row->stg_typ . $row->stg_kurzbz
|
|
. $row->semester . trim($row->verband) . trim($row->gruppe)
|
|
. '@' . DOMAIN . $variables['emailadressentrennzeichen']);
|
|
}
|
|
}
|
|
|
|
if($nomail != '')
|
|
{
|
|
$c4_linkList[] = array(
|
|
$this->p->t('lehre', 'keinMailverteiler', array('nomail' => $nomail)),
|
|
'#'
|
|
);
|
|
$link_onclick = 'alert(\''.$this->p->t('lehre', 'keinMailverteiler', array('nomail' => $nomail)) . '\');';
|
|
}
|
|
else
|
|
{
|
|
$link_onclick = '';
|
|
}
|
|
|
|
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_mailanstudierende',
|
|
'position'=>'100',
|
|
'name'=>$this->p->t('lehre', 'mail'),
|
|
'phrase' => 'lehre/mail',
|
|
'c4_icon'=>base_url('skin/images/button_feedback.png'),
|
|
'c4_icon2' => 'fa-regular fa-envelope',
|
|
'c4_link'=>$mailto,
|
|
'c4_linkList'=>$c4_linkList,
|
|
'link_onclick'=>$link_onclick
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function fhc_menu_abmeldung(&$menu, $user, $is_lector, $lvid, $angezeigtes_stsem){
|
|
if(!defined('CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN)
|
|
{
|
|
if(!$is_lector)
|
|
{
|
|
$gruppen = $this->Lvangebot_model->AbmeldungMoeglich($lvid, $angezeigtes_stsem, $user);
|
|
if(count($gruppen) > 0)
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id'=>'core_menu_abmeldung',
|
|
'position'=>'120',
|
|
'name'=>$this->p->t('lehre', 'abmelden'),
|
|
'phrase'=>'lehre/abmelden',
|
|
'c4_icon'=>base_url('skin/images/button_studiupload.png'),
|
|
'c4_link'=>base_url('abmeldung.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem)),
|
|
);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private function fhc_menu_lehretools(&$menu, $lvid, $angezeigtes_stsem, $sprache){
|
|
//Anzeigen von zusaetzlichen Lehre-Tools
|
|
$lehretools = $this->Lehretools_model->getTools($lvid, $angezeigtes_stsem, $sprache);
|
|
foreach($lehretools as $row)
|
|
{
|
|
$menu[] = array(
|
|
'id' => 'core_menu_lehretools_' . $row->lehre_tools_id,
|
|
'position' => '1000',
|
|
'name' => $row->bezeichnung,
|
|
'c4_icon' => base_url('cms/dms.php?id='.$row->logo_dms_id),
|
|
'c4_link' => $row->basis_url,
|
|
);
|
|
}
|
|
}
|
|
|
|
private function fhc_menu_anrechnungStudent(&$menu, $lvid, $angezeigtes_stsem){
|
|
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer Studenten
|
|
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
|
|
&& $this->PermissionLib->isBerechtigt('student/anrechnung_beantragen'))
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse',
|
|
'position' => '128',
|
|
'name' => $this->p->t('lehre', 'anrechnung'),
|
|
'phrase' => 'lehre/anrechnung',
|
|
'c4_icon' => base_url('skin/images/button_listen.png'),
|
|
'c4_icon2' => 'fa-regular fa-folder-open',
|
|
'c4_link' => base_url('cis.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid))
|
|
);
|
|
}
|
|
}
|
|
|
|
private function fhc_menu_anrechnungLector(&$menu, $angezeigtes_stsem){
|
|
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer LektorInnen
|
|
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
|
|
&& $this->PermissionLib->isBerechtigt('lehre/anrechnung_empfehlen'))
|
|
{
|
|
$menu[]=array
|
|
(
|
|
'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse_empfehlen',
|
|
'position' => '128',
|
|
'name' => $this->p->t('lehre', 'anrechnungen'),
|
|
'phrase' => 'lehre/anrechnung',
|
|
'c4_icon'=> base_url('skin/images/button_listen.png'),
|
|
'c4_icon2' => 'fa-regular fa-folder-open',
|
|
'c4_link' => base_url('cis.php/lehre/anrechnung/ReviewAnrechnungUebersicht?studiensemester='.urlencode($angezeigtes_stsem))
|
|
);
|
|
}
|
|
}
|
|
} |