%
require("/var/www/webhosts-script/www.tartanowners.org/private/phpheaders/main.phtml");
include("/var/www/webhosts-script/www.tartanowners.org/private/zip2latlon.php");
$kTONESubmitOwner = 1;
$kTONESubmitOwnerAdd = 2;
$kTONESubmitOwnerPreview = 3;
$kTONESubmitOwnerPreviewAdd = 4;
$kTONESubmitOwnerPreviewUpdate = 5;
$error[code][blank_id] = TONEErrorValue($error[code]);
$error[code][blank_type] = TONEErrorValue($error[code]);
$error[code][blank_model] = TONEErrorValue($error[code]);
$error[code][blank_year] = TONEErrorValue($error[code]);
$error[code][bad_year] = TONEErrorValue($error[code]);
$error[code][blank_hullnumber] = TONEErrorValue($error[code]);
$error[code][blank_boatname] = TONEErrorValue($error[code]);
$error[code][blank_homeport] = TONEErrorValue($error[code]);
$error[code][blank_ownername] = TONEErrorValue($error[code]);
$error[code][blank_phonehome] = TONEErrorValue($error[code]);
$error[code][blank_phonework] = TONEErrorValue($error[code]);
$error[code][blank_phone] = TONEErrorValue($error[code]);
$error[code][blank_email] = TONEErrorValue($error[code]);
$error[code][bad_email] = TONEErrorValue($error[code]);
$error[code][blank_comments] = TONEErrorValue($error[code]);
$error[code][blank_description] = TONEErrorValue($error[code]);
$error[code][blank_text] = TONEErrorValue($error[code]);
$error[code][blank_photo] = TONEErrorValue($error[code]);
$error[code][file_copy] = TONEErrorValue($error[code]);
$error[code][file_size_lrg] = TONEErrorValue($error[code]);
$error[code][file_size_sml] = TONEErrorValue($error[code]);
$error[code][bad_zipcode] = TONEErrorValue($error[code]);
$error[code][noll_zipcode] = TONEErrorValue($error[code]);
$error[val]=0;
$max_file_size = 2*1024*1024;
$min_file_size = 1024;
# $email_t34_update = 'chashenderson@mindspring.com';
$email_t34_update = 'admin@tartanowners.org';
$show_owner = true;
$show_good = false;
if(!isset($tone)) {
$new_owner = true;
} else {
$new_owner = false;
unset($data);
$where[]['owner.hash'] = array(
'op' => '=',
'val' => $tone
);
$error_result = TONEOwnerGetResult('', $order, $where);
if( !($error_result < 0) ) {
if(mysql_num_rows($error_result) == 1) {
$old_the_owner = mysql_fetch_object($error_result);
$old_own_model = $old_the_owner->model_id;
$old_own_image = $old_the_owner->image_id;
$old_own_image_preview = $old_the_owner->imagepre_id;
$old_own_isupdate = TONETextDisplay($old_the_owner->is_update, false, false);
$old_own_type = $old_the_owner->ownertype;
$old_own_boatyear = TONETextDisplay($old_the_owner->boatyear, false, false);
$old_own_hullnumber = TONETextDisplay($old_the_owner->hullnumber, false, false);
$old_own_boatname = TONETextDisplay($old_the_owner->boatname, false, false);
$old_own_homeport = TONETextDisplay($old_the_owner->homeport, false, false);
$old_own_ownername = TONETextDisplay($old_the_owner->ownername, false, false);
$old_own_phone_home = TONETextDisplay($old_the_owner->phone_home, false, false);
$old_own_phone_work = TONETextDisplay($old_the_owner->phone_work, false, false);
$old_own_email = $old_the_owner->email;
$old_own_comments = TONETextDisplay($old_the_owner->comments, false, false);
$oid = $old_the_owner->id;
$old_own_lat = $old_the_owner->lat;
$old_own_lon = $old_the_owner->lon;
$old_own_zipcode = TONETextDisplay($old_the_owner->zipcode, false, false);
}
}
}
if(!isset($submit)) {
$own_model = $old_own_model;
$own_image = $old_own_image;
$own_image_preview = $old_own_image_preview;
$own_isupdate = $old_own_isupdate;
$own_type = $old_own_type;
$own_boatyear = $old_own_boatyear;
$own_hullnumber = $old_own_hullnumber;
$own_boatname = $old_own_boatname;
$own_homeport = $old_own_homeport;
$own_ownername = $old_own_ownername;
$own_phone_home = $old_own_phone_home;
$own_phone_work = $old_own_phone_work;
$own_email = TONETextDisplay($old_own_email, false, false);
$own_comments = $old_own_comments;
$own_lat = $old_own_lat;
$own_lon = $old_own_lon;
$own_zipcode = $old_own_zipcode;
} else {
$submit_type = key($submit);
switch($submit_type) {
##
case $kTONESubmitOwner:
## Set the display mode
$show_owner = true;
## Preformat the data
$own_model = TONETextPreformat($own_model);
$own_isupdate = TONETextPreformat($own_isupdate);
$own_boatyear = TONETextPreformat($own_boatyear);
$own_hullnumer = TONETextPreformat($own_hullnumber);
$own_boatname = TONETextPreformat($own_boatname);
$own_homeport = TONETextPreformat($own_homeport);
$own_ownername = TONETextPreformat($own_ownername);
$own_phone_home = TONETextPreformat($own_phone_home);
$own_phone_work = TONETextPreformat($own_phone_work);
$own_email = TONETextPreformat($own_email);
$own_comments = TONETextPreformat($own_comments);
$own_lat = TONETextPreformat($own_lat);
$own_lon = TONETextPreformat($own_lon);
$own_zipcode = TONETextPreformat($own_zipcode);
## Validate the inputed data
if($own_isupdate!='N' && $own_isupdate!='Y') {
$own_isupdate='N';
}
if(empty($own_model)) {
$error[val] += $error[code][blank_model];
$error[txt][] = "You must select a Tartan Model.";
}
if(empty($own_boatyear)) {
$error[val] += $error[code][blank_year];
$error[txt][] = "You must enter the year of your boat.";
} else {
if(!preg_match("/^(\d\d\d\d)$/", $own_boatyear)) {
$error[val] += $error[code][bad_year];
$error[txt][] = "The Year must be 4 digits (YYYY).";
}
}
if(empty($own_boatname)) {
$error[val] += $error[code][blank_boatname];
$error[txt][] = "You must enter a Boat Name.";
}
if(empty($own_homeport)) {
$error[val] += $error[code][blank_homeport];
$error[txt][] = "You must enter a Home Port.";
}
# zipcode validate
if(!empty($own_zipcode) && $own_zipcode != "saved") {
if(!preg_match("/^(\d\d\d\d\d)$/", $own_zipcode)) {
$error[val] += $error[code][bad_zipcode];
$error[txt][] = "The Zipcode must be 5 digits (12345).";
} else {
list($found,$lat,$lon) = zip2latlon($own_zipcode);
if($found){
$own_lat = round($lat, 3);
$own_lon = round($lon, 3);
} else {
$error[val] += $error[code][noll_zipcode];
$error[txt][] = "The Zipcode does not correspond to a known location.";
}
}
}
if(empty($own_ownername)) {
$error[val] += $error[code][blank_ownername];
$error[txt][] = "You must enter an Owner's Name.";
}
if(is_array($type)) {
foreach($type as $key => $val) {
$own_type += $val;
}
} else {
$own_type=0;
}
if( !empty($_FILES['own_photo']['name']) ) {
if($_FILES['own_photo']['size'] > $max_file_size) {
$error[val] += $error[code][file_size_lrg];
$error[txt][] = "Images cannot be larger than $max_file_size bytes.";
}
if($_FILES['own_photo']['size'] < $min_file_size) {
$error[val] += $error[code][file_size_sml];
$error[txt][] = "Images cannot be smaller than $min_file_size bytes.";
}
if( !($error[val] & $error[code][file_size_sml]) && !($error[val] & $error[code][file_size_lrg]) ) {
$image_orig = new TONEImage;
$image_orig->dir = $_FILES['own_photo']['tmp_name'];
if(!empty($debug)) $imig_orig->debug=true;
$image_orig->GetInfo();
if($image_orig->dim_x > 600 || $image_orig->dim_y > 600) {
$new = TONEImageConstrainDimensions($image_orig->dim_x, $image_orig->dim_y, 600);
$image_orig->ConvertResized($new[dim_x], $new[dim_y], 75, 'JPEG');
clearstatcache();
$image_orig->GetInfo();
}
TONEImageFileDelete($own_image);
TONEImageDelete($own_image);
unset($data);
## $data[id] = $own_image;
$data[size] = $image_orig->size;
$data[type] = $image_orig->type;
$data[dim_x] = $image_orig->dim_x;
$data[dim_y] = $image_orig->dim_y;
$error_result = TONEImageUpdate($data, false);
if($error_result < 0 && (TONEIsError($error_result, 'db_norows') || TONEIsError($error_result, 'db_badsql') ) ) {
$error[val] += $error[code][db_norows];
$error[txt][] = "The image could not be added to the database.";
} else {
$own_image = $error_result;
$error_result = TONEImageMove($_FILES['own_photo']['tmp_name'], $own_image, $image_orig->type);
if(TONEIsError($error_result, 'img_nocpy')) {
TONEImageDelete($id);
$error[val] += $error[code][file_copy];
$error[txt][] = "Could not store the image.";
}
if(!$error[val] ) {
$tmpimg=tempnam("/tmp", "img");
$image_preview = new TONEImage;
$image_preview->dir = $tmpimg;
if(!empty($debug)) $imig_preview->debug=true;
$new = TONEImageConstrainDimensions($image_orig->dim_x, $image_orig->dim_y, 120);
$image_orig->ConvertResized($new[dim_x], $new[dim_y], 75, 'JPEG', $image_preview->dir);
$image_preview->GetInfo();
TONEImageFileDelete($own_image_preview);
TONEImageDelete($own_image_preview);
unset($data);
## $data[id] = $own_image_preview;
$data[size] = $image_preview->size;
$data[type] = $image_preview->type;
$data[dim_x] = $image_preview->dim_x;
$data[dim_y] = $image_preview->dim_y;
$error_result = TONEImageUpdate($data, false);
if($error_result < 0 && (TONEIsError($error_result, 'db_norows') || TONEIsError($error_result, 'db_badsql') ) ) {
$error[val] += $error[code][db_norows];
$error[txt][] = "The preview image could not be added to the database.";
} else {
$own_image_preview = $error_result;
$error_result = TONEImageMove($image_preview->dir, $own_image_preview, $image_preview->type);
}
}
}
}
}
if(!$error[val]) {
unset($data);
$data[id] = $oid;
$data[is_update] = $own_isupdate;
$data[type] = $own_type;
$data[model_id] = $own_model;
$data[image_id] = $own_image;
$data[imagepre_id] = $own_image_preview;
$data[boatyear] = $own_boatyear;
$data[hullnumber] = $own_hullnumer;
$data[boatname] = $own_boatname;
$data[homeport] = $own_homeport;
$data[ownername] = $own_ownername;
$data[phone_home] = $own_phone_home;
$data[phone_work] = $own_phone_work;
$data[email] = $own_email;
$data[comments] = $own_comments;
$data[lat] = $own_lat;
$data[lon] = $own_lon;
$data[zipcode] = $own_zipcode;
$data[active] = 'Y';
$error_result = TONEOwnerUpdate($data, false);
if($error_result < 0 && ( TONEIsError($error_result, 'db_norows') || TONEIsError($error_result, 'db_badsql') ) ) {
$error[val] += $error[code][db_norows];
$error[txt][] = "The information was not inserted into the database, please try again.";
} else {
$oid = $error_result;
}
if($error[val]) {
$show_owner = true;
$show_good = false;
} else {
$show_owner = false;
$show_good = true;
#if($gTONEDoUpdateOwnerEmail && $own_isupdate=='Y') {
# $message="The owner with ID=$oid is requesting that their information be replaced with another similar record.";
# TONEMailDoSend('mailer@tartanowners.org', 'tone@tartanowners.org', '[TONE Auto Mailer] Updated Owner Record: ' . $error_result, $message);
#}
$do_redirect = true;
}
if(!$error[val] && $oid && !empty($own_email) && ($new_owner || $own_email != $old_own_email) ) {
$sql = "
select
id
from
owner_access
where
owner_id='$oid' and
email='$own_email'
";
$result_count = @mysql_query($sql, $gTONEDBConn);
if($result_count) {
if(!@mysql_num_rows($result_count)) {
$sql = "
insert into
owner_access (
owner_id,
email
) values (
'$oid',
'$own_email'
)
";
$result_insert = @mysql_query($sql, $gTONEDBConn);
}
}
}
if(!$error[val] && $oid && $new_owner) {
unset($error_result);
$error_result = TONEOwnerGetResult($oid);
if( !($error_result < 0) ) {
$the_owner=mysql_fetch_object($error_result);
$secret = TONESecretMake();
$hash = TONEOwnerHashCreate($id, $the_owner->record_creation, $secret);
unset($data);
$data[id] = $oid;
$data[secret] = $secret;
$data[hash] = $hash;
TONEOwnerUpdate($data, false);
TONESetCookie($hash);
}
}
if($show_good) {
if($gTONEDoUpdateOwnerEmail && ($own_model==12) ) {
$message="This t34c owner has added or updated their record:\n\nhttp://www.tartanowners.org/members/ownerpopup.phtml?id=$oid\n\n";
TONEMailDoSend('admin@tartanowners.org', $email_t34_update, '[Tartan Owners t34] Owner Record Added / Updated', $message);
}
exec("curl 'http://www.tartanowners.org/members/rss/news.php?owner=$oid' > /dev/null &");
TONERedirectBrowser("http://www.tartanowners.org/v6/profiles.phtml?action=new&ord=new&oid=$oid", false);
exit;
}
}
if($error[val]) {
## Format the data for display on the screen
$own_model = TONETextDisplay($own_model, false, false);
$own_isupdate = TONETextDisplay($own_isupdate, false, false);
$own_boatyear = TONETextDisplay($own_boatyear, false, false);
$own_hullnumer = TONETextDisplay($own_hullnumer, false, false);
$own_boatname = TONETextDisplay($own_boatname, false, false);
$own_homeport = TONETextDisplay($own_homeport, false, false);
$own_ownername = TONETextDisplay($own_ownername, false, false);
$own_phone_home = TONETextDisplay($own_phone_home, false, false);
$own_phone_work = TONETextDisplay($own_phone_work, false, false);
$own_email = TONETextDisplay($own_email, false, false);
$own_comments = TONETextDisplay($own_comments, false, false);
$own_lat = TONETextDisplay($own_lat, false, false);
$own_lon = TONETextDisplay($own_lon, false, false);
$own_zipcode = TONETextDisplay($own_zipcode, false, false);
}
break;
}
}
$rnd = rand(100000, 999999);
$url_forward[] ='rnd=' . $rnd;
if($debug) $url_forward[] ='debug=' . $debug;
if(count($url_forward)) $forward = TONETextMakeFromList($url_forward, '', '&', false, '', false);
%>
Tartan Owner Info Form
<% include("/var/www/webhosts-script/www.tartanowners.org/private/menu/menu.html"); %>
Owner Information Form
Use this form to <%= $new_owner ? "add your profile to the Owners List. Welcome aboard!" : "update your profile. Thanks for keeping it up to date!";%>
<%if($error[val]):%>
Errors:
<% for($i=0; $i" . $error[txt][$i]); %>
<%endif;%>
- Use the map to set an exact location or enter your homeport zipcode.
- If you don't know the zipcode for your homeport, Click Here to find it.