Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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));
}