Database class integration. Add HTML step attribute to Contact Address lat and lon fields to support decimal values.
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user