Author Topic: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5  (Read 10397 times)

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3026
  • Gender: Female
WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
« on: August 19, 2014, 10:16:01 AM »
Der Core sowie die paar Basismodule, die derzeit im Grundpaket mitgeliefert werden wurden durch  2.8.3-SP3 an die neuen PHP-Versionen angepasst.
Es war vielleicht nicht allen klar, dass das selbstverständlich auch eine Anpassung aller Module an die neuen Versionen bedeutet.
Auch muss klar sein, dass angepasste Module in den meisten Fällen nicht mehr unter WB-Versionen vor 2.8.3-SP3 funktionieren werden! Also bitte die angepassten Module mit einer höheren Versionsnummer versehen und als Mindestvoraussetzun g WB-2.8.3-SP3 angeben.

Mit diesem Thread möchte ich die Möglichkeit bieten, alle Änderungen, die an Modulen erforderlich sind, zentral zu posten.
Hier bitte KEINERLEI Diskussionen, sondern ausschließlich Angaben über zu ändernden Code!

Zu jedem Hinweis gehören grundsätzlich folgende Angaben:
  • Name des Moduls
  • Version der Moduls
  • Name der Datei, in der die Änderung erfolgen muss
  • Zeilennummer der Änderung
  • Der Code der ursprünglichen Zeile
  • Der Code der geänderten Zeile
Jede zu ändernde Datei sollte innerhalb des jeweiligen Posts getrennt aufgeführt werden, damit die Liste übersichtlich bleibt und bei Bedarf sauber der Reihe nach abgearbeitet werden kann.

Hinweis: Diese Liste entbindet die Programmierer von Modulen selbstverständlich nicht von ihrer Verantwortung, ihren Code anzupassen und die Downloadpakete ihre Module zu aktualisieren!

Manuela

PS: nicht wundern, wenn ich gelegentlich einen Post editiere. Ist i.d.R. meist nur optische etc. Anpassung.
« Last Edit: December 26, 2014, 10:49:48 AM by DarkViper »
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3026
  • Gender: Female
cwsoft-addon-file-editor
« Reply #1 on: August 19, 2014, 10:35:44 AM »
Ich setze gleich mal eine erste Korrektur als Beispiel hier ein.  Bitte den Modulnamen auch als Betreff des Postes eintragen, damit die Posts leichter gefunden werden können! Manu
PS: danke an instantflorian für den Hinweis


cwsoft-addon-file-editor                                  Erledigt, da neue Version veröffentlicht!
Version 2.7.2
cwsoftAddonFileEditor/code/functions.php
Zeile 515

Code: [Select]
<?php
// urspruenglich:
$sql "SELECT * FROM `$table` WHERE `directory` = '" . @mysql_real_escape_string(strip_tags($addon_id_dir)) . "'";
// aendern auf:
$sql "SELECT * FROM `$table` WHERE `directory` = '" $database->escapeString(strip_tags($addon_id_dir)) . "'";
« Last Edit: December 26, 2014, 03:23:12 AM by DarkViper »
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline dbs

  • Betatester
  • **
  • Posts: 8039
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
contactlist
« Reply #2 on: August 19, 2014, 11:42:57 AM »
Contactlist
Version 1.0
contactlist/view.php
Zeile 74

Code: [Select]
<?php // original
$group  mysql_real_escape_string($group);
$alpha  mysql_real_escape_string($alpha);
$detail mysql_real_escape_string($detail);

     
// angepasst
$group  $database->escapeString($group);
$alpha  $database->escapeString($alpha);
$detail $database->escapeString($detail);
« Last Edit: August 19, 2014, 12:48:10 PM by DarkViper »

fischstäbchenbrenner

  • Guest
Topics
« Reply #3 on: August 19, 2014, 12:28:55 PM »
Topics
alle neueren Versionen:
topics/modify_topic.php
Zeile 550

Code: [Select]
<?php
//Falsch:
while (false !== ($comment $query_comments->fetchRow())) {

//Richtig:
while (($comment $query_comments->fetchRow())) {
Der Fehler tritt nur auf, wenn eine Seite bereits Kommentare hat.
« Last Edit: November 15, 2014, 11:35:36 PM by DarkViper »

instantflorian

  • Guest
Newsreader
« Reply #4 on: August 22, 2014, 08:20:01 AM »
Version 0.1.8

functions.php

Zeile 94ff.
Code: [Select]
<?php
 
//falsch:
$nf['last_update'] = time();
$sqlquery 'UPDATE ' TABLE_PREFIX 'mod_newsreader
SET last_update = "' 
$nf['last_update'] . '", content = "' mysql_real_escape_string($nf['content']) . '",
ch_title = "' 
mysql_real_escape_string($nf['ch_title']) . '", ch_link = "' mysql_real_escape_string($nf['ch_link']) . '",
ch_desc = "' 
mysql_real_escape_string($nf['ch_desc']) . '",
img_title = "' 
mysql_real_escape_string($nf['img_title']) . '", img_uri = "' mysql_real_escape_string($nf['img_uri']) . '",
img_link = "' 
mysql_real_escape_string($nf['img_link']) . '"
WHERE section_id = "' 
$section_id '"';
mysql_query($sqlquery);

//richtig:
global $database;
$nf['last_update'] = time();
$sql 'UPDATE ' TABLE_PREFIX 'mod_newsreader
SET last_update = "' 
$nf['last_update'] . '", content = "' $database->escapeString($nf['content']) . '",
ch_title = "' 
$database->escapeString($nf['ch_title']) . '", ch_link = "' $database->escapeString($nf['ch_link']) . '",
ch_desc = "' 
$database->escapeString($nf['ch_desc']) . '",
img_title = "' 
$database->escapeString($nf['img_title']) . '", img_uri = "' $database->escapeString($nf['img_uri']) . '",
img_link = "' 
$database->escapeString($nf['img_link']) . '"
WHERE section_id = "' 
$section_id '"';
$database->query($sql);
return 
$nf;

Wichtig: nicht nur mysqlusw. ersetzen, sondern auch global $database davor ergänzen!

« Last Edit: November 14, 2014, 01:13:53 AM by DarkViper »

instantflorian

  • Guest
Foldergallery 1.34beta
« Reply #5 on: August 30, 2014, 08:32:11 AM »
Quick&dirty:

modify.php
Code: [Select]
<?php
//Zeile 46+47 falsch:
$oldMysqlEncoding mysql_client_encoding();
mysql_set_charset('utf8'$database->db_handle);

//Zeile 46+47 gefixt:
$oldMysqlEncoding mysqli_character_set_name($database->db_handle);
mysqli_set_charset($database->db_handle'utf8');

view.php
Code: [Select]
<?php
//Zeile 30+31 falsch:
$oldMysqlEncoding mysql_client_encoding();
mysql_set_charset('utf8'$database->db_handle);

//Zeile 30+31 gefixt:
$oldMysqlEncoding mysqli_character_set_name($database->db_handle);
mysqli_set_charset($database->db_handle'utf8');

//Zeile 420 falsch:
mysql_set_charset($oldMysqlEncoding$database->db_handle);

//Zeile 420 gefixt:
mysqli_set_charset($database->db_handle$oldMysqlEncoding);


Edit sagt: Manuela hat auf Wunsch bisserl korrigiert. ;-)
« Last Edit: September 05, 2014, 11:02:08 AM by DarkViper »

Offline gerrit91

  • Posts: 25
Smoothgallery Version 1.0.6
« Reply #6 on: September 27, 2014, 06:18:08 PM »
Modul smoothgallery
Version 1.0.6
Änderungen in save.php

Code: [Select]
<?php

//alt
/* 77 */ 
foreach($names as $item) if ($item != "options"$_POST[$item] = mysql_real_escape_string($_POST[$item]);
/* 90 */ $options array_map("mysql_real_escape_string"$options);

//neu
/* 77 */ 
foreach($names as $item) if ($item != "options"$_POST[$item] =$database->escapeString($_POST[$item]);
/* 90 */ $options array_map(array($database'escapeString'), $options);

« Last Edit: November 15, 2014, 11:57:26 PM by DarkViper »

instantflorian

  • Guest
WebsiteBaker Statistics
« Reply #7 on: October 17, 2014, 12:22:13 PM »
Modul WB Statistics
Version 0.17
Änderungen in class.count.php

Code: [Select]
<?php 
// Zeile 97ff falsch:
if($this->page <> "") {
if (!$id $database->get_one("SELECT `id` from ".$table_pages." WHERE `page`='".$this->page."' AND `day`='".$this->day."'")) {
mysql_query("INSERT INTO ".$table_pages." (`day`, `page`, `view`) VALUES ('".$this->day."', '".$this->page."', '1')");
} else { 
mysql_query("UPDATE ".$table_pages." SET `view`=`view`+1 WHERE id='$id'");
}
}
}

// Zeile 97ff gefixt:
if ($this->page) {
    
$sql 'SELECT `id` FROM `'.$table_pages.'` '
         
'WHERE `page`=\''.$this->page.'\' AND `day`=\''.$this->day.'\'';
    if (!(
$id $database->get_one($sql))) {
        
$sql 'INSERT INTO `'.$table_pages.'` '
             
'SET `day`=\''.$database->escapeString($this->day).'\' '
             
.     '`page`=\''.$database->escapeString($this->page).'\' '
             
.     '`view`=1';
    } else {
        
$sql 'UPDATE `'.$table_pages.'` '
             
'SET `view`=`view`+1 '
             
'WHERE `id`='.$id;
        
$database->query($sql);
    }
}

Edit sagt: nur optisch etwas aufgepeppt. ;-)
Edit sagt: typofehler und vergessener else-zweig korrigiert. ;-)
« Last Edit: December 17, 2014, 01:53:03 AM by DarkViper »

Offline ICE

  • Posts: 18
MPForm Version 1.1.6
« Reply #8 on: October 27, 2014, 09:55:16 PM »
MPForm
Version 1.1.6
Änderungen in /wb/modules/mpform/evalform.php

Code: [Select]
<?php

//alt
/* 404 */ 
$felder .= "field" $field_id " = '" mysql_real_escape_string(htmlspecialchars($post_field)) . "'";
/* 417 */ $felder .= mysql_real_escape_string($field_value) . ", ";
/* 418 */ $zeilen .= mysql_real_escape_string($field_value) . "<br />";

//neu
/* 404 */ 
$felder .= "field" $field_id " = '" mysql_real_escape_string(htmlspecialchars($post_field)) . "'";
/* 417 */ $felder .= $database->escapeString($field_value) . ", ";
/* 418 */ $zeilen .= $database->escapeString($field_value) . "<br />";

« Last Edit: November 15, 2014, 11:51:02 PM by DarkViper »

Offline jacobi22

  • Posts: 5879
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Foldergallery 1.34 Beta
« Reply #9 on: December 20, 2014, 05:24:49 PM »
Foldergallery 1.34 beta
ergänzend zum Post #5 hier die komplette Liste zum Auskommentieren bzw Entfernen. Ich empfehle, die betreffenden Zeilen lediglich auszukommentieren, um das Verschieben des Codes zu vermeiden


modify.php
Zeile 46 + 47
view.php
Zeile 30 + 31
admin/modify_cat.php
Zeile 37 + 38
admin/modify_cat_sort.php
Zeile 34 + 35
admin/modify_thumb.php
Zeile 20 + 21
admin/save_settings.php
Zeile 37 + 38
admin/sync.php
Zeile 43 + 44
admin/scripts/delete_img.php
Zeile 37 + 38
admin/scripts/upload.php
Zeile 58 + 59

betreffender Code (hier duch Voranstellen einer Raute auskommentiert)
Code: [Select]
#$oldMysqlEncoding = mysql_client_encoding();
#mysql_set_charset('utf8',$database->db_handle);


modify.php
Zeile 138
view.php
Zeile 420
admin/modify_cat.php
Zeile 190
admin/modify_cat_sort.php
Zeile 131
admin/modify_thumb.php
Zeile 110
admin/save_settings.php
Zeile 190
admin/sync.php
Zeile 192
admin/scripts/delete_img.php
Zeile 190

betreffender Code (hier duch Voranstellen einer Raute auskommentiert)
Code: [Select]
#mysql_set_charset($oldMysqlEncoding, $database->db_handle);
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline hgs

  • Betatester
  • **
  • Posts: 1119
    • EFG MG
Re: wie wende ich einen patch an
« Reply #10 on: December 24, 2014, 07:20:20 AM »

Vielen Dank lieber Martin für die Modulpflege.
Da ich als DAU und "nur Anwender" von WB mit deiner Methode überfordert bis, danke ich dir für dein Angebot.

PS: Wenn ihr es lieber als Text direkt im Post direkt haben wollt, kann ich das auch nochmal neu einstellen, vielleicht dann in einem anderen Thread, wo es vielleicht weniger Aufregung verursacht?

Für die "profis" hat Ruud m.E. einen guten Vorschlag gemacht.
@Manu
Bitte nicht löschen, sondern in diesen neuen verschieben. :wink:
@all
Eine gesegnet Weihnachtszeit und ein erfolgreiche friedliches Anno 2015
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
mpform
« Reply #11 on: December 26, 2014, 12:51:59 AM »
mpform  
Version 1.1.5
Code: [Select]
<?php
// in Datei modules/mpform/evalform.php
// Zeile 404 alt:
                                               
$felder .= "field" $field_id " = '" mysql_real_escape_string(htmlspecialchars($post_field)) . "'";
// 404 neu (unterscheidet sich von ICEs Post):
                                               
$felder .= "field" $field_id " = '" $database->escapeString(htmlspecialchars($post_field)) . "'";
// 417-418 alt:
                                                       
$felder .= mysql_real_escape_string($field_value) . ", ";
                                                       
$zeilen .= mysql_real_escape_string($field_value) . "<br />";
// 417-418 neu:
                                                       
$felder .= $database->escapeString($field_value) . ", ";
                                                       
$zeilen .= $database->escapeString($field_value) . "<br />";

Im Anhang das ganze nochmal als patch-File

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
smoothgallery
« Reply #12 on: December 26, 2014, 01:02:41 AM »
smoothgallery
Version 1.0.6.0_beta

Code: [Select]
<?php 
// in modules/smoothgallery/save.php
// Zeile 77 alt:
       
foreach($names as $item) if ($item != "options"$_POST[$item] = mysql_real_escape_string($_POST[$item]);
// Zeile 77 neu:
       
foreach($names as $item) if ($item != "options"$_POST[$item] = $database->escapeString($_POST[$item]);

// Zeile 90 alt:
       
$options array_map("mysql_real_escape_string"$options);
// Zeile 90 habe ich wie folgt umgeschrieben:
       
foreach ($options as $key=>$val) { $options[$key] = $database->escapeString($val); }

// 2. Methode für Zeile 90 neu:
       
$options array_map(array('database''escapeString'), $options);


im Anhang das ganze nochmal als Patch-file
« Last Edit: December 26, 2014, 03:30:33 AM by DarkViper »

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
output_filter
« Reply #13 on: December 26, 2014, 01:10:24 AM »
Core-Modul output_filter

Code: [Select]
<?php
// in modules/output_filter/filters/filterRelUrl.php
//  Zeile 16 alt:
                                       
'$p = (isset($a[\'path\']) ? $a[\'path\'] : \'\'); '.
// neu:
                                       
'$p = str_replace("//", "/", (isset($a[\'path\']) ? $a[\'path\'] : \'\')); '.
// Zeile 20 alt:
                                       
'$retval = $matches[1]."/".(isset($p) ? ltrim(str_replace("//", "/", $p), "/") : "").$matches[3]; '.
// neu:
                                       
'$retval = $matches[1]."/".(isset($p) ? ltrim($p,"/") : "").$matches[3]; '.

Edit: Da Core-Bereich, steht das im neuesten Fix-File (20141224) im Downloadbereich der HP zur Verfügung (Manuela)

im Anhang wieder als Patch-File
« Last Edit: December 26, 2014, 03:36:04 AM by DarkViper »

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
wysiwyg_admin
« Reply #14 on: December 26, 2014, 01:16:02 AM »
wysiwyg_admin
Version 0.1.9.3_beta
Code: [Select]
<?php
// in modules/wysiwyg_admin/tool.php
// Zeile 41 alt:
                       
$_POST array_map("mysql_real_escape_string",$_POST);
// Zeile 41 neu:
                       
foreach($_POST as $key=>$val){ $_POST[$key]=$database->escapeString($val); };

im Anhang wieder ein Patch-File

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
ckeditor
« Reply #15 on: December 26, 2014, 01:38:42 AM »
ckeditor
Version 4.4.3
Code: [Select]
<?php
// in modules/ckeditor/ckeditor/plugins/wbdroplets/droplets.php 
// ab Zeile 37 neu: 
               
if(isset($database)&&method_exists($database,"escapeString"))
               {
                       return 
preg_replace("/\r?\n/""\\n"$database->escapeString($string));
               } else {
// vor dieser Zeile einfuegen:
                
if (is_object($database->db_handle) && (get_class($database->db_handle) === 'mysqli'))
                        return 
preg_replace("/\r?\n/""\\n"mysqli_real_escape_string($database->db_handle$string));
                else
                        return 
preg_replace("/\r?\n/""\\n"mysql_real_escape_string($string));
// und eine weitere schliessende Klammer neu einfuegen:
               
// end of if method_exists
// vor folgender Zeile:
        
// end function cleanup

// in modules/ckeditor/ckeditor/plugins/wblink/pages.php ab Zeile 41 die gleichen Aenderungen nochmal
im Anhang wieder das Patch-File

@Manu: ich konnte die Posts leider nicht mehr editieren, aber ich hab jetzt einfach alles nochmal eingestellt, diesmal mit den Änderungen nicht nur als Patch sondern zusätzlich direkt im Post. Kannst du meine alten Beiträge vom 23.12. bitte wieder löschen? Den vom 24.12. mit den Erklärungen, was es mit Patches auf sich hat, kannst ja vielleicht stehen lassen.

Ach ja, und euch allen auch noch schöne Weihnachten! Einen Feiertag haben wir ja noch vor uns.

viele Grüße,
Martin

Offline Martin Hecht

  • Betatester
  • **
  • Posts: 586
  • Gender: Male
    • meine Homepage
Fix 20141224
« Reply #16 on: December 27, 2014, 07:46:57 PM »
output_filter


Edit: Da Core-Bereich, steht das im neuesten Fix-File (20141224) im Downloadbereich der HP zur Verfügung (Manuela)


Hi Manuela,

in diesem Fix-File hat sich in deiner neuen Version des Rel-Url-Filters wohl ein kleiner Fehler eingeschlichen:

Code: [Select]
<?php

// in modules/output_filter/filters/filterRelUrl.php
// Zeile 18 alt:
                        
isset($a['path']) {
// Zeile 18 neu:
                        
if (isset($a['path'])) {

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3026
  • Gender: Female
Re: Fix 20141224
« Reply #17 on: December 27, 2014, 09:00:17 PM »
in diesem Fix-File hat sich in deiner neuen Version des Rel-Url-Filters wohl ein kleiner Fehler eingeschlichen:

könnte man so sagen...  ich hatte die Korrektur schon eingebaut...  und dann das falsche File in den ZIP-Bereich geschoben :roll:
Wird korrigiert, wenn ich wieder an meinem Arbeitsrechner bin..
Manuela
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline jacobi22

  • Posts: 5879
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Concert Calender
« Reply #18 on: February 06, 2015, 01:29:58 PM »
(beim Kopieren eines vorhandenen Konzerttermins)

modules / concert / add_concert.php  // Zeile 44

ersetze diese Zeile

Code: [Select]
$newdate = mysql_real_escape_string($_GET['newdate']);

durch das hier

Code: [Select]
if (is_object($database->db_handle) && (get_class($database->db_handle) === 'mysqli')){
         $newdate = $database->escapeString($_GET['newdate']);
         }else{
         $newdate = mysql_real_escape_string($_GET['newdate']);
         }
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline evaki

  • Posts: 2756
Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
« Reply #19 on: October 05, 2015, 02:19:06 PM »
expcounter Installation für WB283SP4
===============================================
Änderungen

install/install.php
20: error_reporting(E_ALL);
21: //set_magic_quotes_runtime(0);
22: ini_set("magic_quotes_runtim e", 0);

In ALLEN Dateien muß
TYPE=MyISAM durch ENGINE=MyISAM  ersetzt werden
(läßt sich mit Tools wie "Search and Replace" (rekursiv) machen)
===================================================
Rückmeldungen erwünscht
MfG. Evaki

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4379
  • Gender: Male
    • Webdesign und Entwicklung WebsiteBaker
Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
« Reply #20 on: October 05, 2015, 10:49:59 PM »
Quote
expcounter Installation für WB283SP4

Ich rate dringend davon ab, Die Entwicklung wurde eingestellt. Den Author und Webspace gibt es wohl auch nicht mehr

Dietmar
Immer nur von der Zukunft reden, die Gegenwart vergessen und auf die Vergangenheit schimpfen
Neues Unwort: Schnappatmung

Offline evaki

  • Posts: 2756
Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
« Reply #21 on: October 06, 2015, 09:45:33 AM »
Wenn ein PHP-Update für die bestehende Website ansteht, interessiert nur, daß das Modul weiterläuft. Wenn einige meiner/unserer Anwender alle betroffenen Module entfernen würden, wäre das CMS für diese Anwender schon länger nicht mehr zu gebrauchen.
MfG. Evaki