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;
	}