function qa_handle_email_filter(&$handle, &$email, $olduser = null) { require_once QA_INCLUDE_DIR . 'db/users.php'; require_once QA_INCLUDE_DIR . 'util/string.php'; $errors = array(); // sanitise 4-byte Unicode $handle = qa_remove_utf8mb4($handle); $filtermodules = qa_load_modules_with('filter', 'filter_handle'); foreach ($filtermodules as $filtermodule) { $error = $filtermodule->filter_handle($handle, $olduser); if (isset($error)) { $errors['handle'] = $error; break; } } if (!isset($errors['handle'])) { // first test through filters, then check for duplicates here $handleusers = qa_db_user_find_by_handle($handle); if (count($handleusers) && (!isset($olduser['userid']) || array_search($olduser['userid'], $handleusers) === false)) { $errors['handle'] = qa_lang('users/handle_exists'); } } $filtermodules = qa_load_modules_with('filter', 'filter_email'); $error = null; foreach ($filtermodules as $filtermodule) { $error = $filtermodule->filter_email($email, $olduser); if (isset($error)) { $errors['email'] = $error; break; } } if (!isset($errors['email'])) { $emailusers = qa_db_user_find_by_email($email); if (count($emailusers) && (!isset($olduser['userid']) || array_search($olduser['userid'], $emailusers) === false)) { $errors['email'] = qa_lang('users/email_exists'); } } return $errors; }
function qa_get_post_content($editorfield, $contentfield, &$ineditor, &$incontent, &$informat, &$intext) { require_once QA_INCLUDE_DIR . 'util/string.php'; $ineditor = qa_post_text($editorfield); $editor = qa_load_module('editor', $ineditor); $readdata = $editor->read_post($contentfield); // sanitise 4-byte Unicode $incontent = qa_remove_utf8mb4($readdata['content']); $informat = $readdata['format']; $intext = qa_remove_utf8mb4(qa_viewer_text($incontent, $informat)); }