Opened 13 months ago

Last modified 4 weeks ago

#1805 reopened Aufgabe

Verwendung von strstr() mit strpos() ersetzen

Reported by: Tomcraft Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.6.1
Component: Shop Version: 2.0.5.0

Description

Es gibt diverse Stellen, die wir mit der schnelleren und weniger speicherintensiven Funktion strpos() anstelle von strstr() umbauen können.

Attachments (3)

changeset_13513.zip (127.0 KB) - added by Tomcraft 4 weeks ago.
changeset_13514.zip (4.6 KB) - added by Tomcraft 4 weeks ago.
strpos_templates.zip (79.3 KB) - added by Tomcraft 4 weeks ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 5 months ago by GTB

  • Milestone changed from modified-shop-2.0.7.0 to modified-shop-2.0.6.0

comment:2 Changed 5 months ago by GTB

  • Resolution set to fixed
  • Status changed from new to closed

In 13072:

partly fix #1805 - replaced function strstr() with strpos() where possible

comment:3 Changed 5 months ago by GTB

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:4 Changed 5 months ago by GTB

  • Resolution set to fixed
  • Status changed from reopened to closed

In 13078:

partly fix #1805 - update paypal - replaced function strstr() with strpos() where possible

comment:5 Changed 5 months ago by GTB

In 13079:

partly fix #1805 - update easycredit - replaced function strstr() with strpos() where possible

comment:6 Changed 5 months ago by GTB

In 13080:

partly fix #1805 - update billpay - replaced function strstr() with strpos() where possible

comment:7 Changed 5 months ago by Tomcraft

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:8 Changed 5 months ago by GTB

  • Resolution set to fixed
  • Status changed from reopened to closed

In 13082:

fix #1805 - replaced function strstr() with strpos() where possible in templates

comment:9 Changed 4 weeks ago by Tomcraft

  • Milestone changed from modified-shop-2.0.6.0 to modified-shop-2.0.6.1

comment:10 Changed 4 weeks ago by GTB

In 13513:

revised r13072 (partly fix #1805 - replaced function strstr() with strpos() where possible) - fix strpos usage

Changed 4 weeks ago by Tomcraft

comment:11 Changed 4 weeks ago by GTB

In 13514:

fix #2012 & revised r13072 (partly fix #1805 - replaced function strstr() with strpos() where possible) - fix strpos usage

Changed 4 weeks ago by Tomcraft

comment:12 Changed 4 weeks ago by Tomcraft

Karl hat sich die Mühe gemacht und die Ersetzungen in den Templates nochmal überprüft:

[...]
Die Templates sind nicht im changeset enthalten, deshalb habe ich meine Änderungsvorschläge mal angehängt.

Schwierigkeiten beim Durchsehen habe ich mit solchen Codestellen, wie z.B.
if (!strpos($sOrdersComment, 'ExtendedOrderID')) {
oder
if (strpos($key, 'customers_') === false
Man kann an vielen Stellen nicht genau nachvollziehen, ob es dem Programmierer klar war, dass der Rückgabewert "0" auch als "false" gewertet wird (im 2. Beispiel wird der Rückgabewert "0" bewusst als "false" verwendet).

Anders ist es meiner Ansicht nach aber in inc/xtc_php_mail.inc.php
$path_to_attachments[$i] = ((strpos($path_to_attachments[$i], DIR_FS_DOCUMENT_ROOT)===false) ? DIR_FS_DOCUMENT_ROOT:'') . trim($path_to_attachments[$i]);
Wenn hier ein Mailanhang beginnend mit dem absoluten Shoppfad ankommt, wird im nochmal der absolute Pfad vorangestellt - hier müsste man eher auf "=== 0" prüfen.

Leider kann ich nicht mehr liefern, da mir an so vielen Passagen im Code das "Know how" fehlt.
Mal [b]schnellb den Code von "strstr()" nach "strpos()" umzustellen ist bestimmt nicht leicht gewesen.
[...]

Quelle: modified eCommerce Shopsoftware 2.0.6.0 rev 13500 veröffentlicht

Vielleicht sollten wir in dem Zusammenhang wirklich alle zugehörigen Changesets nochmal unter die Lupe nehmen: r13072, r13078 (für PayPal? PLUS Module relevant!), r13079, r13080 & r13082

Nachtrag: Hier noch weitere Hinweise von noRiddle: modified eCommerce Shopsoftware 2.0.6.0 rev 13500 veröffentlicht

Last edited 4 weeks ago by Tomcraft (previous) (diff)

Changed 4 weeks ago by Tomcraft

comment:13 Changed 4 weeks ago by GTB

In 13539:

revised r13078 (partly fix #1805 - update paypal - replaced function strstr() with strpos() where possible) - fix strpos usage for paypal

comment:14 Changed 4 weeks ago by Tomcraft

  • Resolution fixed deleted
  • Status changed from closed to reopened

Add Comment

Modify Ticket

Action
as reopened
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.