Merge branch 'master' into feature-6656/Worker_queue

This commit is contained in:
Andreas Österreicher
2020-06-17 09:03:41 +02:00
146 changed files with 13211 additions and 4463 deletions
+47 -29
View File
@@ -91,6 +91,23 @@ class Messages_model extends CI_Model
}
}
/**
* Prepares data for the view system/messages/ajaxRead
*/
public function prepareAjaxRead()
{
$psResult = $this->PrestudentModel->loadWhere(array('person_id' => getAuthPersonId()));
if (isError($psResult)) show_error('An error occurred while loading this page, please contact the site administrator');
if (hasData($psResult))
{
return array('writeButton' => '<input id="writeMessage" type="button" value="'.$this->p->t('ui', 'nachrichtSenden').'">');
}
return array('writeButton' => '');
}
/**
* Prepares data for the view system/messages/ajaxWrite
*/
@@ -267,15 +284,10 @@ class Messages_model extends CI_Model
$sender = getData($senderResult)[0]; // Found sender data
// Check if the receiver is an employee
$isEmployee = false; // not by default
$isEmployeeResult = $this->MessageTokenModel->isEmployee($message->receiver_id);
if (isError($isEmployeeResult)) show_error(getError($isEmployeeResult));
if (hasData($isEmployeeResult)) $isEmployee = true;
// If the sender is not an employee and are present configurations to reply
// If the sender is not the system sender and are present configurations to reply
$hrefReply = '';
if (!$isEmployee && !isEmptyString($this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL)))
if ($message->sender_id != $this->config->item(MessageLib::CFG_SYSTEM_PERSON_ID)
&& !isEmptyString($this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL)))
{
$hrefReply = $this->config->item(MessageLib::CFG_MESSAGE_SERVER).
$this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL).
@@ -399,33 +411,30 @@ class Messages_model extends CI_Model
$message = $this->messagelib->sendMessageUser(
$msgVarsDataArray['person_id'], // receiverPersonId
$parsedSubject, // subject
$parsedBody, // body
$sender_id, // sender_id
$senderOU, // senderOU
$relationmessage_id, // relationmessage_id
MSG_PRIORITY_NORMAL // priority
$parsedSubject, // subject
$parsedBody, // body
$sender_id, // sender_id
$senderOU, // senderOU
$relationmessage_id, // relationmessage_id
MSG_PRIORITY_NORMAL // priority
);
if (isError($message)) return $message;
if (!hasData($message)) return error('No messages were saved in database');
// Write log entry only if persons were given
if ($type == self::TYPE_PERSONS)
{
$personLog = $this->_personLog($sender_id, $msgVarsDataArray['person_id'], getData($message)[0]);
if (isError($personLog)) return $personLog;
}
// Write log entry only
$personLog = $this->_personLog($sender_id, $msgVarsDataArray['person_id'], getData($message)[0]);
if (isError($personLog)) return $personLog;
$receiversCounter++; // increment the counter
}
return success('Messages sent successfully');
}
/**
* Sends a new message using the given template and information present in parameter prestudents
* Extra variables can be added using parameter $msgVars
* Wrapper method for sendExplicitTemplateSenderId
* The sender id is retrieved from the authentication session, if not present an error would be raised
*/
public function sendExplicitTemplate($prestudents, $oe_kurzbz, $vorlage_kurzbz, $msgVars)
{
@@ -433,6 +442,15 @@ class Messages_model extends CI_Model
$sender_id = getAuthPersonId();
if (!is_numeric($sender_id)) show_error('The current logged user person_id is not defined');
return $this->sendExplicitTemplateSenderId($sender_id, $prestudents, $oe_kurzbz, $vorlage_kurzbz, $msgVars);
}
/**
* Sends a new message using the given template and information present in parameter prestudents
* Extra variables can be added using parameter $msgVars
*/
public function sendExplicitTemplateSenderId($sender_id, $prestudents, $oe_kurzbz, $vorlage_kurzbz, $msgVars)
{
// Retrieves message vars data for the given user/s
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
if (isError($msgVarsData)) show_error(getError($msgVarsData));
@@ -454,12 +472,12 @@ class Messages_model extends CI_Model
if (is_array($msgVars)) $msgVarsDataArray = array_merge($msgVarsDataArray, $msgVars);
$message = $this->messagelib->sendMessageUserTemplate(
$msgVarsDataArray['person_id'], // receiversPersonId
$vorlage_kurzbz, // vorlage
$msgVarsDataArray, // parseData
null, // orgform
$sender_id, // sender_id
$oe_kurzbz // senderOU
$msgVarsDataArray['person_id'], // receiversPersonId
$vorlage_kurzbz, // vorlage
$msgVarsDataArray, // parseData
null, // orgform
$sender_id, // sender_id
$oe_kurzbz // senderOU
);
if (isError($message)) return $message;
+56 -27
View File
@@ -196,7 +196,7 @@ class Prestudent_model extends DB_Model
{
$this->addSelect('tbl_prestudent.*, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbzlang as studiengang, tbl_studiengang.bezeichnung as studiengangbezeichnung, tbl_studiengang.english as studiengangenglish,
tbl_studiengang.email as studiengangmail, tbl_studiengang.typ as studiengangtyp, tbl_studiengangstyp.bezeichnung as studiengangtyp_bez,
tbl_zgv.zgv_code, tbl_zgv.zgv_bez, tbl_prestudent.zgvnation as zgvnation_code, zgvnat.kurztext as zgvnation_kurzbez, zgvnat.langtext as zgvnation_bez, zgvnat.engltext as zgvnation_englbez,
tbl_zgv.zgv_code, tbl_zgv.zgv_bez, tbl_prestudent.zgvnation as zgvnation_code, zgvnat.kurztext as zgvnation_kurzbez, zgvnat.langtext as zgvnation_bez, zgvnat.engltext as zgvnation_englbez, zgvnat.nationengruppe_kurzbz as zgvnation_nationengruppe,
tbl_zgvmaster.zgvmas_code, tbl_zgvmaster.zgvmas_bez, tbl_prestudent.zgvmanation as zgvmanation_code, zgvmanat.kurztext as zgvmanation_kurzbez, zgvmanat.langtext as zgvmanation_bez, zgvmanat.engltext as zgvmanation_englbez');
$this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
$this->addJoin('public.tbl_studiengangstyp', 'typ', 'LEFT');
@@ -209,66 +209,95 @@ class Prestudent_model extends DB_Model
if (!hasData($prestudent))
return error('prestudent could not be loaded');
$prestudentdata = getData($prestudent);
$prestudentdata = $prestudentdata[0];
//Prestudentstatus
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
if ($lastStatus->error)
if (isError($lastStatus))
{
return $lastStatus;
}
if (count($lastStatus->retval) > 0)
if (hasData($lastStatus))
{
$lastStatusData = getData($lastStatus);
$lastStatusData = $lastStatusData[0];
//get Studiengangname from Studienplan and -ordnung
$studienordnung = $this->PrestudentstatusModel->getStudienordnungFromPrestudent($prestudent_id);
if ($studienordnung->error)
if (isError($studienordnung))
return $studienordnung;
if (count($studienordnung->retval) > 0)
if (hasData($studienordnung))
{
$lastStatus->retval[0]->studiengang_kz = $studienordnung->retval[0]->studiengang_kz;
$lastStatus->retval[0]->studiengangkurzbzlang = $studienordnung->retval[0]->studiengangkurzbzlang;
$lastStatus->retval[0]->studiengangbezeichnung = $studienordnung->retval[0]->studiengangbezeichnung;
$lastStatus->retval[0]->studiengangbezeichnung_englisch = $studienordnung->retval[0]->studiengangbezeichnung_englisch;
$lastStatus->retval[0]->regelstudiendauer = $studienordnung->retval[0]->regelstudiendauer;
$studienordnungdata = getData($studienordnung);
$studienordnungdata = $studienordnungdata[0];
$lastStatusData->studiengang_kz = $studienordnungdata->studiengang_kz;
$lastStatusData->studiengangkurzbzlang = $studienordnungdata->studiengangkurzbzlang;
$lastStatusData->studiengangbezeichnung = $studienordnungdata->studiengangbezeichnung;
$lastStatusData->studiengangbezeichnung_englisch = $studienordnungdata->studiengangbezeichnung_englisch;
$lastStatusData->regelstudiendauer = $studienordnungdata->regelstudiendauer;
}
//get Sprache
$this->load->model('system/sprache_model', 'SpracheModel');
$this->SpracheModel->addSelect('sprache, locale, bezeichnung');
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
$language = $this->SpracheModel->load($lastStatusData->sprache);
if ($language->error)
if (isError($language))
return $language;
if (count($language->retval) > 0)
$lastStatus->retval[0]->sprachedetails = $language->retval[0];
if (hasData($language))
{
$languagedata = getData($language);
$languagedata = $languagedata[0];
$lastStatusData->sprachedetails = $languagedata;
}
//get Bewerbungsfrist
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
$this->BewerbungstermineModel->addSelect('ende, nachfrist_ende');
$this->BewerbungstermineModel->addOrder('ende', 'DESC');
$this->BewerbungstermineModel->addOrder('updateamum', 'DESC');
$this->BewerbungstermineModel->addOrder('insertamum', 'DESC');
$this->BewerbungstermineModel->addOrder('ende');
$this->BewerbungstermineModel->addLimit(1);
$bewerbungstermin = $this->BewerbungstermineModel->loadWhere(
array(
'studienplan_id' => $lastStatus->retval[0]->studienplan_id,
'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz,
'studiengang_kz' => $prestudent->retval[0]->studiengang_kz
)
$fristparams = array(
'studienplan_id' => $lastStatusData->studienplan_id,
'studiensemester_kurzbz' => $lastStatusData->studiensemester_kurzbz,
'studiengang_kz' => $prestudentdata->studiengang_kz
);
if (isset($prestudentdata->zgvnation_nationengruppe))
$fristparams['nationengruppe_kurzbz'] = $prestudentdata->zgvnation_nationengruppe;
$bewerbungstermin = $this->BewerbungstermineModel->loadWhere(
$fristparams
);
if ($bewerbungstermin->error)
if (isError($bewerbungstermin))
return $bewerbungstermin;
if (count($bewerbungstermin->retval) > 0)
if (hasData($bewerbungstermin))
{
$lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende;
$lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende;
$bewerbungstermindata = getData($bewerbungstermin);
$bewerbungstermindata = $bewerbungstermindata[0];
$lastStatusData->bewerbungstermin = $bewerbungstermindata->ende;
$lastStatusData->bewerbungsnachfrist = $bewerbungstermindata->nachfrist_ende;
}
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
$prestudentdata->prestudentstatus = $lastStatusData;
if ($this->hasUDF())
{
$prestudentdata->prestudentUdfs = $this->getUDFs($prestudent_id);
}
}
return success($prestudent->retval);
return success($prestudentdata);
}
/**
@@ -11,4 +11,93 @@ class Abschlusspruefung_model extends DB_Model
$this->dbTable = 'lehre.tbl_abschlusspruefung';
$this->pk = 'abschlusspruefung_id';
}
/**
* Gets data of an Abschlusspruefung, including Abschlussarbeit.
* @param $abschlusspruefung_id
* @return object
*/
public function getAbschlusspruefung($abschlusspruefung_id)
{
$this->load->model('crm/Student_model', 'StudentModel');
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
$this->load->model('education/Projektarbeit_model', 'ProjektarbeitModel');
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$abschlusspruefungdata = array();
$this->addSelect('tbl_abschlusspruefung.abschlusspruefung_id, tbl_abschlusspruefung.datum, tbl_abschlusspruefung.abschlussbeurteilung_kurzbz, tbl_abschlusspruefung.uhrzeit AS pruefungsbeginn, tbl_abschlusspruefung.endezeit AS pruefungsende,
tbl_abschlusspruefung.freigabedatum, tbl_abschlusspruefung_antritt.bezeichnung AS pruefungsantritt_bezeichnung, tbl_abschlusspruefung_antritt.bezeichnung_english AS pruefungsantritt_bezeichnung_english, tbl_abschlusspruefung.protokoll,
studentpers.vorname AS vorname_student, studentpers.nachname AS nachname_student, studentpers.titelpre AS titelpre_student, studentpers.titelpost AS titelpost_student, studentben.uid AS uid_student, matrikelnr,
vorsitzenderben.uid AS uid_vorsitz, vorsitzenderpers.vorname AS vorname_vorsitz, vorsitzenderpers.nachname AS nachname_vorsitz, vorsitzenderpers.titelpre AS titelpre_vorsitz, vorsitzenderpers.titelpost AS titelpost_vorsitz,
erstprueferpers.vorname AS vorname_erstpruefer, erstprueferpers.nachname AS nachname_erstpruefer, erstprueferpers.titelpre AS titelpre_erstpruefer, erstprueferpers.titelpost AS titelpost_erstpruefer,
zweitprueferpers.vorname AS vorname_zweitpruefer, zweitprueferpers.nachname AS nachname_zweitpruefer, zweitprueferpers.titelpre AS titelpre_zweitpruefer, zweitprueferpers.titelpost AS titelpost_zweitpruefer
');
$this->addJoin('lehre.tbl_abschlusspruefung_antritt', 'pruefungsantritt_kurzbz', 'LEFT');
$this->addJoin('public.tbl_benutzer studentben', 'tbl_abschlusspruefung.student_uid = studentben.uid');
$this->addJoin('public.tbl_person studentpers', 'studentben.person_id = studentpers.person_id');
$this->addJoin('public.tbl_student', 'studentben.uid = tbl_student.student_uid');
$this->addJoin('public.tbl_benutzer vorsitzenderben', 'vorsitz = vorsitzenderben.uid', 'LEFT');
$this->addJoin('public.tbl_person vorsitzenderpers', 'vorsitzenderben.person_id = vorsitzenderpers.person_id', 'LEFT');
$this->addJoin('public.tbl_person erstprueferpers', 'pruefer1 = erstprueferpers.person_id', 'LEFT');
$this->addJoin('public.tbl_person zweitprueferpers', 'pruefer2 = zweitprueferpers.person_id', 'LEFT');
$abschlusspruefung = $this->load($abschlusspruefung_id);
if (isError($abschlusspruefung))
return $abschlusspruefung;
elseif (hasData($abschlusspruefung))
{
$abschlusspruefungdata = getData($abschlusspruefung)[0];
// get Studiengang of Student
$student_uid = $abschlusspruefungdata->uid_student;
$this->StudentModel->addSelect('prestudent_id');
$prestudent_id = $this->StudentModel->load(array('student_uid' => $student_uid));
if (isError($prestudent_id))
return $prestudent_id;
elseif (hasData($prestudent_id))
{
//get Studiengangname from Studienplan and -ordnung
$studienordnung = $this->PrestudentstatusModel->getStudienordnungFromPrestudent(getData($prestudent_id)[0]->prestudent_id);
if (isError($studienordnung))
return $studienordnung;
elseif (hasData($studienordnung))
{
$studienordnungdata = getData($studienordnung)[0];
$abschlusspruefungdata->studiengang_kz = $studienordnungdata->studiengang_kz;
$abschlusspruefungdata->studiengangbezeichnung = $studienordnungdata->studiengangbezeichnung;
$abschlusspruefungdata->studiengangbezeichnung_englisch = $studienordnungdata->studiengangbezeichnung_englisch;
$this->StudiengangModel->addSelect('typ');
$typ = $this->StudiengangModel->load($studienordnungdata->studiengang_kz);
if (isError($typ))
return $typ;
elseif (hasData($typ))
{
$abschlusspruefungdata->studiengangstyp = getData($typ)[0]->typ;
}
// get Abschlussarbeit
$projekttyp = array('Bachelor','Diplom','Master','Dissertation','Lizenziat','Magister');
$abschlussarbeit = $this->ProjektarbeitModel->getProjektarbeit($student_uid, $studienordnungdata->studiengang_kz, null, $projekttyp, true);
if (isError($abschlussarbeit))
return $abschlussarbeit;
if (hasData($abschlussarbeit))
{
$abschlussarbeit = getData($abschlussarbeit)[0];
$abschlusspruefungdata->projektarbeit_studiengangstyp_name = $abschlussarbeit->projekttyp_kurzbz;
$abschlusspruefungdata->abschlussarbeit_titel = $abschlussarbeit->titel;
$abschlusspruefungdata->abschlussarbeit_note = $abschlussarbeit->note;
}
}
}
}
return success($abschlusspruefungdata);
}
}
@@ -11,4 +11,62 @@ class Projektarbeit_model extends DB_Model
$this->dbTable = 'lehre.tbl_projektarbeit';
$this->pk = 'projektarbeit_id';
}
/**
* Gets Projektarbeit(en) of a student for a Studiengang, Semester, Projekttyp, final.
* @param $student_uid
* @param $studiengang_kz
* @param $studiensemester_kurzbz
* @param $projekttyp
* @param $final
* @return object
*/
public function getProjektarbeit($student_uid, $studiengang_kz = null, $studiensemester_kurzbz = null, $projekttyp = null, $final = null)
{
$qry = "SELECT
tbl_projektarbeit.* , tbl_projekttyp.bezeichnung
FROM
lehre.tbl_projektarbeit
JOIN
lehre.tbl_projekttyp USING (projekttyp_kurzbz), lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
WHERE
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_projektarbeit.student_uid = ?";
$params = array($student_uid);
if (isset($studiengang_kz))
{
$qry .= ' AND tbl_lehrveranstaltung.studiengang_kz=?';
$params[] = $studiengang_kz;
}
if (isset($studiensemester_kurzbz))
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz=?';
$params[] = $studiensemester_kurzbz;
}
if (isset($projekttyp))
{
if (is_array($projekttyp))
$qry .= ' AND tbl_projektarbeit.projekttyp_kurzbz IN ?';
else
$qry .= ' AND tbl_projektarbeit.projekttyp_kurzbz=?';
$params[] = $projekttyp;
}
if (isset($final))
{
$qry .= ' AND tbl_projektarbeit.final=?';
$params[] = $final;
}
$qry .= ' ORDER BY beginn DESC, projektarbeit_id DESC';
return $this->execQuery($qry, $params);
}
}
@@ -125,12 +125,12 @@ class Organisationseinheit_model extends DB_Model
public function getChilds($oe_kurzbz, $includeinactive = false)
{
$query = "
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz %s
)
SELECT oe_kurzbz
@@ -150,12 +150,12 @@ class Organisationseinheit_model extends DB_Model
public function getParents($oe_kurzbz, $includeinactive = false)
{
$query=
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz %s
)
SELECT oe_kurzbz
@@ -177,7 +177,7 @@ class Organisationseinheit_model extends DB_Model
{
$condition = '
oe_kurzbz = (
SELECT
SELECT
oe_parent_kurzbz
FROM
public.tbl_organisationseinheit
@@ -14,7 +14,7 @@ class Studienjahr_model extends DB_Model
}
/**
* Gets current Studienjahr, as determined by its start and enddate
* Gets current Studienjahr, as determined by start and enddate of current semester
* @return array|null
*/
public function getCurrStudienjahr()
-169
View File
@@ -1,169 +0,0 @@
<?php
class FAS_UDF_model extends DB_Model
{
// String values of booleans
const STRING_NULL = 'null';
const STRING_TRUE = 'true';
const STRING_FALSE = 'false';
const UDF_DROPDOWN_TYPE = 'dropdown';
const UDF_MULTIPLEDROPDOWN_TYPE = 'multipledropdown';
/**
* Methods to save data from FAS
*/
public function saveUDFs($udfs)
{
$result = error('No way man!');
$resultPerson = success('person');
$resultPrestudent = success('prestudent');
$person_id = null;
if (isset($udfs['person_id'])) $person_id = $udfs['person_id'];
unset($udfs['person_id']);
$prestudent_id = null;
if (isset($udfs['prestudent_id'])) $prestudent_id = $udfs['prestudent_id'];
unset($udfs['prestudent_id']);
$jsons = array();
//
if (isset($person_id))
{
// Load model Person_model
$this->load->model('person/Person_model', 'PersonModel');
$result = $this->load(array('public', 'tbl_person'));
if (isSuccess($result) && count($result->retval) == 1)
{
$jsons = json_decode($result->retval[0]->jsons);
}
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
$resultPerson = $this->PersonModel->update($person_id, $udfs);
}
//
if (isset($prestudent_id))
{
// Load model Prestudent_model
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$result = $this->load(array('public', 'tbl_prestudent'));
if (isSuccess($result) && count($result->retval) == 1)
{
$jsons = json_decode($result->retval[0]->jsons);
}
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
$resultPrestudent = $this->PrestudentModel->update($prestudent_id, $udfs);
}
if (isSuccess($resultPerson) && isSuccess($resultPrestudent))
{
$result = success(array($resultPerson->retval, $resultPrestudent->retval));
}
else if(isError($resultPerson))
{
$result = $resultPerson;
}
else if(isError($resultPrestudent))
{
$result = $resultPrestudent;
}
return $result;
}
/**
*
*/
private function _fillMissingChkboxUDF($udfs, $jsons)
{
$_fillMissingChkboxUDF = $udfs;
foreach($jsons as $udfDescription)
{
if ($udfDescription->{UDFLib::TYPE} == UDFLib::CHKBOX_TYPE)
{
if (!isset($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}]))
{
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
}
else
{
if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_FALSE)
{
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
}
else if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_TRUE)
{
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = true;
}
}
}
}
return $_fillMissingChkboxUDF;
}
/**
*
*/
private function _fillMissingDropdownUDF($udfs, $jsons)
{
$_fillMissingDropdownUDF = $udfs;
foreach($jsons as $udfDescription)
{
if ($udfDescription->{UDFLib::TYPE} == UDF_model::UDF_DROPDOWN_TYPE
|| $udfDescription->{UDFLib::TYPE} == UDF_model::UDF_MULTIPLEDROPDOWN_TYPE)
{
if (!isset($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}]))
{
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
}
else if($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_NULL)
{
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
}
}
}
return $_fillMissingDropdownUDF;
}
/**
*
*/
private function _fillMissingTextUDF($udfs, $jsons)
{
$_fillMissingTextUDF = $udfs;
foreach($jsons as $udfDescription)
{
if ($udfDescription->{UDFLib::TYPE} == 'textarea'
|| $udfDescription->{UDFLib::TYPE} == 'textfield')
{
if (!isset($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]))
{
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
}
else if(trim($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]) == '')
{
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
}
}
}
return $_fillMissingTextUDF;
}
}