Wrap text
Report abuse
|
|
/*
* einen datenbank eintrag abfragen und mit dem overlay
* überschreiben
*/
public function getRowOL( $tabelle, $uid, $sys_lang_uid = 0)
{
/* original sprache der referenz abfragen */
$originalLangResult = $this->db->exec_SELECTgetRows("*", "$tabelle",
"$tabelle.uid = $uid and $tabelle.sys_language_uid = 0");
if( $originalLangResult && count( $originalLangResult ) ){
$originalLang = $originalLangResult[0];
}else{
return null;
}
/* wenn nicht originalsprache */
if( $sys_lang_uid > 0 ){
/* language overlay abfragen */
$OL = $this->db->exec_SELECTgetRows("*", "$tabelle",
"$tabelle.l18n_parent = $uid and $tabelle.sys_language_uid = $sys_lang_uid");
/* wenn ein language overlay eintrag existiert */
if( $OL && count( $OL ) ){
/* alle spalten, die nicht leer sind und nicht im
$nonOLFields array sind mit overlay überschreiben */
foreach( $OL[0] as $refOLFieldKey => $refOLFieldValue ){
$noOLFields = array("uid", "pid");
if( !empty($refOLFieldValue ) && !in_array($refOLFieldKey,$noOLFields) ){
$originalLang[$refOLFieldKey] = $refOLFieldValue;
}
}
}
}
return $originalLang;
}
|