rendered paste body<?php/************************************************************* * THE ADDRESS BOOK : version 1.04d * * address.php * Displays address book entries. * *************************************************************/// ** GET CONFIGURATION DATA ** require_once('constants.inc'); require_once(FILE_FUNCTIONS); require_once(FILE_CLASS_OPTIONS); require_once(FILE_CLASSES); // test Contact class in this file. session_start(); // ** OPEN CONNECTION TO THE DATABASE ** $db_link = openDatabase($db_hostname, $db_username, $db_password, $db_name);// ** CHECK FOR LOGIN ** checkForLogin();// ** RETRIEVE OPTIONS THAT PERTAIN TO THIS PAGE ** $options = new Options();// ** CHECK FOR ID ** $id = check_id();// ** END INITIALIZATION *******************************************************// ** RETRIEVE CONTACT INFORMATION ** $contact = new Contact($id); $r_additionalData = mysql_query("SELECT * FROM " . TABLE_ADDITIONALDATA . " AS additionaldata WHERE additionaldata.id='$id'", $db_link); $r_address = mysql_query("SELECT * FROM " . TABLE_ADDRESS . " AS address WHERE address.id='$id'", $db_link); $r_email = mysql_query("SELECT * FROM " . TABLE_EMAIL . " AS email WHERE email.id='$id'", $db_link); $r_groups = mysql_query("SELECT grouplist.groupid, groupname FROM " . TABLE_GROUPS . " AS groups LEFT JOIN " . TABLE_GROUPLIST . " AS grouplist ON groups.groupid=grouplist.groupid WHERE id='$id'", $db_link); $r_messaging = mysql_query("SELECT * FROM " . TABLE_MESSAGING . " AS messaging WHERE messaging.id='$id'", $db_link); $r_otherPhone = mysql_query("SELECT * FROM " . TABLE_OTHERPHONE . " AS otherphone WHERE otherphone.id='$id'", $db_link); $r_websites = mysql_query("SELECT * FROM " . TABLE_WEBSITES . " AS websites WHERE websites.id='$id'", $db_link); // CALCULATE 'NEXT' AND 'PREVIOUS' ADDRESS ENTRIES $r_prev = mysql_query("SELECT id, CONCAT(lastname,', ',firstname) AS fullname FROM " . TABLE_CONTACT . " AS contact WHERE CONCAT(lastname, ', ', firstname) < \"" . $contact->fullname . "\" AND contact.hidden != 1 ORDER BY fullname DESC LIMIT 1", $db_link) or die(reportSQLError()); $t_prev = mysql_fetch_array($r_prev); $prev = $t_prev['id']; if ($prev<1) $prev = $id; $r_next = mysql_query("SELECT id, CONCAT(lastname,', ',firstname) AS fullname FROM " . TABLE_CONTACT . " AS contact WHERE CONCAT(lastname, ', ', firstname) > \"" . $contact->fullname . "\" AND contact.hidden != 1 ORDER BY fullname ASC LIMIT 1", $db_link) or die(reportSQLError()); $t_next = mysql_fetch_array($r_next); $next = $t_next['id']; if ($next<1) $next=$id;// PICTURE STUFF. // do we have a picture? if ($contact->picture_url) { $tableColumnAmt = 3; $tableColumnWidth = (540 - $options->picWidth) / 2; } else { if ($options->picAlwaysDisplay == 1) { $tableColumnAmt = 3; $tableColumnWidth = (540 - $options->picWidth) / 2; } else { $tableColumnAmt = 2; $tableColumnWidth = (540 / 2); } }?><HTML><HEAD> <TITLE><?php echo $lang[TAB].' - '.$lang[TITLE_ADDRESS]. ' '.$contact->fullname; ?></TITLE> <LINK REL="stylesheet" HREF="styles.css" TYPE="text/css"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> <META HTTP-EQUIV="EXPIRES" CONTENT="-1"> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang['CHARSET']?>"> </HEAD><BODY><CENTER><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=570> <TR> <TD CLASS="navMenu"><?php if (($_SESSION['usertype'] == "admin") || ($_SESSION['username'] == $contact->who_added)) {?> <a href="javascript:window.print()"><?php echo $lang[BTN_PRINT] ?></a> <A HREF="<?php echo(FILE_EDIT); ?>?id=<?php echo($id); ?>"><?php echo $lang[BTN_EDIT] ?></A><?php }?> <A HREF="<?php echo(FILE_ADDRESS); ?>?id=<?php echo($prev); ?>"><?php echo $lang[BTN_PREVIOUS] ?></A> <A HREF="<?php echo(FILE_ADDRESS); ?>?id=<?php echo($next); ?>"><?php echo $lang[BTN_NEXT] ?></A><?php if ($options->displayAsPopup == 1) { echo("<A HREF=\"#\" onClick=\"window.close();\"><?php echo $lang[BTN_CLOSE]?></A>\n"); } else { echo("<A HREF=\"".FILE_LIST."\">$lang[BTN_LIST]</A>\n"); }?> </TD> </TR> <TR> <TD> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=570> <TR VALIGN=bottom> <TD CLASS="headTitle"> <?php echo("$contact->lastname"); if ($contact->firstname) { echo(", $contact->firstname"); } if ($contact->middlename) { echo(" $contact->middlename"); } if ($contact->nickname) { echo(" \"$contact->nickname\""); } ?> </TD> <TD CLASS="headText" ALIGN=right><?php // IF ENTRY IS HIDDEN if ($contact->hidden == 1) { echo("[HIDDEN ENTRY] "); } // LIST GROUPS $tbl_groups = mysql_fetch_array($r_groups); $groupname = stripslashes( $tbl_groups['groupname'] ); $group_id = $tbl_groups['groupid']; // check if no groups if ( !$groupname ) { echo("<IMG SRC=\"spacer.gif\" WIDTH=1 HEIGHT=1 BORDER=0 ALT=\"\">"); // leaves a spacer image if no groups is assigned to the person. } // format for group links $Groups = "<A HREF=\"" . FILE_LIST . "?groupid=" . $group_id . "\" CLASS=\"group\">" . $groupname . "</A>"; while ( $tbl_groups = mysql_fetch_array($r_groups) ) { $groupname = stripslashes( $tbl_groups['groupname'] ); $group_id = $tbl_groups['groupid']; $Groups = $Groups . ", <A HREF=\"" . FILE_LIST . "?groupid=" . $group_id . "\" CLASS=\"group\">" . $groupname . "</A>"; } echo($Groups);?> </TD> </TR> </TABLE> </TD> </TR> <TR> <TD CLASS="infoBox"> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=10 WIDTH=540> <TR VALIGN="top"><?php // ** PICTURE BOX ** if ($tableColumnAmt == 3) { echo(" <TD WIDTH=$options->picWidth>\n"); echo(" <IMG SRC=\""); if ($contact->picture_url) { echo(PATH_MUGSHOTS . $contact->picture_url); } else { echo("images/nopicture.gif"); } echo("\" WIDTH=$options->picWidth HEIGHT=$options->picHeight BORDER=1 ALT=\"\">\n"); echo(" </TD>\n"); } echo(" <TD WIDTH=$tableColumnWidth CLASS=\"data\">\n"); // ** ADDRESSES ** while ($tbl_address = mysql_fetch_array($r_address)) { $address_refid = $tbl_address['refid']; $address_type = stripslashes( $tbl_address['type'] ); $address_line1 = stripslashes( $tbl_address['line1'] ); $address_line2 = stripslashes( $tbl_address['line2'] ); $address_city = stripslashes( $tbl_address['city'] ); $address_state = stripslashes( $tbl_address['state'] ); $address_zip = stripslashes( $tbl_address['zip'] ); $address_phone1 = stripslashes( $tbl_address['phone1'] ); $address_phone2 = stripslashes( $tbl_address['phone2'] ); $address_country = $tbl_address['country']; echo "<P>\n<B>" . (($contact->primary_address == $address_refid) ? $lang[LBL_PRIMARY_ADDRESS] : $lang[LBL_ADDRESS]); if ($address_type) { echo " ($address_type)"; } echo "</B>\n"; if ($address_line1) { echo "\n<BR>$address_line1"; } if ($address_line2) { echo "\n<BR>$address_line2"; } if ($address_city OR $address_state OR $address_zip) { echo "\n<BR>"; } if ($address_city) { echo "$address_city"; } if ($address_city AND $address_state) { echo ", "; } if ($address_state) { echo "$address_state"; } if ($address_zip) { echo " $address_zip"; } if ($address_phone1) { echo "\n<BR>$address_phone1"; } if ($address_phone2) { echo "\n<BR>$address_phone2"; } // Country if ($address_country) { echo "\n<br>$country[$address_country]"; } } // ** E-MAIL ** // First check to see that the result set is filled. If so, create E-mail section header. // Then start pulling data out of the result set and displaying them. $tbl_email = mysql_fetch_array($r_email); $email_address = stripslashes( $tbl_email['email'] ); $email_type = stripslashes( $tbl_email['type'] ); if ($email_address) { echo("<P>\n<B>$lang[LBL_EMAIL]</B>\n"); if ($options->useMailScript == 1) { echo("<BR><A HREF=\"" .FILE_MAILTO. "?to=$email_address\">$email_address</A>"); } else { echo("<BR><A HREF=\"mailto:$email_address\">$email_address</A>"); } if ($email_type) { echo(" ($email_type)"); } echo("\n"); while ($tbl_email = mysql_fetch_array($r_email)) { $email_address = stripslashes( $tbl_email['email'] ); $email_type = stripslashes( $tbl_email['type'] ); if ($options->useMailScript == 1) { echo("<BR><A HREF=\"" .FILE_MAILTO. "?to=$email_address\">$email_address</A>"); } else { echo("<BR><A HREF=\"mailto:$email_address\">$email_address</A>"); } if ($email_type) { echo(" ($email_type)"); } echo("\n"); } }?> </TD><?php echo(" <TD WIDTH=$tableColumnWidth CLASS=\"data\">\n"); // ** OTHER PHONE NUMBERS ** $tbl_otherPhone = mysql_fetch_array($r_otherPhone); $otherphone_phone = stripslashes( $tbl_otherPhone['phone'] ); $otherphone_type = stripslashes( $tbl_otherPhone['type'] ); if ($otherphone_phone) { echo("<P>\n<B>$lang[LBL_OTHERPHONE]</B>\n"); echo("<BR>$otherphone_type: $otherphone_phone\n"); while ($tbl_otherPhone = mysql_fetch_array($r_otherPhone)) { $otherphone_phone = stripslashes( $tbl_otherPhone['phone'] ); $otherphone_type = stripslashes( $tbl_otherPhone['type'] ); echo("<BR>$otherphone_type: $otherphone_phone\n"); } } // ** MESSAGING ** // A primitive version that does not output in desired format yet. // Would like it to be: // <BR>AIM: name1, name2 // <BR>ICQ: something $tbl_messaging = mysql_fetch_array($r_messaging); $messaging_handle = stripslashes( $tbl_messaging['handle'] ); $messaging_type = stripslashes( $tbl_messaging['type'] ); if ($messaging_handle) { echo("<P>\n<B>$lang[LBL_MESSAGING]</B>\n"); echo("<BR>$messaging_type: $messaging_handle\n"); while ($tbl_messaging = mysql_fetch_array($r_messaging)) { $messaging_handle = stripslashes( $tbl_messaging['handle'] ); $messaging_type = stripslashes( $tbl_messaging['type'] ); echo("<BR>$messaging_type: $messaging_handle\n"); } }?> </TD> </TR> <TR><?php echo(" <TD COLSPAN=$tableColumnAmt CLASS=\"data\">\n");?> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=540><?php // ** BIRTHDAY ** if ($contact->birthday) { echo(" <TR VALIGN=\"top\">\n"); echo(" <TD WIDTH=120 CLASS=\"data\"><B>$lang[LBL_BIRTHDATE]</B></TD>"); echo(" <TD WIDTH=440 CLASS=\"data\"> $contact->birthday</TD>\n"); echo(" </TR>\n"); } // ** ADDITIONAL DATA ** while ( $tbl_additionalData = mysql_fetch_array($r_additionalData) ) { $adddataType = stripslashes( $tbl_additionalData['type'] ); $adddataValue = stripslashes( $tbl_additionalData['value'] ); echo(" <TR VALIGN=\"top\">\n"); echo(" <TD WIDTH=120 CLASS=\"data\"><B>$adddataType</B></TD>\n"); echo(" <TD WIDTH=440 CLASS=\"data\">$adddataValue</TD>\n"); echo(" </TR>\n"); } // ** WEBSITES ** $tbl_websites = mysql_fetch_array($r_websites); $websiteURL = stripslashes( $tbl_websites['webpageURL'] ); $websiteName = stripslashes( $tbl_websites['webpageName'] ); if ($websiteURL) { echo(" <TR VALIGN=\"top\">\n"); echo(" <TD WIDTH=120 CLASS=\"data\"><B>$lang[LBL_WEBSITES]</B></TD>\n"); echo(" <TD WIDTH=440 CLASS=\"data\">\n"); echo(" <A HREF=\"$websiteURL\" TARGET=\"out\">"); // Displays URL if no name is given if ($websiteName) { echo($websiteName); } else { echo($websiteURL); } echo("</A>\n"); while ($tbl_websites = mysql_fetch_array($r_websites)) { $websiteURL = stripslashes( $tbl_websites['webpageURL'] ); $websiteName = stripslashes( $tbl_websites['webpageName'] ); echo(" <BR><A HREF=\"$websiteURL\" TARGET=\"out\">"); if ($websiteName) { echo($websiteName); } else { echo($websiteURL); } echo("</A>\n"); } echo(" </TD>\n"); echo(" </TR>\n"); }?> </TABLE> </TD> </TR><?php // ** NOTES ** if ($contact->notes) { echo(" <TR>\n"); echo(" <TD COLSPAN=$tableColumnAmt CLASS=\"data\">\n"); echo(" <B>$lang[LBL_NOTES]</B>\n"); echo(" <BR>\n"); echo(" $contact->notes\n"); echo(" </TD>\n"); echo(" </TR>\n"); }?> </TABLE> <BR> </TD> </TR> <TR> <TD CLASS="update"><?php echo $lang[LAST_UPDATE].' '.($contact->last_update).'.'; ?></TD> </TR></TABLE></CENTER></BODY></HTML>