Database class integration. Add HTML step attribute to Contact Address lat and lon fields to support decimal values.

This commit is contained in:
Nate
2019-07-27 22:51:01 -06:00
parent 646873287d
commit 30e5310f5e
12 changed files with 489 additions and 572 deletions
+92 -114
View File
@@ -40,38 +40,38 @@ else {
$text = $language->get();
//action add or update
if (isset($_REQUEST["id"])) {
if (is_uuid($_REQUEST["id"])) {
$action = "update";
$contact_address_uuid = check_str($_REQUEST["id"]);
$contact_address_uuid = $_REQUEST["id"];
}
else {
$action = "add";
}
//get the contact uuid
if (strlen($_GET["contact_uuid"]) > 0) {
$contact_uuid = check_str($_GET["contact_uuid"]);
if (is_uuid($_GET["contact_uuid"])) {
$contact_uuid = $_GET["contact_uuid"];
}
//get http post variables and set them to php variables
if (count($_POST)>0) {
$address_type = check_str($_POST["address_type"]);
$address_label = check_str($_POST["address_label"]);
$address_label_custom = check_str($_POST["address_label_custom"]);
$address_street = check_str($_POST["address_street"]);
$address_extended = check_str($_POST["address_extended"]);
$address_community = check_str($_POST["address_community"]);
$address_locality = check_str($_POST["address_locality"]);
$address_region = check_str($_POST["address_region"]);
$address_postal_code = check_str($_POST["address_postal_code"]);
$address_country = check_str($_POST["address_country"]);
$address_latitude = check_str($_POST["address_latitude"]);
$address_longitude = check_str($_POST["address_longitude"]);
$address_primary = check_str($_POST["address_primary"]);
$address_description = check_str($_POST["address_description"]);
$address_type = $_POST["address_type"];
$address_label = $_POST["address_label"];
$address_label_custom = $_POST["address_label_custom"];
$address_street = $_POST["address_street"];
$address_extended = $_POST["address_extended"];
$address_community = $_POST["address_community"];
$address_locality = $_POST["address_locality"];
$address_region = $_POST["address_region"];
$address_postal_code = $_POST["address_postal_code"];
$address_country = $_POST["address_country"];
$address_latitude = $_POST["address_latitude"];
$address_longitude = $_POST["address_longitude"];
$address_primary = $_POST["address_primary"];
$address_description = $_POST["address_description"];
//use custom label if set
$address_label = ($address_label_custom != '') ? $address_label_custom : $address_label;
$address_label = $address_label_custom != '' ? $address_label_custom : $address_label;
}
//process the form data
@@ -79,7 +79,7 @@ else {
//set the uuid
if ($action == "update") {
$contact_address_uuid = check_str($_POST["contact_address_uuid"]);
$contact_address_uuid = $_POST["contact_address_uuid"];
}
//check for all required data
@@ -101,109 +101,88 @@ else {
if ($_POST["persistformvar"] != "true") {
//update last modified
$sql = "update v_contacts set ";
$sql .= "last_mod_date = now(), ";
$sql .= "last_mod_user = '".$_SESSION['username']."' ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and contact_uuid = '".$contact_uuid."' ";
$db->exec(check_sql($sql));
unset($sql);
$array['contacts'][0]['contact_uuid'] = $contact_uuid;
$array['contacts'][0]['domain_uuid'] = $domain_uuid;
$array['contacts'][0]['last_mod_date'] = 'now()';
$array['contacts'][0]['last_mod_user'] = $_SESSION['username'];
//if primary, unmark other primary numbers
if ($address_primary) {
$sql = "update v_contact_addresses set address_primary = 0 ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and contact_uuid = '".$contact_uuid."' ";
$db->exec(check_sql($sql));
unset($sql);
}
$p = new permissions;
$p->add('contact_edit', 'temp');
if ($action == "add") {
$database = new database;
$database->app_name = 'contacts';
$database->app_uuid = '04481e0e-a478-c559-adad-52bd4174574c';
$database->save($array);
unset($array);
$p->delete('contact_edit', 'temp');
//if primary, unmark other primary addresses
if ($email_primary) {
$sql = "update v_contact_addresses set address_primary = 0 ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "and contact_uuid = :contact_uuid ";
$parameters['domain_uuid'] = $domain_uuid;
$parameters['contact_uuid'] = $contact_uuid;
$database = new database;
$database->execute($sql, $parameters);
unset($sql, $parameters);
}
if ($action == "add" && permission_exists('contact_address_add')) {
$contact_address_uuid = uuid();
$sql = "insert into v_contact_addresses ";
$sql .= "(";
$sql .= "domain_uuid, ";
$sql .= "contact_uuid, ";
$sql .= "contact_address_uuid, ";
$sql .= "address_type, ";
$sql .= "address_label, ";
$sql .= "address_street, ";
$sql .= "address_extended, ";
$sql .= "address_community, ";
$sql .= "address_locality, ";
$sql .= "address_region, ";
$sql .= "address_postal_code, ";
$sql .= "address_country, ";
$sql .= "address_latitude, ";
$sql .= "address_longitude, ";
$sql .= "address_primary, ";
$sql .= "address_description ";
$sql .= ")";
$sql .= "values ";
$sql .= "(";
$sql .= "'".$_SESSION['domain_uuid']."', ";
$sql .= "'".$contact_uuid."', ";
$sql .= "'".$contact_address_uuid."', ";
$sql .= "'".$address_type."', ";
$sql .= "'".$address_label."', ";
$sql .= "'".$address_street."', ";
$sql .= "'".$address_extended."', ";
$sql .= "'".$address_community."', ";
$sql .= "'".$address_locality."', ";
$sql .= "'".$address_region."', ";
$sql .= "'".$address_postal_code."', ";
$sql .= "'".$address_country."', ";
$sql .= "'".$address_latitude."', ";
$sql .= "'".$address_longitude."', ";
$sql .= (($address_primary) ? 1 : 0).", ";
$sql .= "'".$address_description."' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
$array['contact_addresses'][0]['contact_address_uuid'] = $contact_address_uuid;
message::add($text['message-add']);
header("Location: contact_edit.php?id=".$contact_uuid);
return;
} //if ($action == "add")
}
if ($action == "update") {
$sql = "update v_contact_addresses set ";
$sql .= "contact_uuid = '".$contact_uuid."', ";
$sql .= "address_type = '".$address_type."', ";
$sql .= "address_label = '".$address_label."', ";
$sql .= "address_street = '".$address_street."', ";
$sql .= "address_extended = '".$address_extended."', ";
$sql .= "address_community = '".$address_community."', ";
$sql .= "address_locality = '".$address_locality."', ";
$sql .= "address_region = '".$address_region."', ";
$sql .= "address_postal_code = '".$address_postal_code."', ";
$sql .= "address_country = '".$address_country."', ";
$sql .= "address_latitude = '".$address_latitude."', ";
$sql .= "address_longitude = '".$address_longitude."', ";
$sql .= "address_primary = ".(($address_primary) ? 1 : 0).", ";
$sql .= "address_description = '".$address_description."' ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and contact_address_uuid = '".$contact_address_uuid."'";
$db->exec(check_sql($sql));
unset($sql);
if ($action == "update" && permission_exists('contact_address_edit')) {
$array['contact_addresses'][0]['contact_address_uuid'] = $contact_address_uuid;
message::add($text['message-update']);
header("Location: contact_edit.php?id=".$contact_uuid);
return;
} //if ($action == "update")
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
}
if (is_array($array) && @sizeof($array) != 0) {
$array['contact_addresses'][0]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['contact_addresses'][0]['contact_uuid'] = $contact_uuid;
$array['contact_addresses'][0]['address_type'] = $address_type;
$array['contact_addresses'][0]['address_label'] = $address_label;
$array['contact_addresses'][0]['address_street'] = $address_street;
$array['contact_addresses'][0]['address_extended'] = $address_extended;
$array['contact_addresses'][0]['address_community'] = $address_community;
$array['contact_addresses'][0]['address_locality'] = $address_locality;
$array['contact_addresses'][0]['address_region'] = $address_region;
$array['contact_addresses'][0]['address_postal_code'] = $address_postal_code;
$array['contact_addresses'][0]['address_country'] = $address_country;
$array['contact_addresses'][0]['address_latitude'] = $address_latitude;
$array['contact_addresses'][0]['address_longitude'] = $address_longitude;
$array['contact_addresses'][0]['address_primary'] = $address_primary ? 1 : 0;
$array['contact_addresses'][0]['address_description'] = $address_description;
$database = new database;
$database->app_name = 'contacts';
$database->app_uuid = '04481e0e-a478-c559-adad-52bd4174574c';
$database->save($array);
unset($array);
}
header("Location: contact_edit.php?id=".$contact_uuid);
exit;
}
}
//pre-populate the form
if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
$contact_address_uuid = $_GET["id"];
$sql = "select * from v_contact_addresses ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and contact_address_uuid = '$contact_address_uuid' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as &$row) {
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "and contact_address_uuid = :contact_address_uuid ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['contact_address_uuid'] = $contact_address_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row');
if (is_array($row) && @sizeof($row) != 0) {
$address_type = $row["address_type"];
$address_label = $row["address_label"];
$address_street = $row["address_street"];
@@ -217,9 +196,8 @@ else {
$address_longitude = $row["address_longitude"];
$address_primary = $row["address_primary"];
$address_description = $row["address_description"];
break; //limit to 1 row
}
unset ($prep_statement);
unset($sql, $parameters, $row);
}
//show the header
@@ -404,7 +382,7 @@ else {
echo " ".$text['label-address_latitude']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='number' name='address_latitude' maxlength='255' min='-90' max='90' value=\"".escape($address_latitude)."\">\n";
echo " <input class='formfld' type='number' name='address_latitude' maxlength='255' min='-90' max='90' step='0.0000001' value=\"".escape($address_latitude)."\">\n";
echo "<br />\n";
echo $text['description-address_latitude']."\n";
echo "</td>\n";
@@ -415,7 +393,7 @@ else {
echo " ".$text['label-address_longitude']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='number' name='address_longitude' maxlength='255' min='-180' max='180' value=\"".escape($address_longitude)."\">\n";
echo " <input class='formfld' type='number' name='address_longitude' maxlength='255' min='-180' max='180' step='0.0000001' value=\"".escape($address_longitude)."\">\n";
echo "<br />\n";
echo $text['description-address_longitude']."\n";
echo "</td>\n";