WebsiteBaker Community Forum

WebsiteBaker Support (2.8.x) => Hilfe & Support (deutsch) => General Help & Support => Module => Topic started by: DarkViper on August 19, 2014, 10:16:01 AM

Title: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
Post by: DarkViper 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:
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.
Title: cwsoft-addon-file-editor
Post by: DarkViper 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)) . "'";
Title: contactlist
Post by: dbs 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);
Title: Topics
Post by: fischstäbchenbrenner 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.
Title: Newsreader
Post by: instantflorian 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!

Title: Foldergallery 1.34beta
Post by: instantflorian 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. ;-)
Title: Smoothgallery Version 1.0.6
Post by: gerrit91 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);

Title: WebsiteBaker Statistics
Post by: instantflorian 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. ;-)
Title: MPForm Version 1.1.6
Post by: ICE 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 />";

Title: Foldergallery 1.34 Beta
Post by: jacobi22 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);
Title: Re: wie wende ich einen patch an
Post by: hgs 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
Title: mpform
Post by: Martin Hecht 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
Title: smoothgallery
Post by: Martin Hecht 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
Title: output_filter
Post by: Martin Hecht 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
Title: wysiwyg_admin
Post by: Martin Hecht 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
Title: ckeditor
Post by: Martin Hecht 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
Title: Fix 20141224
Post by: Martin Hecht 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'])) {
Title: Re: Fix 20141224
Post by: DarkViper 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
Title: Concert Calender
Post by: jacobi22 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']);
         }
Title: Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
Post by: evaki 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
Title: Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
Post by: Luisehahne 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
Title: Re: WB-2.8.3SP3 - Modulanpassungen an PHP-5.4/5.5
Post by: evaki 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