Commit Graph

66 Commits

Author SHA1 Message Date
David Mudrák 47ea60fd3e MDL-61741 enrol_paypal: Prevent some edge-case false errors
While testing the plugin in various scenarios, I've noticed that there
are two situations which the current code does not handle quite well:

* Detecting for existing txn_id record was likely to throw "found more
  than one record" debugging message. Fixed by explicitly ignoring
  multiple records.
* The incoming IPN verification message does not always contain the
  recipient's email in the "business" field. When a payment has to be
  claimed manually at PayPal (e.g. as a result of currencies mismatch
  and other settings), the email is coming only in the "receiver_email"
  field. This led to PHP notice and caused the script to fail falsely.
2018-03-23 19:50:26 +01:00
David Mudrák a38da470af MDL-61741 enrol_paypal: Fix the IPN verification endpoint URL
IPN protocol spec has different URL for sending the verification
request. Better to have it fixed even if the existing value still
seems to work - to avoid unexpected surprise in the future.

Source: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNImplementation/#specs
2018-03-23 19:16:30 +01:00
David Mudrák d12cdcbd7d MDL-61392 enrol_paypal: Improve IPN input parameters checking 2018-03-14 08:53:44 +08:00
David Mudrák 39a5fbeb01 MDL-61392 enrol_paypal: Improve the IPN notifications handling
* Notify administrators once incoming IPN request is verified by PayPal.
* Fix the HTTP status as expected by the IPN protocol.
2018-03-14 08:53:44 +08:00
Andrew Nicols bc378b50ec Merge branch 'wip-MDL-44467-master' of git://github.com/abgreeve/moodle 2016-11-03 14:08:21 +08:00
Eric Merrill 880fc15bf0 MDL-47162 core_message: Updating all uses of messaging to add courseid 2016-10-31 14:13:13 -04:00
Simey Lameze 253ae23058 MDL-44467 core: always send email from noreplyaddress 2016-10-28 13:04:09 +08:00
Eric Merrill 0e8b51607b MDL-47162 core_message: Cleanup of messaging course ids code 2016-10-27 18:12:42 +02:00
Amanda Doughty cc350fd9c8 MDL-47162 core_message: Add course id to message eventdata 2016-10-27 18:11:27 +02:00
Eloy Lafuente (stronk7) 73b2a94c7f MDL-55405 enrol_paypal: Fix set_context() call
Note that setting the page context more than once is not ideal
but as far as system->course switches are allowed, this should
not hurt, while providing more accurate messages than keeping
system context.
2016-09-20 12:27:35 +02:00
Cameron Ball 4abbb4180b MDL-55405 enrol_paypal: Create utility class
Some helper functions were in the IPN file. They really should be
in their own utility class to facilitate better testing.
2016-09-20 12:38:31 +08:00
eWallah f07bbccb03 MDL-41531 enrol_paypal: Fix enrol errors due to non-ASCII characters 2016-01-11 10:48:47 +08:00
Zachary Durber 530debc078 MDL-48491 enrolments: Paypal enrolments send email as support user. 2015-01-22 13:42:08 +08:00
Eloy Lafuente (stronk7) 32a8bcc4a7 MDL-31410 paypal: fix problem on notifications
This commit fixes a PHP warning about using a
unititialised variable and also the problems when
notifications are enabled and there is not yet a
teacher in the course, defaulting to admin for student
notifications and preventing teacher notifications to happen.
2013-12-12 02:27:53 +01:00
Petr Škoda af549df9df MDL-31410 always send 200 in PayPal IPN response and hide all errors 2013-12-06 10:01:49 +08:00
Petr Škoda 2f1e464a88 MDL-40438 migrate all collatorlib:: and textlib:: uses 2013-08-06 21:04:35 +02:00
Petr Škoda ee4df06f12 MDL-38408 always validate PayPal dates and cost, improve float formatting 2013-05-25 22:47:28 +02:00
Petr Škoda 31ac2aef26 MDL-39386 fix phpdocs packages in enrol 2013-04-27 13:41:32 +02:00
Sam Hemelryk f44e7d0a77 Merge branch 'MDL-36357' of git://github.com/danpoltawski/moodle
Conflicts:
	user/view.php
2013-01-09 09:34:22 +13:00
Petr Škoda a552544370 MDL-31424 compare PayPal emails case-insensitively
Credit goes to Chris Follin, thanks!
2012-12-08 13:16:04 +01:00
Petr Škoda b7a9c85118 MDL-35456 use HTTP 1.1 for PayPal IPN 2012-12-08 11:58:05 +01:00
Dan Poltawski 0e35ba6ffc MDL-36357 cleanup - remove double semicolons 2012-11-15 09:51:26 +08:00
Tim Lock c3a0938e79 MDL-35092: Add proxy support to enrol/paypal IPN 2012-09-04 10:55:09 +08:00
Frederic Massart 55bcef2954 MDL-34461 Librairies: Replaced deprecated get_context_instance() 2012-07-23 17:42:05 +08:00
Petr Skoda f619fcdae1 MDL-31956 fix enrol string components
Credit goes to Mark Nelson
2012-03-10 13:01:19 +01:00
Aparup Banerjee d1e362405e Merge branch MDL-29186-master of git://github.com/samhemelryk/moodle
- resolved conflicts, minor whitespace and fixed quote.
- note: textlib_get_instance() is already deprecated
2011-09-13 16:06:21 +08:00
Sam Hemelryk 91d284c145 MDL-29186 multilang Reviewed the uses of course fullname and ensured things were being formatted consistently 2011-09-08 09:38:46 +12:00
Sam Hemelryk 8ebbb06adf MDL-29189 mutlilang Reviewed the uses of course shortname and ensured things are being formatted consistently 2011-09-08 09:30:27 +12:00
Petr Skoda 94b9c2e8da MDL-24321 switching to stdClass in /e*/ 2010-09-21 08:14:41 +00:00
Petr Skoda 37070863db MDL-24058 removed obsolete addslashes 2010-09-02 12:17:11 +00:00
Petr Skoda 24a625725a MDL-23502 php docs improvements and cleanup 2010-07-31 18:41:28 +00:00
Aaron Barnes 24df3e1a06 MDL-22788 upgrade enrol/paypal plugin to use enrolments
Patch by Eugene Venter
2010-07-19 04:22:07 +00:00
Petr Skoda df997f841f MDL-21782 reworked enrolment framework, the core infrastructure is in place, the basic plugins are all implemented; see the tracker issue for list of unfinished bits, expect more changes and improvements during the next week
AMOS START
    MOV [sendcoursewelcomemessage,core_admin],[sendcoursewelcomemessage,enrol_self]
    MOV [configsendcoursewelcomemessage,core_admin],[sendcoursewelcomemessage_desc,enrol_self]
    MOV [enrolstartdate,core],[enrolstartdate,enrol_self]
    MOV [enrolenddate,core],[enrolenddate,enrol_self]
    CPY [welcometocourse,core],[welcometocourse,enrol_self]
    CPY [welcometocoursetext,core],[welcometocoursetext,enrol_self]
    MOV [notenrollable,core],[notenrollable,core_enrol]
    MOV [enrolenddaterror,core],[enrolenddaterror,enrol_self]
    MOV [enrolmentkeyhint,core],[passwordinvalidhint,enrol_self]
    MOV [coursemanager,core_admin],[coursecontact,core_admin]
    MOV [configcoursemanager,core_admin],[coursecontact_desc,core_admin]
    MOV [enrolledincourserole,core],[enrolledincourserole,enrol_manual]
    MOV [enrolme,core],[enrolme,core_enrol]
    MOV [unenrol,core],[unenrol,core_enrol]
    MOV [unenrolme,core],[unenrolme,core_enrol]
    MOV [enrolmentnew,core],[enrolmentnew,core_enrol]
    MOV [enrolmentnewuser,core],[enrolmentnewuser,core_enrol]
    MOV [enrolments,core],[enrolments,core_enrol]
    MOV [enrolperiod,core],[enrolperiod,core_enrol]
    MOV [unenrolroleusers,core],[unenrolroleusers,core_enrol]
AMOS END
2010-06-21 15:30:49 +00:00
Petr Skoda 4454447d56 MDL-20700 whitespace terror returns 2009-12-16 22:14:17 +00:00
Petr Skoda 7c7d3afab5 MDL-20766 message_send() used intead of events, it will enable us to improve performance and solve db transactions issues independedntly from events, hopefully this will give us more options in future too because the events are designed specifically for communication "moodle-->external systems" 2009-11-07 10:27:57 +00:00
Petr Skoda 4317f92f3f MDL-20700 coding style cleanup - cvs keywords removed, closign php tag removed, trailing whitespace cleanup 2009-11-01 12:51:40 +00:00
samhemelryk 6e08d1f1af enrol MDL-19795 Upgraded deprecate function calls 2009-10-16 03:13:25 +00:00
moodler 8e605b760c paypal MDL-20322 Make sure the currency is set correctly. 2009-09-22 01:53:39 +00:00
skodak fc29e51b2d MDL-18293 removed obsoleted checking of return values from insert and update_record + unused strings cleanup 2009-06-13 18:34:43 +00:00
lfrodrigues 2044a2b26f MDL-10107 - Removed old email_to_user with we still arround and added default message processor for user,
adminuser and on messagelib
2008-08-02 00:04:29 +00:00
moodler 3b120e464f MDL-10107 - First check-in of Messaging 2.0 code from Luis Rodrigues, GSOC student.
This new messaging system replaces all the various email_to_user() calls.
They are now replaced by events triggers, and the messages are then
processed centrally according to user preferences and sent to one or more
processors (email, popup, jabber etc...)

This code is not finished yet, a lot of work still has to be done on the
interface.  However, the basic structure is there and should be working.
Luis and I will be reviewing and polishing this heavily in the next few weeks.
2008-07-24 08:38:03 +00:00
skodak 294ce9870f MDL-15189 magic quotes finally removed 2008-06-09 16:53:30 +00:00
skodak 50c5bef452 MDL-14679 towards enrol conversion 2008-06-02 21:02:52 +00:00
dongsheng 5a2a53316f MDL-14129, remove all the other error() call 2008-04-04 02:54:20 +00:00
skodak 128f098418 MDL-11640
* improved handling of dirty contexts in general - caching, switching in cron, marking, loading, etc.
* role_assing() and role_unassign() now marks dirty contexts because we use has_capability() in this function - we can not do it later outside to speedup bulk operations
* fixed some inline docs
* fixed notice from rs closing
* removed cached $CONTEXT from has_capability() - $context is now required parameter; this was hiding serious bugs when context did not exist or ppl passed false as parameter
* removed some ===, we can not use these on function parameters - we must support ints, strings, '', nulls, etc. - this could be a source of really dangerous bugs in future
* some other improvements and fixes - documented inline
2007-10-09 12:49:54 +00:00
martinlanghoff d32dd61154 enrol/paypal: mark the contextpath as dirty on unenrolment
so the unenrolment is effective immediately.
2007-09-19 07:12:22 +00:00
skodak 76317c73a2 MDL-10791 improve handling of localised floating point numbers in moodle; replaced/fixed some float_format() that were used instead of round(); expect some more patches soon 2007-08-10 15:00:35 +00:00
moodler 6ba65fa08d Merged Nicolas' changes from MDL-8582 into HEAD. 2007-02-28 06:25:22 +00:00
skodak 470accb7af use timeupdated field in paypal table MDL-7555 2006-11-14 21:29:57 +00:00
skodak 919da6579c MDL-7536 add proper slashing to data from paypal callback 2006-11-14 21:12:17 +00:00