mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
- Added method dropdownListValuesToString to udf.class.php
- Added enum element to UDF definition in method _getUDFDefinition - Exports now show the values of dropdowns and not the id
This commit is contained in:
@@ -223,11 +223,24 @@ foreach ($mitarbeiterDAO->result as $mitarbeiter)
|
||||
{
|
||||
if (isset($udfPerson[$udfTitle['name']]))
|
||||
{
|
||||
if (mb_strlen($udfPerson[$udfTitle['name']]) > $maxlength[$col])
|
||||
if (is_string($udfPerson[$udfTitle['name']]) || is_numeric($udfPerson[$udfTitle['name']]))
|
||||
{
|
||||
$maxlength[$col] = mb_strlen($udfPerson[$udfTitle['name']]);
|
||||
if (mb_strlen($udfPerson[$udfTitle['name']]) > $maxlength[$col])
|
||||
{
|
||||
$maxlength[$col] = mb_strlen($udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
$worksheet->write($zeile, $col, $udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
else if(is_array($udfPerson[$udfTitle['name']]) && isset($udfTitle['enum']))
|
||||
{
|
||||
$toWrite = $udf->dropdownListValuesToString($udfPerson[$udfTitle['name']], $udfTitle['enum']);
|
||||
|
||||
if (mb_strlen($toWrite) > $maxlength[$col])
|
||||
{
|
||||
$maxlength[$col] = mb_strlen($toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $col, $toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $col, $udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
$col++;
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ function draw_content($row)
|
||||
global $zeile, $worksheet;
|
||||
global $zgv_arr, $zgvmas_arr;
|
||||
global $studiensemester_kurzbz;
|
||||
global $udfTitlesPerson, $udfTitlesPrestudent;
|
||||
global $udfTitlesPerson, $udfTitlesPrestudent, $udf;
|
||||
$db = new basis_db();
|
||||
|
||||
$prestudent = new prestudent();
|
||||
@@ -558,11 +558,24 @@ function draw_content($row)
|
||||
{
|
||||
if (isset($udfPerson[$udfTitle['name']]))
|
||||
{
|
||||
if (mb_strlen($udfPerson[$udfTitle['name']]) > $maxlength[$i])
|
||||
if (is_string($udfPerson[$udfTitle['name']]) || is_numeric($udfPerson[$udfTitle['name']]))
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($udfPerson[$udfTitle['name']]);
|
||||
if (mb_strlen($udfPerson[$udfTitle['name']]) > $maxlength[$i])
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
else if(is_array($udfPerson[$udfTitle['name']]) && isset($udfTitle['enum']))
|
||||
{
|
||||
$toWrite = $udf->dropdownListValuesToString($udfPerson[$udfTitle['name']], $udfTitle['enum']);
|
||||
|
||||
if (mb_strlen($toWrite) > $maxlength[$i])
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $udfPerson[$udfTitle['name']]);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
@@ -577,11 +590,24 @@ function draw_content($row)
|
||||
{
|
||||
if (isset($udfPrestudent[$udfTitle['name']]))
|
||||
{
|
||||
if (mb_strlen($udfPrestudent[$udfTitle['name']]) > $maxlength[$i])
|
||||
if (is_string($udfPrestudent[$udfTitle['name']]) || is_numeric($udfPrestudent[$udfTitle['name']]))
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($udfPrestudent[$udfTitle['name']]);
|
||||
if (mb_strlen($udfPrestudent[$udfTitle['name']]) > $maxlength[$i])
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($udfPrestudent[$udfTitle['name']]);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $udfPrestudent[$udfTitle['name']]);
|
||||
}
|
||||
else if(is_array($udfPrestudent[$udfTitle['name']]) && isset($udfTitle['enum']))
|
||||
{
|
||||
$toWrite = $udf->dropdownListValuesToString($udfPrestudent[$udfTitle['name']], $udfTitle['enum']);
|
||||
|
||||
if (mb_strlen($toWrite) > $maxlength[$i])
|
||||
{
|
||||
$maxlength[$i] = mb_strlen($toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $toWrite);
|
||||
}
|
||||
$worksheet->write($zeile, $i, $udfPrestudent[$udfTitle['name']]);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
+49
-1
@@ -172,6 +172,45 @@ class UDF extends basis_db
|
||||
return $prestudentHasUDF;
|
||||
}
|
||||
|
||||
/**
|
||||
* Concatenates a list of values of a dropdown element to a string
|
||||
*/
|
||||
public function dropdownListValuesToString($listValues, $enum)
|
||||
{
|
||||
$toWrite = '';
|
||||
|
||||
foreach ($listValues as $value)
|
||||
{
|
||||
foreach ($enum as $element)
|
||||
{
|
||||
if (is_object($element))
|
||||
{
|
||||
if ($element->id == $value)
|
||||
{
|
||||
$toWrite .= $element->description;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (is_array($element))
|
||||
{
|
||||
if ($element[0] == $value)
|
||||
{
|
||||
$toWrite .= $element[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ($element == $value)
|
||||
{
|
||||
$toWrite .= $element;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$toWrite .= ' ';
|
||||
}
|
||||
|
||||
return $toWrite;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the UDF definitions related to the given schema and table
|
||||
*/
|
||||
@@ -243,7 +282,16 @@ class UDF extends basis_db
|
||||
{
|
||||
if (isset($udfJsonShema->name) && isset($udfJsonShema->title))
|
||||
{
|
||||
$names[] = array('name' => $udfJsonShema->name, 'title' => $udfJsonShema->title);
|
||||
$tmpArray = array('name' => $udfJsonShema->name, 'title' => $udfJsonShema->title);
|
||||
|
||||
if (isset($udfJsonShema->type)
|
||||
&& ($udfJsonShema->type == 'dropdown' || $udfJsonShema->type == 'multipledropdown')
|
||||
&& isset($udfJsonShema->listValues) && isset($udfJsonShema->listValues->enum))
|
||||
{
|
||||
$tmpArray['enum'] = $udfJsonShema->listValues->enum;
|
||||
}
|
||||
|
||||
$names[] = $tmpArray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user