Exemplo n.º 1
0
function trim_lower_accent2(&$item, $key)
{
    $item = trim_lower_accent($item);
}
Exemplo n.º 2
0
/**
* put your comment there...
*
* @param mixed $mysqli
* @param mixed $query
* @param mixed $imp_session
* @param mixed $fields_checked - name of field to be verified
* @param mixed $dt_id - mapped detail type ID
* @param mixed $field_idx - index of validation field in query result (to get value)
* @param mixed $recStruc - record type structure
* @param mixed $message - error message
* @param mixed $short_messsage
*/
function validateEnumerations($query, $imp_session, $fields_checked, $dt_id, $field_idx, $recStruc, $recordType, $message, $short_messsage)
{
    global $system;
    $mysqli = $system->get_mysqli();
    $dt_def = $recStruc[$recordType]['dtFields'][$dt_id];
    $idx_fieldtype = $recStruc['dtFieldNamesToIndex']['dty_Type'];
    $idx_term_tree = $recStruc['dtFieldNamesToIndex']['rst_FilteredJsonTermIDTree'];
    $idx_term_nosel = $recStruc['dtFieldNamesToIndex']['dty_TermIDTreeNonSelectableIDs'];
    $dt_type = $dt_def[$idx_fieldtype];
    $res = $mysqli->query($query . " LIMIT 5000");
    if ($res) {
        $wrong_records = array();
        while ($row = $res->fetch_row()) {
            $is_error = false;
            $newvalue = array();
            $values = getMultiValues($row[$field_idx], $imp_session['csv_enclosure'], $imp_session['csv_mvsep']);
            foreach ($values as $idx => $r_value) {
                $r_value2 = trim_lower_accent($r_value);
                if ($r_value2 != "") {
                    $is_termid = false;
                    if (ctype_digit($r_value2)) {
                        $is_termid = isValidTerm($dt_def[$idx_term_tree], $dt_def[$idx_term_nosel], $r_value2, $dt_id);
                    }
                    if ($is_termid) {
                        $term_id = $r_value;
                    } else {
                        $term_id = isValidTermLabel($dt_def[$idx_term_tree], $dt_def[$idx_term_nosel], $r_value2, $dt_id);
                    }
                    if (!$term_id) {
                        //not found
                        $is_error = true;
                        array_push($newvalue, "<font color='red'>" . $r_value . "AAAA</font>");
                    } else {
                        array_push($newvalue, $r_value);
                    }
                }
            }
            if ($is_error) {
                if ($imp_session['csv_mvsep'] == 'none') {
                    $row[$field_idx] = count($newvalue) > 0 ? $newvalue[0] : '';
                } else {
                    $row[$field_idx] = implode($imp_session['csv_mvsep'], $newvalue);
                }
                array_push($wrong_records, $row);
            }
        }
        $res->close();
        $cnt_error = count($wrong_records);
        if ($cnt_error > 0) {
            $error = array();
            $error["count_error"] = $cnt_error;
            $error["recs_error"] = array_slice($wrong_records, 0, 1000);
            $error["field_checked"] = $fields_checked;
            $error["err_message"] = $message;
            $error["short_messsage"] = $short_messsage;
            $imp_session['validation']['count_error'] = $imp_session['validation']['count_error'] + $cnt_error;
            array_push($imp_session['validation']['error'], $error);
            return $imp_session;
        }
    } else {
        $system->addError(HEURIST_DB_ERROR, 'Cannot perform validation query: ' . $query, $mysqli->error);
        return false;
    }
    return null;
}