Errors Output
- error compiling pfol_problem.asp: Can't locate MLS/Member.pm in @INC (@INC contains: /var/www/websites/perllib /var/www/websites/support/htdocs/feedback /usr/lib/perl5/site_perl/5.6.1/ /usr/lib/perl5/site_perl/5.6.1//i386-linux /var/www/websites/markdame/htdocs/mt/lib /var/www/websites/movable_type/lib /var/www/websites/movable_type/plugins/GoogleSearch/lib /var/www/websites/movable_type/plugins/StyleCatcher/lib /var/www/websites/movable_type/plugins/TemplateRefresh/lib /var/www/websites/movable_type/plugins/WidgetManager/lib /var/www/websites/movable_type/plugins/feeds-app-lite/lib /var/www/websites/movable_type/plugins/nofollow/lib /var/www/websites/movable_type/plugins/spamlookup/lib /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl . /usr/local/ /usr/local/lib/perl) at (eval 1444) line 43, <GEN0> line 1.
BEGIN failed--compilation aborted at (eval 1444) line 43, <GEN0> line 1.
, /usr/lib/perl5/site_perl/5.6.1/Apache/ASP.pm line 1458
Debug Output
- error compiling pfol_problem.asp: Can't locate MLS/Member.pm in @INC (@INC contains: /var/www/websites/perllib /var/www/websites/support/htdocs/feedback /usr/lib/perl5/site_perl/5.6.1/ /usr/lib/perl5/site_perl/5.6.1//i386-linux /var/www/websites/markdame/htdocs/mt/lib /var/www/websites/movable_type/lib /var/www/websites/movable_type/plugins/GoogleSearch/lib /var/www/websites/movable_type/plugins/StyleCatcher/lib /var/www/websites/movable_type/plugins/TemplateRefresh/lib /var/www/websites/movable_type/plugins/WidgetManager/lib /var/www/websites/movable_type/plugins/feeds-app-lite/lib /var/www/websites/movable_type/plugins/nofollow/lib /var/www/websites/movable_type/plugins/spamlookup/lib /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl . /usr/local/ /usr/local/lib/perl) at (eval 1444) line 43, line 1.
BEGIN failed--compilation aborted at (eval 1444) line 43, line 1.
, /usr/lib/perl5/site_perl/5.6.1/Apache/ASP.pm line 1458
Compiled Data with Error
-: package Apache::ASP::Compiles::__ASP_ww_websites_support_htdocs_feedbackx005ee0dc09cd85bf7976d6299aa336ba; ;; sub { ;; package Apache::ASP::Compiles::__ASP_ww_websites_support_htdocs_feedbackx005ee0dc09cd85bf7976d6299aa336ba; ;; use strict;;;use vars qw($Application $Session $Response $Server $Request);;;;
-: # File: /var/www/websites/support/htdocs/test/asp/pfol_problem.asp
-: # Author: Daniel Mocsny
-: # Start Date: Wednesday, December 4, 2002
-: # Updated: BPP Tuesday, January 28, 2003: Dan's original form required the
-: # user to complete the Agent_ID field. I change this to optional.
-: # See my notes of today in the file:
-: # http://intranet.mfm.com/tasks/djmtasks/web/asp.txt
-: # I adapted this file from my file:
-: # /var/www/websites/support/htdocs/test/asp/pcawin_problem_long.asp
-: # and from David Steinbrunner's file:
-: # /var/www/websites/mfm-pda/htdocs/PDA/register.asp
-: # and from Buffy Press' problem report form files:
-: # http://support.mfm.com/feedback/pfol_problem_cc.txt
-: # http://support.mfm.com/feedback/pfol_problem_data.txt
-: # http://support.mfm.com/feedback/pfol_problem.html
-:
-: use strict;
-: use lib '/var/www/websites/perllib';
-: # DJM Monday, March 24, 2003: I'm using MFM::MailSender now, so I should not
-: # need to use Net::SMTP nor Email::Valid myself. Well, I might still need
-: # Email::Valid for a while.
-: # use Net::SMTP;
-: # BPP Monday, March 31, 2003: MFM::MailSender uses Email::Valid.
-: # use Email::Valid;
-: use MFM::MailSender;
-:
-: # DJM Friday, March 21, 2003: use FormUtil.pm to get some subroutines and
-: # data that were formerly in this script (and every similar script). We
-: # import these symbols:
-: # 1. Scalars to control table formatting for the form.
-: # 2. A hash of state abbreviations and names, useful on any form that asks
-: # for a user's mailing address.
-: # 3. Subroutines for generating HTML tags for pull-down lists, checkbox
-: # groups, and text input fields.
-: use MFM::FormUtil qw(
-: $tablewidth $captionwidth $fieldwidth $textfieldwidth
-: %state_values
-: SuccessMessageText MakeSelect MakeCheckbox MakeInputText SortValues );
-:
-: # DJM Sunday, December 22, 2002: sub GetAgentInfo needs Member.pm. Most of our
-: # other problem report forms do not need this.
-: use MLS::Member;
-:
-:
-: # 1. Global variables for customizing the form.
-: # these are analogous to entries in the [HiddenFields] section in a file
-: # such as /var/www/websites/support/htdocs/feedback/pfol_problem_data.txt;
-: # MFM used such files with HTML forms that call generic_form_new.pl.
-: # DJM Friday, March 21, 2003: variables we declare in file scope with 'my'
-: # are not actually global in an ASP script, because an entire ASP script
-: # is actually inside a subroutine. It is unsafe to reference any of these
-: # variables inside a subroutine inside this ASP script.
-: my $form_title = "Pocket Full of Listings Problem Report";
-: my $e_mail_destination = 'pda-support@mfm.com';
-: my $e_mail_destination_error = 'form-errors@mfm.com';
-: # DJM Sunday, August 10, 2003: Mark Knipfer wants us to set the reply-to
-: # header line on messages that go to form-errors, so he can easily reply
-: # to a user's form error message. Specify the support address appropriate
-: # for the site that runs this form.
-: my $e_mail_destination_support = 'pda-support@mfm.com';
-: # BPP Tuesday, April 8, 2003: if you set the e_mail_destination to
-: # an alias like form-errors@mfm.com and you are a member of the alias,
-: # alias, sendmail on antares will "optimize away" the CC copy of the
-: # form. You will only receive one copy of the e-mail message.
-: # If you set e_mail_destination to an archiving mailing list,
-: # like mfm-techsupport@mfm.com, Majordomo processes the mail. Majordomo
-: # will send two copies of the message. One to copy to your e_mail_destination
-: # and another copy to your CC address.
-: # For testing you might send e-mails to yourself by uncommenting these
-: # lines:
-: # my $e_mail_destination = 'bpress@mfm.com';
-: # my $e_mail_destination_error = 'dmocsny@mfm.com';
-: #
-: my $destination_organization = 'MFM Communication Software, Inc.';
-: # For a list of server environment variables that might be available, see:
-: # http://intranet.mfm.com/intranet/webstuff/ssi.shtml#environment. Also
-: # see the HTML comment section at the bottom of the page where I print
-: # the environment variables for testing.
-: my $form_URL = 'http://' . $ENV{'SERVER_NAME'} . $ENV{'SCRIPT_NAME'};
-:
-: # The CC message for the old HTML version of this form was in the file:
-: # /var/www/websites/support/htdocs/feedback/pcawin_problem_cc.txt
-: # BPP: Wednesday, September 15, 2004: Per MAK's request I changed our response time.
-: my $cc_message = <<"CC_MESSAGE";
-: This e-mail message is your copy of the problem report form you submitted to
-: $destination_organization. This e-mail message serves as a backup and
-: confirmation that $destination_organization received your problem report form.
-:
-: MFM Technical Support e-mail hours are 9:00 A.M. to 5:00 P.M. Eastern time,
-: Monday through Friday, excluding holidays. You should receive an e-mail response
-: from MFM within one business day.
-:
-:
-: If you do not receive a response from $destination_organization
-: within one business day, please forward a copy of this message to:
-:
-: $e_mail_destination
-:
-: Thank you for reporting your problem to MFM. We rely on your problem
-: reports to help us improve our products.
-: CC_MESSAGE
-:
-: # End of global variables analogous to [HiddenFields] section.
-:
-: # 1.a. It's still useful to abbreviate field names just as we do with
-: # HTML forms that call generic_form_new.pl. There's no point in making the
-: # URL for the form any longer than necessary. Put all the abbreviations
-: # into one associative array.
-: # BPP Monday February 17, 2003: Mark Knipfer suggested using one field: Your Name
-: # instead of First Name and Last Name.
-: # 'first_name' => 'F0',
-: # Abbreviations for field names on the form:
-: my %field_abbrevs = (
-: 'your_name' => 'F1',
-: 'e_mail' => 'F2',
-: 'check_email' => 'F3',
-: 'company_name' => 'F4',
-: 'fax_number' => 'F5',
-: 'city' => 'F6',
-: 'state' => 'F7',
-: 'user_type' => 'F8',
-: 'user_skill' => 'F9',
-: 'agent_ID' => 'F10',
-: # 'MLS_type' => 'F11',
-: 'PFoL_Program' => 'F12',
-: 'PFoL_Serial_Number' => 'F13',
-: # 'PFoL_Version' => 'F14', # for possible future use
-: 'Problem_occurs_when' => 'F15',
-: 'Problem_is_when_other' => 'F16',
-: 'Before_problem_first_started' => 'F17',
-: 'Before_problem_other' => 'F18',
-: 'Corrective_actions' => 'F19',
-: 'Corrective_actions_other' => 'F20',
-: 'I_last_spoke_with' => 'F21',
-: 'Contact_company' => 'F22',
-: 'I_contacted' => 'F23',
-: 'Previous_report_date' => 'F24',
-: 'Error_message' => 'F25',
-: 'Error_message_text' => 'F26',
-: 'Windows_Version' => 'F27',
-: 'Modem' => 'F28',
-: 'Computer' => 'F29',
-: 'CPU' => 'F30',
-: 'Computer_type' => 'F31',
-: 'Computer_on_LAN' => 'F32',
-: 'Palm_model', => 'F33',
-: 'Problem_description' => 'F34',
-: );
-: # Abbreviations for button names on the form:
-: my %button_abbrevs = (
-: # 'hide_problem_URL_help' => 'B1',
-: # 'show_problem_URL_help' => 'B2',
-: 'send_report' => 'B3',
-: );
-: # If I need to invert the associative arrays so we can do reverse lookups,
-: # this would be how to do it. Note: names and values must be unique within
-: # each associative array).
-: # my %field_names = reverse(%field_abbrevs);
-: # my %button_names = reverse(%button_abbrevs);
-: # End of global variables analogous to [FieldNames] section.
-:
-: # 1.b. Abbreviations for field values (for <select> fields, radio buttons,
-: # and checkboxes). Note: the field value abbreviations must be unique within
-: # a grouped field, but they do not necessarily have to be unique between
-: # grouped fields. E.g., two different <select> tags could both have field
-: # values with the same abbreviation. However, for sanity's sake it would
-: # be best not to use the same abbreviation twice.
-: # Along with the field value hashes, I also define variables to store the
-: # HTML code we will generate for the <select> tags,
-: # radio button groups, and check box groups.
-:
-: my %user_type_values = (
-: 'V0' => 'End User',
-: 'V1' => 'Independent Consultant or PC Coordinator',
-: 'V2' => 'Employee of FNIS',
-: 'V3' => 'Employee of an MLS/Board Office',
-: 'V4' => 'Other',
-: );
-:
-: my %user_skill_values = (
-: 'V10' => 'Expert',
-: 'V11' => 'Advanced',
-: 'V12' => 'Intermediate',
-: 'V13' => 'Novice',
-: 'V14' => 'What\'s a computer?',
-: );
-:
-: my %Windows_Version_values = (
-: 'V33' => 'Windows 95',
-: 'V34' => 'Windows 98',
-: 'V35' => 'Windows 98 Second Edition (SE)',
-: 'V36' => 'Windows NT 4.0',
-: 'V37' => 'Windows 2000 Professional',
-: 'V38' => 'Windows 2000 Server',
-: 'V39' => 'Windows Millennium Edition (ME)',
-: 'V40' => 'Windows XP Home',
-: 'V41' => 'Windows XP Professional',
-: 'V42' => "Not Listed/Other",
-: );
-:
-: my %PFoL_Program_values = (
-: 'V50' => 'Pocket Full of Listings (PDA)',
-: 'V51' => 'Pocket Full of Listings Desktop',
-: );
-:
-: my %Problem_occurs_when_values = (
-: 'V90' => 'I am installing Pocket Full of Listings',
-: 'V91' => 'I Download Listings',
-: 'V92' => 'I run HotSync',
-: 'V93' => 'I use Pocket Full of Listings',
-: 'V94' => 'I use Pocket Full of Listings Desktop',
-: 'V95' => 'I set up Pocket Full of Listings Desktop',
-: 'V96' => 'Other',
-: );
-:
-: my %Before_problem_first_started_values = (
-: 'V100' => 'Pocket Full of Listings worked correctly',
-: 'V101' => 'Pocket Full of Listings worked sometimes',
-: 'V102' => 'Pocket Full of Listings never worked',
-: 'V103' => 'None of the Above',
-: 'V104' => 'Other',
-: );
-:
-: my %Corrective_actions_values = (
-: 'V110' => 'I read the Pocket Full of Listings Getting Started Guide (<a href="/support/manuals/pfolgsg/helpcontents1.htm" target="new">Show Me</a>)',
-: 'V111' => 'I clicked Help on the error message dialog',
-: 'V112' => 'None of the Above',
-: 'V113' => 'Other',
-: );
-:
-: my $I_contacted_HTML;
-: my %I_contacted_values = (
-: 'V120' => 'Yes',
-: 'V121' => 'No'
-: );
-:
-: my %Error_message_values = (
-: 'V131' => 'No Error Message Appears',
-: 'V132' => 'Terminal window status bar says: "Communication Error"',
-: 'V133' => 'The following error message(s) appear:',
-: );
-:
-: my %CPU_values = (
-: 'V140' => '386',
-: 'V141' => '486',
-: 'V142' => 'Pentium (586)',
-: 'V143' => 'Pentium Pro',
-: 'V144' => 'Pentium II',
-: 'V145' => 'Pentium III',
-: 'V146' => 'Pentium 4',
-: 'V147' => 'Celeron',
-: 'V148' => 'Athlon',
-: 'V149' => 'Athlon XP',
-: 'V150' => 'Other/Not listed',
-: );
-:
-: my %Computer_type_values = (
-: 'V150' => 'Desktop Computer',
-: 'V151' => 'Laptop Computer',
-: );
-:
-: my %Computer_on_LAN_values = (
-: 'V171' => 'Yes',
-: 'V172' => 'No',
-: );
-:
-: # HTTP_REFERER
-: # 'V184' => 'No value; user probably browsed from a bookmark or e-mail',
-:
-: # );
-: # # Note: I can't abbreviate the 'submit' button values because we need to
-: # # display them on the form.
-:
-: # DJM Saturday, December 7, 2002: I got these state and territorial codes
-: # from the U.S. Postal Service page: http://www.usps.com/zip4/
-: # DJM Friday, March 21, 2003: now we get %state_values from FormUtil.pm.
-:
-: # End of global variables analogous to [FieldValues] section.
-:
-: # 1.c. Other global variables.
-: # Tuesday, November 26, 2002: instead of trying to dynamically set the
-: # form method, just set it manually here. "get" is useful for testing, but
-: # "put" is more reliable for flaky browsers such as Microsoft Internet
-: # Explorer.
-: # my $method = "get";
-: my $method = "post";
-: # DJM Monday, February 3, 2003: variable-ize the function we have
-: # to call to retrieve form values, so we can easily switch the form
-: # between method=get or method=post by only changing the value of
-: # the $method variable.
-: my $field = "Form";
-: if ($method eq "get") {
-: $field = "QueryString";
-: }
-: # Tuesday, November 26, 2002: use global variables to standardize our
-: # tables containing one field and field caption each.
-: # DJM Friday, March 21, 2003: now we get these variables from FormUtil.pm.
-: # my $tablewidth = 700;
-: # DJM Tuesday, December 17, 2002: to avoid table alignment
-: # problems, specify percentage widths for table cells rather than
-: # absolute pixel widths.
-: # my $captionwidth = '40%';
-: # my $fieldwidth = '60%';
-: # DJM Wednesday, December 18, 2002: the width in characters of all our
-: # <input type="text"> fields (see sub MakeInputText near the bottom of this
-: # file).
-: # my $textfieldwidth = 50;
-:
-: # End of section 1 global variables.
-:
-: # 2. Determine the state we are running in and set flags accordingly, or
-: # process some buttons immediately. The possibilities are:
-: # a. The current session is just starting: the form is displaying for
-: # the first time with all fields empty, or possibly some fields
-: # automatically getting values from the command line.
-: # b. The user has clicked a "Show Help" or "Hide Help" button somewhere
-: # on the form, to show or hide help for some field on the form.
-: # c. The user has clicked the "Send Report" button at the bottom of
-: # the form.
-: # DJM Friday, November 22, 2002: I added more type='submit' buttons to the
-: # form having different name|value pairs. Store a variable so we can
-: # easily tell when the user clicked the "Send Report" button. (Other buttons
-: # display field help.)
-: $input::send_report = ($Request->$field($button_abbrevs{'send_report'}) ne "") ?
-: $Request->$field($button_abbrevs{'send_report'}) : 0;
-:
-: # "Show Help" or "Hide Help" buttons: if the user clicked one, we don't
-: # need to process the form. We simply need to adjust the current form
-: # URL and redisplay the form.
-: # DJM Thursday, December 5, 2002: initially I will not implement any Show/Hide
-: # Help buttons for this form. The form may be too long to work with the
-: # method=get that you are stuck with on a Show/Hide Help button click. I'll
-: # comment this section in case I need to implement something similar for the
-: # PC Access Problem Report form.
-: # Help for the "URL of problem page" field:
-: # if ($Request->QueryString($button_abbrevs{'show_problem_URL_help'}) eq 'Show Help') {
-: # # The user clicked the "Show Help" button for this field. Adjust the form
-: # # URL and resubmit it so the help displays, and the page scrolls down
-: # # to show the help.
-: # my $query_string = $ENV{"QUERY_STRING"};
-: # # Chop the show button value out of the QUERY_STRING. It will be the
-: # # abbreviated version of:
-: # # &show_problem_URL_help=Show+Help
-: # my $button_abbrev = $button_abbrevs{'show_problem_URL_help'};
-: # $query_string =~ s/&${button_abbrev}=Show\+Help//;
-: # # Tack on: &display_problem_URL_help=1 as if the hidden field telling us
-: # # to continue showing the help were already showing.
-: # $query_string .= '&' . $field_abbrevs{'display_problem_URL_help'} . '=1';
-: # # Now resubmit the form. This causes the code to exit here.
-: # my $URL = $form_URL . '?' . $query_string . '#problem_URL';
-: # $Response->Redirect($URL);
-: # }
-: # # if ($Request->QueryString($button_abbrevs{'hide_problem_URL_help'}) eq 'Hide Help') {
-: # # The user clicked the "Hide Help" button for this field. Adjust the
-: # # form URL and resubmit it so the help vanishes, and the page scrolls
-: # # down to show the "Show Help" button.
-: # my $query_string = $ENV{"QUERY_STRING"};
-: # # Chop the hide button value out of the QUERY_STRING. It will be:
-: # # &hide_problem_URL_help=Hide+Help
-: # my $button_abbrev = $button_abbrevs{'hide_problem_URL_help'};
-: # $query_string =~ s/&${button_abbrev}=Hide\+Help//;
-: # # Chop the &display_problem_URL_help=1 out of the query string, as if
-: # # the hidden field telling us to continue showing the help were not
-: # # already showing.
-: # my $field_abbrev = $field_abbrevs{'display_problem_URL_help'};
-: # $query_string =~ s/&${field_abbrev}=1//;
-: # # Now resubmit the form. This causes the code to exit here.
-: # my $URL = $form_URL . '?' . $query_string . '#problem_URL';
-: # $Response->Redirect($URL);
-: # }
-: # If additional fields require Show/Hide Help buttons, handle them
-: # similarly here. The help text for fields is in section 4 below.
-: # End of setting state flags and processing Show/Hide help buttons.
-:
-: # 3. Retrieve the current form contents and put them into global variables.
-: # Note to programmer: make sure you have defined all the field abbreviations
-: # in section 1.a., and use an array variable to store the values for any
-: # input item which can return more than one value (a checkbox or a select
-: # multiple).
-: # $input::first_name = $Request->$field($field_abbrevs{'first_name'});
-: $input::your_name = $Request->$field($field_abbrevs{'your_name'});
-: $input::e_mail = $Request->$field($field_abbrevs{'e_mail'});
-: $input::check_email = $Request->$field($field_abbrevs{'check_email'});
-: $input::company_name = $Request->$field($field_abbrevs{'company_name'});
-: $input::fax_number = $Request->$field($field_abbrevs{'fax_number'});
-: $input::city = $Request->$field($field_abbrevs{'city'});
-: $input::state = $Request->$field($field_abbrevs{'state'});
-: $input::user_type = $Request->$field($field_abbrevs{'user_type'});
-: $input::user_skill = $Request->$field($field_abbrevs{'user_skill'});
-: $input::agent_ID = $Request->$field($field_abbrevs{'agent_ID'});
-: $input::PFoL_Program = $Request->$field($field_abbrevs{'PFoL_Program'});
-: $input::PFoL_Serial_Number = $Request->$field($field_abbrevs{'PFoL_Serial_Number'});
-: @input::Problem_occurs_when = $Request->$field($field_abbrevs{'Problem_occurs_when'});
-: $input::Problem_is_when_other = $Request->$field($field_abbrevs{'Problem_is_when_other'});
-: @input::Before_problem_first_started = $Request->$field($field_abbrevs{'Before_problem_first_started'});
-: $input::Before_problem_other = $Request->$field($field_abbrevs{'Before_problem_other'});
-: @input::Corrective_actions = $Request->$field($field_abbrevs{'Corrective_actions'});
-: $input::Corrective_actions_other = $Request->$field($field_abbrevs{'Corrective_actions_other'});
-: $input::I_last_spoke_with = $Request->$field($field_abbrevs{'I_last_spoke_with'});
-: $input::Contact_company = $Request->$field($field_abbrevs{'Contact_company'});
-: $input::I_contacted = $Request->$field($field_abbrevs{'I_contacted'});
-: $input::Previous_report_date = $Request->$field($field_abbrevs{'Previous_report_date'});
-: $input::Error_message = $Request->$field($field_abbrevs{'Error_message'});
-: $input::Error_message_text = $Request->$field($field_abbrevs{'Error_message_text'});
-: $input::Windows_Version = $Request->$field($field_abbrevs{'Windows_Version'});
-: $input::Modem = $Request->$field($field_abbrevs{'Modem'});
-: $input::Computer = $Request->$field($field_abbrevs{'Computer'});
-: $input::CPU = $Request->$field($field_abbrevs{'CPU'});
-: $input::Computer_type = $Request->$field($field_abbrevs{'Computer_type'});
-: $input::Computer_on_LAN = $Request->$field($field_abbrevs{'Computer_on_LAN'});
-: $input::Palm_model = $Request->$field($field_abbrevs{'Palm_model'});
-: $input::Problem_description = $Request->$field($field_abbrevs{'Problem_description'});
-:
-: # For possible future use:
-: # $input::PFoL_Version = $Request->$field($field_abbrevs{'PFoL_Version'});
-:
-: # We send informational text, along with a copy of the message, to form-errors. We
-: # do this when a user successfully completes the problem report form.
-: my $success_message = &SuccessMessageText($input::e_mail,
-: $input::your_name, $e_mail_destination_error);
-:
-: # The value of a check box comes back as 'true' if the user checked it,
-: # and undef if the user did not check it, or if the form is displaying
-: # for the first time.
-: # Change a value of 'true' to 'checked' so we can put that back in the form.
-: # If we are displaying the form for the first time, $input::check_email will be
-: # undefined, and we want to check this box initially.
-: if (!$input::check_email) {
-: if (!$input::send_report) {
-: $input::check_email = 'checked';
-: }
-: } elsif ($input::check_email eq 'true') {
-: $input::check_email = 'checked';
-: }
-:
-: # This form has many radio buttons and checkboxes which I need to redisplay
-: # as 'checked' if the user previously checked them, and selects which I need
-: # to redisplay as 'selected' if the user previously selected them.
-:
-: # DJM Wednesday, November 27, 2002: here's an ugly hack to make sure we
-: # don't miss the problem_URL if some other page calls us with a URL
-: # that does not abbreviate the 'problem_URL' field name:
-: # if (!$problem_URL) {
-: # $problem_URL = $Request->$field('problem_URL');
-: # }
-:
-: # DJM Tuesday, November 19, 2002: see if we can get the HTTP_REFERER
-: # value from Perl's list of environment variables. But this would only
-: # apply on the first call to this page. I may have to try displaying
-: # all the environment variables in a test to see what is available within
-: # an ASP session.
-: # Friday, November 22, 2002: I'm not doing anything with HTTP_REFERER yet.
-: # Tuesday, November 26, 2002: But I can store it in the $Session object
-: # in case we end up needing it later.
-: my $http_referer = '';
-: if (!$Session->{'http_referer'}) {
-: $http_referer = $ENV{'HTTP_REFERER'};
-: if ((!$http_referer) || ($http_referer eq '[unknown origin]')) {
-: $http_referer = "No value; user probably browsed from a bookmark or e-mail";
-: }
-: $Session->{'http_referer'} = $http_referer;
-: }
-:
-: # End of putting form contents into global variables.
-:
-:
-: # 4. Field help variables.
-: # The following field help is similar to the [FieldHelp] section in
-: # Buffy Press' file:
-: # /var/www/websites/support/htdocs/feedback/pcawin_problem_data.txt
-: # I can let the user selectively hide or show help for some fields,
-: # by putting more than one 'submit' button on the form,
-: # each one having different name|value pairs.
-: # DJM Tuesday, December 10, 2002: as of now I have not implemented any
-: # Show/Hide Help buttons on this form.
-:
-: # my $first_name_help = "Enter your first name in this field. For example: " .
-: # "<ul><li>Sally</ul> Entering your name helps us serve you better by " .
-: # "allowing us to record the history of your correspondence with us.";
-: # my $your_name_help = "Enter your name in this field. For example: " .
-: # "<ul><li>Sally Jones</ul> Entering your name helps us serve you better by " .
-: # "allowing us to record the history of your correspondence with us.";
-: # my $e_mail_help = "Enter your Internet e-mail address. E-mail addresses " .
-: # "for most business users typically have the form: " .
-: # "<tt>username\@domain.com</tt>. Your e-mail address should not contain " .
-: # "spaces or commas.";
-: # my $browser_name_help = "Type in the name of your browser. Some problems " .
-: # "with Web sites may be specific to certain browsers. Depending on " .
-: # "the problem you are reporting, telling us the name of your browser " .
-: # "may help us diagnose the problem faster. Some examples of browser names " .
-: # "are: Netscape Navigator and Microsoft Internet Explorer.";
-: # my $browser_version_help = "To find your browser's version, you should be " .
-: # "able to click on <strong>Help | About</strong> from the toolbar in " .
-: # "your browser.";
-: # my $Problem_description_help = "Describe the problem you found with " .
-: # "MFM's Web site.";
-: # my $problem_URL_help = "Enter the URL (Internet Address) of the page where " .
-: # "you found the problem. The best way to enter the URL is by pasting it " .
-: # "from your clipboard.";
-: # DJM Friday, November 22, 2002: try putting the lengthy help for the
-: # problem URL field into a variable so we can let the user selectively
-: # show/hide it.
-: # my $problem_URL_help = <<"PROBLEM_URL_HELP";
-: # <p>
-: # If you need to enter the URL manually, follow this procedure:
-: # </p>
-: # <ol>
-: # <li>Click your browser's <strong>Back</strong> button until you
-: # return to the page where you observed the problem.
-: #
-: # <li>If you are running Windows, you may copy the
-: # <a href="/support/manuals/pcawrg43.158/glossurl.htm">URL</a>
-: # of this page to your Clipboard:
-: # <ol>
-: # <li>Click your mouse on the
-: # <a href="/support/manuals/pcawrg43.158/glossurl.htm">URL</a>
-: # field to highlight all of it.
-: # (Your browser might also call this the <strong>Address</strong>
-: # or <strong>Location</strong> field.)
-: #
-: # <li>Press and hold down the<tt>Ctrl</tt> key on your keyboard,
-: # press the <tt>Insert</tt> key, and release both keys.
-: # </ol>
-: # <ul>
-: # <li>On other operating systems (such as Macintosh or UNIX) you
-: # should have a feature similar to the Clipboard in Windows. See
-: # your computer's documentation if you don't know how to copy the
-: # URL.
-: # </ul>
-: # <li>Press your browser's <strong>Forward</strong> button until you
-: # return to this form.
-: #
-: # <li>Click your mouse on the URL field below to make it current
-: # (ready to accept input). Press and hold down the <tt>Shift</tt> key
-: # on your keyboard, press the <tt>Insert</tt> key, and release both
-: # keys. This should paste the URL you copied to the Clipboard into the
-: # URL field below.
-: # </ol>
-: # PROBLEM_URL_HELP
-: # End of field help definitions.
-:
-: # 5. Error message variables.
-: # DJM Thursday, November 7, 2002: a global variable for accumulating all the
-: # form error messages, so we can send them to form-errors.
-: my $formerrormessages = '';
-:
-: # DJM Thursday, November 21, 2002: a global variable for accumulating HTML
-: # code to make a relative table of contents pointing to all the error
-: # messages (by their name anchors) on the form.
-: my $formerrorcontents = '';
-:
-: # DJM Tuesday, December 10, 2002: the following list of error message
-: # variables is longer than we need. We only need an error message for a
-: # field which we require the user to fill out (whether always or conditionally
-: # on the values of other fields).
-: # my $first_name_error = '';
-: my $your_name_error = '';
-: my $e_mail_error = '';
-: my $city_error = '';
-: my $state_error = '';
-: my $agent_ID_error = '';
-: my $PFoL_Program_error = '';
-: my $PFoL_Serial_Number_error = '';
-: my $Problem_occurs_when_error = '';
-: my $Before_problem_first_started_error = '';
-: my $Corrective_actions_error = '';
-: my $I_last_spoke_with_error = '';
-: my $Contact_company_error = '';
-: my $I_contacted_error = '';
-: my $Previous_report_date_error = '';
-: my $Error_message_error = '';
-: my $Error_message_text_error = '';
-: my $Windows_Version_error = '';
-: my $Modem_error = '';
-: my $Computer_error = '';
-: my $CPU_error = '';
-: my $Computer_type_error = '';
-: my $Computer_on_LAN_error = '';
-: my $Palm_model_error = '';
-: my $Problem_description_error = '';
-:
-:
-: # Buffy's original pfol_problem.html form required these fields:
-: # _required=Your_Name--Your_e-mail_address--City--State--User_Type--
-: # User_Skill--PFoL_Program--Problem_is_when--Before_problem--I_tried
-: # DJM Tuesday, December 17, 2002: Buffy appears to have truncated her
-: # list with an editing error.
-:
-: my $error = 0;
-: # End of initializing error message variables.
-:
-: # 6. Decide how to process the form.
-: # $input::send_report will be nonzero here if the user clicked the "Send Report"
-: # button at the bottom of the form. We don't need to worry about Show/Hide
-: # help buttons because the code would have exited in section 2 above.
-: if ($input::send_report) {
-: # Put name anchors on all the form errors, in case the form is long and
-: # the user has to hunt them all down. Display a table of contents at the
-: # top of the form with hyperlinks to the fields that contain errors.
-: # DJM Friday, December 6, 2002: this is an immense amount of redundant
-: # code. It would be nice to come up with a better way to do this.
-: # if ($input::first_name eq "") {
-: # $error = 1;
-: # $first_name_error = <<"FIRST_NAME_ERROR";
-: # ERROR: You must not leave your First Name blank.
-: # FIRST_NAME_ERROR
-: # $formerrormessages .= $first_name_error;
-: # $formerrorcontents .= '<li><a href="#first_name">Your First Name</a></li>';
-: # }
-: if ($input::your_name eq "") {
-: $error = 1;
-: $your_name_error = <<"YOUR_NAME_ERROR";
-: ERROR: You must not leave Your Name blank.
-: YOUR_NAME_ERROR
-: $formerrormessages .= $your_name_error;
-: $formerrorcontents .= '<li><a href="#your_name">Your Name</a></li>';
-: }
-:
-: my $e_mail_error_contents = '<li><a href="#e_mail">Your e-mail address</a></li>';
-: if ($input::check_email) {
-: # DJM Friday, November 8, 2002: distinguish between a blank e-mail address
-: # and a non-blank but invalid address. There is no point in calling
-: # Email::Valid until the user enters something.
-: if ($input::e_mail eq "") {
-: $error = 1;
-: $e_mail_error = <<"E_MAIL_ERROR_BLANK";
-: ERROR: You must not leave your E-mail Address blank.
-: E_MAIL_ERROR_BLANK
-: $formerrormessages .= $e_mail_error;
-: $formerrorcontents .= $e_mail_error_contents;
-: } else {
-: # Since we have two ways to detect an invalid e-mail address, store the
-: # message in a temporary variable.
-: my $e_mail_error_invalid = <<"E_MAIL_ERROR_INVALID";
-: ERROR: You entered what appears to be an invalid E-mail Address.
-: E_MAIL_ERROR_INVALID
-: # Make sure not to wipe out the user's e-mail address if the user enters
-: # something invalid. Email::Valid returns undef if it does not like the
-: # address.
-: my $temp_e_mail = Email::Valid->address($input::e_mail);
-: unless($temp_e_mail) {
-: $error = 1;
-: $e_mail_error = $e_mail_error_invalid;
-: $formerrormessages .= $e_mail_error;
-: $formerrorcontents .= $e_mail_error_contents;
-: } else {
-: $input::e_mail = $temp_e_mail;
-: my $echeck = (Email::Valid->address($input::e_mail) ? 'yes' : 'no');
-: my $hcheck = (Email::Valid->address( -address => $input::e_mail,
-: -mxcheck => 1 ) ? 'yes' : 'no');
-: if ($echeck eq "no" || $hcheck eq "no") {
-: $error = 1;
-: $e_mail_error = $e_mail_error_invalid;
-: $formerrormessages .= $e_mail_error;
-: $formerrorcontents .= $e_mail_error_contents;
-: }
-: }
-: }
-: }
-: if ($input::city eq "") {
-: $error = 1;
-: $city_error = <<"CITY_ERROR";
-: ERROR: You must enter the name of your city.
-: CITY_ERROR
-: $formerrormessages .= $city_error;
-: $formerrorcontents .= '<li><a href="#city">City</a></li>';
-: }
-: # DJM Friday, December 6, 2002: if you adapt this form to customers outside
-: # the United States, do not require them to select a state.
-: if ($input::state eq "") {
-: $error = 1;
-: $state_error = <<"STATE_ERROR";
-: ERROR: You must select your state.
-: STATE_ERROR
-: $formerrormessages .= $state_error;
-: $formerrorcontents .= '<li><a href="#state">State</a></li>';
-: }
-:
-: # unless ($input::agent_ID =~ m/^\s*\d{6}\s*$/) {
-: # $error = 1;
-: # $agent_ID_error = <<"AGENT_ID_ERROR";
-: # ERROR: Your agent ID must consist of six digits.
-: # AGENT_ID_ERROR
-: # $formerrormessages .= $agent_ID_error;
-: # $formerrorcontents .= '<li><a href="#agent_ID">Agent ID</a></li>';
-: # }
-:
-: # BPP Tuesday, January 28, 2003: we do not require the user to complete the
-: # agent_ID field. However, if they enter something in this field,
-: # then it has to be 6 digits.
-: unless (($input::agent_ID eq "") ||
-: ($input::agent_ID =~ m/^\s*\d{6,}\s*$/)) {
-: $error = 1;
-: $agent_ID_error = <<"AGENT_ID_ERROR";
-: ERROR: If you enter a value for your Agent ID,
-: it must consist of exactly six digits. If you are not
-: sure what your Agent ID is, please leave this field blank.
-: AGENT_ID_ERROR
-: $formerrormessages .= $agent_ID_error;
-: $formerrorcontents .=
-: '<li><a href="#agent_ID">Agent ID</a></li>';
-: }
-:
-:
-: if ($input::PFoL_Program eq "") {
-: $error = 1;
-: $PFoL_Program_error = <<"PFOL_PROGRAM_ERROR";
-: ERROR: You must select a the value corresponding to the Pocket Full of
-: Listings program for which you are reporting a problem.
-: PFOL_PROGRAM_ERROR
-: $formerrormessages .= $PFoL_Program_error;
-: $formerrorcontents .= '<li><a href="#PFoL_Program">PFoL Program</a></li>';
-: }
-:
-: # DJM Wednesday, December 18, 2002: we do not require the user to enter
-: # their PFoL Serial Number. HOwever, if they enter something in this field,
-: # then it has to be 9 digits.
-: unless (($input::PFoL_Serial_Number eq "") ||
-: ($input::PFoL_Serial_Number =~ m/^\s*\d{9,}\s*$/)) {
-: $error = 1;
-: $PFoL_Serial_Number_error = <<"PFOL_SERIAL_NUMBER_ERROR";
-: ERROR: If you enter a value for your Pocket Full of Listings serial number,
-: it must consist of exactly nine digits. Your serial number should appear on
-: the CD-ROM from which you installed Pocket Full of Listings. If you are not
-: sure what your serial number is, please leave this field blank.
-: PFOL_SERIAL_NUMBER_ERROR
-: $formerrormessages .= $PFoL_Serial_Number_error;
-: $formerrorcontents .=
-: '<li><a href="#PFoL_Serial_Number">PFoL Serial Number</a></li>';
-: }
-:
-: # DJM Wednesday, December 11, 2002: I found that a <textarea> field can
-: # return a bunch of carriage return/linefeed characters even if the user
-: # leaves it entirely blank. So test to see if the field contains any
-: # non-whitespace character.
-: # DJM Monday, January 13, 2003: if the user did not check any box, the
-: # @Problem_occurs_when list will not actually be empty; instead it will
-: # contain one element having a value of undef. So my original test was
-: # never working. I have to test the first value of the array to make sure
-: # it is not blank. See my notes of today in asp.txt.
-: # if ((@Problem_occurs_when eq ()) &&
-: if (($input::Problem_occurs_when[ $[ ] eq '') &&
-: !($input::Problem_is_when_other =~ m/\S/ )) {
-: $error = 1;
-: $Problem_occurs_when_error = <<"PROBLEM_OCCURS_WHEN_ERROR";
-: ERROR: You must specify when the problem you are reporting occurs.
-: Either select one of the choices by checking the box next to it, or
-: check the "Other" box and briefly describe when the problem occurs
-: by typing text into the box below.
-: PROBLEM_OCCURS_WHEN_ERROR
-: $formerrormessages .= $Problem_occurs_when_error;
-: $formerrorcontents .= '<li><a href="#Problem_occurs_when">Problem Occurs When</a></li>';
-: } elsif (!($input::Problem_is_when_other =~ m/\S/ )) {
-: # DJM Tuesday, December 10, 2002: I also need to test for the case when
-: # the user checks the "Other" box and does not type anything in the
-: # following <textarea> field.
-: # The user did not type anything in the <textarea> below the "Other"
-: # checkbox. See whether the user checked the "Other" checkbox.
-: # Unfortunately we have to scan the whole list of current values for the
-: # checkbox group. If the user checked "Other", it 'should' be the last
-: # value, but we probably cannot be certain of that.
-: my ($abbrev) = '';
-: foreach $abbrev (@input::Problem_occurs_when) {
-: if ("Other" eq $Problem_occurs_when_values{$abbrev}) {
-: $error = 1;
-: $Problem_occurs_when_error = <<"PROBLEM_OCCURS_WHEN_OTHER_ERROR";
-: ERROR: If you check the "Other" box, you must briefly describe when the
-: problem occurs by typing text into the box below.
-: PROBLEM_OCCURS_WHEN_OTHER_ERROR
-: $formerrormessages .= $Problem_occurs_when_error;
-: $formerrorcontents .= '<li><a href="#Problem_occurs_when">Problem Occurs When</a></li>';
-: last;
-: }
-: }
-: }
-:
-: # DJM Monday, January 13, 2003: test properly to see whether the user
-: # checked at least one box.
-: # if ((@Before_problem_first_started eq ()) &&
-: if (($input::Before_problem_first_started[ $[ ] eq '') &&
-: !($input::Before_problem_other =~ m/\S/ )) {
-: $error = 1;
-: $Before_problem_first_started_error = <<"BEFORE_PROBLEM_FIRST_STARTED_ERROR";
-: ERROR: You must specify when the problem you are reporting occurs.
-: Either select one of the choices by checking the box next to it, or
-: check the "Other" box and briefly describe when the problem occurs
-: by typing text into the box below.
-: BEFORE_PROBLEM_FIRST_STARTED_ERROR
-: $formerrormessages .= $Before_problem_first_started_error;
-: $formerrorcontents .= '<li><a href="#Before_problem_first_started">Before Problem First Started</a></li>';
-: } elsif (!($input::Before_problem_other =~ m/\S/ )) {
-: my ($abbrev) = '';
-: foreach $abbrev (@input::Before_problem_first_started) {
-: if ("Other" eq $Before_problem_first_started_values{$abbrev}) {
-: $error = 1;
-: $Before_problem_first_started_error = <<"BEFORE_PROBLEM_FIRST_STARTED_OTHER_ERROR";
-: ERROR: If you check the "Other" box, you must briefly describe what happened
-: before the problem started by typing text into the box below.
-: BEFORE_PROBLEM_FIRST_STARTED_OTHER_ERROR
-: $formerrormessages .= $Before_problem_first_started_error;
-: $formerrorcontents .= '<li><a href="#Before_problem_first_started">Before Problem First Started</a></li>';
-: last;
-: }
-: }
-: }
-:
-:
-: # DJM Monday, January 13, 2003: test properly to see whether the user
-: # checked at least one box.
-: # if ((@Corrective_actions eq ()) &&
-: if (($input::Corrective_actions[ $[ ] eq '') &&
-: !($input::Corrective_actions_other =~ m/\S/ )) {
-: $error = 1;
-: $Corrective_actions_error = <<"CORRECTIVE_ACTIONS_ERROR";
-: ERROR: You must specify the corrective actions that you have already tried.
-: If you have not tried anything, please check the box "None of the Above."
-: If you check the "Other" box, please briefly describe what you tried
-: by typing text into the box below.
-: CORRECTIVE_ACTIONS_ERROR
-: $formerrormessages .= $Corrective_actions_error;
-: $formerrorcontents .= '<li><a href="#Corrective_actions">Corrective Actions</a></li>';
-: } elsif (!($input::Corrective_actions_other =~ m/\S/ )) {
-: my ($abbrev) = '';
-: foreach $abbrev (@input::Corrective_actions) {
-: if ("Other" eq $Corrective_actions_values{$abbrev}) {
-: $error = 1;
-: $Corrective_actions_error = <<"CORRECTIVE_ACTIONS_OTHER_ERROR";
-: ERROR: If you check the "Other" box, you must briefly describe the
-: corrective actions you tried by typing text into the box below.
-: CORRECTIVE_ACTIONS_OTHER_ERROR
-: $formerrormessages .= $Corrective_actions_error;
-: $formerrorcontents .= '<li><a href="#Corrective_actions">Corrective Actions</a></li>';
-: last;
-: }
-: }
-: }
-:
-: if ($input::Windows_Version eq "") {
-: $error = 1;
-: $Windows_Version_error = <<"WINDOWS_VERSION_ERROR";
-: ERROR: You must select the version of Windows you are running on the
-: computer where you run Pocket Full of Listings. If the version of Windows
-: you are running is not on the list, select "Not Listed/Other".
-: WINDOWS_VERSION_ERROR
-: $formerrormessages .= $Windows_Version_error;
-: $formerrorcontents .= '<li><a href="#Windows_Version">Windows Version</a></li>';
-: }
-:
-:
-: # DJM Tuesday, December 10, 2002: we do not require this field.
-: # if ($input::Problem_description eq "") {
-: # $error = 1;
-: # $Problem_description_error = <<"PROBLEM_DESCRIPTION_ERROR";
-: # ERROR: You must enter a description of the problem you are having with PC
-: # Access.
-: # PROBLEM_DESCRIPTION_ERROR
-: # $formerrormessages .= $Problem_description_error;
-: # $formerrorcontents .= '<li><a href="#Problem_description">Problem Description</a></li>';
-: # }
-:
-: # If the form data has errors, set $input::send_report to 0 to tell the later code
-: # to redisplay the form.
-: # DJM Thursday, November 7, 2002: if there are errors, send an e-mail
-: # message to the address in $e_mail_destination_error.
-: if ($error) {
-: $input::send_report = 0;
-: &SendErrorMail($formerrormessages);
-: } else {
-: # if no error process the form and submit the problem report.
-: &SendProblemReport($e_mail_destination, '');
-: &SendProblemReport($e_mail_destination_error, $success_message);
-:
-: }
-: }
-:
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <html>
-: <head>
-: <title>'.($form_title).', MFM Communication Software, Inc.</title>
-: </head>
-: <!--#include virtual="/ssi_header.html" -->
-:
-: '));
-: # If there is an error *OR* the user did not click the Send Report button,
-: # redisplay the form.
-: if (($error) || (!$input::send_report)) {
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <h1>
-: '.($form_title).'
-: </h1>
-:
-: '));
-: # If the form contains errors, display a relative table of contents
-: # linking to all the fields that contain errors.
-: if ($error) {
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <hr size=1>
-: <h2>Error in Your Form Input</h2>
-: <p>
-: <font size="+1">
-: <font color="red">The data you entered on the form appears to contain at
-: least one error.</font> This means you have not yet submitted your
-: form contents properly. Please correct
-: the errors and click the <strong>Send Report</strong> button again. Use the
-: following links to jump to your errors quickly.
-: </font>
-: <ul>
-: '.($formerrorcontents).'
-: </ul>
-: </p>
-: <hr size=1>
-: '));
-: }
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-: <h3>
-: Introduction
-: </h3>
-: Before you complete the Problem Report Form, you may want to read the topics
-: below. When you click on one of the links below, your browser will open
-: a new window. When you finish reading the information, close the browser window
-: to return to this form.
-: <ul>
-: <!-- BPP: Wednesday, May 29, 2002: MFM has a new support policy. Instead
-: of trying to add our support policy to the pop-up window, I just link to
-: the URL. -->
-: <li><a href="/support_policy.html" target="new1">Technical Support Policy</a>
-: <!-- <li><a href="/feedback/popup_pcawin_emailsupport.html?Pocket%20Full%20of%20Listings" target="new1">E-mail Support Policy</a>-->
-: <li><a href="/feedback/popup_pcawin_differs.html" target="new2">How E-mail Support Differs from Telephone Support</a>
-: <li><a href="/feedback/popup_pcawin_read.html" target="new3">Read the Problem Report Form before Starting</a>
-: <li><a href="/feedback/popup_pcawin_confirm.html?pda-support@mfm.com" target="new4">Automatic Confirmation Message</a>
-: <li><a href="/feedback/popup_pcawin_describe.html?Pocket%20Full%20of%20Listings" target="new5">Describe Your Problem Completely</a>
-: <li>Fill out the <a href="#form">Pocket Full of Listings Problem Report Form</a>
-: </ul>
-:
-:
-: <hr>
-:
-: <a name="form"></a>
-: <h3>Information About You
-: (<b><font color="FF0000">required</font></b>)
-: </h3>
-:
-: <p>
-: Tell us who and where you are. If you are unable to find out the value
-: of a required item, type: "don\'t know." Please state your
-: first name and last name.
-: </p>
-:
-: <form action="'.($ENV{SCRIPT_NAME}).'" method="'.($method).'">
-:
-: '));
-: # DJM Wednesday, December 18, 2002: I can shorten the amount of
-: # redundant code by generating the HTML for an <input type=text> tag
-: # with a subroutine.
-: # print &MakeInputText("first_name", "First Name:", $input::first_name,
-: # $first_name_error);
-: # DJM Friday, March 21, 2003: now I call the MakeInputText from FormUtil.pm.
-: # I added a calling argument: \%field_abbrevs, a reference to the hash
-: # of field abbreviations this ASP script defines.
-: # BPP Tuesday, April 1, 2003: see the comments in CVS:/perllib/MFM/FormUtil.pm
-: # for the current subroutine definitions.
-: print &MakeInputText("your_name", "Your Name:", $input::your_name,
-: $your_name_error, \%field_abbrevs);
-: print &MakeInputText("company_name", "Company Name (optional):",
-: $input::company_name, undef, \%field_abbrevs);
-: print &MakeInputText("e_mail", "E-mail address:", $input::e_mail,
-: $e_mail_error, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-: <table width="'.($tablewidth).'">
-: <tr>
-: <td width="'.($captionwidth).'" align="right">
-: <font size="-1"><strong>Verify address:</strong></font>
-: </td>
-: <td width="'.($fieldwidth).'" align="left">
-: <input type="checkbox" name="'.($field_abbrevs{'check_email'}).'" value="true"
-: '.($input::check_email).'>
-: </td>
-: </tr>
-: </table>
-: '));
-: print &MakeInputText("fax_number", "Fax Number (optional):", $input::fax_number,
-: undef, \%field_abbrevs);
-: print &MakeInputText("city", "City:", $input::city,
-: $city_error, \%field_abbrevs);
-: # Template for future editing:
-: # print &MakeInputText("", "", $, $_error);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-:
-:
-: '));
-: # Generate the HTML code for the <select> tags. The calling
-: # arguments for sub MakeSelect are:
-: # my ($name, $caption, $default_value, $current_abbrev, $abbrevs_ref,
-: # $values_ref, $required_flag, $error_message) = @_;
-: # DJM Friday, March 21, 2003: sub MakeSelect and sub MakeCheckbox are
-: # also in FormUtil.pm now, and I changed the calling arguments slightly.
-: # I preserved an old call here to illustrate what I changed.
-: # print &MakeSelect("state", "State:",
-: # undef, $input::state, &SortValues(%state_values), 1, $state_error);
-: # BPP Tuesday, April 1, 2003: see the comments in CVS:/perllib/MFM/FormUtil.pm
-: # for the current subroutine definitions.
-: print &MakeSelect("state", "State:",
-: undef, $input::state, \%state_values, 1, $state_error, \%field_abbrevs);
-: print &MakeInputText("agent_ID", "Agent ID (optional):", $input::agent_ID,
-: $agent_ID_error, \%field_abbrevs);
-: print &MakeSelect("user_type", "I am an:",
-: "End User", $input::user_type, \%user_type_values, 1, undef, \%field_abbrevs);
-: print &MakeSelect("user_skill", "My computer skills:",
-: "Intermediate", $input::user_skill, \%user_skill_values, 1,
-: undef, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-:
-:
-: <h3>Information About Your Copy of Pocket Full of Listings
-: (<b><font color="FF0000">required</font></b>)
-: </h3>
-:
-: '));
-: print &MakeSelect("PFoL_Program", "Select the program you are using:",
-: undef, $input::PFoL_Program, \%PFoL_Program_values, 1,
-: $PFoL_Program_error, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-:
-: <p>
-: To find your serial number, look on the label of your <strong>Pocket Full
-: of Listings CD-ROM disk</strong>. If you don\'t have the disk handy, you
-: may leave this field blank.
-:
-:
-: '));
-: print &MakeInputText("PFoL_Serial_Number", "Serial Number (optional):",
-: $input::PFoL_Serial_Number, $PFoL_Serial_Number_error, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-:
-:
-:
-:
-:
-:
-: <h3>
-: Describe the Problem You are Having
-: (<b><font color="FF0000">required</font></b>)
-: </h3>
-:
-:
-: '));
-: # Generate the HTML code for the checkbox groups. The calling
-: # arguments for sub MakeCheckbox are:
-: # ($name, $caption, $current_abbrevs_ref, $abbrevs_ref,
-: # $values_ref, $required_flag, $error_message) = @_;
-: # BPP Tuesday, April 1, 2003: see the comments in CVS:/perllib/MFM/FormUtil.pm
-: # for the current subroutine definitions.
-: print &MakeCheckbox("Problem_occurs_when",
-: "Select all that apply:", \@input::Problem_occurs_when,
-: \%Problem_occurs_when_values, 1, $Problem_occurs_when_error,
-: \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: (<em>Please press <strong>Enter</strong> every 65 characters per line</em>):
-: <textarea rows="4" cols="70" align="left" name="'.($field_abbrevs{'Problem_is_when_other'}).'">
-: '.($input::Problem_is_when_other).'
-: </textarea>
-:
-: <h3>
-: Before the problem first started
-: (<b><font color="FF0000">required</font></b>)
-: </h3>
-:
-: ')); print &MakeCheckbox("Before_problem_first_started",
-: "Select all that apply:", \@input::Before_problem_first_started,
-: \%Before_problem_first_started_values, 1,
-: $Before_problem_first_started_error, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: (<em>Please press <strong>Enter</strong> every 65 characters per line</em>):
-: <textarea rows="4" cols="70" align="left" name="'.($field_abbrevs{'Before_problem_other'}).'">
-: '.($input::Before_problem_other).'
-: </textarea>
-:
-:
-:
-:
-: <h3>
-: Corrective actions I have already tried
-: (<b><font color="FF0000">required</font></b>)
-: </h3>
-:
-: '));
-: print &MakeCheckbox("Corrective_actions",
-: "Select all that apply:", \@input::Corrective_actions,
-: \%Corrective_actions_values, 1, $Corrective_actions_error,
-: \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: (<em>Please press <strong>Enter</strong> every 65 characters per line</em>):
-: <textarea rows="4" cols="70" align="left" name="'.($field_abbrevs{'Corrective_actions_other'}).'">
-: '.($input::Corrective_actions_other).'
-: </textarea>
-:
-: <h3>
-: I Contacted
-: </h3>
-: I last spoke with
-: <input type="text" size="30" name="'.($field_abbrevs{'I_last_spoke_with'}).'"
-: value="'.($input::I_last_spoke_with).'">
-: of
-: <input type="text" size="30" name="'.($field_abbrevs{'Contact_company'}).'"
-: value="'.($input::Contact_company).'">
-: '));
-: # The "I contacted" checkbox "group" only has one checkbox, so list-ify
-: # its value.
-: my @I_contacted = ($input::I_contacted);
-: $I_contacted_HTML = &MakeCheckbox("I_contacted",
-: "I previously reported this problem to MFM Technical Support:", \@input::I_contacted,
-: \%I_contacted_values, 0, undef, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-: '.($I_contacted_HTML).'
-: <br>
-: If Yes, please enter the date you reported the problem:
-: <input type="text" size="30" name="'.($field_abbrevs{'Previous_report_date'}).'"
-: value="'.($input::Previous_report_date).'">
-:
-:
-: <h3>
-: Error Message Information
-: </h3>
-:
-: <p>
-: If Pocket Full of Listings, PLDownload or Windows displays an error
-: message, it is <em>vitally important</em> for you to tell us the
-: <em>exact</em> text of the error message as it appears on your display.
-: If necessary, go back, reproduce the error, and <em>write down the exact
-: error text</em> before completing the rest of this form. If you get a
-: sequence of error messages, the <em>first</em> error message is usually
-: the most important.
-: </p>
-:
-: '));
-: print &MakeSelect("Error_message", "Error message:",
-: 'No Error Message Appears', $input::Error_message,
-: \%Error_message_values, 0, $Error_message_error, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <textarea rows="4" cols="70" align="left" name="'.($field_abbrevs{'Error_message_text'}).'">
-: '.($input::Error_message_text).'
-: </textarea>
-:
-:
-: <h3>
-: Your Computer Information
-: </h3>
-: <p>
-: Your equipment: the more information you can give us about the
-: computer equipment you are using, the more likely we are to solve your
-: problem quickly and accurately. If you don\'t know the correct brand
-: and model for any of the following, leave it blank.
-:
-: </p>
-:
-: '));
-: print &MakeSelect("Windows_Version", "Windows Version:",
-: undef, $input::Windows_Version, \%Windows_Version_values, 1,
-: $Windows_Version_error, \%field_abbrevs);
-: print &MakeInputText("Modem", "Modem:", $input::Modem,
-: undef, \%field_abbrevs);
-: print &MakeInputText("Computer", "Computer:", $input::Computer,
-: undef, \%field_abbrevs);
-: print &MakeSelect("CPU", "Processor Class:",
-: 'Pentium (586)', $input::CPU,
-: \%CPU_values, 0, $CPU_error, \%field_abbrevs);
-: print &MakeSelect("Computer_type", "Computer type:",
-: undef, $input::Computer_type,
-: \%Computer_type_values, 0, $Computer_type_error, \%field_abbrevs);
-: print &MakeSelect("Computer_on_LAN", "Computer on LAN:",
-: undef, $input::Computer_on_LAN,
-: \%Computer_on_LAN_values, 0, $Computer_on_LAN_error, \%field_abbrevs);
-: print &MakeInputText("Palm_model", "Palm model:",
-: $input::Palm_model, undef, \%field_abbrevs);
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-: <a name="Problem_description"></a>
-: <h3>Problem Description</h3>
-: <p>
-: General problem description: if you can add any information that does not fit
-: into the above categories, do so here. As you type your problem description,
-: press the <strong>Enter</strong> key after about every 65 characters to keep
-: your lines short:
-: </p>
-: <textarea rows="8" cols="70" align="left" name="'.($field_abbrevs{'Problem_description'}).'">
-: '.($input::Problem_description).'
-: </textarea>
-: '));
-: if ($Problem_description_error) {
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <font color="red">
-: '.($Problem_description_error).'
-: </font>
-: <hr size="1">
-: '));
-: }
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <p>
-:
-:
-: <p>
-: <input type="submit" name="'.($button_abbrevs{'send_report'}).'" value="Send Report">
-:
-: <input type="reset" value="Erase Fields and Start Over">
-: </p>
-:
-:
-:
-:
-: </form>
-:
-: '));
-: # If the form contains errors, tell the user we sent an error report to
-: # form-errors.
-: if ($error) {
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <font color="red">
-: The server has e-mailed a report of this error to
-: '.($e_mail_destination_error).'</font>. Please try to correct
-: the error(s) and resubmit the form. If you are unable to
-: correct the error(s), please send a message to:
-: <a href="'.($e_mail_destination_error).'">'.($e_mail_destination_error).'</a>
-: describing the problem you are having, and an MFM support
-: representative will help you.
-: '));
-: }
-: } else {
-: # If we get here that means we must have just sent the report.
-: # elsif ($input::send_report) {
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <!-- Display a confirmation message. -->
-: <h2>
-: Thank You for Your Report
-: </h2>
-:
-: Thank you for reporting a problem to MFM. Your problem report is on its
-: way to '.($e_mail_destination).'. You entered the following information:
-:
-: '));
-: my $user_input = &DumpUserInput();
-: ; &Apache::ASP::WriteRef($main::Response, \('
-: <pre>
-: '.($user_input).'
-: </pre>
-:
-:
-: '));
-: }
-:
-: # DJM Saturday, November 23, 2002: dump the environment variables into an
-: # HTML comment so we can see them in the page source. Comment this call
-: # out of the production version of this page. Note: this is a clumsy way
-: # to debug an ASP page by printing variable values to an HTML comment where
-: # we can see them.
-: my $dumpEnvironment = &DumpEnvironment;
-: # DJM Tuesday, November 26, 2002: also display the HTTP_REFERER we had at
-: # the start of the session, which we should be dragging along for possible
-: # future use:
-: $dumpEnvironment .= "\nHTTP_REFERER value from the start of this session:\n" .
-: " " . $http_referer . '\n';
-:
-: # DJM Monday, January 13, 2003: I'm having trouble detecting when
-: # the user has left every item in a checkbox group and its "other"
-: # <textarea> field blank. Print the values we have now for a
-: # sample checkbox group and its "other" <textarea> field so I can
-: # see if my tests are correct.
-: my $ii = 0;
-: my $problem_occurs = undef;
-: $dumpEnvironment .= "\nSome debugging information for a checkbox group\n" .
-: "and its 'other' textarea field:\n";
-: $dumpEnvironment .= "Values of the \@input::Problem_occurs_when list:\n";
-: foreach $problem_occurs (@input::Problem_occurs_when) {
-: $dumpEnvironment .= ' $input::Problem_occurs_when[' . $ii . '] = ' .
-: "'" . $input::Problem_occurs_when[$ii] . "'\n";
-: $ii++;
-: }
-: # Check whether I correctly detect an empty list earlier on the form.
-: if (@input::Problem_occurs_when eq ()) {
-: $dumpEnvironment .= "The \@input::Problem_occurs_when list appears to be empty.\n" .
-: "If you actually checked a box in this group on the form, this is wrong.\n";
-: } else {
-: $dumpEnvironment .= "The \@input::Problem_occurs_when list appears to be not empty.\n" .
-: "If you did not check a box in this group on the form, this is wrong.\n";
-: }
-: $dumpEnvironment .= "\nValue of the \$input::Problem_is_when_other textarea field:\n";
-: $dumpEnvironment .= ' ' . "'$input::Problem_is_when_other'\n";
-: # Check whether I correctly test an empty textarea field earlier on the form.
-: if ($input::Problem_is_when_other =~ m/\S/ ) {
-: $dumpEnvironment .= "The \$input::Problem_is_when_other textarea field\n" .
-: "appears to contain a non-whitespace character. The character is:\n" .
-: "'$&' (ASCII value: " . printf("%d (decimal) %X (hex)", $&, $&) .
-: "\"\n";
-: $dumpEnvironment .= "If you meant to leave the field blank, this is " .
-: "incorrect.\n";
-: } else {
-: $dumpEnvironment .= "The \$input::Problem_is_when_other textarea field\n" .
-: "appears to contain no non-whitespace character. If you meant to\n" .
-: "leave the field blank, this is correct.\n";
-: }
-: ; &Apache::ASP::WriteRef($main::Response, \('
-:
-:
-: <hr>
-:
-: <!-- This is the beginning of the repeating footer for every page -->
-: <!-- BAP Tuesday, March 30, 1999: include the footer for the
-: Problem pages -->
-: <!--#include virtual="/contents/ssi_footer.shtml" -->
-:
-: <!--
-: Dump of environment variables:
-: '.($dumpEnvironment).'
-: -->
-: '));
-:
-:
-:
-:
-: sub SendProblemReport {
-: my($e_mail_destination, $success_message) = @_;
-: my $subject =
-: "Response from $input::your_name on the form: $form_title";
-: my $user_input = &DumpUserInput();
-:
-: my $output = <<"MailMessage";
-: $success_message
-:
-: $input::your_name has filled out the form:
-: $form_title
-: at this URL: $form_URL
-:
-: The form contents are:
-: ${user_input}
-:
-: ****
-: $cc_message
-: MailMessage
-:
-: # DJM Wednesday, March 26, 2003: remove HTML tags from the message text.
-: $output =~ s/<[^>]*>//g;
-: # DJM Wednesday, March 26, 2003: remove the "(Show Me)" string from
-: # the message text.
-: $output =~ s/\(Show Me\)//g;
-:
-: #Arguments: to; subject; message;from; CC
-: # &SendMail($e_mail_destination,$subject,$output,$input::e_mail,$input::e_mail);
-:
-: # We do not want to CC the success message to the user.
-: my $cc_address = '';
-: unless ($success_message) {
-: $cc_address = $input::e_mail;
-: }
-:
-: # DJM Friday, March 21, 2003: now we use MFM::MailSender instead. Maybe the
-: # 'cc' calling argument will actually work now.
-: MFM::MailSender->new(
-: to => $e_mail_destination,
-: toName => '',
-: from => $input::e_mail,
-: fromName => $input::your_name,
-: replyTo => '',
-: cc => $cc_address,
-: bcc => '',
-: subject => $subject,
-: xheaders => '',
-: text => $output,
-: debug => 0,
-: wrapCol => 88,
-: )->SendMail;
-: }
-:
-: # DJM Wednesday, November 6, 2002: add a sub to generate an error
-: # message e-mail we can send to the form-errors alias. That way if a
-: # user can't figure out how to fill out the form, at least we have
-: # a record of what the user tried.
-: sub SendErrorMail {
-: # DJM Friday, March 21, 2003: I previously forgot to make a local copy of
-: # the calling argument.
-: my($formerrormessages) = @_;
-:
-: # I should not have to retrieve any form values because they are all
-: # in global values at the top of this file.
-:
-: my $subject = "Error on the form: $form_title";
-: my $user_input = &DumpUserInput();
-:
-: my $output = <<"MailErrorMessage";
-: Someone tried to fill out the form:
-: $form_title
-: at this URL: $form_URL
-: but had at least one error. Here is the information we received from
-: the user:
-: ${user_input}
-:
-: This is what we think the user did wrong:
-:
-: $formerrormessages
-:
-: A dump of all environment variables (for testing):
-: MailErrorMessage
-:
-: # DJM Wednesday, March 26, 2003: remove HTML tags from the message text.
-: $output =~ s/<[^>]*>//g;
-: # DJM Wednesday, March 26, 2003: remove the "(Show Me)" string from
-: # the message text.
-: $output =~ s/\(Show Me\)//g;
-:
-: $output .= &DumpEnvironment;
-:
-: # If the user entered an invalid e-mail address, SendMail will fail,
-: # so blank out the $input::e_mail variable if we think the address is invalid.
-: # BPP Friday March 28, 2003: MFM::MailSender requires a valid e-mail address.
-: # If the user enters an invalid e-mail address, we will have to create a
-: # fictitious but valid e-mail address to use as the return address for
-: # the e-mail message to form-errors.
-: my $user_e_mail = $input::e_mail;
-: if ($e_mail_error) {
-: $user_e_mail = $e_mail_destination_error;
-: }
-: # DJM Sunday, December 22, 2002: if the user entered an $input::agent_ID, try
-: # to look up the user's agent record from the 'intralist_new' database.
-: # Mark Dame says this will change "in a couple of months," so I will
-: # have to use a different method. Also, this will need work when MFM
-: # sets up to handle agents from cities other than Cincinnati.
-: if ($input::agent_ID ne "") {
-: $output .= &GetAgentInfo($input::agent_ID);
-: }
-: # DJM Sunday, August 10, 2003: set up the Reply-To: header line to make
-: # the error message easy for a support representative to respond to:
-: # my $replyTo = "<$e_mail_destination_support>, " . '"' .
-: # $input::your_name . '" <', $user_e_mail, '>';
-: my $replyTo = "<$e_mail_destination_support>, $input::your_name <$user_e_mail>";
-:
-: #Arguments: to; subject; message;from; CC(none)
-: # &SendMail($e_mail_destination_error,$subject,$output,$user_e_mail);
-: # &SendMail("dsteinbrunner\@mfm.com",$subject,$output,$user_e_mail);
-: # &SendMail("dmocsny\@mfm.com",$subject,$output,$user_e_mail);
-: # DJM Friday, March 21, 2003: now we use MFM::MailSender instead.
-: MFM::MailSender->new(
-: to => $e_mail_destination_error,
-: toName => '',
-: from => $user_e_mail,
-: fromName => '',
-: replyTo => $replyTo,
-: cc => '',
-: bcc => '',
-: subject => $subject,
-: xheaders => '',
-: text => $output,
-: debug => 0,
-: wrapCol => 88,
-: )->SendMail;
-: }
-:
-: # DJM Saturday, November 23, 2002: I needed to dump the environment variables
-: # from a couple of places while I was testing the script, so it's handy to
-: # have a subroutine that can print out the environment variables with some
-: # formatting. Feel free to uncomment my calls to this subroutine if you
-: # need help debugging this script or whatever you edit it into.
-: sub DumpEnvironment {
-: my $output;
-: my $key;
-: foreach $key (keys(%ENV)) {
-: $output .= "$key:";
-: $output .= " " x (20 - length($key));
-: $output .= $ENV{$key} . "\n";
-: }
-: return($output);
-: }
-:
-: # DJM Friday, December 6, 2002: we need to format the user's input from
-: # more than one place, so do it in a sub. We must expand the values
-: # of fields that return abbreviated values---those are <select> tags,
-: # checkbox groups, and radio button groups.
-: sub DumpUserInput {
-: # DJM Wednesday, December 11, 2002: output the checkbox groups to variables
-: # first so we can insert them into the following 'here' document.
-: my $abbrev = '';
-: $input::Problem_occurs_when = "The problem occurs when:\n";
-: foreach $abbrev (@input::Problem_occurs_when) {
-: $input::Problem_occurs_when .=
-: " $Problem_occurs_when_values{$abbrev}\n";
-: }
-: $input::Before_problem_first_started = "Before the problem first started:\n";
-: foreach $abbrev (@input::Before_problem_first_started) {
-: $input::Before_problem_first_started .=
-: " $Before_problem_first_started_values{$abbrev}\n";
-: }
-: $input::Corrective_actions = "Corrective actions I have already tried:\n";
-: foreach $abbrev (@input::Corrective_actions) {
-: $input::Corrective_actions .=
-: " $Corrective_actions_values{$abbrev}\n";
-: }
-: # DJM Wednesday, December 11, 2002: the <textarea> fields can return
-: # annoying carriage return/linefeed sequences if the user leaves them
-: # entirely blank. So replace their values with empty strings if they
-: # only contain no non-whitespace character.
-: if (!($input::Problem_is_when_other =~ m/\S/)) {
-: $input::Problem_is_when_other = "";
-: }
-: if (!($input::Before_problem_other =~ m/\S/)) {
-: $input::Before_problem_other = "";
-: }
-: if (!($input::Corrective_actions_other =~ m/\S/)) {
-: $input::Corrective_actions_other = "";
-: }
-: if (!($input::Error_message_text =~ m/\S/)) {
-: $input::Error_message_text = "";
-: }
-: if (!($input::Problem_description =~ m/\S/)) {
-: $input::Problem_description = "";
-: }
-:
-: my $user_input = <<"USER_INPUT";
-: Your Name: $input::your_name
-: E-mail Address: $input::e_mail
-: Check the E-mail Address: $input::check_email
-: Fax Number: $input::fax_number
-: City: $input::city
-: State: $state_values{$input::state}
-: User Type: $user_type_values{$input::user_type}
-: User Skill: $user_skill_values{$input::user_skill}
-: Agent ID: $input::agent_ID
-: PFoL Serial Number: $input::PFoL_Serial_Number
-: PFoL Program: $PFoL_Program_values{$input::PFoL_Program}
-: $input::Problem_occurs_when
-: Problem is when other:
-: $input::Problem_is_when_other
-: $input::Before_problem_first_started
-: Before problem first started other:
-: $input::Before_problem_other
-: $input::Corrective_actions
-: Corrective actions other:
-: $input::Corrective_actions_other
-: I last spoke with: $input::I_last_spoke_with
-: of: $input::Contact_company
-: Previously reported to MFM: $I_contacted_values{$input::I_contacted}
-: on the date: $input::Previous_report_date
-: Error message: $Error_message_values{$input::Error_message}
-: $input::Error_message_text
-: Windows Version: $Windows_Version_values{$input::Windows_Version}
-: Modem: $input::Modem
-: Computer: $input::Computer
-: Processor class: $CPU_values{$input::CPU}
-: Computer type: $Computer_type_values{$input::Computer_type}
-: Computer on LAN: $Computer_on_LAN_values{$input::Computer_on_LAN}
-: Palm model: $input::Palm_model
-: Problem Description:
-: $input::Problem_description
-:
-: USER_INPUT
-: return $user_input;
-: }
-:
-:
-: # DJM Sunday, December 22, 2002: I copied the following subroutine from a
-: # script I worked on earlier:
-: # /var/www/websites/mfm-pda/htdocs/PDA/register_djm.asp
-: # C:\var\www\websites\mfm-pda\htdocs\PDA\register_djm.asp
-: # This will enable me to retrieve an agent's information from MFM's
-: # 'intralist_new' database, if the agent is from the greater Cincinnati area.
-: # I changed some code from my original version: now I get the agent ID
-: # from a calling argument, and I check to see if I retrieved any agent data.
-: #
-: # DJM Tuesday, December 3, 2002: Wendell Morris wants to cross-check the
-: # information the agent enters on the Register form against agent information
-: # MFM downloads from a database. NOTE: according to Mark Dame, this will
-: # change "in a few months." For more information see my notes in:
-: # http://intranet.mfm.com/tasks/djmtasks/web/asp.txt
-: sub GetAgentInfo {
-: my($agent_ID) = @_;
-: my $output = "";
-:
-: my $member;
-:
-: foreach ('mls_cincy') {
-: $member =
-: MLS::Member->new(
-: dsn => $_,
-: agent_code => $agent_ID,
-: );
-: last if ($member->AgentID);
-: }
-:
-: # Attempt to print the data we found, if any:
-