update join sql part for no city
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 6 Jun 2013 16:36:21 +0000 (16:36 +0000)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 6 Jun 2013 16:36:21 +0000 (16:36 +0000)
Toolkit/Members/ProfilePage.php
Toolkit/Members/templates/memberDetail.tpl

index 631fdc9..e8b9346 100644 (file)
@@ -388,18 +388,8 @@ class Toolkit_Members_ProfilePage
 
                $this->setMemberInfo($page);
                $this->setMemberPhotos($page);
-               $this->setMemberAccommodations($page);
                $this->setMemberAmenities($page);
-               $this->setMemberCCards($page);
-               $this->setMemberSocialMedia($page);
                $this->setMemberFiles($page);
-               $this->setMemberPackages($page);
-               $this->setMemberGolf($page);
-               $this->setMemberRestaurant($page);
-
-        $page->show_attributes = (   $page->has_accommodations
-                                                                 || $page->has_social_media
-                                                                 || is_array($page->ccards));
        }
 
        //      }}}
@@ -441,72 +431,6 @@ class Toolkit_Members_ProfilePage
                }
        }
 
-       //      }}}
-       //      {{{     setMemberGolf()
-
-    /**
-     * Get all the golf data for the the member profile being looked at
-     *
-     * @param object &$page The object you want to use with the flexy template
-        *
-     * @return void
-     * @access protected
-     */
-       protected function setMemberGolf(&$page)
-       {
-               try {
-                       $sql = "
-                               SELECT column_name, data_type
-                                 FROM information_schema.columns
-                                WHERE table_name = 'member_golf'";
-
-                       $tableData = $this->dbh->query($sql)->fetchAll();
-
-                       $sql = "
-                               SELECT *
-                                 FROM member_golf
-                                WHERE member_id = :mid";
-
-                       $stmt = $this->dbh->prepare($sql);
-                       $stmt->bindParam(':mid', $this->_mid, PDO::PARAM_INT);
-                       $stmt->execute();
-
-                       if ($row = $stmt->fetch()) {
-                               $show = false;
-                               foreach ($tableData as $td) {
-                                       switch ($td['data_type']) {
-                                       case 'radio' :
-                                       case 'boolean' :
-                                               $golf[$td['column_name']] = ($row[$td['column_name']] == 't') ? 'Yes': 'No';
-                                               break;
-
-                                       case 'integer' :
-                                               break;
-
-                                       case 'text' :
-                                       default :
-                                               $golf[$td['column_name']] = $row[$td['column_name']];
-                                               if (!empty($row[$td['column_name']])) {
-                                                       $show = true;
-                                               }
-                                               break;
-                                       }
-                               }
-
-                $page->golf_info      = $show;
-                $page->par            = $golf['par'];
-                $page->yardage        = $golf['yardage'];
-                $page->course_rating  = $golf['course_rating'];
-                $page->slope_rating   = $golf['slope_rating'];
-                $page->walking_course = $golf['walking_course'];
-                $page->holes18        = $golf['holes18'];
-                $page->holes9         = $golf['holes9'];
-                       }
-               } catch (PDOException $e) {
-                       return Toolkit_Common::handleError($e);
-               }
-       }
-
        //      }}}
     //  {{{ setMemberId()
 
@@ -548,7 +472,9 @@ class Toolkit_Members_ProfilePage
                        ct.county_name,
                        s.state_abb AS state_abbr
                   FROM member m
-                    JOIN city c USING (city_id), state s, county ct
+                    LEFT OUTER JOIN city c ON (m.city_id = c.city_id)
+                    LEFT OUTER JOIN state s ON (m.state_id = s.state_id),
+                       county ct
                  WHERE m.member_id = :mid
                    AND m.state_id  = s.state_id
                    AND m.county = ct.county_id";
@@ -665,49 +591,6 @@ class Toolkit_Members_ProfilePage
                }
        }
 
-       //      }}}
-       //      {{{     setMemberPackages()
-
-    /**
-     * Get all the file data for the the member profile being looked at
-     *
-     * @param object &$page The object you want to use with the flexy template
-        *
-     * @return void
-     * @access protected
-     */
-       protected function setMemberPackages(&$page)
-       {
-               try {
-                       $sql = "
-                               SELECT title, description, image
-                                 FROM member_packages
-                                WHERE member_id = :mid
-                                  AND NOT pending
-                   AND CURRENT_DATE BETWEEN sdate AND edate
-                 ORDER BY id";
-
-                       $stmt = $this->dbh->prepare($sql);
-                       $stmt->bindParam(':mid', $this->_mid, PDO::PARAM_INT);
-                       $stmt->execute();
-
-                       $count = 0;
-                       while ($row = $stmt->fetch()) {
-                               $page->packages[$count]['title'] = $row['title'];
-                               if (!empty($row['image'])) {
-                    $img = $page->image_path . $row['image'];
-                                       $page->packages[$count]['image'] = $img;
-                               }
-                               if (!empty($row['description'])) {
-                                       $page->packages[$count]['description'] = $row['description'];
-                               }
-                               ++$count;
-                       }
-               } catch (PDOException $e) {
-                       return Toolkit_Common::handleError($e);
-               }
-       }
-
        //      }}}
        //      {{{     setMemberPhotos()
 
@@ -749,105 +632,6 @@ class Toolkit_Members_ProfilePage
        }
 
        //      }}}
-       //      {{{     setMemberRestaurant()
-
-    /**
-     * Get all the restaurant data for the the member profile being looked at
-     *
-     * @param object &$page The object you want to use with the flexy template
-        *
-     * @return void
-     * @access protected
-     */
-       protected function setMemberRestaurant(&$page)
-       {
-               try {
-                       $sql = "
-                               SELECT column_name, data_type
-                                 FROM information_schema.columns
-                                WHERE table_name = 'member_restaurants'";
-
-                       $tableData = $this->dbh->query($sql)->fetchAll();
-
-                       $sql = "
-                               SELECT *
-                                 FROM member_restaurants
-                                WHERE member_id = :mid";
-
-                       $stmt = $this->dbh->prepare($sql);
-                       $stmt->bindParam(':mid', $this->_mid, PDO::PARAM_INT);
-                       $stmt->execute();
-
-                       if ($row = $stmt->fetch()) {
-                               $show = false;
-                               foreach ($tableData as $td) {
-                                       switch ($td['data_type']) {
-                                       case 'radio' :
-                                       case 'boolean' :
-                                               $restaurant[$td['column_name']]
-                            = ($row[$td['column_name']] == 't') ? 'Yes': 'No';
-                                               if ($row[$td['column_name']] == 't') {
-                                                       $show = true;
-                                               }
-                                               break;
-
-                                       default :
-                                               $restaurant[$td['column_name']] = $row[$td['column_name']];
-                                               break;
-                                       }
-                               }
-
-                $page->restaurant_info = $show;
-                $page->breakfast       = $restaurant['breakfast'];
-                $page->brunch          = $restaurant['brunch'];
-                $page->lunch           = $restaurant['lunch'];
-                $page->dinner          = $restaurant['dinner'];
-                $page->alcohol         = $restaurant['alcohol'];
-                       }
-               } catch (PDOException $e) {
-                       return Toolkit_Common::handleError($e);
-               }
-       }
-
-       //      }}}
-       //      {{{     setMemberSocialMedia()
-
-    /**
-     * Gets all the members social media links
-     *
-     * @param object &$page The object you want to use with the flexy template
-        *
-     * @return mixed array if the member has any links otherwise false
-     * @access protected
-     */
-       protected function setMemberSocialMedia(&$page)
-       {
-               try {
-                       $sql = "
-                SELECT facebook, twitter, myspace, linkedin, blog,
-                       youtube, pinterest
-                  FROM member
-                 WHERE member_id = :mid";
-
-                       $stmt = $this->dbh->prepare($sql);
-                       $stmt->bindParam(':mid', $this->_mid, PDO::PARAM_INT);
-                       $stmt->execute();
-
-            $row = $stmt->fetch(PDO::FETCH_ASSOC);
-            $media = array_filter($row);
-
-            if (!empty($media)) {
-                $page->has_social_media = true;
-                foreach ($media as $k => $v) {
-                    $page->$k = $v;
-                }
-            }
-               } catch (PDOException $e) {
-                       return Toolkit_Common::handleError($e);
-               }
-       }
-
-       //      }}}
 
     //  {{{ _validMember()
 
index 5f00acd..70d92ad 100644 (file)
@@ -1,37 +1,35 @@
 <flexy:toJavascript
-flexy:prefix="glm_"
-base_url="base_url"
-trip_planner_id="trip_planner_id"
-catid="catid"
->
+    flexy:prefix="glm_"
+    base_url="base_url"
+    trip_planner_id="trip_planner_id"
+    catid="catid"
+    >
 </flexy:toJavascript>
 <div id="member-detail">
-       <div id="image-box" style="height: 1%; overflow: hidden;">
-               <div flexy:if="logo" id="logo-spot">
-                       <img id="member-img-1"
-                               alt="Member Logo Image"
-                               src="{image_path:h}{logo:h}">
-               </div>
-       </div>
-
-       {memberSince:h}
+    <div id="image-box" style="height: 1%; overflow: hidden;">
+        <div flexy:if="logo" id="logo-spot">
+            <img id="member-img-1"
+                 alt="Member Logo Image"
+                 src="{image_path:h}{logo:h}">
+        </div>
+    </div>
 
-       <div class="vcard">
-               <h1 class="fn org">{member_name:h}</h1>
-               <div class="adr">
-                       <div flexy:if="hasMailingAddy" class="type">Street Address</div>
-                       <div class="street-address">{street:h}</div>
-                       <div>
-                               <span class="locality" flexy:if="city">{city:h},</span>
-                               <span class="region" title="{state_name:h}">
-                                       {state_abbr:h}
-                               </span>
-                               <span class="postal-code">{zip:h}</span>
-                       </div>
+    <div class="vcard">
+        <h1 class="fn org">{member_name:h}</h1>
+        <div class="adr">
+            <div flexy:if="hasMailingAddy" class="type">Street Address</div>
+            <div class="street-address">{street:h}</div>
+            <div>
+                <span class="locality" flexy:if="city">{city:h},</span>
+                <span class="region" title="{state_name:h}">
+                    {state_abbr:h}
+                </span>
+                <span class="postal-code">{zip:h}</span>
+            </div>
             <div>
                 <span class="county">{county_name:h} County</span>
             </div>
-               </div><!-- /.adr -->
+        </div><!-- /.adr -->
         <div>
             <div flexy:if="distance"><b>Distance:</b> {distance:h}</div>
             <div flexy:if="trailtype"><b>TrailType:</b> {trailtype:h}</div>
@@ -40,88 +38,77 @@ catid="catid"
             <div flexy:if="difficulty"><b>Difficulty:</b> {difficulty:h}</div>
             <div flexy:if="paypal">{paypal:h}</div>
         </div>
-               <div flexy:if="hasMailingAddy" class="adr">
-                       <div class="type">Mailing Address</div>
-                       <div class="street-address">{mailing_address:h}</div>
-                       <div>
-                               <span class="locality">{mailing_city:h}</span>,
-                               <span class="region" title="{mailing_state_name:h}">
-                                       {mailing_state_abbr:h}
-                               </span>
-                               <span class="postal-code">{mailing_zip:h}</span>
-                       </div>
-               </div><!-- /.adr -->
-               <div flexy:if="phone" class="tel">
-                       <span class="type">Phone</span>:
-                       <span class="value">{phone:h}</span>
-               </div>
-               <div flexy:if="toll_free" class="tel">
-                       <span class="type">Toll Free</span>:
-                       <span class="value">{toll_free:h}</span>
-               </div>
-               <div flexy:if="fax" class="tel">
-                       <span class="type">Fax</span>:
-                       <span class="value">{fax:h}</span>
-               </div>
-               <a flexy:if="email" class="email member-button" title="Email" href="mailto:{email:h}">Email</a>
-               <a flexy:if="url" title="Website" href="{url:h}" class="external member-button member-website" rel="{member_id}">Website</a>
-               <div id="google-div">
-                       <div class="customDialog">
-                               <form id="GDirs" action="http://maps.google.com/maps" method="get" target="_blank">
-                                       <h3>Get Driving Directions:</h3>
-                                       <div class="hiddenElements">
-                                               <input id="toaddress" type="text" name="saddr" size="40" value="Your Address City, State Zip">
-                                               <input type="hidden" name="daddr" value="{daddr:h}">
-                                               <input type="submit" value="Get Directions">
-                                       </div>
-                               </form>
-                       </div><!--/.customDialog -->
-               </div><!-- /#google-div -->
-       </div><!-- /.vcard -->
+        <div flexy:if="phone" class="tel">
+            <span class="type">Phone</span>:
+            <span class="value">{phone:h}</span>
+        </div>
+        <div flexy:if="toll_free" class="tel">
+            <span class="type">Toll Free</span>:
+            <span class="value">{toll_free:h}</span>
+        </div>
+        <div flexy:if="fax" class="tel">
+            <span class="type">Fax</span>:
+            <span class="value">{fax:h}</span>
+        </div>
+        <a flexy:if="email" class="email member-button" title="Email" href="mailto:{email:h}">Email</a>
+        <a flexy:if="url" title="Website" href="{url:h}" class="external member-button member-website" rel="{member_id}">Website</a>
+        <div id="google-div">
+            <div class="customDialog">
+                <form id="GDirs" action="http://maps.google.com/maps" method="get" target="_blank">
+                    <h3>Get Driving Directions:</h3>
+                    <div class="hiddenElements">
+                        <input id="toaddress" type="text" name="saddr" size="40" value="Your Address City, State Zip">
+                        <input type="hidden" name="daddr" value="{daddr:h}">
+                        <input type="submit" value="Get Directions">
+                    </div>
+                </form>
+            </div><!--/.customDialog -->
+        </div><!-- /#google-div -->
+    </div><!-- /.vcard -->
 
-{if:addToLink}
-       <a id="add-{member_id}" class="list-add-link" rel="{member_id}" flexy:if="plink" href="{plink:h}">
-               <img alt="Add to Your Travel List" class="list-add-link" rel="{member_id}" title="Add to Your Travel List" src="{base_url:h}assets/addto.gif" style="float: right; margin: 10px;clear: right;">
-               <img id="loading-planner" style="display: none;" src="{glm_base_url:h}gallery/loadingAnimation.gif">
-       </a>
-{else:}
-       <a href="{plink:h}" flexy:if="plink" class="list-view-link">
-               <img alt="View Your Travel List" title="View Your Travel List" src="{base_url:h}assets/viewTravelPlanner.gif" style="float: right; margin: 10px;clear: right;">
-       </a>
-{end:}
+    {if:addToLink}
+        <a id="add-{member_id}" class="list-add-link" rel="{member_id}" flexy:if="plink" href="{plink:h}">
+            <img alt="Add to Your Travel List" class="list-add-link" rel="{member_id}" title="Add to Your Travel List" src="{base_url:h}assets/addto.gif" style="float: right; margin: 10px;clear: right;">
+            <img id="loading-planner" style="display: none;" src="{glm_base_url:h}gallery/loadingAnimation.gif">
+        </a>
+    {else:}
+        <a href="{plink:h}" flexy:if="plink" class="list-view-link">
+            <img alt="View Your Travel List" title="View Your Travel List" src="{base_url:h}assets/viewTravelPlanner.gif" style="float: right; margin: 10px;clear: right;">
+        </a>
+    {end:}
 
-       <div style="clear: left; text-align: justify;">{description:h}</div>
-    <div style="clear: left; text-align: justify;" flexy:if="guide">
-        <h2>Trail Guide: </h2>{guide:h}
-    </div>
-    <div style="clear: left; text-align: justify;" flexy:if="facilities">
-        <h2>Facilities: </h2>{facilities:h}
-    </div>
-    <div style="clear: left; text-align: justify;" flexy:if="directions">
-        <h2>Directions: </h2>{directions:h}
-    </div>
-    <div style="clear: left; text-align: justify;" flexy:if="information">
-        <h2>Information: </h2>{information:h}
-    </div>
+        <div style="clear: left; text-align: justify;" flexy:if="description">{description:h}</div>
+        <div style="clear: left; text-align: justify;" flexy:if="guide">
+            <h2>Trail Guide: </h2>{guide:h}
+        </div>
+        <div style="clear: left; text-align: justify;" flexy:if="facilities">
+            <h2>Facilities: </h2>{facilities:h}
+        </div>
+        <div style="clear: left; text-align: justify;" flexy:if="directions">
+            <h2>Directions: </h2>{directions:h}
+        </div>
+        <div style="clear: left; text-align: justify;" flexy:if="information">
+            <h2>Information: </h2>{information:h}
+        </div>
 
-       <div flexy:if="amenities" class="business-list-amenities">
-               <ul>
-                       <li flexy:foreach="amenities,v">{v:h}</li>
-               </ul>
-       </div>
+        <div flexy:if="amenities" class="business-list-amenities">
+            <ul>
+                <li flexy:foreach="amenities,v">{v:h}</li>
+            </ul>
+        </div>
 
-       <div flexy:if="files" id="member-files">
-               <h2>Files Available for Download</h2>
-               <a flexy:foreach="files,k,v" class="file-download pdf external" href="{v[href]:h}">{v[name]:h}</a>
-       </div>
+        <div flexy:if="files" id="member-files">
+            <h2>Files Available for Download</h2>
+            <a flexy:foreach="files,k,v" class="file-download pdf external" href="{v[href]:h}">{v[name]:h}</a>
+        </div>
 
-       <div flexy:if="photos" id="photo-gallery">
-               <h2>Photo Gallery</h2>
-               <div flexy:foreach="photos,v" class="thumb {v[class]:h}">
-                       <a class="thickbox" title="{v[alt]:h}" rel="gallery-photos" href="{v[id]:h}">
-                               <img alt="{v[alt]:h}" src="{v[src]:h}">
-                       </a>
-               </div>
-       </div>
+        <div flexy:if="photos" id="photo-gallery">
+            <h2>Photo Gallery</h2>
+            <div flexy:foreach="photos,v" class="thumb {v[class]:h}">
+                <a class="thickbox" title="{v[alt]:h}" rel="gallery-photos" href="{v[id]:h}">
+                    <img alt="{v[alt]:h}" src="{v[src]:h}">
+                </a>
+            </div>
+        </div>
 
-</div>
+    </div>