Merge branch 'master' into ci

Conflicts:
	composer.json
	composer.lock
	phpci.yml
	system/checksystem.php
	system/dbupdate_3.2.php
	tests/codeception/_data/dump.sql
	tests/codeception/tests/acceptance/CISLoginPage.php
This commit is contained in:
oesi
2017-01-20 11:05:08 +01:00
83 changed files with 5390 additions and 5860 deletions
+9 -3
View File
@@ -131,9 +131,15 @@ class benutzerfunktion extends basis_db
*/
public function getBenutzerFunktion($uid, $funktion_kurzbz, $oe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE uid=".$this->db_add_param($uid)." AND funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
$qry = "SELECT
bfunk.*, stg.studiengang_kz
FROM
public.tbl_benutzerfunktion AS bfunk
INNER JOIN public.tbl_studiengang AS stg ON(stg.oe_kurzbz = bfunk.oe_kurzbz)
WHERE
bfunk.uid=".$this->db_add_param($uid)."
AND bfunk.funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND bfunk.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($result = $this->db_query($qry))
{
+16 -3
View File
@@ -818,7 +818,7 @@ class betriebsmittel extends basis_db
* @return Daten Objekt wenn ok, false im Fehlerfall
*/
function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null)
{
// Init
$this->errormsg='';
@@ -853,7 +853,7 @@ class betriebsmittel extends basis_db
LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )';
$qry.=" WHERE not tbl_betriebsmittel.betriebsmittel_id is null ";
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id);
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat);
if ($where!='' && !$where)
return $this->result;
@@ -957,7 +957,7 @@ class betriebsmittel extends basis_db
* @param $betriebsmittel_id
* @return unknown
*/
public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null)
{
$where='';
// Inventarnummer oder Betriebsmittelnummer
@@ -1123,6 +1123,19 @@ class betriebsmittel extends basis_db
$where.=$jm;
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) ";
}
elseif (!is_null($anlage_jahr_monat) && $anlage_jahr_monat!='')
{
$anlage_jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($anlage_jahr_monat))));
$jm='';
if (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>6)
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($anlage_jahr_monat)." ";
elseif (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>4)
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($anlage_jahr_monat)." ";
elseif (!is_null($anlage_jahr_monat) && !empty($anlage_jahr_monat))
$jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($anlage_jahr_monat)." ";
$where.=$jm;
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) ";
}
else if (!is_null($betriebsmittelstatus_kurzbz) && $betriebsmittelstatus_kurzbz!='')
$where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null group by betriebsmittel_id) ";
+1 -1
View File
@@ -374,7 +374,7 @@ class bisverwendung extends basis_db
mitarbeiter_uid=".$this->db_add_param($uid)."
AND (beginn<=".$this->db_add_param($datum)." OR beginn is null)
AND (ende>=".$this->db_add_param($datum_obj->formatDatum($datum,'Y-m-01'))." OR ende is null)
ORDER BY beginn;";
ORDER BY ende desc;";
if($this->db_query($qry))
{
+84 -83
View File
@@ -21,7 +21,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
// Auth: Benutzer des Webportals
/**
@@ -78,13 +78,13 @@ function check_uid($uid)
{
if(ctype_alnum($uid) && mb_strlen($uid)<=32)
return true;
else
else
return false;
}
function check_stsem($stsem)
{
return preg_match('/^[WS][S][0-9]{4}$/', $stsem);
return preg_match('/^[WS][S][0-9]{4}$/', $stsem);
}
/**
@@ -93,7 +93,7 @@ function check_stsem($stsem)
*/
function check_ort($ort_kurzbz)
{
if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz))
if(preg_match('/^[A-Za-z0-9_.\-]{0,16}$/', $ort_kurzbz))
return true;
else
return false;
@@ -102,7 +102,7 @@ function check_ort($ort_kurzbz)
function check_lektor($uid)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($uid);
//echo $sql_query;
@@ -118,20 +118,20 @@ function check_lektor($uid)
else
return 0;
}
else
else
return 0;
}
function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM campus.vw_lehreinheit
WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND
lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND
WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND
lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
//echo $sql_query;
if($db->db_query($sql_query))
{
@@ -145,14 +145,14 @@ function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensem
else
return 0;
}
else
else
return 0;
}
function check_student($uid)
{
$db = new basis_db();
// uid von Tabelle 'Student' holen
$sql_query="SELECT student_uid FROM public.tbl_student WHERE student_uid=".$db->db_add_param($uid);
//echo $sql_query;
@@ -168,7 +168,7 @@ function check_student($uid)
else
return 0;
}
else
else
return 0;
}
@@ -200,7 +200,7 @@ function montag($datum)
}
else
{
if($wt!=1)
$datum-=86400*($wt-1);
}
@@ -247,7 +247,7 @@ function jump_week($datum, $wochen)
function loadVariables($user)
{
$db = new basis_db();
$error_msg='';
$num_rows=0;
$sql_query="SELECT * FROM public.tbl_variable WHERE uid=".$db->db_add_param($user);
@@ -261,7 +261,7 @@ function loadVariables($user)
global ${$row->name};
${$row->name}=$row->wert;
}
if (!isset($semester_aktuell))
if(!$db->db_query('SELECT * FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1'))
$error_msg.=$db->db_last_error().'<BR>'.$sql_query;
@@ -292,19 +292,19 @@ function loadVariables($user)
global $ignore_kollision;
$ignore_kollision='false';
}
if (!isset($kollision_student))
{
global $kollision_student;
$kollision_student='false';
}
if (!isset($max_kollision))
{
global $max_kollision;
$max_kollision='0';
}
if (!isset($ignore_zeitsperre))
{
global $ignore_zeitsperre;
@@ -322,7 +322,7 @@ function loadVariables($user)
global $emailadressentrennzeichen;
$emailadressentrennzeichen=',';
}
if(!isset($alle_unr_mitladen))
{
global $alle_unr_mitladen;
@@ -398,17 +398,17 @@ function checkalias($alias)
}
/**
*
* Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall
*
* Gibt UID zur passenden Kartennummer zurück, false im Fehlerfall
* @param $number
*/
function getUidFromCardNumber($number)
{
$betriebsmittel = new betriebsmittelperson();
$betriebsmittel = new betriebsmittelperson();
if($betriebsmittel->getKartenzuordnung($number))
return $betriebsmittel->uid;
return $betriebsmittel->uid;
else
return false;
return false;
}
@@ -434,20 +434,20 @@ function intersect($str1, $str2)
$size = mb_strlen($str1);
else
$size = mb_strlen($str2);
$intersect = null;
for ($i=0; $i<$size; $i++)
for ($i=0; $i<$size; $i++)
{
if (mb_substr($str1, $i, 1) == mb_substr($str2, $i, 1))
$intersect.= mb_substr($str1, $i, 1);
$intersect.= mb_substr($str1, $i, 1);
}
return $intersect;
}
/**
* Konvertiert Problematische Sonderzeichen in Strings fuer
* Konvertiert Problematische Sonderzeichen in Strings fuer
* Accountnamen und EMail-Aliase
*
* @param $str
@@ -456,7 +456,7 @@ function intersect($str1, $str2)
function convertProblemChars($str)
{
$enc = 'UTF-8';
$acentos = array(
'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Aring;/',
'Ae' => '/&Auml;/',
@@ -485,7 +485,7 @@ function convertProblemChars($str)
'ss' => '/&szlig;/'
);
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
}
//Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird
@@ -505,7 +505,7 @@ function xmlclean($string)
chr(014), //NP form feed, new page
chr(016), //shift out
chr(017), //shift in
chr(020), //data link escape
chr(021), //device control 1
chr(022), //device control 2
@@ -531,66 +531,66 @@ function xmlclean($string)
* @param String der die Zeichenkette enthaelt die verkuertzt werden soll
* @param Laenge des Strings der geliefert werden soll (inkl. der Laenge des Fortsetzungszeichen)
* @return Daten Objekt wenn ok, false im Fehlerfall
*/
*/
function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen='...')
{
// Plausib
if (!is_numeric($len))
return $str;
$len=intval($len);
if ($len <1 )
return $str;
if (is_null($checkWortumbruch) || empty($checkWortumbruch))
$checkWortumbruch=false;
if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch)
if (is_null($fortsetzungszeichen) || empty($fortsetzungszeichen) || $checkWortumbruch)
$fortsetzungszeichen='';
// null oder Leerzeichen beim Fortsetzungszeichen entfernen
// null oder Leerzeichen beim Fortsetzungszeichen entfernen
$fortsetzungszeichen=trim($fortsetzungszeichen);
// Pruefen auf UTF-8 und Bearbeitungsfunktionen
$utf8=check_utf8($str);
if (!function_exists('mb_strlen'))
if (!function_exists('mb_strlen'))
$utf8=false;
if (!function_exists('mb_substr'))
if (!function_exists('mb_substr'))
$utf8=false;
// ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden
// ist der String nicht laenger als die gewuenschte Lange kann hier beendet werden
if ($utf8)
$vLen=mb_strlen($str);
else
$vLen=strlen($str);
else
$vLen=strlen($str);
// String ist nicht laenger als die gewuenschte leange - kpl.String retour senden
// String ist nicht laenger als die gewuenschte leange - kpl.String retour senden
if ($len>=$vLen)
return $str;
if (!$checkWortumbruch)
{
if ($utf8)
$vLen=$len-mb_strlen($fortsetzungszeichen,'utf-8');
else
$vLen=$len- strlen($fortsetzungszeichen);
else
$vLen=$len- strlen($fortsetzungszeichen);
// die Laenge vom Fortsetzungszeichen mit berucksichtigen
if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben
return mb_substr($str,0,$vLen,'utf-8').$fortsetzungszeichen;
else // Teilstring ermitteln, und Ergebnis zuruck geben
return substr($str,0,$vLen).$fortsetzungszeichen;
}
}
if ($utf8) // Teilstring ermitteln, und Ergebnis zuruck geben
$vStr=mb_substr($str,0,$len,'utf-8');
else // Teilstring ermitteln, und Ergebnis zuruck geben
$vStr=substr($str,0,$len);
if ($utf8)
$vLen=mb_strlen($vStr);
else
$vLen=strlen($vStr);
else
$vLen=strlen($vStr);
// Suchen letztes Leerzeichen im String
for ($i=$vLen;$i>0;$i--)
{
@@ -603,7 +603,7 @@ function StringCut($str='',$len=0,$checkWortumbruch=false,$fortsetzungszeichen='
{
if (substr($vStr,$i,1)==' ' && $i>0)
return $vStr=trim(substr($str,0,$i));
}
}
}
return $vStr;
}
@@ -631,7 +631,7 @@ function check_utf8($str="")
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$/x",$cStr);
return $stati;
}
@@ -646,29 +646,29 @@ function array_to_xml($rows,$root='root')
{
if (!count($rows))
return '<'.$root.' />'."\r\n";
$xml_string='';
$xml_string.='<'.$root.'>'."\r\n";
reset($rows);
for ($i=0;$i<count($rows);$i++)
{
{
$xml_string.='<row>'."\r\n";
$row=$rows[$i];
@reset($row);
while (@list( $tmp_key, $tmp_value ) = each($row) )
while (@list( $tmp_key, $tmp_value ) = each($row) )
{
if (!is_numeric($tmp_key))
{
$xml_string.='<'.$tmp_key.'><![CDATA['.trim($tmp_value).']]></'.$tmp_key.'>'."\r\n";
}
}
elseif (is_numeric($tmp_key))
{
$xml_string.='<row'.$tmp_key.'><![CDATA['.trim($tmp_value).']]></row'.$tmp_key.'>'."\r\n";
}
}
}
}
$xml_string.='</row>'."\r\n";
}
}
$xml_string.='</'.$root.'>'."\r\n";
return $xml_string;
}
@@ -692,13 +692,13 @@ function array_to_rdf($rows,$root='root',$rdf_uri='rdf')
reset($rows);
for ($i=0;$i<count($rows);$i++)
{
{
$rdf_string.='<'.strtoupper($rdf_uri).':li>'."\r\n";
$rdf_string.='<'.strtoupper($rdf_uri).':Description id="'.$i.'" about="http://'.$rdf_server.'/liste'.$i.'">'."\r\n";
$row=$rows[$i];
reset($row);
while (list( $tmp_key, $tmp_value ) = each($row) )
while (list( $tmp_key, $tmp_value ) = each($row) )
{
if (!is_numeric($tmp_key))
{
@@ -731,11 +731,11 @@ function isint( $mixed )
* @param $haystack
* @return string
*/
function mb_str_replace( $needle, $replacement, $haystack )
function mb_str_replace( $needle, $replacement, $haystack )
{
$needle_len = mb_strlen($needle);
$pos = mb_strpos( $haystack, $needle);
while (!($pos ===false))
while (!($pos ===false))
{
$front = mb_substr( $haystack, 0, $pos );
$back = mb_substr( $haystack, $pos + $needle_len);
@@ -746,10 +746,10 @@ function mb_str_replace( $needle, $replacement, $haystack )
}
/**
*
*
* Prueft ob es sich um einen gueltigen Filenamen handelt
* Filenamen mit HTML-Tags oder sonstigem Schadcode sind nicht gueltig
*
*
* @param string $filename
* @return boolean true wenn gueltig, sonst false
*/
@@ -784,11 +784,12 @@ function getSprache()
{
if(isset($_COOKIE['sprache']))
{
$sprache=$_COOKIE['sprache'];
// Uses urlencode to avoid XSS issues
$sprache = urlencode($_COOKIE['sprache']);
}
else
{
$sprache=DEFAULT_LANGUAGE;
$sprache = DEFAULT_LANGUAGE;
}
setSprache($sprache);
}
@@ -824,7 +825,7 @@ function check_user($username, $passwort)
}
}
function safe_b64encode($string)
function safe_b64encode($string)
{
$data = base64_encode($string);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
@@ -835,7 +836,7 @@ function safe_b64decode($string)
{
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4)
if ($mod4)
{
$data .= substr('====', $mod4);
}
@@ -874,7 +875,7 @@ function clearHtmlTags($text)
{
$newline='
';
$text=mb_str_replace('<br>','\n',$text);
$text=mb_str_replace('<br/>','\n',$text);
$text=mb_str_replace('<br />','\n',$text);
@@ -885,10 +886,10 @@ function clearHtmlTags($text)
$text=mb_str_replace('</ul>','',$text);
$text=mb_str_replace('<li>',$newline.' - ',$text);
$text=mb_str_replace('</li>','',$text);
$text=mb_str_replace('</lI>','',$text);
$text=mb_str_replace('</li','',$text);
return $text;
}
@@ -897,8 +898,8 @@ function clearHtmlTags($text)
* @param string $semester z.B. SS2014
* @return string nächstes semester
*/
function incSemester($semester)
{
function incSemester($semester)
{
$result = null;
$jahr = intval(substr($semester,2,4));
if (substr($semester,0,2) === 'SS') {
@@ -946,9 +947,9 @@ function generateActivationKey()
function check_infrastruktur($uid)
{
$db = new basis_db();
// checken, ob der user eine oezuordnung der infrastruktur hat
$sql_query="SELECT 1 FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz = 'oezuordnung' and oe_kurzbz in ('Infrastruktur', 'Systementwicklung', 'ServiceDesk', 'Empfang', 'Haustechnik', 'ITService', 'LVPlanung') and (datum_bis > now() or datum_bis is NULL) and uid=".$db->db_add_param($uid);
$sql_query="SELECT 1 FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz = 'oezuordnung' and oe_kurzbz in ('Infrastruktur', 'Systementwicklung', 'ServiceDesk', 'Empfang', 'Haustechnik', 'ITService', 'LVPlanung','ITBereich') and (datum_bis > now() or datum_bis is NULL) and uid=".$db->db_add_param($uid);
//echo $sql_query;
if($db->db_query($sql_query))
{
@@ -961,7 +962,7 @@ function check_infrastruktur($uid)
else
return 0;
}
else
else
return 0;
}
?>
+132 -2
View File
@@ -1287,8 +1287,8 @@ class lehrveranstaltung extends basis_db
$tree = array();
foreach ($this->lehrveranstaltungen as $row)
{
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
&& CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN))
{
$tree[$row->studienplan_lehrveranstaltung_id] = $row;
@@ -1592,6 +1592,91 @@ class lehrveranstaltung extends basis_db
}
}
/**
* Lädt alle Lehrveranstaltungen zu denen die übergebene LV ID kompatibel ist
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
*/
public function getLVkompatibelTo($lehrveranstaltung_id, $studienplan_ids=array())
{
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
if((!is_array($studienplan_ids)) && (count($studienplan_ids) < 1))
{
$this->errormsg = 'Es muss ein Array von Studienplan_IDs mit mindestens einem Element übergeben werden.';
return false;
}
$studienplaene = "";
foreach($studienplan_ids as $stplId)
{
$studienplaene .= $stplId.",";
}
$studienplaene = rtrim($studienplaene, ",");
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
WHERE lehrveranstaltung_id IN (
SELECT lehrveranstaltung_id
FROM lehre.tbl_lehrveranstaltung_kompatibel
WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")
AND studienplan_id IN(".$studienplaene.");";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->koordinator = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
}
/**
* Speichert eine Kombination aus LV und ihrer kompatiblen Lehrveranstaltung
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
@@ -2487,5 +2572,50 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Prueft ob eine Lehrveranstaltung im gewaehlten Studiensemester angeboten wird.
* Dazu wird geprueft ob die LV einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id ID der Lehrveranstaltung.
* @param $studiensemester_kurzbz Kurzbz des Studiensemesters.
* @return boolean true wenn angeboten, false wenn nicht angeboten
*/
public function isOffered($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
*
FROM
lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)";
if($result = $this->db_query($qry))
{
if($row = $this->db_num_rows($result)>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+32
View File
@@ -0,0 +1,32 @@
<?php
/* Copyright (C) 2016 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: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<script src="'.$dr.'vendor/jsoneditor/dist/jsoneditor.js"></script>';
echo '<link href="'.$dr.'vendor/jsoneditor/dist/jsoneditor.css" rel="stylesheet" type="text/css">';
?>
Regular → Executable
+70 -69
View File
@@ -2,22 +2,22 @@
/*
* 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>
*/
@@ -28,7 +28,7 @@ class pruefungCis extends basis_db
{
public $new;
public $result = array();
public $pruefung_id; //bigint
public $mitarbeiter_uid; //varchar(32)
public $studiensemester_kurzbz; //varchar(16)
@@ -44,15 +44,15 @@ class pruefungCis extends basis_db
public $updatevon; //varcahr(32)
public $updateamum; //timestamp without timezone
public $pruefungsintervall; //smallint
public $lehrveranstaltungen = array(); //Lehrveranstaltungen zur Prüfung
public $termine = array(); //Termine zur Prüfung
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Prüfung
*/
public function __construct($pruefung_id = null)
public function __construct($pruefung_id = null)
{
parent::__construct();
@@ -87,52 +87,52 @@ class pruefungCis extends basis_db
{
return $this->$name;
}
/**
* Prüft Attribute auf Ihre Richtigkeit
* @return boolean true, wenn alle Prüfungen positiv verlaufen, andernfalls false
*/
public function validate()
{
{
if(!is_numeric($this->pruefungsfenster_id) && $this->pruefungsfenster_id != null)
{
$this->errormsg = "pruefungsfenster_id muss eine gültige Zahl sein.";
return false;
}
if(mb_strlen($this->mitarbeiter_uid) > 32)
{
$this->errormsg = "mitarbeiter_uid darf nicht länger als 32 Zeichen sein.";
return false;
}
if(mb_strlen($this->studiensemester_kurzbz) > 16 && $this->studiensemester_kurzbz != null)
{
$this->errormsg = "studiensemester_kurzbz darf nicht länger als 16 Zeichen sein.";
return false;
}
if(mb_strlen($this->pruefungstyp_kurzbz) > 16 && $this->pruefungstyp_kurzbz != null)
{
$this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 16 Zeichen sein.";
return false;
}
if(mb_strlen($this->titel) > 256)
{
$this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 256 Zeichen sein.";
return false;
}
if(mb_strlen($this->methode) > 64)
{
$this->errormsg = "methode darf nicht länger als 64 Zeichen sein.";
return false;
}
return true;
}
/**
* speichert einen Prüfungs-Datensatz
* @param boolean $new gibt an ob es ich um einen neuen Datensatz (true) oder um ein update (false) handelt
@@ -178,15 +178,15 @@ class pruefungCis extends basis_db
. 'pruefungsintervall='.$this->db_add_param($this->pruefungsintervall).' '
. 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
}
if($this->db_query($qry))
{
if ($new)
if ($new)
{
$qry = "SELECT currval('campus.seq_pruefung_pruefung_id') as id";
if ($this->db_query($qry))
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
if ($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->id;
foreach ($this->lehrveranstaltungen as $lv)
@@ -209,7 +209,7 @@ class pruefungCis extends basis_db
}
$this->db_query('COMMIT;');
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
@@ -217,7 +217,7 @@ class pruefungCis extends basis_db
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
@@ -259,7 +259,7 @@ class pruefungCis extends basis_db
return false;
}
}
/**
* Lädt einen Datensatz aus der Datenbank
* @param integer $pruefung_id ID der zu ladenden Prüfung
@@ -272,14 +272,14 @@ class pruefungCis extends basis_db
$this->errormsg = "Prüfung ID ist keine gültige Zahl";
return false;
}
$qry = 'SELECT * FROM campus.tbl_pruefung WHERE pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfung konnte nicht geladen werden";
return false;
}
}
else
{
if($row = $this->db_fetch_object())
@@ -299,7 +299,7 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* Lädt alle Prüfungen zu einer UID
* @param String $uid UID deren Prüfungen geladen werden sollen
@@ -318,8 +318,8 @@ class pruefungCis extends basis_db
{
$qry .= ' ORDER BY '.$order;
}
$qry .= ';';
$qry .= ';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfungen konnten nicht geladen werden";
@@ -347,7 +347,7 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* speichert die zugehörigen LVs zu einer Prüfung
* @param Integer $lehrveranstaltung_id ID einer Lehrveranstaltung
@@ -361,17 +361,17 @@ class pruefungCis extends basis_db
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein";
return false;
}
if(!is_numeric($pruefung_id))
{
$this->errormsg = "Prüfung ID muss eine gültige Zahl sein";
return false;
}
$qry = 'INSERT INTO campus.tbl_lehrveranstaltung_pruefung (lehrveranstaltung_id, pruefung_id) VALUES ('
.$this->db_add_param($lehrveranstaltung_id).', '
.$this->db_add_param($pruefung_id).');';
if(!$this->db_query($qry))
{
$this->errormsg = "Lehrveranstaltungen konnten nicht gespeichert werden.";
@@ -379,7 +379,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* lädt alle zum Objekt gehörenden Lehrveranstaltungen
* @return boolean true, wenn ok; false, im Fehlerfall
@@ -387,7 +387,7 @@ class pruefungCis extends basis_db
public function getLehrveranstaltungenByPruefung()
{
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -405,7 +405,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Zugehörige Lehrveranstaltungen konnten nicht geladen werden.";
return false;
}
}
/**
@@ -424,7 +424,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefung ID muss eine gültige Zahl sein";
return false;
}
$qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min, sammelklausur) VALUES ('
. $this->db_add_param($pruefung_id).', '
. $this->db_add_param($beginn).', '
@@ -432,7 +432,7 @@ class pruefungCis extends basis_db
. $this->db_add_param($max).', '
. $this->db_add_param($min).', '
. $this->db_add_param($sammelklausur).');';
if(!$this->db_query($qry))
{
$this->errormsg = "Termine konnten nicht gespeichert werden!";
@@ -440,15 +440,16 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Lädt alle Termine zum Prüfungs-Objekt
* @return boolean true, wenn ok; false, im Fehlerfall
*/
public function getTermineByPruefung()
{
$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
//$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
$fromdate = date("Y-m-d", strtotime("-2 months"));
$qry = "SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id=".$this->db_add_param($this->pruefung_id)."and von > '".$fromdate."';";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -473,9 +474,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Zugehörige Termine konnten nicht geladen werden.";
return false;
}
}
/**
* ändert einen Termin zur Prüfung
* @param integer $pruefungstermin_id ID eines Prüfungstermins
@@ -493,7 +494,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'UPDATE campus.tbl_pruefungstermin SET '
. 'pruefung_id='.$this->db_add_param($pruefung_id).', '
. 'von='.$this->db_add_param($beginn).', '
@@ -501,7 +502,7 @@ class pruefungCis extends basis_db
. 'teilnehmer_max='.$this->db_add_param($max).', '
. 'teilnehmer_min='.$this->db_add_param($min).' '
. 'WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Termin konnte nicht geändert werden.";
@@ -509,7 +510,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Setzt den Storniert-Status einer Prüfung auf True
* @param integer $pruefung_id ID einer Prüfung
@@ -522,9 +523,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'UPDATE campus.tbl_pruefung SET storniert=true WHERE pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfung konnte nicht storniert werden.";
@@ -532,7 +533,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* löscht die Verknüpfung zwischen einer Lehrveranstaltung und einer Prüfung
* @param integer $lehrveranstaltung_id ID einer Lehrveranstaltung
@@ -550,9 +551,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Prüfung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'DELETE FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id).' AND pruefung_id='.$this->db_add_param($pruefung_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Lehrveranstaltung konnte nicht gelöscht werden.';
@@ -560,7 +561,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* löscht einen Prüfungstermin einer Prüfung
* @param integer $pruefungstermin_id ID eines Prüfungstermins
@@ -573,9 +574,9 @@ class pruefungCis extends basis_db
$this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'DELETE FROM campus.tbl_pruefungstermin WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Termin konnte nicht gelöscht werden.';
@@ -583,7 +584,7 @@ class pruefungCis extends basis_db
}
return true;
}
/**
* Lädt alle Prüfungen zur angebenen Lehrveranstaltung
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
@@ -596,7 +597,7 @@ class pruefungCis extends basis_db
$this->errormsg = "Keine Lehrveranstaltungen übergeben.</br>";
return false;
}
$in = "";
if (is_array($lehrveranstaltung_IDs))
{
@@ -610,9 +611,9 @@ class pruefungCis extends basis_db
{
$in = $lehrveranstaltung_IDs;
}
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -627,7 +628,7 @@ class pruefungCis extends basis_db
}
return false;
}
/**
* Lädt alle Prüfung-Lehrveranstaltung Kombinationen
* @return boolean true, wenn ok; false, im Fehlerfall
@@ -635,7 +636,7 @@ class pruefungCis extends basis_db
public function getAll()
{
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung;';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -650,7 +651,7 @@ class pruefungCis extends basis_db
}
return false;
}
/**
* Lädt alle Prüfungen
* @param String $mitarbeiter_uid UID des Mitarbeiters (optional)
@@ -659,14 +660,14 @@ class pruefungCis extends basis_db
public function getAllPruefungen($mitarbeiter_uid = NULL)
{
$qry = 'SELECT * FROM campus.tbl_pruefung';
if(!is_null($mitarbeiter_uid))
{
$qry .= ' WHERE mitarbeiter_uid='.$this->db_add_param($mitarbeiter_uid);
}
$qry .= ';';
if(!$this->db_query($qry))
{
$this->errormsg = "Prüfungen konnten nicht geladen werden";
@@ -694,17 +695,17 @@ class pruefungCis extends basis_db
return true;
}
}
/**
* Lädt den Wert des letzten Studenten in der Anmeldereihung
* @param type $pruefungstermin_id Id eines Prüfungstermines
* @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt
* @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt
*/
public function getLastOfReihung($pruefungstermin_id)
{
$qry = 'SELECT MAX(reihung) FROM campus.tbl_pruefungsanmeldung WHERE '
. 'pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
if($this->db_query($qry))
{
$row = $this->db_fetch_object();
@@ -716,4 +717,4 @@ class pruefungCis extends basis_db
return false;
}
}
}
}
+17 -10
View File
@@ -174,16 +174,23 @@ class pruefungsanmeldung extends basis_db {
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $studiensemester_kurzbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
public function getAnmeldungenByStudent($uid, $studiensemester_kurzbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
. 'WHERE uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
$qry .= ';';
if(!$this->db_query($qry))
{
@@ -204,13 +211,13 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$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;
+1 -13
View File
@@ -32,8 +32,6 @@ class statistik extends basis_db
public $bezeichnung;
public $url;
public $sql;
public $php;
public $r;
public $gruppe;
public $publish;
public $insertamum;
@@ -92,8 +90,6 @@ class statistik extends basis_db
$this->bezeichnung = $row->bezeichnung;
$this->url = $row->url;
$this->sql = $row->sql;
$this->php = $row->php;
$this->r = $row->r;
$this->gruppe = $row->gruppe;
$this->publish = $this->db_parse_bool($row->publish);
$this->insertamum = $row->insertamum;
@@ -141,8 +137,6 @@ class statistik extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->url = $row->url;
$obj->sql = $row->sql;
$obj->php = $row->php;
$obj->r = $row->r;
$obj->gruppe = $row->gruppe;
$obj->publish = $this->db_parse_bool($row->publish);
$obj->insertamum = $row->insertamum;
@@ -187,8 +181,6 @@ class statistik extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->url = $row->url;
$obj->sql = $row->sql;
$obj->php = $row->php;
$obj->r = $row->r;
$obj->gruppe = $row->gruppe;
$obj->publish = $this->db_parse_bool($row->publish);
$obj->insertamum = $row->insertamum;
@@ -267,14 +259,12 @@ class statistik extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql,
php, r, gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('.
gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('.
$this->db_add_param($this->statistik_kurzbz).','.
$this->db_add_param($this->content_id,FHC_INTEGER).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->url).','.
$this->db_add_param($this->sql).','.
$this->db_add_param($this->php).','.
$this->db_add_param($this->r).','.
$this->db_add_param($this->gruppe).','.
$this->db_add_param($this->publish, FHC_BOOLEAN).','.
$this->db_add_param($this->insertamum).','.
@@ -294,8 +284,6 @@ class statistik extends basis_db
' statistik_kurzbz='.$this->db_add_param($this->statistik_kurzbz).','.
' url='.$this->db_add_param($this->url).','.
' sql='.$this->db_add_param($this->sql).','.
' php='.$this->db_add_param($this->php).','.
' r='.$this->db_add_param($this->r).','.
' gruppe='.$this->db_add_param($this->gruppe).','.
' publish='.$this->db_add_param($this->publish, FHC_BOOLEAN).','.
' insertamum='.$this->db_add_param($this->insertamum).','.
+42
View File
@@ -226,6 +226,7 @@ class studiengang extends basis_db
return true;
}
// DEPRECATED! SIEHE NAECHSTE FUNKTION
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
@@ -255,6 +256,47 @@ class studiengang extends basis_db
return true;
}
// DIESE FUNKTION WARE BESSER GEEIGNET, DA DIE ALTE NOCH AUF DIE vw_studienplan ZUGREIFT
// IN DER DIE GUELTIGEN SEMESTER NOCH VON DEN STUDIENORDNUNGEN ERMITTELT WERDEN ANSTATT VON DEN STUDIENPLAENEN
// IN DIESER WERDEN AUCH DIE STUDIENSEMESTER ABGEFRAGT
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
* @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll.
* @param array $studiensemester_kurzbz Array von Studiensemestern, in deren Gueltigkeit die Studienplaene liegen
* @return boolean
*/
/*public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC', $studiensemester_kurzbz = '')
{
$qry = "SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung "
. "FROM lehre.tbl_studienplan "
. "JOIN lehre.tbl_studienordnung USING (studienordnung_id) "
. "JOIN public.tbl_studiengang USING (studiengang_kz) "
. "JOIN public.tbl_organisationseinheit USING (oe_kurzbz) "
. "JOIN public.tbl_organisationseinheittyp USING (organisationseinheittyp_kurzbz) "
. "LEFT JOIN lehre.tbl_studienplan_semester USING (studienplan_id) "
. "LEFT JOIN bis.tbl_lgartcode USING (lgartcode) "
. "WHERE onlinebewerbung IS TRUE "
. "AND tbl_studienplan.aktiv IS TRUE "
. "AND tbl_studienplan_semester.semester=1 "
. "AND tbl_studienplan_semester.studiensemester_kurzbz IN (".$this->implode4SQL($studiensemester_kurzbz).") ";
$qry .= " ORDER BY ".$order;
if(!$result = $this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = $this->db_fetch_object($result))
{
$this->result[] = $row;
}
return true;
}*/
/**
* Laedt alle Studientypen in das Attribut studiengang_typ_array
+9 -2
View File
@@ -55,9 +55,16 @@ class tags extends basis_db
*
* Gibt alle Tags zurück
*/
public function getAll()
public function getAll($tag_search = null)
{
$qry = "SELECT * FROM public.tbl_tag; ";
$matchcode=mb_strtoupper(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$tag_search));
$qry = "SELECT * FROM public.tbl_tag ";
if (!empty($tag_search))
{
$qry.="WHERE UPPER(trim(public.tbl_tag.tag)) like '%".$this->db_escape($matchcode)."%' ";
}
$qry.="ORDER BY UPPER(trim(public.tbl_tag.tag)) ";
if($this->db_query($qry))
{
+31 -31
View File
@@ -366,31 +366,31 @@ else
//Feld Umrechnung Punkte=>Note
$maxY=620;
$maxX=40;
$maxX=30;
$pdf->SetFont('Arial','',10);
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Kriterien:');
$pdf->SetFont('Arial','',7);
$maxX +=120;
$pdf->SetFont('Arial','',8);
$maxX +=55;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0);
$pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0);
$maxY=$pdf->GetY();
$maxX=160;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Bachelorarbeit gesamt negativ','LB','L',0);
$maxX +=240;
$maxX=85;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=315;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'','TB','C',0);
$maxX +=80;
@@ -400,10 +400,10 @@ else
//Zeile Note und Unterschrift
$pdf->SetFont('Arial','',11);
$maxY+=25;
$maxX=+40;
$maxX=+30;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Note: '.$note,0,'L',0);
$maxX=+40;
$maxX=+50;
$maxY=$pdf->GetY();
$pdf->SetXY($maxX,$maxY);
$maxX +=300;
@@ -657,26 +657,26 @@ else
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'Kriterien:');
$pdf->SetFont('Arial','',8);
$maxX +=130;
$maxX +=55;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'0 - 50 Pkte = 5',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'Ergebnis <= 50 Pkte = 5',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'51 - 64 Pkte = 4',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'50 < Ergebnis < 65 = 4',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'65 - 77 Pkte = 3',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'65 <= Ergebnis < 78 = 3',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'78 - 90 Pkte = 2',1,'C',0);
$maxX +=80;
$pdf->MultiCell(95,12,'78 <= Ergebnis < 91 = 2',1,'C',0);
$maxX +=95;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'91 - 100 Pkte = 1',1,'C',0);
$pdf->MultiCell(95,12,'91 Pkte <= Ergebnis = 1',1,'C',0);
$maxY=$pdf->GetY();
$maxX=160;
$maxX=85;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=240;
$pdf->MultiCell(315,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
$maxX +=315;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(80,12,'','TB','C',0);
$maxX +=80;
+10 -7
View File
@@ -81,15 +81,18 @@ if(!$generateuid_addon_found)
// Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht
// in der FHC Datenbank vorhanden sind.
// Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt
$aliases = file_get_contents(DOC_ROOT.'../system/aliases');
$aliases = explode("\n",$aliases);
foreach($aliases as $alias)
if(file_exists(DOC_ROOT.'../system/aliases'))
{
if(!strstr($alias,'#'))
$aliases = file_get_contents(DOC_ROOT.'../system/aliases');
$aliases = explode("\n",$aliases);
foreach($aliases as $alias)
{
$entry = preg_split("/[\s:]+/", $alias);
if($entry[0]!='')
$reserviert[]=$entry[0];
if(!strstr($alias,'#'))
{
$entry = preg_split("/[\s:]+/", $alias);
if($entry[0]!='')
$reserviert[]=$entry[0];
}
}
}
+1 -1
View File
@@ -138,7 +138,7 @@ $menu=array
),
'Stammdaten'=> array
(
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis'), 'image'=>'vilesci_stammdaten.png',
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis','basis/infoscreen'), 'image'=>'vilesci_stammdaten.png',
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
+7 -2
View File
@@ -6,12 +6,17 @@
.panel-body-noheader {
border-top-width: 1px;
}
.panel-header,
.panel-body {
.panel {
background-color: #EEE;
color: #333;
border-color: #888;
border: 1px solid #888;
}
.panel-body {
background-color: #EEE;
color: #333;
font-size: 12px;
border: none;
}
+6 -6
View File
@@ -1,12 +1,12 @@
.icon-fhc-chart{
background:url('../../../skin/images/Graphs_clip_art.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Chart.svg') no-repeat center center;
background-size: 11px 16px;
}
.icon-fhc-report{
background:url('../../../skin/images/x-office-presentation.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Report.svg') no-repeat center center;
background-size: 11px 16px;
}
.icon-fhc-statistik{
background:url('../../../skin/images/x-office-spreadsheet.svg') no-repeat center center;
background-size: 16px 16px;
background:url('../../../skin/images/Statistik.svg') no-repeat center center;
background-size: 11px 16px;
}