Merge branch 'master' into eine_uid

This commit is contained in:
Andreas Moik
2016-04-21 14:08:44 +02:00
156 changed files with 9432 additions and 1351 deletions
+1
View File
@@ -7,3 +7,4 @@ documents/
.settings
.project
.buildpath
bin
Regular → Executable
+8 -5
View File
@@ -9,15 +9,18 @@
- **[CORE]** Reihungstest Punkteübernahme oder Prozentpunkte ist konfigurierbar
- **[CIS]** LVPlan Export für Excel
- **[FAS]** Termine Karteireiter im FAS zeigt die Anmerkung aus dem LVPlan an
- **[CIS]** Onlinebewerbungstool greift auf mehrsprachige Statusbezeichnungen zu.
### Changed
- **[FAS]** Dokumente Menü im FAS neu sortiert um den Lebenszyklus des Studierenden abzubilden
- **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch
- **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich
- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben.
- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben.
- **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich.
### Updateinfo
- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde.
- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde.
- **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen.
## [3.1.0] - 2015-11-12
### Added
@@ -25,7 +28,7 @@
- **[FAS]** Bei Noten können zusätzlich Punkte gespeichert werden. Notenschlüssel für Gesamtnote kann hinterlegt werden
- **[FAS]** Anwesenheiten von Studierenden können erfasst werden
- **[FAS]** Vertragsverwaltung bei Mitarbeiter
- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden
- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden
- **[BERECHTIGUNG]** system/changeoutputformat Legt fest ob Dokumente als DOC/ODT exportiert werden dürfen
- **[FAS]** Termine Karteireiter im FAS zeigt den LVPlan von Studierenden/Lehrveranstaltungen
- **[FAS]** Bereits verplante Lektoren können vom FAS aus, aus dem LVPlan gelöscht werden. Zusätzlich wird im FAS angezeigt ob dieser Lektor bereits verplant ist
@@ -37,7 +40,7 @@
- **[CORE]** Mehrsprachigkeit bei diversen Tabellen (Dokumente, ZGV, ...) hinzugefügt
### Fixed
- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt
- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt
### Changed
- **[FAS]** Stundenobergrenze für Lektoren kann jetzt pro Organisationseinheit festgelegt werden. (warn_semesterstunden_frei/fix tbl_organisationseinheit)
+30 -23
View File
@@ -373,7 +373,7 @@ function showPruefungsDetails(prfId, lvId)
{
var p = e.pruefung;
var l = e.lehrveranstaltung
$("#prfTyp").html(p.pruefungstyp_kurzbz);
// $("#prfTyp").html(p.pruefungstyp_kurzbz);
$("#prfMethode").html(p.methode);
$("#prfBeschreibung").html(p.beschreibung);
if(p.einzeln === true)
@@ -436,9 +436,10 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t
error: loadError
}).success(function(data){
var html = "";
html += '<option id="'+lehrveranstaltung_id+'" value="'+lehrveranstaltung_id+'">';
html += lvBezeichnung;
html += "</option>";
data.result.forEach(function(v, i){
console.log(i);
console.log(v);
html += '<option id="'+v.lehrveranstaltung_id+'" value="'+v.lehrveranstaltung_id+'">';
html += v.bezeichnung;
html += "</option>";
@@ -486,8 +487,6 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
var studienverpflichtung_id = null;
if($("#studienverpflichtung").length)
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
console.log(studienverpflichtung_id);
$.ajax({
dataType: 'json',
@@ -689,6 +688,7 @@ function showAnmeldungen(pruefungstermin_id, lehrveranstaltung_id)
function writeAnmeldungen(data)
{
console.log(data);
if(data.error === 'false')
{
var terminId = data.result.anmeldungen[0].pruefungstermin_id;
@@ -755,6 +755,7 @@ function writeAnmeldungen(data)
$("#kommentar").empty();
$("#kommentarSpeichernButton").empty();
$("#raumLink").empty();
$("#listeDrucken").empty();
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
}
@@ -1091,7 +1092,7 @@ function savePruefungstermin()
unmarkMissingFormEntry();
var studiensemester_kurzbz = $("#studiensemester").val();
var pruefungsfenster_id = $("#pruefungsfenster").val();
var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
// var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
var titel = $("#titel").val();
var beschreibung = $("#beschreibung").val();
var methode = $("#methode").val();
@@ -1168,11 +1169,11 @@ function savePruefungstermin()
error = true;
markMissingFormEntry("pruefungsfenster");
}
if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
{
error = true;
markMissingFormEntry("pruefungsTyp");
}
// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
// {
// error = true;
// markMissingFormEntry("pruefungsTyp");
// }
if(is_null(titel) || is_undefined(titel) || is_empty_String(titel))
{
error = true;
@@ -1188,12 +1189,18 @@ function savePruefungstermin()
error = true;
markMissingFormEntry("methode");
}
if(lehrveranstaltungen.length === 0)
{
error = true;
markMissingFormEntry("lvDropdowns");
}
if(is_null(termine) || is_undefined(termine) || is_empty_String(termine))
{
error = true;
markMissingFormEntry("prfTermin");
}
if(error)
{
@@ -1209,7 +1216,7 @@ function savePruefungstermin()
method: "savePruefungstermin",
studiensemester_kurzbz: studiensemester_kurzbz,
pruefungsfenster_id: pruefungsfenster_id,
pruefungstyp_kurzbz: pruefungstyp_kurzbz,
// pruefungstyp_kurzbz: pruefungstyp_kurzbz,
titel: titel,
beschreibung: beschreibung,
methode: methode,
@@ -1378,7 +1385,7 @@ function loadPruefungsDetails(prfId)
$("#beschreibung").val(result.pruefung.beschreibung);
$("#studiensemester").val(result.pruefung.studiensemester_kurzbz);
$("#pruefungsfenster").val(result.pruefung.pruefungsfenster_id);
$("#pruefungsTyp").val(result.pruefung.pruefungstyp_kurzbz);
// $("#pruefungsTyp").val(result.pruefung.pruefungstyp_kurzbz);
$("#methode").val(result.pruefung.methode);
var i = 0;
$("#termin1").closest("tr").remove();
@@ -1491,7 +1498,7 @@ function updatePruefung(prfId)
unmarkMissingFormEntry();
var studiensemester_kurzbz = $("#studiensemester").val();
var pruefungsfenster_id = $("#pruefungsfenster").val();
var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
// var pruefungstyp_kurzbz = $("#pruefungsTyp").val();
var titel = $("#titel").val();
var beschreibung = $("#beschreibung").val();
var methode = $("#methode").val();
@@ -1602,11 +1609,11 @@ function updatePruefung(prfId)
error = true;
markMissingFormEntry("pruefungsfenster");
}
if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
{
error = true;
markMissingFormEntry("pruefungsTyp");
}
// if(is_null(pruefungstyp_kurzbz) || is_undefined(pruefungstyp_kurzbz) || is_empty_String(pruefungstyp_kurzbz) || (pruefungstyp_kurzbz === "undefiniert"))
// {
// error = true;
// markMissingFormEntry("pruefungsTyp");
// }
if(is_null(titel) || is_undefined(titel) || is_empty_String(titel))
{
error = true;
@@ -1643,7 +1650,7 @@ function updatePruefung(prfId)
pruefung_id: prfId,
studiensemester_kurzbz: studiensemester_kurzbz,
pruefungsfenster_id: pruefungsfenster_id,
pruefungstyp_kurzbz: pruefungstyp_kurzbz,
// pruefungstyp_kurzbz: pruefungstyp_kurzbz,
titel: titel,
beschreibung: beschreibung,
methode: methode,
@@ -1807,7 +1814,7 @@ function loadAllPruefungen()
});
tableRow+="</td>";
tableRow += "<td>"+e.methode+"</td>";
tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
// tableRow += "<td>"+e.pruefungstyp_kurzbz+"</td>";
tableRow += "<td>"+e.einzeln+"</td>";
tableRow += "<td>"+e.mitarbeiter_uid+"</td>";
tableRow += "<td>"+e.storniert+"</td>";
@@ -1896,7 +1903,7 @@ function resetPruefungsverwaltung()
loadAllPruefungen();
$("#titel").val("");
$("#beschreibung").val("");
loadPruefungstypen("false");
// loadPruefungstypen("false");
loadStudiensemester();
$("#methode").val("");
resetLehrveranstaltungen();
File diff suppressed because it is too large Load Diff
+41 -28
View File
@@ -49,7 +49,7 @@ switch($method)
$data = getPruefungByLv($studiensemester, $uid);
break;
case 'getPruefungByLvFromStudiengang':
$studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL;
$studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL;
$data = getPruefungByLvFromStudiengang($studiensemester, $uid);
break;
case 'loadPruefung':
@@ -64,7 +64,7 @@ switch($method)
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
@@ -368,19 +368,19 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$stdsem = $studiensemester->getLastOrAktSemester(0);
$lv_besucht = false;
$studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id");
//Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben)
$maxAnzahlVersuche = 0;
//Defaulteinstellung für Code Note "unetnschuldigt ferngeblieben" (wird durch Addon "ktu" überschrieben)
$noteCode_uef = -1;
$addon = new addon();
foreach ($addon->aktive_addons as $a)
{
if($a === "ktu")
if($a === "ku")
{
require '../../../../addons/ktu/cis/prfVerwaltung_array.php';
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
@@ -389,7 +389,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
default:
$semCounter = 2;
break;
}
@@ -415,17 +415,29 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$i++;
}
while($i<=$semCounter && $lv_besucht === FALSE);
if(!$lv_besucht)
{
$data['error']='true';
$data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.';
return $data;
}
$pruefung->getPruefungen($uid, NULL, $lehrveranstaltung->lehrveranstaltung_id);
$anmeldung_moeglich = true;
$anzahlPruefungen = count($pruefung->result);
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
}
else
{
$pruefungstyp_kurzbz = null;
}
foreach($pruefung->result as $prf)
{
$note = new note($prf->note);
@@ -456,7 +468,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
}
}
}
if($anmeldung_moeglich)
{
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
@@ -470,6 +482,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
@@ -514,7 +527,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$data['errormsg']='Anmeldung auf Grund von Sperre nicht möglich.';
return $data;
}
$anrechnung = new anrechnung();
$lv_komp = new lehrveranstaltung($studienverpflichtung_id);
$person = new person();
@@ -548,18 +561,18 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anrechnung->new = true;
$anrechungSaveResult = $anrechnung->save();
}
else
else
{
$anrechungSaveResult = true;
}
if($anrechungSaveResult)
{
if($anrechnung->anrechnung_id == "")
$anmeldung->anrechnung_id = null;
else
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
@@ -784,7 +797,7 @@ function anmeldungBestaetigen($uid)
$datum = new datum();
$ort = new ort($termin->ort_kurzbz);
$pruefung = new pruefungCis($termin->pruefung_id);
$to = $anmeldung->uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = "Anmeldungsbestätigung zur Prüfung";
@@ -806,11 +819,11 @@ function anmeldungBestaetigen($uid)
$html .= "<br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>Link zur Anmeldung</a><br>";
$html .= "<br>";
$mail = new mail($to, $from, $subject,"Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.");
$mail->setHTMLContent($html);
$mail->send();
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
@@ -896,18 +909,18 @@ function getPruefungenStudiengang($uid, $aktStudiensemester)
}
/**
*
*
* @return typespeichert ein Kommentar zu einer Prüfungsanmeldung
*/
function saveKommentar()
{
$kommentar = $_REQUEST["kommentar"];
$pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"];
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungsanmeldung->kommentar = $kommentar;
if($pruefungsanmeldung->save())
{
{
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
@@ -933,9 +946,9 @@ function getAllFreieRaeume($terminId)
$teilnehmer = $pruefungstermin->getNumberOfParticipants();
$teilnehmer = $teilnehmer !== false ? $teilnehmer : 0;
$pruefungstermin->getAll($pruefungstermin->von, $pruefungstermin->bis, TRUE);
if($ort->search($datum_von[0], $datum_von[1], $datum_bis[1], null, $teilnehmer, true))
{
{
foreach($pruefungstermin->result as $termin)
{
if($termin->pruefungstermin_id != $pruefungstermin->pruefungstermin_id && !is_null($termin->ort_kurzbz))
@@ -945,7 +958,7 @@ function getAllFreieRaeume($terminId)
array_push($ort->result, $o);
}
}
usort($ort->result, "compareRaeume");
$data['result']=$ort->result;
$data['error']='false';
@@ -985,7 +998,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
$reserviert = true;
}
if(!$reserviert || $pruefungstermin->sammelklausur == TRUE)
{
{
$pruefung = new pruefungCis($pruefungstermin->pruefung_id);
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
if($ort_kurzbz === "buero")
@@ -1018,7 +1031,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
$reservierung->insertamum = date('Y-m-d G:i:s');
$reservierung->insertvon = $uid;
$reservierungError = false;
foreach($stunden as $h)
{
$reservierung->stunde = $h;
@@ -1028,7 +1041,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
}
}
if(!$reservierungError)
{
{
$pruefungstermin->ort_kurzbz = $reservierung->ort_kurzbz;
if($pruefungstermin->save(false))
{
@@ -1074,4 +1087,4 @@ function getLvKompatibel($lvid)
}
return $data;
}
?>
?>
+62 -55
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -29,8 +29,15 @@ require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/konto.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
//TODO
$uid = get_uid();
$db = new basis_db();
@@ -50,7 +57,7 @@ $studiensemester->getAll();
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -59,12 +66,12 @@ $studiensemester->getAll();
#pruefungen, #prfTermine {
width: 50%;
}
#details {
width: 50%;
/* margin-left: 1.5em;*/
}
#lvDetails, #prfDetails {
min-width: 40%;
margin-bottom: 1em;
@@ -72,21 +79,21 @@ $studiensemester->getAll();
float:left;
/*border: 1px solid black;*/
}
/* #prfDetails {
float:right;
}*/
#accordion {
width: 60%;
clear: left;
clear: right;
}
.titel {
font-weight: bold;
}
#message {
position: fixed;
bottom: 0px;
@@ -95,7 +102,7 @@ $studiensemester->getAll();
font-size: 1.5em;
font-weight: bold;
}
.columnheader1 {
width: 30%;
}
@@ -108,13 +115,13 @@ $studiensemester->getAll();
.columnheader4 {
width: 5%;
}
#accordion p {
margin: 0;
height: 24px;
}
</style>
</head>
<body>
<script>
@@ -122,7 +129,7 @@ $studiensemester->getAll();
$(document).ajaxSend(function(event, xhr, options){
count++;
});
$(document).ajaxComplete(function(event, xhr, settings){
count--;
//Wenn alle AJAX-Request fertig sind
@@ -135,7 +142,7 @@ $studiensemester->getAll();
$("#accordion").attr("style", "visibility: visible;");
}
});
$(document).ready(function(){
loadPruefungen();
loadPruefungenOfStudiengang();
@@ -146,7 +153,7 @@ $studiensemester->getAll();
width: "auto"
});
$("#dialog").dialog({ autoOpen: false });
$("#details").dialog({
modal: true,
autoOpen: false,
@@ -169,10 +176,10 @@ $studiensemester->getAll();
;
?>
</script>
<h1>Prüfungsanmeldung für <?php echo $benutzer->vorname." ".$benutzer->nachname." (".$uid.")"; ?></h1>
<h1><?php echo $p->t('pruefung/anmeldungFuer'); ?> <?php echo $benutzer->vorname." ".$benutzer->nachname." (".$uid.")"; ?></h1>
<?php
echo '<h3>Filter</h3>';
echo '<p>Studiensemester: ';
echo '<h3>'.$p->t('pruefung/filter').'</h3>';
echo '<p>'.$p->t('global/studiensemester').': ';
echo '<select id="filter_studiensemester" onchange="refresh();">';
$aktuellesSemester = $studiensemester->getaktorNext();
foreach($studiensemester->studiensemester as $sem)
@@ -187,51 +194,51 @@ $studiensemester->getAll();
}
}
echo '</select></p>';
?>
<div id="details" title="Details">
<div id="details" title="<?php echo $p->t('pruefung/details'); ?>">
<div id="lvDetails">
<h1>LV-Details</h1>
<span class="titel">Bezeichnung: </span><span id="lvBez"></span><br/>
<span class="titel">ECTS: </span><span id="lvEcts"></span><br/>
<h1><?php echo $p->t('pruefung/lvDetails'); ?></h1>
<span class="titel"><?php echo $p->t('global/bezeichnung'); ?>: </span><span id="lvBez"></span><br/>
<span class="titel"><?php echo $p->t('global/ects'); ?>: </span><span id="lvEcts"></span><br/>
</div>
<div id="prfDetails">
<h1>Prüfungsdetails</h1>
<span class="titel">Typ: </span><span id="prfTyp"></span><br/>
<span class="titel">Methode: </span><span id="prfMethode"></span><br/>
<span class="titel">Beschreibung: </span><span id="prfBeschreibung"></span><br/>
<h1><?php echo $p->t('pruefung/pruefungsDetails'); ?></h1>
<span class="titel"><?php echo $p->t('pruefung/typ'); ?>: </span><span id="prfTyp"></span><br/>
<span class="titel"><?php echo $p->t('pruefung/pruefungMethode'); ?>: </span><span id="prfMethode"></span><br/>
<span class="titel"><?php echo $p->t('global/beschreibung'); ?>: </span><span id="prfBeschreibung"></span><br/>
<span id="prfEinzeln"></span><br/>
<span class="titel" style="visibility: hidden;">Intervall: </span><span id="prfIntervall"></span><br/>
<span class="titel" style="visibility: hidden;"><?php echo $p->t('pruefung/intervall'); ?>: </span><span id="prfIntervall"></span><br/>
</div>
</div>
<div id="message"></div>
<div id="accordion" style="visibility: hidden;">
<h2>Besuchte Lehrveranstaltungen</h2>
<h2><?php echo $p->t('pruefung/besuchteLehrveranstaltungen'); ?></h2>
<div>
<table id="table1" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungen">
</tbody>
</table>
</table>
</div>
<h2>Lehrveranstaltungen von Studiengang</h2>
<h2><?php echo $p->t('pruefung/lvVonStudiengang'); ?></h2>
<div>
<table id="table2" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungenStudiengang">
@@ -239,15 +246,15 @@ $studiensemester->getAll();
</tbody>
</table>
</div>
<h2>Alle Lehrveranstaltungen</h2>
<h2><?php echo $p->t('pruefung/lvAlle'); ?></h2>
<div>
<table id="table3" class="tablesorter">
<thead>
<tr>
<th class="columnheader1">Insitut</th>
<th class="columnheader2">Lehrveranstaltung</th>
<th class="columnheader3">Termin</th>
<th class="columnheader4">freie Plätze</th>
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
</tr>
</thead>
<tbody id="pruefungenGesamt">
@@ -256,7 +263,7 @@ $studiensemester->getAll();
</table>
</div>
</div>
<div id="saveDialog" title="Anmeldung speichern">
<div id="saveDialog" title="<?php echo $p->t('pruefung/anmeldungSpeichern'); ?>">
<form id="saveAnmeldungForm">
<table id="neueAnmeldung">
<tr>
@@ -267,40 +274,40 @@ $studiensemester->getAll();
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Lehrveranstaltung: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/lehrveranstaltung'); ?>: </td>
<td>
<span id="lehrveranstaltung"></span>
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Von: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/von'); ?>: </td>
<td>
<span id="terminVon"></span>
</td>
</tr>
<tr>
<td style="vertical-align: top; font-weight: bold;">Bis: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/bis'); ?>: </td>
<td>
<span type="text" id="terminBis" disabled="true"></span>
</td>
</tr>
<?php if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true): ?>
<tr>
<td style="vertical-align: top; font-weight: bold;">Studienverpflichtung:* </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('pruefung/studienverpflichtung'); ?>:* </td>
<td>
<select id="studienverpflichtung"></select>
</td>
</tr>
<?php endif; ?>
<tr>
<td style="vertical-align: top; font-weight: bold;">Bemerkung: </td>
<td style="vertical-align: top; font-weight: bold;"><?php echo $p->t('global/anmerkung'); ?>: </td>
<td>
<textarea id="anmeldungBemerkung" rows="10" cols="20"></textarea>
</td>
</tr>
<tr>
<td><input type="button" value="Anmelden" onclick="saveAnmeldung();"></td>
<td><input type="button" value="<?php echo $p->t('global/anmelden'); ?>" onclick="saveAnmeldung();"></td>
</tr>
</table>
</form>
+45 -29
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$rechte = new benutzerberechtigung();
@@ -42,17 +50,17 @@ $rechte->getBerechtigungen($uid);
<head>
<meta charset="UTF-8">
<script src="../../../../include/js/jquery1.9.min.js"></script>
<style type="text/css">
<style type="text/css">
body {
margin: 0;
padding: 0;
}
* {
box-sizing: border-box;
-moz-box-sizing: border-box;
}
#page {
width: 210mm;
min-height: 297mm;
@@ -64,7 +72,7 @@ $rechte->getBerechtigungen($uid);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
font-family: Arial, Helvetica;
}
#subpage {
padding: 10mm;
border: 1px black solid;
@@ -109,12 +117,12 @@ $rechte->getBerechtigungen($uid);
line-height: 16pt;
font-size: 12pt;
}
@page {
size: A4;
margin: 0;
}
@media print {
html, body {
width: 210mm;
@@ -130,7 +138,7 @@ $rechte->getBerechtigungen($uid);
background: initial;
page-break-after: auto;
}
/*
* Workaround um beim Drucken jede zweite Zeile der Tabelle
* grau darzustellen. Standardmäßig werden von Browsern keine
@@ -139,14 +147,14 @@ $rechte->getBerechtigungen($uid);
tr:nth-child(odd) > td{
box-shadow: inset 0 0 0 1000px lightgrey;
}
//Veranlasst Chrome Hintergrundfarben zu drucken
body{
-webkit-print-color-adjust:exact;
background-color: #FFFFFF;
margin: 0;
}
//Anweisungen nur für Firefox
@-moz-document url-prefix() {
html, body {
@@ -169,26 +177,26 @@ $rechte->getBerechtigungen($uid);
</script>
<div id="page">
<div id="subpage">
<h1>Anmeldungsliste</h1>
<h1><?php echo $p->t('pruefung/anmeldungsliste'); ?></h1>
<?php
if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
$termin_id = filter_input(INPUT_GET,"termin_id");
$lehrveranstaltung_id = filter_input(INPUT_GET,"lehrveranstaltung_id");
$studiensemester = filter_input(INPUT_GET, "studiensemester");
if(is_null($lehrveranstaltung_id))
{
die('Fehlender Parameter lehrveranstaltung_id');
die($p->t('pruefung/fehlenderParam_lvid'));
}
else if(is_null($termin_id))
{
die('Fehlender Parameter termin_id');
die($p->t('pruefung/fehlenderParam_terminid'));
}
else if(is_null($studiensemester))
{
die('Fehlender Parameter studiensemester');
die($p->t('pruefung/fehlenderParam_studiensemester'));
}
else
{
@@ -208,19 +216,19 @@ $rechte->getBerechtigungen($uid);
$einzeln = TRUE;
$pruefungsintervall = $pruefung->pruefungsintervall;
}
}
?>
<span class="bold">Lehrveranstaltung: </span><span><?=$lehrveranstaltung->bezeichnung?></span><br/>
<span class="bold">Studiensemester: </span><span><?=$stdsem->bezeichnung?></span><br/>
<span class="bold">Prüfer: </span><span><?=$mitarbeiter->getFullName(FALSE)?></span><br/>
<span class="bold"><?php echo $p->t('global/lehrveranstaltung'); ?>: </span><span><?=$lehrveranstaltung->bezeichnung?></span><br/>
<span class="bold"><?php echo $p->t('global/studiensemester'); ?>: </span><span><?=$stdsem->bezeichnung?></span><br/>
<span class="bold"><?php echo $p->t('pruefung/pruefer'); ?>: </span><span><?=$mitarbeiter->getFullName(FALSE)?></span><br/>
<table id="liste">
<thead>
<tr>
<th>#</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Matrikelnummer</th>
<th>Datum</th>
<th><?php echo $p->t('global/vorname'); ?></th>
<th><?php echo $p->t('global/nachname'); ?></th>
<th><?php echo $p->t('global/matrikelnummer'); ?></th>
<th><?php echo $p->t('global/datum'); ?></th>
</tr>
</thead>
<tbody>
@@ -231,7 +239,7 @@ $rechte->getBerechtigungen($uid);
{
$student = new student($anmeldung->uid);
$prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id);
if($einzeln)
{
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
@@ -255,10 +263,18 @@ $rechte->getBerechtigungen($uid);
?>
</tbody>
<?php
}
else
{
?>
<span><?php echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden'); ?></span><br/>
<?php
}
}
?>
</table>
</div>
</div>
</body>
</html>
</html>
+67 -59
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -27,6 +27,14 @@ require_once('../../../../include/functions.inc.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -43,11 +51,11 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungsanmeldung Verwaltung</title>
<title><?php echo $p->t('pruefung/anmeldungenVerwaltenTitle'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -57,17 +65,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
body {
padding: 10px 0 0 10px;
}
#stgWrapper {
position: absolute;
height: 70px;
width: 850px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#studiengaenge {
/*border: 1px solid black;*/
width: 94%;
@@ -78,19 +86,19 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#prfWrapper {
position: absolute;
height: 70%;
width: 300px;
top: 180px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#pruefungen {
/*border: 1px solid black;*/
width: 94%;
@@ -101,7 +109,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#anmWrapper {
position: absolute;
/*top: 45px;*/
@@ -110,25 +118,25 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
width: 500px;
height: 70%;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#anmeldungen {
height: 100%;
overflow: auto;
overflow-x: hidden;
}
#anmeldungen > * {
padding: 0.5em;
}
#raum > * {
margin-bottom: 0.5em;
}
#message {
position: fixed;
bottom: 0px;
@@ -137,51 +145,51 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
font-size: 1.5em;
font-weight: bold;
}
#sortable {
list-style-type: none;
margin: 0;
padding: 0;
#sortable {
list-style-type: none;
margin: 0;
padding: 0;
width: 100%;
}
#sortable li {
margin: 0 3px 3px 3px;
padding: 0.2em 0.4em 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
#sortable li {
margin: 0 3px 3px 3px;
padding: 0.2em 0.4em 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
height: 18px;
list-style-image: none;
display: block;
}
#sortable li span {
/*position: absolute;*/
margin-left: -1.3em;
/*position: absolute;*/
margin-left: -1.3em;
float:left;
}
.resultOK {
color: green;
}
.resultNotOK {
color: red;
}
#sortable li a {
float: left;
}
#sortable li div {
float: right;
margin-left: 5px;
font-size: 0.8em;
}
.anmerkungInfo {
text-align: right;
width: 10%;
}
#progressbar {
position: fixed;
width: 300px;
@@ -199,17 +207,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
.studiengang {
font-size: 1em;
font-weight: bold;
}
#studiengaenge > div {
float: left;
width: 50%;
}
</style>
</head>
<body>
@@ -225,17 +233,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
});
});
</script>
<h1>Anmeldungen Verwalten</h1>
<h1><?php echo $p->t('pruefung/anmeldungenVerwalten'); ?></h1>
<div id='stgWrapper'>
<div id='studiengaenge'>
<div>
<h2>Studiengänge</h2>
<h2><?php echo $p->t('global/studiengang'); ?></h2>
<div id='stgListe'>
</div>
</div>
<div>
<h2>Studiensemester</h2>
<h2><?php echo $p->t('global/studiensemester'); ?></h2>
<?php
echo '<select id="filter_studiensemester" onchange="loadPruefungStudiengang();" style="visibility: hidden;">';
$aktuellesSemester = $studiensemester->getaktorNext();
@@ -259,7 +267,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='prfWrapper'>
<div id='pruefungen'>
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<ul id="pruefungenListe">
</ul>
@@ -267,9 +275,9 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='anmWrapper'>
<div id="anmeldungen">
<h2>Anmeldungen</h2>
<h2><?php echo $p->t('pruefung/pruefungsbewertungAnmeldungen'); ?></h2>
<div id="anmeldung_hinzufuegen">
</div>
<div id="anmeldeDaten">
@@ -278,20 +286,20 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id="kommentar">
</div>
<div id="kommentarSpeichernButton">
</div>
<div id="raumLink">
</div>
<div id="listeDrucken">
</div>
<div id="raumDialog">
<div id="raum">
</div>
<div id="raumSpeichernButton">
@@ -299,7 +307,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
</div>
</div>
<div id="message"></div>
<div id="progressbar"></div>
</body>
+32 -19
View File
@@ -17,6 +17,14 @@ require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
@@ -43,7 +51,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = getPruefungMitarbeiter($mitarbeiter_uid);
@@ -53,7 +61,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = getNoten();
@@ -73,7 +81,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$note = filter_input(INPUT_POST, 'note');
@@ -96,7 +104,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
@@ -109,7 +117,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = filter_input(INPUT_POST, 'pruefung_id');
@@ -120,7 +128,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefungsanmeldung_id = filter_input(INPUT_POST, 'pruefungsanmeldung_id');
@@ -131,7 +139,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
@@ -150,7 +158,8 @@ echo json_encode($data);
* @return Array
*/
function getPruefungMitarbeiter($uid = null)
{
{
global $p;
$lehrveranstaltung = new lehrveranstaltung();
if($uid !== null)
{
@@ -183,7 +192,7 @@ function getPruefungMitarbeiter($uid = null)
else
{
$data['error']='true';
$data['errormsg']="Keine Prüfungen vorhanden.";
$data['errormsg']=$p->t('pruefung/keinePruefungenVorhanden');
}
return $data;
}
@@ -224,6 +233,7 @@ function getNoten()
*/
function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid, $note, $pruefung_id, $datum, $anmerkung, $pruefungsanmeldung_id, $uid)
{
global $p;
$pruefungCis = new pruefungCis($pruefung_id);
$lehrveranstaltung = new lehrveranstaltung();
$lehreinheiten = $lehrveranstaltung->getLehreinheitenOfLv($lehrveranstaltung_id, $student_uid);
@@ -231,20 +241,20 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
$pruefung->new = true;
if(!empty($lehreinheiten))
{
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pruefung->lehreinheit_id = $lehreinheiten[0];
$pruefung->student_uid = $student_uid;
$pruefung->mitarbeiter_uid = $mitarbeiter_uid;
$pruefung->note = $note;
$pruefung->pruefungstyp_kurzbz = $pruefungCis->pruefungstyp_kurzbz;
$pruefung->pruefungstyp_kurzbz = $pruefungsanmeldung->pruefungstyp_kurzbz;
$pruefung->datum = $datum;
$pruefung->anmerkung = $anmerkung;
$pruefung->pruefungsanmeldung_id = $pruefungsanmeldung_id;
$pruefung->insertvon = $uid;
$pruefung->insertamum = date('Y-m-d H:i:s');
$pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$datum = new datum();
// var_dump(date("Y-m-d", time()));
// var_dump($pruefungstermin->von);
@@ -265,15 +275,16 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
else
{
$data['error']='true';
$data['errormsg']="Prüfungstermin liegt nicht in der Vergangenheit.";
$data['errormsg']=$p->t('pruefung/terminNichtInDerVergangenheit');
//$data['errormsg']='Nicht in der Vergangenheit';
}
}
else
else
{
$data['error']='true';
$data['errormsg']="Keine Lehreinheiten vorhanden.";
$data['errormsg']=$p->t('pruefung/keineLehreinheitenVorhanden');
}
return $data;
}
@@ -286,6 +297,7 @@ function saveBeurteilung($lehrveranstaltung_id, $student_uid, $mitarbeiter_uid,
*/
function updateBeurteilung($pruefung_id, $note, $uid, $anmerkung)
{
global $p;
$pruefung = new pruefung($pruefung_id);
$pruefung->new = FALSE;
$pruefung->note = $note;
@@ -334,6 +346,7 @@ function getBeurteilung($pruefungsanmeldung_id)
*/
function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
{
global $p;
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($anmeldungen as $a)
@@ -363,8 +376,8 @@ function getAnmeldungenTermin($lehrveranstaltung_id, $pruefungstermin_id)
}
else
{
$data['errormsg']= 'Keine Anmeldungen vorhanden';
$data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden');
}
}
return $data;
}
}
+39 -31
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -53,7 +61,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefung.js.php"></script>
<script src="./pruefungsbewertung.js"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
@@ -63,17 +71,17 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
body {
padding: 10px 0 0 10px;
}
#prfWrapper {
position: absolute;
height: 80%;
width: 300px;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
//border-radius: 25px;
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#pruefungen {
/*border: 1px solid black;*/
width: 94%;
@@ -84,7 +92,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
overflow: auto;
overflow-x: hidden;
}
#anmWrapper {
position: absolute;
/*top: 45px;*/
@@ -92,21 +100,21 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
width: 600px;
height: 80%;
padding: 1.8em 1.5em 1.8em 1em;
border-radius: 25px;
/*border: 1px solid black;*/
box-shadow: 0em 0em 2em 0.5em #888888 inset;
/*border-radius: 25px;*/
border: 1px solid #dddddd;
/*box-shadow: 0em 0em 2em 0.5em #888888 inset;*/
}
#anmeldungen {
height: 100%;
overflow: auto;
overflow-x: hidden;
}
#anmeldungen > div, h2 {
padding: 0.5em;
}
#message {
position: fixed;
top: 0px;
@@ -116,12 +124,12 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
@@ -130,7 +138,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
.anmeldung {
font-size: 1.2em;
border-bottom: 1px solid black;
@@ -142,28 +150,28 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
margin: 0 1em 0 0;
float: left;
}
.anmeldung:last-child {
clear: both;
}
.anmeldung div:first-child {
width: 250px;
height: 100%;
}
.saved {
background-color: green;
}
.unsaved {
background-color: red;
}
#wrapper {
display: none;
}
#lektor {
margin: 0 0 1em 0;
}
@@ -209,7 +217,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
});
</script>
<div>
<h1>Prüfungsbewertung</h1>
<h1><?php echo $p->t('pruefung/pruefungsbewertungTitle'); ?></h1>
<div>
<?php
if(!$rechte->isBerechtigt('lehre/pruefungsbeurteilungAdmin'))
@@ -224,7 +232,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
}
else
{
echo '<span width="116px">Lektor: </span>';
echo '<span width="116px">'.$p->t('pruefung/pruefungLektor').': </span>';
echo '<input placeholder="UID" type="text" id="lektor" value="" size="30"/>';
echo '<input type="hidden" id="uid" value="" />';
echo '<input type="hidden" id="mitarbeiter_uid" value="" />';
@@ -234,7 +242,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<div id="wrapper">
<div id='prfWrapper'>
<div id='pruefungen'>
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<ul id="pruefungenListe">
</ul>
@@ -242,14 +250,14 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
</div>
<div id='anmWrapper'>
<div id="anmeldungen">
<h2>Anmeldungen</h2>
<h2><?php echo $p->t('pruefung/pruefungsbewertungAnmeldungen'); ?></h2>
<div id="anmeldeDaten">
</div>
</div>
</div>
</div>
<div id="message"></div>
<div id="progressbar"></div>
+94 -86
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -29,6 +29,14 @@ require_once('../../../../include/organisationseinheit.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -42,7 +50,7 @@ function compareOe($a, $b)
{
if($a->organisationseinheittyp_kurzbz == $b->organisationseinheittyp_kurzbz)
return 0;
return ($a->organisationseinheittyp_kurzbz < $b->organisationseinheittyp_kurzbz) ? -1 : 1;
}
@@ -50,7 +58,7 @@ function compareOe($a, $b)
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungsfenster anlegen</title>
<title><?php echo $p->t('pruefung/titlePruefungsfenster') ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
@@ -83,7 +91,7 @@ $oe = $rechte->getOEkurzbz("lehre/pruefungsfenster");
$studiensemester = new studiensemester();
$studiensemester->getAll();
if (isset($_POST["method"]) && $_POST["method"] == "save")
if (isset($_POST["method"]) && $_POST["method"] == "save")
{
$method = $_POST["method"];
$studiensemester_selected = (isset($_POST["studiensemester"]) ? $_POST["studiensemester"] : "");
@@ -107,30 +115,30 @@ if (isset($_POST["method"]) && $_POST["method"] == "save")
$pruefungsfenster->ende = $endDate;
if ($pruefungsfenster->save())
{
echo "Datensatz erfolgreich gespeichert";
echo $p->t('pruefung/erfolgreichgespeichert');
}
else {
echo "Fehler: ".$pruefungsfenster->errormsg;
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
}
// }
// else
// }
// else
// {
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
// }
}
}
else
{
echo "Fehler: Enddatum liegt in der Vergangenheit.";
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
}
}
else
{
echo "Fehler: Enddatum liegt nicht nach dem Startdatum.";
}
}
else
else
{
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
}
}
else
{
echo "Fehler: Datumseingabe nicht korrekt.";
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
}
}
else if(isset($_POST["method"]) && $_POST["method"] == "update")
@@ -151,44 +159,44 @@ else if(isset($_POST["method"]) && $_POST["method"] == "update")
$pruefungsfenster_id = $_POST["id"];
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
{
{
$pruefungsfenster->studiensemester_kurzbz = $studiensemester_selected;
$pruefungsfenster->oe_kurzbz = $oe_kurzbz;
$pruefungsfenster->start = $startDate;
$pruefungsfenster->ende = $endDate;
if ($pruefungsfenster->save())
{
echo "Datensatz erfolgreich geändert.";
echo $p->t('pruefung/erfolgreichgeaendert');
}
else {
echo "Fehler: ".$pruefungsfenster->errormsg;
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
}
}
else
{
echo "Keine Berechtigung zum Ändern dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumAendernDesDatensatzes');
}
// }
// else
// }
// else
// {
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
// }
}
}
else
{
echo "Fehler: Enddatum liegt in der Vergangenheit.";
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
}
}
else
{
echo "Fehler: Enddatum liegt nicht nach dem Startdatum.";
}
}
else
else
{
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
}
}
else
{
echo "Fehler: Datumseingabe nicht korrekt.";
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
}
}
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="update")
@@ -198,41 +206,41 @@ else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_
$pruefungsfenster->load($pruefungsfenster_id);
if(!in_array($pruefungsfenster->oe_kurzbz, $oe))
{
echo "Keine Berechtigung zum Anzeigen dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumAnzeigenDesDatensatzes');
$pruefungsfenster = new pruefungsfenster();
}
$method = $_GET["method"];
}
}
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="delete")
{
{
$pruefungsfenster_id = $_GET["id"];
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
{
if(!$pruefungsfenster->hasPruefungen($pruefungsfenster_id) && $pruefungsfenster->errormsg === null)
{
if($pruefungsfenster->delete($pruefungsfenster_id))
{
echo "Datensatz erfolgreich gelöscht.";
}
echo $p->t('pruefung/erfolgreichgeloescht');
}
else
{
echo "Fehler: ".$pruefungsfenster->errormsg;
}
}
else
{
echo "Prüfungsfenster konnte nicht gelöscht werden, da Prüfungen verknüpft sind.";
echo $p->t('pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen');
}
$method = $_GET["method"];
}
else
{
echo "Keine Berechtigung zum Löschen dieses Datensatzes.";
echo $p->t('pruefung/keineBerechtigungZumLoeschenDesDatensatzes');
}
}
@@ -240,9 +248,9 @@ $prfFenster = new pruefungsfenster();
$prfFenster->getAll("start");
if($method != "update")
{
?>
<h1>Prüfungsfenster-Verwaltung</h1>
<h2>Neues Prüfungsfenster anlegen</h2>
?>
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
<h2><?php echo $p->t('pruefung/neuesPruefungsfensterAnlegen'); ?></h2>
<div>
<form method="POST" action="pruefungsfenster_anlegen.php">
<table>
@@ -250,12 +258,12 @@ if($method != "update")
<td><input type="hidden" name="method" value="save"></td>
</tr>
<tr>
<td>Studiensemester: </td>
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
<td>
<select id="studiensemester" name="studiensemester">
<?php
$aktuellesSemester = $studiensemester->getSemesterFromDatum(date("Y-m-d"));
foreach ($studiensemester->studiensemester as $result)
foreach ($studiensemester->studiensemester as $result)
{
if($aktuellesSemester == $result->studiensemester_kurzbz)
{
@@ -271,23 +279,23 @@ if($method != "update")
</td>
</tr>
<tr>
<td>Organisationseinheit: </td>
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
<td>
<select id="oe_kurzbz" name="oe_kurzbz">
<?php
$oe_array = array();
foreach ($oe as $result)
foreach ($oe as $result)
{
$organisationseinheit = new organisationseinheit();
$organisationseinheit->load($result);
array_push($oe_array, $organisationseinheit);
}
usort($oe_array, "compareOe");
foreach ($oe_array as $result)
foreach ($oe_array as $result)
{
echo '<option value="'.$result->oe_kurzbz.'">'.$result->organisationseinheittyp_kurzbz.' '.$result->bezeichnung.'</option>';
}
@@ -296,15 +304,15 @@ if($method != "update")
</td>
</tr>
<tr>
<td>Start: </td>
<td><?php echo $p->t('pruefung/start'); ?>: </td>
<td><input type="text" id="startDate" name="startDate"></td>
</tr>
<tr>
<td>Ende: </td>
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
<td><input type="text" id="endDate" name="endDate"></td>
</tr>
<tr>
<td><input type="submit" value="speichern"></td>
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
</tr>
</table>
</form>
@@ -314,8 +322,8 @@ if($method != "update")
else
{
?>
<h1>Prüfungsfenster-Verwaltung</h1>
<h2>Prüfungsfenster bearbeiten</h2>
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
<div>
<form method="POST" action="pruefungsfenster_anlegen.php">
<table>
@@ -326,11 +334,11 @@ else
<td><input type="hidden" name="id" value="<?php echo $pruefungsfenster->pruefungsfenster_id; ?>"></td>
</tr>
<tr>
<td>Studiensemester: </td>
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
<td>
<select id="studiensemester" name="studiensemester">
<?php
foreach ($studiensemester->studiensemester as $result)
foreach ($studiensemester->studiensemester as $result)
{
if($result->studiensemester_kurzbz == $pruefungsfenster->studiensemester_kurzbz)
{
@@ -346,11 +354,11 @@ else
</td>
</tr>
<tr>
<td>Organisationseinheit: </td>
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
<td>
<select id="oe_kurzbz" name="oe_kurzbz">
<?php
foreach ($oe as $result)
foreach ($oe as $result)
{
if($result == $pruefungsfenster->oe_kurzbz)
{
@@ -366,16 +374,16 @@ else
</td>
</tr>
<tr>
<td>Start: </td>
<td><?php echo $p->t('pruefung/start'); ?>: </td>
<td><input type="text" id="startDate" name="startDate" value="<?php echo $pruefungsfenster->start; ?>"></td>
</tr>
<tr>
<td>Ende: </td>
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
<td><input type="text" id="endDate" name="endDate" value="<?php echo $pruefungsfenster->ende; ?>"></td>
</tr>
<tr>
<td><input type="submit" value="Speichern"></td>
<td><a href="pruefungsfenster_anlegen.php"><input type="button" value="Abbrechen"></a></td>
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
<td><a href="pruefungsfenster_anlegen.php"><input type="button" value="<?php echo $p->t('global/abbrechen'); ?>"></a></td>
</tr>
</table>
</form>
@@ -390,21 +398,21 @@ else
if((isset($_GET["id"]) && $method!="update") || !isset($_GET["id"]))
{
?>
<h2>Prüfungsfenster bearbeiten</h2>
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
<div style="width: 50%;">
<?php
<?php
if(!empty($prfFenster->result)){
?>
<table class="tablesorter" id="prfTable">
<thead>
<tr>
<th>Studiensemester</th>
<th>Organisationseinheit</th>
<th>Startdatum</th>
<th>Enddatum</th>
<th>Bearbeiten</th>
<th>Löschen</th>
<th><?php echo $p->t('global/studiensemester'); ?></th>
<th><?php echo $p->t('global/organisationseinheit'); ?></th>
<th><?php echo $p->t('pruefung/start'); ?></th>
<th><?php echo $p->t('pruefung/ende'); ?></th>
<th><?php echo $p->t('global/bearbeiten'); ?></th>
<th><?php echo $p->t('global/loeschen'); ?></th>
</tr>
</thead>
<tbody>
@@ -415,14 +423,14 @@ else
if(in_array($result->oe_kurzbz, $oe))
{
$organisationseinheit->load($result->oe_kurzbz);
echo
echo
'<tr>
<td>'.$result->studiensemester_kurzbz.'</td>
<td>'.$organisationseinheit->organisationseinheittyp_kurzbz." ".$organisationseinheit->bezeichnung.'</td>
<td>'.$result->start.'</td>
<td>'.$result->ende.'</td>
<td><a href="pruefungsfenster_anlegen.php?method=update&id='.$result->pruefungsfenster_id.'">bearbeiten</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=delete&id='.$result->pruefungsfenster_id.'">schen</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=update&id='.$result->pruefungsfenster_id.'">'.$p->t('global/bearbeiten').'</a></td>
<td><a href="pruefungsfenster_anlegen.php?method=delete&id='.$result->pruefungsfenster_id.'">'. $p->t('global/loeschen').'</a></td>
</tr>';
}
}
@@ -433,14 +441,14 @@ else
}
else
{
echo
echo
'<tr>
<td>Keine Prüfungsfenster gespeichert.</td>
<td>'.$p->t('pruefung/keinePruefungsfensterGespeichert').'</td>
</tr>';
}
?>
</div>
<?php
<?php
}
?>
</body>
+25 -15
View File
@@ -15,6 +15,14 @@ require_once('../../../../include/datum.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
@@ -66,7 +74,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = savePruefungstermin($mitarbeiter_uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall);
@@ -105,7 +113,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$data = updatePruefungstermin($mitarbeiter_uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall);
@@ -115,7 +123,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$lvId = $_POST["lehrveranstaltung_id"];
@@ -127,7 +135,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
@@ -138,7 +146,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
$pruefung_id = $_REQUEST["pruefung_id"];
@@ -158,7 +166,7 @@ switch($method)
{
$data['result']='false';
$data['error']='true';
$data['errormsg']='Sie haben keine Berechtigung.';
$data['errormsg']=$p->t('global/keineBerechtigung');
break;
}
break;
@@ -255,10 +263,11 @@ function getPruefungsfensterByStudiensemester($studiensemester_kurzbz)
*/
function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $pruefungsintervall)
{
global $p;
if($lehrveranstaltungen === null)
{
$data['error']='true';
$data['errormsg']="Keine Lehrverantaltung angegeben.";
$data['errormsg']=$p->t('pruefung/keineLvAngegeben');
return $data;
}
$termineArray = array();
@@ -282,7 +291,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
else
{
$data['error']='true';
$data['errormsg']="Kollision mit anderem Termin.";
$data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin');
return $data;
}
// }
@@ -292,7 +301,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
// $data['errormsg']="Termin ist nicht innerhalb des Prüfungsfensters.";
// return $data;
// }
}
}
$pruefung = new pruefungCis();
$pruefung->termine = $termineArray;
@@ -313,7 +322,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
array_push($pruefung->lehrveranstaltungen, $lv);
}
}
if($pruefung->save(true))
{
$data['result']="true";
@@ -397,12 +406,13 @@ function getLehrveranstaltungenByMitarbeiter($mitarbeiter_uid, $studiensemester_
*/
function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pruefungsfenster_id, $pruefungstyp_kurzbz, $titel, $beschreibung, $methode, $einzeln, $lehrveranstaltungen, $termine, $termineNeu, $pruefungsintervall)
{
global $p;
$pruefungsfenster = new pruefungsfenster();
$pruefungsfenster->load($pruefungsfenster_id);
$datum = new datum();
$pruefung = new pruefungCis();
$pruefung->load($pruefung_id);
if($termineNeu !== null)
{
$termineNeuArray = array();
@@ -426,7 +436,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
else
{
$data['error']='true';
$data['errormsg']="Kollision mit anderem Termin.";
$data['errormsg']=$p->t('pruefung/kollisionMitAnderemTermin');
return $data;
}
// }
@@ -442,7 +452,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
$pruefung->saveTerminPruefung($pruefung_id, $t->beginn, $t->ende, $t->max, $t->min, $t->sammelklausur);
}
}
if($termine !== null)
{
$termineArray = array();
@@ -474,7 +484,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
}
$pruefung->termine = $termineArray;
}
$pruefung->mitarbeiter_uid = $uid;
$pruefung->studiensemester_kurzbz = $studiensemester_kurzbz;
$pruefung->pruefungsfenster_id = $pruefungsfenster_id;
@@ -661,4 +671,4 @@ function checkCollision($uid, $beginn, $ende)
}
return false;
}
?>
?>
+50 -42
View File
@@ -2,22 +2,22 @@
<?php
/*
* Copyright 2014 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 2 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Stefan Puraner <puraner@technikum-wien.at>
*/
@@ -33,6 +33,14 @@ require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$uid = get_uid();
$db = new basis_db();
@@ -49,11 +57,11 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
<html>
<head>
<meta charset="UTF-8">
<title>Prüfungstermin festlegen</title>
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -68,12 +76,12 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
@@ -82,7 +90,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
#prfDetails, #prfVerwaltung {
margin: 1em;
}
@@ -142,7 +150,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
});
</script>
<div id="prfVerwaltung">
<h1>Prüfungen verwalten</h1>
<h1><?php echo $p->t('pruefung/pruefungenVerwalten'); ?></h1>
<table>
<tr>
<?php
@@ -160,7 +168,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
}
else
{
echo '<td width="116px">Lektor:</td>';
echo '<td width="116px">'.$p->t('pruefung/pruefungLektor').':</td>';
echo '<td width="250px"><input placeholder="UID" type="text" id="lektor" value="" size="30"/></td>';
echo '<input type="hidden" id="uid" value="" />';
echo '<input type="hidden" id="mitarbeiter_uid" value="" />';
@@ -169,54 +177,54 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</tr>
</table>
<form method="post" action="pruefungstermin_festlegen.php" style="display: none;">
<input type="hidden" name="method" value="save">
<table>
<tr>
<td>Titel:</td>
<td><?php echo $p->t('pruefung/pruefungTitel'); ?>:</td>
<td>
<input id='titel' type="text" name="titel" size="30">
</td>
</tr>
<tr>
<td style="vertical-align: top;">Beschreibung:</td>
<td style="vertical-align: top;"><?php echo $p->t('global/beschreibung'); ?>:</td>
<td>
<textarea id='beschreibung' name="beschreibung" rows="5" cols="20"></textarea>
</td>
</tr>
<tr>
<td>Studiensemester:</td>
<td><?php echo $p->t('global/studiensemester'); ?>:</td>
<td>
<select id="studiensemester" name="studiensemester" onchange="loadPruefungsfenster();" onload="loadPruefungsfenster();">
</select>
</td>
</tr>
<tr>
<td>Prüfungsfenster:</td>
<td><?php echo $p->t('pruefung/pruefungsfenster'); ?>:</td>
<td>
<select id="pruefungsfenster" name="pruefungsfenster" onchange="setDatePicker(this);">
<!--Daten werden durch JavaScript geladen-->
</select>
</td>
</tr>
<tr>
<!--<tr>
<td>Prüfungstyp:</td>
<td>
<select id='pruefungsTyp' name="pruefungsTyp">
<!-- Daten werden per JavaScript geladen-->
</select>
</td>
</tr>
</tr>-->
<tr>
<td style="vertical-align: top;">Methode:</td>
<td style="vertical-align: top;"><?php echo $p->t('pruefung/pruefungMethode'); ?>:</td>
<td><textarea id='methode' placeholder="Multiple Choice, etc." rows="5" cols="20" name="methode"></textarea></td>
</tr>
<tr>
<td>Einzelprüfung:</td>
<td><?php echo $p->t('pruefung/pruefungEinzelpruefung'); ?>:</td>
<td><input id='einzeln' type="checkbox" name="einzelpruefung"></td>
</tr>
<tr style="visibility:hidden;">
<td>Prüfungsintervall:</td>
<td><?php echo $p->t('pruefung/pruefungIntervall'); ?>:</td>
<td>
<select id="pruefungsintervall">
<option value="15">15</option>
@@ -226,7 +234,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lehrveranstaltungen:</td>
<td style="vertical-align: top;"><?php echo $p->t('global/lehrveranstaltung'); ?>:</td>
<td>
<div id="lvDropdowns">
<select id="lvDropdown1" onchange="lehrveranstaltungDropdownhinzufuegen(this, false);" name="lv[]">
@@ -236,18 +244,18 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a name="termin">Termin:</a></td>
<td style="vertical-align: top;"><a name="termin"><?php echo $p->t('pruefung/pruefungTermin'); ?>:</a></td>
<td>
<div>
<table width="500px" style="text-align: right;">
<thead>
<tr>
<th>Datum</th>
<th>Von</th>
<th>bis</th>
<th>min. Teilnehmer</th>
<th>max. Teilnehmer</th>
<th>Sammelklausur</th>
<th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('global/von'); ?></th>
<th><?php echo $p->t('global/bis'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMinTeilnehmer'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMaxTeilnehmer'); ?></th>
<th><?php echo $p->t('pruefung/pruefungSammelklausur'); ?></th>
<th></th>
</tr>
</thead>
@@ -278,30 +286,30 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
</tbody>
</table>
</div>
<a href="#termin" onclick="terminHinzufuegen();">Termin hinzufügen</a>
<a href="#termin" onclick="terminHinzufuegen();"><?php echo $p->t('pruefung/pruefungTerminHinzufuegen'); ?></a>
</td>
</tr>
<tr>
<td>&nbsp;</td><td><input id="buttonSave" type="button" value="Speichern" onclick='savePruefungstermin();'></td>
<td>&nbsp;</td><td><input id="buttonSave" type="button" value="<?php echo $p->t('global/speichern'); ?>" onclick='savePruefungstermin();'></td>
</tr>
</table>
</form>
</div>
<div id="prfDetails">
<h2>Prüfungen</h2>
<h2><?php echo $p->t('pruefung/pruefungPruefungenTitle'); ?></h2>
<div style="width: 75%;">
<table class="tablesorter" id="prfTable">
<thead>
<tr>
<th>Titel</th>
<th>Studiensemester</th>
<th>Lehrveranstaltungen</th>
<th>Termine</th>
<th>Methode</th>
<th>Prüfungstyp</th>
<th>Einzelprüfung</th>
<th>Mitarbeiter</th>
<th>storniert</th>
<th><?php echo $p->t('pruefung/pruefungTitel'); ?></th>
<th><?php echo $p->t('global/studiensemester'); ?></th>
<th><?php echo $p->t('global/lehrveranstaltung'); ?></th>
<th><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMethode'); ?></th>
<th><?php echo $p->t('pruefung/pruefungTyp'); ?></th>
<th><?php echo $p->t('pruefung/pruefungEinzelpruefung'); ?></th>
<th><?php echo $p->t('pruefung/pruefungMitarbeiter'); ?></th>
<th><?php echo $p->t('pruefung/storniert'); ?></th>
</tr>
</thead>
<tbody>
+44 -2
View File
@@ -431,7 +431,7 @@ function drawTree($tree, $depth)
echo $icon." ".$termine." <a href=\"#\" class='Item' onClick=\"javascript:window.open('../lehre/ects/preview.php?lv=$row_tree->lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung."</a>";
else
// Bezeichnung der Lehrveranstaltung
echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung;
echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')';
echo $bende.'</td>';
// Semester
@@ -445,6 +445,10 @@ function drawTree($tree, $depth)
echo '<td>';
// Note zu dieser LV vorhanden?
$lv_kompatibel = new lehrveranstaltung();
$kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
if(isset($noten_arr[$row_tree->lehrveranstaltung_id]))
{
// Positive Note fuer diese LV vorhanden?
@@ -460,6 +464,27 @@ function drawTree($tree, $depth)
else
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
//check if compatible course has grade
elseif(count($kompatibleLVs) > 0)
{
foreach($kompatibleLVs as $komp)
{
if(isset($noten_arr[$komp]))
{
$positiv=false;
foreach($noten_arr[$komp] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
if($positiv)
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
else
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
}
else
{
if($abgeschlossen)
@@ -495,6 +520,19 @@ function drawTree($tree, $depth)
else
$tdinhalt .= '<span class="error">'.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'</span>';
}
elseif(count($kompatibleLVs) > 0)
{
foreach($kompatibleLVs as $komp)
{
if(isset($noten_arr[$komp][$stsem]))
{
if($note_pruef_arr[$noten_arr[$komp][$stsem]]->positiv)
$tdinhalt .= '<span class="ok">'.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.'</span>';
else
$tdinhalt .= '<span class="error">'.$note_pruef_arr[$noten_arr[$komp][$stsem]]->anmerkung.'</span>';
}
}
}
else
{
// Angebot der LV und der Kompatiblen pruefen
@@ -564,7 +602,7 @@ function drawTree($tree, $depth)
$tdclass[]='angebot';
if($angemeldet)
{
$tdinhalt.= '<a href="#" onclick="OpenAnmeldung(\''.$row_tree->lehrveranstaltung_id.'\',\''.$stsem.'\'); return false;"><img src="../../../skin/images/anmelden.png" title="angemeldet" /></a>';
$tdinhalt.= '<a href="#" onclick="OpenAnmeldung(\''.$row_tree->lehrveranstaltung_id.'\',\''.$stsem.'\'); return false;"><img src="../../../skin/images/ja.png" title="'.$p->t('studienplan/legendeAngemeldet').'" /></a>';
}
else
{
@@ -615,6 +653,10 @@ echo '<br><br>'.$p->t('studienplan/legende').':<br>
<td align="center"><img src="../../../skin/images/anmelden.png"></td>
<td>'.$p->t('studienplan/Anmeldung').'</td>
</tr>
<tr>
<td align="center"><img src="../../../skin/images/ja.png"></td>
<td>'.$p->t('studienplan/legendeAngemeldet').'</td>
</tr>
<tr>
<td align="center"><img src="../../../skin/images/not-available.png"></td>
<td>'.$p->t('studienplan/legendeLock').'</td>
+69 -1
View File
@@ -42,7 +42,75 @@ $rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/cms'))
die($rechte->errormsg);
$berechtigte_oe = $rechte->getOEkurzbz('basis/cms')
$berechtigte_oe = $rechte->getOEkurzbz('basis/cms');
// Speichern eines Contents per Ajax Request ,
// daher wird nach dem Speichern mittels exit beendet
if(isset($_POST['NewContent']))
{
if($rechte->isBerechtigt('basis/cms', null, 'sui'))
{
$templateContentId = isset($_POST['templateContent']) && $_POST['templateContent'] != 0?$_POST['templateContent']:'';
$titel = isset($_POST['titel'])?$_POST['titel']:'Neuer Eintrag';
if ($templateContentId != '')
{
$templateContent = new content();
$templateContent->getContent($templateContentId);
}
$template = new template();
$template->getAll();
if(!isset($template->result[0]))
exit('Es ist kein Template vorhanden');
if(in_array('etw',$berechtigte_oe))
$oe = 'etw';
else
$oe = $berechtigte_oe[0];
$content = new content();
$content->new = true;
$content->oe_kurzbz= $templateContentId != ''?$templateContent->oe_kurzbz:$oe;
$content->template_kurzbz=$templateContentId != ''?$templateContent->template_kurzbz:$template->result[0]->template_kurzbz;
$content->titel = $titel;
$content->aktiv=true;
$content->menu_open=false;
$content->content = $templateContentId != ''?$templateContent->content:'<?xml version="1.0" encoding="UTF-8" ?><content></content>';
$content->sichtbar=true;
$content->version='1';
$content->sprache=$templateContentId != ''?$templateContent->sprache:DEFAULT_LANGUAGE;
$content->insertvon = $user;
$content->insertamum = date('Y-m-d H:i:s');
$content->beschreibung = $templateContentId != ''?$templateContent->beschreibung:'';
if($content->save())
{
if($content->saveContentSprache())
{
if ($templateContentId!='')
{
$parent_content = new content();
$parent_content->content_id = $templateContentId;
$parent_content->child_content_id = $content->content_id;
$parent_content->insertamum = date('Y-m-d');
$parent_content->insertvon = $user;
$parent_content->sort=$parent_content->getMaxSort($templateContentId)+1;
if(!$parent_content->addChild())
exit('AddChild '.$content->errormsg);
}
exit($content->content_id);
}
else
exit('ContentSpracheSave '.$content->errormsg);
}
else
exit('ContentSave '.$content->errormsg);
}
else
exit('Sie haben keine Berechtigung fuer diese Aktion');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
+12 -10
View File
@@ -31,15 +31,15 @@ class menu_addon_zeitsperren extends menu_addon
public function __construct()
{
parent::__construct();
$sprache = getSprache();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$p = new phrasen($sprache);
$fkt=new funktion();
$fkt->getAll($user);
@@ -50,7 +50,8 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre_days.php?days=12',
'name' => $p->t('menu/zeitsperren')
);
/*
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter'))
{
$this->items[] = array('title' => $p->t('menu/resturlaub'),
@@ -59,8 +60,9 @@ class menu_addon_zeitsperren extends menu_addon
'name' => $p->t('menu/resturlaub')
);
}
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')
*/
if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')
|| $fkt->checkFunktion('stvLtg')|| $fkt->checkFunktion('gLtg')
|| $fkt->checkFunktion('Leitung') || $fkt->checkFunktion('ass'))
{
@@ -85,7 +87,7 @@ class menu_addon_zeitsperren extends menu_addon
'name' => $p->t('menu/assistenz')
);
}
$stg_obj = new studiengang();
$stg_obj->loadArray($rechte->getStgKz('admin'), 'typ, kurzbz', true);
foreach($stg_obj->result as $row)
@@ -95,11 +97,11 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre.php?funktion=lkt&stg_kz='.$row->studiengang_kz,
'name' => $p->t('menu/lektoren').' '.$row->kurzbzlang
);
}
}
}
$this->output();
}
}
new menu_addon_zeitsperren();
?>
?>
+41 -30
View File
@@ -270,7 +270,7 @@ if($importFile != '')
if($dms->save(true))
{
echo 'File wurde erfolgreich hochgeladen. Filename:'.$filename.' ID:'.$dms->dms_id;
echo 'File wurde erfolgreich hochgeladen. <br>Filename:'.$filename.' <br>ID: <a href="id://'.$dms->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$dms->dms_id.'); return false;" style="font-size: small">'.$dms->dms_id.'</a>';
$dms_id=$dms->dms_id;
if($projekt_kurzbz!='' || $projektphase_id!='')
@@ -282,10 +282,10 @@ if($importFile != '')
else
echo 'Fehler beim Speichern der Daten';
if(!chgrp(DMS_PATH.$filename,'dms'))
echo 'CHGRP failed';
if(!chmod(DMS_PATH.$filename, 0774))
echo 'CHMOD failed';
if(!@chgrp(DMS_PATH.$filename,'dms'))
echo '<br>CHGRP failed';
if(!@chmod(DMS_PATH.$filename, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$filename);
// Lösche File aus Verzeichnis nachdem es raufgeladen wurde
@@ -308,10 +308,10 @@ if(isset($_POST['fileupload']))
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
if(!chgrp($uploadfile,'dms'))
echo 'CHGRP failed<br>';
if(!chmod($uploadfile, 0774))
echo 'CHMOD failed<br>';
if(!@chgrp($uploadfile,'dms'))
echo '<br>CHGRP failed';
if(!@chmod($uploadfile, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$uploadfile);
$dms = new dms();
@@ -831,32 +831,43 @@ function drawFilesFromImport()
if ($handle = opendir(IMPORT_PATH))
{
echo '<script>
$(document).ready(function()
{
$("#t3").tablesorter(
{
sortList: [[0,0]], headers: {1:{sorter:false}},
widgets: ["zebra"]
});
});
</script>';
echo ' <h3>Files im Import Ordner</h3>
<table> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >';
<table class="tablesorter" id="t3" style="width: auto"> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >
<thead><th>File</th><th></th></thead><tbody>';
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
echo'
<tr>
<td><img src="../skin/images/blank.png" style="height: 15px">
<span> '.$file.'</span>
</td>
<td>
| <a onclick="document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a>
</td>
</tr>';
}
}
echo'
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
echo'
<tr>
<td>
<span> '.$file.'</span>
</td>
<td>
<a onclick="window.location=\'#divupload\'; document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a>
</td>
</tr>';
}
}
echo'
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
<input type="hidden" name="importFile" value="">
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
<input type="hidden" name="projekt_kurzbz" value="'.$projekt_kurzbz.'">
<input type="hidden" name="projektphase_id" value="'.$projektphase_id.'">
</form></table>';
closedir($handle);
</form></tbody></table>';
closedir($handle);
}
}
/**
@@ -1018,7 +1029,7 @@ function drawFilesList($rows)
<li><a href="dms.php?id='.$row->dms_id.'&version='.$row->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>';
if($rechte->isberechtigt('basis/dms',null, 'sui', null))
{
echo ' <li><a href="id://'.$row->dms_id.'/Upload" onclick=" updateBeschreibung(\'';
echo ' <li><a href="id://'.$row->dms_id.'/Upload" onclick="window.location=\'#divupload\'; updateBeschreibung(\'';
$beschreibungstext = $row->beschreibung;
$beschreibungstext = str_replace("'","4nführungsze1ch3n",$beschreibungstext);
$beschreibungstext = str_replace('"',"D4n7ührung",$beschreibungstext);
Regular → Executable
+9
View File
@@ -5,5 +5,14 @@
"components/bootstrap": "3.3.5",
"michelf/php-markdown": "1.5.0"
},
"require-dev":
{
"squizlabs/php_codesniffer": "2.*",
"fzaninotto/faker": "1.*"
},
"config":
{
"bin-dir": "bin"
}
}
+23 -3
View File
@@ -1771,10 +1771,21 @@ function PrintZutrittskarte()
function PrintStudienblatt(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
try
{
var studienplan_id = getTreeCellText(tree, "student-prestudent-tree-rolle-studienplan_id", 0);
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
}
}
}
catch(e)
{
@@ -1843,7 +1854,7 @@ function PrintStudienblatt(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data+"&ss="+ss;
window.open(action,'Studienblatt','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
@@ -1858,10 +1869,19 @@ function PrintStudienblatt(event)
function PrintStudienblattEnglisch(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var items = tree.view.rowCount;
try
{
var studienplan_id = getTreeCellText(tree, "student-prestudent-tree-rolle-studienplan_id", 0);
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
}
}
}
catch(e)
{
+13 -1
View File
@@ -186,13 +186,25 @@ class anrechnung extends basis_db
* @param $prestudent_id
* @return true wenn ok, false im Fehlerfall
*/
public function getAnrechnungPrestudent($prestudent_id)
public function getAnrechnungPrestudent($prestudent_id, $lehrveranstaltung_id=null, $lehrveranstaltung_id_kompatibel=null)
{
$qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
. "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
. "FROM lehre.tbl_anrechnung "
. "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
. "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
if($lehrveranstaltung_id != NULL)
{
$qry .= " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id);
}
if($lehrveranstaltung_id_kompatibel != NULL)
{
$qry .= " AND lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id_kompatibel);
}
$qry .= ";";
if ($this->db_query($qry))
{
Regular → Executable
+92 -73
View File
@@ -1,73 +1,92 @@
<?php
// Auth: Benutzer des Webportals
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
// fuer Testzwecke
//define ('USER_UID','pam');
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
global $cfgStdBgcolor;
$cfgStdBgcolor=array();
$cfgStdBgcolor[0]="#CC0000";
$cfgStdBgcolor[1]="#FF2200";
$cfgStdBgcolor[2]="#FF9922";
$cfgStdBgcolor[3]="#FFFF55";
$cfgStdBgcolor[4]="#C0ECC3";
$cfgStdBgcolor[5]="#48FA66";
$cfgStdBgcolor[6]="#CCFFCC";
// Mehrsprachige Wochentage
global $tagbez;
$tagbez=array();
$tagbez[1][1]="Montag";
$tagbez[1][2]="Dienstag";
$tagbez[1][3]="Mittwoch";
$tagbez[1][4]="Donnerstag";
$tagbez[1][5]="Freitag";
$tagbez[1][6]="Samstag";
$tagbez[1][7]="Sonntag";
$tagbez[2][1]="Monday";
$tagbez[2][2]="Tuesday";
$tagbez[2][3]="Wednesday";
$tagbez[2][4]="Thursday";
$tagbez[2][5]="Friday";
$tagbez[2][6]="Saturday";
$tagbez[2][7]="Sunday";
// Mehrsprache Monatstage
global $monatsname;
$monatsname = array();
$monatsname[1][0]="Januar";
$monatsname[1][1]="Februar";
$monatsname[1][2]="März";
$monatsname[1][3]="April";
$monatsname[1][4]="Mai";
$monatsname[1][5]="Juni";
$monatsname[1][6]="Juli";
$monatsname[1][7]="August";
$monatsname[1][8]="September";
$monatsname[1][9]="Oktober";
$monatsname[1][10]="November";
$monatsname[1][11]="Dezember";
$monatsname[2][0]="January";
$monatsname[2][1]="February";
$monatsname[2][2]="March";
$monatsname[2][3]="April";
$monatsname[2][4]="May";
$monatsname[2][5]="June";
$monatsname[2][6]="July";
$monatsname[2][7]="August";
$monatsname[2][8]="September";
$monatsname[2][9]="October";
$monatsname[2][10]="November";
$monatsname[2][11]="December";
//$monatsname = array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
// Studiengaenge die keine Alias Email Adressen erhalten
$noalias=array();
//$noalias[0]='330';
//$noalias[1]='331';
//$noalias[2]='204';
?>
<?php
// Auth: Benutzer des Webportals
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
// fuer Testzwecke
//define ('USER_UID','pam');
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
global $cfgStdBgcolor;
$cfgStdBgcolor=array();
$cfgStdBgcolor[0]="#CC0000";
$cfgStdBgcolor[1]="#FF2200";
$cfgStdBgcolor[2]="#FF9922";
$cfgStdBgcolor[3]="#FFFF55";
$cfgStdBgcolor[4]="#C0ECC3";
$cfgStdBgcolor[5]="#48FA66";
$cfgStdBgcolor[6]="#CCFFCC";
// Mehrsprachige Wochentage
global $tagbez;
$tagbez=array();
$tagbez[1][1]="Montag";
$tagbez[1][2]="Dienstag";
$tagbez[1][3]="Mittwoch";
$tagbez[1][4]="Donnerstag";
$tagbez[1][5]="Freitag";
$tagbez[1][6]="Samstag";
$tagbez[1][7]="Sonntag";
$tagbez[2][1]="Monday";
$tagbez[2][2]="Tuesday";
$tagbez[2][3]="Wednesday";
$tagbez[2][4]="Thursday";
$tagbez[2][5]="Friday";
$tagbez[2][6]="Saturday";
$tagbez[2][7]="Sunday";
$tagbez[4][1]="Lunedì";
$tagbez[4][2]="Martedì";
$tagbez[4][3]="Mercoledì";
$tagbez[4][4]="Giovedì";
$tagbez[4][5]="Venerdì";
$tagbez[4][6]="Sabato";
$tagbez[4][7]="Domenica";
// Mehrsprache Monatstage
global $monatsname;
$monatsname = array();
$monatsname[1][0]="Januar";
$monatsname[1][1]="Februar";
$monatsname[1][2]="März";
$monatsname[1][3]="April";
$monatsname[1][4]="Mai";
$monatsname[1][5]="Juni";
$monatsname[1][6]="Juli";
$monatsname[1][7]="August";
$monatsname[1][8]="September";
$monatsname[1][9]="Oktober";
$monatsname[1][10]="November";
$monatsname[1][11]="Dezember";
$monatsname[2][0]="January";
$monatsname[2][1]="February";
$monatsname[2][2]="March";
$monatsname[2][3]="April";
$monatsname[2][4]="May";
$monatsname[2][5]="June";
$monatsname[2][6]="July";
$monatsname[2][7]="August";
$monatsname[2][8]="September";
$monatsname[2][9]="October";
$monatsname[2][10]="November";
$monatsname[2][11]="December";
$monatsname[4][0]="Gennaio";
$monatsname[4][1]="Febbraio";
$monatsname[4][2]="Marzo";
$monatsname[4][3]="Aprile";
$monatsname[4][4]="Maggio";
$monatsname[4][5]="Giunio";
$monatsname[4][6]="Luglio";
$monatsname[4][7]="Agosto";
$monatsname[4][8]="Settembre";
$monatsname[4][9]="Ottobre";
$monatsname[4][10]="Novembre";
$monatsname[4][11]="Dicembre";
//$monatsname = array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
// Studiengaenge die keine Alias Email Adressen erhalten
$noalias=array();
//$noalias[0]='330';
//$noalias[1]='331';
//$noalias[2]='204';
?>
+55 -3
View File
@@ -1258,6 +1258,12 @@ class lehrveranstaltung extends basis_db
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->sws = $row->sws;
$obj->lvs = $row->lvs;
$obj->alvs = $row->alvs;
$obj->lvps = $row->lvps;
$obj->las = $row->las;
$obj->stpllv_semester = $row->stpllv_semester;
$obj->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht);
$obj->stpllv_koordinator = $row->stpllv_koordinator;
@@ -1299,7 +1305,7 @@ class lehrveranstaltung extends basis_db
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id)
public function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id)
{
$childs = array();
foreach ($this->lehrveranstaltungen as $row)
@@ -1312,7 +1318,7 @@ class lehrveranstaltung extends basis_db
}
return $childs;
}
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
@@ -1335,7 +1341,7 @@ class lehrveranstaltung extends basis_db
{
return false;
}
}
/**
@@ -2436,5 +2442,51 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Prüft ob eine Lehrvernstaltung in Studienplordnungen verwendet wird die
* nicht mehr in bearbeitung sind. Diese sind fuer die bearbeitung gesperrt
* @param integer $lehrveranstaltung_id
* @return boolean true wenn gesperrt
* @return boolean false wenn nicht gesperrt
* @return boolean false und errormsg im Fehlerfall
*/
public function isGesperrt($lehrveranstaltung_id)
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_studienordnung.status_kurzbz<>'development'";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
if($row->anzahl>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg='Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
Regular → Executable
+8 -3
View File
@@ -973,9 +973,13 @@ class prestudent extends person
return false;
}
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung
FROM public.tbl_prestudentstatus LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung,
tbl_status.bezeichnung_mehrsprachig
FROM public.tbl_prestudentstatus
LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN public.tbl_status USING (status_kurzbz)
WHERE tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz
AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
if($studiensemester_kurzbz!='')
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
@@ -990,6 +994,7 @@ class prestudent extends person
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->status_mehrsprachig = $this->db_parse_lang_array($row->bezeichnung_mehrsprachig);
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->datum = $row->datum;
+449 -448
View File
@@ -1,454 +1,455 @@
<?php
/* Copyright (C) 2011 FH Technikum-Wien
*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Klasse projekt
*
* Verwaltet die Projekte
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projekt extends basis_db
{
public $new; // boolean
public $result = array(); // projekt Objekt
//Tabellenspalten
public $projekt_kurzbz; // string
public $nummer; // string
public $titel; // string
public $beschreibung; // string
public $beginn; // date
public $ende; // date
public $oe_kurzbz; // string
public $insertamum; // timestamp
public $insertvon; // string
public $updateamum; // timestamp
public $updatevon; // string
public $budget;
public $farbe;
<?php
/* Copyright (C) 2011 FH Technikum-Wien
*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Klasse projekt
*
* Verwaltet die Projekte
* @param string $projekt_kurzbz primary key Projektname.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projekt extends basis_db
{
public $new; // boolean
public $result = array(); // projekt Objekt
//Tabellenspalten
public $projekt_kurzbz; // string
public $nummer; // string
public $titel; // string
public $beschreibung; // string
public $beginn; // date
public $ende; // date
public $oe_kurzbz; // string
public $insertamum; // timestamp
public $insertvon; // string
public $updateamum; // timestamp
public $updatevon; // string
public $budget;
public $farbe;
public $anzahl_ma; // integer
public $aufwand_pt; // integer
/**
* Konstruktor
* @param $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null)
*/
public function __construct($projekt_kurzbz=null)
{
parent::__construct();
if($projekt_kurzbz != null)
$this->load($projekt_kurzbz);
}
/**
* Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz
* @param $projekt_kurzbz Kurzbz des Projekts
* @return true wenn ok, false im Fehlerfall
*/
public function load($projekt_kurzbz)
{
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer= $row->nummer;
$this->titel= $row->titel;
$this->beschreibung= $row->beschreibung;
$this->beginn= $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle aktuellen Projekte
* @param $kommend lädt auch alle zukünftigen
* @return boolean
*/
public function getProjekteAktuell($filter_kommende = false, $oe=null)
{
$qry = 'SELECT * FROM fue.tbl_projekt WHERE ';
if($filter_kommende)
$qry.= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)";
else
$qry.=" (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)";
if(!is_null($oe))
$qry.= ' AND oe_kurzbz='.$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Projekte die zwischen beginn und ende liegen
* @param $beginn
* @param $ende
* @param $oe
* @return boolean
*/
public function getProjekteInZeitraum($beginn, $ende, $oe=null)
{
$qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn);
if (!is_null($oe))
$qry.= " AND oe_kurzbz=".$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Projeke einer Organisationseinheit
* @param $projekt_kurzbz Kurzbezeichnung des Projekts
* @return true wenn ok, false im Fehlerfall
*/
public function getProjekte($oe=null)
{
$qry = 'SELECT * FROM fue.tbl_projekt';
if (!is_null($oe))
$qry.= " WHERE oe_kurzbz=".$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Gesamtlaenge pruefen
if ($this->projekt_kurzbz==null)
{
$this->errormsg='Projekt kurzbz darf nicht NULL sein!';
}
if ($this->oe_kurzbz==null)
{
$this->errormsg='OE kurbz darf nicht NULL sein!';
}
if(mb_strlen($this->projekt_kurzbz)>16)
{
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
return false;
}
if(mb_strlen($this->nummer)>8)
{
$this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein';
return false;
}
if(mb_strlen($this->titel)>256)
{
$this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $projekt_kurzbz aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
//Variablen pruefen
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('.
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->nummer).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->beginn).', '.
$this->db_add_param($this->ende).', '.
$this->db_add_param($this->budget).', '.
$this->db_add_param($this->farbe).', '.
/**
* Konstruktor
* @param string $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null).
*/
public function __construct($projekt_kurzbz = null)
{
parent::__construct();
if($projekt_kurzbz != null)
$this->load($projekt_kurzbz);
}
/**
* Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz
* @param string $projekt_kurzbz Kurzbz des Projekts.
* @return true wenn ok, false im Fehlerfall
*/
public function load($projekt_kurzbz)
{
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer = $row->nummer;
$this->titel = $row->titel;
$this->beschreibung = $row->beschreibung;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->budget = $row->budget;
$this->farbe = $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle aktuellen Projekte
* @param bool $filter_kommende Lädt auch alle zukünftigen.
* @param string $oe Organisationseinheit.
* @return bool
*/
public function getProjekteAktuell($filter_kommende = false, $oe = null)
{
$qry = 'SELECT * FROM fue.tbl_projekt WHERE ';
if($filter_kommende)
$qry .= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)";
else
$qry .= " (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)";
if (!is_null($oe))
$qry .= ' AND oe_kurzbz='.$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Projekte die zwischen beginn und ende liegen
* @param date $beginn Anfang.
* @param date $ende Ende.
* @param string $oe Organisationseinheit.
* @return bool
*/
public function getProjekteInZeitraum($beginn, $ende, $oe = null)
{
$qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn);
if (!is_null($oe))
$qry .= " AND oe_kurzbz=".$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
//echo $qry;
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Projeke einer Organisationseinheit
* @param string $oe Organisationseinheit.
* @return true wenn ok, false im Fehlerfall
*/
public function getProjekte($oe = null)
{
$qry = 'SELECT * FROM fue.tbl_projekt';
if (!is_null($oe))
$qry .= " WHERE oe_kurzbz=".$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
//echo $qry;
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Gesamtlaenge pruefen
if ($this->projekt_kurzbz == null)
{
$this->errormsg = 'Projekt kurzbz darf nicht NULL sein!';
}
if ($this->oe_kurzbz == null)
{
$this->errormsg = 'OE kurbz darf nicht NULL sein!';
}
if (mb_strlen($this->projekt_kurzbz) > 16)
{
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
return false;
}
if (mb_strlen($this->nummer) > 8)
{
$this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein';
return false;
}
if (mb_strlen($this->titel) > 256)
{
$this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $projekt_kurzbz aktualisiert
* @param bool $new Neu ja/nein.
* @return true wenn ok, false im Fehlerfall
*/
public function save($new = null)
{
//Variablen pruefen
if(!$this->validate())
return false;
if ($new == null)
$new = $this->new;
if ($new)
{
//Neuen Datensatz einfuegen
$qry = 'INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('.
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->nummer).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->beginn).', '.
$this->db_add_param($this->ende).', '.
$this->db_add_param($this->budget).', '.
$this->db_add_param($this->farbe).', '.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->aufwand_pt).','.
$this->db_add_param($this->anzahl_ma).','.
$this->db_add_param($this->aufwandstyp_kurzbz).');';
}
else
{
//Updaten des bestehenden Datensatzes
$qry='UPDATE fue.tbl_projekt SET '.
'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
'nummer='.$this->db_add_param($this->nummer).', '.
'titel='.$this->db_add_param($this->titel).', '.
'beschreibung='.$this->db_add_param($this->beschreibung).', '.
'beginn='.$this->db_add_param($this->beginn).', '.
'ende='.$this->db_add_param($this->ende).', '.
'budget='.$this->db_add_param($this->budget).', '.
'farbe='.$this->db_add_param($this->farbe).', '.
$this->db_add_param($this->anzahl_ma).','.
$this->db_add_param($this->aufwandstyp_kurzbz).');';
}
else
{
//Updaten des bestehenden Datensatzes
$qry = 'UPDATE fue.tbl_projekt SET '.
'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
'nummer='.$this->db_add_param($this->nummer).', '.
'titel='.$this->db_add_param($this->titel).', '.
'beschreibung='.$this->db_add_param($this->beschreibung).', '.
'beginn='.$this->db_add_param($this->beginn).', '.
'ende='.$this->db_add_param($this->ende).', '.
'budget='.$this->db_add_param($this->budget).', '.
'farbe='.$this->db_add_param($this->farbe).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
'anzahl_ma='.$this->db_add_param($this->anzahl_ma).', '.
'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '.
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz
* @param $projekt_kurzbz Projekt das geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($projekt_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist.
* Optional auch mit den Zuteilungen zu Projektphasen.
* @param $mitarbeiter_uid
* @param $projektphasen boolean Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert.
*/
function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen=false)
{
$qry = "SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
WHERE (beginn<=now() or beginn is null)
AND (ende>=now() OR ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($projektphasen==true)
$qry.= "UNION
SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->erromsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function getProjektFromBestellung($bestellung_id)
{
$qry ="select * from fue.tbl_projekt
join wawi.tbl_projekt_bestellung USING (projekt_kurzbz)
where bestellung_id= ".$this->db_add_param($bestellung_id);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer= $row->nummer;
$this->titel= $row->titel;
$this->beschreibung= $row->beschreibung;
$this->beginn= $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '.
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
}
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz
* @param string $projekt_kurzbz Projekt das geloescht werden soll.
* @return true wenn ok, false im Fehlerfall
*/
public function delete($projekt_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist.
* Optional auch mit den Zuteilungen zu Projektphasen.
* @param string $mitarbeiter_uid MitarbeiterUID.
* @param bool $projektphasen Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert.
* @return true wenn ok, false im Fehlerfall
*/
function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen = false)
{
$qry = "SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
WHERE (beginn<=now() or beginn is null)
AND (ende>=now() OR ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($projektphasen == true)
$qry .= "UNION
SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null OR 1=1)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->erromsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function getProjektFromBestellung($bestellung_id)
{
$qry = "select * from fue.tbl_projekt
join wawi.tbl_projekt_bestellung USING (projekt_kurzbz)
where bestellung_id= ".$this->db_add_param($bestellung_id);
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer = $row->nummer;
$this->titel = $row->titel;
$this->beschreibung = $row->beschreibung;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->budget = $row->budget;
$this->farbe = $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
Regular → Executable
View File
+8 -2
View File
@@ -39,6 +39,7 @@ class pruefungsanmeldung extends basis_db {
public $statusupdatevon; //varchar(32)
public $statusupdateamum; //timestamp
public $anrechnung_id; //integer
public $pruefungstyp_kurzbz; //varchar(32)
/**
* Konstruktor
@@ -92,7 +93,7 @@ class pruefungsanmeldung extends basis_db {
if($new)
{
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id) VALUES ('
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id, pruefungstyp_kurzbz) VALUES ('
. $this->db_add_param($this->uid).', '
. $this->db_add_param($this->pruefungstermin_id).', '
. $this->db_add_param($this->lehrveranstaltung_id).', '
@@ -100,7 +101,8 @@ class pruefungsanmeldung extends basis_db {
. $this->db_add_param($this->wuensche).', '
. $this->db_add_param($this->reihung).', '
. $this->db_add_param($this->kommentar).', '
. $this->db_add_param($this->anrechnung_id).');';
. $this->db_add_param($this->anrechnung_id).', '
. $this->db_add_param($this->pruefungstyp_kurzbz).');';
}
else
{
@@ -113,6 +115,7 @@ class pruefungsanmeldung extends basis_db {
. 'reihung='.$this->db_add_param($this->reihung).', '
. 'kommentar='.$this->db_add_param($this->kommentar).', '
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id)
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
}
@@ -162,6 +165,7 @@ class pruefungsanmeldung extends basis_db {
$this->statusupdateamum = $row->statusupdateamum;
$this->statusupdatevon = $row->statusupdatevon;
$this->anrechnung_id = $row->anrechnung_id;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
}
return true;
}
@@ -206,6 +210,7 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
@@ -264,6 +269,7 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
+5 -3
View File
@@ -155,9 +155,10 @@ class studienordnung extends basis_db
}
else
{
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienordnung_semester sem USING (studienordnung_id)
LEFT JOIN lehre.tbl_studienplan USING(studienordnung_id)
LEFT JOIN lehre.tbl_studienplan_semester sem USING (studienplan_id)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if (!is_null($studiensemester_kurzbz))
@@ -200,7 +201,8 @@ class studienordnung extends basis_db
{
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->semester = $row->semester;
$obj->studienordnung_semester_id = $row->studienordnung_semester_id;
//$obj->studienordnung_semester_id = $row->studienordnung_semester_id;
$obj->studienplan_semester_id = $row->studienplan_semester_id;
}
$this->result[] = $obj;
}
+16 -9
View File
@@ -609,8 +609,8 @@ class studienplan extends basis_db
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->sort = $row->sort;
$this->curriculum = $row->curriculum;
$this->export = $row->export;
$this->curriculum = $this->db_parse_bool($row->curriculum);
$this->export = $this->db_parse_bool($row->export);
$this->new=false;
return true;
}
@@ -700,7 +700,7 @@ class studienplan extends basis_db
* @param $ausbuldungssemester
* @param $orgform_kurzbz
*/
function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz = "")
function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester="", $orgform_kurzbz = "")
{
$qry = "SELECT
*
@@ -711,8 +711,10 @@ class studienplan extends basis_db
WHERE
tbl_studienplan.aktiv
AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester);
AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz);
if($ausbildungssemester!='')
$qry.=" AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester);
if($orgform_kurzbz!='')
{
@@ -896,12 +898,17 @@ class studienplan extends basis_db
$this->db_add_param($key["ausbildungssemester"]) . '); ';
}
if (!$this->db_query($qry))
if($qry!='')
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
return true;
}
return true;
else
return true;
}
else
{
+113
View File
@@ -0,0 +1,113 @@
<?php
// Pruefungsfenster
$this->phrasen['pruefung/titlePruefungsfenster'] = 'Prüfungsfenster anlegen';
$this->phrasen['pruefung/erfolgreichgespeichert'] = 'Datensatz erfolgreich gespeichert';
$this->phrasen['pruefung/fehler'] = 'Fehler: ';
$this->phrasen['pruefung/fehlerEndDatumInDerVergangenheit'] = 'Fehler: Enddatum liegt in der Vergangenheit.';
$this->phrasen['pruefung/fehlerEndDatumVorStartDatum'] = 'Fehler: Enddatum liegt nicht nach dem Startdatum.';
$this->phrasen['pruefung/fehlerDatumNichtKorrekt'] = 'Fehler: Datumseingabe nicht korrekt.';
$this->phrasen['pruefung/erfolgreichgeaendert'] = 'Datensatz erfolgreich geändert';
$this->phrasen['pruefung/keineBerechtigungZumAendernDesDatensatzes'] = 'Keine Berechtigung zum Ändern dieses Datensatzes.';
$this->phrasen['pruefung/keineBerechtigungZumAnzeigenDesDatensatzes'] = 'Keine Berechtigung zum Anzeigen dieses Datensatzes.';
$this->phrasen['pruefung/erfolgreichgeloescht'] = 'Datensatz erfolgreich gelöscht';
$this->phrasen['pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen'] = 'Prüfungsfenster konnte nicht gelöscht werden, da Prüfungen verknüpft sind.';
$this->phrasen['pruefung/keineBerechtigungZumLoeschenDesDatensatzes'] = 'Keine Berechtigung zum Löschen dieses Datensatzes.';
$this->phrasen['pruefung/pruefungsfensterVerwaltung'] = 'Prüfungsfenster-Verwaltung';
$this->phrasen['pruefung/neuesPruefungsfensterAnlegen'] = 'Neues Prüfungsfenster anlegen';
$this->phrasen['pruefung/start'] = 'Startdatum';
$this->phrasen['pruefung/ende'] = 'Enddatum';
$this->phrasen['pruefung/pruefungsfensterBearbeiten'] = 'Prüfungsfenster bearbeiten';
$this->phrasen['pruefung/keinePruefungsfensterGespeichert'] = 'Keine Prüfungsfenster gespeichert.';
// Termin festlegen
$this->phrasen['pruefung/titlePruefungstermin'] = 'Prüfungstermin festlegen';
$this->phrasen['pruefung/pruefungLektor'] = 'Lektor';
$this->phrasen['pruefung/pruefungenVerwalten'] = 'Prüfungen verwalten';
$this->phrasen['pruefung/pruefungTitel'] = 'Titel';
$this->phrasen['pruefung/pruefungsfenster'] = 'Prüfungsfenster';
$this->phrasen['pruefung/pruefungMethode'] = 'Methode';
$this->phrasen['pruefung/pruefungEinzelpruefung'] = 'Einzelprüfung';
$this->phrasen['pruefung/pruefungTyp'] = 'Prüfungstyp';
$this->phrasen['pruefung/pruefungIntervall'] = 'Prüfungsintervall';
$this->phrasen['pruefung/pruefungTermin'] = 'Termin';
$this->phrasen['pruefung/pruefungMinTeilnehmer'] = 'min. Teilnehmer';
$this->phrasen['pruefung/pruefungMaxTeilnehmer'] = 'max. Teilnehmer';
$this->phrasen['pruefung/pruefungSammelklausur'] = 'Sammelklausur';
$this->phrasen['pruefung/pruefungTerminHinzufuegen'] = 'Termin hinzufügen';
$this->phrasen['pruefung/pruefungPruefungenTitle'] = 'Prüfungen';
$this->phrasen['pruefung/pruefungMitarbeiter'] = 'Mitarbeiter';
$this->phrasen['pruefung/storniert'] = 'storniert';
// pruefung.js.php
$this->phrasen['pruefung/keinFensterVorhanden'] = 'Keine Prüfungsfenster vorhanden';
$this->phrasen['pruefung/keineDatenVorhanden'] = 'Keine Daten vorhanden.';
$this->phrasen['pruefung/anmeldefristAbgelaufen'] = 'Anmeldefrist abgelaufen';
$this->phrasen['pruefung/stornierenMoeglichBis'] = 'Stornieren möglich bis';
$this->phrasen['pruefung/anmeldenMoeglichBis'] = 'Anmeldung möglich bis';
$this->phrasen['pruefung/zurLvAnmeldung'] = 'zur LV-Anmeldung';
$this->phrasen['pruefung/zuerstPruefungAuswaehlen'] = 'Zuerst Prüfung auswählen.';
$this->phrasen['pruefung/bemerkungVonLektorHinzugefuegt'] = 'von Lektor hinzugefügt';
$this->phrasen['pruefung/bestaetigen'] = 'Bestätigen';
$this->phrasen['pruefung/anmerkungDesStudenten'] = 'Anmerkung des Studenten:</br>';
$this->phrasen['pruefung/bestaetigt'] = 'bestätigt';
$this->phrasen['pruefung/statusAenderungVon'] = 'Satusänderung von';
$this->phrasen['pruefung/reihungSpeichern'] = 'Reihung speichern';
$this->phrasen['pruefung/listeDrucken'] = 'Liste drucken';
$this->phrasen['pruefung/pruefungsraum'] = 'Prüfungsraum: ';
$this->phrasen['pruefung/pruefungsort'] = 'Prüfungsort ';
$this->phrasen['pruefung/imBuero'] = ' im Büro';
$this->phrasen['pruefung/raum'] = ' Raum';
$this->phrasen['pruefung/raumSpeichern'] = ' Raum speichern';
$this->phrasen['pruefung/reihunghErfolgreichGeaendert'] = 'Reihung erfolgreich geändert.';
$this->phrasen['pruefung/studiengangAuswaehlen'] = 'Studiengang auswählen';
$this->phrasen['pruefung/keinePruefungenVorhanden'] = 'Keine Prüfungen vorhanden.';
$this->phrasen['pruefung/kommentarZu'] = 'Kommentar zu ';
$this->phrasen['pruefung/kommentarSpeichern'] = 'Kommentar speichern';
$this->phrasen['pruefung/kommentarErfolgreichGespeichert'] = 'Kommentar erfolgreich gespeichert.';
$this->phrasen['pruefung/formulardatenNichtKorrekt'] = 'Formulardaten sind nicht korrekt.';
$this->phrasen['pruefung/pruefungErfolgreichGespeichert'] = 'Prüfung erfolgreich gespeichert.';
$this->phrasen['pruefung/lehrveranstaltungAuswaehlen'] = 'Lehrveranstaltung auswählen ...';
$this->phrasen['pruefung/keineLehrveranstaltungenVorhanden'] = 'Keine Lehrveranstaltungen vorhanden.';
$this->phrasen['pruefung/pruefungStornieren'] = 'Prüfung stornieren';
$this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Lehrveranstaltung erfolgreich entfernt';
$this->phrasen['pruefung/pruefungStorniert'] = 'Prüfung storniert';
$this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
$this->phrasen['pruefung/pruefungsbewertungAnmeldungen'] = 'Anmeldungen';
// pruefungsanmeldung
$this->phrasen['pruefung/anmeldungFuer'] = 'Prüfungsanmeldung für';
$this->phrasen['pruefung/filter'] = 'Filter';
$this->phrasen['pruefung/details'] = 'Details';
$this->phrasen['pruefung/lvDetails'] = 'LV-Details';
$this->phrasen['pruefung/pruefungsDetails'] = 'Prüfungsdetails';
$this->phrasen['pruefung/typ'] = 'Typ';
$this->phrasen['pruefung/intervall'] = 'Intervall';
$this->phrasen['pruefung/besuchteLehrveranstaltungen'] = 'Besuchte Lehrveranstaltungen';
$this->phrasen['pruefung/freiePlaetze'] = 'freie Plätze';
$this->phrasen['pruefung/lvVonStudiengang'] = 'Lehrveranstaltungen von Studiengang';
$this->phrasen['pruefung/lvAlle'] = 'Alle Lehrveranstaltungen';
$this->phrasen['pruefung/anmeldungSpeichern'] = 'Anmeldung speichern';
$this->phrasen['pruefung/studienverpflichtung'] = 'Studienverpflichtung';
// liste
$this->phrasen['pruefung/anmeldungsliste'] = 'Anmeldungsliste';
$this->phrasen['pruefung/fehlenderParam_lvid'] = 'Fehlender Parameter lehrveranstaltung_id';
$this->phrasen['pruefung/fehlenderParam_terminid'] = 'Fehlender Parameter termin_id';
$this->phrasen['pruefung/fehlenderParam_studiensemester'] = 'Fehlender Parameter studiensemester';
$this->phrasen['pruefung/pruefer'] = 'Prüfer';
$this->phrasen['pruefung/keineBestaetigtenAnmeldungenVorhanden'] = 'Keine bestätigten Anmeldungen vorhanden.';
$this->phrasen['pruefung/keineLvAngegeben'] = 'Keine Lehrverantaltung angegeben.';
$this->phrasen['pruefung/kollisionMitAnderemTermin'] = 'Kollision mit anderem Termin.';
$this->phrasen['pruefung/terminNichtInDerVergangenheit'] = 'Prüfungstermin liegt nicht in der Vergangenheit.';
$this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vorhanden.';
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
$this->phrasen['pruefung/anmeldungenVerwalten'] = 'Anmeldungen Verwalten';
?>
Regular → Executable
+1 -1
View File
@@ -15,6 +15,7 @@ $this->phrasen['studienplan/legende']='Legende';
$this->phrasen['studienplan/legendeLVwirdAngeboten']='Lehrveranstaltung wird in diesem Semester angeboten';
$this->phrasen['studienplan/legendeLock']='Lehrveranstaltung für dieses Semester gesperrt';
$this->phrasen['studienplan/legendeEmpfehlung']='Empfehlung';
$this->phrasen['studienplan/legendeAngemeldet']='angemeldet';
$this->phrasen['studienplan/LehrveranstalungWaehlen']='Bitte wählen Sie die Lehrveranstaltung zu der Sie sich anmelden möchten:';
$this->phrasen['studienplan/AnmeldungDerzeitNichtMoeglich']='Derzeit sind noch keine Anmeldungen moeglich';
$this->phrasen['studienplan/bereitsAngemeldet']='Sie sind bereits zu dieser Lehrveranstaltung angemeldet';
@@ -24,4 +25,3 @@ $this->phrasen['studienplan/einschreibungErfolgreich']='Sie wurden erfolgreich i
$this->phrasen['studienplan/AnmeldungNichtMoeglich']='Keine Anmeldung moeglich';
$this->phrasen['studienplan/regelabgeschlossen']='abgeschlossen';
?>
+113
View File
@@ -0,0 +1,113 @@
<?php
// Pruefungsfenster
$this->phrasen['pruefung/titlePruefungsfenster'] = 'Prüfungsfenster anlegen';
$this->phrasen['pruefung/erfolgreichgespeichert'] = 'Datensatz erfolgreich gespeichert';
$this->phrasen['pruefung/fehler'] = 'Fehler: ';
$this->phrasen['pruefung/fehlerEndDatumInDerVergangenheit'] = 'Fehler: Enddatum liegt in der Vergangenheit.';
$this->phrasen['pruefung/fehlerEndDatumVorStartDatum'] = 'Fehler: Enddatum liegt nicht nach dem Startdatum.';
$this->phrasen['pruefung/fehlerDatumNichtKorrekt'] = 'Fehler: Datumseingabe nicht korrekt.';
$this->phrasen['pruefung/erfolgreichgeaendert'] = 'Datensatz erfolgreich geändert';
$this->phrasen['pruefung/keineBerechtigungZumAendernDesDatensatzes'] = 'Keine Berechtigung zum Ändern dieses Datensatzes.';
$this->phrasen['pruefung/keineBerechtigungZumAnzeigenDesDatensatzes'] = 'Keine Berechtigung zum Anzeigen dieses Datensatzes.';
$this->phrasen['pruefung/erfolgreichgeloescht'] = 'Datensatz erfolgreich gelöscht';
$this->phrasen['pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen'] = 'Prüfungsfenster konnte nicht gelöscht werden, da Prüfungen verknüpft sind.';
$this->phrasen['pruefung/keineBerechtigungZumLoeschenDesDatensatzes'] = 'Keine Berechtigung zum Löschen dieses Datensatzes.';
$this->phrasen['pruefung/pruefungsfensterVerwaltung'] = 'Prüfungsfenster-Verwaltung';
$this->phrasen['pruefung/neuesPruefungsfensterAnlegen'] = 'Neues Prüfungsfenster anlegen';
$this->phrasen['pruefung/start'] = 'Startdatum';
$this->phrasen['pruefung/ende'] = 'Enddatum';
$this->phrasen['pruefung/pruefungsfensterBearbeiten'] = 'Prüfungsfenster bearbeiten';
$this->phrasen['pruefung/keinePruefungsfensterGespeichert'] = 'Keine Prüfungsfenster gespeichert.';
// Termin festlegen
$this->phrasen['pruefung/titlePruefungstermin'] = 'Prüfungstermin festlegen';
$this->phrasen['pruefung/pruefungLektor'] = 'Lektor';
$this->phrasen['pruefung/pruefungenVerwalten'] = 'Prüfungen verwalten';
$this->phrasen['pruefung/pruefungTitel'] = 'Titel';
$this->phrasen['pruefung/pruefungsfenster'] = 'Prüfungsfenster';
$this->phrasen['pruefung/pruefungMethode'] = 'Methode';
$this->phrasen['pruefung/pruefungEinzelpruefung'] = 'Einzelprüfung';
$this->phrasen['pruefung/pruefungTyp'] = 'Prüfungstyp';
$this->phrasen['pruefung/pruefungIntervall'] = 'Prüfungsintervall';
$this->phrasen['pruefung/pruefungTermin'] = 'Termin';
$this->phrasen['pruefung/pruefungMinTeilnehmer'] = 'min. Teilnehmer';
$this->phrasen['pruefung/pruefungMaxTeilnehmer'] = 'max. Teilnehmer';
$this->phrasen['pruefung/pruefungSammelklausur'] = 'Sammelklausur';
$this->phrasen['pruefung/pruefungTerminHinzufuegen'] = 'Termin hinzufügen';
$this->phrasen['pruefung/pruefungPruefungenTitle'] = 'Prüfungen';
$this->phrasen['pruefung/pruefungMitarbeiter'] = 'Mitarbeiter';
$this->phrasen['pruefung/storniert'] = 'storniert';
// pruefung.js.php
$this->phrasen['pruefung/keinFensterVorhanden'] = 'Keine Prüfungsfenster vorhanden';
$this->phrasen['pruefung/keineDatenVorhanden'] = 'Keine Daten vorhanden.';
$this->phrasen['pruefung/anmeldefristAbgelaufen'] = 'Anmeldefrist abgelaufen';
$this->phrasen['pruefung/stornierenMoeglichBis'] = 'Stornieren möglich bis';
$this->phrasen['pruefung/anmeldenMoeglichBis'] = 'Anmeldung möglich bis';
$this->phrasen['pruefung/zurLvAnmeldung'] = 'zur LV-Anmeldung';
$this->phrasen['pruefung/zuerstPruefungAuswaehlen'] = 'Zuerst Prüfung auswählen.';
$this->phrasen['pruefung/bemerkungVonLektorHinzugefuegt'] = 'von Lektor hinzugefügt';
$this->phrasen['pruefung/bestaetigen'] = 'Bestätigen';
$this->phrasen['pruefung/anmerkungDesStudenten'] = 'Anmerkung des Studenten:</br>';
$this->phrasen['pruefung/bestaetigt'] = 'bestätigt';
$this->phrasen['pruefung/statusAenderungVon'] = 'Satusänderung von';
$this->phrasen['pruefung/reihungSpeichern'] = 'Reihung speichern';
$this->phrasen['pruefung/listeDrucken'] = 'Liste drucken';
$this->phrasen['pruefung/pruefungsraum'] = 'Prüfungsraum: ';
$this->phrasen['pruefung/pruefungsort'] = 'Prüfungsort ';
$this->phrasen['pruefung/imBuero'] = ' im Büro';
$this->phrasen['pruefung/raum'] = ' Raum';
$this->phrasen['pruefung/raumSpeichern'] = ' Raum speichern';
$this->phrasen['pruefung/reihunghErfolgreichGeaendert'] = 'Reihung erfolgreich geändert.';
$this->phrasen['pruefung/studiengangAuswaehlen'] = 'Studiengang auswählen';
$this->phrasen['pruefung/keinePruefungenVorhanden'] = 'Keine Prüfungen vorhanden.';
$this->phrasen['pruefung/kommentarZu'] = 'Kommentar zu ';
$this->phrasen['pruefung/kommentarSpeichern'] = 'Kommentar speichern';
$this->phrasen['pruefung/kommentarErfolgreichGespeichert'] = 'Kommentar erfolgreich gespeichert.';
$this->phrasen['pruefung/formulardatenNichtKorrekt'] = 'Formulardaten sind nicht korrekt.';
$this->phrasen['pruefung/pruefungErfolgreichGespeichert'] = 'Prüfung erfolgreich gespeichert.';
$this->phrasen['pruefung/lehrveranstaltungAuswaehlen'] = 'Lehrveranstaltung auswählen ...';
$this->phrasen['pruefung/keineLehrveranstaltungenVorhanden'] = 'Keine Lehrveranstaltungen vorhanden.';
$this->phrasen['pruefung/pruefungStornieren'] = 'Prüfung stornieren';
$this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Lehrveranstaltung erfolgreich entfernt';
$this->phrasen['pruefung/pruefungStorniert'] = 'Prüfung storniert';
$this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
$this->phrasen['pruefung/pruefungsbewertungAnmeldungen'] = 'Anmeldungen';
// pruefungsanmeldung
$this->phrasen['pruefung/anmeldungFuer'] = 'Prüfungsanmeldung für';
$this->phrasen['pruefung/filter'] = 'Filter';
$this->phrasen['pruefung/details'] = 'Details';
$this->phrasen['pruefung/lvDetails'] = 'LV-Details';
$this->phrasen['pruefung/pruefungsDetails'] = 'Prüfungsdetails';
$this->phrasen['pruefung/typ'] = 'Typ';
$this->phrasen['pruefung/intervall'] = 'Intervall';
$this->phrasen['pruefung/besuchteLehrveranstaltungen'] = 'Besuchte Lehrveranstaltungen';
$this->phrasen['pruefung/freiePlaetze'] = 'freie Plätze';
$this->phrasen['pruefung/lvVonStudiengang'] = 'Lehrveranstaltungen von Studiengang';
$this->phrasen['pruefung/lvAlle'] = 'Alle Lehrveranstaltungen';
$this->phrasen['pruefung/anmeldungSpeichern'] = 'Anmeldung speichern';
$this->phrasen['pruefung/studienverpflichtung'] = 'Studienverpflichtung';
// liste
$this->phrasen['pruefung/anmeldungsliste'] = 'Anmeldungsliste';
$this->phrasen['pruefung/fehlenderParam_lvid'] = 'Fehlender Parameter lehrveranstaltung_id';
$this->phrasen['pruefung/fehlenderParam_terminid'] = 'Fehlender Parameter termin_id';
$this->phrasen['pruefung/fehlenderParam_studiensemester'] = 'Fehlender Parameter studiensemester';
$this->phrasen['pruefung/pruefer'] = 'Prüfer';
$this->phrasen['pruefung/keineBestaetigtenAnmeldungenVorhanden'] = 'Keine bestätigten Anmeldungen vorhanden.';
$this->phrasen['pruefung/keineLvAngegeben'] = 'Keine Lehrverantaltung angegeben.';
$this->phrasen['pruefung/kollisionMitAnderemTermin'] = 'Kollision mit anderem Termin.';
$this->phrasen['pruefung/terminNichtInDerVergangenheit'] = 'Prüfungstermin liegt nicht in der Vergangenheit.';
$this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vorhanden.';
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
$this->phrasen['pruefung/anmeldungenVerwalten'] = 'Anmeldungen Verwalten';
?>
+71
View File
@@ -0,0 +1,71 @@
<?php
$this->phrasen['abgabetool/abgabeLektorenbereich']='Consegna portale lettori';
$this->phrasen['abgabetool/abgabeStudentenbereich']='consegna portale studente';
$this->phrasen['abgabetool/abgabetermine']='scadenze consegna';
$this->phrasen['abgabetool/abgabetool']='Strumenti di consegna';
$this->phrasen['abgabetool/abgabetyp']='tipologia consegna';
$this->phrasen['abgabetool/abgabeZusatzdaten']='consegna dati integrativi';
$this->phrasen['abgabetool/abgegebenAm']='consegnato il';
$this->phrasen['abgabetool/abgegebeneDatei']='file consegnato';
$this->phrasen['abgabetool/abstract']='abstract';
$this->phrasen['abgabetool/abstractEng']='abstract in inglese';
$this->phrasen['abgabetool/alleArbeitenAnzeigen']='mostra tutti gli elaborati seguiti';
$this->phrasen['abgabetool/benoten']='valutazione';
$this->phrasen['abgabetool/beschreibungAbgabe']='breve descrizione consegna';
$this->phrasen['abgabetool/betreuer']='Tutor';
$this->phrasen['abgabetool/betreuerart']='Tipologia di Tutor';
$this->phrasen['abgabetool/dateiupload']='Uplooad file';
$this->phrasen['abgabetool/dateiZuGross']='File superiore a 15 MB! ';
$this->phrasen['abgabetool/dateneingabeUnvollstaendig']='I dati immessi sono incompleti';
$this->phrasen['abgabetool/datum']='data';
$this->phrasen['abgabetool/details']='dettagli';
$this->phrasen['abgabetool/deutscheSchlagwoerter']='parole chiave tedesche';
$this->phrasen['abgabetool/downloadProjektarbeit']='scaricato documento';
$this->phrasen['abgabetool/eidesstattlicheErklaerung']='Dichiaro sull\'onore di aver redatto autonomamente il presente elaborato ';
$this->phrasen['abgabetool/eingabeTerminPersonen']='inserisci scadenza per più persone';
$this->phrasen['abgabetool/emailAnBetreuer']='scrivi email a relatore';
$this->phrasen['abgabetool/englischeSchlagwoerter']='parole chiave inglesi';
$this->phrasen['abgabetool/erklaerungNichtAkzeptiert']='dichiarazione non accettata';
$this->phrasen['abgabetool/fehlerBetreuerNichtGefundenKeinMail']='Impossibile trovare il relatore. Nessuna email spedita';
$this->phrasen['abgabetool/fehlerMail']='errore di spedizione della email!';
$this->phrasen['abgabetool/fehlerMailBegutachter']='Errore di trasmissione della mail al (primo) esaminatore';
$this->phrasen['abgabetool/fehlerMailStudent']='errore di spedizione della mai agli studenti!';
$this->phrasen['abgabetool/fehlerTerminEintragen']='scadenza non è stata registrata!';
$this->phrasen['abgabetool/fehlerTerminLoeschen']='Errore in sede di cancellazione della scadenza!';
$this->phrasen['abgabetool/fix']='fisso';
$this->phrasen['abgabetool/fixerAbgabetermin']='scadenza consegna inderogabile';
$this->phrasen['abgabetool/gelesenUndAkzeptiert']='Letto e accettato';
$this->phrasen['abgabetool/keineBerechtigungStudentenansicht']='Errore di autorizzazione per accedere al portale studente';
$this->phrasen['abgabetool/keineTermineVorhanden']='nessuna scadenza attuale';
$this->phrasen['abgabetool/keinPDF']='Upload non è un file PDF! Ripetere l\'upload';
$this->phrasen['abgabetool/kontrolleZusatzdaten']='controllo dati integrativi';
$this->phrasen['abgabetool/kontrollierteSchlagwoerter']='parole chiave controllate / voci??';
$this->phrasen['abgabetool/mailVerschicktAn']='l\'email è atata spedita a ';
$this->phrasen['abgabetool/maxZeichen']='(massimo 5000 caratteri)';
$this->phrasen['abgabetool/neuenTerminSpeichern']='salva nuova scadenza';
$this->phrasen['abgabetool/nurPDF']='solo PDF max 15 MB';
$this->phrasen['abgabetool/pflichtfeld']='campo obbligatorio';
$this->phrasen['abgabetool/plagiatspruefung']='vai alla verifica antiplagio';
$this->phrasen['abgabetool/projektabgabeUebersicht']='consegna progetto - mostra tutti';
$this->phrasen['abgabetool/seitenanzahl']='numero pagine';
$this->phrasen['abgabetool/spracheDerArbeit']='lingua dell\'elaborato';
$this->phrasen['abgabetool/student']='Studente';
$this->phrasen['abgabetool/studentenansicht']='portale studenti';
$this->phrasen['abgabetool/TeminVorhanden']='questa scadenza è già stata inserita';
$this->phrasen['abgabetool/termin']='scadenza ';
$this->phrasen['abgabetool/terminaenderungSpeichern']='salva modifica scadenza';
$this->phrasen['abgabetool/terminLoeschen']='cancella scadenza';
$this->phrasen['abgabetool/terminNichtGefunden']='scadenza non trovata';
$this->phrasen['abgabetool/terminserieAnlegen']='crea serie scadenze';
$this->phrasen['abgabetool/terminserieAnlegenHelp']='crea scadenza per più persone';
$this->phrasen['abgabetool/terminuebersicht']='panoramica scadenze';
$this->phrasen['abgabetool/terminuebersichtAnzeigen']='mostra tutti le scadenze';
$this->phrasen['abgabetool/terminVorbei']='scadenza prescritta';
$this->phrasen['abgabetool/terminVorhanden']='questa scadenza è già stata inserita';
$this->phrasen['abgabetool/titel']='titolo';
$this->phrasen['abgabetool/typ']='tipo';
$this->phrasen['abgabetool/ueberschrift']='tesi bachelor / master';
$this->phrasen['abgabetool/upload']='Upload';
$this->phrasen['abgabetool/variablerAbgabetermin']='scadenza consegna variabile';
$this->phrasen['abgabetool/zweitbetreuerBei']='secondo relatore presso';
?>
+21
View File
@@ -0,0 +1,21 @@
<?php
$this->phrasen['anwesenheitsliste/angerechnet']='riconosciuto';
$this->phrasen['anwesenheitsliste/anleitungImportFunktion']='copiare i presenti elementi nella memoria temporanea per compilare la colonna import del modulo generale voti';
$this->phrasen['anwesenheitsliste/anwesenheit']='presenza';
$this->phrasen['anwesenheitsliste/anwesenheitslisten']='elenco presenti';
$this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='elenchi presenti con foto';
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='Per creare la lista cliccare sul gruppo desiderato!';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='errore di trasferimento dei parametri. Si prega di riprovare';
$this->phrasen['anwesenheitsliste/fehlstunden']='ore di assenza';
$this->phrasen['anwesenheitsliste/gesamtliste']='elenco generale';
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='impossibile trovare registrazioni corrispondenti';
$this->phrasen['anwesenheitsliste/keineLVsGefunden']='impossibile trovare lezioni ';
$this->phrasen['anwesenheitsliste/keineStudentenVorhanden']='momentaneamentenel corso di studi / semestre non sono registrati studenti';
$this->phrasen['anwesenheitsliste/keineStundenvorhanden']='momentaneamente nessuna ora registrata ';
$this->phrasen['anwesenheitsliste/leAbgeschlossen']='LE conclusa';
$this->phrasen['anwesenheitsliste/notenliste']='elenco voti';
$this->phrasen['anwesenheitsliste/notenlisten']='elenchi voti';
$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='semestre di studio non valido';
$this->phrasen['anwesenheitsliste/waehleLV']='scegliere una lezione';
?>
+174
View File
@@ -0,0 +1,174 @@
<?php
$this->phrasen['benotungstool/abgabe']='consegna';
$this->phrasen['benotungstool/abgabedatei']='file di consegna ';
$this->phrasen['benotungstool/abgabenDownloaden']='download consegna';
$this->phrasen['benotungstool/abgeben']='consegna';
$this->phrasen['benotungstool/alleKreuzerllistenDieserUebung']='tutte le liste con caselle da barrare di questa esercitazione';
$this->phrasen['benotungstool/alleStudierenden']='tutti gli studenti';
$this->phrasen['benotungstool/angabe']='indicazione';
$this->phrasen['benotungstool/angabeidatei']='file con le indicazioni';
$this->phrasen['benotungstool/anlegen']='crea';
$this->phrasen['benotungstool/anwesenheitstabelle']='elenco presenti e panoramica delle presenze';
$this->phrasen['benotungstool/anzahlDerBeispiele']='numero esempi';
$this->phrasen['benotungstool/anzahlDerBeispieleGueltigeZahl']='il numero di esempi deve essere un numero valido';
$this->phrasen['benotungstool/anzahlDerBeispieleKleiner100']='il numero di esempi deve essere inferiore a 100';
$this->phrasen['benotungstool/anzahlDerBeispieleNichtNegativ']='il numero di esempi non può essere un numero negativo';
$this->phrasen['benotungstool/anzahlDerStudenten']='numero di studenti';
$this->phrasen['benotungstool/anzahlKommisionellePruefungen']='numero esami di commissione';
$this->phrasen['benotungstool/anzahlNachpruefungen']='numero esami reiterati';
$this->phrasen['benotungstool/anzahlNegativerBeurteilungen']='numero voti negativi';
$this->phrasen['benotungstool/anzahlPunkteProBeispiel']='numero punti per ogni esempio';
$this->phrasen['benotungstool/anzahlStudentenGueltigeZahl']='quantità studenti/esempi deve essere un numero valido';
$this->phrasen['benotungstool/anzahlStudentenKleiner100']='quantità studenti/esempi deve essere inferiore a 100';
$this->phrasen['benotungstool/anzahlStudentenNichtNegativ']='quantità studenti/esempi non può essere un numero negativo';
$this->phrasen['benotungstool/aufgabe']='verifica';
$this->phrasen['benotungstool/aufgabeKreuzerllistenAbgaben']='verifica (caselle da barrare, consegne)';
$this->phrasen['benotungstool/ausgewaehlteAufgabeBearbeiten']='elabora verifiche scelte';
$this->phrasen['benotungstool/ausgewaehlteUebungBearbeiten']='elabora esercitazione scelta';
$this->phrasen['benotungstool/auswahl']='scegli';
$this->phrasen['benotungstool/auswahlLoeschen']='cancella scelta';
$this->phrasen['benotungstool/auswahlLoeschen']='cancella scelta';
$this->phrasen['benotungstool/beispiel']='esempio';
$this->phrasen['benotungstool/beispiel']='esempio';
$this->phrasen['benotungstool/beispielBearbeiten']='elabora esempio';
$this->phrasen['benotungstool/beispieleKonntenNichtAngelegtWerden']='impossibile inserire esempi';
$this->phrasen['benotungstool/beispielIdUngueltig']='esempio_id non valida';
$this->phrasen['benotungstool/benoten']='valutare';
$this->phrasen['benotungstool/benotung']='valutazione';
$this->phrasen['benotungstool/benotungstool']='strumenti di valutazione';
$this->phrasen['benotungstool/bezeichnungMussEingegebenWerden']='inserire testo';
$this->phrasen['benotungstool/bisDatumUngueltigesFormat']='fino-a-data formato non valido ';
$this->phrasen['benotungstool/bisherInsgesamt']='totale attuale';
$this->phrasen['benotungstool/bitteWaehlenSieDenStudentenAus']='scegli studente per accedere alla videata dettaglio o studente. <br> (amministrazione di voti, punti supplementari, caselle da barrare, osservazioni, dati studente)';
$this->phrasen['benotungstool/dasBeispielKannNichtMehrAngekreuztWerden']='impossibile sbarrare l\'esempio %s ';
$this->phrasen['benotungstool/datenErfolgreichKopiert']='dati copiati';
$this->phrasen['benotungstool/derzeitGibtEsKeineUebungen']='momentaneamente nessuna esercitazione';
$this->phrasen['benotungstool/derzeitSindKeineAufgabenAngelegt']='momentaneamente nessuna verifica registrata';
$this->phrasen['benotungstool/derzeitSindKeineUebungenAngelegt']='al momento nessuna esercitazione registrata';
$this->phrasen['benotungstool/detail']='dettaglio';
$this->phrasen['benotungstool/dieseKreuzerlliste']='questa lista da barrare';
$this->phrasen['benotungstool/downloadverzeichnisAnzeigen']='mostra elenco download';
$this->phrasen['benotungstool/eingetrageneNoten']='voti registrati';
$this->phrasen['benotungstool/errechneteGesamtnote']='voto complessivo calcolato ';
$this->phrasen['benotungstool/esGibtKeineLehreinheiten']='nessuna lezione in questo semestre autorizzata per questo accesso ';
$this->phrasen['benotungstool/esHabenStudentenEingetragen']='complessivi <u>%s studenti hanno registrato </u> ';
$this->phrasen['benotungstool/esKonntenNichtAlleDatenGespeichertWerden']='impossibile salvare tutti i dati';
$this->phrasen['benotungstool/fehlerBeimAuslesen']='errore in sede di lettura delle lezioni ';
$this->phrasen['benotungstool/fehlerBeimFreigebenDerNoten']='errore in sede di attivazione dei voti: la password trasmessa non è corretta';
$this->phrasen['benotungstool/fehlerBeimKopieren']='errore di copiatura: nella lezione selezionata esiste già una lista con caselle da barrare con lo stesso nome';
$this->phrasen['benotungstool/fehlerBeimLadenDesStudenten']='errore di caricamento degli studenti';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Voto scorretto per studente %s %s';
$this->phrasen['benotungstool/fehlerKopierenDerDaten']='errore di copiatura dei dati';
$this->phrasen['benotungstool/fehlerNichtAlleBeispieleKopiert']='errore: impossibile copiare tutti i dati';
$this->phrasen['benotungstool/format']='(formato: 31.12.2007 14:30)';
$this->phrasen['benotungstool/freigabe']='attivazione';
$this->phrasen['benotungstool/freigegebenVon']='attivato da';
$this->phrasen['benotungstool/freigeschalten']='attivato';
$this->phrasen['benotungstool/freigeschaltet']='attivato';
$this->phrasen['benotungstool/gesamtnote']='voto complessivo';
$this->phrasen['benotungstool/gesamtuebersicht']='mostra tutto';
$this->phrasen['benotungstool/gewicht']='taratura ';
$this->phrasen['benotungstool/gewichtMussEineZahlSein']='taratura deve essere un numero';
$this->phrasen['benotungstool/handbuch']='manuale';
$this->phrasen['benotungstool/handbuchBenotungstool']='manuale strumenti valutazione (PDF)';
$this->phrasen['benotungstool/hatDieLvNotenFuerFolgendeStudenten']='ha attivato i voti della lezione per i seguenti studenti';
$this->phrasen['benotungstool/hauptuebungKonnteNichtKopiertWerden']='impossibile copiare esercitazione principale';
$this->phrasen['benotungstool/importAnweisung']='copiare le colonne dati personali e voti dalla lista dei voti e inserirle nel seguete campo';
$this->phrasen['benotungstool/importieren']='importa';
$this->phrasen['benotungstool/keineAbgabenVerfuegbar']='nessuna consegna disponibile';
$this->phrasen['benotungstool/keineBeispieleAngelegt']='momentaneamente nessun esempio registrato';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='momentaneamente nessuna lista con caselle da barrare per la lezione scelta';
$this->phrasen['benotungstool/keinePassendeLehreinheitGefunden']='impossibile trovare lezione adeguata/corrispondente in questo semestre';
$this->phrasen['benotungstool/kommissionellePruefung']='esame di commissione';
$this->phrasen['benotungstool/kreuzerllisteNichtAngelegt']='impossibile creare lista con caselle da barrare';
$this->phrasen['benotungstool/kreuzerltool']='strumenti con caselle da barrare';
$this->phrasen['benotungstool/leGesamtnote']='voto complessivo lezione';
$this->phrasen['benotungstool/leGesamtnotenVerwalten']='gestione voto complessivo lezione';
$this->phrasen['benotungstool/lehrveranstaltungBenoten']='valutare lezione';
$this->phrasen['benotungstool/leistungsuebersichtNotenuebersichtFuer']='panoramica stato prestazioni</a> / panoramica voti ';
$this->phrasen['benotungstool/leNoten']='voti lezione';
$this->phrasen['benotungstool/leNotenVerwalten']='gestione voti lezione';
$this->phrasen['benotungstool/liste']='elenco';
$this->phrasen['benotungstool/lvGesamtnoteVerwalten']='gestione voto complessivo lezione';
$this->phrasen['benotungstool/lvNote']='Voto lezione';
$this->phrasen['benotungstool/lvNotenVerwalten']='gestione voti lezioni';
$this->phrasen['benotungstool/maxBeispieleStudent']='al massimo esempi/studente';
$this->phrasen['benotungstool/maxStudentenBeispiel']='al massimo studenti/esempio';
$this->phrasen['benotungstool/minimum']='minimo';
$this->phrasen['benotungstool/mitarbeitspunkte']='punti supplementari';
$this->phrasen['benotungstool/moodleNote']='voto moodle';
$this->phrasen['benotungstool/mussPositivSein']='* deve essere positivo';
$this->phrasen['benotungstool/nachpruefung']='esame reiterato';
$this->phrasen['benotungstool/neueAbgabeAnlegen']='crea nuova consegna';
$this->phrasen['benotungstool/neueKreuzerllisteAnlegen']='crea nuova lista con caselle da barrare ';
$this->phrasen['benotungstool/neuesBeispielAnlegen']='crea nuovo esempio';
$this->phrasen['benotungstool/neueUebungAnlegen']='crea nuova esercitazione';
$this->phrasen['benotungstool/nichtFreigeschaltet']='non attivato';
$this->phrasen['benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben']='impossibile attivare cambiamenti in quanto la lista con caselle da barrare scelta non è attivata';
$this->phrasen['benotungstool/nichtVorbereitet']='non preparato';
$this->phrasen['benotungstool/note']='voto';
$this->phrasen['benotungstool/noteEingeben']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo)';
$this->phrasen['benotungstool/noteEingebenOderLeer']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo) o lasciare libero il campo';
$this->phrasen['benotungstool/noteIstUngueltig']='voto non valido';
$this->phrasen['benotungstool/noten']='voti: 1-5, 7 (non valutato), 10 (superato), 14 (non superato), 16 (frequentato con successo) ';
$this->phrasen['benotungstool/notenlisteImport']='elenco voti per l\'import-voti-lezione';
$this->phrasen['benotungstool/notenschluesselDefinieren']='definisci chiave di voto';
$this->phrasen['benotungstool/notenschluesselIn']='chiave di voto in';
$this->phrasen['benotungstool/notenschluesselInProzent']='chiave di voto in <u>percento</u>';
$this->phrasen['benotungstool/notenuebersichtFuer']='panoramica voti</a> per ';
$this->phrasen['benotungstool/positiv']='positivo';
$this->phrasen['benotungstool/probleme']='problemi';
$this->phrasen['benotungstool/prozentPunkten']='percento</a> / <u>punti</u>';
$this->phrasen['benotungstool/pruefung']='Esame';
$this->phrasen['benotungstool/pruefungAnlegenFuer']='crea esame per';
$this->phrasen['benotungstool/punkte']='punti';
$this->phrasen['benotungstool/punkte']='punti';
$this->phrasen['benotungstool/punkteEingetragen']='inserisci punti';
$this->phrasen['benotungstool/punkteInsgesamtMoeglich']='totale punti possibile';
$this->phrasen['benotungstool/punkteMuessenEineGueltigeZahlSein']='punti deve essere un numero valido';
$this->phrasen['benotungstool/punkten']='punti';
$this->phrasen['benotungstool/punkteProBeispielGueltigeZahl']='punti per esempio deve essere un numero valido';
$this->phrasen['benotungstool/punkteProBeispielNichtNegativ']='punti per esempio non può essere un numero negativo';
$this->phrasen['benotungstool/punkteSindUngueltig']='punti non sono validi';
$this->phrasen['benotungstool/standardwerteSetzen']='inserire valori standard';
$this->phrasen['benotungstool/statistik']='statistica';
$this->phrasen['benotungstool/statistikFuerKreuzerllisten']='statistica liste con caselle da barrare';
$this->phrasen['benotungstool/statistikFuerStudentenAnzeigen']='mostra statistica studenti';
$this->phrasen['benotungstool/studentenabgabedatei']='file di consegna studente';
$this->phrasen['benotungstool/studentenansicht']='panoramica studenti';
$this->phrasen['benotungstool/studentenaufgabenVerwalten']='gestisci verifiche studenti';
$this->phrasen['benotungstool/studentenAuswaehlen']='scegliere uno o una studente';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Studente %s %s (%s) non è collegato a questa lezione. Il voto non sarà registrato!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Studente con numero di matricola %s inesistente';
$this->phrasen['benotungstool/studentWurdeNichtGefunden']='studente non trovato';
$this->phrasen['benotungstool/teilnote']='voto parziale';
$this->phrasen['benotungstool/thema']='soggetto / tema?';
$this->phrasen['benotungstool/themaMussEingegebenWerden']='inserire soggetto / tema?';
$this->phrasen['benotungstool/uebersicht']='panoramica';
$this->phrasen['benotungstool/uebung']='esercitazione';
$this->phrasen['benotungstool/uebungBearbeiten']='elabora esercitazione';
$this->phrasen['benotungstool/uebungen']='esercitazioni';
$this->phrasen['benotungstool/uebungenAnlegenUndVerwalten']='crea e gestisci esercitazioni';
$this->phrasen['benotungstool/uebungErfolgreichKopiert']='ok: esercitazione copiata';
$this->phrasen['benotungstool/uebungInAndereLeKopieren']='copia esercitazione in altra lezione';
$this->phrasen['benotungstool/uebungKonnteNichtAngelegtWerden']='impossibile creare esercitazione';
$this->phrasen['benotungstool/uebungKonnteNichtKopiertWerden']='impossibile copiare esercitazione ';
$this->phrasen['benotungstool/uebungsnotenVerwalten']='gestione voti esercitazioni';
$this->phrasen['benotungstool/uebungUndLehreinheit']='scegliere esercitazione e lezione ';
$this->phrasen['benotungstool/uebungVerwalten']='gestisci esercitazione';
$this->phrasen['benotungstool/vonDatumNichtGroesserAlsBisDatum']='da data non può essere superiore a fino a data';
$this->phrasen['benotungstool/vonDatumUngueltigesFormat']='da-data ha un formato non valido';
$this->phrasen['benotungstool/vorbereitet']='preparato';
$this->phrasen['benotungstool/vorhandeneAufgabeBearbeiten']='elabora verifiche inserite';
$this->phrasen['benotungstool/vorhandeneBeispiele']='esempi inseriti';
$this->phrasen['benotungstool/vorhandeneUebungenBearbeiten']='elabora esercitazioni inseriti';
$this->phrasen['benotungstool/vorhandeneUebungenKopieren']='copia esercitazioni inseriti';
$this->phrasen['benotungstool/waehlenSieEineAufgabeAus']='scegliere un ordine da (lista con caselle da barrare, consegne)';
$this->phrasen['benotungstool/waehlenSieEineKreuzerlliste']='scegliere una lista con caselle da barrare';
$this->phrasen['benotungstool/wurdeNichtGefunden']='non trovato';
$this->phrasen['benotungstool/zeugnisnote']='Voto';
$this->phrasen['benotungstool/zeunis']='libretto universitario';
$this->phrasen['benotungstool/zugehoerigeUebungFehlerhaft']='errore in esercitazione correlato';
$this->phrasen['benotungstool/zuVieleBeispieleAngekreuzt']='troppi esempi sbarrati';
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
$this->phrasen['buchungen/betrag']='Importo';
$this->phrasen['buchungen/buchgstyp']='tipologia registrazione';
$this->phrasen['buchungen/buchungsdatum']='data registrazione';
$this->phrasen['buchungen/buchungstext']='testo registrazione';
$this->phrasen['buchungen/titel']='registrazioni';
?>
+61
View File
@@ -0,0 +1,61 @@
<?php
$this->phrasen['coodle/aktion']='azione';
$this->phrasen['coodle/auswahlEndtermin']='scelta termine ultimo';
$this->phrasen['coodle/auswahlHinweis']='la scelta comporta la fissazone del termine ultimo e ultimato il sondaggio. Non è possibile invalidare il processo';
$this->phrasen['coodle/bearbeiten']='editare sondaggio';
$this->phrasen['coodle/beendeteUmfragen']='ultimare sondaggio';
$this->phrasen['coodle/beschreibung']='descrizione';
$this->phrasen['coodle/coodle']='Coodle';
$this->phrasen['coodle/coodleId']='coodle_id';
$this->phrasen['coodle/dauer']='durata scadenza';
$this->phrasen['coodle/dauerminuten']='minuti';
$this->phrasen['coodle/dragEvent']='scadenza ';
$this->phrasen['coodle/einladungNeuVerschicken']='spedire di nuovo inviti';
$this->phrasen['coodle/email']='email';
$this->phrasen['coodle/endedatum']='fine del sondaggio';
$this->phrasen['coodle/erfolgreichGestartet']='sondaggio attivato';
$this->phrasen['coodle/ersteller']='creato da';
$this->phrasen['coodle/erstelltVon']='creato da %s ( %s giorni fa) ';
$this->phrasen['coodle/externeBeschreibung']='inserire il nome e l\'indirizzo email della persona che si vuole aggiungere al sondaggio';
$this->phrasen['coodle/externenHinzufuegen']='aggiungi';
$this->phrasen['coodle/externePersonhinzu']='aggiungi persona esterna';
$this->phrasen['coodle/keineAuswahl']='nessuna scelta';
$this->phrasen['coodle/keineBerechtigung']='errore di autorizzazione per questo sondaggio';
$this->phrasen['coodle/keineOderMehrereRäume']='inserisci nessuno o più aule';
$this->phrasen['coodle/keineRessourcenVorhanden']='nessun partecipante correlato';
$this->phrasen['coodle/keineTermineVorhanden']='nessuna scadenza inserita per questo sondaggio';
$this->phrasen['coodle/laufendeUmfragen']='sondaggi attivi';
$this->phrasen['coodle/letzterStatus']='ultimo stato';
$this->phrasen['coodle/loeschen']='cancella sondaggio';
$this->phrasen['coodle/mailVersandtAn']='ok, messaggio spedito a %s';
$this->phrasen['coodle/name']='nome';
$this->phrasen['coodle/neuerEintrag']='nuovo sondaggio';
$this->phrasen['coodle/neueUmfrage']='crea nuovo sondaggio';
$this->phrasen['coodle/raumBelegt']='impossibile prenotare aula %s, l\'aula è occupata!';
$this->phrasen['coodle/raumErfolgreichReserviert']='ok, aula %s prenotata';
$this->phrasen['coodle/raumNichtReserviert']='Attenzione: non è stata prenotata l\'aula scelta; impossibile effettuare attualmente prenotazioni dopo il %s ';
$this->phrasen['coodle/ReservierungNichtMoeglich']='Attenzione: impossibile effettuare attualmente prenotazioni dopo il %s ';
$this->phrasen['coodle/ressource']='risorsa / partecipante';
$this->phrasen['coodle/ressourceEntfernen']='cancella risorsa';
$this->phrasen['coodle/ressourcen']='risorse / partecipante';
$this->phrasen['coodle/ressourcenBeschreibung']='Qui è possibile aggiungere aule e persone al sondaggio. <br><br> inserire nome nel campo di testo e scegliere l\'annotazione corrispondente.';
$this->phrasen['coodle/Ressourcenhinzu']='aggiungi risorse';
$this->phrasen['coodle/startBeschreibung']='cliccare qui per informare i partecipanti e lanciare il sondaggio';
$this->phrasen['coodle/terminauswahl']='Coodle scelta scadenze';
$this->phrasen['coodle/termine']='gestisci scadenze';
$this->phrasen['coodle/terminZiehenBeschreibung']='portare la scadenza nella posizione scelata per inserire proposte di scadenza ';
$this->phrasen['coodle/titel']='titolo';
$this->phrasen['coodle/uebersicht']='Coodle - panoramica';
$this->phrasen['coodle/umfrageAbgeschlossen']='il sondaggio è chiuso';
$this->phrasen['coodle/umfrageKonnteNichtGeloeschtWerden']='impossibile cancellare il sondaggio';
$this->phrasen['coodle/umfrageNichtGeladen']='impossibile caricare il sondaggio';
$this->phrasen['coodle/umfrageNichtGueltig']='sondaggio invalidato';
$this->phrasen['coodle/umfrageNochNichtGestartet']='sondaggio da lanciare';
$this->phrasen['coodle/umfrageStarten']='lancia sondaggio';
$this->phrasen['coodle/umfrageWurdeBereitsGestartet']='sondaggio già lanciato';
$this->phrasen['coodle/weiterZurTerminauswahl']='prosegui per la scelta scadenza';
$this->phrasen['coodle/ZurueckzumBearbeiten']='&lt;&lt; torna all\'elaborazione';
$this->phrasen['coodle/zurueckZurUebersicht']='torna alla panoramica';
$this->phrasen['coodle/zurueckZurUebersicht']='torna alla panoramica';
$this->phrasen['coodle/zurUmfrage']='vai al sondaggio';
?>
+46
View File
@@ -0,0 +1,46 @@
<?php
$this->phrasen['courseInformation/achtungFehlerBeimSpeichern']='Attenzione: errore di salvataggio dei dati! Si prega di riprovare ';
$this->phrasen['courseInformation/bearbeitetVon']='elaborato da';
$this->phrasen['courseInformation/beiFehlernInDenFixfeldern']='\'in caso di errori nei campi fissi rivolgersi all\' <a class="Item" href="mailto:%s"> assistente incaricata </a> .\';';
$this->phrasen['courseInformation/beispielComputerarchitektur']='esempi architettura PC';
$this->phrasen['courseInformation/beispielItProjektarbeitDeutsch']='esempi elaborati progetto IT tedesco';
$this->phrasen['courseInformation/beispielItProjektarbeitEnglisch']='esempi elaborati progetto IT inglese';
$this->phrasen['courseInformation/beispielMSEChangeManagement']='Esempi MSE Change Management e softwareevolution';
$this->phrasen['courseInformation/beispielProjektmarketing']='Esempi marketing e controlling per lavori a progetto ';
$this->phrasen['courseInformation/deutschFreigeben']='attivare informazioni in tedesco della lezione';
$this->phrasen['courseInformation/diesIstEineAutomatischeMail']='questo è un messaggio automatico';
$this->phrasen['courseInformation/ectsCredits']='';
$this->phrasen['courseInformation/ectsInformation']='';
$this->phrasen['courseInformation/ectsLvInfo']='';
$this->phrasen['courseInformation/englischFreigeben']='attivare informazioni inglese della lezione';
$this->phrasen['courseInformation/fallsSieAufzaehlungslistenVerwenden']='se si vogliono utilizzare liste si prega di inserirle nel modo seguente: <br/> <font style="color:blue">&lt;ul&gt;</font><br/><font style="color:green">&lt;li&gt;</font>Listeneintrag1<font style="color:green">&lt;/li&gt;</font><font style "color:green">&lt;li&gt;</font>Listeneintrag2<font style "color:green">&lt;/li&gt;</font><br/><font style "color:blue">&lt;/ul&gt;</font>\';';
$this->phrasen['courseInformation/fehlerBeimSchreibenDesLog']='errore di scrittura del log file';
$this->phrasen['courseInformation/fehlerBeimSendenAufgetreten']='errore di trasmissione della mail di attivazione a %s';
$this->phrasen['courseInformation/fehlerLogFile']='errore di scrittura del log file';
$this->phrasen['courseInformation/freigabe']='attiva';
$this->phrasen['courseInformation/freigabeLvinfo']='attiva informazioni della lezione';
$this->phrasen['courseInformation/freigabemailWurdeVersandt']='ok: mail di attivazione spedito a %s';
$this->phrasen['courseInformation/freigeben']='attivare';
$this->phrasen['courseInformation/freigegeben']='arrivare informazioni della lezione';
$this->phrasen['courseInformation/incomingplaetze']='posti incoming';
$this->phrasen['courseInformation/institutskoordinator']='coordinatore o coordinatrice d\'istituto';
$this->phrasen['courseInformation/institutsleiter']='';
$this->phrasen['courseInformation/konnteKeinFreigabemailVersendetWerden']='errore di trasmissione della mai di attivazione delle informazioni della lezione';
$this->phrasen['courseInformation/lehrendeLautLehrauftrag']='lettore previsto dall\'incarico';
$this->phrasen['courseInformation/lvInfoBeispiele']='informazioni della lezione - esempi';
$this->phrasen['courseInformation/lvInfoFreigabe']='informazioni della lezione - attivazione';
$this->phrasen['courseInformation/lvInfoSemester']='informazione della lezione - %s - %s. Semestre';
$this->phrasen['courseInformation/lvinfoWurdeUeberarbeitet']='%s ha elaborato le informazioni della lezione %s e richiede di attivarle';
$this->phrasen['courseInformation/nochNichtFreigegeben']='informazioni della lezione non ancora attivate';
$this->phrasen['courseInformation/online']='online';
$this->phrasen['courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt']='i campi necessari sono visibili anche sulla pagina web ufficiale e devono perciò essere compilati';
$this->phrasen['courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben']='queste possono essere attivate seguendo il link ';
$this->phrasen['courseInformation/terminologie']='terminologia';
$this->phrasen['courseInformation/terminologieDeutschEnglisch']='terminologia tedesco-inglese';
$this->phrasen['courseInformation/unterrichtssprache']='lingua della lezione';
$this->phrasen['courseInformation/updateAm']='update del ';
$this->phrasen['courseInformation/voransicht']='';
$this->phrasen['courseInformation/zurFreigabeAbschicken']='spedire per l\'attivazione';
$this->phrasen['courseInformatoin/lvInfoTerminologie']='informazioni della lezione - terminologia';
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
$this->phrasen['dms_link/abgabetoolAssistenzHandbuch']='28 ';
$this->phrasen['dms_link/abgabetoolLektorHandbuch']='28 ';
$this->phrasen['dms_link/abgabetoolStudentHandbuch']='27 ';
$this->phrasen['dms_link/anleitungMailverteiler']='7578 ';
$this->phrasen['dms_link/bedienungsanleitungMailverteiler']='1474 ';
$this->phrasen['dms_link/benotungstoolHandbuch']='32 ';
$this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475 ';
$this->phrasen['dms_link/bildRichtlinien']='6174 ';
$this->phrasen['dms_link/cisHandbuch']='764 ';
$this->phrasen['dms_link/dokuwikiGesamtnote']='';
$this->phrasen['dms_link/handbuchUrlaubsverwaltung']='759 ';
$this->phrasen['dms_link/handbuchZeitaufzeichnung']='1545';
$this->phrasen['dms_link/iconPDF']='46 ';
$this->phrasen['dms_link/lvPlanFAQ']='6887 ';
$this->phrasen['dms_link/lvplanSyncFAQ']='7188 ';
$this->phrasen['dms_link/moodleHandbuch']='33 ';
$this->phrasen['dms_link/moodleHandbuch24']='1426 ';
$this->phrasen['dms_link/profilhilfe']='';
$this->phrasen['dms_link/sicherheitAnDerFHTW']='6765 ';
$this->phrasen['dms_link/veranstaltungsleitfaden']='133 ';
?>
+75
View File
@@ -0,0 +1,75 @@
<?php
$this->phrasen['eventkalender/aenderungVon']='modifica del';
$this->phrasen['eventkalender/alleKategorien']='tutte le categorie';
$this->phrasen['eventkalender/alleWochenOeffnen']='apri tutte le settimane';
$this->phrasen['eventkalender/alleWochenSchliessen']='chiudi tutte le settimane';
$this->phrasen['eventkalender/am']='il';
$this->phrasen['eventkalender/angelegt']='inserito';
$this->phrasen['eventkalender/angelegtVon']='inserito da ';
$this->phrasen['eventkalender/beiFragenGebenSieImmerDieVeranstaltungsIDan']='per ulteriori informazioni è necessario inserire la ID dell\'evento';
$this->phrasen['eventkalender/beiFragenGebenSieImmerDieVeranstaltungsIdXYan']='per ulteriori informazioni è necessario inserire la ID dell\'evento %s';
$this->phrasen['eventkalender/bild']='immagine';
$this->phrasen['eventkalender/bildladen']='carica immagine';
$this->phrasen['eventkalender/datumBis']='data fino al';
$this->phrasen['eventkalender/datumVon']='data dal';
$this->phrasen['eventkalender/details']='dettagli';
$this->phrasen['eventkalender/durch']='da ';
$this->phrasen['eventkalender/einJahrVor']='1 anno dopo';
$this->phrasen['eventkalender/einJahrZurueck']='1 anno prima';
$this->phrasen['eventkalender/einMonatVor']='1 mese dopo';
$this->phrasen['eventkalender/einMonatZurueck']='1 mese prima';
$this->phrasen['eventkalender/farbe']='colore';
$this->phrasen['eventkalender/fehlerBeimLesenDerVeranstaltungskategorie']='errore di lettura della categoria dell\'evento';
$this->phrasen['eventkalender/fehlerStartKleinerEnde']='Errore! Inizio e termine non plausibili';
$this->phrasen['eventkalender/freigabe']='attiva';
$this->phrasen['eventkalender/freigabeVon']='attivato da';
$this->phrasen['eventkalender/ganztaegigeVeranstaltung']='evento tutta la giornata';
$this->phrasen['eventkalender/geaendert']='modificato';
$this->phrasen['eventkalender/geloescht']='cancellato';
$this->phrasen['eventkalender/ID']='ID';
$this->phrasen['eventkalender/jahresplan']='programmazione annuale';
$this->phrasen['eventkalender/jahrIstUngueltig']='errore: anno';
$this->phrasen['eventkalender/kategorie']='categoria';
$this->phrasen['eventkalender/kategorienBearbeiten']='elabora categorie';
$this->phrasen['eventkalender/keineBerechtigungAufAnwenderinformationen']='impossibile accedere alle infomazioni per l\'utente (attivazione, creazione, modifica) per mancanza di autorizzazione';
$this->phrasen['eventkalender/keineFreigabe']='non attivato';
$this->phrasen['eventkalender/keineGueltigeZeit']='errore: orario!\nInserire orario in formato: HH:MM ';
$this->phrasen['eventkalender/keineVeranstaltungen']='nessun evento';
$this->phrasen['eventkalender/keineVeranstaltungGefunden']='nessun evento trovato';
$this->phrasen['eventkalender/keineVeranstaltungsIdUebergeben']='manca ID evento ';
$this->phrasen['eventkalender/keinGueltigesDatum']='errore: data!\nInserire dara in formato: DD.MM.YYYY ';
$this->phrasen['eventkalender/kurzbezeichnung']='sigla';
$this->phrasen['eventkalender/kurzbezeichnungenMitEinemStern']='abbreviazioni con anteposto * (asterisco) mostrano solo collaboratori e lettori';
$this->phrasen['eventkalender/kw']='settimana dell\'anno';
$this->phrasen['eventkalender/monatIstUngueltig']='errore: mese';
$this->phrasen['eventkalender/neuanlage']='nuovo inserimento';
$this->phrasen['eventkalender/oeffnen']='apri';
$this->phrasen['eventkalender/pflichtfeld']='campo obbligatorio';
$this->phrasen['eventkalender/reserviertVon']='prenotato da';
$this->phrasen['eventkalender/reservierungenInEinemNeuenFensterAnzeigen']='mostra prenotazioni in nuova videata';
$this->phrasen['eventkalender/reservierungenKoennenErstNachDemSpeichernZugeordnetWerden']='sarà possibile attribuire le prenotazioni solo dopo aver registrato l\'evento';
$this->phrasen['eventkalender/reservierungenZurVeranstaltungsID']='prenotazioni evento con ID';
$this->phrasen['eventkalender/reservierungID']='ID prenotazione';
$this->phrasen['eventkalender/schliessen']='chiudi';
$this->phrasen['eventkalender/sollDieHauptseiteNeuAufgebautWerden']='ricaricare la pagina principale?';
$this->phrasen['eventkalender/suche']='cerca';
$this->phrasen['eventkalender/suchtext']='testo per ricerca';
$this->phrasen['eventkalender/uhr']='orologio';
$this->phrasen['eventkalender/uhrzeit']='ora';
$this->phrasen['eventkalender/veranstaltung']='evento';
$this->phrasen['eventkalender/veranstaltungBearbeiten']='elabora evento';
$this->phrasen['eventkalender/veranstaltungen']='eventi';
$this->phrasen['eventkalender/veranstaltungenAnzeigen']='mostra eventi';
$this->phrasen['eventkalender/veranstaltungIdIstUngueltig']='ID evento non valida';
$this->phrasen['eventkalender/veranstaltungIdXYwurdeNichtGefunden']='impossibile trovare ID evento %s';
$this->phrasen['eventkalender/veranstaltungsdetailID']='dettaglio evento ID';
$this->phrasen['eventkalender/veranstaltungsID']='ID evento ';
$this->phrasen['eventkalender/veranstaltungskategorie']='categoria evento';
$this->phrasen['eventkalender/veranstaltungsleitfaden']='guida evento';
$this->phrasen['eventkalender/veranstaltungXYgeloescht']='cancellato evento %s ';
$this->phrasen['eventkalender/voransicht']='anteprima';
$this->phrasen['eventkalender/woche']='settimana';
$this->phrasen['eventkalender/wochenindexWurdeNichtGefunden']='impossibile trovare indice settimana %s';
$this->phrasen['eventkalender/wollenSieWirklichIdXYloeschen']='conferma cancellazione ID %s';
?>
+9
View File
@@ -0,0 +1,9 @@
<?php
$this->phrasen['feedback/absatz1']='';
$this->phrasen['feedback/erfolgreichEingetragen']='il messaggio è stato registrato';
$this->phrasen['feedback/feedbackNichtWeitergeleitet']='il feedback non è stato spedito';
$this->phrasen['feedback/ihreNachrichtWurdeWeitergeleitet']='il messaggio è stato inoltrato al personale competente';
$this->phrasen['feedback/vielenDankFuerIhrFeedback']='grazie del feedback!';
$this->phrasen['feedback/wendenSieSichAnDieAdministration']='si prega di rivolgersi all\'amministrazione';
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
$this->phrasen['freebusy/aktiv']='attivo';
$this->phrasen['freebusy/beschreibungstext1']='su questo sito è possibile riassumere per la propria URL FreeBusy personale diverse informazioni esterne sulla disponibilità. <br>';
$this->phrasen['freebusy/LVPlanBezeichnung']='progamma lezioni personale';
$this->phrasen['freebusy/LVPlanTyp']='programma lezioni';
$this->phrasen['freebusy/neuerEintrag']='aggiungi nuova registrazione';
$this->phrasen['freebusy/PfadZuFreebusyUrl']='la URL FreeBusy personale è raggiungibile dal seguente link:';
$this->phrasen['freebusy/titel']='gestione FreeBusy';
$this->phrasen['freebusy/typ']='tipo';
$this->phrasen['freebusy/url']='URL';
$this->phrasen['freebusy/urlKannNichtGeladenWerden']='impossibile raggiungere la URL inserita';
?>
+18
View File
@@ -0,0 +1,18 @@
<?php
$this->phrasen['freifach/abmeldungNurUeberAssistenz']='Attenzione: il ritiro da una materia facoltativa è momentaneamente possibile solo tramite la Segreteria Studenti ';
$this->phrasen['freifach/auswahl']='scelta';
$this->phrasen['freifach/bitteFreifachAuswaehlen']='si prega di scegliere una delle materie facoltative';
$this->phrasen['freifach/datenErfolgreichAktualisiert']='i dati sono stati attualizzati';
$this->phrasen['freifach/fehlerBeimAktualisieren']='errore in sede di aggiornamento dell\'attribuzione dei corsi facoltativi! Si prega di riprovare ';
$this->phrasen['freifach/fehlerBeimAuslesen']='errore di lettura dello specchietto di attribuzione';
$this->phrasen['freifach/fehlerBeimAuslesenFreifach']='errore di lettura dei corsi facoltativi: Si prega di riprovare ';
$this->phrasen['freifach/freifach']='corso facoltativo';
$this->phrasen['freifach/freifaecher']='corsi facoltativi';
$this->phrasen['freifach/freifaecherAnmeldung']='iscrizione ai corsi facoltativi';
$this->phrasen['freifach/freifaecherAnmeldungsuebersicht']='panoramica iscrizione ai corsi facoltativi';
$this->phrasen['freifach/freifaecherNichtZugeteilt']='errore di attribuzione dei corsi facoltativi! Si prega di riprovare';
$this->phrasen['freifach/keineAnmeldungenFuerDiesesFreifach']='ancora nessuna iscrizione per questo corso';
$this->phrasen['freifach/MailAnAlleSenden ']='spedisci mail a tutti gli iscritti al presente corso facoltativo';
$this->phrasen['freifach/markierenFreifachFuerAnmeldung']='cliccare i corsi facoltativi per i quali si desidera l\'iscrizione';
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
$this->phrasen['gesamtnote/keinNotenschluesselvorhanden']='per la presente lezione non è stata definita la chiave di voto';
$this->phrasen['gesamtnote/notenschluesselanzeigen']='mostra chiave di voto';
$this->phrasen['gesamtnote/noteUnveraendert']='voto invariato';
$this->phrasen['gesamtnote/passwortFalsch']='errore in sede di attivazione dei voti: la password trasmessa non è corretta';
$this->phrasen['gesamtnote/wollenSieWirklichLoeschen']='conferma cancellazione delle registrazioni cliccate? Tutte le caselle barrate andranno perse';
?>
+158
View File
@@ -0,0 +1,158 @@
<?php
$this->phrasen['global/abbrechen']='annulla';
$this->phrasen['global/abmelden']='esci';
$this->phrasen['global/abschicken']='spedisci ';
$this->phrasen['global/adresse']='indirizzo';
$this->phrasen['global/aendern']='modifica';
$this->phrasen['global/aktion']='azione';
$this->phrasen['global/alle']='tutti';
$this->phrasen['global/allgemeinerdownload']='download generale';
$this->phrasen['global/angelegtAm']='registrato il ';
$this->phrasen['global/angemeldet']='iscritto';
$this->phrasen['global/anleitung']='istruzioni';
$this->phrasen['global/anmelden']='iscriversi';
$this->phrasen['global/anmerkung']='osservazioni';
$this->phrasen['global/anmerkungen']='osservazioni';
$this->phrasen['global/anzeigen']='mostra';
$this->phrasen['global/ausblenden']='';
$this->phrasen['global/auswaehlen']='';
$this->phrasen['global/auswahl']='';
$this->phrasen['global/bearbeiten']='modifica';
$this->phrasen['global/beginn']='inizio';
$this->phrasen['global/beispiele']='esempi';
$this->phrasen['global/benutzer']='utente';
$this->phrasen['global/beschreibung']='descrizione';
$this->phrasen['global/betreff']='oggetto';
$this->phrasen['global/bezeichnung']='denominazione';
$this->phrasen['global/bis']='fino';
$this->phrasen['global/code']='codice';
$this->phrasen['global/datei']='file';
$this->phrasen['global/dateiErfolgreichHochgeladen']='il file è stato caricato';
$this->phrasen['global/dateiExistiertNicht']='il file è inesistente';
$this->phrasen['global/dateiLoeschen']='cancella file';
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='impossibile caricare il file. Si prega di ripetere l\'operazione.';
$this->phrasen['global/datensatzWurdeNichtGefunden']='impossibile trovare i dati cercati';
$this->phrasen['global/datenWurdenGespeichert']='i dati sono stati salvati';
$this->phrasen['global/datum']='Data';
$this->phrasen['global/datumNichtGesetzt']='non è stata impostata la data';
$this->phrasen['global/deutsch']='tedesco';
$this->phrasen['global/dienstag']='martedì';
$this->phrasen['global/donnerstag']='giovedì ';
$this->phrasen['global/download']='download';
$this->phrasen['global/editieren']='editare';
$this->phrasen['global/eintragen']='registrare';
$this->phrasen['global/eintragWurdeGeloescht']='cancellata registrazione';
$this->phrasen['global/emailAdresse']='indirizzo e-mail';
$this->phrasen['global/emailAnAssistenz']='e-mail alla segreteria';
$this->phrasen['global/emailgesendetan']='spedisci e-mail a';
$this->phrasen['global/ende']='fine';
$this->phrasen['global/englisch']='inglese';
$this->phrasen['global/entfernen']='cestina';
$this->phrasen['global/erfolgreichAngelegt']='ok, registrato';
$this->phrasen['global/erfolgreichgelöscht']='ok, cancellato';
$this->phrasen['global/erfolgreichgespeichert']='ok, salvato';
$this->phrasen['global/erstellen']='crea';
$this->phrasen['global/fax']='fax';
$this->phrasen['global/fehleraufgetreten']='è avvenuto un errore';
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='errore di trasmissione dei parametri';
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='errore di aggiornamento dei dati';
$this->phrasen['global/fehlerBeimErmittelnDerUID ']='errore di ricerca della UID';
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='errore di caricamento dei dati';
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='errore di lettura dalla banca dati';
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='errore di cancellazione della registrazione';
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='errore di apertura del collegamento con la banca dati';
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='errore di salvataggio dati';
$this->phrasen['global/fhTechnikumWien']='SFU';
$this->phrasen['global/fhtw']='Sigmund Freud PrivatUniversität';
$this->phrasen['global/frau']='Sig.ra';
$this->phrasen['global/freitag']='venerdì';
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='per questa azione si necessita l\'amministratore del sistema';
$this->phrasen['global/funktion']='funzione';
$this->phrasen['global/geburtsdatum']='Data di nascita';
$this->phrasen['global/geburtsort']='Luogo di nascita';
$this->phrasen['global/geschaeftsfuehrendeltg']='Amministratore';
$this->phrasen['global/geschlecht']='';
$this->phrasen['global/gruppe']='Gruppo';
$this->phrasen['global/handbuch']='Manuale';
$this->phrasen['global/handy']='Cellulare';
$this->phrasen['global/hauptwohnsitz']='Residenza ';
$this->phrasen['global/hilfe']='Assistenza';
$this->phrasen['global/hinzufuegen']='aggiungi';
$this->phrasen['global/institut']='Istituto';
$this->phrasen['global/ja']='sì';
$this->phrasen['global/kalender']='Calendario';
$this->phrasen['global/keineBerechtigung']='non autorizzato';
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='errore di autorizzazione per questa pagina';
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='errore di autorizzazione per modificare i dati';
$this->phrasen['global/keineDatenGefunden']='impossibile trovare i dati';
$this->phrasen['global/kopieren']='copia';
$this->phrasen['global/LDAPserverNichtErreichbar']='il server LDAP non è raggiungibile';
$this->phrasen['global/lehreinheit']='';
$this->phrasen['global/lehrveranstaltung']='Insegnamento';
$this->phrasen['global/lehrziele']='obiettivi di studio';
$this->phrasen['global/loeschen']='cancella';
$this->phrasen['global/löschen']='cancella';
$this->phrasen['global/mail']='messaggio mail';
$this->phrasen['global/mann']='maschio/uomo';
$this->phrasen['global/matrikelnummer']='numero di matricola';
$this->phrasen['global/minute']='minuti';
$this->phrasen['global/mittwoch']='mercoledì';
$this->phrasen['global/montag']='lunedì';
$this->phrasen['global/nachname']='Cognome';
$this->phrasen['global/name']='nome';
$this->phrasen['global/nebenwohnsitz']='domicilio';
$this->phrasen['global/nein']='no';
$this->phrasen['global/neu']='nuovo';
$this->phrasen['global/newsgroups']='newsgroup';
$this->phrasen['global/nichtAngemeldet ']='errore di log in: impossibile trovare l\'UID dell\'utente ';
$this->phrasen['global/nummer']='numero';
$this->phrasen['global/ok']='ok';
$this->phrasen['global/organisationseinheit']='Unità organizzativa';
$this->phrasen['global/organisationseinheiten']='';
$this->phrasen['global/ort']='luogo';
$this->phrasen['global/passwort']='Password';
$this->phrasen['global/person']='persona';
$this->phrasen['global/personen']='persone ';
$this->phrasen['global/personenkennzeichen']='Codice Persona';
$this->phrasen['global/personenkz']='Codice Persona';
$this->phrasen['global/plz']='CAP';
$this->phrasen['global/postnomen']='Titolo';
$this->phrasen['global/samstag']='sabato';
$this->phrasen['global/sekretariat']='segreteria';
$this->phrasen['global/semester']='Semestre';
$this->phrasen['global/sonntag']='domenica';
$this->phrasen['global/speichern']='salva';
$this->phrasen['global/sprache']='lingua';
$this->phrasen['global/staatsbuergerschaft']='cittadinanza';
$this->phrasen['global/stellvertreter']='supplenza ';
$this->phrasen['global/strasse']='via';
$this->phrasen['global/studentenvertreter']='rappresentanti degli studendi';
$this->phrasen['global/studiengang']='Corso di studi';
$this->phrasen['global/studiengangKonnteNichtGefundenWerden ']='impossibile trovare corso di studi digitato';
$this->phrasen['global/studiengangsleitung']='Direzione del corso di studi';
$this->phrasen['global/studiengangsmanagement']='Management del corso di studi';
$this->phrasen['global/studienrichtung']='indirizzo di studio';
$this->phrasen['global/studiensemester']='Semestre di studio';
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden ']='impossibile trovare semestre di studio digitato';
$this->phrasen['global/studienzentrum']='';
$this->phrasen['global/stunde']='ora';
$this->phrasen['global/suchen']='cerca';
$this->phrasen['global/telefon']='telefono';
$this->phrasen['global/telefonnummer']='numero telefonico';
$this->phrasen['global/titel']='Titolo';
$this->phrasen['global/uid']='UID';
$this->phrasen['global/umbenennen']='cambia nome';
$this->phrasen['global/unbekannterFehleraufgetreten']='è avvenuto un errore sconosciuto';
$this->phrasen['global/universität']='università';
$this->phrasen['global/username']='Username';
$this->phrasen['global/userNichtGefunden']='';
$this->phrasen['global/verband']='Gruppo Principale';
$this->phrasen['global/von']='inizio';
$this->phrasen['global/vorname']='Nome';
$this->phrasen['global/warnungWirklichLoeschen']='';
$this->phrasen['global/zurueck']='Indietro';
$this->phrasen['global/zuruecksetzen']='';
$this->phrasen['global/zweck']='';
$this->phrasen['global/ects']='ECTS';
?>
+115
View File
@@ -0,0 +1,115 @@
<?php
$this->phrasen['incoming/abgelegtam']='archiviato il (data, gg.mm.aaaa)';
$this->phrasen['incoming/abgelegtin']='archiviato in (nome dell\'istituzione)';
$this->phrasen['incoming/abgelegtinort']='archiviato in (xxxxx)';
$this->phrasen['incoming/alleSemester']='tutti i semestri';
$this->phrasen['incoming/alleSprachen']='tutte le lingue';
$this->phrasen['incoming/anmerkungen']='';
$this->phrasen['incoming/ansprechpersonHeimatuniversitaet']='';
$this->phrasen['incoming/aufgrundEinerBehinderung']='';
$this->phrasen['incoming/austauschprgramwählen']='';
$this->phrasen['incoming/austauschprogram']='';
$this->phrasen['incoming/auswahlDerLv']='';
$this->phrasen['incoming/auswahlUniversitaeten']='';
$this->phrasen['incoming/bachelorstudiengang']='';
$this->phrasen['incoming/bachelorthesis']='';
$this->phrasen['incoming/betreuerMasterBachelor']='';
$this->phrasen['incoming/bitteCodeEingeben']='';
$this->phrasen['incoming/dateien']='';
$this->phrasen['incoming/dateiname']='';
$this->phrasen['incoming/deutschkurs1']='';
$this->phrasen['incoming/deutschkurs2']='';
$this->phrasen['incoming/deutschkurs3']='';
$this->phrasen['incoming/deutschkurse']='';
$this->phrasen['incoming/dokument']='documento';
$this->phrasen['incoming/dokumenttyp']='tipo';
$this->phrasen['incoming/ects']='';
$this->phrasen['incoming/eigenelehrveranstaltungen']='';
$this->phrasen['incoming/eigeneuniversitaet']='';
$this->phrasen['incoming/erasmusIntensivsprachkurs']='';
$this->phrasen['incoming/fehlerAdresse']='errore nell\'inserimento dell\'indirizzo';
$this->phrasen['incoming/fehlerBeimLoeschenDerLv']='errore in sede di cancellazione dell\'evento';
$this->phrasen['incoming/fehlerIncoming']='errore nell\'inserimento der Preincoming ';
$this->phrasen['incoming/fehlerKontakt']='errore nell\'inserimento del contatto';
$this->phrasen['incoming/fileupload']='';
$this->phrasen['incoming/filter']='';
$this->phrasen['incoming/freieplätze']='';
$this->phrasen['incoming/geaendertesLA']='';
$this->phrasen['incoming/hauptmenue']='';
$this->phrasen['incoming/heimatuniversitaet']='';
$this->phrasen['incoming/jahrestudiert']='';
$this->phrasen['incoming/keiner']='';
$this->phrasen['incoming/learningAgreement']='';
$this->phrasen['incoming/learningagreementerstellen']='';
$this->phrasen['incoming/lebenslauf']='';
$this->phrasen['incoming/lehrveranstaltungen']='';
$this->phrasen['incoming/lehrveranstaltungenauswählen']='';
$this->phrasen['incoming/lichtbild']='';
$this->phrasen['incoming/loeschen']='';
$this->phrasen['incoming/masterstudiengang']='';
$this->phrasen['incoming/masterthesis']='';
$this->phrasen['incoming/motivationsschreiben']='';
$this->phrasen['incoming/name']='';
$this->phrasen['incoming/nation']='';
$this->phrasen['incoming/neuenOutgoingAnlegen']='';
$this->phrasen['incoming/nichtMehrAlsDreiUniversitaeten']='';
$this->phrasen['incoming/nothesis']='';
$this->phrasen['incoming/orgform']='';
$this->phrasen['incoming/ort']='';
$this->phrasen['incoming/outgoingRegistration']='';
$this->phrasen['incoming/personimernstfall']='';
$this->phrasen['incoming/persönlichedateneditieren']='';
$this->phrasen['incoming/praktikum']='';
$this->phrasen['incoming/praktikumBis']='';
$this->phrasen['incoming/praktikumVon']='';
$this->phrasen['incoming/profil']='';
$this->phrasen['incoming/programmAuswahl']='';
$this->phrasen['incoming/projektarbeitstitel']='';
$this->phrasen['incoming/registration']='';
$this->phrasen['incoming/registrationEmail']='';
$this->phrasen['incoming/researcharea']='';
$this->phrasen['incoming/sommersemester']='';
$this->phrasen['incoming/sprachkurs']='';
$this->phrasen['incoming/sprachkursBis']='';
$this->phrasen['incoming/sprachkursVon']='';
$this->phrasen['incoming/studentenImSS']='';
$this->phrasen['incoming/studentenImWS']='';
$this->phrasen['incoming/studienrichtung']='';
$this->phrasen['incoming/studienrichtungGastuniversitaet']='';
$this->phrasen['incoming/studiertbis']='';
$this->phrasen['incoming/studiertvon']='';
$this->phrasen['incoming/summerschool']='';
$this->phrasen['incoming/thesis']='';
$this->phrasen['incoming/übersichtlehrveranstaltungen']='';
$this->phrasen['incoming/uebersichtLv']='panoramica corsi';
$this->phrasen['incoming/ungueltigeIdUebergeben']='';
$this->phrasen['incoming/ungueltigerbenutzer']='';
$this->phrasen['incoming/unitcode']='';
$this->phrasen['incoming/universitaet']='';
$this->phrasen['incoming/universitätsname']='';
$this->phrasen['incoming/universitätsnameerweitert']='';
$this->phrasen['incoming/uploadCv']='';
$this->phrasen['incoming/uploadLearningAgreement']='';
$this->phrasen['incoming/uploadvondateien']='';
$this->phrasen['incoming/verwaltungVonDateien']='';
$this->phrasen['incoming/vorbereitenderSprachkurs']='';
$this->phrasen['incoming/währendDesAuslandsaufenthaltes']='';
$this->phrasen['incoming/warteAufFreigabe']='';
$this->phrasen['incoming/weiter']='';
$this->phrasen['incoming/welcomeToUAS']='';
$this->phrasen['incoming/wennVorhanden']='';
$this->phrasen['incoming/wilkommenAnFh']='';
$this->phrasen['incoming/willkommenBeiOutgoingAnmeldung']='';
$this->phrasen['incoming/wintersemester']='';
$this->phrasen['incoming/wochenstunden']='';
$this->phrasen['incoming/zeitraumBis']='';
$this->phrasen['incoming/zeitraumVon']='';
$this->phrasen['incoming/zeugnis']='';
$this->phrasen['incoming/zugangscode']='';
$this->phrasen['incoming/zugangsvoraussetzung']='';
$this->phrasen['incoming/zugangsvoraussetzungFussnote']='';
$this->phrasen['incoming/zugangsvoraussetzungmaster']='';
$this->phrasen['incoming/zurAnmeldung']='';
$this->phrasen['incoming/zusaetzlicheDaten']='';
?>
+37
View File
@@ -0,0 +1,37 @@
<?php
$this->phrasen['lehre/abmelden']='esci';
$this->phrasen['lehre/abmeldung']='uscita';
$this->phrasen['lehre/AbmeldungAusGruppeNichtMoeglich']='';
$this->phrasen['lehre/AbmeldungErfolgreich']='';
$this->phrasen['lehre/anwesenheitsUndNotenlisten']='';
$this->phrasen['lehre/benotungstoolHandbuch']='';
$this->phrasen['lehre/confirmAbmeldung']='';
$this->phrasen['lehre/download']='';
$this->phrasen['lehre/feedback']='feedback';
$this->phrasen['lehre/gesamtnote']='';
$this->phrasen['lehre/keineLektorenZugeordnet']='';
$this->phrasen['lehre/keinMailverteiler']='';
$this->phrasen['lehre/kreuzerltool']='strumenti per esercitazioni<br>(tool con caselle da barrare)';
$this->phrasen['lehre/kreuzerltoolMitMoodleInfo']='';
$this->phrasen['lehre/Lehrbeauftrager']='';
$this->phrasen['lehre/lehrveranstaltungsinformation']='';
$this->phrasen['lehre/leistungsuebersicht']='';
$this->phrasen['lehre/lvInfoBearbeiten']='';
$this->phrasen['lehre/mail']='';
$this->phrasen['lehre/moodle']='';
$this->phrasen['lehre/moodleHandbuch']='';
$this->phrasen['lehre/moodleMitKreuzerltoolInfo']='';
$this->phrasen['lehre/moodleWartung']='';
$this->phrasen['lehre/newsgroups']='';
$this->phrasen['lehre/nichtzugeteilt']='';
$this->phrasen['lehre/pinboard']='';
$this->phrasen['lehre/semesterplan']='';
$this->phrasen['lehre/semesterplanUpload']='';
$this->phrasen['lehre/semesterplanVorlage']='';
$this->phrasen['lehre/semesterplanVorlageHilfe']='';
$this->phrasen['lehre/studentenAbgabe']='';
$this->phrasen['lehre/upload']='';
$this->phrasen['lehre/ziparchiv']='';
$this->phrasen['lehre/ziparchivTitle']='scarica tutti i file in directory download in formato zip';
?>
+32
View File
@@ -0,0 +1,32 @@
<?php
$this->phrasen['lvaliste/anmerkung']='';
$this->phrasen['lvaliste/anzahl']='';
$this->phrasen['lvaliste/betreuungen']='';
$this->phrasen['lvaliste/blockung']='';
$this->phrasen['lvaliste/fehlerAnStudiengang']='Si prega di trasmettere messaggio di errore e feedback alla corrispondente amministrazione del corso di studi ';
$this->phrasen['lvaliste/gesamtnote']='';
$this->phrasen['lvaliste/gruppen']='';
$this->phrasen['lvaliste/hilfeAnzeigen']='';
$this->phrasen['lvaliste/hilfeText']='';
$this->phrasen['lvaliste/institut']='';
$this->phrasen['lvaliste/kalenderwoche']='';
$this->phrasen['lvaliste/keineDatensaetze']='';
$this->phrasen['lvaliste/koordination']='';
$this->phrasen['lvaliste/lehrfach']='';
$this->phrasen['lvaliste/lehrfachBezeichnung']='';
$this->phrasen['lvaliste/lehrform']='';
$this->phrasen['lvaliste/lehrveranstaltungen']='';
$this->phrasen['lvaliste/lektor']='';
$this->phrasen['lvaliste/lvBezeichnung']='';
$this->phrasen['lvaliste/raumtyp']='';
$this->phrasen['lvaliste/raumtypalternativ']='alternativa';
$this->phrasen['lvaliste/semester']='';
$this->phrasen['lvaliste/student']='';
$this->phrasen['lvaliste/studiengang']='';
$this->phrasen['lvaliste/stunden']='';
$this->phrasen['lvaliste/summe']='';
$this->phrasen['lvaliste/titel']='';
$this->phrasen['lvaliste/titelProjektarbeit']='titolo dell\'elaborato del progetto';
$this->phrasen['lvaliste/wochenrythmus']='';
?>
+21
View File
@@ -0,0 +1,21 @@
<?php
$this->phrasen['lvinfo/anmerkungen']='';
$this->phrasen['lvinfo/anmerkungenEN']='';
$this->phrasen['lvinfo/anwesenheit']='';
$this->phrasen['lvinfo/anwesenheitEN']='';
$this->phrasen['lvinfo/kurzbeschreibung']='';
$this->phrasen['lvinfo/kurzbeschreibungEN']='';
$this->phrasen['lvinfo/lehrinhalte']='';
$this->phrasen['lvinfo/lehrinhalteEN']='';
$this->phrasen['lvinfo/leistungsbeurteilung']='';
$this->phrasen['lvinfo/leistungsbeurteilungEN']='';
$this->phrasen['lvinfo/lernergebnisse']='';
$this->phrasen['lvinfo/lernergebnisseEN']='';
$this->phrasen['lvinfo/literatur']='';
$this->phrasen['lvinfo/literaturEN']='';
$this->phrasen['lvinfo/methodik']='';
$this->phrasen['lvinfo/methodikEN']='';
$this->phrasen['lvinfo/vorkenntnisse']='';
$this->phrasen['lvinfo/vorkenntnisseEN']='';
?>
+90
View File
@@ -0,0 +1,90 @@
<?php
$this->phrasen['lvplan/aktuelleKW']='numero di settimana attuale';
$this->phrasen['lvplan/alleRaeume']='tutte le sale';
$this->phrasen['lvplan/alleReservierungen']='tutte le prenotazioni';
$this->phrasen['lvplan/alleReservierungenAnzeigen']='mostra tutte le prenotazioni';
$this->phrasen['lvplan/anleitungLVPlanSync']='';
$this->phrasen['lvplan/anzahlPersonen']='';
$this->phrasen['lvplan/bereitsReserviert']='';
$this->phrasen['lvplan/beschreibungFehlt']='';
$this->phrasen['lvplan/bisZeitEingeben']='';
$this->phrasen['lvplan/bisZeitFormat']='';
$this->phrasen['lvplan/bitteEinenLektorAuswaehlen']='';
$this->phrasen['lvplan/bitteEinenStudiengangAuswaehlen']='';
$this->phrasen['lvplan/bitteEinStudiensemesterAuswaehlen']='';
$this->phrasen['lvplan/bitteWendenSieSichAn']='';
$this->phrasen['lvplan/caldavURL']='';
$this->phrasen['lvplan/caldavURLMac']='';
$this->phrasen['lvplan/datumAngeben']='';
$this->phrasen['lvplan/datumIstUngueltig']='';
$this->phrasen['lvplan/datumsbereichZuGross ']='';
$this->phrasen['lvplan/datumUngueltig']='';
$this->phrasen['lvplan/eigeneReservierungen']='';
$this->phrasen['lvplan/eineWocheVor']='';
$this->phrasen['lvplan/eineWocheZurueck']='';
$this->phrasen['lvplan/einheit']='';
$this->phrasen['lvplan/fehlerUndFeedback']='scrivi feedback';
$this->phrasen['lvplan/googleURL']='';
$this->phrasen['lvplan/grp']='';
$this->phrasen['lvplan/hauptmenue']='';
$this->phrasen['lvplan/home']='';
$this->phrasen['lvplan/info']='';
$this->phrasen['lvplan/lehrveranstaltungsplan']='';
$this->phrasen['lvplan/lehrveranstaltungsplanDetails']='';
$this->phrasen['lvplan/lehrverbaende']='';
$this->phrasen['lvplan/lehrverband']='';
$this->phrasen['lvplan/lektor']='';
$this->phrasen['lvplan/lektorenplan']='';
$this->phrasen['lvplan/lektorInStudentIn']='';
$this->phrasen['lvplan/lvKoordinationsstelle']='';
$this->phrasen['lvplan/lvPlan']='Calendario lezioni';
$this->phrasen['lvplan/nameEingeben']='';
$this->phrasen['lvplan/nichtVorhanden']='';
$this->phrasen['lvplan/ort']='';
$this->phrasen['lvplan/persoenlichenAbonnieren']='';
$this->phrasen['lvplan/persoenlicherLvPlan']='';
$this->phrasen['lvplan/personen']='';
$this->phrasen['lvplan/profil']='';
$this->phrasen['lvplan/raeume']='';
$this->phrasen['lvplan/raum']='';
$this->phrasen['lvplan/raumAuswaehlen']='';
$this->phrasen['lvplan/raumExistiertNicht']='';
$this->phrasen['lvplan/rauminfoAnzeigen']='';
$this->phrasen['lvplan/rauminformationenAnzeigen']='';
$this->phrasen['lvplan/raumreservierungAufZeitraumEingeschraenkt']='';
$this->phrasen['lvplan/raumsuche']='';
$this->phrasen['lvplan/raumtyp']='';
$this->phrasen['lvplan/reservierungen']='';
$this->phrasen['lvplan/reservierungenLoeschen']='';
$this->phrasen['lvplan/reservierungsliste']='';
$this->phrasen['lvplan/reservierungWurdeGeloescht']='';
$this->phrasen['lvplan/saal']='';
$this->phrasen['lvplan/saalplan']='';
$this->phrasen['lvplan/saalreservierung']='';
$this->phrasen['lvplan/sem']='';
$this->phrasen['lvplan/semesterIstUngueltig']='';
$this->phrasen['lvplan/semesterplaene']='';
$this->phrasen['lvplan/semesterplaenearchiv']='';
$this->phrasen['lvplan/semesterplanLaden']='';
$this->phrasen['lvplan/spezialgruppe']='';
$this->phrasen['lvplan/springeZuKw']='';
$this->phrasen['lvplan/stammdatenKontrollieren']='';
$this->phrasen['lvplan/stg']='CdS';
$this->phrasen['lvplan/studiengangAuswaehlen']='';
$this->phrasen['lvplan/studiensemesterAuswaehlen']='';
$this->phrasen['lvplan/studierende']='';
$this->phrasen['lvplan/stundeIstUngueltig']='';
$this->phrasen['lvplan/titelFehlt']='';
$this->phrasen['lvplan/titelUndBeschreibungFehlt']='';
$this->phrasen['lvplan/uebersicht']='panoramica';
$this->phrasen['lvplan/uebersichtDerLehrverbaende']='panoramica delle lehrverbände?';
$this->phrasen['lvplan/unr']='';
$this->phrasen['lvplan/ver']='';
$this->phrasen['lvplan/vierWochenVor']='';
$this->phrasen['lvplan/vierWochenZurueck']='';
$this->phrasen['lvplan/vonZeitEingeben']='';
$this->phrasen['lvplan/vonZeitFormat']='';
$this->phrasen['lvplan/wochenplan']='';
$this->phrasen['lvplan/zurReservierung']='';
?>
+6
View File
@@ -0,0 +1,6 @@
<?php
$this->phrasen['mail/accountaktivierung']='';
$this->phrasen['mail/profilBetriebsmittelKorrektur']='';
$this->phrasen['mail/signatur']='';
?>
+28
View File
@@ -0,0 +1,28 @@
<?php
$this->phrasen['mailverteiler/absatz1']='';
$this->phrasen['mailverteiler/absatz2']='';
$this->phrasen['mailverteiler/absatz3']='';
$this->phrasen['mailverteiler/alleStudentenDiesesStudienganges']='tutti gli studenti di questo corso di studi';
$this->phrasen['mailverteiler/alleStudentenVon']='tutti gli studenti di';
$this->phrasen['mailverteiler/anzeigen']='';
$this->phrasen['mailverteiler/ausblenden']='';
$this->phrasen['mailverteiler/bedienungsanleitung']='';
$this->phrasen['mailverteiler/berechtigungskonzept']='';
$this->phrasen['mailverteiler/bestaetige']='';
$this->phrasen['mailverteiler/bestaetigeOeffnen']='';
$this->phrasen['mailverteiler/fehlerBeimLadenDerStudenten']='errore di caricamento degli studenti';
$this->phrasen['mailverteiler/geoeffnet']='';
$this->phrasen['mailverteiler/gesperrt']='';
$this->phrasen['mailverteiler/infoBenutzung']='';
$this->phrasen['mailverteiler/keineVerteilerVorhanden']='';
$this->phrasen['mailverteiler/klickenZumSchicken']='';
$this->phrasen['mailverteiler/mailverteiler']='';
$this->phrasen['mailverteiler/oeffnenEinesVerteilers']='';
$this->phrasen['mailverteiler/personen']='';
$this->phrasen['mailverteiler/personenImVerteiler']='';
$this->phrasen['mailverteiler/status']='';
$this->phrasen['mailverteiler/studentenverteiler']='';
$this->phrasen['mailverteiler/titel']='';
$this->phrasen['mailverteiler/verteilerOeffnen']='';
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
$this->phrasen['menu/assistenz']='';
$this->phrasen['menu/fixangestellte']='';
$this->phrasen['menu/fixelektoren']='';
$this->phrasen['menu/lektoren']='';
$this->phrasen['menu/organisationseinheit']='';
$this->phrasen['menu/resturlaub']='';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='';
$this->phrasen['menu/suchePersonOrtDokumentInhaltLang']='';
$this->phrasen['menu/urlaubAlle']=' tutto ';
$this->phrasen['menu/zeitsperren']='panoramica periodi attualmente bloccati <br>';
?>
+30
View File
@@ -0,0 +1,30 @@
<?php
$this->phrasen['moodle/artIstUnbekannt']='';
$this->phrasen['moodle/datenWurdenAktualisiert']='';
$this->phrasen['moodle/esExistiertBereitsEinTestkurs']='';
$this->phrasen['moodle/esIstBereitsEinMoodleKursVorhanden']='';
$this->phrasen['moodle/esMussMindestensEineLehreinheitMarkiertSein']='';
$this->phrasen['moodle/esWurdeKeineGueltigeIdUebergeben']='';
$this->phrasen['moodle/esWurdeKeinStudiensemesterUebergeben']='';
$this->phrasen['moodle/fehlerBeiDerLektorenZuordnung']='errore attribuzione lettore';
$this->phrasen['moodle/fehlerBeiDerStudentenZuordnung']='errore attribuzione studenti';
$this->phrasen['moodle/fehlerBeimAnlegenAufgetreten']='';
$this->phrasen['moodle/gruppenUebernehmen']='';
$this->phrasen['moodle/klickenSieHierUmTestkursErstellen']='';
$this->phrasen['moodle/klickenSieHierUmTestkursErstellen24']='';
$this->phrasen['moodle/kursAnlegen']='';
$this->phrasen['moodle/kursbezeichnung']='';
$this->phrasen['moodle/kursUebersicht']='';
$this->phrasen['moodle/lvidMussUebergebenWerden']='';
$this->phrasen['moodle/moodleKursAnlegen']='';
$this->phrasen['moodle/moodleKursAnlegen24']='';
$this->phrasen['moodle/sieSindNichtAngemeldet']='';
$this->phrasen['moodle/testkurse']='corsi test';
$this->phrasen['moodle/testkurse24']='corsi test per Moodle 2.4';
$this->phrasen['moodle/testkursWurdeErfolgreichAngelegt']='';
$this->phrasen['moodle/ungueltigeVersion']='';
$this->phrasen['moodle/vorhandeneMoodleKurse']='';
$this->phrasen['moodle/wartungschoice']='';
$this->phrasen['moodle/weiterleitung']='';
?>
+31
View File
@@ -0,0 +1,31 @@
<?php
$this->phrasen['news/allesemester']='tutti i semestri';
$this->phrasen['news/allgemein']='generale';
$this->phrasen['news/anlegen']='';
$this->phrasen['news/betreff']='';
$this->phrasen['news/eintragNochNichtVeroeffentlicht']='';
$this->phrasen['news/eintragVeroeffentlicht']='';
$this->phrasen['news/fehlerBeimSenden']='errore in sede di trasmissione della mail a %s';
$this->phrasen['news/freifach']='';
$this->phrasen['news/keinSemester']='';
$this->phrasen['news/keinUebersetzerVorhanden']='';
$this->phrasen['news/mailtext']='';
$this->phrasen['news/mailtextHTML']='';
$this->phrasen['news/maximal30Tage']='';
$this->phrasen['news/neuereintrag']='';
$this->phrasen['news/neuerNewseintrag']='';
$this->phrasen['news/newsverwaltung']='';
$this->phrasen['news/sichtbarab']='';
$this->phrasen['news/sichtbarbis']='';
$this->phrasen['news/studiengang']='';
$this->phrasen['news/text']='testo';
$this->phrasen['news/uebersetzen']='tradurre';
$this->phrasen['news/uebersetzunganlegen']='salva la traduzione in ';
$this->phrasen['news/uebersetzungenvorhanden']='';
$this->phrasen['news/uebersetzungsanforderungGesendet']='richiesta di traduzione trasmessa a %s';
$this->phrasen['news/verfasser']='';
$this->phrasen['news/veroeffentlichen']='';
$this->phrasen['news/verwaltungstools']='';
$this->phrasen['news/xsemester']='';
?>
+15
View File
@@ -0,0 +1,15 @@
<?php
$this->phrasen['notebookregister/MACadresse']='';
$this->phrasen['notebookregister/MACadresseBereitsVerwendet']='';
$this->phrasen['notebookregister/MACadresseErfolgreichEingetragen']='';
$this->phrasen['notebookregister/MACadresseErfolgreichGeaendert']='';
$this->phrasen['notebookregister/MACadresseFehlerhaft']='';
$this->phrasen['notebookregister/MACadresseNichtFreigeschalten']='';
$this->phrasen['notebookregister/notebook_absatz1']='';
$this->phrasen['notebookregister/notebook_absatz2']='';
$this->phrasen['notebookregister/notebook_anmerkung']='';
$this->phrasen['notebookregister/passwortEingebenWennUIDgeaendert']='';
$this->phrasen['notebookregister/passwortErneutEingeben']='';
$this->phrasen['notebookregister/titelNotebookRegistration']='';
?>
+11
View File
@@ -0,0 +1,11 @@
<?php
$this->phrasen['notfallbestimmungen/ausbildungErfolgteDurchORK']='';
$this->phrasen['notfallbestimmungen/brandschutzbeauftragte']='';
$this->phrasen['notfallbestimmungen/brandschutzwarte']='';
$this->phrasen['notfallbestimmungen/ersthelfer']='';
$this->phrasen['notfallbestimmungen/ersthelferUndBrandschutzbeauftragte']='';
$this->phrasen['notfallbestimmungen/folgendePersonenStehenZurVerfuegung']='';
$this->phrasen['notfallbestimmungen/rektorat']='';
$this->phrasen['notfallbestimmungen/sicherheitAnDerFHTW']='';
?>
+31
View File
@@ -0,0 +1,31 @@
<?php
$this->phrasen['passwort/AccountAktivierung']='Attiva account';
$this->phrasen['passwort/AenderungFehler']='Passwort Änderung fehlgeschlagen:%s';
$this->phrasen['passwort/AenderungOK']='Das Passwort wurde erfolgreich geaendert';
$this->phrasen['passwort/AltesPasswort']='Vecchia password';
$this->phrasen['passwort/CaptchaEingabe']='Cliccare sui campi visualizzati <br> sul campo sottostante';
$this->phrasen['passwort/Grossbuchstabe']='Das neue Passwort muss mindestens einen Grossbuchstaben enthalten.';
$this->phrasen['passwort/InfotextPolicy']='
La password deve contenere almeno 8 caratteri, di cui almeno 1 maiuscolo, 1 minuscolo e 1 cifra.<br>
La password non può contenere spazi e caratteri accentati.<br>
Caratteri speciali ammessi sono: -$#[]{}!().,*:;_ =
';
$this->phrasen['passwort/Kleinbuchstabe']='Das neue Passwort muss mindestens einen Kleinbuchstaben enthalten.';
$this->phrasen['passwort/Leerzeichen']='Es darf kein Leerzeichen im Passwort vorkommen.';
$this->phrasen['passwort/MinLaenge']='La password deve contenere almeno 8 caratteri.';
$this->phrasen['passwort/NeuesPasswort']='Nuova password';
$this->phrasen['passwort/NichtUebereinstimmend']='Passwörter stimmen nicht überein';
$this->phrasen['passwort/NoHttps']='ATTENZIONE - state utilizzando una trasmissione in chiaro. La password dovrebbe essere cambiata solo in presenza di un sistema di trasmissione codificato,';
$this->phrasen['passwort/PasswortAenderFuer']='Cambio password per utente %s %s ( %s )';
$this->phrasen['passwort/PasswortAendern']='Cambia password';
$this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account.';
$this->phrasen['passwort/PasswortWiederholung']='Conferma nuova password';
$this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden';
$this->phrasen['passwort/Sonderzeichen']='Bitte verwenden Sie nur erlaubte Sonderzeichen';
$this->phrasen['passwort/Title']='Cambio password';
$this->phrasen['passwort/Umlaute']='Es dürfen keine Umlaute verwendet werden.';
$this->phrasen['passwort/Ziffer']='Es muss mindestens eine Ziffer vorhanden sein.';
$this->phrasen['passwort/ZuHttpsWechseln']='Jetzt zu verschlüsselter Verbindung wechseln';
?>
+20
View File
@@ -0,0 +1,20 @@
<?php
$this->phrasen['personensuche/alleKategorien']='tutte le categorie';
$this->phrasen['personensuche/allePersonen']='tutte le persone';
$this->phrasen['personensuche/art']='';
$this->phrasen['personensuche/bitteSuchbegriffEingeben']='';
$this->phrasen['personensuche/eintraegeGefunden']='';
$this->phrasen['personensuche/esWurden']='';
$this->phrasen['personensuche/hauptverteiler']='';
$this->phrasen['personensuche/inGruppe']='';
$this->phrasen['personensuche/keineEintraegeGefunden']='impossibile trovare registrazioni corrispondenti';
$this->phrasen['personensuche/kennzeichen']='';
$this->phrasen['personensuche/mitarbeiterIn']='';
$this->phrasen['personensuche/mitarbeiterInExtern']='';
$this->phrasen['personensuche/mitarbeiterInFix']='';
$this->phrasen['personensuche/personensuche']='';
$this->phrasen['personensuche/student']='';
$this->phrasen['personensuche/studentIn']='';
$this->phrasen['personensuche/sucheNach']='';
?>
+62
View File
@@ -0,0 +1,62 @@
<?php
$this->phrasen['profil/AccountInaktiv']='Attenzione: questo account non è più attivo';
$this->phrasen['profil/adminstration']='Amministrazione';
$this->phrasen['profil/alias']='alias';
$this->phrasen['profil/alleStudentenVon']='Tutti gli studenti di';
$this->phrasen['profil/ausgegebenAm']='';
$this->phrasen['profil/betriebsmittel']='';
$this->phrasen['profil/Bild']='';
$this->phrasen['profil/bildHochladen']='';
$this->phrasen['profil/bildSpeichern']='';
$this->phrasen['profil/Bildupload']='';
$this->phrasen['profil/BilduploadInfotext']='';
$this->phrasen['profil/buero']='';
$this->phrasen['profil/derUserIstInFolgendenVerteilern ']='';
$this->phrasen['profil/email']='Email';
$this->phrasen['profil/entlehnteBetriebsmittel']='';
$this->phrasen['profil/esWurdenKeineProfileGefunden']='Nessun profilo o più profili per l\'utente richiesto';
$this->phrasen['profil/faxTw']='fax';
$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='';
$this->phrasen['profil/fhausweisGedrucktAm']='';
$this->phrasen['profil/fhausweisStatus']='';
$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='Tesserino consegnato o pronto per il ritiro';
$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='';
$this->phrasen['profil/fotoAuswählen']='';
$this->phrasen['profil/fotofreigeben']='';
$this->phrasen['profil/fotosperren']='';
$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='';
$this->phrasen['profil/funktionen']='';
$this->phrasen['profil/home']='';
$this->phrasen['profil/homepage']='';
$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='';
$this->phrasen['profil/inaktivMitarbeiter']='';
$this->phrasen['profil/inaktivSonstige']='';
$this->phrasen['profil/inaktivStudent']='';
$this->phrasen['profil/infotextSperre']='';
$this->phrasen['profil/intern']='E-mail di Ateneo';
$this->phrasen['profil/kontaktPrivat']='Contatti Personali';
$this->phrasen['profil/kurzbeschreibungFuerOeh']='';
$this->phrasen['profil/kurzzeichen']='ID breve';
$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='';
$this->phrasen['profil/leistungsbeurteilung']='';
$this->phrasen['profil/lvplanVon']='';
$this->phrasen['profil/martrikelnummer']='Codice Persona';
$this->phrasen['profil/meinCis']='';
$this->phrasen['profil/mitarbeiter']='';
$this->phrasen['profil/mobil']='Cellulare';
$this->phrasen['profil/nummer']='';
$this->phrasen['profil/nurJPGBilder']='';
$this->phrasen['profil/profil']='';
$this->phrasen['profil/profilfotoGesperrt']='';
$this->phrasen['profil/profilfotoUploadGesperrt']='';
$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='';
$this->phrasen['profil/solltenDatenNichtStimmen']='La preghiamo di rivolgersi alla segreteria nel caso i dati non risultino essere corretti.';
$this->phrasen['profil/student']='Studente';
$this->phrasen['profil/telefon']='';
$this->phrasen['profil/telefonTw']='';
$this->phrasen['profil/wendenSieSichAn']='';
$this->phrasen['profil/zeitsperrenVon']='';
$this->phrasen['profil/zeitwuensche']='';
$this->phrasen['profil/zustaendigeAssistenz']='';
?>
+111
View File
@@ -0,0 +1,111 @@
<?php
// Pruefungsfenster
$this->phrasen['pruefung/titlePruefungsfenster'] = 'Inserire sessione';
$this->phrasen['pruefung/erfolgreichgespeichert'] = 'Salvataggio avvenuto con successo';
$this->phrasen['pruefung/fehler'] = 'Errore: ';
$this->phrasen['pruefung/fehlerEndDatumInDerVergangenheit'] = 'Errore: la data di termine è fissata nel passato.';
$this->phrasen['pruefung/fehlerEndDatumVorStartDatum'] = 'Errore: la data di termine è precedente alla data di inizio.';
$this->phrasen['pruefung/fehlerDatumNichtKorrekt'] = 'Errore: data inserita in maniera non corretta.';
$this->phrasen['pruefung/erfolgreichgeaendert'] = 'Modifica avvenuta con successo';
$this->phrasen['pruefung/keineBerechtigungZumAendernDesDatensatzes'] = 'Non si dispone dei permessi necessari per la modifica.';
$this->phrasen['pruefung/keineBerechtigungZumAnzeigenDesDatensatzes'] = 'Non si dispone dei permessi necessari per la visualizzazione.';
$this->phrasen['pruefung/erfolgreichgeloescht'] = 'Cancellazione avvenuta con successo.';
$this->phrasen['pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen'] = 'Non è stato possibile cancellare la sessione siccome è collegata ad alcuni esami.';
$this->phrasen['pruefung/keineBerechtigungZumLoeschenDesDatensatzes'] = 'Non si dispone dei permessi necessari per la cancellazione.';
$this->phrasen['pruefung/pruefungsfensterVerwaltung'] = 'Gestione sessioni';
$this->phrasen['pruefung/neuesPruefungsfensterAnlegen'] = 'Inserimento nuova sessione';
$this->phrasen['pruefung/start'] = 'Data inizio';
$this->phrasen['pruefung/ende'] = 'Data fine';
$this->phrasen['pruefung/pruefungsfensterBearbeiten'] = 'Modificare sessione';
$this->phrasen['pruefung/keinePruefungsfensterGespeichert'] = 'Nessuna sessione salvata';
// Termin festlegen
$this->phrasen['pruefung/titlePruefungstermin'] = 'Inserimento appello desame';
$this->phrasen['pruefung/pruefungLektor'] = 'Docente';
$this->phrasen['pruefung/pruefungenVerwalten'] = 'Gestione esami';
$this->phrasen['pruefung/pruefungTitel'] = 'Titolo';
$this->phrasen['pruefung/pruefungsfenster'] = 'Sessione';
$this->phrasen['pruefung/pruefungMethode'] = 'Modalità';
$this->phrasen['pruefung/pruefungEinzelpruefung'] = 'Einzelprüfung';
$this->phrasen['pruefung/pruefungTyp'] = 'Tipo';
$this->phrasen['pruefung/pruefungIntervall'] = 'Periodo';
$this->phrasen['pruefung/pruefungTermin'] = 'Appelli';
$this->phrasen['pruefung/pruefungMinTeilnehmer'] = 'min. iscritti';
$this->phrasen['pruefung/pruefungMaxTeilnehmer'] = 'max. iscritti';
$this->phrasen['pruefung/pruefungSammelklausur'] = 'Sammelklausur';
$this->phrasen['pruefung/pruefungTerminHinzufuegen'] = 'Inserire appello';
$this->phrasen['pruefung/pruefungPruefungenTitle'] = 'Esami';
$this->phrasen['pruefung/pruefungMitarbeiter'] = 'Collaboratore';
$this->phrasen['pruefung/storniert'] = 'annullato';
// pruefung.js.php
$this->phrasen['pruefung/keinFensterVorhanden'] = 'Nessuna sessione a disposizione.';
$this->phrasen['pruefung/keineDatenVorhanden'] = 'Nessuna data a disposizione.';
$this->phrasen['pruefung/anmeldefristAbgelaufen'] = 'Termine di iscrizione scaduto.';
$this->phrasen['pruefung/stornierenMoeglichBis'] = 'Possibilità di annullare liscrizione entro il';
$this->phrasen['pruefung/anmeldenMoeglichBis'] = 'Possibilità di iscrizione entro il';
$this->phrasen['pruefung/zurLvAnmeldung'] = 'iscriversi al corso';
$this->phrasen['pruefung/zuerstPruefungAuswaehlen'] = 'Scegliere prima lesame.';
$this->phrasen['pruefung/bemerkungVonLektorHinzugefuegt'] = 'inserito da docente';
$this->phrasen['pruefung/bestaetigen'] = 'Confermare';
$this->phrasen['pruefung/anmerkungDesStudenten'] = 'Osservazioni dello studente:</br>';
$this->phrasen['pruefung/bestaetigt'] = 'confermato';
$this->phrasen['pruefung/statusAenderungVon'] = 'Modifica status di';
$this->phrasen['pruefung/reihungSpeichern'] = 'Salvare sequenza';
$this->phrasen['pruefung/listeDrucken'] = 'Stampare lista';
$this->phrasen['pruefung/pruefungsraum'] = 'Aula desame: ';
$this->phrasen['pruefung/pruefungsort'] = 'Luogo desame ';
$this->phrasen['pruefung/imBuero'] = ' in ufficio';
$this->phrasen['pruefung/raum'] = ' Aula';
$this->phrasen['pruefung/raumSpeichern'] = ' Salvare aula';
$this->phrasen['pruefung/reihunghErfolgreichGeaendert'] = 'Sequenza modificata con successo.';
$this->phrasen['pruefung/studiengangAuswaehlen'] = 'Selezionare percorso di studi';
$this->phrasen['pruefung/keinePruefungenVorhanden'] = 'Nessun esame disponibile.';
$this->phrasen['pruefung/kommentarZu'] = 'Commento a ';
$this->phrasen['pruefung/kommentarSpeichern'] = 'Salvare commento';
$this->phrasen['pruefung/kommentarErfolgreichGespeichert'] = 'Commento salvato con successo.';
$this->phrasen['pruefung/formulardatenNichtKorrekt'] = 'Dati non corretti.';
$this->phrasen['pruefung/pruefungErfolgreichGespeichert'] = 'Esame salvato con successo.';
$this->phrasen['pruefung/lehrveranstaltungAuswaehlen'] = 'Selezionare insegnamento ...';
$this->phrasen['pruefung/keineLehrveranstaltungenVorhanden'] = 'Nessun insegnamento disponibile.';
$this->phrasen['pruefung/pruefungStornieren'] = 'Cancellare esame';
$this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Insegnamento tolto con successo.';
$this->phrasen['pruefung/pruefungStorniert'] = 'Esame cancellato';
$this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voto desame';
$this->phrasen['pruefung/pruefungsbewertungAnmeldungen'] = 'Iscrizioni';
// pruefungsanmeldung
$this->phrasen['pruefung/anmeldungFuer'] = 'Iscrizione desame per';
$this->phrasen['pruefung/filter'] = 'Filtro';
$this->phrasen['pruefung/details'] = 'Dettagli';
$this->phrasen['pruefung/lvDetails'] = 'Dettagli insegnamento';
$this->phrasen['pruefung/pruefungsDetails'] = 'Dettagli esame';
$this->phrasen['pruefung/typ'] = 'Tipo';
$this->phrasen['pruefung/intervall'] = 'Periodo';
$this->phrasen['pruefung/besuchteLehrveranstaltungen'] = 'Insegnamenti frequentati';
$this->phrasen['pruefung/freiePlaetze'] = 'Posti liberi';
$this->phrasen['pruefung/lvVonStudiengang'] = 'Insegnamenti del percorso di studi';
$this->phrasen['pruefung/lvAlle'] = 'Tutti gli insegnamenti';
$this->phrasen['pruefung/anmeldungSpeichern'] = 'Salvare iscrizione';
$this->phrasen['pruefung/studienverpflichtung'] = 'Obbligo formativo';
// liste
$this->phrasen['pruefung/anmeldungsliste'] = 'Lista partecipanti';
$this->phrasen['pruefung/fehlenderParam_lvid'] = 'Parametro mancante lehrveranstaltung_id';
$this->phrasen['pruefung/fehlenderParam_terminid'] = 'Parametro mancante termin_id';
$this->phrasen['pruefung/fehlenderParam_studiensemester'] = 'Parametro mancante studiensemester';
$this->phrasen['pruefung/pruefer'] = 'Professore';
$this->phrasen['pruefung/keineBestaetigtenAnmeldungenVorhanden'] = 'Nessuna conferma di registrazione disponibile.';
$this->phrasen['pruefung/keineLvAngegeben'] = 'Nessun corso definito.';
$this->phrasen['pruefung/kollisionMitAnderemTermin'] = 'Date sovrapposte.';
$this->phrasen['pruefung/terminNichtInDerVergangenheit'] = 'La data dellesame non è nel passato.';
$this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessuna unità di corso disponibile.';
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessuna registrazione disponibile.';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Amministrazione della registrazione degli esami';
$this->phrasen['pruefung/anmeldungenVerwalten'] = 'Amministrazione registrazioni';
?>
+20
View File
@@ -0,0 +1,20 @@
<?php
$this->phrasen['semesterplan/bitteZuerstDateiAuswaehlen']='';
$this->phrasen['semesterplan/dateiKonnteNichtGefundenWerden']='';
$this->phrasen['semesterplan/dateinameNurBuchstaben']='';
$this->phrasen['semesterplan/dateitypIstNichtErlaubt']='';
$this->phrasen['semesterplan/erstellenSieIhrenSemesterplan']='';
$this->phrasen['semesterplan/fehlerBeiDerParameteruebergabe']='errore di trasmissione dei parametri';
$this->phrasen['semesterplan/fehlerBeimLadenDerLv']='errore di caricamento della LV';
$this->phrasen['semesterplan/fehlerBeimLadenDesStudienganges']='errore di caricamento del corso di studi';
$this->phrasen['semesterplan/fehlerBeimUpload']='errore in sede di upload! Si prega di riprovare ';
$this->phrasen['semesterplan/fertig']='completo';
$this->phrasen['semesterplan/fileErfolgreichHochgeladen']='';
$this->phrasen['semesterplan/inMSWord']='';
$this->phrasen['semesterplan/ladenSieDieDateiHoch']='';
$this->phrasen['semesterplan/oeffnenSieDieGespeicherteDatei']='';
$this->phrasen['semesterplan/ordnerinhalt']='';
$this->phrasen['semesterplan/speichernSieDasDokument']='';
$this->phrasen['semesterplan/speichernSieDieVorlage']='';
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
$this->phrasen['services/details']='';
$this->phrasen['services/filtern']='';
$this->phrasen['services/leistung']='';
$this->phrasen['services/service']='';
$this->phrasen['services/uebersichtUeberServicesOrganisationseinheiten']='panoramica dei servizi del dipartimento';
?>
+28
View File
@@ -0,0 +1,28 @@
<?php
$this->phrasen['studienplan/abgeschlossen']='superato';
$this->phrasen['studienplan/anmelden']='iscriversi';
$this->phrasen['studienplan/Anmeldung']='Scelta del corso opzionale';
$this->phrasen['studienplan/AnmeldungDerzeitNichtMoeglich']='';
$this->phrasen['studienplan/anmeldunggesperrt']='';
$this->phrasen['studienplan/AnmeldungNichtMoeglich']='';
$this->phrasen['studienplan/anmeldungvonbis']='';
$this->phrasen['studienplan/bereitsAngemeldet']='';
$this->phrasen['studienplan/ects']='CFU';
$this->phrasen['studienplan/einschreibungErfolgreich']='';
$this->phrasen['studienplan/legende']='Legenda';
$this->phrasen['studienplan/legendeEmpfehlung']='';
$this->phrasen['studienplan/legendeAngemeldet']='iscritto';
$this->phrasen['studienplan/legendeLock']='Corso non offerto in questo semestre';
$this->phrasen['studienplan/legendeLVwirdAngeboten']='Corso offerto in questo semestre';
$this->phrasen['studienplan/LehrveranstalungWaehlen']='';
$this->phrasen['studienplan/negativ']='';
$this->phrasen['studienplan/offen']='da superare';
$this->phrasen['studienplan/optional']='';
$this->phrasen['studienplan/reduzierteCP']='';
$this->phrasen['studienplan/regelabgeschlossen']='concluso';
$this->phrasen['studienplan/regelnichterfuellt']='';
$this->phrasen['studienplan/status']='Stato';
$this->phrasen['studienplan/studienplan']='Piano di studi';
$this->phrasen['studienplan/zuWenigCP']='';
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
$this->phrasen['telefonverzeichnis/durchwahl']='';
$this->phrasen['telefonverzeichnis/faxnummern']='numero di fax';
$this->phrasen['telefonverzeichnis/faxnummernFuerMitarbeiter']='numero di fax per dipendenti: +43 1 333 40 77 - 99 &lt;Telefon DW&gt;';
$this->phrasen['telefonverzeichnis/hauptnummer']='';
$this->phrasen['telefonverzeichnis/titelTelefonverzeichnis']='';
?>
+41
View File
@@ -0,0 +1,41 @@
<?php
$this->phrasen['testtool/alleFragenBeantwortet']='';
$this->phrasen['testtool/bearbeitungszeit']='';
$this->phrasen['testtool/begruessungstext']='';
$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='';
$this->phrasen['testtool/bitteZuerstAnmelden']='';
$this->phrasen['testtool/blaettern']='';
$this->phrasen['testtool/demo']='';
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='';
$this->phrasen['testtool/dieZeitIstAbgelaufen']='';
$this->phrasen['testtool/einleitung']='';
$this->phrasen['testtool/esWurdeKeineFrageGefunden']='';
$this->phrasen['testtool/fehler']='errore';
$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='errore in sede di creazione del pool di domande';
$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='errore in sede di salvataggio della videata iniziale';
$this->phrasen['testtool/fehlerBeimStartvorgang']='errore in sede di procedura di avvio';
$this->phrasen['testtool/gebietStarten']='';
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='';
$this->phrasen['testtool/home']='';
$this->phrasen['testtool/jahr']='';
$this->phrasen['testtool/keineAntwort']='';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='';
$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='';
$this->phrasen['testtool/login']='';
$this->phrasen['testtool/monat']='';
$this->phrasen['testtool/nameAuswaehlen']='';
$this->phrasen['testtool/okKlickenUmZuStarten']='';
$this->phrasen['testtool/quereinstieg']='';
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='';
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='';
$this->phrasen['testtool/semester']='';
$this->phrasen['testtool/speichernUndWeiter']='';
$this->phrasen['testtool/spracheDerTestfragen']='';
$this->phrasen['testtool/startDrueckenUmZuBeginnen']='';
$this->phrasen['testtool/startseite']='';
$this->phrasen['testtool/tag']='';
$this->phrasen['testtool/willkommenstext']='';
$this->phrasen['testtool/zeitAbgelaufen']='';
$this->phrasen['testtool/zurueckZurStartseite']='';
?>
+64
View File
@@ -0,0 +1,64 @@
<?php
$this->phrasen['tools/aktuelleVersion']='versione attuale';
$this->phrasen['tools/ampel']='Ssemaforo';
$this->phrasen['tools/ampelAktion']='Azione';
$this->phrasen['tools/ampelBereitsBestaetigt']='';
$this->phrasen['tools/ampelBeschreibung']='';
$this->phrasen['tools/ampelBestaetigen']='';
$this->phrasen['tools/ampelBestaetigt']='';
$this->phrasen['tools/ampelBestaetigtAm']='';
$this->phrasen['tools/ampelDeadline']='';
$this->phrasen['tools/ampelErledigt']='';
$this->phrasen['tools/ampelKurzbz']='';
$this->phrasen['tools/ampelMitarbeiter']='';
$this->phrasen['tools/ampelNichtGefunden']='';
$this->phrasen['tools/ampelRestdauer']='';
$this->phrasen['tools/ampelStatus']='';
$this->phrasen['tools/ampelsystem']='';
$this->phrasen['tools/applikationsliste']='';
$this->phrasen['tools/benotungsdatumDerZeugnisnote']='Data del voto';
$this->phrasen['tools/bestaetigungDrucken']='';
$this->phrasen['tools/betrag']='Importo';
$this->phrasen['tools/buchungstext']='Descrizione';
$this->phrasen['tools/content']='';
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='';
$this->phrasen['tools/datei']='';
$this->phrasen['tools/dokumente']='Documenti';
$this->phrasen['tools/einzelanwendung']='';
$this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='impossibile trovare risultati';
$this->phrasen['tools/esWurdenMehrAlsXDokumenteGefunden']='trovate più di 40 documenti corrispondenti alla ricerca. Si prega di specificare ulteriormente la ricerca';
$this->phrasen['tools/esWurdenMehrAlsXInhalteGefunden']='trovate più di 20 persone corrispondenti alla ricerca. Si prega di specificare ulteriormente la ricerca';
$this->phrasen['tools/esWurdenMehrAlsXPersonenGefunden']='trovate più di 20 persone corrispondenti alla ricerca. Si prega di specificare ulteriormente la ricerca';
$this->phrasen['tools/fehlerBeimAuslesenDerNoten']='errore di lettura dei voti';
$this->phrasen['tools/fehlerBeimLesenDerDatei']='errore di lettura del file';
$this->phrasen['tools/inskriptionsbestaetigung']='Certificato d\'iscrizione';
$this->phrasen['tools/keineDatenGefunden']='';
$this->phrasen['tools/keineZahlungenVorhanden']='';
$this->phrasen['tools/leistungsbeurteilung']='';
$this->phrasen['tools/maxPersonen']='';
$this->phrasen['tools/mussAlsStudentEingeloggtSein']='';
$this->phrasen['tools/naehereInformationenfindenSieUnter']='';
$this->phrasen['tools/nichtZugeteilt']='';
$this->phrasen['tools/nochKeineBeurteilungEingetragen']='non è stata inserita ancora valutazione alcuna';
$this->phrasen['tools/offen']='rata da saldare';
$this->phrasen['tools/reservieren']='';
$this->phrasen['tools/softwarepaket']='';
$this->phrasen['tools/studentWurdeNichtGefunden']='';
$this->phrasen['tools/studienbeitragFuerSSBezahltAmDatum']='';
$this->phrasen['tools/studienbeitragFuerSSBezahlt']='Tasse per il semestre %1$s versate';
$this->phrasen['tools/studienbeitragFuerSSNochNichtBezahlt']='Tasse per il semestre %1$s non ancora versate';
$this->phrasen['tools/studienbuchblatt']='';
$this->phrasen['tools/studienerfolgsbestaetigung']='Stampa certificato d\'iscrizione';
$this->phrasen['tools/studiensemesterAuswaehlen']='';
$this->phrasen['tools/suchbegriff']='';
$this->phrasen['tools/suche']='';
$this->phrasen['tools/telefonklappe']='';
$this->phrasen['tools/uebersichtLeitung']='';
$this->phrasen['tools/vorlageWohnsitzfinanzamt']='';
$this->phrasen['tools/waehlenSieEineOEoderAmpel']='';
$this->phrasen['tools/wurdeNichtGefunden']='non trovato ';
$this->phrasen['tools/zahlungen']='Situazione tasse';
$this->phrasen['tools/zahlungsbestaetigung']='Ricevuta di pagamento';
$this->phrasen['tools/zahlungstyp']='Tipo';
?>
+40
View File
@@ -0,0 +1,40 @@
<?php
$this->phrasen['upload/aktionen']='azioni';
$this->phrasen['upload/auswaehlen']='';
$this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']='';
$this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare sul server non viene supportato';
$this->phrasen['upload/dateien']='';
$this->phrasen['upload/dateienAutomatischUeberschreiben']='';
$this->phrasen['upload/dateienImOrdner']='';
$this->phrasen['upload/dateienInOrdnern']='';
$this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l\'opzione "sovrascrivere automaticamente i file';
$this->phrasen['upload/dateinameDarfNurBuchstaben']='';
$this->phrasen['upload/dateiUpload']='';
$this->phrasen['upload/esWurdeKeinPfadDefiniert']='';
$this->phrasen['upload/fehlerBeimLadenDerLv']='errore di caricamento della LV';
$this->phrasen['upload/fehlerBeimLoeschenDesOrdners']='errore in sede di cancellazione della cartella';
$this->phrasen['upload/formattributInEinNeues ']='';
$this->phrasen['upload/kbGespeichert']='';
$this->phrasen['upload/keineDateienGefunden']='impossibile trovare file';
$this->phrasen['upload/keineGegenstaendeDefiniert']='';
$this->phrasen['upload/keineOrdnerGefunden']='impossibile trovare cartelle corrispondenti';
$this->phrasen['upload/keineSemesterDefiniert']='';
$this->phrasen['upload/keineStudiengaengeDefiniert']='';
$this->phrasen['upload/leeren']='';
$this->phrasen['upload/maxUploadgroesse']='';
$this->phrasen['upload/name']='';
$this->phrasen['upload/neuesVerzeichnisErstellen']='';
$this->phrasen['upload/studentenUploadEinsehen']='';
$this->phrasen['upload/studentenUploadVerwalten']='';
$this->phrasen['upload/studentenUploadverzeichnis']='';
$this->phrasen['upload/studentenUploadverzeichnisLeeren']='';
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='';
$this->phrasen['upload/unterordnerVon']='';
$this->phrasen['upload/upload']='';
$this->phrasen['upload/verzeichnisErstellen']='';
$this->phrasen['upload/verzeichnisname']='';
$this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']='';
$this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']='';
$this->phrasen['upload/wollenSieUploadWirklichLeeren']='';
?>
+39
View File
@@ -0,0 +1,39 @@
<?php
$this->phrasen['urlaubstool/aktuellerStand']='stato attuale';
$this->phrasen['urlaubstool/aktuellGebuchterUrlaub']='ferie attualmente prenotate';
$this->phrasen['urlaubstool/anspruch']='';
$this->phrasen['urlaubstool/anspruchAnzahlDerUrlaubstage']='';
$this->phrasen['urlaubstool/bis']='';
$this->phrasen['urlaubstool/diesIstEineAutomatischeMail']='';
$this->phrasen['urlaubstool/eintragungenSpeichern']='';
$this->phrasen['urlaubstool/eintragungLoeschen']='';
$this->phrasen['urlaubstool/eintragWirklichLoeschen']='';
$this->phrasen['urlaubstool/erreichbar']='';
$this->phrasen['urlaubstool/erreichbarkeit']='';
$this->phrasen['urlaubstool/fehlerBeimSendenAufgetreten']='errore in sede di trasmissione della mail di attivazione a %s';
$this->phrasen['urlaubstool/fehlerBeimSendenVertretungAufgetreten']='errore in sede di trasmissione della mail di informazione a %s per la sostituzione per vacanze';
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='';
$this->phrasen['urlaubstool/freigabemailWurdeVersandt']='';
$this->phrasen['urlaubstool/freigegebenDurch']='';
$this->phrasen['urlaubstool/freigegebenDurchAm']='';
$this->phrasen['urlaubstool/handbuchUrlaubserfassung']='';
$this->phrasen['urlaubstool/hilfe']='';
$this->phrasen['urlaubstool/jaehrlich']='';
$this->phrasen['urlaubstool/keineVertretungEingetragen']='';
$this->phrasen['urlaubstool/konnteKeinFreigabemailVersendetWerden']='';
$this->phrasen['urlaubstool/mailtextVertretung']='';
$this->phrasen['urlaubstool/meineZeitsperren']='';
$this->phrasen['urlaubstool/ok']='';
$this->phrasen['urlaubstool/resturlaub']='';
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='';
$this->phrasen['urlaubstool/stichtag']='';
$this->phrasen['urlaubstool/tage']='';
$this->phrasen['urlaubstool/urlaubImGeschaeftsjahr']='';
$this->phrasen['urlaubstool/urlaubstool']='';
$this->phrasen['urlaubstool/vertretung']='';
$this->phrasen['urlaubstool/vertretungsmailWurdeVersandt']='';
$this->phrasen['urlaubstool/von']='';
$this->phrasen['urlaubstool/xHatNeuenUrlaubEingetragen']='';
$this->phrasen['urlaubstool/zuerstVertretungAuswaehlen']='';
?>
+47
View File
@@ -0,0 +1,47 @@
<?php
$this->phrasen['zeitaufzeichnung/aktivitaet']='attività';
$this->phrasen['zeitaufzeichnung/aktuelleZeitLaden']='importa ora attuale';
$this->phrasen['zeitaufzeichnung/alleAnzeigen']='mostra tutto';
$this->phrasen['zeitaufzeichnung/alleEintraege']='tutte le registrazioni ';
$this->phrasen['zeitaufzeichnung/alsEndzeitUebernehmen']='imposta come fine';
$this->phrasen['zeitaufzeichnung/alsNeuenEintragSpeichern']='salva come nuova registrazione';
$this->phrasen['zeitaufzeichnung/alsStartzeitUebernehmen']='imposta come inizio';
$this->phrasen['zeitaufzeichnung/arbeitszeit']='';
$this->phrasen['zeitaufzeichnung/benutzerWurdeNichtGefunden']='';
$this->phrasen['zeitaufzeichnung/bisDatumKleinerAlsVonDatum']='';
$this->phrasen['zeitaufzeichnung/dauer']='';
$this->phrasen['zeitaufzeichnung/ende']='';
$this->phrasen['zeitaufzeichnung/endeXTageAnsicht']='';
$this->phrasen['zeitaufzeichnung/fehlerBeimErmittelnDerProjekte']='errore di identificazione dei progetti';
$this->phrasen['zeitaufzeichnung/gesamtdauer']='';
$this->phrasen['zeitaufzeichnung/handbuchZeitaufzeichnung']='';
$this->phrasen['zeitaufzeichnung/id']='';
$this->phrasen['zeitaufzeichnung/inklusivePflichtpause']='';
$this->phrasen['zeitaufzeichnung/kartennummer']='';
$this->phrasen['zeitaufzeichnung/keineAuswahl']='';
$this->phrasen['zeitaufzeichnung/kunde']='';
$this->phrasen['zeitaufzeichnung/nameEingeben']='';
$this->phrasen['zeitaufzeichnung/neu']='';
$this->phrasen['zeitaufzeichnung/oderKartennummerOptional']='';
$this->phrasen['zeitaufzeichnung/oe']='';
$this->phrasen['zeitaufzeichnung/organisationseinheit1']='';
$this->phrasen['zeitaufzeichnung/organisationseinheit2']='';
$this->phrasen['zeitaufzeichnung/organisationseinheiten']='';
$this->phrasen['zeitaufzeichnung/pause']='';
$this->phrasen['zeitaufzeichnung/projekt']='';
$this->phrasen['zeitaufzeichnung/service']='';
$this->phrasen['zeitaufzeichnung/sieSindDerzeitKeinenProjektenZugeordnet']='';
$this->phrasen['zeitaufzeichnung/start']='';
$this->phrasen['zeitaufzeichnung/summeEintraege']='';
$this->phrasen['zeitaufzeichnung/tagessumme']='';
$this->phrasen['zeitaufzeichnung/uebersicht']='';
$this->phrasen['zeitaufzeichnung/user']='';
$this->phrasen['zeitaufzeichnung/wochensumme']='';
$this->phrasen['zeitaufzeichnung/wochensummeArbeitszeit']='';
$this->phrasen['zeitaufzeichnung/wochensummeEintraege']='';
$this->phrasen['zeitaufzeichnung/xTageAnsicht']='';
$this->phrasen['zeitaufzeichnung/zeitaufzeichnung']='';
$this->phrasen['zeitaufzeichnung/zeitaufzeichnungVon']='';
$this->phrasen['zeitaufzeichnung/zeitraumAuffallendHoch']='Attenzione, il periodo indicato risulta molto lungo. \n Confermare per salvataggio dei dati indicati.';
?>
+43
View File
@@ -0,0 +1,43 @@
<?php
$this->phrasen['zeitsperre/achtungEsWerdenAlleEingegebenenTage']='';
$this->phrasen['zeitsperre/aktuellerStand']='stato attuale';
$this->phrasen['zeitsperre/anzahlTage']='';
$this->phrasen['zeitsperre/beschreibungSieheCisHandbuch']='';
$this->phrasen['zeitsperre/bisDatumIstUngueltigNullenAngeben']='';
$this->phrasen['zeitsperre/bisDatumMonat']='';
$this->phrasen['zeitsperre/bisDatumUngueltig']='';
$this->phrasen['zeitsperre/bitteZuerstVertretungAuswaehlen']='';
$this->phrasen['zeitsperre/edit']='';
$this->phrasen['zeitsperre/freigegeben']='';
$this->phrasen['zeitsperre/grund']='';
$this->phrasen['zeitsperre/istGroesserAlsBisDatum']='';
$this->phrasen['zeitsperre/istNichtRichtig']='';
$this->phrasen['zeitsperre/keineBerechtigungDatensatzLoeschen']='';
$this->phrasen['zeitsperre/keineZeitsperrenEingetragen']='';
$this->phrasen['zeitsperre/legendeDurchwahl']='';
$this->phrasen['zeitsperre/legendeErreichbarkeit']='';
$this->phrasen['zeitsperre/legendeGrund']='';
$this->phrasen['zeitsperre/legendeVertretung']='';
$this->phrasen['zeitsperre/loeschen']='';
$this->phrasen['zeitsperre/monat']='';
$this->phrasen['zeitsperre/resturlaubstage']='';
$this->phrasen['zeitsperre/resturlaubstagePerDatum']='';
$this->phrasen['zeitsperre/sieHabenKeineBerechtigung']='';
$this->phrasen['zeitsperre/sieHabenKeineBerechtigungZuAendern']='';
$this->phrasen['zeitsperre/stundeInklusive']='';
$this->phrasen['zeitsperre/tag']='';
$this->phrasen['zeitsperre/ungueltigeId']='';
$this->phrasen['zeitsperre/urlaubBereitsEingetragen']='';
$this->phrasen['zeitsperre/urlaubImGeschaeftsjahr']='';
$this->phrasen['zeitsperre/urlaubKannNichtMehrEditiertWerden']='';
$this->phrasen['zeitsperre/vonDatum']='';
$this->phrasen['zeitsperre/vonDatumGroesserAlsBisDatum']='';
$this->phrasen['zeitsperre/vonDatumIstUngueltigNullenAngeben']='';
$this->phrasen['zeitsperre/vonDatumMonat']='';
$this->phrasen['zeitsperre/vonDatumUngueltig']='';
$this->phrasen['zeitsperre/wollenSieEintragWirklichLoeschen']='';
$this->phrasen['zeitsperre/zeitsperre']='';
$this->phrasen['zeitsperre/zeitsperren']='';
$this->phrasen['zeitsperre/zeitsperreVonBis']='';
?>
+25
View File
@@ -0,0 +1,25 @@
<?php
$this->phrasen['zeitwunsch/bedeutung']='';
$this->phrasen['zeitwunsch/beiProblemenWendenSieSichAn']='';
$this->phrasen['zeitwunsch/erklaerung']='';
$this->phrasen['zeitwunsch/erklärung']='';
$this->phrasen['zeitwunsch/esSolltenFuerJedeStunde']='';
$this->phrasen['zeitwunsch/falscheWerteEingetragen']='';
$this->phrasen['zeitwunsch/folgendePunkteSindZuBeachten']='';
$this->phrasen['zeitwunsch/formularZumEintragenDerZeitsperren']='';
$this->phrasen['zeitwunsch/help']='';
$this->phrasen['zeitwunsch/hierAufGarKeinenFall']='';
$this->phrasen['zeitwunsch/hierKannIchUnterrichten']='';
$this->phrasen['zeitwunsch/hierMoechteIchUnterrichten']='';
$this->phrasen['zeitwunsch/kontrollierenSieIhreZeitwuensche']='';
$this->phrasen['zeitwunsch/letzteAenderung']='';
$this->phrasen['zeitwunsch/nurInNotfaellen']='';
$this->phrasen['zeitwunsch/profil']='';
$this->phrasen['zeitwunsch/sperrenSieNurTermine']='';
$this->phrasen['zeitwunsch/tragenSieInDiesesNormwochenraster']='inserire nel modulo settimanale standard la propria disponibilità relativa alla normale settimana lavorativa';
$this->phrasen['zeitwunsch/verwendenSieDenWertNur']='';
$this->phrasen['zeitwunsch/von']='';
$this->phrasen['zeitwunsch/wert']='';
$this->phrasen['zeitwunsch/zeitwunsch']='';
$this->phrasen['zeitwunsch/zeitwunschVon']='';
?>
+20 -20
View File
@@ -176,25 +176,12 @@ else
$stp_ids=array();
$stpl_main = new studienplan();
$sto_obj = new studienordnung();
if($sto_obj->loadStudienordnungSTG($stg_kz, $semester_aktuell, $sem))
$stpl_main->getStudienplaeneFromSem($stg_kz, $semester_aktuell, $sem, $orgform);
foreach($stpl_main->result as $row_stp)
{
foreach($sto_obj->result as $row_sto)
{
//echo "$row_sto->studienordnung_id $row_sto->semester\n";
$stp_obj = new studienplan();
if($stp_obj->loadStudienplanSTO($row_sto->studienordnung_id, $orgform))
{
foreach($stp_obj->result as $row_stp)
{
$stp_ids_arr[]=array('stpid'=>$row_stp->studienplan_id,'semester'=>$row_sto->semester);
$stp_ids[]=$row_stp->studienplan_id;
}
}
}
$stp_ids_arr[]=array('stpid'=>$row_stp->studienplan_id,'semester'=>$row_stp->semester);
$stp_ids[]=$row_stp->studienplan_id;
}
else
echo "FAILED:".$stpl_main->errormsg;
$qry='';
if(count($stp_ids)>0)
@@ -229,7 +216,7 @@ else
tbl_lehrveranstaltung.lehre, lehreverzeichnis as lv_lehreverzeichnis, aktiv, planfaktor as lv_planfaktor,
planlektoren as lv_planlektoren, planpersonalkosten as lv_planpersonalkosten,
plankostenprolektor as lv_plankostenprolektor, tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz, tbl_lehrveranstaltung.orgform_kurzbz,
'' as studienplan_id, '' as studienplan_bezeichnung, '' as studienplan_lehrveranstaltung_id_parent,
''::text as studienplan_id, '' as studienplan_bezeichnung, '' as studienplan_lehrveranstaltung_id_parent,
tbl_lehrveranstaltung.lehrtyp_kurzbz
FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
WHERE 1=1";
@@ -247,9 +234,22 @@ else
$qry.=" AND NOT EXISTS (SELECT 1 FROM lehre.tbl_studienplan_lehrveranstaltung where studienplan_id in (".$db->db_implode4SQL($stp_ids).")
AND lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehrveranstaltung.aktiv)";
}
//$qry = 'SELECT distinct on(lehrveranstaltung_id) * FROM ('.$qry.' ORDER BY studienplan_id DESC) a';
/*
$qry = 'SELECT
lehrveranstaltung_id, lv_kurzbz, lv_bezeichnung, lv_bezeichnung_english, studiengang_kz,
semester, sprache, lv_ects, semesterstunden, anmerkung, lehre, lv_lehreverzeichnis, aktiv,
lv_planfaktor, lv_planlektoren, lv_planpersonalkosten, lv_plankostenprolektor, lv_lehrform_kurzbz,
orgform_kurzbz, studienplan_lehrveranstaltung_id_parent, lehrtyp_kurzbz,
array_agg(studienplan_id) as studienplan_id, array_agg(studienplan_bezeichnung) as studienplan_bezeichnung
FROM ('.$qry.') a
GROUP BY
lehrveranstaltung_id, lv_kurzbz, lv_bezeichnung, lv_bezeichnung_english, studiengang_kz,
semester, sprache, lv_ects, semesterstunden, anmerkung, lehre, lv_lehreverzeichnis, aktiv,
lv_planfaktor, lv_planlektoren, lv_planpersonalkosten, lv_plankostenprolektor, lv_lehrform_kurzbz,
orgform_kurzbz, studienplan_lehrveranstaltung_id_parent, lehrtyp_kurzbz';
*/
}
//die($qry);
//die($qry);
if(!$result = $db->db_query($qry))
die($db->db_last_error().'<BR>'.$qry);
+50 -1
View File
@@ -36,6 +36,8 @@ require_once('../include/studienplan.class.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/organisationseinheit.class.php');
require_once('../include/anrechnung.class.php');
require_once('../include/lehrform.class.php');
$datum = new datum();
$db = new basis_db();
@@ -152,6 +154,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$lvbezeichnung = $lehrveranstaltung->bezeichnung;
$lvstg = $lehrveranstaltung->studiengang_kz;
$lehrform_kurzbz=$lehrveranstaltung->lehrform_kurzbz;
$lehrform = new lehrform($lehrform_kurzbz);
$lehrform_bezeichnung = $lehrform->bezeichnung;
$organisationseinheit = new organisationseinheit($lehrveranstaltung->oe_kurzbz);
$lehreinheit=new lehreinheit();
@@ -309,19 +313,64 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " <benotungsdatum>".$datum->formatDatum($benotungsdatum,'d.m.Y')."</benotungsdatum>";
$xml .= " <uebernahmedatum>".$datum->formatDatum($uebernahmedatum,'d.m.Y')."</uebernahmedatum>";
$xml .= " <lehrform_kurzbz>".$lehrform_kurzbz."</lehrform_kurzbz>";
$xml .= " <lehrform_bezeichnung>".$lehrform_bezeichnung."</lehrform_bezeichnung>";
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
$xml .= " <ects>".number_format($ects,1)."</ects>";
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
$xml .= " <kompatible_lvs>";
$lehrveranstaltung->getLVkompatibel($lehrveranstaltung_id);
foreach($lehrveranstaltung->lehrveranstaltungen as $lv_kompatibel)
{
$xml .= "<lv>".$lv_kompatibel->bezeichnung."</lv>";
}
$xml .= " </kompatible_lvs>";
$return = $lehrveranstaltung->getLVFromStudienplanByLehrtyp($studienplan_id, "modul");
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, null, $lehrveranstaltung_id);
$xml .= "<studienverpflichtung>";
$lehrveranstaltung_id_kompatibel = "";
if(count($anrechnung->result) === 1)
{
$lehrveranstaltung_id_kompatibel = $anrechnung->result[0]->lehrveranstaltung_id;
$xml .= $anrechnung->result[0]->lehrveranstaltung_bez;
}
$xml .= "</studienverpflichtung>";
$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id);
$studienplan_lehrveranstaltung_id = "";
foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
{
if(($lv->lehrveranstaltung_id == $lehrveranstaltung_id) || ($lv->lehrveranstaltung_id == $lehrveranstaltung_id_kompatibel))
{
$studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
break;
}
}
$studienplan = new studienplan();
if($studienplan_lehrveranstaltung_id != "")
{
$studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id);
$lv = new lehrveranstaltung();
while($lv->lehrtyp_kurzbz != "modul")
{
$lv->load($studienplan->lehrveranstaltung_id);
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
}
$lehrveranstaltung->lehrveranstaltungen = array(0 => $lv);
}
else
{
$lehrveranstaltung->lehrveranstaltungen = array();
}
// $return = $lehrveranstaltung->getLVFromStudienplanByLehrtyp($studienplan_id, "modul");
$xml .= " <module>";
//Variable wird zur korrekten Darstellung im Dokument benötigt
+7 -5
View File
@@ -497,6 +497,8 @@ if($xmlformat=='rdf')
(tbl_bisio.von>='".$stsem_obj->start."' AND tbl_bisio.von<='".$stsem_obj->ende."')
OR
(tbl_bisio.bis>='".$stsem_obj->start."' AND tbl_bisio.bis<='".$stsem_obj->ende."')
OR
(tbl_bisio.von<='".$stsem_obj->start."' AND tbl_bisio.bis>='".$stsem_obj->ende."')
)
AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Incoming' AND prestudent_id=bis.tbl_bisio.prestudent_id)
";
@@ -775,7 +777,7 @@ else
break;
}
}
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
@@ -800,24 +802,24 @@ else
$orgform_student_bezeichnung = new organisationsform();
$orgform_student_bezeichnung->load($prestudent->orgform_kurzbz);
//Wenn Lehrgang, dann Erhalter-KZ vor die LV-Studiengangs-Kz hängen
if ($lv_studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($lv_studiengang_kz);
$lv_studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($lv_studiengang_kz));
}
else
$lv_studiengang_kz = sprintf("%04s", abs($lv_studiengang_kz));
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($student->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($student->studiengang_kz);
$stg_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($student->studiengang_kz));
}
else
+339 -338
View File
@@ -1,339 +1,340 @@
<?php
/* Copyright (C) 2013 FH 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <kindlm@technikum-wien.at>
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/adresse.class.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/akadgrad.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/nation.class.php');
require_once('../include/studienordnung.class.php');
require_once('../include/studienplan.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/organisationsform.class.php');
require_once('../include/zgv.class.php');
require_once('../include/konto.class.php');
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
$uid_arr = explode(";",$uid_arr);
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<studienblaetter>\n";
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
$konto = new konto();
$student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
}
foreach($uid_arr as $uid)
{
if($uid=='')
continue;
echo "\t<studienblatt>\n";
$student = new student();
if($student->load($uid))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$prestudent = new prestudent($student->prestudent_id);
$prestudent->getLastStatus($student->prestudent_id,null,'Student');
$studienordnung = new studienordnung();
$studienordnung->getStudienordnungFromStudienplan($prestudent->studienplan_id);
$studiengang = new studiengang();
$studiengang->load($studienordnung->studiengang_kz);
$studienplan = new studienplan();
$studienplan->loadStudienplan($prestudent->studienplan_id);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
switch($student->geschlecht)
{
case 'm':
$geschlecht = 'Männlich';
break;
case 'w':
$geschlecht = 'Weiblich';
break;
case 'u':
$geschlecht = 'Unbekannt';
break;
default:
$geschlecht ='';
}
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studienordnung->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studienordnung->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studienordnung->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studienordnung->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<personenkz>".$uid."</personenkz>\n";
echo "\t\t<geschlecht>".$geschlecht."</geschlecht>\n";
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studienordnung->studiengangbezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studienordnung->studiengangbezeichnung_englisch."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studienordnung->studiengangkurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studienplan->sprache."</studiengangSprache>";
echo "\t\t<ects_gesamt>".$studienordnung->ects."</ects_gesamt>";
echo "\t\t<ects_pro_semester>".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."</ects_pro_semester>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
echo "\t\t<ausbildungssemester_aktuell>".$prestudent->ausbildungssemester."</ausbildungssemester_aktuell>";
$studiensemester_aktuell = new studiensemester();
$studiensemester_aktuell->load($prestudent->studiensemester_kurzbz);
echo "\t\t<studiensemester_aktuell>".$studiensemester_aktuell->bezeichnung."</studiensemester_aktuell>";
// check ob Oeh-Beitrag bezahlt wurde
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
echo "\t\t<oehbeitrag>".str_replace('.', ',', $oehbeitrag)."</oehbeitrag>";
// check ob Quereinsteiger
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,null,'Student');
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
echo "\t\t<voraussichtlichLetztesStudiensemester>".$studiensemester_abschluss->bezeichnung."</voraussichtlichLetztesStudiensemester>";
echo "\t\t<voraussichtlichLetztesStudiensemester_datum>".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."</voraussichtlichLetztesStudiensemester_datum>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
switch($status_aktuell)
{
case 'Student':
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Absolvent':
$studierendenstatus_aktuell = 'AbsolventIn';
break;
case 'Diplomand':
$studierendenstatus_aktuell = 'DiplomandIn';
break;
case 'Abbrecher':
$studierendenstatus_aktuell = 'AbbrecherIn';
break;
default:
$studierendenstatus_aktuell ='';
}
echo "\t\t<studierendenstatus_aktuell>".$studierendenstatus_aktuell."</studierendenstatus_aktuell>\n";
echo "\t\t<datum_reifepruefung>".$prestudent->zgvdatum."</datum_reifepruefung>\n";
$zgv = new zgv($prestudent->zgv_code);
echo "\t\t<schulform_zgv>".$zgv->zgv_kurzbz."</schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung>".$studienplan->bezeichnung."</studienplan_bezeichnung>\n";
echo "\t\t<anmerkungpre><![CDATA[$prestudent->anmerkung]]></anmerkungpre>\n";
$titel_kurzbz = '';
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studienplan_sprache>".$studienplan->sprache."</studienplan_sprache>\n";
echo "\t\t<regelstudiendauer>".$studienplan->regelstudiendauer."</regelstudiendauer>\n";
$akadgrad = new akadgrad();
$akadgrad->getAkadgradStudent($student->uid);
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
$lv_studiengang_kz='';
$lv_studiengang_bezeichnung='';
$lv_studiengang_typ='';
$stg_typ=new studiengang();
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->uid);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($student->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse><![CDATA[$row_adresse->strasse]]></strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
foreach($adresse->result as $row_adresse)
{
if($row_adresse->heimatadresse)
{
echo "\t\t<heimat_strasse><![CDATA[$row_adresse->strasse]]></heimat_strasse>\n";
echo "\t\t<heimat_plz>".$row_adresse->plz." ".$row_adresse->ort."</heimat_plz>\n";
echo "\t\t<heimat_nation>".$row_adresse->nation."</heimat_nation>\n";
break;
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
else
$orgform = $studienplan->orgform_kurzbz;
$orgform_bez = new organisationsform();
$orgform_bez->load($orgform);
echo "\t\t<orgform>".$orgform."</orgform>\n";
echo "\t\t<orgform_bezeichnung>".$orgform_bez->bezeichnung."</orgform_bezeichnung>\n";
//Studiengangsleiter auslesen
$stg_oe_obj = new studiengang($studienordnung->studiengang_kz);
if ($studienordnung->studiengang_kz=='')
$stgleiter = $stg_oe_obj->getLeitung($student_help->studiengang_kz);
else
$stgleiter = $stg_oe_obj->getLeitung($studienordnung->studiengang_kz);
$stgl='';
foreach ($stgleiter as $stgleiter_uid)
{
$stgl_ma = new mitarbeiter($stgleiter_uid);
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
}
echo "\t\t<stgl>$stgl</stgl>\n";
}
echo "\t</studienblatt>\n";
}
echo "</studienblaetter>";
<?php
/* Copyright (C) 2013 FH 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <kindlm@technikum-wien.at>
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/student.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/adresse.class.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/akadgrad.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/nation.class.php');
require_once('../include/studienordnung.class.php');
require_once('../include/studienplan.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/organisationsform.class.php');
require_once('../include/zgv.class.php');
require_once('../include/konto.class.php');
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
$studiensemester = (isset($_REQUEST['ss'])?$_REQUEST['ss']:null);
$uid_arr = explode(";",$uid_arr);
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<studienblaetter>\n";
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
$konto = new konto();
$student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
}
foreach($uid_arr as $uid)
{
if($uid=='')
continue;
echo "\t<studienblatt>\n";
$student = new student();
if($student->load($uid))
{
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$prestudent = new prestudent($student->prestudent_id);
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$studienordnung = new studienordnung();
$studienordnung->getStudienordnungFromStudienplan($prestudent->studienplan_id);
$studiengang = new studiengang();
$studiengang->load($studienordnung->studiengang_kz);
$studienplan = new studienplan();
$studienplan->loadStudienplan($prestudent->studienplan_id);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
switch($student->geschlecht)
{
case 'm':
$geschlecht = 'Männlich';
break;
case 'w':
$geschlecht = 'Weiblich';
break;
case 'u':
$geschlecht = 'Unbekannt';
break;
default:
$geschlecht ='';
}
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studienordnung->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studienordnung->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studienordnung->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studienordnung->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<personenkz>".$uid."</personenkz>\n";
echo "\t\t<geschlecht>".$geschlecht."</geschlecht>\n";
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studienordnung->studiengangbezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studienordnung->studiengangbezeichnung_englisch."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studienordnung->studiengangkurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studienplan->sprache."</studiengangSprache>";
echo "\t\t<ects_gesamt>".$studienordnung->ects."</ects_gesamt>";
echo "\t\t<ects_pro_semester>".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."</ects_pro_semester>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
echo "\t\t<ausbildungssemester_aktuell>".$prestudent->ausbildungssemester."</ausbildungssemester_aktuell>";
$studiensemester_aktuell = new studiensemester();
$studiensemester_aktuell->load($studiensemester);
echo "\t\t<studiensemester_aktuell>".$studiensemester_aktuell->bezeichnung."</studiensemester_aktuell>";
// check ob Oeh-Beitrag bezahlt wurde
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
echo "\t\t<oehbeitrag>".str_replace('.', ',', $oehbeitrag)."</oehbeitrag>";
// check ob Quereinsteiger
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
echo "\t\t<voraussichtlichLetztesStudiensemester>".$studiensemester_abschluss->bezeichnung."</voraussichtlichLetztesStudiensemester>";
echo "\t\t<voraussichtlichLetztesStudiensemester_datum>".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."</voraussichtlichLetztesStudiensemester_datum>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
switch($status_aktuell)
{
case 'Student':
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Absolvent':
$studierendenstatus_aktuell = 'AbsolventIn';
break;
case 'Diplomand':
$studierendenstatus_aktuell = 'DiplomandIn';
break;
case 'Abbrecher':
$studierendenstatus_aktuell = 'AbbrecherIn';
break;
default:
$studierendenstatus_aktuell ='';
}
echo "\t\t<studierendenstatus_aktuell>".$studierendenstatus_aktuell."</studierendenstatus_aktuell>\n";
echo "\t\t<datum_reifepruefung>".$prestudent->zgvdatum."</datum_reifepruefung>\n";
$zgv = new zgv($prestudent->zgv_code);
echo "\t\t<schulform_zgv>".$zgv->zgv_kurzbz."</schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung>".$studienplan->bezeichnung."</studienplan_bezeichnung>\n";
echo "\t\t<anmerkungpre><![CDATA[$prestudent->anmerkung]]></anmerkungpre>\n";
$titel_kurzbz = '';
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studienplan_sprache>".$studienplan->sprache."</studienplan_sprache>\n";
echo "\t\t<regelstudiendauer>".$studienplan->regelstudiendauer."</regelstudiendauer>\n";
$akadgrad = new akadgrad();
$akadgrad->getAkadgradStudent($student->uid);
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
$lv_studiengang_kz='';
$lv_studiengang_bezeichnung='';
$lv_studiengang_typ='';
$stg_typ=new studiengang();
$lv=new lehrveranstaltung();
$lv->load_lva_student($student->uid);
if(count($lv->lehrveranstaltungen)>0)
{
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
$adresse = new adresse();
$adresse->load_pers($student->person_id);
foreach($adresse->result as $row_adresse)
{
if($row_adresse->zustelladresse)
{
echo "\t\t<strasse><![CDATA[$row_adresse->strasse]]></strasse>\n";
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
break;
}
}
foreach($adresse->result as $row_adresse)
{
if($row_adresse->heimatadresse)
{
echo "\t\t<heimat_strasse><![CDATA[$row_adresse->strasse]]></heimat_strasse>\n";
echo "\t\t<heimat_plz>".$row_adresse->plz." ".$row_adresse->ort."</heimat_plz>\n";
echo "\t\t<heimat_nation>".$row_adresse->nation."</heimat_nation>\n";
break;
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
else
$orgform = $studienplan->orgform_kurzbz;
$orgform_bez = new organisationsform();
$orgform_bez->load($orgform);
echo "\t\t<orgform>".$orgform."</orgform>\n";
echo "\t\t<orgform_bezeichnung>".$orgform_bez->bezeichnung."</orgform_bezeichnung>\n";
//Studiengangsleiter auslesen
$stg_oe_obj = new studiengang($studienordnung->studiengang_kz);
if ($studienordnung->studiengang_kz=='')
$stgleiter = $stg_oe_obj->getLeitung($student_help->studiengang_kz);
else
$stgleiter = $stg_oe_obj->getLeitung($studienordnung->studiengang_kz);
$stgl='';
foreach ($stgleiter as $stgleiter_uid)
{
$stgl_ma = new mitarbeiter($stgleiter_uid);
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
}
echo "\t\t<stgl>$stgl</stgl>\n";
}
echo "\t</studienblatt>\n";
}
echo "</studienblaetter>";
?>
+25 -4
View File
@@ -107,7 +107,7 @@ if(!@$db->db_query("SELECT bewerbung_abgeschicktamum FROM public.tbl_prestudents
//Spalte benotung in lehre.tbl_lehrveranstaltung
if (!$result = @$db->db_query("SELECT benotung FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN benotung boolean NOT NULL DEFAULT FALSE;";
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN benotung boolean NOT NULL DEFAULT TRUE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
@@ -118,7 +118,7 @@ if (!$result = @$db->db_query("SELECT benotung FROM lehre.tbl_lehrveranstaltung
//Spalte lvinfo in lehre.tbl_lehrveranstaltung
if (!$result = @$db->db_query("SELECT lvinfo FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvinfo boolean NOT NULL DEFAULT FALSE;";
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvinfo boolean NOT NULL DEFAULT TRUE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
@@ -1114,9 +1114,30 @@ if (!$result = @$db->db_query("SELECT genehmigung FROM lehre.tbl_studienplan_leh
echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte genehmigung hinzugefügt.<br>';
}
//Spalte pruefungstyp_kurzbz in campus.tbl_pruefungsanmeldung
if (!$result = @$db->db_query("SELECT pruefungstyp_kurzbz FROM campus.tbl_pruefungsanmeldung LIMIT 1;"))
{
$qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN pruefungstyp_kurzbz varchar(16);
ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_pruefungstyp_pruefungstyp_kurzbz FOREIGN KEY (pruefungstyp_kurzbz) REFERENCES lehre.tbl_pruefungstyp(pruefungstyp_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;";
if (!$db->db_query($qry))
echo '<strong>campus.tbl_pruefungsanmeldung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' campus.tbl_pruefungsanmeldung: Spalte pruefungstyp_kurzbz hinzugefügt.<br>';
}
// Neue Spalte bezeichnung_mehrsprachig bei tbl_status
if(!@$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_status LIMIT 1"))
{
$qry = " ALTER TABLE public.tbl_status ADD COLUMN bezeichnung_mehrsprachig varchar(255)[];
update tbl_status set bezeichnung_mehrsprachig = cast('{'||status_kurzbz||','||status_kurzbz||'}' as varchar[]);";
if(!$db->db_query($qry))
echo '<strong>public.tbl_status '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte bezeichnung_mehrsprachig in public.tbl_status hinzugefügt<br>Die ersten beiden Sprachen wurden vorbefüllt. Weitere Übersetzungen sind zu ergänzen!<br>';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -1327,7 +1348,7 @@ $tabellen=array(
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz"),
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"),
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
"public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
@@ -0,0 +1,59 @@
<?php
/**
* FHComplete
*/
/**
* Ensures doc block alignments.
*/
class FHComplete_Sniffs_Commenting_DocBlockAlignmentSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_DOC_COMMENT_OPEN_TAG);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$leftWall = array(
T_CLASS,
T_NAMESPACE,
T_INTERFACE,
T_TRAIT,
T_USE
);
$oneIndentation = array(
T_FUNCTION,
T_VARIABLE,
T_CONST
);
$allTokens = array_merge($leftWall, $oneIndentation);
$notFlatFile = $phpcsFile->findNext(T_NAMESPACE, 0);
$next = $phpcsFile->findNext($allTokens, $stackPtr + 1);
if ($next && $notFlatFile) {
$notWalled = (in_array($tokens[$next]['code'], $leftWall) && $tokens[$stackPtr]['column'] !== 1);
$notIndented = (in_array($tokens[$next]['code'], $oneIndentation) && $tokens[$stackPtr]['column'] !== 5);
if ($notWalled || $notIndented) {
$phpcsFile->addError('Expected docblock to be aligned with code.', $stackPtr, 'NotAllowed');
}
}
return;
}
}
@@ -0,0 +1,487 @@
<?php
/**
* Parses and verifies the doc comments for functions.
*
* PHP version 5
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @author Marc McIntyre <mmcintyre@squiz.net>
* @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
if (class_exists('PEAR_Sniffs_Commenting_FunctionCommentSniff', true) === false) {
throw new PHP_CodeSniffer_Exception('Class PEAR_Sniffs_Commenting_FunctionCommentSniff not found');
}
/**
* Parses and verifies the doc comments for functions.
*
* Verifies that :
* <ul>
* <li>A comment exists</li>
* <li>There is a blank newline after the short description</li>
* <li>There is a blank newline between the long and short description</li>
* <li>There is a blank newline between the long description and tags</li>
* <li>Parameter names represent those in the method</li>
* <li>Parameter comments are in the correct order</li>
* <li>Parameter comments are complete</li>
* <li>A type hint is provided for array and custom class</li>
* <li>Type hint matches the actual variable/class type</li>
* <li>A blank line is present before the first and after the last parameter</li>
* <li>A return type exists</li>
* <li>Any throw tag must have a comment</li>
* <li>The tag order and indentation are correct</li>
* </ul>
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @author Marc McIntyre <mmcintyre@squiz.net>
* @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @version Release: @package_version@
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
class FHComplete_Sniffs_Commenting_FunctionCommentSniff extends PEAR_Sniffs_Commenting_FunctionCommentSniff
{
/**
* Is the comment an inheritdoc?
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
*
* @return boolean True if the comment is an inheritdoc
*/
protected function isInheritDoc(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$start = $phpcsFile->findPrevious(T_DOC_COMMENT_OPEN_TAG, $stackPtr - 1);
$end = $phpcsFile->findNext(T_DOC_COMMENT_CLOSE_TAG, $start);
$content = $phpcsFile->getTokensAsString($start, ($end - $start));
return preg_match('#{@inheritDoc}#', $content) === 1;
} // end isInheritDoc()
/**
* Process the return comment of this function comment.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
* @param int $commentStart The position in the stack where the comment started.
*
* @return void
*/
protected function processReturn(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart)
{
if ($this->isInheritDoc($phpcsFile, $stackPtr)) {
return;
}
$tokens = $phpcsFile->getTokens();
// Skip constructor and destructor.
$className = '';
foreach ($tokens[$stackPtr]['conditions'] as $condPtr => $condition) {
if ($condition === T_CLASS || $condition === T_INTERFACE) {
$className = $phpcsFile->getDeclarationName($condPtr);
$className = strtolower(ltrim($className, '_'));
}
}
$methodName = $phpcsFile->getDeclarationName($stackPtr);
$isSpecialMethod = ($methodName === '__construct' || $methodName === '__destruct');
if ($methodName !== '_') {
$methodName = strtolower(ltrim($methodName, '_'));
}
$return = null;
foreach ($tokens[$commentStart]['comment_tags'] as $tag) {
if ($tokens[$tag]['content'] === '@return') {
if ($return !== null) {
$error = 'Only 1 @return tag is allowed in a function comment';
$phpcsFile->addError($error, $tag, 'DuplicateReturn');
return;
}
$return = $tag;
}
}
if ($isSpecialMethod === true) {
return;
}
if ($return !== null) {
$content = $tokens[($return + 2)]['content'];
if (empty($content) === true || $tokens[($return + 2)]['code'] !== T_DOC_COMMENT_STRING) {
$error = 'Return type missing for @return tag in function comment';
$phpcsFile->addError($error, $return, 'MissingReturnType');
} else {
// Check return type (can be multiple, separated by '|').
$typeNames = explode('|', $content);
$suggestedNames = array();
foreach ($typeNames as $i => $typeName) {
if ($typeName === 'integer') {
$suggestedName = 'int';
} elseif ($typeName === 'boolean') {
$suggestedName = 'bool';
} elseif (in_array($typeName, array('int', 'bool'))) {
$suggestedName = $typeName;
} else {
$suggestedName = PHP_CodeSniffer::suggestType($typeName);
}
if (in_array($suggestedName, $suggestedNames) === false) {
$suggestedNames[] = $suggestedName;
}
}
$suggestedType = implode('|', $suggestedNames);
if ($content !== $suggestedType) {
$error = 'Function return type "%s" is invalid';
$error = 'Expected "%s" but found "%s" for function return type';
$data = array(
$suggestedType,
$content,
);
$phpcsFile->addError($error, $return, 'InvalidReturn', $data);
}
// If the return type is void, make sure there is
// no return statement in the function.
if ($content === 'void') {
if (isset($tokens[$stackPtr]['scope_closer']) === true) {
$endToken = $tokens[$stackPtr]['scope_closer'];
for ($returnToken = $stackPtr; $returnToken < $endToken; $returnToken++) {
if ($tokens[$returnToken]['code'] === T_CLOSURE) {
$returnToken = $tokens[$returnToken]['scope_closer'];
continue;
}
if ($tokens[$returnToken]['code'] === T_RETURN) {
break;
}
}
if ($returnToken !== $endToken) {
// If the function is not returning anything, just
// exiting, then there is no problem.
$semicolon = $phpcsFile->findNext(T_WHITESPACE, ($returnToken + 1), null, true);
if ($tokens[$semicolon]['code'] !== T_SEMICOLON) {
$error = 'Function return type is void, but function contains return statement';
$phpcsFile->addWarning($error, $return, 'InvalidReturnVoid');
}
}
}//end if
} elseif (!preg_match('/^mixed/', $content)) {
// If return type is not void, there needs to be a return statement
// somewhere in the function that returns something.
if (isset($tokens[$stackPtr]['scope_closer']) === true) {
$endToken = $tokens[$stackPtr]['scope_closer'];
$returnToken = $phpcsFile->findNext(T_RETURN, $stackPtr, $endToken);
if ($returnToken === false) {
$error = 'Function return type is not void, but function has no return statement';
$phpcsFile->addWarning($error, $return, 'InvalidNoReturn');
} elseif (!preg_match('/void/', $content)) {
$semicolon = $phpcsFile->findNext(T_WHITESPACE, ($returnToken + 1), null, true);
if ($tokens[$semicolon]['code'] === T_SEMICOLON) {
$error = 'Function return type is not void, but function is returning void here';
$phpcsFile->addWarning($error, $returnToken, 'InvalidReturnNotVoid');
}
}
}
}//end if
}//end if
} else {
$error = 'Missing @return tag in function comment';
$phpcsFile->addWarning($error, $tokens[$commentStart]['comment_closer'], 'MissingReturn');
}//end if
}//end processReturn()
/**
* Process any throw tags that this function comment has.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
* @param int $commentStart The position in the stack where the comment started.
*
* @return void
*/
protected function processThrows(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart)
{
$tokens = $phpcsFile->getTokens();
$throws = array();
foreach ($tokens[$commentStart]['comment_tags'] as $pos => $tag) {
if ($tokens[$tag]['content'] !== '@throws') {
continue;
}
$exception = null;
$comment = null;
if ($tokens[($tag + 2)]['code'] === T_DOC_COMMENT_STRING) {
$matches = array();
preg_match('/([^\s]+)(?:\s+(.*))?/', $tokens[($tag + 2)]['content'], $matches);
$exception = $matches[1];
if (isset($matches[2]) === true) {
$comment = $matches[2];
}
}
if ($exception === null) {
$error = 'Exception type and comment missing for @throws tag in function comment';
$phpcsFile->addWarning($error, $tag, 'InvalidThrows');
} elseif ($comment === null) {
$error = 'Comment missing for @throws tag in function comment';
$phpcsFile->addWarning($error, $tag, 'EmptyThrows');
} else {
// Any strings until the next tag belong to this comment.
if (isset($tokens[$commentStart]['comment_tags'][($pos + 1)]) === true) {
$end = $tokens[$commentStart]['comment_tags'][($pos + 1)];
} else {
$end = $tokens[$commentStart]['comment_closer'];
}
for ($i = ($tag + 3); $i < $end; $i++) {
if ($tokens[$i]['code'] === T_DOC_COMMENT_STRING) {
$comment .= ' '.$tokens[$i]['content'];
}
}
// Starts with a capital letter and ends with a fullstop.
$firstChar = $comment{0};
if (strtoupper($firstChar) !== $firstChar) {
$error = '@throws tag comment must start with a capital letter';
$phpcsFile->addWarning($error, ($tag + 2), 'ThrowsNotCapital');
}
$lastChar = substr($comment, -1);
if ($lastChar !== '.') {
$error = '@throws tag comment must end with a full stop';
$phpcsFile->addWarning($error, ($tag + 2), 'ThrowsNoFullStop');
}
}//end if
}//end foreach
}//end processThrows()
/**
* Process the function parameter comments.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
* @param int $commentStart The position in the stack where the comment started.
*
* @return void
*/
protected function processParams(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart)
{
if ($this->isInheritDoc($phpcsFile, $stackPtr)) {
return;
}
$tokens = $phpcsFile->getTokens();
$params = array();
$maxType = 0;
$maxVar = 0;
foreach ($tokens[$commentStart]['comment_tags'] as $pos => $tag) {
if ($tokens[$tag]['content'] !== '@param') {
continue;
}
$type = '';
$typeSpace = 0;
$var = '';
$varSpace = 0;
$comment = '';
$commentLines = array();
if ($tokens[($tag + 2)]['code'] === T_DOC_COMMENT_STRING) {
$matches = array();
preg_match('/([^$&]+)(?:((?:\$|&)[^\s]+)(?:(\s+)(.*))?)?/', $tokens[($tag + 2)]['content'], $matches);
$typeLen = strlen($matches[1]);
$type = trim($matches[1]);
$typeSpace = ($typeLen - strlen($type));
$typeLen = strlen($type);
if ($typeLen > $maxType) {
$maxType = $typeLen;
}
if (isset($matches[2]) === true) {
$var = $matches[2];
$varLen = strlen($var);
if ($varLen > $maxVar) {
$maxVar = $varLen;
}
if (isset($matches[4]) === true) {
$varSpace = strlen($matches[3]);
$comment = $matches[4];
$commentLines[] = array(
'comment' => $comment,
'token' => ($tag + 2),
'indent' => $varSpace,
);
// Any strings until the next tag belong to this comment.
if (isset($tokens[$commentStart]['comment_tags'][($pos + 1)]) === true) {
$end = $tokens[$commentStart]['comment_tags'][($pos + 1)];
} else {
$end = $tokens[$commentStart]['comment_closer'];
}
for ($i = ($tag + 3); $i < $end; $i++) {
if ($tokens[$i]['code'] === T_DOC_COMMENT_STRING) {
$indent = 0;
if ($tokens[($i - 1)]['code'] === T_DOC_COMMENT_WHITESPACE) {
$indent = strlen($tokens[($i - 1)]['content']);
}
$comment .= ' '.$tokens[$i]['content'];
$commentLines[] = array(
'comment' => $tokens[$i]['content'],
'token' => $i,
'indent' => $indent,
);
}
}
} else {
$error = 'Missing parameter comment';
$phpcsFile->addError($error, $tag, 'MissingParamComment');
$commentLines[] = array('comment' => '');
}//end if
} else {
$error = 'Missing parameter name';
$phpcsFile->addError($error, $tag, 'MissingParamName');
}//end if
} else {
$error = 'Missing parameter type';
$phpcsFile->addError($error, $tag, 'MissingParamType');
}//end if
$params[] = array(
'tag' => $tag,
'type' => $type,
'var' => $var,
'comment' => $comment,
'commentLines' => $commentLines,
'type_space' => $typeSpace,
'var_space' => $varSpace,
);
}//end foreach
$realParams = $phpcsFile->getMethodParameters($stackPtr);
$foundParams = array();
foreach ($params as $pos => $param) {
// If the type is empty, the whole line is empty.
if ($param['type'] === '') {
continue;
}
// Check the param type value.
$typeNames = explode('|', $param['type']);
foreach ($typeNames as $typeName) {
if ($typeName === 'integer') {
$suggestedName = 'int';
} elseif ($typeName === 'boolean') {
$suggestedName = 'bool';
} elseif (in_array($typeName, array('int', 'bool'))) {
$suggestedName = $typeName;
} else {
$suggestedName = PHP_CodeSniffer::suggestType($typeName);
}
if ($typeName !== $suggestedName) {
$error = 'Expected "%s" but found "%s" for parameter type';
$data = array(
$suggestedName,
$typeName,
);
$fix = $phpcsFile->addFixableError($error, $param['tag'], 'IncorrectParamVarName', $data);
if ($fix === true) {
$content = $suggestedName;
$content .= str_repeat(' ', $param['type_space']);
$content .= $param['var'];
$content .= str_repeat(' ', $param['var_space']);
$content .= $param['commentLines'][0]['comment'];
$phpcsFile->fixer->replaceToken(($param['tag'] + 2), $content);
}
}
}//end foreach
if ($param['var'] === '') {
continue;
}
$foundParams[] = $param['var'];
// Make sure the param name is correct.
if (isset($realParams[$pos]) === true) {
$realName = $realParams[$pos]['name'];
if ($realName !== $param['var']) {
$code = 'ParamNameNoMatch';
$data = array(
$param['var'],
$realName,
);
$error = 'Doc comment for parameter %s does not match ';
if (strtolower($param['var']) === strtolower($realName)) {
$error .= 'case of ';
$code = 'ParamNameNoCaseMatch';
}
$error .= 'actual variable name %s';
$phpcsFile->addWarning($error, $param['tag'], $code, $data);
}
} elseif (substr($param['var'], -4) !== ',...') {
// We must have an extra parameter comment.
$error = 'Superfluous parameter comment';
$phpcsFile->addError($error, $param['tag'], 'ExtraParamComment');
}//end if
if ($param['comment'] === '') {
continue;
}
// Param comments must start with a capital letter and end with the full stop.
$firstChar = $param['comment']{0};
if (preg_match('|\p{Lu}|u', $firstChar) === 0) {
$error = 'Parameter comment must start with a capital letter';
$phpcsFile->addWarning($error, $param['tag'], 'ParamCommentNotCapital');
}
$lastChar = substr($param['comment'], -1);
if ($lastChar !== '.') {
$error = 'Parameter comment must end with a full stop';
$phpcsFile->addWarning($error, $param['tag'], 'ParamCommentFullStop');
}
}//end foreach
$realNames = array();
foreach ($realParams as $realParam) {
$realNames[] = $realParam['name'];
}
// Report missing comments.
$diff = array_diff($realNames, $foundParams);
foreach ($diff as $neededParam) {
$error = 'Doc comment for parameter "%s" missing';
$data = array($neededParam);
$phpcsFile->addWarning($error, $commentStart, 'MissingParamTag', $data);
}
}//end processParams()
}//end class
@@ -0,0 +1,87 @@
<?php
/**
* FHComplete
*/
/**
* Asserts that function comments use the short form for types:
* - bool instead of boolean
* - int instead of integer
*/
class FHComplete_Sniffs_Commenting_FunctionCommentTypeSniff implements PHP_CodeSniffer_Sniff {
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_DOC_COMMENT);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token
* in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
// We are only interested in function/class/interface doc block comments.
$nextToken = $phpcsFile->findNext(PHP_CodeSniffer_Tokens::$emptyTokens, ($stackPtr + 1), null, true);
$ignore = array(
T_CLASS,
T_INTERFACE,
T_FUNCTION,
T_PUBLIC,
T_PRIVATE,
T_PROTECTED,
T_STATIC,
T_ABSTRACT,
);
if (in_array($tokens[$nextToken]['code'], $ignore) === false) {
// Could be a file comment.
$prevToken = $phpcsFile->findPrevious(PHP_CodeSniffer_Tokens::$emptyTokens, ($stackPtr - 1), null, true);
if ($tokens[$prevToken]['code'] !== T_OPEN_TAG) {
return;
}
}
$types = array(
'boolean' => 'bool',
'integer' => 'int',
);
foreach ($types as $from => $to) {
$this->_check($phpcsFile, $stackPtr, $from, $to);
}
}
/**
* MyFHComplete_Sniffs_Commenting_DocBlockTypeSniff::_check()
*
* @param int $stackPtr
* @param string $from
* @param string $to
* @return void
*/
protected function _check(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $from, $to)
{
$tokens = $phpcsFile->getTokens();
$content = $tokens[$stackPtr]['content'];
$matches = array();
if (preg_match('/\@(\w+)\s+([\w\\|\\\\]*?)' . $from . '\b/i', $content, $matches) === 0) {
return;
}
$error = 'Please use "' . $to . '" instead of "' . $from . '" for types in doc blocks.';
$phpcsFile->addWarning($error, $stackPtr, 'WrongType');
}
}
@@ -0,0 +1,58 @@
<?php
/**
* Verifies that control statements conform to their coding standards.
*
* PHP version 5
*/
if (class_exists('PHP_CodeSniffer_Standards_AbstractPatternSniff', true) === false) {
throw new PHP_CodeSniffer_Exception('Class PHP_CodeSniffer_Standards_AbstractPatternSniff not found');
}
/**
* Verifies that control statements conform to their coding standards.
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @author Marc McIntyre <mmcintyre@squiz.net>
* @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @version Release: @package_version@
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
class FHComplete_Sniffs_ControlStructures_ControlSignatureSniff extends PHP_CodeSniffer_Standards_AbstractPatternSniff
{
/**
* If true, comments will be ignored if they are found in the code.
*
* @var boolean
*/
public $ignoreComments = true;
/**
* Returns the patterns that this test wishes to verify.
*
* @return string[]
*/
protected function getPatterns()
{
return array(
'try {EOL...}\s+catch (...)EOL...{EOL...EOL...}',
'do+EOL...{EOL...EOL...} while (...);EOL',
'while (...)EOL...{EOL',
'for (...) {EOL',
'if (...)EOL...{EOL',
'foreach (...)EOL...{EOL',
'}EOL...\s+else if (...)EOL...{EOL',
'}EOL...\s+elseif (...)EOL...{EOL',
'}EOL...\s+else+EOL...{EOL',
'do+EOL...{EOL',
);
}//end getPatterns()
}//end class
@@ -0,0 +1,48 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures that elseif is used instead of else if
*
*/
class FHComplete_Sniffs_ControlStructures_ElseIfDeclarationSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_ELSE);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* Checks that ELSEIF is used instead of ELSE IF.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$nextToken = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$nextToken]['code'] !== T_IF) {
return;
}
$error = 'Usage of ELSE IF not allowed; use ELSEIF instead';
$phpcsFile->addError($error, $stackPtr, 'NotAllowed');
}
}
@@ -0,0 +1,56 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures that while and do-while use curly brackets
*
*/
class FHComplete_Sniffs_ControlStructures_WhileStructuresSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_DO, T_WHILE);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* Checks that while and do-while use curly brackets
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$nextToken = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$nextToken]['code'] === T_OPEN_PARENTHESIS) {
$closer = $tokens[$nextToken]['parenthesis_closer'];
$diff = $closer - $stackPtr;
$nextToken = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + $diff + 1), null, true);
}
if ($tokens[$stackPtr]['code'] === T_WHILE && $tokens[$nextToken]['code'] === T_SEMICOLON) {
/* This while is probably part of a do-while construction, skip it .. */
return;
}
if ($tokens[$nextToken]['code'] !== T_OPEN_CURLY_BRACKET && $tokens[$nextToken]['code'] !== T_COLON) {
$error = 'Curly brackets required in a do-while or while loop';
$phpcsFile->addError($error, $stackPtr, 'NotAllowed');
}
}
}
@@ -0,0 +1,48 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures the use contains only one class.
*
*/
class FHComplete_Sniffs_Formatting_OneClassPerUseSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_USE);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$i = 2; // Ignore use word and whitespace
$filename = $phpcsFile->getFilename();
while (in_array($tokens[$stackPtr + $i]['code'], array(T_STRING, T_NS_SEPARATOR, T_WHITESPACE, T_AS))) {
$i++;
}
if ($tokens[$stackPtr + $i]['code'] === T_COMMA) {
$error = 'Only one class is allowed per use';
$phpcsFile->addError($error, $stackPtr, 'OneClassPerUse', array());
}
}
}
@@ -0,0 +1,142 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures all the use are in alphabetical order.
*
*/
class FHComplete_Sniffs_Formatting_UseInAlphabeticalOrderSniff implements PHP_CodeSniffer_Sniff
{
/**
* Processed files
*
* @var array
*/
protected $_processed = array();
/**
* The list of use statements, their content and scope.
*
* @var array
*/
protected $_uses = array();
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_USE);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
if (isset($this->_processed[$phpcsFile->getFilename()])) {
return;
}
$filename = $phpcsFile->getFilename();
$this->_uses = array();
$next = $stackPtr;
while ($next !== false) {
$this->_checkUseToken($phpcsFile, $next);
$next = $phpcsFile->findNext(T_USE, $next + 1);
}
// Prevent multiple uses in the same file from entering
$this->_processed[$phpcsFile->getFilename()] = true;
foreach ($this->_uses as $scope => $used) {
$defined = $sorted = array_keys($used);
natcasesort($sorted);
$sorted = array_values($sorted);
if ($sorted === $defined) {
continue;
}
foreach ($defined as $i => $name) {
if ($name !== $sorted[$i]) {
$error = 'Use classes must be in alphabetical order. Was expecting ' . $sorted[$i];
$phpcsFile->addError($error, $used[$name], 'UseInAlphabeticalOrder', array());
}
}
}
}
/**
* Check all the use tokens in a file.
*
* @param PHP_CodeSniffer_File $phpcsFile The file to check.
* @param integer $stackPtr The index of the first use token.
* @return void
*/
protected function _checkUseToken($phpcsFile, $stackPtr) {
// If the use token is for a closure we want to ignore it.
$isClosure = $this->_isClosure($phpcsFile, $stackPtr);
if ($isClosure) {
return;
}
$tokens = $phpcsFile->getTokens();
// Only one USE declaration allowed per statement.
$next = $phpcsFile->findNext(array(T_COMMA, T_SEMICOLON), ($stackPtr + 1));
if ($tokens[$next]['code'] === T_COMMA) {
$error = 'There must be one USE keyword per declaration';
$phpcsFile->addError($error, $stackPtr, 'MultipleDeclarations');
}
$content = '';
$end = $phpcsFile->findNext(array(T_SEMICOLON, T_OPEN_CURLY_BRACKET), $stackPtr);
$useTokens = array_slice($tokens, $stackPtr, $end - $stackPtr, true);
foreach ($useTokens as $index => $token) {
if ($token['code'] === T_STRING || $token['code'] === T_NS_SEPARATOR) {
$content .= $token['content'];
}
}
// Check for class scoping on use. Traits should be
// ordered independently.
$scope = 0;
if (!empty($token['conditions'])) {
$scope = key($token['conditions']);
}
$this->_uses[$scope][$content] = $stackPtr;
}
/**
* Check if the current stackPtr is a use token that is for a closure.
*
* @param PHP_CodeSniffer_File $phpcsFile
* @param integer $stackPtr
* @return boolean
*/
protected function _isClosure($phpcsFile, $stackPtr) {
return $phpcsFile->findPrevious(
array(T_CLOSURE),
($stackPtr - 1),
null,
false,
null,
true
);
}
}
@@ -0,0 +1,35 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures there is a space after the function keyword for closures.
*
*/
class FHComplete_Sniffs_Functions_ClosureDeclarationSniff implements PHP_CodeSniffer_Sniff {
public function register()
{
return array(T_CLOSURE);
}
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$spaces = 0;
if ($tokens[($stackPtr + 1)]['code'] === T_WHITESPACE) {
$spaces = strlen($tokens[($stackPtr + 1)]['content']);
}
if ($spaces !== 1) {
$error = 'Expected 1 space after closure\'s function keyword; %s found';
$data = array($spaces);
$phpcsFile->addError($error, $stackPtr, 'SpaceAfterFunction', $data);
}
}
}
@@ -0,0 +1,26 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
if (class_exists('Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff', true) === false) {
$error = 'Class Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff not found';
throw new PHP_CodeSniffer_Exception($error);
}
/**
* Ensures the spacing of function declaration arguments is correct.
*
*/
class FHComplete_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff extends
Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff {
/**
* How many spaces should surround the equals signs.
*
* @var int
*/
public $equalsSpacing = 1;
}
@@ -0,0 +1,98 @@
<?php
/**
* PSR1_Sniffs_Methods_CamelCapsMethodNameSniff.
*
* PHP version 5
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
if (class_exists('Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff', true) === false) {
throw new PHP_CodeSniffer_Exception('Class Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff not found');
}
/**
* PSR1_Sniffs_Methods_CamelCapsMethodNameSniff.
*
* Ensures method names are defined using camel case.
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @version Release: @package_version@
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
class FHComplete_Sniffs_NamingConventions_CamelCapsMethodNameSniff extends Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff
{
/**
* Processes the tokens within the scope.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being processed.
* @param int $stackPtr The position where this token was
* found.
* @param int $currScope The position of the current scope.
*
* @return void
*/
protected function processTokenWithinScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $currScope)
{
$methodName = $phpcsFile->getDeclarationName($stackPtr);
if ($methodName === null
|| substr($methodName,-4) === '_get'
|| substr($methodName,-5) === '_post'
|| substr($methodName,-4) === '_put'
|| substr($methodName,-6) === '_patch'
|| substr($methodName,-7) === '_delete'
)
// Ignore closures.
return;
// Ignore magic methods.
if (preg_match('|^__|', $methodName) !== 0) {
$magicPart = strtolower(substr($methodName, 2));
if (isset($this->magicMethods[$magicPart]) === true
|| isset($this->methodsDoubleUnderscore[$magicPart]) === true
) {
return;
}
}
$testName = ltrim($methodName, '_');
if ($testName !== '' && PHP_CodeSniffer::isCamelCaps($testName, false, true, false) === false) {
$error = 'Method name "%s" is not in camel caps format';
$className = $phpcsFile->getDeclarationName($currScope);
$errorData = array($className.'::'.$methodName);
$phpcsFile->addError($error, $stackPtr, 'NotCamelCaps', $errorData);
$phpcsFile->recordMetric($stackPtr, 'CamelCase method name', 'no');
} else {
$phpcsFile->recordMetric($stackPtr, 'CamelCase method name', 'yes');
}
}//end processTokenWithinScope()
/**
* Processes the tokens outside the scope.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being processed.
* @param int $stackPtr The position where this token was
* found.
*
* @return void
*/
protected function processTokenOutsideScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
}//end processTokenOutsideScope()
}//end class
@@ -0,0 +1,223 @@
<?php
/**
* FHComplete_Sniffs_NamingConventions_UpperCaseConstantNameSniff.
*
* PHP version 5
*
* Ensures that constant names are all uppercase.
*
* @category PHP
* @package PHP_CodeSniffer
* @author Greg Sherwood <gsherwood@squiz.net>
* @author Marc McIntyre <mmcintyre@squiz.net>
* @copyright 2006-2012 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
* @version Release: 1.5.0RC3
* @link http://pear.php.net/package/PHP_CodeSniffer
*/
class FHComplete_Sniffs_NamingConventions_UpperCaseConstantNameSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_STRING);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
*
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$constName = $tokens[$stackPtr]['content'];
// If this token is in a heredoc, ignore it.
if ($phpcsFile->hasCondition($stackPtr, T_START_HEREDOC) === true) {
return;
}
// Special case for PHPUnit.
if ($constName === 'PHPUnit_MAIN_METHOD') {
return;
}
// If the next non-whitespace token after this token
// is not an opening parenthesis then it is not a function call.
$openBracket = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$openBracket]['code'] !== T_OPEN_PARENTHESIS) {
$functionKeyword = $phpcsFile->findPrevious(
array(
T_WHITESPACE,
T_COMMA,
T_COMMENT,
T_STRING,
T_NS_SEPARATOR,
),
($stackPtr - 1),
null,
true
);
$declarations = array(
T_FUNCTION,
T_CLASS,
T_INTERFACE,
T_TRAIT,
T_IMPLEMENTS,
T_EXTENDS,
T_INSTANCEOF,
T_NEW,
T_NAMESPACE,
T_USE,
T_AS,
T_GOTO,
T_INSTEADOF,
T_PROTECTED,
T_PRIVATE,
T_PUBLIC
);
if (in_array($tokens[$functionKeyword]['code'], $declarations) === true) {
// This is just a declaration; no constants here.
return;
}
if ($tokens[$functionKeyword]['code'] === T_CONST) {
// This is a class constant.
if (strtoupper($constName) !== $constName) {
$error = 'Class constants must be uppercase; expected %s but found %s';
$data = array(
strtoupper($constName),
$constName,
);
$phpcsFile->addError($error, $stackPtr, 'ClassConstantNotUpperCase', $data);
}
return;
}
// Is this a class name?
$nextPtr = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$nextPtr]['code'] === T_DOUBLE_COLON) {
return;
}
// Is this a namespace name?
if ($tokens[$nextPtr]['code'] === T_NS_SEPARATOR) {
return;
}
// Is this an insteadof name?
if ($tokens[$nextPtr]['code'] === T_INSTEADOF) {
return;
}
// Is this an as name?
if ($tokens[$nextPtr]['code'] === T_AS) {
return;
}
// Is this a type hint?
if ($tokens[$nextPtr]['code'] === T_VARIABLE
|| $phpcsFile->isReference($nextPtr) === true
) {
return;
}
// Is this a member var name?
$prevPtr = $phpcsFile->findPrevious(T_WHITESPACE, ($stackPtr - 1), null, true);
if ($tokens[$prevPtr]['code'] === T_OBJECT_OPERATOR) {
return;
}
// Is this a variable name, in the form ${varname} ?
if ($tokens[$prevPtr]['code'] === T_OPEN_CURLY_BRACKET) {
$nextPtr = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$nextPtr]['code'] === T_CLOSE_CURLY_BRACKET) {
return;
}
}
// Is this a namespace name?
if ($tokens[$prevPtr]['code'] === T_NS_SEPARATOR) {
return;
}
// Is this an instance of declare()
$prevPtrDeclare = $phpcsFile->findPrevious(
array(T_WHITESPACE, T_OPEN_PARENTHESIS),
($stackPtr - 1),
null,
true
);
if ($tokens[$prevPtrDeclare]['code'] === T_DECLARE) {
return;
}
// Is this a goto label target?
if ($tokens[$nextPtr]['code'] === T_COLON) {
if (in_array($tokens[$prevPtr]['code'], array(T_SEMICOLON, T_OPEN_CURLY_BRACKET, T_COLON), true)) {
return;
}
}
// This is a real constant.
if (strtoupper($constName) !== $constName) {
$error = 'Constants must be uppercase; expected %s but found %s';
$data = array(
strtoupper($constName),
$constName,
);
$phpcsFile->addError($error, $stackPtr, 'ConstantNotUpperCase', $data);
}
} elseif (strtolower($constName) === 'define' || strtolower($constName) === 'constant') {
/*
This may be a "define" or "constant" function call.
*/
// Make sure this is not a method call.
$prev = $phpcsFile->findPrevious(T_WHITESPACE, ($stackPtr - 1), null, true);
if ($tokens[$prev]['code'] === T_OBJECT_OPERATOR
|| $tokens[$prev]['code'] === T_DOUBLE_COLON
) {
return;
}
// The next non-whitespace token must be the constant name.
$constPtr = $phpcsFile->findNext(T_WHITESPACE, ($openBracket + 1), null, true);
if ($tokens[$constPtr]['code'] !== T_CONSTANT_ENCAPSED_STRING) {
return;
}
$constName = $tokens[$constPtr]['content'];
// Check for constants like self::CONSTANT.
$prefix = '';
$splitPos = strpos($constName, '::');
if ($splitPos !== false) {
$prefix = substr($constName, 0, ($splitPos + 2));
$constName = substr($constName, ($splitPos + 2));
}
if (strtoupper($constName) !== $constName) {
$error = 'Constants must be uppercase; expected %s but found %s';
$data = array(
$prefix . strtoupper($constName),
$prefix . $constName,
);
$phpcsFile->addError($error, $stackPtr, 'ConstantNotUpperCase', $data);
}
}
}
}
@@ -0,0 +1,47 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures curly brackets are on the same line as the Class declaration
*
*/
class FHComplete_Sniffs_NamingConventions_ValidClassBracketsSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_CLASS);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$found = $phpcsFile->findNext(T_OPEN_CURLY_BRACKET, $stackPtr);
if ($tokens[$found - 1]['code'] != T_WHITESPACE) {
$error = 'Expected 1 space after class declaration, found 0';
$phpcsFile->addError($error, $found - 1, 'InvalidSpacing', array());
return;
}
if (strlen($tokens[$found - 1]['content']) > 1 || $tokens[$found - 2]['code'] == T_WHITESPACE) {
$error = 'Expected 1 space after class declaration, found ' . strlen($tokens[$found - 1]['content']);
$phpcsFile->addError($error, $found - 1, 'InvalidSpacing', array());
}
}
}
@@ -0,0 +1,138 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures method names are correct depending on whether they are public
* or private, and that functions are named correctly.
*
*/
class FHComplete_Sniffs_NamingConventions_ValidFunctionNameSniff extends PHP_CodeSniffer_Standards_AbstractScopeSniff {
/**
* A list of all PHP magic methods.
*
* @var array
*/
protected $_magicMethods = array(
'construct',
'destruct',
'call',
'callStatic',
'debugInfo',
'get',
'set',
'isset',
'unset',
'sleep',
'wakeup',
'toString',
'set_state',
'clone',
'invoke',
);
/**
* Constructs a PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff.
*/
public function __construct() {
parent::__construct(array(T_CLASS, T_INTERFACE), array(T_FUNCTION), true);
}
/**
* Processes the tokens within the scope.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being processed.
* @param integer $stackPtr The position where this token was found.
* @param integer $currScope The position of the current scope.
* @return void
*/
protected function processTokenWithinScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $currScope) {
$methodName = $phpcsFile->getDeclarationName($stackPtr);
if ($methodName === null) {
// Ignore closures.
return;
}
$className = $phpcsFile->getDeclarationName($currScope);
$errorData = array($className . '::' . $methodName);
// PHP4 constructors are allowed to break our rules.
if ($methodName === $className) {
return;
}
// PHP4 destructors are allowed to break our rules.
if ($methodName === '_' . $className) {
return;
}
// Ignore magic methods
if (preg_match('/^__(' . implode('|', $this->_magicMethods) . ')$/', $methodName)) {
return;
}
$methodProps = $phpcsFile->getMethodProperties($stackPtr);
if ($methodProps['scope_specified'] === false) {
// Let another sniffer take care of that
return;
}
$isPublic = $methodProps['scope'] === 'public';
$isProtected = $methodProps['scope'] === 'protected';
$isPrivate = $methodProps['scope'] === 'private';
$scope = $methodProps['scope'];
if ($isPublic === true) {
if ($methodName[0] === '_') {
$error = 'Public method name "%s" must not be prefixed with underscore';
$phpcsFile->addError($error, $stackPtr, 'PublicWithUnderscore', $errorData);
return;
}
// Underscored public methods in controller are allowed to break our rules.
if (substr($className, -10) === 'Controller') {
return;
}
// Underscored public methods in shells are allowed to break our rules.
if (substr($className, -5) === 'Shell') {
return;
}
// Underscored public methods in tasks are allowed to break our rules.
if (substr($className, -4) === 'Task') {
return;
}
} elseif ($isPrivate === true) {
if (substr($methodName, 0, 2) !== '__') {
$error = 'Private method name "%s" must be prefixed with 2 underscores';
$phpcsFile->addError($error, $stackPtr, 'PrivateNoUnderscore', $errorData);
return;
} else {
$filename = $phpcsFile->getFilename();
if (strpos($filename, '/lib/Cake/') === true) {
$warning = 'Private method name "%s" in FHComplete core is discouraged';
$phpcsFile->addWarning($warning, $stackPtr, 'PrivateMethodInCore', $errorData);
}
}
} else {
if ($methodName[0] !== '_' || substr($methodName, 0, 2) === '__') {
$error = 'Protected method name "%s" must be prefixed with one underscore';
$phpcsFile->addError($error, $stackPtr, 'ProtectedNoUnderscore', $errorData);
return;
}
}
}
/**
* Processes the tokens outside the scope.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being processed.
* @param integer $stackPtr The position where this token was found.
* @return void
*/
protected function processTokenOutsideScope(PHP_CodeSniffer_File $phpcsFile, $stackPtr) {
}
}
@@ -0,0 +1,48 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures trait names are correct depending on the folder of the file.
*
*/
class FHComplete_Sniffs_NamingConventions_ValidTraitNameSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* If the constant is not defined, ignore because probably the PHP version
* is under 5.4.0 and don't have traits in use
*
* @return array
*/
public function register()
{
if (!defined('T_TRAIT')) {
return array();
}
return array(T_TRAIT);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$traitName = $tokens[$stackPtr + 2]['content'];
if (substr($traitName, -5) !== 'Trait') {
$error = 'Traits must have a "Trait" suffix.';
$phpcsFile->addError($error, $stackPtr, 'InvalidTraitName', array());
}
}
}
@@ -0,0 +1,171 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
if (class_exists('PHP_CodeSniffer_Standards_AbstractVariableSniff', true) === false) {
throw new PHP_CodeSniffer_Exception('Class PHP_CodeSniffer_Standards_AbstractVariableSniff not found');
}
/**
* Checks the naming of variables and member variables.
*
*/
class FHComplete_Sniffs_NamingConventions_ValidVariableNameSniff extends PHP_CodeSniffer_Standards_AbstractVariableSniff {
/**
* Processes this test, when one of its tokens is encountered.
*
* Processes variables, we skip processing object properties because
* they could come from things like PDO which doesn't follow the normal
* conventions and causes additional failures.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
protected function processVariable(PHP_CodeSniffer_File $phpcsFile, $stackPtr) {
$tokens = $phpcsFile->getTokens();
$varName = ltrim($tokens[$stackPtr]['content'], '$');
$phpReservedVars = array(
'_SERVER',
'_GET',
'_POST',
'_REQUEST',
'_SESSION',
'_ENV',
'_COOKIE',
'_FILES',
'GLOBALS',
);
// If it's a php reserved var, then its ok.
if (in_array($varName, $phpReservedVars) === true) {
return;
}
// There is no way for us to know if the var is public or private,
// so we have to ignore a leading underscore if there is one and just
// check the main part of the variable name.
$originalVarName = $varName;
if (substr($varName, 0, 1) === '_') {
$objOperator = $phpcsFile->findPrevious(array(T_WHITESPACE), ($stackPtr - 1), null, true);
if ($tokens[$objOperator]['code'] === T_DOUBLE_COLON) {
// The variable lives within a class, and is referenced like
// this: MyClass::$_variable, so we don't know its scope.
$inClass = true;
} else {
$inClass = $phpcsFile->hasCondition($stackPtr, array(T_TRAIT, T_CLASS, T_INTERFACE));
}
if ($inClass === true) {
$varName = ltrim($varName, '_');
}
}
// $title_for_layout is allowed on controllers
$fileName = basename($phpcsFile->getFilename(), '.php');
if ((substr($fileName, -10) === 'Controller') && ($varName == 'title_for_layout')) {
return;
}
if ($this->_isValidVar($varName) === false) {
$error = 'Variable "%s" is not in valid camel caps format';
$data = array($originalVarName);
$phpcsFile->addError($error, $stackPtr, 'NotCamelCaps', $data);
}
}
/**
* Processes class member variables.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
protected function processMemberVar(PHP_CodeSniffer_File $phpcsFile, $stackPtr) {
}
/**
* Processes the variable found within a double quoted string.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the double quoted string.
* @return void
*/
protected function processVariableInString(PHP_CodeSniffer_File $phpcsFile, $stackPtr) {
$tokens = $phpcsFile->getTokens();
$phpReservedVars = array(
'_SERVER',
'_GET',
'_POST',
'_REQUEST',
'_SESSION',
'_ENV',
'_COOKIE',
'_FILES',
'GLOBALS',
);
if (preg_match_all('|[^\\\]\$([a-zA-Z0-9_]+)|', $tokens[$stackPtr]['content'], $matches) !== 0) {
foreach ($matches[1] as $varName) {
// If it's a php reserved var, then its ok.
if (in_array($varName, $phpReservedVars) === true) {
continue;
}
// There is no way for us to know if the var is public or private,
// so we have to ignore a leading underscore if there is one and just
// check the main part of the variable name.
$originalVarName = $varName;
if (substr($varName, 0, 1) === '_') {
if ($phpcsFile->hasCondition($stackPtr, array(T_CLASS, T_INTERFACE)) === true) {
$varName = substr($varName, 1);
}
}
if ($this->_isValidVar($varName) === false) {
$error = 'Variable "%s" is not in valid camel caps format';
$data = array($originalVarName);
$phpcsFile->addError($error, $stackPtr, 'StringVarNotCamelCaps', $data);
}
}
}
}
/**
* Check that a variable is a valid shape.
*
* Variables in FHComplete can either be $fooBar, $FooBar, $_fooBar, or $_FooBar.
*
* @param string $string The variable to check.
* @param boolea $public Whether or not the variable is public.
* @return boolean
*/
protected function _isValidVar($string, $public = true) {
$firstChar = '[a-zA-Z]';
if (!$public) {
$firstChar = '[_]{1,2}' . $firstChar;
}
if (preg_match("|^$firstChar|", $string) === 0) {
return false;
}
$firstStringCount = 1;
if (preg_match("|^__|", $string)) {
$firstStringCount = 2;
}
// Check that the name only contains legal characters.
$legalChars = 'a-zA-Z0-9';
if (preg_match("|[^$legalChars]|", substr($string, $firstStringCount)) > 0) {
return false;
}
return true;
}
}
@@ -0,0 +1,53 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Disallow short open tags
*
* But permit short-open echo tags (<?=) [T_OPEN_TAG_WITH_ECHO] as they are part of PHP 5.4+
*
*/
class FHComplete_Sniffs_PHP_DisallowShortOpenTagSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* If short open tags are NOT enabled, <? is not considered a T_OPEN_TAG
* So include T_INLINE_HTML which is what "<?" is detected as
*
* @return array
*/
public function register()
{
return array(
T_OPEN_TAG,
T_INLINE_HTML
);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
*
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$openTag = $tokens[$stackPtr];
if (trim($openTag['content']) === '<?') {
$error = 'Short PHP opening tag used; expected "<?php" but found "%s"';
$data = array(trim($openTag['content']));
$phpcsFile->addError($error, $stackPtr, 'Found', $data);
}
}
}
@@ -0,0 +1,74 @@
<?php
/**
* FHComplete
*/
/**
* Asserts that type casts are in the short form:
* - bool instead of boolean
* - int instead of integer
*/
class FHComplete_Sniffs_PHP_TypeCastingSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* Note, that this sniff only checks the value and casing of a cast.
* It does not check for whitespace issues regarding casts, as
* - Squiz.WhiteSpace.CastSpacing.ContainsWhiteSpace checks for whitespace in the cast
* - Generic.Formatting.NoSpaceAfterCast.SpaceFound checks for whitespace after the cast
*
* @return array
*/
public function register()
{
return array_merge(PHP_CodeSniffer_Tokens::$castTokens, array(T_BOOLEAN_NOT));
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
// Process !! casts
if ($tokens[$stackPtr]['code'] == T_BOOLEAN_NOT) {
$nextToken = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if (!$nextToken) {
return;
}
if ($tokens[$nextToken]['code'] != T_BOOLEAN_NOT) {
return;
}
$error = 'Usage of !! cast is not allowed. Please use (bool) to cast.';
$phpcsFile->addError($error, $stackPtr, 'NotAllowed');
return;
}
// Only allow short forms if both short and long forms are possible
$matching = array(
'(boolean)' => '(bool)',
'(integer)' => '(int)',
);
$content = $tokens[$stackPtr]['content'];
$key = strtolower($content);
if (isset($matching[$key])) {
$error = 'Please use ' . $matching[$key] . ' instead of ' . $content . '.';
$phpcsFile->addError($error, $stackPtr, 'NotAllowed');
return;
}
if ($content !== $key) {
$error = 'Please use ' . $key . ' instead of ' . $content . '.';
$phpcsFile->addError($error, $stackPtr, 'NotAllowed');
return;
}
}
}
@@ -0,0 +1,48 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Makes sure there are spaces between the concatenation operator (.) and
* the strings being concatenated.
*
*/
class FHComplete_Sniffs_Strings_ConcatenationSpacingSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_STRING_CONCAT);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the
* stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
if ($tokens[($stackPtr - 1)]['code'] == T_WHITESPACE) {
$message = 'Expected 0 spaces before ., but 1 found';
$phpcsFile->addError($message, $stackPtr, 'FoundBefore');
}
if ($tokens[($stackPtr + 1)]['code'] == ' ')
{
$message = 'Expected 0 spaces after ., but 1 found';
$phpcsFile->addError($message, $stackPtr, 'FoundAfter');
}
}
}
@@ -0,0 +1,54 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Ensures no whitespaces and one whitespace is placed around each comma
*
*/
class FHComplete_Sniffs_WhiteSpace_CommaSpacingSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_COMMA);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile All the tokens found in the document.
* @param integer $stackPtr The position of the current token
* in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
$next = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$next]['code'] !== T_WHITESPACE && ($next !== $stackPtr + 2)) {
// Last character in a line is ok.
if ($tokens[$next]['line'] === $tokens[$stackPtr]['line']) {
$error = 'Missing space after comma';
$phpcsFile->addError($error, $next);
}
}
$previous = $phpcsFile->findPrevious(T_WHITESPACE, ($stackPtr - 1), null, true);
if ($tokens[$previous]['code'] !== T_WHITESPACE && ($previous !== $stackPtr - 1)) {
$error = 'Space before comma, expected none, though';
$phpcsFile->addError($error, $next);
}
}
}
@@ -0,0 +1,53 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Checks the separation between methods in a class or interface.
*
*/
class FHComplete_Sniffs_WhiteSpace_FunctionCallSpacingSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(
T_ISSET,
T_EMPTY,
T_STRING,
);
}
/**
* Processes this sniff, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
// Find the next non-empty token.
$openBracket = $phpcsFile->findNext(PHP_CodeSniffer_Tokens::$emptyTokens, ($stackPtr + 1), null, true);
if ($tokens[$openBracket]['code'] !== T_OPEN_PARENTHESIS) {
// Not a function call.
return;
}
// Look for funcName (
if (($stackPtr + 1) !== $openBracket) {
$error = 'Space before opening parenthesis of function call not allowed';
$phpcsFile->addError($error, $stackPtr, 'SpaceBeforeOpenBracket');
}
}
}
@@ -0,0 +1,69 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Checks that there is one empty line before the closing brace of a function.
*
*/
class FHComplete_Sniffs_WhiteSpace_FunctionClosingBraceSpaceSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_FUNCTION);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token
* in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
if (isset($tokens[$stackPtr]['scope_closer']) === false) {
// Probably an interface method.
return;
}
$closeBrace = $tokens[$stackPtr]['scope_closer'];
$prevContent = $phpcsFile->findPrevious(T_WHITESPACE, ($closeBrace - 1), null, true);
$braceLine = $tokens[$closeBrace]['line'];
$prevLine = $tokens[$prevContent]['line'];
$found = ($braceLine - $prevLine - 1);
if ($phpcsFile->hasCondition($stackPtr, T_FUNCTION) === true
|| isset($tokens[$stackPtr]['nested_parenthesis']) === true
) {
// Nested function.
if ($found < 0) {
$error = 'Closing brace of nested function must be on a new line';
$phpcsFile->addError($error, $closeBrace, 'ContentBeforeClose');
} elseif ($found > 0) {
$error = 'Expected 0 blank lines before closing brace of nested function; %s found';
$data = array($found);
$phpcsFile->addError($error, $closeBrace, 'SpacingBeforeNestedClose', $data);
}
} else {
if ($found !== 0) {
$error = 'Expected 0 blank lines before closing function brace; %s found';
$data = array($found);
$phpcsFile->addError($error, $closeBrace, 'SpacingBeforeClose', $data);
}
}
}
}
@@ -0,0 +1,62 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Checks that there is no empty line after the opening brace of a function.
*
*/
class FHComplete_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_FUNCTION);
}
/**
* Processes this test, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token
* in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
if (isset($tokens[$stackPtr]['scope_opener']) === false) {
// Probably an interface method.
return;
}
$openBrace = $tokens[$stackPtr]['scope_opener'];
$nextContent = $phpcsFile->findNext(T_WHITESPACE, ($openBrace + 1), null, true);
if ($nextContent === $tokens[$stackPtr]['scope_closer']) {
// The next bit of content is the closing brace, so this
// is an empty function and should have a blank line
// between the opening and closing braces.
return;
}
$braceLine = $tokens[$openBrace]['line'];
$nextLine = $tokens[$nextContent]['line'];
$found = ($nextLine - $braceLine - 1);
if ($found > 0) {
$error = 'Expected 0 blank lines after opening function brace; %s found';
$data = array($found);
$phpcsFile->addError($error, $openBrace, 'SpacingAfter', $data);
}
}
}
@@ -0,0 +1,129 @@
<?php
/**
* PHP Version 5
*
* FHComplete
*/
/**
* Checks the separation between methods in a class or interface.
*
*/
class FHComplete_Sniffs_WhiteSpace_FunctionSpacingSniff implements PHP_CodeSniffer_Sniff
{
/**
* Returns an array of tokens this test wants to listen for.
*
* @return array
*/
public function register()
{
return array(T_FUNCTION);
}
/**
* Processes this sniff, when one of its tokens is encountered.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param integer $stackPtr The position of the current token in the stack passed in $tokens.
* @return void
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
/*
Check the number of blank lines
after the function.
*/
if (isset($tokens[$stackPtr]['scope_closer']) === false) {
// Must be an interface method, so the closer is the semi-colon.
$closer = $phpcsFile->findNext(T_SEMICOLON, $stackPtr);
} else {
$closer = $tokens[$stackPtr]['scope_closer'];
}
// There needs to be 1 blank lines after the closer.
$nextLineToken = null;
for ($i = $closer; $i < $phpcsFile->numTokens; $i++) {
if (strpos($tokens[$i]['content'], $phpcsFile->eolChar) === false) {
continue;
} else {
$nextLineToken = ($i + 1);
break;
}
}
if ($nextLineToken === null) {
// Never found the next line, which means
// there are 0 blank lines after the function.
$foundLines = 0;
} else {
$nextContent = $phpcsFile->findNext(array(T_WHITESPACE), ($nextLineToken + 1), null, true);
if ($nextContent === false) {
// We are at the end of the file. That is acceptable as well.
$foundLines = 1;
} else {
$foundLines = ($tokens[$nextContent]['line'] - $tokens[$nextLineToken]['line']);
}
}
/*
Check the number of blank lines
before the function.
*/
$prevLineToken = null;
for ($i = $stackPtr; $i > 0; $i--) {
if (strpos($tokens[$i]['content'], $phpcsFile->eolChar) === false) {
continue;
} else {
$prevLineToken = $i;
break;
}
}
if ($prevLineToken === null) {
// Never found the previous line, which means
// there are 0 blank lines before the function.
$foundLines = 0;
} else {
$prevContent = $phpcsFile->findPrevious(array(T_WHITESPACE, T_DOC_COMMENT), $prevLineToken, null, true);
// Before we throw an error, check that we are not throwing an error
// for another function. We don't want to error for no blank lines after
// the previous function and no blank lines before this one as well.
$currentLine = $tokens[$stackPtr]['line'];
$prevLine = ($tokens[$prevContent]['line'] - 1);
$i = ($stackPtr - 1);
$foundLines = 0;
while ($currentLine !== $prevLine && $currentLine > 1 && $i > 0) {
if (isset($tokens[$i]['scope_condition']) === true) {
$scopeCondition = $tokens[$i]['scope_condition'];
if ($tokens[$scopeCondition]['code'] === T_FUNCTION) {
// Found a previous function.
return;
}
} elseif ($tokens[$i]['code'] === T_FUNCTION) {
// Found another interface function.
return;
}
$currentLine = $tokens[$i]['line'];
if ($currentLine === $prevLine) {
break;
}
if ($tokens[($i - 1)]['line'] < $currentLine && $tokens[($i + 1)]['line'] > $currentLine) {
// This token is on a line by itself. If it is whitespace, the line is empty.
if ($tokens[$i]['code'] === T_WHITESPACE) {
$foundLines++;
}
}
$i--;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More