dualcube / moowoodle Goto Github PK
View Code? Open in Web Editor NEWThe MooWoodle plugin is an extention of WooCommerce that acts as a bridge between WordPress/Woocommerce and Moodle.
The MooWoodle plugin is an extention of WooCommerce that acts as a bridge between WordPress/Woocommerce and Moodle.
Hi,
I'm running Moodle 3.7.1+ (Build: 20190725) and when I upload de zip (directly downloaded from this page) first I get the error that Moodle can't detect what type of plugin it is. I have to select the type from a dropdown, so I chose "Module (mod)".
After that it starts to install, but I get an error:
Validating mod_moowoodle ... Error
[Error] File version.php not found [null]
Instalation aborted due to a validation error
I've been looking and no one seems to have this problem, I guess I'm doing something wrong.
when I do a purchase on my website it sends the email with the login data to moodle but when I click on the link it pushes the admin configuration
Moodle 3.9.2
Wordpress 5.5.1
Please officially update or mark it compatible
I've also told this at the facebook community, but dualcube wants to sell pure trash.
the documentation is unclear about if we must, or must not install the moowoodle connector on moodle instance. and if we must, why it is not in the website anymore. some permissions in the grant roles for the api key are not in the system
we want a real, real, real step by step instructions.
also, the debug logs in moowoodle woocommerce is not clear as well.
it says permission errors in the logs. just this? what is this for?
it should be showing us error codes, error based in curl http, or something extremaely extremely detailed so we will be able to debug it.
also, the plugin has a real poor documentation all along. a lot of steps were missing
If you add a course within a product, the course is not getting saved. https://www.loom.com/share/df65f068a0ca4f6789e2f8a80c90bd2b
Hello
I am testing the plugins and everything works correctly only something strange happens to me, with a test user I have bought two courses everything works correctly, he sends me the email and I can access moodle but in wordpress I go to the "My courses" tab and this empty does not show me the two courses with the link to see them. What could be the problem?
Wordpress - 5.9.3
Moodle 3.11.6+
Greetings and thank you
Shortcode does not work in other languages.
1st I have done the configurations one WP and in moodle but it still says: This plugin needs to be installed on your Moodle site after installing this MooWoodle plugin to enable the course enrolment feature.– Click here
Plugin could not be activated because it triggered a fatal error. wordpress-4.4.2.
Hi, wp is up-to-date, Im update moodle to last stable version, all the settings are ok, MooWoodle is installed and configure in moodle, but still get this message in wp "This plugin needs to be installed on your Moodle site after installing this MooWoodle plugin to enable the course enrolment feature.– Click here" and users auto creation and enroll in moodle stop working.
Any idea?
Thanks.
** Recreate the issue**
As a customer purchase this course, however enrollment mail and process is not taking place.
Reason
The linked course id is added however moodle_course_id not net added with this product
===
[17-Nov-2021 12:10:08 UTC] PHP Warning: session_start(): Cannot start session when headers already sent in /home/iwhiznwg/public_html/wp-content/plugins/moowoodle/moowoodle.php on line 59
mobile.iwhiz.co.za
[17-Nov-2021 13:17:08 Africa/Johannesburg] Default exception handler: A required parameter (username) was missing Debug:
Error code: missingparam
Just spent a fair bit of time trying to understand why Moodle users weren't being created when I tested my checkout.
The reason is that Moowoodle uses the billing email provided when checking if the user exists... e.g:
core_user_get_users_by_field: 'email', '[email protected]'
When Moodle returns that no such user exists, Moowoodle attempts to create the user. Only, rather than submitting the same billing email address and user details, it sends the WordPress user details which may be different. In my case, they were. The billing email was different to the WordPress user email.
And when Moowoodle attempts to create the user, the user is either created with the wrong email address, or if the user already exists, an error is returned. This means no enrolment.
The hardest part of this is that it fails silently.
the email with the subscription link in moodle is only sent if the wordpress language is in english.
If I leave the Brazilian Portuguese language, the email is not sent.
How do I fix it?
When the plugin is turned on, all my WooCommerce’s variable products turns into simple products
The pro pop up is not working under "user"" : https://www.awesomescreenshot.com/video/27877896?key=d5d7502012b3c896ea0df9e258024be2
No Course design @Bishal221
Error with Enrollment Mail , Subject line missing
Warning: include(C:\xampp\htdocs\moowoodle\wp-content\plugins\woocommerce/templates/emails/new-enrollment.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\moowoodle\wp-content\plugins\woocommerce\includes\wc-core-functions.php on line 345
Warning: include(): Failed opening 'C:\xampp\htdocs\moowoodle\wp-content\plugins\woocommerce/templates/emails/new-enrollment.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\moowoodle\wp-content\plugins\woocommerce\includes\wc-core-functions.php on line 345
Fatal error: Call to undefined function xmlrpc_encode_request() in /srv/www/wordpress-develop/src/wp-content/plugins/moowoodle/includes/dc-woodle-core-functions.php on line 114
From http://php.net/manual/en/function.xmlrpc-encode-request.php:
Warning This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.
Not all hosts support xml-rpc, there should be an alternative implementation.
PHP 5.4 compatible
Even when I have "Create products from courses" unchecked (turned off), my Moodle course categories are still imported and added to my Product Categories. I don't want them there, though.
I’m having an issue that I’m sure other people must be facing. When a user buys a course, they receive the order completed email and an email with username and password for moodle. But, if they then buy another course, they are sent another enrolment email with the same username and password for moodle as before. However, if they have already accessed moodle they will have been forced to change their password so the password in the second email won’t work? How do I get around this?
I have followed instructions but get:
moowoodle error:Invalid token - token not found
nb. There is no setting
In this page, enable the “MooWoodle Connect” Settings
Is that required and how to install whatever is necessary?
WP version: 6.4.2
Plugin version: 3.1.5
moodle version: 4.3
Everytime I order for course is completed, moowoodle tries to create a user but it fails everytime with the below log:
moowoodle response:{"headers":{},"body":"{\"exception\":\"invalid_parameter_exception\",\"errorcode\":\"invalidparameter\",\"message\":\"Invalid parameter value detected\"}","response":{"code":200,"message":"OK"},"cookies":[],"filename":null,"http_response":{"data":null,"headers":null,"status":null}}
Recreate
Set WordPress permalink is set to Plain
Now place an order from customer, you can not access any purchased course in moodle from WooCommerce My Account >> View Course tab.
Hi
I'm haven a issue on my Wordpress Site on:
Wordpress / Woocommerce / Product: Moodle Linked Course Section
and it's that I can't see the Cohort ID and Group ID information as you show in your docs page: https://dualcube.com/docs/moowoodle-set-up-guide/#1-toc-title on the section To Setup products: WooCommerce > Products > Course Name
I can see Moodle Linked Course Section with a Select list with my Courses Sync and this is good but I needs assign a Cohort for my students on this specific case for this Woocommerce Product because I don't want to duplicate the course for every different case.
Versions:
I can do the proper modifications where you suggest that I make. I'm ready to hear you. Thanks
a new tab for “My Courses”. That’s cool but there is a product listed that isn’t a course. Mind you I have not purchased or otherwise assigned a course. Using another account I found that any orders with a status of COMPLETED will show in the My Courses list for a given user.
I reviewed your code and without validating it against the database (yet) it appears that your routine moodle_course_exists_in_order_items should work. Please advise.
https://i.imgur.com/IQ2AsML.png
Although categories are getting fetched properly, however theses are not getting synced.
Copy (at least I did) the file config.php to the directory includes and then change moowoodle.php
from
require_once 'config.php';
to
require_once 'includes/config.php';
As the fatal error is caused by the constants not being defined
I did the integration a few days ago following the guidelines. In the end, courses are properly synchronized but users are not being created.
Hey guys, first thank you very much for this great contribution.
Synchronization does not work, I configured the plugin in WordPress/Moodle according to the tutorial, but for some reason courses do not appear in WooCommerce.
I have installed:
Wordpress version 4.3
woocommerce 2.4.6
Moodle 2.9.1
See the following screenshots:
http://prntscr.com/8a55a3
http://prntscr.com/8a554r
Any help? Thanks.
When you complete an inbound (Moodle to WP) course sync, the ID/SKU used does not match what is set in Moodle
When a user is receiving the New Enrollment mail, the password field is blank : https://prnt.sc/zz8dpCQUAU_0
08-14-2022 @ 09:56:13 - scheduled action 37530 (subscription expiration) failed to finish processing due to the following error: Uncaught Error: Call to a member function get_user() on null in /var/www/musicalliance.com/htdocs/wp-content/plugins/moowoodle/classes/class-moowoodle-enrollment.php:48
Stack trace:
#0 /var/www/musicalliance.com/htdocs/wp-content/plugins/moowoodle/classes/class-moowoodle-enrollment.php(253): MooWoodle_Enrollment->get_moodle_user_id()
#1 /var/www/musicalliance.com/htdocs/wp-includes/class-wp-hook.php(307): MooWoodle_Enrollment->update_course_access()
#2 /var/www/musicalliance.com/htdocs/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters()
#3 /var/www/musicalliance.com/htdocs/wp-includes/plugin.php(476): WP_Hook->do_action()
#4 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce-subscriptions/includes/class-wc-subscription.php(584): do_action()
#5 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce/includes/class-wc-order.php(222): WC_Subscription->status_transition()
#6 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce-subscriptions/includes/class-wc-subscriptio
08-14-2022 @ 09:56:13 - action args: subscription_id: 34880
08-14-2022 @ 10:03:46 - scheduled action 37536 (subscription expiration) failed to finish processing due to the following error: Uncaught Error: Call to a member function get_user() on null in /var/www/musicalliance.com/htdocs/wp-content/plugins/moowoodle/classes/class-moowoodle-enrollment.php:48
Stack trace:
#0 /var/www/musicalliance.com/htdocs/wp-content/plugins/moowoodle/classes/class-moowoodle-enrollment.php(253): MooWoodle_Enrollment->get_moodle_user_id()
#1 /var/www/musicalliance.com/htdocs/wp-includes/class-wp-hook.php(307): MooWoodle_Enrollment->update_course_access()
#2 /var/www/musicalliance.com/htdocs/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters()
#3 /var/www/musicalliance.com/htdocs/wp-includes/plugin.php(476): WP_Hook->do_action()
#4 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce-subscriptions/includes/class-wc-subscription.php(584): do_action()
#5 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce/includes/class-wc-order.php(222): WC_Subscription->status_transition()
#6 /var/www/musicalliance.com/htdocs/wp-content/plugins/woocommerce-subscriptions/includes/class-wc-subscriptio
08-14-2022 @ 10:03:46 - action args: subscription_id: 34882
User sync is failing due to commented out 'get_users_data' method in ExternalService.php
The error resulted from an attempt to sync is "Unable to fetch users." which comes from MooWoodle Pro's Cron.php attempting to make a request for that method under "MooWoodle()->external_service->do_request( 'get_users_data'..."
This is with MooWoodle Pro and Auth MooWoodle installed.
Commenting out the 2 lines in ExternalService.php resolved the issue.
The setups documentation (https://dualcube.com/docs/moowoodle-set-up-guide/#3-toc-title) requires disabling the password policy.
This allows moodle users to set arbitrarily unsafe passwords.
The default moodle password policy is the following:
moowoodle creates the passwords in the password generator, using four arrays as a source to pseudo-randomly build the password:
It appends one character character for each set for a length of 8 character. As long as I am not missing something, the password generator conforms with the moodle password policy by default and disabling the password policy is not necessary.
Moreover, the password_generator uses str_shuffle and array_rand, both of which are not cryptographically secure.
Suggestions:
Hello dualcube!
Please, update this repository to new version 1.2
From here:
To recreate the issue :
Fatal error: Uncaught Error: Call to undefined function wc_get_account_menu_items() in D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-content\plugins\moowoodle\includes\moowoodle-core-functions.php:221 Stack trace: #0 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-content\plugins\moowoodle\classes\class-moowoodle-library.php(118): get_account_menu_items() #1 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-content\plugins\moowoodle\admin\class-moowoodle-settings.php(314): MooWoodle_Library->moowoodle_get_options() #2 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-includes\class-wp-hook.php(307): MooWoodle_Settings->settings_page_init(”) #3 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-includes\class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #4 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-includes\plugin.php(474): WP_Hook->do_action(Array) #5 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-admin\admin.php(175): do_action(‘admin_init’) #6 D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-admin\plugins.php(10): require_once(‘D:\apps\install…’) #7 {main} thrown in D:\apps\installed\xampp\htdocs\Techfix Tanzania\wp-conte
When user use space for wordpress username, moodle doesn't allow this.
It is causing issue with auto sync, where user is trying to provide same username for login
Change file pathname of this
Enter Moodle Access Token. You can generate the Access Token from - Dashboard => Site administration => Plugins => Web services => Manage tokens
to
Enter Moodle Access Token. You can generate the Access Token from - Dashboard => Site administration => Server => Web services => Manage tokens
If a customer purchased this product, then he/she will get the initial course that was added, but not the new one.
https://jhn4wdmbd4.vmaker.com/record/WShVi1QZTxeco42V
I updated the plugin to the latest version and the enrollment of users doesn't work anymore.
i.e. the user is not getting added in Moodle also "New Enrollment" mail is not shooting.
Link not working https://prnt.sc/D5XKvhPA2QnE
Rename this as SSO Secrate Key https://prnt.sc/Y-S_YHmQeggQ
Add moodle settings page link here : Enter sso sskey it should be same as Moodle sso sskey
Replace, "Are you sure" with "Are you sure to unroll this student" Instaed of "Confirm Student Unenrollment Decision" :
Still small letter https://prnt.sc/l3-39_3cZixC and https://prnt.sc/l52rA6t9OnKt
Remove enrolled tab : https://prnt.sc/6fWRoSB6IV5F
Display position issue https://prnt.sc/6fWRoSB6IV5F @Biplab-Samanta
Rename "courses" to "All Courses" https://prnt.sc/6fWRoSB6IV5F
Remove "name" part and rename Manaer as "Action" https://prnt.sc/p1n_5VpSC67r
Rework in the synchronization page
Rename this "If enabled Moodle user's personal Information will be updated by WordPress user data" as "If activated, the personal information of Moodle users will be automatically refreshed to match the data of the corresponding WordPress users." https://prnt.sc/oWBl1fj-1r_t
Rewrite "Enter the CURL request timeout in sec. Default: 5 (in Sec)." as "Adjust the timeout option in settings if slow server responses affect course synchronization or user registration in Moodle. Enter the CURL request timeout in sec. Default: 5 (in Sec)."
SSO generate key add Copy button tab
Replace "test got error please check log" as " Failed, please check the error log" : Link Error Log page. Also link this to log page"
Change "am" to "AM" or make this as 24 hrs format
Add this notice "remember to save your recent changes to ensure they're preserved."
Copy CSS fix https://prnt.sc/2Gwyv1FmhgR_ @Biplab-Samanta
"Action" place https://prnt.sc/R5w-3dL4JccR @Biplab-Samanta
CSS issue https://prnt.sc/Dlpd3SVbZw_8 @Biplab-Samanta
======================================================================
Moodle end
sskey rename https://prnt.sc/PHKQuxuT59aE
Rewrite "Set the time in minute before link becomes invalid" as " Define the duration in minutes for which the login link from the WordPress site remains active for Moodle site login."
My name is Julio Madrigal and I have Moodel and MooWoodle installed with Woocommerce.
When a news user registers in the course the system generates an automatic username that is usually [name].[surname]
The problem is that in Spain we use two surnames (father´s and mother´s) and therefore the issue is that the username generated looks like this [name].[surname1] [surname2] leaving an space between surname1 and surname 2. Since Moodle does not allow spaces in the username, there are many students having issues to log in for the first time.
Is it possible to specify to create new usernames only with the first surname, or any other way that can prevent this bug?
is the MooWoodle Pro version available for purchase? I need to implement Single Sign-on on my Moodle platform
Hi there,
Is there any chance that you'd consider (and could use our help) building in support for application fees? Which also means support for storing multiple Stripe acct_ identifiers, for each relevant transfer destination.
This is for the case of an online platform (Moodle) which charges a fee for service, which would be set at product-level. We should consider application_fee_amount
, as this has the inner mechanics already worked out for this use-case.
// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.stripe.com/apikeys
$stripe = new \Stripe\StripeClient('sk_test_NLSWiAT3rEo0Er1FeoqB0X1E');
$stripe->paymentIntents->create([
'amount' => 300,
'currency' => 'aud',
'application_fee_amount' => 30,
'transfer_data' => ['destination' => '{{CONNECTED_ACCOUNT_ID}}'],
]);
This would be configurable per-course and allows for the LMS operator to control the application/platform fee per-course, and from there the remaining funds (majority of them typically) goes to the designated Stripe account.
Thanks,
Luke
EDIT: We used the paid version of https://wordpress.org/plugins/bsd-woo-stripe-connect-split-pay/
If you sync the course from Moodle, the category is not synching.
I configured the validity period of manual enrollments through the Manual Enrolments plugin, besides configuring the manual enrollment period in each course. But all enrollments made through the integration with wordpress via Moowoodle, comes with an unlimited period.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.