Match is case sensitive, that is why I recommended using a select box the first place.
Anyway, this may help with case differences I think:
$user_handler =& xoops_gethandler('user');
$criteria = new CriteriaCompo(new Criteria('source_language', $ads->getVar('ads_lang1'),'LIKE'));
$criteria->add(new Criteria('target_language', $ads->getVar('ads_lang2'),'LIKE'));
$users = $user_handler->getList($criteria);
unset($criteria);
$user_list = array_keys($users);
Glad to see it works!
Adding notifications while registering is possible.
You have to do something like this:
$not_handler =& xoops_gethandler('notification');
$not_handler->subscribe($category, $item_id, $events, $mode, $module_id, $user_id);
You must fill the data to suit your needs,
$mode could be 'NULL' because it will get the user selected notification method.
$uid is for the new registered user so you must get it after the insert statement(something like $user_handler->insert($user);)
using something like
$uid = $user->getVar('uid');
$module_id is the ads module id
If you don´t want to hard code it then you must use this:
$module_handler =& xoops_gethandler('module');
$module = $module_handler->getByDirname('ads');//change ads to the name of the module
$module_id = $module->getVar('mid');
The rest of the parameters are up to you.