diff --git a/cis/private/bildupload.php b/cis/private/bildupload.php
index 968f67ab0..b8ce66422 100644
--- a/cis/private/bildupload.php
+++ b/cis/private/bildupload.php
@@ -23,8 +23,6 @@
*/
// Oberflaeche zum Upload von Bildern
-
-//session_cache_limiter('none'); //muss gesetzt werden damit der upload in chrome und das automatische updaten des profilbildes funktioniert
require_once('../../config/cis.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
@@ -32,67 +30,52 @@ require_once('../../include/benutzer.class.php');
require_once('../../include/akte.class.php');
require_once('../../include/phrasen.class.php');
require_once('../../include/fotostatus.class.php');
-
$user = get_uid();
$sprache = getSprache();
$p = new phrasen($sprache);
-
echo '
'.$p->t('profil/Bildupload').'
';
-
function resize($filename, $width, $height)
{
- $ext = explode('.',$_FILES['bild']['name']);
- $ext = strtolower($ext[count($ext)-1]);
+ $ext = explode('.',$_FILES['bild']['name']);
+ $ext = strtolower($ext[count($ext)-1]);
+ // Hoehe und Breite neu berechnen
+ list($width_orig, $height_orig) = getimagesize($filename);
+ if ($width && ($width_orig < $height_orig))
+ {
+ $width = ($height / $height_orig) * $width_orig;
+ }
+ else
+ {
+ $height = ($width / $width_orig) * $height_orig;
+ }
- // Hoehe und Breite neu berechnen
- list($width_orig, $height_orig) = getimagesize($filename);
+ $image_p = imagecreatetruecolor($width, $height);
- if ($width && ($width_orig < $height_orig))
- {
- $width = ($height / $height_orig) * $width_orig;
- }
- else
- {
- $height = ($width / $width_orig) * $height_orig;
- }
+ $image = imagecreatefromjpeg($filename);
- $image_p = imagecreatetruecolor($width, $height);
+ //Bild nur verkleinern aber nicht vergroessern
+ if($width_orig>$width || $height_orig>$height)
+ imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
+ else
+ $image_p = $image;
- $image = imagecreatefromjpeg($filename);
+ imagejpeg($image_p, $filename, 80);
- //Bild nur verkleinern aber nicht vergroessern
- if($width_orig>$width || $height_orig>$height)
- imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
- else
- $image_p = $image;
-
- imagejpeg($image_p, $filename, 80);
-
- @imagedestroy($image_p);
- @imagedestroy($image);
+ @imagedestroy($image_p);
+ @imagedestroy($image);
}
-
-
if(isset($_GET['person_id']))
{
$benutzer = new benutzer();
@@ -107,269 +90,132 @@ if(isset($_GET['person_id']))
}
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
+//Bei Upload des Bildes
+if(isset($_POST['submitbild']))
+{
+ if(isset($_FILES['bild']['tmp_name']))
+ {
+ //Extension herausfiltern
+ $ext = explode('.',$_FILES['bild']['name']);
+ $ext = mb_strtolower($ext[count($ext)-1]);
+ $width=101;
+ $height=130;
-echo '
';
-echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'
';
-echo '
- '.$p->t('profil/fotoAuswählen').'
-
-
-
-
-
';
+ //--check that it's a jpeg
+ if ($ext=='jpg' || $ext=='jpeg')
+ {
+ $filename = $_FILES['bild']['tmp_name'];
-if (isset($_POST['src'])) {
- $src = $_POST['src'];
- echo $src;
+ //groesse auf maximal 827x1063 begrenzen
+ resize($filename, 827, 1063);
+
+ $fp = fopen($filename,'r');
+ //auslesen
+ $content = fread($fp, filesize($filename));
+ fclose($fp);
+
+ $akte = new akte();
+
+ if($akte->getAkten($_GET['person_id'], 'Lichtbil'))
+ {
+ if(count($akte->result)>0)
+ {
+ $akte = $akte->result[0];
+ $akte->new = false;
+ }
+ else
+ $akte->new = true;
+ }
+ else
+ {
+ $akte->new = true;
+ }
+
+ $akte->dokument_kurzbz = 'Lichtbil';
+ $akte->person_id = $_GET['person_id'];
+ $akte->inhalt = base64_encode($content);
+ $akte->mimetype = "image/jpg";
+ $akte->erstelltam = date('Y-m-d H:i:s');
+ $akte->gedruckt = false;
+ $akte->titel = "Lichtbild_".$_GET['person_id'].".jpg";
+ $akte->bezeichnung = "Lichtbild gross";
+ $akte->updateamum = date('Y-m-d H:i:s');
+ $akte->updatevon = $user;
+ $akte->insertamum = date('Y-m-d H:i:s');
+ $akte->insertvon = $user;
+ $akte->uid = '';
+
+ if(!$akte->save())
+ {
+ echo '
Fehler: '.$akte->errormsg.'
';
+ }
+
+ //groesse auf maximal 101x130 begrenzen
+ resize($filename, 101, 130);
+
+ //in DB speichern
+ //File oeffnen
+ $fp = fopen($filename,'r');
+ //auslesen
+ $content = fread($fp, filesize($filename));
+ fclose($fp);
+ //in base64-Werte umrechnen
+ $content = base64_encode($content);
+ $person = new person();
+ if($person->load($_GET['person_id']))
+ {
+ //base64 Wert in die Datenbank speichern
+ $person->foto = $content;
+ $person->new = false;
+ if($person->save())
+ {
+ $fs = new fotostatus();
+ $fs->person_id=$person->person_id;
+ $fs->fotostatus_kurzbz='hochgeladen';
+ $fs->datum = date('Y-m-d');
+ $fs->insertamum = date('Y-m-d H:i:s');
+ $fs->insertvon = $user;
+ $fs->updateamum = date('Y-m-d H:i:s');
+ $fs->updatevon = $user;
+ if(!$fs->save(true))
+ echo '
Fehler beim Setzen des Bildstatus
';
+ else
+ {
+
+ echo "
Bild wurde erfolgreich gespeichert
+ ";
+ }
+ }
+ else
+ echo '
'.$person->errormsg.'
';
+ }
+ else
+ echo '
'.$person->errormsg.'
';
+ }
+ else
+ echo '
'.$p->t('profil/nurJPGBilder').'
';
+ }
}
-function cropCss() {
- return '
- ';
-}
+//echo '
';
+echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'
+
+ ';
?>
+
diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index 4a13fe2f2..d2a3801f0 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -259,8 +259,4 @@ define('STATUSGRUND_ID_EINSTIEG_SOMMERSEMESTER', null);
// Studiengangs_kz des Studiengangs "Qualifikationskurse". Der Studiengang hat eine Sonderstellung zB für das Bewerbungstool.
define('STUDIENGANG_KZ_QUALIFIKATIONKURSE', null);
-
-// EinsteigerInnen ins Sommersemester werden mit einem Statusgrund versehen.
-// Die ID dieses Statusgrundes kann hier eingegeben werden. Es wird zB vom Infocenter-Tool gesetzt und im Bewerbungstool abgefragt
-define('STATUSGRUND_ID_EINSTIEG_SOMMERSEMESTER', null);
?>
diff --git a/content/akteupload.php b/content/akteupload.php
index d29be6670..f8c459845 100644
--- a/content/akteupload.php
+++ b/content/akteupload.php
@@ -168,7 +168,7 @@ if(isset($_POST['submitbild']))
if(isset($_GET['person_id']))
{
$dokument = new dokument();
- $dokument->getAllDokumente('Zeugnis');
+ $dokument->getAllDokumente('Zeugnis,DiplSupp,Bescheid');
echo "
diff --git a/include/dokument.class.php b/include/dokument.class.php
index 2d7f66563..a2eab0e68 100644
--- a/include/dokument.class.php
+++ b/include/dokument.class.php
@@ -36,6 +36,7 @@ class dokument extends basis_db
public $bezeichnung_mehrsprachig;
public $dokumentbeschreibung_mehrsprachig;
public $ausstellungsdetails = false;
+ public $stufe;
public $prestudent_id;
public $mitarbeiter_uid;
@@ -428,6 +429,7 @@ class dokument extends basis_db
$dok->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
+ $dok->stufe = $row->stufe;
$this->result[] = $dok;
}
return true;
@@ -467,6 +469,7 @@ class dokument extends basis_db
$dok->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
+ $dok->stufe = $row->stufe;
$this->result[] = $dok;
}
@@ -545,6 +548,7 @@ class dokument extends basis_db
$this->pflicht = $this->db_parse_bool($row->pflicht);
$this->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$this->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig',$row);
+ $this->stufe = $row->stufe;
return true;
}
else
@@ -605,7 +609,7 @@ class dokument extends basis_db
$qry.=" beschreibung_mehrsprachig[$idx],";
}
- $qry.=' pflicht, nachreichbar, onlinebewerbung)
+ $qry.=' pflicht, nachreichbar, onlinebewerbung, stufe)
VALUES ('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->studiengang_kz,FHC_INTEGER).',';
@@ -615,7 +619,8 @@ class dokument extends basis_db
$qry.= $this->db_add_param($this->pflicht,FHC_BOOLEAN).','.
$this->db_add_param($this->nachreichbar,FHC_BOOLEAN).','.
- $this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).')';
+ $this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).','.
+ $this->db_add_param($this->stufe,FHC_INTEGER).')';
}
else
{
@@ -628,7 +633,8 @@ class dokument extends basis_db
$qry.=" beschreibung_mehrsprachig[$idx]=".$this->db_add_param($value).",";
}
$qry.=' pflicht='.$this->db_add_param($this->pflicht, FHC_BOOLEAN).',
- nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).'
+ nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).',
+ stufe='.$this->db_add_param($this->stufe, FHC_INTEGER).'
WHERE
dokument_kurzbz='.$this->db_add_param($this->dokument_kurzbz).'
AND studiengang_kz='.$this->db_add_param($this->studiengang_kz);
@@ -714,6 +720,7 @@ class dokument extends basis_db
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
+ $dok->stufe = $row->stufe;
$this->result[] = $dok;
}
@@ -838,7 +845,8 @@ class dokument extends basis_db
*/
public function getStudiengaengeDokument($dokument_kurzbz, $person_id = null)
{
- $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english FROM public.tbl_dokumentstudiengang
+ $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english, stufe
+ FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent USING (studiengang_kz)
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
diff --git a/include/frage.class.php b/include/frage.class.php
index 8a7d4750e..cafb0c0fd 100644
--- a/include/frage.class.php
+++ b/include/frage.class.php
@@ -509,6 +509,11 @@ class frage extends basis_db
$level[$row->level]=round(($row->anzahl/$fragengesamt)*$maxfragen);
}
}
+ // Wenn ein Level besonders viele Fragen und eines nur eine Frage (nach dem Runden) hat,
+ // kann es durch Rundungsfehler vorkommen, dass bei der Ausgabe ein Level ausgelassen wird.
+ // Deshalb wird das array hier aufsteigend sortiert. So wird ggf. vom Level mit den meisten Fragen
+ // die letzte ausgelassen. Hier wäre eine sauberere Lösung besser.
+ asort($level);
// Von jedem Gebiet muss mindestens eine Frage kommen
foreach ($level as $key=>$row)
diff --git a/include/gebiet.class.php b/include/gebiet.class.php
index 98a2535a9..2491259c4 100644
--- a/include/gebiet.class.php
+++ b/include/gebiet.class.php
@@ -368,12 +368,9 @@ class gebiet extends basis_db
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND not demo AND level is not null GROUP BY level";
if($this->db_query($qry))
{
- if($row = $this->db_fetch_object())
+ if($this->db_num_rows() > $this->maxfragen)
{
- if($row->anzahl>$this->maxfragen)
- {
- //$this->errormsg .= "Wenn Levelgleichverteilung gesetzt ist, muss maxfragen groesser als die Anzahl der verwendeten Levels sein\n";
- }
+ $this->errormsg .= "Wenn Levelgleichverteilung gesetzt ist, muss maxfragen groesser als die Anzahl der verwendeten Levels sein\n";
}
}
}
diff --git a/include/statistik.class.php b/include/statistik.class.php
index c9615d557..89ae1c752 100644
--- a/include/statistik.class.php
+++ b/include/statistik.class.php
@@ -164,9 +164,9 @@ class statistik extends basis_db
public function getGruppe($gruppe,$publish=null)
{
$qry = "SELECT * FROM public.tbl_statistik WHERE gruppe=".$this->db_add_param($gruppe);
- if ($publish==true)
+ if ($publish===true)
$qry.=' AND publish ';
- elseif ($publish==false)
+ elseif ($publish===false)
$qry.=' AND NOT publish ';
$qry.=' ORDER BY bezeichnung;';
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index dcac98148..4e720daef 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -3019,6 +3019,17 @@ if(!@$db->db_query("SELECT 0 FROM campus.tbl_zeitaufzeichnung_gd WHERE 0 = 1"))
}
+// Add column Stufe to tbl_dokumentstudiengang
+if(!$result = @$db->db_query("SELECT stufe FROM public.tbl_dokumentstudiengang LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN stufe smallint;";
+
+ if(!$db->db_query($qry))
+ echo '