'; _e("Note: Because changing this option will move this page, after changing it you will be presented with an error. Just click ‘back’ and then navigate to the 'Manage » Addressbook' or 'Options » Addressbook' tab."); echo '

'; } ?>

/> />

prefix."addressbook"; If ($wpdb->get_var("SHOW TABLES LIKE '$table_name'")!=$table_name || get_option("addressbook_version")!=$addressbook_version ) { // Call the install function here rather than through the more usual // activate_blah.php action hook so the user doesn't have to worry about // deactivating then reactivating the plugin. Should happen seemlessly. _addressbook_install(); _addressbook_outputMessage( sprintf(__('The Addressbook plugin (version %s) has been installed or upgraded.'), get_option("addressbook_version")) ); } ?>

Addressbook plugin."), get_option("addressbook_version")); echo '
'; _e("Please report any bugs and feature requests at samwilson.id.au/blog/plugins/addressbook."); echo '
'.__('Thankyou.'); ?>


'.__('Name').''; ?> prefix."addressbook WHERE first_name LIKE '%".$wpdb->escape($_GET['q'])."%' OR surname LIKE '%".$wpdb->escape($_GET['q'])."%' OR organisation LIKE '%".$wpdb->escape($_GET['q'])."%' OR email LIKE '%".$wpdb->escape($_GET['q'])."%' OR phone LIKE '%".$wpdb->escape($_GET['q'])."%' OR notes LIKE '%".$wpdb->escape($_GET['q'])."%' ORDER BY first_name"; } else { $sql = "SELECT * FROM ".$wpdb->prefix."addressbook ORDER BY first_name"; } $results = $wpdb->get_results($sql); foreach ($results as $row) { echo""; } ?>
'.__('Organisation').''.__('Email address').''.__('Phone number').'
".stripslashes($row->first_name." ".$row->surname)."  ".stripslashes($row->organisation)." ".stripslashes($row->email)." ".stripslashes($row->phone)."
id."-info' style='display:none'>\n". "

\n". " ".__('[Edit]')."\n". " ".__('[Delete]')."\n". "

\n". _addressbook_getAddressCard($row, " "). "
"; } ?>

Add Address

prefix."addressbook SET organisation = '".$wpdb->escape($_POST['organisation'])."', first_name = '".$wpdb->escape($_POST['first_name'])."', surname = '".$wpdb->escape($_POST['surname'])."', email = '".$wpdb->escape($_POST['email'])."', website = '".$wpdb->escape($_POST['website'])."', address_line1 = '".$wpdb->escape($_POST['address_line1'])."', address_line2 = '".$wpdb->escape($_POST['address_line2'])."', suburb = '".$wpdb->escape($_POST['suburb'])."', postcode = '".$wpdb->escape($_POST['postcode'])."', state = '".$wpdb->escape($_POST['state'])."', country = '".$wpdb->escape($_POST['country'])."', phone = '".$wpdb->escape($_POST['phone'])."', notes = '".$wpdb->escape($_POST['notes'])."'"; $wpdb->query($sql); _addressbook_outputMessage(__('The address has been added.')); } /** * Edit a single address. * * @param int $id The ID of the address to be edited. * @return bool Whether or not any more content should be added to the page after calling this. */ function _addressbook_editAddress($id) { global $wpdb, $addressbook_basefile; $sql = "SELECT * FROM ".$wpdb->prefix."addressbook WHERE id='".$wpdb->escape($id)."'"; $row = $wpdb->get_row($sql); if ( $_POST['save'] ) { $wpdb->query("UPDATE ".$wpdb->prefix."addressbook SET first_name = '".$wpdb->escape($_POST['first_name'])."', surname = '".$wpdb->escape($_POST['surname'])."', organisation = '".$wpdb->escape($_POST['organisation'])."', email = '".$wpdb->escape($_POST['email'])."', phone = '".$wpdb->escape($_POST['phone'])."', address_line1 = '".$wpdb->escape($_POST['address_line1'])."', address_line2 = '".$wpdb->escape($_POST['address_line2'])."', suburb = '".$wpdb->escape($_POST['suburb'])."', postcode = '".$wpdb->escape($_POST['postcode'])."', state = '".$wpdb->escape($_POST['state'])."', country = '".$wpdb->escape($_POST['country'])."', notes = '".$wpdb->escape($_POST['notes'])."', website = '".$wpdb->escape($_POST['website'])."' WHERE id ='".$wpdb->escape($_GET['id'])."'"); _addressbook_outputMessage(__('The address has been updated.')); return true; } else { ?>

prefix."addressbook WHERE id='".$wpdb->escape($id)."'"; $row = $wpdb->get_row($sql); if ($_GET['confirm']=='yes') { $wpdb->query("DELETE FROM ".$wpdb->prefix."addressbook WHERE id='".$wpdb->escape($id)."'"); _addressbook_outputMessage(__('The address has been deleted.')); return true; } else { echo "
". "

".__('Are you sure you want to delete this address?')."

\n". "
\n". _addressbook_getAddressCard($row, " "). "
\n". "

\n". " \n". " ".__('[Yes]')."\n". "     \n". " ".__('[No]')."\n". "

\n". "
\n"; return false; } } function _addressbook_getaddressform($data='null') { // Set default values (the website field is the only one with a default value). if (!$data) $website = 'http://'; else $website = $data->website; $out = '
'; return $out; } function _addressbook_install() { global $wpdb, $addressbook_version; $table_name = $wpdb->prefix."addressbook"; $sql = "CREATE TABLE " . $table_name . " ( id mediumint(9) NOT NULL AUTO_INCREMENT, first_name tinytext NOT NULL, surname tinytext NOT NULL, organisation tinytext NOT NULL, email tinytext NOT NULL, phone tinytext NOT NULL, address_line1 tinytext NOT NULL, address_line2 tinytext NOT NULL, suburb tinytext NOT NULL, postcode tinytext NOT NULL, state tinytext NOT NULL, country tinytext NOT NULL, website VARCHAR(55) NOT NULL, notes tinytext NOT NULL, PRIMARY KEY (id) );"; require_once(ABSPATH . 'wp-admin/upgrade-functions.php'); dbDelta($sql); update_option('addressbook_version', $addressbook_version); } /** * For other plugins, etc., to use. */ function addressbook_getselect($name, $sel_id=false) { global $wpdb; $out = ""; return $out; } /** * For other plugins, etc., to use. */ function addressbook_getIdFromEmail($email) { global $wpdb; $sql = "SELECT id FROM ".$wpdb->prefix."addressbook where email='".$wpdb->escape($email)."'"; $res = $wpdb->get_var($sql); return $res; } /** * For other plugins, etc., to use. */ function addressbook_getFullnameFromId($id) { global $wpdb; $sql = "SELECT CONCAT(first_name,' ',surname) FROM ".$wpdb->prefix."addressbook WHERE id='".$wpdb->escape($id)."'"; $res = $wpdb->get_var($sql); return $res; } add_action('wp_head', 'addressbook_wphead'); function addressbook_wphead() { ?> prefix."addressbook ORDER BY first_name"; $results = $wpdb->get_results($sql); $out = "
    \n\n"; foreach ($results as $row) { $out .= "
  1. \n"._addressbook_getAddressCard($row, " ")."
  2. \n\n"; } $out .= "
\n"; return preg_replace("/|.*<\/addressbook>/", $out, $content); } function _addressbook_getAddressCardStyle() { return " .addressbook-card p {margin:3px} .addressbook-card .name {font-size:1.2em; font-weight:bolder} .addressbook-card .avatar {float:right; margin:0 0 0 1em} .addressbook-card .address {display:block; margin:0 0.3em 1em 1em; width:38%; float:left; font-size:smaller} .addressbook-card .address span {} .addressbook-card .notes {font-size:smaller; padding:4px} "; } /** * @param * @return string HTML to go within a containing element. */ function _addressbook_getAddressCard($data, $pad="") { $out = "$pad
\n". "$pad ".get_avatar($data->email)."\n". "$pad

\n". _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->first_name." ".$data->surname)). _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->organisation)). _addressbook_getIfNotEmpty("$pad
\n", stripslashes($data->email)). _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->phone)). _addressbook_getIfNotEmpty("$pad %1\$s\n", stripslashes($data->website)). "$pad

\n"; if ( !empty($data->address_line1) || !empty($data->suburb) || !empty($data->postcode) || !empty($data->state) || !empty($data->country) ) { $out .= "$pad
\n"; if (!empty($data->address_line1) || !empty($data->address_line2)) { $out .= "$pad \n". _addressbook_getIfNotEmpty("$pad %s
\n", stripslashes($data->address_line1)). _addressbook_getIfNotEmpty("$pad %s
\n", stripslashes($data->address_line2)). "$pad
\n"; } $out .= _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->suburb)). _addressbook_getIfNotEmpty("$pad %s
\n", stripslashes($data->postcode)). _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->state)). _addressbook_getIfNotEmpty("$pad %s\n", stripslashes($data->country)). "$pad
\n"; } $out .= _addressbook_getIfNotEmpty("$pad
\n$pad %s\n$pad
\n", stripslashes($data->notes)). "$pad
\n$pad
\n"; return $out; } function _addressbook_getIfNotEmpty($format,$var) { if (!empty($var)) { return sprintf($format, $var); } } ?>