query("SELECT count(*) Anz FROM quelle_verweise_cache WHERE erg_lid = $lid"); $row_cache = $result_te_cache->fetch_array(); ## Es ist wichtig, dass alle 3 Kategorien in den Cache geschrieben werden, da die Eintragungen dort maßgeblich sind, ## ob das Fenster Querverweise eingeblendet wird. ## Benutzt wird der Cache der Querverweise nur für Kategorie 3 da die WhereBedingungen mit REGEXP sonst zu lange dauern würden $result_qv = $db->query( "SELECT lid, txt_anz_buch, txt_buch, txt_kapitel, txt_vers, Ueberschrift, thema, unterthema, textstelle, replace(replace(replace(textstelle, ' aus ', ''), 'vgl',''), ' ','') textstelle2, botschaft, textwort, inhalt, zusammenfassung, kontext, DATE_Format(datum, '%d.%m.%Y') as datum, kid, ukid, DATE_Format(datum, '%d') tag, DATE_Format(datum, '%m') monat, DATE_Format(datum, '%Y') jahr, ukid, DATE_Format(datum, '%Y-%m-%d')AS datum_berechnung, stapgd FROM quelle WHERE lid='$lid'" ); $row_qv = $result_qv->fetch_array(); if(rore($user_admin,'a_erwaehnt','RE')){ $smarty->assign('verweise_right_otherlg', "1"); } $query2_qv = "SELECT lid, DATE_Format(datum, '%d') tag, DATE_Format(datum, '%m') monat, DATE_Format(datum, '%Y') jahr, DATE_Format(datum, '%Y%m%d') datum_format, kid, ukid FROM quelle WHERE replace(replace(replace(textstelle, ' aus ', ''), 'vgl',''), ' ', '') LIKE '$row_qv[textstelle2]' ORDER BY datum_format DESC"; $result_qv = $db->query( $query2_qv) or die ("Cannot execute query1"); $lid_verw = ""; // For each result that we got from the Database while ($row2_qv = $result_qv->fetch_array()){ $lid_verw .= "$row2_qv[lid],"; // LID merken, damit sie nicht bei "Siehe auch..." ausgegeben werden $wochentag = date("l", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); $result_gd = $db->query( "SELECT wgd FROM profil WHERE user = '$user_admin'" ); $row_gd = $result_gd->fetch_array(); if($wochentag == 'Wednesday' AND $row_gd['wgd'] != '0' AND ($row2_qv['ukid'] == '1')){ // Hintergrund kommt aus der wort_wahl.php. Es gibt einige Gottesdienste, die auf einen Mittwoch fallen (1. vom Monat) aber kein Tag addiert werden darf, daher: Wann muss ein Tag (faktor) addiert werden, generell, wenn Wochengottesdienst, wenn Faktor im Profil != 0 und wenn unterkategorie 1 (GD normal) ist. Bei allen anderen Gottesdiensten bleibt der Mittwoch erhalten. (Buß und Bettag ist Mittwoch, Erntedank bleibt auch am 1. des Monats) $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag']+$row_gd['wgd'],$row2_qv['jahr'])); }else{ $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); } if($row_qv['lid'] != $row2_qv['lid']){ // auf aktuelles Wort soll nicht verwiesen werden if($row_qv['textstelle'] != ''){ if($row_cache['Anz'] == 0){ $sql1 = $db->query( "INSERT INTO quelle_verweise_cache ( erg_lid, lid, tag, monat, jahr, datum_format, kid, ukid, art) VALUES ($lid, $row2_qv[lid], '$row2_qv[tag]', '$row2_qv[monat]', '$row2_qv[jahr]', '$row2_qv[datum_format]', $row2_qv[kid], $row2_qv[ukid], 'IGT')"); } if($row2_qv['kid'] == 1 AND $row2_qv['ukid'] == 37){ $gdbericht = "(GD-Bericht)"; }else{ $gdbericht = ""; } $row2_qv['link'] = "Wort vom $datum $gdbericht"; $value[] = $row2_qv; } } } // Assign this array to smarty... $smarty->assign('table_data', $value); // Inhaltsgleiche Textstellen: ..." Ende // " Textstellenenthaltungen:..." $lid_verw = substr($lid_verw, 0, -1); //letztes Komma entfernen $verse = explode("|", $row_qv['txt_vers']); $query2 = ""; for($i=0; $iquery( $query2) or die ("Cannot execute query2b"); while ($row2_qv = $result->fetch_array()){ $wochentag = date("l", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); $result_gd = $db->query("SELECT wgd FROM profil WHERE user = '$user_admin'"); $row_gd = $result_gd->fetch_array(); if($wochentag == 'Wednesday' AND $row_gd['wgd'] != '0' AND ($row2_qv['ukid'] == '1')){ // Hintergrund kommt aus der wort_wahl.php. Es gibt einige Gottesdienste, die auf einen Mittwoch fallen (1. vom Monat) aber kein Tag addiert werden darf, daher: Wann muss ein Tag (faktor) addiert werden, generell, wenn Wochengottesdienst, wenn Faktor im Profil != 0 und wenn unterkategorie 1 (GD normal) ist. Bei allen anderen Gottesdiensten bleibt der Mittwoch erhalten. (Buß und Bettag ist Mittwoch, Erntedank bleibt auch am 1. des Monats) $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag']+$row_gd['wgd'],$row2_qv['jahr'])); }else{ $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); } if($row_qv['lid'] != $row2_qv['lid']){ // auf aktuelles Wort soll nicht verwiesen werden if($row_qv['textstelle'] != ''){ if($row_cache['Anz'] == 0){ $sql1 = $db->query( "INSERT INTO quelle_verweise_cache ( erg_lid, lid, tag, monat, jahr, datum_format, kid, ukid, art) VALUES ($lid, $row2_qv[lid], '$row2_qv[tag]', '$row2_qv[monat]', '$row2_qv[jahr]', '$row2_qv[datum_format]', $row2_qv[kid], $row2_qv[ukid], 'TEN')"); } if($row2_qv['kid'] == 1 AND $row2_qv['ukid'] == 37){ $gdbericht = "(GD-Bericht)"; }else{ $gdbericht = ""; } $row2_qv['link'] = "Wort vom $datum $gdbericht"; $value1[] = $row2_qv; } } } } // Ende if query2 !="" $smarty->assign('table_data1', $value1); // "Textstellenenthaltungen ..." Ende // "Textworterwähnung..." if(rore($user_admin,'a_erwaehnt','RE')){ $verse = explode("|", $row_qv['txt_vers']); $query3 = ""; for($i=0; $i:]]'"; }else{ $query3 .= "or Inhalt REGEXP '[[:<:]]".$suche."[[:>:]]'"; } if($i==count($verse)-2){ $query3 .= ") AND LID NOT IN($lid_verw) ORDER BY datum_format DESC"; } } } #echo "$query3

"; if($row_cache['Anz'] > 0){ $result = $db->query("SELECT lid, tag, monat, jahr, datum_format, kid, ukid FROM quelle_verweise_cache WHERE erg_lid = $lid AND art = 'TER'"); $result2 = $db->query("SELECT lid, tag, monat, jahr, datum_format, kid, ukid FROM quelle_verweise_cache WHERE erg_lid = $lid AND art = 'TER'"); }else{ if($query3 != ''){ $result = $db->query($query3) or die ("Cannot execute query3"); $result2 = $db->query($query3) or die ("Cannot execute query4"); } } if($query3 != ''){ $row_vorh = $result2->fetch_array(); while ($row2_qv = $result->fetch_array()){ if($row_vorh['lid'] !=''){ $wochentag = date("l", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); $result_gd = $db->query("SELECT wgd FROM profil WHERE user = '$user_admin'"); $row_gd = $result_gd->fetch_array(); if($wochentag == 'Wednesday' AND $row_gd['wgd'] != '0' AND ($row2_qv['ukid'] == '1')){ // Hintergrund kommt aus der wort_wahl.php. Es gibt einige Gottesdienste, die auf einen Mittwoch fallen (1. vom Monat) aber kein Tag addiert werden darf, daher: Wann muss ein Tag (faktor) addiert werden, generell, wenn Wochengottesdienst, wenn Faktor im Profil != 0 und wenn unterkategorie 1 (GD normal) ist. Bei allen anderen Gottesdiensten bleibt der Mittwoch erhalten. (Buß und Bettag ist Mittwoch, Erntedank bleibt auch am 1. des Monats) $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag']+$row_gd['wgd'],$row2_qv['jahr'])); }else{ $datum = date("d.m.Y", mktime(0,0,0,$row2_qv['monat'],$row2_qv['tag'],$row2_qv['jahr'])); } if($row_qv['lid'] != $row2_qv['lid']){ // auf aktuelles Wort soll nicht verwiesen werden if($row_qv['textstelle'] != ''){ if($row_cache['Anz'] == 0){ $sql1 = $db->query( "INSERT INTO quelle_verweise_cache ( erg_lid, lid, tag, monat, jahr, datum_format, kid, ukid, art) VALUES ($lid, $row2_qv[lid], '$row2_qv[tag]', '$row2_qv[monat]', '$row2_qv[jahr]', '$row2_qv[datum_format]', $row2_qv[kid], $row2_qv[ukid], 'TER')"); } if($row2_qv['kid'] == 1 AND $row2_qv['ukid'] == 37){ $gdbericht = "(GD-Bericht)"; }else{ $gdbericht = ""; } $row2_qv['link'] = "Wort vom $datum $gdbericht"; $value2[] = $row2_qv; } } } $smarty->assign('table_data2', $value2); } //End if ein/ausblenden angezeigt werden muss // "Textworterwähnung ..." Ende } // if($query3 != ''){ } // Ende Rechteüberprüfung return $smarty->fetch("$template/$templatename"); } #$lid = 4272; #$user_admin = 'schwaral'; #$template = 'standard'; #echo verweise($lid, $user_admin, $template); ?>