Example #1
0
        if ($is_editing_self == 'yes') {
            // fix up the session information
            $_SESSION['user_first_name'] = $_REQUEST['first_name'];
            $_SESSION['user_last_name'] = $_REQUEST['last_name'];
            $_SESSION['portal']['member_interface'] = $_REQUEST['interface'];
            if (isset($_REQUEST['email'])) {
                $_SESSION['user_email'] = $_REQUEST['email'];
            }
            if ($_REQUEST['password'] != '') {
                $_SESSION['portal']['member_password_ue'] = $_REQUEST['password'];
            }
        }
        // update class information if provided
        if (isset($_REQUEST['class_id'])) {
            if (!in_array($_REQUEST['class_id'], $member_info['classes']['student'])) {
                portal_add_member_to_class($member_id, $_REQUEST['class_id']);
            }
        }
        // redirect back to the admin page
        mystery_redirect($return_page);
        exit;
    }
} else {
    // FIXME - show admin option for admin/superuser
    $member_info = portal_web_output_filter($member_info);
    $email_field = '';
    $class_field = '';
    $type_field = '';
    $grade_field = '';
    if ($member_info['member_type'] == 'student') {
        if ($_SESSION['portal']['member_type'] != 'student') {
function portal_process_student_registration($request)
{
    global $_PORTAL;
    if (isset($request['class_id'])) {
        $request['member_interface'] = $request['interface'];
    } else {
        // check that the class_key is valid
        $query = 'SELECT pcw.class_id, pm.member_school, member_interface FROM portal_class_words AS pcw LEFT JOIN portal_classes AS pc ON pcw.class_id=pc.class_id LEFT JOIN portal_members AS pm ON pc.class_teacher=pm.member_id WHERE class_word = ?';
        $params = array($request['class_word']);
        $results = mystery_select_query($query, $params, 'portal_dbh');
        if (count($results) == 0) {
            $_PORTAL['errors'][] = 'Your Sign-up Word is not correct.  Please double check with your teacher.';
            if (preg_match('~(shit|piss|bitch|f**k|c**t|c**k|suck|t**s|crap|damn|merde|mierda|puta|cabron|pendejo)~i', $request['class_word'])) {
                $_PORTAL['errors'][] = 'You also have a potty mouth…  Please wash it out with soap!';
            }
            return 0;
        } else {
            $request['class_id'] = $results[0]['class_id'];
            $request['school_id'] = $results[0]['member_school'];
            $request['member_interface'] = $results[0]['member_interface'];
        }
    }
    $request['type'] = 'student';
    // add the student as a member
    $member_id = portal_process_member_registration($request);
    if ($member_id > 0) {
        // add the student to the selected class
        $record_id = portal_add_member_to_class($member_id, $request['class_id']);
    }
    return $member_id;
}