Beispiel #1
0
$num_rows = mysql_num_rows($result);
if ($VERBOSE == 'YES') {
    echo "Email Debug:{$num_rows} Employers to email<br>\n";
}
$count = 0;
while ($user_row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $to_name = jb_get_formatted_name($user_row['FirstName'], $user_row['LastName']);
    if ($user_row['alert_email'] == '') {
        $to_address = trim($user_row['Email']);
    } else {
        $to_address = trim($user_row['alert_email']);
    }
    if ($VERBOSE == 'YES') {
        echo "Email Debug: Processing ({$to_name} {$to_address})<br>";
    }
    if (!JB_validate_mail($to_address)) {
        if ($VERBOSE == 'YES') {
            echo "Email Debug: Invalid email address for: |{$to_name}| [{$to_address}] (" . $user_row['ID'] . ") <br>\n";
            // to do.. unsubscribe this user
        }
    } else {
        $where_sql = '';
        $html_keywords_line = '';
        $text_keywords_line = '';
        if ($user_row['alert_keywords'] == 'Y') {
            // Alert filter is enabled!
            $_Q_STRING = array();
            if ($user_row['alert_query'] != '') {
                $_Q_STRING = unserialize($user_row['alert_query']);
            }
            if (is_array($_Q_STRING)) {
Beispiel #2
0
<tr><td>
From Name:</td><td> <input type="text" name="from_name" value="<?php 
    echo jb_escape_html($_REQUEST['from_name']);
    ?>
"></td></tr>
<tr><td colspan="2">
<input type="submit" value="Apply to All" name="set_global"></td></tr>
</table>
</form>

<hr>

<?php 
}
if ($_REQUEST['submit'] != '') {
    if (JB_validate_mail($_REQUEST['EmailFromAddress'])) {
        $sql = "UPDATE email_templates SET EmailText='" . jb_escape_sql($_REQUEST['EmailText']) . "', EmailFromAddress='" . jb_escape_sql($_REQUEST['EmailFromAddress']) . "', EmailFromName='" . jb_escape_sql($_REQUEST['EmailFromName']) . "', EmailSubject='" . jb_escape_sql($_REQUEST['EmailSubject']) . "', `sub_template`='" . jb_escape_sql($_REQUEST['sub_template']) . "' WHERE EmailID='" . jb_escape_sql($_REQUEST['EmailID']) . "' ";
        $result = JB_mysql_query($sql) or die(mysql_error());
        $sql = "REPLACE INTO `email_template_translations` (`EmailID`, `lang`, `EmailText`, `EmailFromAddress`, `EmailFromName`, EmailSubject, `sub_template`) VALUES (" . jb_escape_sql($_REQUEST['EmailID']) . ", '" . jb_escape_sql($_SESSION["LANG"]) . "', '" . jb_escape_sql($_REQUEST['EmailText']) . "', '" . jb_escape_sql($_REQUEST['EmailFromAddress']) . "', '" . jb_escape_sql($_REQUEST['EmailFromName']) . "', '" . jb_escape_sql($_REQUEST['EmailSubject']) . "', '" . jb_escape_sql($_REQUEST['sub_template']) . "')";
        $result = JB_mysql_query($sql) or die(mysql_error());
        JB_format_email_translation_table();
        $JBMarkup->ok_msg('Template Saved.');
    } else {
        $JBMarkup->ok_msg('Error: From email address is invalid');
    }
}
function email_config_form($email_id)
{
    $result = JB_get_email_template($email_id, $_SESSION['LANG']);
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    if ($row['EmailFromAddress'] == '') {
Beispiel #3
0
 echo mysql_num_rows($letter_result) . " lists to process";
 while ($letter_row = mysql_fetch_array($letter_result, MYSQL_ASSOC)) {
     if ($letter_row["to"] == "CA") {
         $table = "`users`";
     }
     if ($letter_row["to"] == "EM") {
         $table = "`employers`";
     }
     // get the users to send
     $sql = "SELECT * FROM {$table} WHERE `Newsletter`='1' AND '" . jb_escape_sql($letter_row['create_time']) . "' > `newsletter_last_run` ";
     $result = JB_mysql_query($sql) or die($sql . mysql_error());
     echo "Processing new list<br><br>";
     echo mysql_num_rows($result) . " emails to send in this list to:" . $letter_row['to'] . "<br>";
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         echo "Sending to: " . JB_get_formatted_name($row['FirstName'], $row['LastName']) . " <br>";
         if (JB_validate_mail($row['Email'])) {
             // send the sucker
             $msg = str_replace("%name%", JB_get_formatted_name($row['FirstName'], $row['LastName']), $letter_row['message']);
             $msg = str_replace("%username%", $row['Username'], $msg);
             $msg = str_replace("%email%", $row['Email'], $msg);
             $subject = $letter_row['subject'];
             $msg = str_replace("%CANDIDATE_LINK%", JB_BASE_HTTP_PATH . JB_CANDIDATE_FOLDER . "alerts.php?id=" . $row['ID'] . "&key={$val}", $msg);
             $msg = str_replace("%EMPLOYER_LINK%", JB_BASE_HTTP_PATH . JB_EMPLOYER_FOLDER . "alerts.php?id=" . $row['ID'] . "&key={$val}", $msg);
             $to = $row['Email'];
             $from = JB_SITE_CONTACT_EMAIL;
             // Enter your email adress here
             JB_queue_mail($to, JB_get_formatted_name($row['FirstName'], $row['LastName']), $from, JB_SITE_NAME, $subject, $msg, '', 30);
             echo "<hr>Email to:" . jb_escape_html($row['Email']) . " placed on queue<br>";
             $now = gmdate("Y-m-d H:i:s");
             $sql = "UPDATE {$table} SET `newsletter_last_run`='{$now}' WHERE `ID`='" . jb_escape_sql($row['ID']) . "' ";
             JB_mysql_query($sql) or die(mysql_error());
    if (mysql_num_rows($result)) {
        $your_email = array_pop(mysql_fetch_row($result));
    }
}
if ($submit != '') {
    if ($your_email == '') {
        $error .= $label['taf_email_blank'] . " <br>";
    } elseif (!JB_validate_mail($your_email)) {
        $error .= $label['taf_email_invalid'] . "<br>";
    }
    if ($your_name == '') {
        $error .= $label['taf_name_blank'] . "<br>";
    }
    if ($to_email == '') {
        $error .= $label['taf_f_email_blank'] . "<br>";
    } elseif (!JB_validate_mail($to_email)) {
        $error .= $label['taf_f_email_invalid'] . "<br>";
    }
    if ($subject == '') {
        $error .= $label['taf_subject_blank'] . "<br>";
    }
    // new checks to discourage spam
    if (!empty($message) && strlen($message) > 140) {
        // that's about a paragraph, 3 lines
        $error .= $label['taf_msg_too_long'] . "<br>";
    }
    if (!empty($subject) && strlen($subject) > 35) {
        $error .= $label['taf_subj_too_long'] . "<br>";
    }
    if (strpos($message, '://') !== false) {
        // no URLs allowed
 function validate_employer()
 {
     $username = $this->get_data_value('Username', 4);
     $password = $this->get_data_value('Password', 4);
     $fname = $this->get_data_value('FirstName', 4);
     $lname = $this->get_data_value('LastName', 4);
     $email = $this->get_data_value('Email', 4);
     if (!preg_match('#^[a-z0-9À-ÿ\\-_\\.@]+$#Di', $username)) {
         $this->set_import_error = "Error: Cannot create a new employer account because if invalid username / username was blank [{$username}] ";
         return false;
     }
     if ($password == '') {
         $this->set_import_error("Error: Cannot create a new employer account because password was blank [{$password}] ");
         return false;
     }
     if ($fname == '') {
         $this->set_import_error("Error: Cannot create a new employer account because First Name was blank [{$fname}] ");
         return false;
     }
     if ($lname == '') {
         $this->set_import_error("Error: Cannot create a new employer account because Last Name was blank [{$lname}] ");
         return false;
     }
     if (!JB_validate_mail($email)) {
         $this->set_import_error("Error: Cannot create a new employer account because email was invalid [{$lname}] ");
         return false;
     }
     return true;
 }
Beispiel #6
0
function JB_validate_employer_data($form_id)
{
    global $label;
    $errors = array();
    if ($_REQUEST['FirstName'] == false) {
        $errors[] = $label['employer_signup_error_name'];
    }
    if ($_REQUEST['LastName'] == false) {
        $errors[] = $label['employer_signup_error_ln'];
    }
    if ($_REQUEST['user_id'] == false) {
        if ($_REQUEST['Password'] != $_REQUEST['Password2']) {
            $errors[] = $label['employer_signup_error_pmatch'];
        }
        if ($_REQUEST['Username'] == false) {
            $errors[] = $label["employer_signup_error_user"];
        } else {
            $sql = "SELECT * FROM `employers` WHERE `Username`='" . jb_escape_sql($_REQUEST['Username']) . "' ";
            $result = JB_mysql_query($sql) or die(mysql_error() . $sql);
            $row = mysql_fetch_array($result, MYSQL_ASSOC);
            if ($row['Username'] != false) {
                $errors[] = str_replace('%username%', jb_escape_html($_REQUEST['Username']), $label['employer_signup_error_inuse']);
            } elseif (!preg_match('#^[a-z0-9À-ÿ\\-_\\.@]+$#Di', $_REQUEST['Username'])) {
                $errors[] = $label['employer_signup_error_uname'];
            }
        }
        if ($_REQUEST['Password'] == false) {
            $errors[] = $label["employer_signup_error_p"];
        } elseif (strlen(trim($_REQUEST['Password'])) < 6) {
            $errors[] = $label['employer_signup_error_pw_too_weak'];
        }
        if ($_REQUEST['Password2'] == false) {
            $errors[] = $label['employer_signup_error_p2'];
        }
    }
    if ($_REQUEST['Email'] == false) {
        $errors[] = $label["employer_signup_error_email"];
    } elseif (!JB_validate_mail($_REQUEST['Email'])) {
        $errors[] = $label['employer_signup_error_invemail'];
    } else {
        if ($_REQUEST['user_id'] == false) {
            // for new account signups, make sure the email does not already exist
            $result = JB_mysql_query("SELECT * from `employers` WHERE `Email`='" . jb_escape_sql($_REQUEST['Email']) . "'") or die(mysql_error());
            $row = mysql_fetch_array($result, MYSQL_ASSOC);
        }
        if ($row['Email'] != false) {
            $errors[] = $label['employer_signup_email_in_use'];
        }
    }
    if ($_REQUEST['user_id'] != false) {
        if (!is_numeric($_REQUEST['user_id'])) {
            return 'Invalid Input!';
        }
    }
    $_REQUEST['FirstName'] = JB_clean_str($_REQUEST['FirstName']);
    $_REQUEST['LastName'] = JB_clean_str($_REQUEST['LastName']);
    $_REQUEST['CompName'] = JB_clean_str($_REQUEST['CompName']);
    $_REQUEST['Username'] = JB_clean_str($_REQUEST['Username']);
    $_REQUEST['Email'] = JB_clean_str($_REQUEST['Email']);
    $_REQUEST['Newsletter'] = JB_clean_str($_REQUEST['Newsletter']);
    $_REQUEST['Notification1'] = JB_clean_str($_REQUEST['Notification1']);
    $_REQUEST['Notification2'] = JB_clean_str($_REQUEST['Notification2']);
    $_REQUEST['lang'] = JB_clean_str($_REQUEST['lang']);
    $error = '';
    JBPLUG_do_callback('valiate_employer_account', $error);
    if ($error) {
        $list = explode('<br>', $error);
        foreach ($list as $item) {
            $errors[] = $item;
        }
    }
    JBPLUG_do_callback('valiate_employer_account_array', $errors);
    // added in 3.6.6 ($errors is a list)
    $errors = $errors + JB_validate_form_data(4);
    return $errors;
}
Beispiel #7
0
include 'login_functions.php';
require_once '../include/resumes.inc.php';
JB_process_login();
JB_template_employers_header();
JB_render_box_top(80, $label['employer_request_details_head']);
$sql = "SELECT * from `users` where `ID`='" . jb_escape_sql($_REQUEST['user_id']) . "' ";
$result = JB_mysql_query($sql) or die(mysql_error());
$candidate = mysql_fetch_array($result, MYSQL_ASSOC);
$submit = trim($_REQUEST['submit']);
$from = trim($_REQUEST['from']);
$reply_to = JB_clean_str(trim($_REQUEST['reply_to']));
$message = JB_clean_str(trim($_REQUEST['message']));
if ($submit != '') {
    if ($from == '') {
        $error .= $label["employer_request_details_error_msg1"] . "<br>";
    } elseif (!JB_validate_mail($reply_to)) {
        $error .= $label["employer_request_details_error_msg3"] . "<br> ";
    }
    if ($reply_to == '') {
        $error .= $label["employer_request_details_error_msg2"] . "<br>";
    }
    if (JB_request_was_made($candidate['ID'], $_SESSION['JB_ID']) == false && $error == '') {
        jb_add_new_request($candidate['ID'], $_SESSION['JB_ID'], 'REQUEST', $message);
        JB_mysql_query($sql) or die(mysql_error());
        $result = JB_mysql_query("SELECT * from `employers` where `ID`='" . $_SESSION['JB_ID'] . "' ") or die(mysql_error());
        $employer = mysql_fetch_array($result, MYSQL_ASSOC);
        $result = JB_get_email_template(4, $_SESSION['LANG']);
        $e_row = mysql_fetch_array($result, MYSQL_ASSOC);
        $EmailMessage = $e_row['EmailText'];
        //$from = $e_row[EmailFromAddress];
        //$from_name = $e_row[EmailFromName];
function JB_validate_candidate_data($form_id)
{
    global $label;
    $errors = array();
    if ($_REQUEST['user_id'] == false) {
        if ($_REQUEST['Username'] == false) {
            $errors[] = $label["c_signup_error4"];
        } else {
            $result = JB_mysql_query("SELECT * FROM `users` WHERE `Username`='" . jb_escape_sql($_REQUEST['Username']) . "' ") or die(mysql_error() . "we have error");
            $row = mysql_fetch_array($result, MYSQL_ASSOC);
            if ($row['Username'] != '') {
                $label['c_signup_error5'] = str_replace("%USERNAME%", $row['Username'], $label['c_signup_error5']);
                $errors[] = $label['c_signup_error5'];
            } elseif (!preg_match('#^[a-z0-9À-ÿ\\-_\\.@]+$#Di', $_REQUEST['Username'])) {
                $errors[] = $label['c_signup_error11'];
            }
        }
        if ($_REQUEST['Password'] == false) {
            $errors[] = $label['c_signup_error6'];
        } elseif (strlen(trim($_REQUEST['Password'])) < 6) {
            $errors[] = $label['c_signup_error_pw_too_weak'];
        }
        if ($_REQUEST['Password2'] == false) {
            $errors[] = $label["c_signup_error7"];
        }
        if ($_REQUEST['Password'] != $_REQUEST['Password2']) {
            $errors[] = $label["c_signup_error1"];
        }
    }
    if ($_REQUEST['FirstName'] == false) {
        $errors[] = $label["c_signup_error2"];
    }
    if ($_REQUEST['LastName'] == false) {
        $errors[] = $label["c_signup_error3"];
    }
    if ($_REQUEST['Email'] == false) {
        $errors[] = $label["c_signup_error8"];
    } elseif (!JB_validate_mail($_REQUEST['Email'])) {
        $errors[] = $label["c_signup_error8"];
    } else {
        if ($_REQUEST['user_id'] == false) {
            $result = JB_mysql_query("SELECT * from `users` WHERE `Email`='" . jb_escape_sql($_REQUEST['Email']) . "'") or die(mysql_error());
            $row = mysql_fetch_array($result, MYSQL_ASSOC);
            //validate email ";
            if ($row['Email'] != '') {
                $errors[] = " " . $label["c_signup_error10"] . " ";
            }
        }
    }
    if ($_REQUEST['user_id'] != '') {
        if (!is_numeric($_REQUEST['user_id'])) {
            return 'Invalid Input!';
        }
    }
    $_REQUEST['FirstName'] = JB_clean_str($_REQUEST['FirstName']);
    $_REQUEST['LastName'] = JB_clean_str($_REQUEST['LastName']);
    $_REQUEST['Username'] = JB_clean_str($_REQUEST['Username']);
    $_REQUEST['Email'] = JB_clean_str($_REQUEST['Email']);
    $_REQUEST['Newsletter'] = JB_clean_str($_REQUEST['Newsletter']);
    $_REQUEST['Notification1'] = JB_clean_str($_REQUEST['Notification1']);
    $_REQUEST['Notification2'] = JB_clean_str($_REQUEST['Notification2']);
    $_REQUEST['lang'] = JB_clean_str($_REQUEST['lang']);
    JBPLUG_do_callback('valiate_candidate_account', $error);
    $error = '';
    if ($error) {
        $list = explode('<br>', $error);
        foreach ($list as $item) {
            $errors[] = $item;
        }
    }
    JBPLUG_do_callback('valiate_candidate_account_array', $errors);
    // added in 3.6.6
    $errors = $errors + JB_validate_form_data(5);
    return $errors;
}
Beispiel #9
0
         $error .= $APM->get_error_line($label["app_att_too_big"]);
     }
 }
 if ($_FILES['att3']['name'] != '') {
     $all1 = JB_is_filetype_allowed($_FILES['att3']['name']);
     $all2 = JB_is_imagetype_allowed($_FILES['att3']['name']);
     if ($all1 == false && $all2 == false) {
         $label['app_att_not_allowed'] = str_replace("%FILE_NAME%", $_FILES['att3']['name'], $label['app_att_not_allowed']);
         $error .= $APM->get_error_line($label["app_att_not_allowed"]);
     }
     if ($_FILES['att3']['error']) {
         $label['app_att_too_big'] = str_replace("%FILE_NAME%", $_FILES['att3']['name'], $label['app_att_too_big']);
         $error .= $label['app_att_too_big'] . $APM->get_line_break();
     }
 }
 if (!JB_validate_mail($EMAIL)) {
     $error = $label['app_employer_email_invalid'] . $APM->get_line_break();
 }
 $success = false;
 if ($error != '') {
     $APM->error_msg($error);
 } else {
     $sql = "UPDATE `posts_table` SET `applications`=`applications`+1 WHERE `post_id`='" . jb_escape_sql($post_id) . "' ";
     JB_mysql_query($sql) or die(mysql_error());
     if ($user_id) {
         // Is the user logged in?
         // get users' resume
         // does the user have a resume?
         $resume_row = array();
         $sql = "SELECT resume_id, `anon` FROM resumes_table WHERE user_id='" . jb_escape_sql($user_id) . "' AND `status`='ACT' ";
         $result = JB_mysql_query($sql) or die(mysql_error());
Beispiel #10
0
 function JB_validate_form_data()
 {
     global $label;
     $DFM = $this->get_DynamicFormMarkup();
     $errors = array();
     $sql = "SELECT *, t2.field_label AS LABEL, t2.error_message as error_message FROM form_fields as t1, form_field_translations as t2 WHERE t1.field_id=t2.field_id AND t2.lang='" . JB_escape_sql($_SESSION['LANG']) . "' AND form_id='" . JB_escape_sql($this->form_id) . "' AND field_type != 'SEPERATOR' AND field_type != 'BLANK' AND field_type != 'NOTE' order by field_sort";
     $result = JB_mysql_query($sql) or die(mysql_error());
     while ($field_row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         JBPLUG_do_callback('validate_form_data_init_row', $field_row);
         // fit to database
         $_REQUEST[$field_row['field_id']] = jb_fit_to_db_size($field_row['field_type'], $_REQUEST[$field_row['field_id']]);
         $custom_error = null;
         // The following is a hook for plugins to set a custom error message
         // plugins should set the $custom_error to the error message or
         // false if no error message was set
         JBPLUG_do_callback('validate_form_data_custom_field', $custom_error, $field_row);
         if ($custom_error !== null) {
             if ($custom_error) {
                 $errors[] = $DFM->get_error_line($field_row['LABEL'], $custom_error);
             }
             continue;
         }
         if ($field_row['field_type'] == 'TEXT' || $field_row['field_type'] == 'TEXTAREA' || $field_row['field_type'] == 'EDITOR') {
             if (JB_check_for_bad_words($_REQUEST[$field_row['field_id']])) {
                 $errors[] = $DFM->get_error_line($field_row['LABEL'], $label['bad_words_not_accept']);
             }
         }
         if ($field_row['field_type'] == 'CATEGORY' && is_numeric($_REQUEST[$field_row['field_id']])) {
             $sql = "SELECT * FROM categories WHERE category_id='" . jb_escape_sql($_REQUEST[$field_row['field_id']]) . "' ";
             $cat_result = jb_mysql_query($sql);
             if ($cat_row = mysql_fetch_array($cat_result)) {
                 if ($cat_row['allow_records'] == 'N') {
                     $errors[] = $DFM->get_error_line($field_row['LABEL'], $label['cat_records_not_allow']);
                 }
             }
         }
         if (JB_BREAK_LONG_WORDS == 'YES') {
             if ($field_row['field_type'] == 'TEXT' || $field_row['field_type'] == 'TEXTAREA') {
                 // HTML not allowed
                 $_REQUEST[$field_row['field_id']] = trim(stripslashes(JB_break_long_words(addslashes($_REQUEST[$field_row['field_id']]), false)));
             } elseif ($field_row['field_type'] == 'EDITOR') {
                 // HTML allowed, 2nd arg pass true
                 $_REQUEST[$field_row['field_id']] = trim(addslashes(JB_break_long_words(stripslashes($_REQUEST[$field_row['field_id']]), true)));
             }
         }
         // clean the data..
         if (JB_STRIP_LATIN1 == 'YES') {
             $_REQUEST[$field_row['field_id']] = JB_remove_non_latin1_chars($_REQUEST[$field_row['field_id']]);
         }
         if ($field_row['field_type'] == 'EDITOR' || $field_row['field_type'] == 'TEXTAREA') {
             if (JB_STRIP_HTML == 'YES') {
                 // tags are allowed, remove them except on the white list.
                 $_REQUEST[$field_row['field_id']] = stripslashes($_REQUEST[$field_row['field_id']]);
                 $_REQUEST[$field_row['field_id']] = JB_clean_str($_REQUEST[$field_row['field_id']]);
                 $_REQUEST[$field_row['field_id']] = addslashes($_REQUEST[$field_row['field_id']]);
             }
         }
         if (($field_row['field_type'] == 'FILE' || $field_row['field_type'] == 'IMAGE') && $_FILES[$field_row['field_id']]['name'] != '') {
             $a = explode(".", $_FILES[$field_row['field_id']]['name']);
             $ext = array_pop($a);
             if (!JB_is_filetype_allowed($_FILES[$field_row['field_id']]['name']) && $field_row['field_type'] == 'FILE') {
                 $label['vaild_file_ext_error'] = str_replace("%EXT_LIST%", JB_ALLOWED_EXT, $label['vaild_file_ext_error']);
                 $label['vaild_file_ext_error'] = str_replace("%EXT%", $ext, $label['vaild_file_ext_error']);
                 $errors[] = $DFM->get_error_line($field_row['LABEL'], $label['vaild_file_ext_error']);
             }
             if (!JB_is_imagetype_allowed($_FILES[$field_row['field_id']]['name']) && $field_row['field_type'] == 'IMAGE') {
                 $label['vaild_image_ext_error'] = str_replace("%EXT_LIST%", JB_ALLOWED_IMG, $label['vaild_image_ext_error']);
                 $label['vaild_image_ext_error'] = str_replace("%EXT%", $ext, $label['vaild_image_ext_error']);
                 $errors[] = $DFM->get_error_line($field_row['LABEL'], $label['vaild_image_ext_error']);
             }
             if (get_cfg_var('open_basedir') == NULL) {
                 // open_basedir disabled
                 // file size check when open_basedir is in effect
                 if (@filesize($_FILES[$field_row['field_id']]['tmp_name']) > JB_MAX_UPLOAD_BYTES) {
                     $label['valid_file_size_error'] = str_replace("%FILE_NAME%", $_FILES[$field_row['field_id']]['name'], $label['valid_file_size_error']);
                     $errors[] = $DFM->get_error_line($field_row['LABEL'], $label['vaild_image_ext_error']);
                 }
             }
         }
         if ($field_row['is_required'] == 'Y') {
             if ($field_row['field_type'] == 'DATE' || $field_row['field_type'] == 'DATE_CAL') {
                 $field_row['reg_expr'] = 'date';
                 // default to date check
             }
             if ($field_row['field_type'] == 'FILE' || $field_row['field_type'] == 'IMAGE') {
                 if ($_REQUEST[$field_row['field_id']]) {
                     // already uploaded a file, no error
                 }
                 continue;
                 // go to the next item in the while() loop to process the next field.
             }
             if ($field_row['field_type'] == 'IMAGE') {
                 continue;
             }
             switch ($field_row['reg_expr']) {
                 case "not_empty":
                     if ($field_row['field_type'] == 'GMAP') {
                         if ($_REQUEST[$field_row['field_id'] . '_lat'] == 0 || $_REQUEST[$field_row['field_id'] . '_lng'] == 0) {
                             $errors[] = $DFM->get_error_line($field_row['LABEL'], $field_row['error_message']);
                         }
                     } elseif (trim($_REQUEST[$field_row['field_id']] == '')) {
                         $errors[] = $DFM->get_error_line($field_row['LABEL'], $field_row['error_message']);
                     }
                     break;
                 case "email":
                     if (!JB_validate_mail(trim($_REQUEST[$field_row['field_id']]))) {
                         $errors[] = $DFM->get_error_line($field_row['LABEL'], $field_row['error_message']);
                     }
                     break;
                 case "date":
                     if ($field_row['field_type'] == 'DATE') {
                         $day = $_REQUEST[$field_row['field_id'] . "d"];
                         $month = $_REQUEST[$field_row['field_id'] . "m"];
                         $year = $_REQUEST[$field_row['field_id'] . "y"];
                     }
                     if ($field_row['field_type'] == 'DATE_CAL') {
                         $temp_date = JB_SCWDate_to_ISODate($_REQUEST[$field_row['field_id']]);
                         preg_match('/(\\d+)-(\\d+)-(\\d+)/', JB_SCWDate_to_ISODate($_REQUEST[$field_row['field_id']]), $m);
                         $year = $m[1];
                         $month = $m[2];
                         $day = $m[3];
                     } else {
                         $ts = strtotime($field_row['field_id'] . " GMT");
                         if ($ts > 0) {
                             $day = date('d', $ts);
                             $month = date('m', $ts);
                             $year = date('y', $ts);
                         }
                     }
                     if ($month == '' || $day == '' || $year == '' || !@checkdate(intval($month), intval($day), intval($year))) {
                         $errors[] = $DFM->get_error_line($field_row['LABEL'], $field_row['error_message']);
                     }
                     break;
                 case 'numeric':
                     if (!is_numeric(trim($_REQUEST[$field_row['field_id']]))) {
                         $errors[] = $DFM->get_error_line($field_row['LABEL'], $field_row['error_message']);
                     }
                     break;
                 default:
                     break;
             }
         }
     }
     $error = '';
     JBPLUG_do_callback('validate_form_data', $error, $this->form_id);
     if ($error) {
         $list = explode('<br>', $error);
         foreach ($list as $item) {
             $errors[] = $item;
         }
     }
     return $errors;
 }