$this->fields[$obj->reg_field_id] = $obj;
}
-// echo "<pre>".print_r($this->fields,1)."</pre>";
-
$query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl";
$query .= " LEFT JOIN " . $wpdb->prefix . "swpm_membership_tbl";
$query .= " ON ( membership_level = id ) ";
+
+// Get search data
+$haveSearch = false;
if (isset($_REQUEST['last_name']) && $_REQUEST['last_name'] != '') {
$lastName = sanitize_text_field($_REQUEST['last_name']);
if ( trim($lastName) != '' ) {
$query .= " WHERE last_name LIKE '%$lastName%' ";
+ $haveSearch = true;
}
}
if (isset($_REQUEST['first_name']) && $_REQUEST['first_name'] != '') {
$firstName = sanitize_text_field($_REQUEST['first_name']);
if ( trim($firstName) != '' ) {
$query .= " WHERE first_name LIKE '%$firstName%' ";
+ $haveSearch = true;
}
}
$alpha = '';
$alpha = sanitize_text_field($_REQUEST['alpha']);
if ( trim($alpha) != '' ) {
$query .= " WHERE last_name LIKE '$alpha%' ";
+ $haveSearch = true;
}
}
-$orderby = filter_input(INPUT_GET, 'orderby');
-$orderby = empty($orderby) ? 'user_name' : $orderby ;
-$order = filter_input(INPUT_GET, 'order');
-$order = empty($order) ? 'DESC' : $order;
-$query.=' ORDER BY ' . $orderby . ' ' . $order;
-$totalitems = $wpdb->query($query); //return the total number of affected rows
-$perpage = 20;
-$paged = filter_input(INPUT_GET, 'paged');
-if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
- $paged = 1;
-}
-$totalpages = ceil($totalitems / $perpage);
-if (!empty($paged) && !empty($perpage)) {
- $offset = ($paged - 1) * $perpage;
- $query.=' LIMIT ' . (int) $offset . ',' . (int) $perpage;
-}
-$this->items = $wpdb->get_results($query, ARRAY_A);
-foreach ($this->items as $key => $value){
- $info = array();
- $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_form_builder_custom WHERE user_id= %d';
- $query = $wpdb->prepare($query, $value['member_id']);
- foreach ($wpdb->get_results($query) as $row) {
- $id = empty($row->reg_field_id) ? $row->field_id : $row->reg_field_id;
- $x = $this->fields[$id]->name;
- $info[$this->fields[$id]->name] = $row;
- }
- $this->items[$key]['data'] = $info;
+
+if ($haveSearch) {
+
+ $orderby = filter_input(INPUT_GET, 'orderby');
+ $orderby = empty($orderby) ? 'user_name' : $orderby ;
+ $order = filter_input(INPUT_GET, 'order');
+ $order = empty($order) ? 'DESC' : $order;
+ $query.=' ORDER BY ' . $orderby . ' ' . $order;
+ $totalitems = $wpdb->query($query); //return the total number of affected rows
+ $perpage = 20;
+ $paged = filter_input(INPUT_GET, 'paged');
+ if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
+ $paged = 1;
+ }
+ $totalpages = ceil($totalitems / $perpage);
+ if (!empty($paged) && !empty($perpage)) {
+ $offset = ($paged - 1) * $perpage;
+ $query.=' LIMIT ' . (int) $offset . ',' . (int) $perpage;
+ }
+ $this->items = $wpdb->get_results($query, ARRAY_A);
+ foreach ($this->items as $key => $value){
+ $info = array();
+ $query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_form_builder_custom WHERE user_id= %d';
+ $query = $wpdb->prepare($query, $value['member_id']);
+ foreach ($wpdb->get_results($query) as $row) {
+ $id = empty($row->reg_field_id) ? $row->field_id : $row->reg_field_id;
+ $info[$this->fields[$id]->name] = $row;
+ }
+ $this->items[$key]['data'] = $info;
+ }
+
+ if (count($this->items) == 0) {
+ $haveSearch = false;
+ }
}
// Include the output code
<div class="wrap">
- <style type="text/css">
- .addSpaceTop {
- margin-top: 1em;
- }
- .initial {
- margin-left: .2em;
- padding-left: .2em;
- padding-right: .2em;
- margin-left: .2em;
- }
- .initialSelected {
- border: 1px solid black;
- }
-
- </style>
+ <style type="text/css">
+ .minorBreak {
+ margin-top: .5em;
+ }
+ .initial {
+ margin-left: .2em;
+ padding-left: .2em;
+ padding-right: .2em;
+ margin-left: .2em;
+ }
+ .initialSelected {
+ border: 1px solid black;
+ }
+ .memberName {
+ font-weight: bold;
+ }
+ .sectionTitle {
+ text-align: center;
+ font-style: italic;
+ color: #BBB;
+ }
+ .fieldPrompt {
+ font-weight: bold;
+ text-align: right;
+ }
+ .fieldValue {
+ text-align: left;
+ }
+ </style>
<?php
$pageURL = "http://".$_SERVER['SERVER_NAME'].parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
<div class="small-6 columns">First Name: <input type="text" name="first_name" value="'.$first_name.'"></div>
<div class="small-6 columns">Last Name: <input type="text" name="last_name" value="'.$last_name.'"></div>
</div>
- <div class="row"><div class="small-12 columns"><input type="submit" name="Search"></div></div>
+ <div class="row"><div class="small-12 columns"><input type="submit" name="Search" value="Search by Name"></div></div>
</form>
';
echo '
- <div class="row"><div class="small-12 columns addSpaceTop">Or select by last initial.</div></div>
+ <div class="minorBreak"> </div>
+ <div class="row"><div class="small-12 columns">Or select by last initial.</div></div>
<div class="row">
<div class="small-12 columns">
';
</div>
<hr>
';
+
+ if (!$haveSearch) {
+ echo '<div class="row"><div class="small-12 columns">(No members displayed - Select search above)</div></div>';
+ }
+
foreach($this->items as $m) {
if ($m['first_name'].$m['last_name'] != '') {
echo '
- <div class="row">
- <div class="small-7 columns"><h3>'.$m['first_name'].' '.$m['last_name'].'</h3></div>
- <div class="small-5 columns">Member since: '.$m['member_since'].'</div>
- </div>
- <div class="row">
- <div class="small-7 columns addSpaceTop">Email address: '.$m['email'].'</div>
- <div class="small-5 columns">Phone: '.$m['phone'].'</div>
+ <div class="row">
+ <div class="small-12 columns memberName"><h3>'.$m['first_name'].' '.$m['last_name'].'</h3></div>
+ </div>
+ <div class="row">
+ '.($m['email'] != '' ? '
+ <div class="small-5 medium-3 columns fieldPrompt">Email address:</div><div class="small-7 medium-3 columns fieldValue">'.$m['email'].'</div>
+ ' : '').'
+ '.($m['phone'] != '' ? '
+ <div class="small-5 medium-3 columns fieldPrompt">Phone:</div><div class="small-7 medium-3 columns fieldValue">'.$m['phone'].'</div>
+ ' : '
+ <div class="small-1 columns end"> </div>
+ ').'
+ </div>
+ <div class="minorBreak"> </div>
+ '.($m['data']['Spouse name']->value != '' ? '
+ <div class="minorBreak"> </div>
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Spouse:</div><div class="small-7 columns end fieldValue">'.$m['data']['Spouse name']->value.'</div>
+ </div>
+ <div class="row">
+ '.($m['data']['Spouse email']->value != '' ? '
+ <div class="small-6 medium-3 columns fieldPrompt">Email:</div><div class="small-7 medium-3 columns fieldValue">'.$m['data']['Spouse email']->value.'</div>
+ ' : '').'
+ '.($m['data']['Spouse cell phone']->value != '' ? '
+ <div class="small-5 medium-3 columns fieldPrompt">Cell phone:</div><div class="small-7 medium-3 columns end fieldValue">'.$m['data']['Spouse cell phone']->value.'</div>
+ ' : '
+ <div class="small-1 columns end"> </div>
+ ').'
+ </div>
+ ' : '').'
+ '.($m['data']['Summer mailing address (P.O. Box)']->value.$m['data']['']->value.$m['data']['Cottage Address']->value != '' ? '
+ <div class="row"><div class="small-12 columns sectionTitle">Summer contact information</div></div>
+ '.($m['data']['Summer mailing address (P.O. Box)']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Summer mailing address:</div><div class="small-7 columns end fieldValue">'.$m['data']['Summer mailing address (P.O. Box)']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['Cottage Address']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Cottage address:</div><div class="small-7 columns end fieldValue">'.$m['data']['Cottage Address']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['911 Address']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">911 address:</div><div class="small-7 columns end fieldValue">'.$m['data']['911 Address']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['Summer City']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns"> </div>
+ <div class="small-7 columns end fieldValue">
+ '.$m['data']['Summer City']->value.($m['data']['Summer State']->value != '' ? ', '.$m['data']['Summer State']->value : '').'
+ '.$m['data']['Summer ZIP/Postal Code']->value.'
</div>
- '.($m['data']['Spouse name']->value != '' ? '
- <div class="row">
- <div class="small-12 columns addSpaceTop">Spouse: '.$m['data']['Spouse name']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['Additional Summer Address']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Additional address:</div><div class="small-7 columns end fieldValue">'.$m['data']['Additional Summer Address']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['Home Phone']->value.$m['data']['Additional Phone']->value.$m['data']['Additional Phone #2']->value != '' ? '
+ <div class="row">
+ '.($m['data']['Home Phone']->value != '' ? '
+ <div class="small-5 medium-3 columns fieldPrompt">Home Phone:</div><div class="small-7 medium-2 columns fieldValue">'.$m['data']['Home Phone']->value.'</div>
+ ' : '').'
+ '.($m['data']['Additional Phone']->value.$m['data']['Additional Phone #2']->value != '' ? '
+ <div class="small-5 medium-3 columns fieldPrompt">Other Phones:</div>
+ <div class="small-7 medium-4 columns fieldValue">'.$m['data']['Additional Phone']->value.' '.$m['data']['Additional Phone #2']->value.'</div>
+ ' : '
+ <div class="small-1 columns end"> </div>
+ ').'
+ </div>
+ ' : '').'
+ ' : '').'
+ '.($m['data']['Winter mailing address']->value.$m['data']['Winter Apt']->value.$m['data']['Winter Apt']->value != '' ? '
+ <div class="row"><div class="small-12 columns sectionTitle">Winter contact information</div></div>
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Winter address:</div>
+ <div class="small-7 columns end fieldValue">
+ '.$m['data']['Winter mailing address']->value.($m['data']['Winter State']->value != '' ? ', '.$m['data']['Winter Apt']->value : '').'
</div>
- <div class="row">
- '.($m['data']['Spouse email']->value != '' ? '<div class="small-7 columns">Email: '.$m['data']['Spouse email']->value.'</div>' : '').'
- '.($m['data']['Spouse cell phone']->value != '' ? '<div class="small-5 columns">Cell phone: '.$m['data']['Spouse cell phone']->value.'</div>' : '').'
+ </div>
+ '.($m['data']['Winter City']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns"> </div>
+ <div class="small-7 columns end fieldValue">
+ '.$m['data']['Winter City']->value.($m['data']['Winter State']->value != '' ? ', '.$m['data']['Winter State']->value : '').'
+ '.$m['data']['Winter ZIP/Postal Code']->value.'
</div>
- ' : '') .'
- '.($m['data']['Summer mailing address (P.O. Box)']->value != '' ? '
- <div class="row"><div class="small-12 columns addSpaceTop">Summer mailing address</div></div>
- <div class="row"><div class="small-12 columns">
- '.$m['data']['Summer mailing address (P.O. Box)']->value.'
- '.($m['data']['Summer Apt']->value != '' ? '
- Apt: '.$m['data']['Summer Apt']->value.'
- ' : '').'
- </div></div>
- <div class="row">
- <div class="small-12 columns">'.$m['data']['Summer City']->value.', '.$m['data']['Summer State']->value.' '.$m['data']['Summer ZIP/Postal Code']->value.'</div>
+ </div>
+ ' : '').'
+ '.($m['data']['Winter phone']->value != '' ? '
+ <div class="row">
+ <div class="small-3 columns fieldPrompt">Phone:</div>
+ <div class="small-7 columns end fieldValue">
+ '.$m['data']['Winter phone']->value.'
</div>
- ' : '') .'
- Address #1: '.$m['data']['Address #1']->value.'<br>
- Phone #1: '.$m['data']['Phone #1']->value.'<br>
- Address #2: '.$m['data']['Address #2']->value.'<br>
- Phone #2: '.$m['data']['Phone #2']->value.'<br>
- Address #3: '.$m['data']['Address #3']->value.'<br>
- Phone #3: '.$m['data']['Phone #3']->value.'<br>
- Winter mailing address: '.$m['data']['Winter mailing address']->value.'<br>
- Winter Apt: '.$m['data']['Winter Apt']->value.'<br>
- Winter City: '.$m['data']['Winter City']->value.'<br>
- Winter State: '.$m['data']['Winter State']->value.'<br>
- Winter ZIP/Postal Code: '.$m['data']['Winter ZIP/Postal Code']->value.'<br>
- Winter phone: '.$m['data']['Winter phone']->value.'<br>
- <hr width="80%">
</div>
+ ' : '').'
+ ' : '').'
+ <hr width="80%">
';
}
}
- // Uncomment to show contents of each member entry
- // echo "<pre>".print_r($this->items[1],1)."</pre>";
+
+
+ // Uncomment to show fields or member data arrays
+ // echo "<pre>".print_r($this->fields,1)."</pre>";
+ // echo "<pre>".print_r($this->items,1)."</pre>";
?>
</div><!-- end of wrap -->