frumbert / wp2moodle-moodle

Moodle end of a Wordpress to Moodle Single Sign On auth plugin
28 stars 29 forks source link

Problem in Moodle 2.6 #5

Closed alfparisi closed 9 years ago

alfparisi commented 10 years ago

Hi and compliments for your fantastic work. Today I update my Moodle 2.5.2 to 2.6 but the plugin doesn't work. I've an error like this (it's in italian,my localization): "E' stato rilevato un errore di programmazione, deve essere sistemato da un programmatore: moodle_strtolower() cannot be used any more. Please use core_text::strtolower() instead." Someone has the same error? Thank you

frumbert commented 10 years ago

Haven't come across this yet, since Moodle 2.6 only just came out as a stable. Looks like an easy fix - will get it changed, if it is still supported in Moodle 2.3 (my current lowest supported version).

alfparisi commented 10 years ago

I tested with 2.5.2 and it works, but I need to use the new version (it offers symbolic link into SCORM object). Your module is awesome and very important for me. Do you can test your plugin with the new version? I'd like to test/debug your update

frumbert commented 10 years ago

ok I've pushed a new version that works in 2.6

alfparisi commented 10 years ago

Hi Frumbert, thanks for your update. Just installed but I've another error in Moodle 2.6 (it's in italian): E' stato rilevato un errore di programmazione, deve essere sistemato da un programmatore: PHP catchable fatal error

frumbert commented 10 years ago

The sites I dropped this on to test on have both worked a charm, so it might be related to the php modules installed or something oddball like that. What can you tell me about the php environment running on your server (php version, apache, modules, server time zone, etc?)

The "catchable error, it must be fixed by a programmer" is one of the most unhelpful error messages in Moodle. You'll have to either look in your php error log (if you know where that is), or enable developer debugging and log the errors to the page in order to show the actual problem. If I know more about the place it's crashing, then I can try to fix it.

You get to error logging via system administration > development > debugging, then set "debug messages" to "developer" and then tick "display debug messages" to get them to show up in the page.

alfparisi commented 10 years ago

Hello Frumbert and thanks a lot for your answer. The debugging message is:

Debug info: Argument 1 passed to truncate_userinfo() must be an array, object given, called in [dirroot]/auth/wp2moodle/login.php on line 183 and defined Error code: codingerror Stack trace: line 393 of /lib/setuplib.php: coding_exception thrown line 4122 of /lib/moodlelib.php: call to default_error_handler() line 183 of /auth/wp2moodle/login.php: call to truncate_userinfo()

frumbert commented 10 years ago

Ok, looks like I missed a cast. I've updated the file (login.php) so either pull it again and replace the file, or the whole plugin.

alfparisi commented 10 years ago

Hi Frumbert and thanks for your fix. I tried it with all the available parameters, the user is created in both platforms but I've this error:

Debug info: Error code: ddltablenotexist Stack trace: line 572 of /lib/dml/moodle_database.php: dml_exception thrown line 1675 of /lib/dml/moodle_database.php: call to moodle_database->where_clause() line 209 of /auth/wp2moodle/login.php: call to moodle_database->record_exists() Output buffer: Warning: Attempt to assign property of non-object in /var/www/moodle26/auth/wp2moodle/login.php on line 185 Notice: Trying to get property of non-object in /var/www/moodle26/auth/wp2moodle/login.php on line 187 Notice: Trying to get property of non-object in /var/www/moodle26/auth/wp2moodle/login.php on line 188

frumbert commented 10 years ago

Hmm, truncate_userinfo returns an array and insert expects an object... Strange I didn't catch this one, or that my own local moodle doesn't throw an error as yours does. Still, I've uploaded a change to login.php again which may help your problem. Please let me know if there's anything else you catch.

alfparisi commented 10 years ago

Hi Frumbert, installed in the test server. It works without parameters and using cohort. If I use group, I cannot enter into a course where I setted up the group. Is this normal? Thanks again.

frumbert commented 10 years ago

can you confirm that the user is being added as a member to that group, and that the user has the correct details set so that moodle doesn't redirect (say, if the user doesn't have their name set properly it will automatically redirect to the profile edit screen instead). Perhaps you could use a proxy and log all the requests so I can see what is going on, since this all works for me and the code looks correct.

alfparisi commented 10 years ago

The user has the correct details on moodle, but it isn't add to group. I created a course into Moodle and setted up the group on my course (called gruppo). selezione_111 Created a page into WP with the tag, but after a new registration user I can view only the welcome page, I'm not into the group. selezione_110 selezione_112 I would to attach some screenshots, hope that can help you. Thank you

frumbert commented 10 years ago

is this the NAME of the group, or the GROUP ID ? Like the cohort, I use the idnumber column since it's language agnostic and generally stores a non changing value. Set a value in that field and use it in your link in wordpress.

screen shot 2013-12-02 at 9 28 05 am

alfparisi commented 10 years ago

Usually I use the same name for group ID and name :) Tried in another installation: with cohort all fine, the new user is added into cohort, but with group it doesn't works (the group results without members)

frumbert commented 10 years ago

hmm. i can't recreate the problem. can you give me the exact shortcode from wordpress, the exact group names and such from your moodle. maybe there's something in those causing the issue.