Author Topic: Problem: SP7 und Anynews  (Read 1520 times)

Offline Hollol

  • Posts: 204
Problem: SP7 und Anynews
« on: August 26, 2016, 10:48:24 PM »
Hi,

in WB 2.8.3 + SP6 noch voll funktionsfähig, streikt Anynews mit SP7 wenn ich zwei Abrufe hintereinander setze.
(Ist technisch bedingt so notwendig).

Code:
Code: [Select]
echo "Überschrift 1";
displayNewsItems(
   $section_id = 118,
   $max_news_items = 5,
   $max_news_lenght = -1,
   $display_mode = 2,
   $lang_id = 'auto',
   $strip_tags = true,
   $allowed_tags = '<p><a><img>',
   $custom_placeholder = false,
   $sort_by = 1,
   $sort_order = 1,
   $not_older_than = 0
   );
echo "Überschrift 2";
 displayNewsItems(
   $section = 119,
   $max_news_items = 5,
   $max_news_lenght = -1,
   $display_mode = 2,
   $lang_id = 'auto',
   $strip_tags = true,
   $allowed_tags = '<p><a><img>',
   $custom_placeholder = false,
   $sort_by = 1,
   $sort_order = 1,
   $not_older_than = 0
   );

Ausgabe:

Quote
Überschrift 1
Headline 1-1
Headline 1-2
Headline 1-3
Headline 1-4
Headline 1-5

Überschrift 2
Headline 2-1
Headline 2-2
Headline 2-3
Headline 2-4
Headline 2-5

Im Frontend wird die Überschrift 2 noch angezeigt, dann bricht das Script ab.
Das Template wird nicht geladen und die Doplets werden nicht ausgeführt (nur der Code wird angezeigt).

Sehr ärgerlich, da ich eine Seite so nicht weiter als SP6 upgraden kann. Noch ärgerlicher, da die Seite seit Jahren und seit WB 2.8.1 mehrere hundert Besucher täglich hat.

Hat jemand eine Idee?

Ratlos.....

Hollol

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #1 on: August 27, 2016, 10:42:32 AM »
Berichtigung:

Heute hat es mir beim Test Überschrift 1 und Überschrift 2 mitsamt den Inhalten angezeigt.
Überschrift 3 war auch noch sichtbar, nur die Headlines danach nicht mehr. Template wurde nicht vollständig eingebunden und Droplets funktionierten auch wieder nicht (Output Filter ist richtig gesetzt).

Kann also evtl. auch an meinem schmalbrüstigen zehn Jahre alten Laptop liegen (2 GB RAM) oder an XAMPP mit falschen Einstellungen.
Ich teste nochmal am großen Desktop-PC.

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #2 on: August 27, 2016, 12:22:51 PM »
Aktueller Stand:

Hat sich in der Datenbankabfrage irgend etwas verändert?

  • Beim Erstaufruf der Seite dauert das Laden ewig.
  • Dann werden Überschrift 1 + Headlines und Überschrift 2 + Headlines angezeigt. Template unvollständig geladen. Droplets nur Code. Template-CSS wird geladen. ShowMenu2 Modul wird nicht geladen.
  • Aktualisiere ich die Seite, wird auf einmal Überschrift 3 + Headlines mit angezeigt. Rest wie 2.

Die Parallel-Installation mit SP6 funktioniert ohne Probleme.

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8390
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Problem: SP7 und Anynews
« Reply #3 on: August 27, 2016, 02:04:37 PM »
Hallo,

hier die Anleitung zum konfigurieren von Any-News. Anleitung bezieht sich zwar auf WBCE, funktioniert aber in WB genauso.

https://github.com/cwsoft/wbce-anynews#customize

Gruß
Matthias

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Problem: SP7 und Anynews
« Reply #4 on: August 27, 2016, 02:45:42 PM »
erst mal grundsätzlich: geize bitte nicht mit Information. Alles, was ich hier lese, ist für mich zwei-oder mehrdeutig und man kann beim Antworten eigentlich nur versuchen, zu erahnen, was gemeint ist.

Quote
Hat sich in der Datenbankabfrage irgend etwas verändert?
welche?
nur mal allgemein: Seit dem Umstieg auf Win10 im letztem Jahr habe ich auch Wartezeiten beim Start der ersten Seite. Liegt bei mir daran, das Xampp zusammen mit Win auf einer Platte liegt, die Projekte aber auf einer zweiten, anderen Festplatte. Rein von Geräusch her, fährt diese Platte erst hoch, wenn ich drauf zu greife. War mit WIN7 definitiv nicht so.
Nun ist das nicht unbedingt die Xampp-Standard-Konfiguration, wo der DocumentRoot auf der gleichen Platte liegt. Weiß ich also nicht, ob das für dich zutrifft.

Was deine Startseite betrifft, wäre es leicht zu testen, ob es an WB liegt oder eher am Inhalt. Mach dir eine unsichtbare Seite an erster Stelle des Seitenbaum, Typ Wysiwyg, kurzer Text, der dann deine Startseite ist.
Weiterhin eine einfache PHP-Datei, die du im WB-Root speicherst und über den lokalen Server aufrufst. Als Inhalt setze ich dort den Quellcode meiner WB-Seite als HTML-Code hinein. So verwendet sie keine Datenbankabfragen, Filter usw. Vergleiche ich die Ladezeiten, sollten nicht wirklich große Unterschiede zu spüren sein.
Natürlich muß man Ladezeiten von externen Quellen wie Google Fonts oder Grafiken vom Liveserver in beiden Fällen berücksichtigen.
Idealerweise auch mal die Internetverbindung kappen, dann weißt du, das er von Extern nichts mehr laden kann.
Ein lokales Projekt sollte auch lokal vollkommen eigenständig laufen können.

Quote
Dann werden Überschrift 1 + Headlines und Überschrift 2 + Headlines angezeigt. Template unvollständig geladen
Hört sich nach GoogleFonts an. Diese werden nämlich erst angezeigt, wenn alles fertig geladen ist. Zeit zum Laden: max 20 Sekunden, dann Abbruch - hat man keine Alternativschriften, bleibt der Bereich leer

Quote
Droplets nur Code.
setze ich voraus, das der Filter aktiviert ist, deutet das auf einen Scriptabbruch hin. Tritt der auf, wird der Ladevorgang unterbrochen und die Filter kommen garnicht zum arbeiten. Würde auch zum Rest deiner Beschreibung passen, das z.b. das Template unvollständig geladen wird.
Schau mal in die Datei var/logs/php-error.log, mit jedem Texteditor oder Browser zu öffnen. Hilfreich ist auch, die Fehlerausgabe in den WB-Optionen zu aktivieren (Erweiterte Optionen, eine Einstellung mit E_ALL)

zum Post vom 26-08-2016, 22:48:24
solche Mehrfach-Aufrufe sind kein Problem, ich verwende auf einer Seite gleich 6 davon, allerdings per Droplet.
Was mir auffällt und Probleme bereiten könnte, sind eher die Umlaute wie Ü in Überschrift. Ich kann jetzt von hier aus nicht sagen, ob das auch richtig nach UTF8 konvertiert wird, im Zweifel auf lokalem Test aber ruhig mal in Ue umwandeln, einfach, um es auszuschließen.

P.S.: solche Umlautprobleme haben in Einzelfällen schon zu Whitescreens geführt, sowohl Frontend wie auch Backend, meist Resultat einer mißglückten Umstellung von Latin auf UTF8

Solltest du weiterhin Probleme haben, schick mir dein SQL-Backup, entweder das der 2.8.1 oder das aktuelle von Xampp, dazu noch das Template. Sind Module umgebaut, dann die wohl auch noch, kann man sich aber später absprechen
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #5 on: August 27, 2016, 06:07:33 PM »
@ruebenwurzel: Besten Dank! Schaue ich mir an!

@jacobi22:

Hmm... ist immer schwierig mit den Informationen, welche es denn nun sein sollen. Ich will ja keine Romane schreiben sondern kurz und knackig die Probleme benennen. Ich teste ja mit zwei Seiten, die aus ein und denselben Dateien gespiegelt sind - einmal mit SP6 und einmal mit SP7.

Wie gesagt: unter SP6 läuft alles einwandfrei - auch in der Testumgebung unter XAMPP. Ich hab dort die Live-Seite runtergeladen und in eine Kopie-Installation davon das SP7 eingespielt.
Installation mit SP6 läuft
Installation mit SP7 bringt obige Probleme
Beide auf gleichem XAMPP auf gleicher Festplatte im gleichen htdocs-Ordner.

Datenbankabfrage:
Meinte ich allgemein und speziell AnyNews.

Win10:
Habe ich auch laufen, aber bisher noch keine Probleme gehabt. Wie gesagt, die SP6 funktioniert hier wunderbar.

Die Startseite und die Datenbank (und somit die Inhalte) sind in SP6 und SP7 jeweils die gleichen, nur eben als Kopie.
PHP-Version ist Live und im Test 5.6

Mit der SP7-Installation gehen alle anderen Seiten, die entweder "keine" oder nur "eine" AnyNews-Abfrage drin haben. Allerdings auch mit den langen Ladezeiten.
Dort funktioniert das Template und auch die Droplets. Nur der Coda-Slider wird nicht includiert (was unter SP6 geht).
=> Nur die Startseite mit den 5 AnyNews-Abfragen bleibt mal nach der 2. oder 3. Abfrage hängen (nicht in SP6).

Spaßeshalber habe ich jetzt mal in SP7 den Code-Block mit den 5 Abfragen auf Endtermin gestern gesetzt, sprich ausgeblendet.
=> Startseite funktioniert, aber eben ohne die Headlines aus den AnyNews-Abfragen.


Google-Fonts verwende ich nicht. Falls unwissentlich, dann in SP6 und SP7 gleichermaßen.
Grafiken ziehen sowohl die SP6-, als auch die SP7-Installation vereinzelt vom Liveserver.
Umlaute müssten dann auch in der SP6 Probleme verursachen.

Von daher liegt der Grund m.E. entweder in AnyNews (was ja unter SP6 läuft) oder irgendwelchen Abfragen zur Datenbank (was auch die längeren Ladezeiten erklären würde).

Droplets:
Sind aktiviert. In SP6 und SP7-Installation.
Wie gesagt, ohne die AnyNews-Abfragen wird das Template geladen


Hauptproblem erscheint mir das (auch wenn ich mich wiederhole :roll: :wink:):
Mit SP6 läuft AnyNews ohne Probleme.
Mit SP7 hängt es nach 2-3 Abfragen und bricht ab. (Nur Startseite mit den 5 Abfragen hintereinander! Und Coda-Slider wird nirgends geladen).

Beides gleiche Seite, gleiche Dateien, gleiche Konfiguration, gleiche Datenbank
- nur eben SP6 vom Liveserver heruntergeladen, Kopie erstellt, config.php angepasst und die Kopie mit SP7 geupgradet.

Falls noch Infos fehlen, bitte fragen. Ansonsten guck ich mal, dass ich evtl. ne Portfreigabe zum Zugriff auf die beiden Versionen einrichte.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Problem: SP7 und Anynews
« Reply #6 on: August 27, 2016, 06:30:18 PM »
Quote
Falls noch Infos fehlen, bitte fragen. Ansonsten guck ich mal, dass ich evtl. ne Portfreigabe zum Zugriff auf die beiden Versionen einrichte.

ich denk, das wird nicht nötig sein
vielleicht kannst du aber das verwendete Anynews mal zippen und hier anhängen. Mal schauen, wo da der Unterschied ist.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline cwsoft

  • Posts: 605
Re: Problem: SP7 und Anynews
« Reply #7 on: August 27, 2016, 07:22:21 PM »
Hier die Anleitung zum konfigurieren von Any-News. Anleitung bezieht sich zwar auf WBCE, funktioniert aber in WB genauso.
Oder einfach die letzte WB Version von Github verwenden  :-D
https://github.com/cwsoft/wbce-anynews/tree/v2.14.0

Gruss cwsoft

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #8 on: August 27, 2016, 08:03:04 PM »
Okay, da wir irgendwie nicht weiter kommen, ob sich von SP6 auf SP7 in der Hinsicht etwas geändert hat, probiere ich die neue Version von AnyNews aus.

Bei mir läuft momentan eine ältere Version, in die ich zusätzliche Filtermöglichkeiten eingebaut habe. Außerdem den Coda-Slider an das Responsive-Design angepasst. Von daher wird das mit dem Vergleichen wahrscheinlich schwierig. Nichtsdestotrotz läuft sie unter SP6 noch einwandfrei.

Wird mich allerdings in der neuen Version einige Zeit kosten, das einzubauen. So lange muss die Live-Page eben noch unter SP6 weiterlaufen.

Trotzdem Danke derweil für die Geduld und die Antworten  :wink:


Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Problem: SP7 und Anynews
« Reply #9 on: August 28, 2016, 01:18:06 AM »
Natürlich gibt es Änderungen, sonst braucht man keinen neuen SP.
Grundsätzlich funktioniert das Anynews sowohl in meiner erweiterten Version wie auch im oben verlinktem Original von CWSOFT auch unter SP7 und PHP 7.0.9. Am Weg, wo Anynews die Daten ran schafft, hat sich nichts geändert. Da würden auch zig User auf die Barrikaden gehen, wenn man hier plötzlich ein paar Datenbankfelder umbaut.

Was sich aber geändert hat, ist die Einbindung von CSS-Dateien im body-Tag. Ist seit Jahren nach W3C "verboten" und wird seit SP6 anfänglich und seit SP7 konsequent von den Filtern versucht, zu verhindern.
typische Beispiele findet man in den Templates der alten Foldergallery, so etwas hier:

Code: [Select]
<link rel="stylesheet" href="{WB_URL}/modules/foldergallery/scripts/galleryview/galleryview.css" type="text/css" media="screen" title="prettyPhoto main stylesheet" charset="utf-8" />
war früher mal gang und gebe, funktioniert jetzt nur noch, wenn man Loadonfly und CSS to Head Filter ausstellt und über die alten Methoden mit register_frontend_m odfiles('...');

In der verlinkten Version 2.14.0 findest du Beispiele, z.b. im Template "display_mode_4.htt", wie auf andere Dateien verlinkt werden muß.
Im Zweifel auch erstmal diese original Templates zur Ausgabe einstellen

Bei mir läuft aus dieser Version jedes mitgelieferte Template, siehe Bild unten. Unterschied ist wohl, das ich per Droplet aufrufe, während ich bei dir eine Funktion gesehen habe, Diese funktioniert bei mir grundsätzlich, gibt aber keine News zurück.

oben per Funktion, unten per Droplet


Quote from: Hollol
da wir irgendwie nicht weiter kommen
ich hatte dir angeboten, mir deine Version des Moduls zu schicken, wenn das aber die Antwort auf mein Angebot ist, steig ich hier gerne aus.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #10 on: August 28, 2016, 09:20:08 AM »
Quote from: jacobi22
Natürlich gibt es Änderungen, sonst braucht man keinen neuen SP.
Grundsätzlich funktioniert das Anynews sowohl in meiner erweiterten Version wie auch im oben verlinktem Original von CWSOFT auch unter SP7 und PHP 7.0.9. Am Weg, wo Anynews die Daten ran schafft, hat sich nichts geändert. Da würden auch zig User auf die Barrikaden gehen, wenn man hier plötzlich ein paar Datenbankfelder umbaut.

Danke. Das war es eigentlich, was ich wissen wollte.
Wie gesagt, nutze ich momentan noch eine ältere Version von AnyNews (auch auf die Gefahr hin, von Sicherheitslücken). Diese hat ja bis SP6 funktioniert.
Es könnte also sein, dass vielleicht auch durch Sicherheitsvorkehru ngen im Core irgendwelche Variablen oder Parameter unterdrückt werden. Von daher werde ich um die neue Version nicht herumkommen und diese entsprechend anpassen müssen.


Quote from: jacobi22
Was sich aber geändert hat, ist die Einbindung von CSS-Dateien im body-Tag. Ist seit Jahren nach W3C "verboten"... , ... funktioniert jetzt nur noch, wenn man Loadonfly und CSS to Head Filter ausstellt und über die alten Methoden mit register_frontend_m odfiles('...');

Okay. Das ist mir neu. Werde ich mal checken. Danke für den Hinweis.


Quote from: jacobi22
In der verlinkten Version 2.14.0 findest du Beispiele, z.b. im Template "display_mode_4.htt", wie auf andere Dateien verlinkt werden muß...

Bei mir läuft aus dieser Version jedes mitgelieferte Template, siehe Bild unten. Unterschied ist wohl, das ich per Droplet aufrufe, während ich bei dir eine Funktion gesehen habe, Diese funktioniert bei mir grundsätzlich, gibt aber keine News zurück.

Ja, ich habe gestern noch kurz angefangen zu vergleichen, wo die groben Unterschiede zwischen den Versionen liegen könnten. Werd mir auch die Templates noch anschauen.
Meine verwendete Version hat noch keine Droplets integriert. Dürfte aber kein Problem sein, da selber eines zu erstellen.


Quote from: jacobi22
Quote from: Hollol
da wir irgendwie nicht weiter kommen
ich hatte dir angeboten, mir deine Version des Moduls zu schicken, wenn das aber die Antwort auf mein Angebot ist, steig ich hier gerne aus.

Auf das Angebot komme ich gerne zurück, falls ich selber nicht weiterkomme. Nun weiß ich ja, dass sich an der Datenbankabfrage nichts geändert hat. Da hatte ich wegen mysql und mysqli Befürchtungen.

Nicht so dünnhäutig bitte, war ja nicht böse gemeint. Du hast ja jetzt eine wichtige Antwort mit der Datenbankabfrage gegeben. So weiß ich, dass ich an anderer Stelle suchen muss.
Vielleicht hätte ich gleich schreiben sollen, dass ich eine ältere Version verwende.

Mir ist es eben nur ein Rätsel, weshalb es in SP6 funktioniert und in SP7 auf einmal nicht mehr.

Nix für ungut
Hollol

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #11 on: August 29, 2016, 04:41:52 PM »
Fehler gefunden...


functions.inc.php (Anynews)
---------------------------------------------
 * Function to fetch news group titles from database
*/
function getNewsGroupTitles()
{
//   global $database;

   $table = TABLE_PREFIX . 'mod_topics';
   $sql = "SELECT `section_id`, `title` FROM `$table` WHERE `active` = '1'";

   // fetch data from the database
   $results = $database->query($sql);

/*   $news_groups = array();
   while ($results && $row = $results->fetch_row()) {
      $news_groups[$row['group_id']] = $row['title'];
   }

   return $news_groups;
*/

}
---------------------------------------------

Schuld war meine Anpassung von Anynews an das Modul Topics.
Da Topics keine "group_id" beinhaltet, konnte diese vom Script nicht geladen werden.

SP6 hat das wohl noch ignoriert
SP7 hat das Script abgebrochen

Nachdem ich den fettmarkierten Bereich auskommentiert habe, läuft alles wie gewohnt.
Anmerkung: group_id brauche ich nicht...

Nur zur Info und als Hinweis.

Grüße
Hollol

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Problem: SP7 und Anynews
« Reply #12 on: August 29, 2016, 05:22:27 PM »
warum wirft er dann keine Fehlermeldung??

mal geschaut in der Datei  var/logs/php-error.log
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #13 on: August 29, 2016, 07:23:58 PM »
warum wirft er dann keine Fehlermeldung??

mal geschaut in der Datei  var/logs/php-error.log

Durch die php_error.log bin ich erst drauf gekommen:

... eval "Undefined index: group_id"
... eval "Undefined index: title"

Zuerst hatte ich das gar nicht ernst genommen, da es nur eine E_NOTICE war.


Aber mal noch ne andere Frage.

Wieso funktioniert folgender Code?
Code: [Select]
$table = TABLE_PREFIX . 'mod_topics';
$sql = "SELECT $fields FROM `$table` AS t1 $join
WHERE `active` > '3'
AND $sql_section_id
AND (`published_when` = '0' OR `published_when` <= '$server_time')
AND (`published_until` = '0' OR `published_until` >= '$server_time')
AND $sql_not_older_than
$group
ORDER BY $sql_order_by $sql_sort_order
LIMIT $position_a, $max_news_items";

// fetch data from the database
$results = $database->query($sql);

$num_posts = $results->numRows();
echo "num_posts = $num_posts<br>";
Ergebnis $num_posts = 50


Und dieser hier nicht?
Code: [Select]
$table = TABLE_PREFIX . 'mod_topics';
$sql = "SELECT COUNT(*) FROM `$table` AS t1 $join
WHERE `active` > '3'
AND $sql_section_id
AND (`published_when` = '0' OR `published_when` <= '$server_time')
AND (`published_until` = '0' OR `published_until` >= '$server_time')
AND $sql_not_older_than
$group";
// fetch data from the database
$results = $database->query($sql);

$total_num_a = $results->numRows();
echo "total_num = $total_num_a<br>";
Ergebnis $total_num_a = 1 (immer - in jeder Rubrik/section_id)

Und zwar erst, seit ich die PHP-Version auf 5.6 umgestellt und SP6 installiert habe.

Früher unter 2.8.2 Edit: 2.8.3 +SP1 und älterer PHP-Version haben beide funktioniert.
Da war Ergebnis
Ergebnis $num_posts = 50 (wie oben)
$total_num_a = 1348

Ich kann aber zwischen beiden Codes keinen großen Unterschied erkennen und wunder mich, wieso der eine funktioniert und der andere auf einmal nicht mehr. (Betrifft auch Anynews - die php_error.log wirft jetzt allerdings keine Fehler mehr aus).
« Last Edit: August 29, 2016, 07:32:12 PM by Hollol »

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #14 on: August 29, 2016, 08:46:20 PM »
Schade... Editierzeit vorbei...

Bitte meine letzte Frage vergessen - oder Moderator bitte rauslöschen.

Offline Hollol

  • Posts: 204
Re: Problem: SP7 und Anynews
« Reply #15 on: August 29, 2016, 09:24:00 PM »
Lösung:

anstatt:
Quote
$sql = "SELECT COUNT(*) FROM `$table` AS t1 $join

dies hier:
Quote
$sql = "SELECT * FROM `$table` AS t1 $join

Jetzt passt die Variable wieder.
Darauf muss man auch erstmal kommen...  :-o :roll: