Efire paypal-modul ohne efire account

Super. Danke für die Rückmeldung!

Kurzer Erfahrungsbericht:

Trotzdem ich mich genau an die Reihenfolge der Installationsanleitung gehalten hatte, ging natürlich danach erst einmal gar nichts mehr. Die gute alte Modulpfad/vendormetadata Problematik die man hat wenn man einen älteren Shop jahrelang updated ohne neu zu installieren. Im Klartext wurden z.B. die PayPal css Dateien im out/ Verzeichnis nicht gefunden.
Nachdem ich einige Zeit versucht hatte irgendwie die oxconfig=>aModulePaths Einträge zu fixen hatte ich die Nase voll und habe das einfach mit einem beherzten:

  ln -s oe/oepaypal/ oepaypal 

vorerst behoben. Zugegebener Maßen etwas unsauber.

Alles sah dann erstmal gut aus, PayPal Buttons alle am richtigen Platz, keine exceptions oder andere Fehler zu entdecken.

Aber, wenn man einen Button betätigte kam immer nur die Meldung:

URL to call is not valid.

Ok, tief durchatmen. IDE angeschmissen und “search in files” benutzt um Zeile 257 in oe/oepaypal/core/oepaypalcurl.php zu finden.


if ( false === filter_var( $sUrlToCall, FILTER_VALIDATE_URL ) ) {

Kurz gedebugt, aber die übergebene URL sah völlig valide aus (“https://api-3t.paypal.com/nvp”). Ich habe dann eine Testdatei mit folgendem Inhalt erstellt:


<?php
$var = array ("http://google.de/", "https://google.com", "http://forum.oxid-esales.com/", "http://www.php.net/manual/de/filter.filters.validate.php", "https://news.ycombinator.com/");
foreach ($var as $url) {
    echo "<li>URL: $url, result: ".var_export(  filter_var( $url, FILTER_VALIDATE_URL ), true). "</li>";
}
?>

mit folgendem Ergebnis:


URL: http://google.de/, result: 'http://google.de/'
URL: https://google.com, result: 'https://google.com'
URL: http://forum.oxid-esales.com/, result: false
URL: http://www.php.net/manual/de/filter.filters.validate.php, result: 'http://www.php.net/manual/de/filter.filters.validate.php'
URL: https://news.ycombinator.com/, result: 'https://news.ycombinator.com/'

Hat ein bischen gedauert, aber dann kam die Erleuchtung: http://stackoverflow.com/questions/10266794/filter-varurl-filter-validate-url-acting-weird-in-php-5-3-2


This is a known bug in PHP 5.3.2. It thinks URL's with dashes in them are invalid. See https://bugs.php.net/bug.php?id=51258. Your local PHP must be a different version where this bug is not present.

Also[B] Urls mit einem Bindestrich geben immer false zurück.[/B] D’oh.

Nachdem ich die entsprechende Stelle in der oepaypalcurl.php angepasst hatte, lief dann auch endlich alles so wie man es erwarten könnte.

Abgesehen von den durch Altlasten verursachten Problemen ist das ein wirklich gelungens Modul, ich freue mich das man das ganze jetzt auch ohne efire nutzen kann.

Vielleicht kann ich damit jemanden etwas Arbeit abnehmen.

Also, auf zu neuen Taten :wink:

andere frage: hat jemand das modul unter 4.7.3 im im einsatz? und falls ja: wie gemacht?

[QUOTE=domino;133575]und bei mir wills net. sobald es aktiviert wird, siehe shot:
deaktivieren: wieder ok…:([/QUOTE]
hab das selbe Problem gibts hierfür ne Lösung?
bei vs. 4.7.8

gibt es denn eine Meldung im exeption.log? Wenn ja, welche?

gibt’s natürlich. aber da ich null crack bin, kann ich damit nicht sooooooviel mit anfangen :(. sieht aus als ob der theme-switcher von mobile involviert ist. aber was genau?

Faulty component -->

oxSystemComponentException-oxException (time: 2013-10-23 16:11:33): [0]: Function ‘isPayPalActive’ does not exist or is not accessible! (oeThemeSwitcherViewConfig)

Stack Trace: #0 [internal function]: oxSuperCfg->__call(‘isPayPalActive’, Array)
#1 /var/www/vhosts/bild123.com/spritladen/tmp/smarty/6ce17c5b38a265468ca13889f6eed402^%%8A^8A4^8A41E036%%partners.tpl.php(17): oeThemeSwitcherViewConfig->isPayPalActive()
#2 /var/www/vhosts/bild123.com/spritladen/core/smarty/Smarty.class.php(1869): include(’/var/www/vhosts…’)
#3 /var/www/vhosts/bild123.com/spritladen/tmp/smarty/6ce17c5b38a265468ca13889f6eed402^%%F5^F5E^F5EE4DF7%%sidebar.tpl.php(45): Smarty->_smarty_include(Array)
#4 /var/www/vhosts/bild123.com/spritladen/core/smarty/Smarty.class.php(1869): include(’/var/www/vhosts…’)
#5 /var/www/vhosts/bild123.com/spritladen/tmp/smarty/6ce17c5b38a265468ca13889f6eed402^%%36^366^366ECF91%%page.tpl.php(30): Smarty->_smarty_include(Array)
#6 /var/www/vhosts/bild123.com/spritladen/core/smarty/Smarty.class.php(1869): include(’/var/www/vhosts…’)
#7 /var/www/vhosts/bild123.com/spritladen/tmp/smarty/6ce17c5b38a265468ca13889f6eed402^%%40^405^405277AF%%start.tpl.php(65): Smarty->_smarty_include(Array)
#8 /var/www/vhosts/bild123.com/spritladen/core/smarty/Smarty.class.php(1263): include(’/var/www/vhosts…’)
#9 /var/www/vhosts/bild123.com/spritladen/core/oxshopcontrol.php(528): Smarty->fetch(‘page/shop/start…’, ‘ox|0|0|0|0azure’)
#10 /var/www/vhosts/bild123.com/spritladen/core/oxshopcontrol.php(396): oxShopControl->_render(Object(oeThemeSwitcherStart))
#11 /var/www/vhosts/bild123.com/spritladen/core/oxshopcontrol.php(156): oxShopControl->_process(‘start’, NULL, NULL, NULL)
#12 /var/www/vhosts/bild123.com/spritladen/core/oxid.php(40): oxShopControl->start()
#13 /var/www/vhosts/bild123.com/spritladen/index.php(28): Oxid::run()
#14 {main}

Faulty component -->

[QUOTE=grasekamp;133920]
Also[B] Urls mit einem Bindestrich geben immer false zurück.[/B] D’oh.

Nachdem ich die entsprechende Stelle in der oepaypalcurl.php angepasst hatte, lief dann auch endlich alles so wie man es erwarten könnte.
[/QUOTE]

selbes Problem hier, Server wird wohl erst im März auf eine höhere PHP Version updaten.
Ich frag mich, warum hier überhaupt eine validierung durchgeführt wird, die an PayPal weitergereichte Url ist ja keine von aussen eingegebene, an sich sollte man sich doch den validierungsschritt sparen können?