function b1n_regCheckLeg($sql, &$ret_msgs, &$reg_data, $reg_config) { $ret = b1n_regCheck($sql, $ret_msgs, $reg_data, $reg_config); // Checking CrewMembers if ($ret) { $ret = b1n_regCheckLegCmb($sql, $ret_msgs, $reg_data); } if ($ret) { $ret = false; // Do we have a valid ETD? if (b1n_checkDateHour($reg_data['leg_etd_dt']["month"], $reg_data['leg_etd_dt']["day"], $reg_data['leg_etd_dt']["year"], $reg_data['leg_etd_dt']["hour"], $reg_data['leg_etd_dt']["min"], true)) { // Yes, we do, use it as KeepTrack $reg_data['leg_keeptrack_dt'] = b1n_formatDateHour($reg_data['leg_etd_dt']); $ret = true; } elseif (!empty($reg_data['last_leg_id']) && b1n_checkNumeric($reg_data['last_leg_id'])) { // The KeepTrack of the current leg is equal to the KeepTrack of the last Leg, Plus its ETE, Plus its groundtime. $rs = $sql->singleQuery("\n SELECT\n leg_keeptrack_dt::timestamp +\n CASE WHEN (leg_ete_i IS NULL) THEN\n '00:00'::interval\n ELSE\n leg_ete_i::interval\n END +\n CASE WHEN (leg_groundtime_i IS NULL) THEN\n '00:00'::interval\n ELSE\n leg_groundtime_i::interval\n END AS leg_keeptrack_dt\n FROM\n \"leg\"\n WHERE\n leg_id = '" . b1n_inBd($reg_data['last_leg_id']) . "'"); if ($rs && is_array($rs)) { $reg_data['leg_keeptrack_dt'] = $rs['leg_keeptrack_dt']; $ret = true; } else { b1n_retMsg($ret_msgs, b1n_FIZZLES, 'Could not keep track of last leg, something really nasty happened here.'); } } else { b1n_retMsg($ret_msgs, b1n_FIZZLES, 'Could not keep track of last leg. Probably this is the very first leg, so, you HAVE to fill the <b>ETD</b> field.'); } } return $ret; }
function b1n_regCheck($sql, &$ret_msgs, $reg_data, $reg_config) { $ret = true; foreach ($reg_config as $t => $r) { $aux = split("[[:space:]]?&&[[:space:]]?", $r['check']); foreach ($aux as $check) { $msg = ""; switch ($check) { case "none": if ($r['mand'] && empty($reg_data[$r['reg_data']])) { $msg = "Please, fill the <b>" . $t . "</b> field."; } break; case "numeric": if (!b1n_checkNumeric($reg_data[$r["reg_data"]], $r['mand'])) { $msg = "Invalid <b>" . $t . "</b> (Only numbers are allowed)."; } break; case "date": if (isset($reg_data[$r["reg_data"]]["month"])) { if (!b1n_checkDate($reg_data[$r["reg_data"]]["month"], $reg_data[$r["reg_data"]]["day"], $reg_data[$r["reg_data"]]["year"], $r['mand'])) { $msg = "Invalid date in <b>" . $t . "</b>."; } } elseif ($r['mand']) { $msg = "Invalid date in <b>" . $t . "</b>."; } break; case "date_hour": if (isset($reg_data[$r["reg_data"]]["month"])) { if (!b1n_checkDateHour($reg_data[$r["reg_data"]]["month"], $reg_data[$r["reg_data"]]["day"], $reg_data[$r["reg_data"]]["year"], $reg_data[$r["reg_data"]]["hour"], $reg_data[$r["reg_data"]]["min"], $r['mand'])) { $msg = "Invalid Date/Hour in <b>" . $t . "</b>."; } } elseif ($r['mand']) { $msg = "Invalid date in <b>" . $t . "</b>."; } break; case "email": if (!b1n_checkEmail($reg_data[$r["reg_data"]])) { $msg = "Invalid <b>" . $t . "</b> (Example: user@domain.org)."; } break; case "length": if (strlen(trim($reg_data[$r["reg_data"]])) > $r["extra"]["maxlen"]) { $msg = "No more than '" . $r["extra"]["maxlen"] . "' characters (no leading blank spaces) are allowed in <b>" . $t . "</b>"; } break; case "exactlength": if (strlen(trim($reg_data[$r["reg_data"]])) != $r["extra"]["maxlen"]) { $msg = "Exactly '" . $r["extra"]["maxlen"] . "' characters (no leading blank spaces) are allowed in <b>" . $t . "</b>"; } break; case "radio": if (!b1n_checkFilled($reg_data[$r["reg_data"]])) { $msg = "Please, choose something on <b>" . $t . "</b>."; } break; case "boolean": if (!b1n_checkBoolean($reg_data[$r["reg_data"]], $r['mand'])) { $msg = "Please, choose something on <b>" . $t . "</b>."; } break; case "unique": if ($r['mand'] && empty($reg_data[$r['reg_data']])) { $msg = "Please, fill the <b>" . $t . "</b> field."; break; } if (b1n_checkFilled($reg_data[$r['reg_data']])) { $query = "SELECT " . $reg_config['ID']['db'] . " FROM \"" . $r['extra']['table'] . "\" WHERE " . $r['db'] . " = '" . b1n_inBd($reg_data[$r["reg_data"]]) . "'"; $rs = $sql->singleQuery($query); if ($rs && is_array($rs)) { global $page1_title; $msg = "There is already one " . $page1_title . " with this <b>" . $t . "</b>."; unset($page1_title); } } break; case "fk": if (is_array($reg_data[$r['reg_data']])) { if ($r['mand'] && !sizeof($reg_data[$r['reg_data']])) { $msg = "Please, select something in <b>" . $t . "</b>."; } } else { if (!b1n_checkNumeric($reg_data[$r["reg_data"]], $r['mand'])) { $msg = "Please, select something in <b>" . $t . "</b>."; } } break; case "hour": if (!b1n_checkHour($reg_data[$r["reg_data"]]["hour"], $reg_data[$r["reg_data"]]["min"], $r["mand"])) { $msg = "Invalid Hour/Minute in <b>" . $t . "</b>."; } break; } if (!empty($msg)) { b1n_retMsg($ret_msgs, b1n_FIZZLES, $msg); $ret = false; } } } return $ret; }