From 40684706ae3abadfc9c029b6ae85d17296800751 Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Tue, 4 Oct 2016 11:03:13 -0400 Subject: [PATCH] Webcam links on member list fixed The webcam links were not properly sending people to the image (if a url was selected) or the member page (if image was selected) It will now also check whether a link has http prefix and add it if not. --- classes/data/dataMemberInfo.php | 7 +++++++ models/front/members/list.php | 2 +- setup/frontHooks.php | 17 +++++++++++++++-- views/front/members/list.html | 6 +++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/classes/data/dataMemberInfo.php b/classes/data/dataMemberInfo.php index 03a5572b..fbe7ba78 100644 --- a/classes/data/dataMemberInfo.php +++ b/classes/data/dataMemberInfo.php @@ -505,6 +505,13 @@ class GlmDataMemberInfo extends GlmDataAbstract if (strlen($r['short_descr']) > 120 ) { $dotdotdot = ' ...'; } + + /* + * This will add a protocol prefix to the live cam url + */ + $liveCamUrl = $r['live_cam_url']; + $r['live_cam_url'] = addUrlProtocol($liveCamUrl); + $formattedStr = trim(preg_replace('/\s\s+/', ' ', $r['short_descr'])); $r['short_descr'] = substr($formattedStr, 0, 120).$dotdotdot; diff --git a/models/front/members/list.php b/models/front/members/list.php index 9fbaf03f..b6aebc7c 100644 --- a/models/front/members/list.php +++ b/models/front/members/list.php @@ -525,7 +525,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo $alphaList = $this->getAlphaList(' AND '.$where, $alphaSelected); } - + /* * Check for which view file to use, else default to list */ diff --git a/setup/frontHooks.php b/setup/frontHooks.php index e584ff4c..f41b9d06 100644 --- a/setup/frontHooks.php +++ b/setup/frontHooks.php @@ -174,9 +174,9 @@ if (is_plugin_active($plugin_name)) { if (!function_exists('is_in_tree')) { function is_in_tree( $pid ) { global $post; - if ( is_page($pid) ) + if ( is_page( $pid ) ) { return true; - + } $anc = get_post_ancestors( $post->ID ); foreach ( $anc as $ancestor ) { if( is_page() && $ancestor == $pid ) { @@ -262,6 +262,19 @@ function glm_members_only_template( $template ) { return $template; } + +/* + * This function adds a protocol prefix if the given url does not have one already + */ +if (!function_exists('addUrlProtocol')) { + function addUrlProtocol($url) { + if (!preg_match("~^(?:f|ht)tps?://~i", $url)) { + $url = "http://" . $url; + } + return $url; + } +} + /* * */ diff --git a/views/front/members/list.html b/views/front/members/list.html index 6b16c0bb..85abbad5 100644 --- a/views/front/members/list.html +++ b/views/front/members/list.html @@ -147,9 +147,13 @@ {$packageLink = apply_filters('glm-member-db-front-members-list-linksBottom', '', $member.member_pointer)} {if $packageLink}
  • {$packageLink}
  • {/if} - {if $member.live_cam_type.value == 1} + + {if $member.live_cam_type.name == "Web Page" && $member.live_cam_url}
  • {$terms.term_webcam_cap}
  • + {else if $member.live_cam_type.name == "Camera Image"} +
  • {$terms.term_webcam_cap}
  • {/if} +
  • View More
  • {apply_filters('glm-member-db-front-members-list-memberBelow', '', $member.member_pointer)} -- 2.17.1