PageRenderTime 63ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/include/inc_module/mod_socialplugins/frontend.render.php

https://github.com/breitsch/phpwcms-modules
PHP | 1594 lines | 1209 code | 228 blank | 157 comment | 318 complexity | 7fdcbcc192d74cf84f3d39f28d29d17a MD5 | raw file
Possible License(s): GPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * phpwcms content management system
  4. *
  5. * @author Oliver Georgi <oliver@phpwcms.de>
  6. * @copyright Copyright (c) 2002-2013, Oliver Georgi
  7. * @license http://opensource.org/licenses/GPL-2.0 GNU GPL-2
  8. * @link http://www.phpwcms.de
  9. *
  10. * This script is a module for PHPWCMS
  11. * Module Social Plugins v1.0.5 by breitsch - webrealisierung gmbh 2013
  12. *
  13. **/
  14. // ----------------------------------------------------------------
  15. // obligate check for phpwcms constants
  16. if (!defined('PHPWCMS_ROOT')) {
  17. die("You Cannot Access This Script Directly, Have a Nice Day.");
  18. }
  19. // ----------------------------------------------------------------
  20. $msp_js = array();
  21. function replace_fb_share_tag($fb_share_id) {
  22. $fb_share_id = intval(trim($fb_share_id[1]));
  23. $fbsp = array();
  24. $fbsp_output = '';
  25. $module_meta_thumb = '';
  26. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  27. $sql .= "fb_id = " . aporeplace($fb_share_id) . ' LIMIT 1';
  28. $fbsp['data'] = _dbQuery($sql);
  29. if( isset($fbsp['data'][0]) ) {
  30. $fbsp['data'] = $fbsp['data'][0];
  31. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  32. } else return;
  33. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  34. //if dynamic use basic otherwise use given value
  35. if ($fbsp['data']['values']['fb_site_url_fix'] == 1) {
  36. $fbsp['data']['values']['fb_url'] = fbsp_get_pageurl();
  37. } else {
  38. if ( strlen($fbsp['data']['values']['fb_site_url']) == strcspn($fbsp['data']['values']['fb_site_url'],"'\"\\|<>") ) {
  39. $fbsp['data']['values']['fb_url'] = $fbsp['data']['values']['fb_site_url'];
  40. }
  41. }
  42. //own image
  43. if ($fbsp['data']['values']['fb_id_img']) {
  44. $module_meta_thumb = fbsp_get_module_image ($fbsp['data']['values']['fb_id_img'], false, $fbsp['data']['values']['fb_img_width'], $fbsp['data']['values']['fb_img_height'], $fbsp['data']['values']['fb_img_crop']);
  45. //if($module_meta_thumb) {
  46. }
  47. _set_meta_url('og:url',$fbsp['data']['values']['fb_url'],'property');
  48. if($fbsp['data']['values']['fb_share_dialog'] == 1) {
  49. $fbsp_output = '<a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u='.urlencode($fbsp['data']['values']['fb_url']).'\',\'facebook-share-dialog\',\'width=626,height=436\');return false;" class="modsp_facebook_share">';
  50. if ($fbsp['data']['values']['fb_id_img'] && $module_meta_thumb) {
  51. $fbsp_output .= '<img src="'.PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0].'" alt="'.$fbsp['data']['values']['fb_link'].'" title="'.$fbsp['data']['values']['fb_link'].'" />';
  52. } else {
  53. $fbsp_output .= $fbsp['data']['values']['fb_link'];
  54. }
  55. $fbsp_output .= '</a>';
  56. } else {
  57. $fbsp_output = '<a href="https://www.facebook.com/sharer/sharer.php?u='.urlencode($fbsp['data']['values']['fb_url']).'" target="_blank" class="modsp_facebook_share">';
  58. if ($fbsp['data']['values']['fb_id_img'] && $module_meta_thumb) {
  59. $fbsp_output .= '<img src="'.PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0].'" alt="'.$fbsp['data']['values']['fb_link'].'" title="'.$fbsp['data']['values']['fb_link'].'" />';
  60. } else {
  61. $fbsp_output .= $fbsp['data']['values']['fb_link'];
  62. }
  63. $fbsp_output .= '</a>';
  64. }
  65. }
  66. return $fbsp_output;
  67. } //end replace_fb_share_tag
  68. function replace_fb_recom_tag($fb_recom_id) {
  69. global $msp_js;
  70. $fb_recom_id = intval(trim( $fb_recom_id[1]));
  71. $fbsp = array();
  72. $fbsp_output = '';
  73. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  74. $sql .= "fb_id = " . aporeplace($fb_recom_id) . ' LIMIT 1';
  75. $fbsp['data'] = _dbQuery($sql);
  76. if( isset($fbsp['data'][0]) ) {
  77. $fbsp['data'] = $fbsp['data'][0];
  78. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  79. } else return;
  80. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  81. $fbsp['data']['values']['fb_url'] = PHPWCMS_URL;
  82. _set_meta_url('og:url',$fbsp['data']['values']['fb_url'],'property');
  83. $fbsp['data']['values']['fb_header'] = ($fbsp['data']['values']['fb_header'] == 1) ? 'true' : 'false' ;
  84. if($fbsp['data']['values']['fb_output_type'] == 'iframe') {
  85. $fbsp_output = ' <iframe src="http://www.facebook.com/plugins/recommendations.php?site='.urlencode($fbsp['data']['values']['fb_url']).'&amp;width='.$fbsp['data']['values']['fb_width'].'&amp;height='.$fbsp['data']['values']['fb_height'].'&amp;header='.$fbsp['data']['values']['fb_header'].'&amp;font='.$fbsp['data']['values']['fb_font'].'&amp;colorscheme='.$fbsp['data']['values']['fb_colorscheme'].'&amp;ref='.$fbsp['data']['values']['fb_ref'].'&amp;locale='.$fbsp['data']['values']['fb_locale'].'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'.$fbsp['data']['values']['fb_width'].'px; height:'.$fbsp['data']['values']['fb_height'].'px;" allowTransparency="true"></iframe>';
  86. } else if ($fbsp['data']['values']['fb_output_type'] == 'xfbml'){
  87. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1"></script><div id="fb-root"></div><fb:recommendations site="'.$fbsp['data']['values']['fb_url'].'" width="'.$fbsp['data']['values']['fb_width'].'" height="'.$fbsp['data']['values']['fb_height'].'" header="'.$fbsp['data']['values']['fb_header'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" border_color="#'.$fbsp['data']['values']['fb_border_color'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:recommendations>';
  88. $fbsp_output = '<div id="fb-root"></div><fb:recommendations site="'.$fbsp['data']['values']['fb_url'].'" width="'.$fbsp['data']['values']['fb_width'].'" height="'.$fbsp['data']['values']['fb_height'].'" header="'.$fbsp['data']['values']['fb_header'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:recommendations>';
  89. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  90. } else if ($fbsp['data']['values']['fb_output_type'] == 'html5'){
  91. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1"></script><div id="fb-root"></div><div class="fb-recommendations" data-site="'.$fbsp['data']['values']['fb_url'].'" data-width="'.$fbsp['data']['values']['fb_width'].'" data-height="'.$fbsp['data']['values']['fb_height'].'" data-header="'.$fbsp['data']['values']['fb_header'].'" data-font="'.$fbsp['data']['values']['fb_font'].'" data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" data-border_color="#'.$fbsp['data']['values']['fb_border_color'].'" data-ref="'.$fbsp['data']['values']['fb_ref'].'"></div>';
  92. $fbsp_output = '<div id="fb-root"></div><div class="fb-recommendations" data-site="'.$fbsp['data']['values']['fb_url'].'" data-width="'.$fbsp['data']['values']['fb_width'].'" data-height="'.$fbsp['data']['values']['fb_height'].'" data-header="'.$fbsp['data']['values']['fb_header'].'" data-font="'.$fbsp['data']['values']['fb_font'].'" data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" data-ref="'.$fbsp['data']['values']['fb_ref'].'"></div>';
  93. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  94. }
  95. }
  96. return $fbsp_output;
  97. } //end replace_fb_recom_tag
  98. //ACTIVITY
  99. function replace_fb_activity_tag($fb_activity_id) {
  100. global $msp_js;
  101. $fb_activity_id = intval(trim( $fb_activity_id[1]));
  102. $fbsp = array();
  103. $fbsp_output = '';
  104. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  105. $sql .= "fb_id = " . aporeplace($fb_activity_id) . ' LIMIT 1';
  106. $fbsp['data'] = _dbQuery($sql);
  107. if( isset($fbsp['data'][0]) ) {
  108. $fbsp['data'] = $fbsp['data'][0];
  109. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  110. } else return;
  111. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  112. //enysm replace
  113. //$fbsp['data']['values']['fb_url'] = PHPWCMS_URL;
  114. //if dynamic use basic otherwise use given value
  115. if ($fbsp['data']['values']['fb_site_url_fix'] == 1) {
  116. $fbsp['data']['values']['fb_url'] = PHPWCMS_URL;
  117. } else {
  118. if ( strlen($fbsp['data']['values']['fb_site_url']) == strcspn($fbsp['data']['values']['fb_site_url'],"'\"\\|<>") ) {
  119. $fbsp['data']['values']['fb_url'] = $fbsp['data']['values']['fb_site_url'];
  120. }
  121. }
  122. //enysm replace end
  123. _set_meta_url('og:url',$fbsp['data']['values']['fb_url'],'property');
  124. $fbsp['data']['values']['fb_header'] = ($fbsp['data']['values']['fb_header'] == 1) ? 'true' : 'false' ;
  125. $fbsp['data']['values']['fb_show_recom'] = ($fbsp['data']['values']['fb_show_recom'] == 1) ? 'true' : 'false' ;
  126. if($fbsp['data']['values']['fb_output_type'] == 'iframe') {
  127. $fbsp_output = ' <iframe src="http://www.facebook.com/plugins/activity.php?site='.urlencode($fbsp['data']['values']['fb_url']).'&amp;width='.$fbsp['data']['values']['fb_width'].'&amp;height='.$fbsp['data']['values']['fb_height'].'&amp;header='.$fbsp['data']['values']['fb_header'].'&amp;font='.$fbsp['data']['values']['fb_font'].'&amp;colorscheme='.$fbsp['data']['values']['fb_colorscheme'].'&amp;recommendations='.$fbsp['data']['values']['fb_show_recom'].'&amp;ref='.$fbsp['data']['values']['fb_ref'].'&amp;locale='.$fbsp['data']['values']['fb_locale'].'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'.$fbsp['data']['values']['fb_width'].'px; height:'.$fbsp['data']['values']['fb_height'].'px;" allowTransparency="true"></iframe>';
  128. }else if ($fbsp['data']['values']['fb_output_type'] == 'xfbml'){
  129. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1"></script><div id="fb-root"></div><fb:activity site="'.$fbsp['data']['values']['fb_url'].'" width="'.$fbsp['data']['values']['fb_width'].'" height="'.$fbsp['data']['values']['fb_height'].'" header="'.$fbsp['data']['values']['fb_header'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" border_color="#'.$fbsp['data']['values']['fb_border_color'].'" recommendations="'.$fbsp['data']['values']['fb_show_recom'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:activity>';
  130. $fbsp_output = ' <div id="fb-root"></div><fb:activity site="'.$fbsp['data']['values']['fb_url'].'" width="'.$fbsp['data']['values']['fb_width'].'" height="'.$fbsp['data']['values']['fb_height'].'" header="'.$fbsp['data']['values']['fb_header'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" recommendations="'.$fbsp['data']['values']['fb_show_recom'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:activity>';
  131. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  132. }else if ($fbsp['data']['values']['fb_output_type'] == 'html5'){
  133. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1"></script><div id="fb-root"></div><div class="fb-activity" data-site="'.$fbsp['data']['values']['fb_url'].'" data-width="'.$fbsp['data']['values']['fb_width'].'" data-height="'.$fbsp['data']['values']['fb_height'].'" data-header="'.$fbsp['data']['values']['fb_header'].'" data-font="'.$fbsp['data']['values']['fb_font'].'" data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" data-border_color="#'.$fbsp['data']['values']['fb_border_color'].'" data-recommendations="'.$fbsp['data']['values']['fb_show_recom'].'" data-ref="'.$fbsp['data']['values']['fb_ref'].'"></div>';
  134. $fbsp_output = ' <div id="fb-root"></div><div class="fb-activity" data-site="'.$fbsp['data']['values']['fb_url'].'" data-width="'.$fbsp['data']['values']['fb_width'].'" data-height="'.$fbsp['data']['values']['fb_height'].'" data-header="'.$fbsp['data']['values']['fb_header'].'" data-font="'.$fbsp['data']['values']['fb_font'].'" data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" data-recommendations="'.$fbsp['data']['values']['fb_show_recom'].'" data-ref="'.$fbsp['data']['values']['fb_ref'].'"></div>';
  135. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  136. }
  137. }
  138. return $fbsp_output;
  139. } //end replace_fb_activity_tag
  140. //TWITTER
  141. function replace_twitter_tag($fb_twitter_id) {
  142. global $msp_js;
  143. $fb_twitter_id = intval(trim( $fb_twitter_id[1]));
  144. $fbsp = array();
  145. $fbsp_output = '';
  146. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  147. $sql .= "fb_id = " . aporeplace($fb_twitter_id) . ' LIMIT 1';
  148. $fbsp['data'] = _dbQuery($sql);
  149. if( isset($fbsp['data'][0]) ) {
  150. $fbsp['data'] = $fbsp['data'][0];
  151. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  152. } else return;
  153. $module_meta_thumb = array();
  154. $fbsp_data_text = '';
  155. $fbsp_data_url = '';
  156. $fbsp_data_via = '';
  157. $fbsp_data_related = '';
  158. $fbsp_data_counturl = '';
  159. $fbsp_data_hashtags = '';
  160. $fbsp_data_icn = '';
  161. $fbsp_data_count = '';
  162. $fbsp_usr_url = '';
  163. $fbsp_usr_hashtags = '';
  164. $fbsp_usr_text = '';
  165. $fbsp_usr_via = '';
  166. $fbsp_usr_related = '';
  167. $fbsp_usr_counturl = '';
  168. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  169. //url of actual page
  170. $fbsp['data']['values']['fb_pageurl'] = fbsp_get_pageurl();
  171. //main url
  172. $fbsp['data']['values']['fb_siteurl'] = PHPWCMS_URL;
  173. //set default page url
  174. $fbsp_data_counturl = ' data-counturl="'.$fbsp['data']['values']['fb_siteurl'].'"';
  175. $fbsp_usr_counturl = '&amp;counturl='.urlencode($fbsp['data']['values']['fb_siteurl']);
  176. //text
  177. if ($fbsp['data']['values']['fb_tweet_title'] == 1 && !empty($fbsp['data']['values']['fb_tweet_titletxt'])) {
  178. $fbsp_data_text = ' data-text="'.$fbsp['data']['values']['fb_tweet_titletxt'].'"';
  179. $fbsp_usr_text = '&amp;text='.urlencode($fbsp['data']['values']['fb_tweet_titletxt']);
  180. }
  181. //hashtag
  182. if ( !empty($fbsp['data']['values']['fb_tweet_hashtags']) ) {
  183. $fbsp['data']['values']['fb_tweet_hashtags'] = preg_replace('/[^0-9A-Za-z_,:]/m', '', $fbsp['data']['values']['fb_tweet_hashtags']);
  184. $fbsp_data_hashtags = ' data-hashtags="'.$fbsp['data']['values']['fb_tweet_hashtags'].'"';
  185. $fbsp_usr_hashtags = '&amp;hashtags='.urlencode($fbsp['data']['values']['fb_tweet_hashtags']);
  186. }
  187. //int url -> then set the base url
  188. if ($fbsp['data']['values']['fb_tweet_domain'] == 0 ) {
  189. $fbsp_data_url = ' data-url="'.$fbsp['data']['values']['fb_pageurl'].'"';
  190. $fbsp_usr_url = 'url='.urlencode($fbsp['data']['values']['fb_pageurl']);
  191. } else if ($fbsp['data']['values']['fb_tweet_domain'] == 1 && !empty($fbsp['data']['values']['fb_tweet_url'])) { //ext url
  192. if ( strlen($fbsp['data']['values']['fb_tweet_url']) == strcspn($fbsp['data']['values']['fb_tweet_url'],"'\"\\|<>") ) {
  193. $fbsp_data_url = ' data-url="'.$fbsp['data']['values']['fb_tweet_url'].'"';
  194. $fbsp_usr_url = 'url='.urlencode($fbsp['data']['values']['fb_tweet_url']);
  195. }
  196. }
  197. //recomm
  198. $fbsp_recom1output="";
  199. if (!empty($fbsp['data']['values']['fb_tweet_recom1'])) {
  200. $fbsp_recom1output = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom1']);
  201. $fbsp_data_via = ' data-via="'.$fbsp_recom1output.'"';
  202. $fbsp_usr_via = '&amp;via='.urlencode($fbsp_recom1output);
  203. }
  204. $fbsp_recom2output="";
  205. if (!empty($fbsp['data']['values']['fb_tweet_recom2'])) {
  206. $fbsp_recom2 = explode(":", $fbsp['data']['values']['fb_tweet_recom2'],2);
  207. if( isset($fbsp_recom2[1]) && $fbsp_recom2[1]){
  208. $fbsp_recom2[0] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp_recom2[0]);
  209. $fbsp_recom2[1] = preg_replace('/[\"\<\>\/\\\,]/m', '', $fbsp_recom2[1]);
  210. $fbsp_recom2output = implode(':', $fbsp_recom2);
  211. } else {
  212. $fbsp_recom2output = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom2']);
  213. }
  214. $fbsp_data_related = ' data-related="'.$fbsp_recom2output.'"';
  215. $fbsp_usr_related = '&amp;related='.urlencode($fbsp_recom2output);
  216. }
  217. //($fbsp['data']['values']['fb_tweet_button_count'] == 1) ? $fbsp_data_count = ' data-count="none"': $fbsp_data_count = '';
  218. if ( isset($fbsp['data']['values']['fb_tweet_count']) ) {
  219. $fbsp_data_count = ' data-count="'.$fbsp['data']['values']['fb_tweet_count'].'"';
  220. } else {
  221. $fbsp_data_count = ' data-count="none"';
  222. }
  223. //own image
  224. if ($fbsp['data']['values']['fb_id_img'] && $fbsp['data']['values']['fb_tweet_button']=='user') {
  225. $module_meta_thumb = fbsp_get_module_image ($fbsp['data']['values']['fb_id_img'], false, $fbsp['data']['values']['fb_img_width'], $fbsp['data']['values']['fb_img_height'], $fbsp['data']['values']['fb_img_crop']);
  226. if($module_meta_thumb) {
  227. //output own button
  228. $GLOBALS['block']['custom_htmlhead']["twitter_css"] = ' <style type="text/css" media="screen">
  229. #custom-tweet-button {
  230. width:'.$module_meta_thumb[1].'px;
  231. height:'.$module_meta_thumb[2].'px;
  232. position:relative;
  233. display: block;
  234. cursor:pointer;
  235. background: url(\''.PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0].'\') center center no-repeat;
  236. }
  237. </style>';
  238. $fbsp_output = ' <div id="custom-tweet-button" onclick="javascript: window.open(\'http://twitter.com/share?'.$fbsp_usr_url.$fbsp_usr_text.$fbsp_usr_hashtags.$fbsp_usr_via.$fbsp_usr_related.$fbsp_usr_counturl.'\', \'tweet\', \'location=1,status=1,width=550,height=450\');"></div>';
  239. }
  240. } else {
  241. ($fbsp['data']['values']['fb_tweet_button'] == 'large') ? $fbsp_data_icn = ' data-size="large"': $fbsp_data_icn = '';
  242. //output script version
  243. $fbsp_output = ' <a href="https://twitter.com/share" class="twitter-share-button" data-lang="'.$fbsp['data']['values']['fb_tweet_locale'].'"'.$fbsp_data_url.$fbsp_data_text.$fbsp_data_hashtags.$fbsp_data_count.$fbsp_data_via.$fbsp_data_related.$fbsp_data_icn.$fbsp_data_counturl.'>Tweet</a>';
  244. $msp_js['msp_tw-js'] = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");';
  245. }
  246. }
  247. return $fbsp_output;
  248. } //end replace_twitter_tag
  249. //TWITTER HASHTAG
  250. function replace_tw_hashtag($fb_twitter_id) {
  251. global $msp_js;
  252. $fb_twitter_id = intval(trim( $fb_twitter_id[1]));
  253. $fbsp = array();
  254. $fbsp_output = '';
  255. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  256. $sql .= "fb_id = " . aporeplace($fb_twitter_id) . ' LIMIT 1';
  257. $fbsp['data'] = _dbQuery($sql);
  258. if( isset($fbsp['data'][0]) ) {
  259. $fbsp['data'] = $fbsp['data'][0];
  260. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  261. } else return;
  262. $fbsp_data_hashtags = '';
  263. $fbsp_data_url = '';
  264. $fbsp_data_text = '';
  265. $fbsp_data_icn = '';
  266. $fbsp_data_related = '';
  267. if ( $fbsp['data']['fb_status'] == 1 && !empty($fbsp['data']['values']['fb_tweet_hashtags']) ) { //0=inactive, 1=active, 9=deleted
  268. //hashtag
  269. $fbsp['data']['values']['fb_tweet_hashtags'] = preg_replace('/[^0-9A-Za-z_:]/m', '', $fbsp['data']['values']['fb_tweet_hashtags']);
  270. $fbsp_data_hashtags = 'button_hashtag='.urlencode($fbsp['data']['values']['fb_tweet_hashtags']);
  271. //url of actual page
  272. $fbsp['data']['values']['fb_pageurl'] = fbsp_get_pageurl();
  273. //main url
  274. $fbsp['data']['values']['fb_siteurl'] = PHPWCMS_URL;
  275. //int url -> then set the base url
  276. // if fb_tweet_domain'] == 2 -> no url -> $fbsp_data_url remains =''
  277. if($fbsp['data']['values']['fb_tweet_domain'] == 0) {
  278. $fbsp_data_url = ' data-url="'.$fbsp['data']['values']['fb_pageurl'].'"';
  279. } else if ($fbsp['data']['values']['fb_tweet_domain'] == 1 && !empty($fbsp['data']['values']['fb_tweet_url'])) { //ext url
  280. if ( strlen($fbsp['data']['values']['fb_tweet_url']) == strcspn($fbsp['data']['values']['fb_tweet_url'],"'\"\\|<>") ) {
  281. $fbsp_data_url = ' data-url="'.$fbsp['data']['values']['fb_tweet_url'].'"';
  282. }
  283. }
  284. //text
  285. if ($fbsp['data']['values']['fb_tweet_title']==0){
  286. $fbsp_data_text = '&text='.urlencode(fbsp_get_pagetitle());
  287. } else if ($fbsp['data']['values']['fb_tweet_title'] == 1 && !empty($fbsp['data']['values']['fb_tweet_titletxt'])) {
  288. $fbsp_data_text = '&text='.urlencode($fbsp['data']['values']['fb_tweet_titletxt']);
  289. }
  290. //size
  291. ($fbsp['data']['values']['fb_tweet_button'] == 'large') ? $fbsp_data_icn = ' data-size="large"': $fbsp_data_icn = '';
  292. //recomm
  293. $fbsp_recomarr=array();
  294. if (!empty($fbsp['data']['values']['fb_tweet_recom1'])) {
  295. $fbsp_recom1 = explode(":", $fbsp['data']['values']['fb_tweet_recom1'],2);
  296. if($fbsp_recom1[1]){
  297. $fbsp_recom1[0] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp_recom1[0]);
  298. $fbsp_recom1[1] = preg_replace('/[\"\<\>\/\\\,]/m', '', $fbsp_recom1[1]);
  299. $fbsp_recomarr[] = implode(':', $fbsp_recom1);
  300. } else {
  301. $fbsp_recomarr[] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom1']);
  302. }
  303. }
  304. if (!empty($fbsp['data']['values']['fb_tweet_recom2'])) {
  305. $fbsp_recom2 = explode(":", $fbsp['data']['values']['fb_tweet_recom2'],2);
  306. if($fbsp_recom2[1]){
  307. $fbsp_recom2[0] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp_recom2[0]);
  308. $fbsp_recom2[1] = preg_replace('/[\"\<\>\/\\\,]/m', '', $fbsp_recom2[1]);
  309. $fbsp_recomarr[] = implode(':', $fbsp_recom2);
  310. } else {
  311. $fbsp_recomarr[] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom2']);
  312. }
  313. }
  314. if( count($fbsp_recomarr) ){
  315. $fbsp_data_related = ' data-related="';
  316. $fbsp_data_related .= implode(',', $fbsp_recomarr);
  317. $fbsp_data_related .= '"';
  318. }
  319. //output script version
  320. $fbsp_output = ' <a href="https://twitter.com/intent/tweet?'.$fbsp_data_hashtags.$fbsp_data_text.'" class="twitter-hashtag-button" data-lang="'.$fbsp['data']['values']['fb_tweet_locale'].'"'.$fbsp_data_url.$fbsp_data_icn.$fbsp_data_related.'>Tweet</a>';
  321. $msp_js['msp_tw-js'] = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");';
  322. }
  323. return $fbsp_output;
  324. } //end replace_tw_hashtag
  325. //TWITTER MENTION
  326. function replace_tw_mention($fb_twitter_id) {
  327. global $msp_js;
  328. $fb_twitter_id = intval(trim( $fb_twitter_id[1]));
  329. $fbsp = array();
  330. $fbsp_output = '';
  331. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  332. $sql .= "fb_id = " . aporeplace($fb_twitter_id) . ' LIMIT 1';
  333. $fbsp['data'] = _dbQuery($sql);
  334. if( isset($fbsp['data'][0]) ) {
  335. $fbsp['data'] = $fbsp['data'][0];
  336. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  337. } else return;
  338. $fbsp_data_tweetto = '';
  339. $fbsp_data_text = '';
  340. $fbsp_data_icn = '';
  341. $fbsp_data_related = '';
  342. if ( $fbsp['data']['fb_status'] == 1 && !empty($fbsp['data']['values']['fb_tweet_tweetto']) ) { //0=inactive, 1=active, 9=deleted
  343. //mention
  344. $fbsp['data']['values']['fb_tweet_tweetto'] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_tweetto']);
  345. $fbsp_data_tweetto = 'screen_name='.urlencode($fbsp['data']['values']['fb_tweet_tweetto']);
  346. //text
  347. if ($fbsp['data']['values']['fb_tweet_title']==0){
  348. $fbsp_data_text = '&amp;text='.urlencode(fbsp_get_pagetitle());
  349. } else if ($fbsp['data']['values']['fb_tweet_title'] == 1 && !empty($fbsp['data']['values']['fb_tweet_titletxt'])) {
  350. $fbsp_data_text = '&amp;text='.urlencode($fbsp['data']['values']['fb_tweet_titletxt']);
  351. }
  352. //size
  353. ($fbsp['data']['values']['fb_tweet_button'] == 'large') ? $fbsp_data_icn = ' data-size="large"': $fbsp_data_icn = '';
  354. //recomm
  355. $fbsp_recomarr=array();
  356. if (!empty($fbsp['data']['values']['fb_tweet_recom1'])) {
  357. $fbsp_recom1 = explode(":", $fbsp['data']['values']['fb_tweet_recom1'],2);
  358. if($fbsp_recom1[1]){
  359. $fbsp_recom1[0] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp_recom1[0]);
  360. $fbsp_recom1[1] = preg_replace('/[\"\<\>\/\\\,]/m', '', $fbsp_recom1[1]);
  361. $fbsp_recomarr[] = implode(':', $fbsp_recom1);
  362. } else {
  363. $fbsp_recomarr[] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom1']);
  364. }
  365. }
  366. if (!empty($fbsp['data']['values']['fb_tweet_recom2'])) {
  367. $fbsp_recom2 = explode(":", $fbsp['data']['values']['fb_tweet_recom2'],2);
  368. if($fbsp_recom2[1]){
  369. $fbsp_recom2[0] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp_recom2[0]);
  370. $fbsp_recom2[1] = preg_replace('/[\"\<\>\/\\\,]/m', '', $fbsp_recom2[1]);
  371. $fbsp_recomarr[] = implode(':', $fbsp_recom2);
  372. } else {
  373. $fbsp_recomarr[] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_recom2']);
  374. }
  375. }
  376. if( count($fbsp_recomarr) ){
  377. $fbsp_data_related = ' data-related="';
  378. $fbsp_data_related .= implode(',', $fbsp_recomarr);
  379. $fbsp_data_related .= '"';
  380. }
  381. //output script version
  382. $fbsp_output = ' <a href="https://twitter.com/intent/tweet?'.$fbsp_data_tweetto.$fbsp_data_text.'" class="twitter-mention-button" data-lang="'.$fbsp['data']['values']['fb_tweet_locale'].'"'.$fbsp_data_icn.$fbsp_data_related.'>Tweet @'.$fbsp['data']['values']['fb_tweet_tweetto'].'</a>';
  383. $msp_js['msp_tw-js'] = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");';
  384. }
  385. return $fbsp_output;
  386. } //end replace_tw_mention
  387. //TWITTER FOLLOW
  388. function replace_tw_follow($fb_twitter_id) {
  389. global $msp_js;
  390. $fb_twitter_id = intval(trim( $fb_twitter_id[1]));
  391. $fbsp = array();
  392. $fbsp_output = '';
  393. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  394. $sql .= "fb_id = " . aporeplace($fb_twitter_id) . ' LIMIT 1';
  395. $fbsp['data'] = _dbQuery($sql);
  396. if( isset($fbsp['data'][0]) ) {
  397. $fbsp['data'] = $fbsp['data'][0];
  398. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  399. } else return;
  400. $fbsp_data_followuser = '';
  401. $fbsp_data_show_screen_name = '';
  402. $fbsp_data_count = ' data-show-count="false"';
  403. $fbsp_data_icn = '';
  404. if ($fbsp['data']['fb_status'] == 1 && !empty($fbsp['data']['values']['fb_tweet_followuser']) ) { //0=inactive, 1=active, 9=deleted
  405. //follow user
  406. $fbsp['data']['values']['fb_tweet_followuser'] = preg_replace('/[^0-9A-Za-z_]/m', '', $fbsp['data']['values']['fb_tweet_followuser']);
  407. $fbsp_data_followuser = $fbsp['data']['values']['fb_tweet_followuser'];
  408. //show_screen_name
  409. ($fbsp['data']['values']['fb_tweet_showusername'] != 1) ? $fbsp_data_show_screen_name = ' data-show-screen-name="false"': $fbsp_data_show_screen_name = '';
  410. //size
  411. ($fbsp['data']['values']['fb_tweet_button'] == 'large') ? $fbsp_data_icn = ' data-size="large"': $fbsp_data_icn = '';
  412. //count
  413. if ( isset($fbsp['data']['values']['fb_tweet_count']) && $fbsp['data']['values']['fb_tweet_count'] == 'true' ) {
  414. $fbsp_data_count = ' data-count="true"';
  415. }
  416. //output script version
  417. $fbsp_output = ' <a href="https://twitter.com/'.$fbsp_data_followuser.'" class="twitter-follow-button" data-lang="'.$fbsp['data']['values']['fb_tweet_locale'].'"'.$fbsp_data_show_screen_name.$fbsp_data_icn.$fbsp_data_count.'>Follow @'.$fbsp_data_followuser.'</a>';
  418. $msp_js['msp_tw-js'] = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");';
  419. }
  420. return $fbsp_output;
  421. } //end replace_tw_follow
  422. //TWITTERFOLLOW
  423. function replace_twitterfollow_tag($fb_twitterfollow_id) {
  424. $fb_twitterfollow_id = intval(trim( $fb_twitterfollow_id[1]));
  425. $fbsp = array();
  426. $fbsp_output = '';
  427. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  428. $sql .= "fb_id = " . aporeplace($fb_twitterfollow_id) . ' LIMIT 1';
  429. $fbsp['data'] = _dbQuery($sql);
  430. if( isset($fbsp['data'][0]) ) {
  431. $fbsp['data'] = $fbsp['data'][0];
  432. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  433. } else return;
  434. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  435. $GLOBALS['block']['custom_htmlhead']['css_twitter_follow'] = ' <style type="text/css">
  436. .twitter-follow-button img { border:none; }
  437. </style>
  438. ';
  439. $fbsp_output = '<span class="twitter-follow-button">'.$fbsp['data']['values']['fb_twitter_followcode'].'</span>';
  440. }
  441. return $fbsp_output;
  442. } //end replace_twitterfollow_tag
  443. function replace_twitterwidget_tag($fb_twitterwidget_id) {
  444. $fb_twitterwidget_id = intval(trim( $fb_twitterwidget_id[1]));
  445. $fbsp = array();
  446. $fbsp_output = '';
  447. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  448. $sql .= "fb_id = " . aporeplace($fb_twitterwidget_id) . ' LIMIT 1';
  449. $fbsp['data'] = _dbQuery($sql);
  450. if( isset($fbsp['data'][0]) ) {
  451. $fbsp['data'] = $fbsp['data'][0];
  452. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  453. } else return;
  454. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  455. $fbsp_output = $fbsp['data']['values']['fb_twitter_widgetcode'];
  456. }
  457. return $fbsp_output;
  458. } //end replace_twitterfollow_tag
  459. //LIKE
  460. function replace_fb_likeit_tag($fb_likeit_id) {
  461. global $content;
  462. global $news;
  463. global $phpwcms;
  464. global $msp_js;
  465. $fbsp_like_id = intval(trim( $fb_likeit_id[1]));
  466. $fbsp = array();
  467. $fbsp_output = '';
  468. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  469. $sql .= "fb_id = " . aporeplace($fbsp_like_id) . ' LIMIT 1';
  470. $fbsp['data'] = _dbQuery($sql);
  471. if( isset($fbsp['data'][0]) ) {
  472. $fbsp['data'] = $fbsp['data'][0];
  473. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  474. } else return;
  475. $fb_meta_thumb = '';
  476. $news_meta_thumb = false;
  477. $article_meta_thumb = false;
  478. $module_meta_thumb = false;
  479. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  480. if ($fbsp['data']['values']['fb_tit_fix']==1){
  481. // check if we are in single news view, then set news title, else set the articletitle
  482. if(isset($GLOBALS["_getVar"]["newsdetail"])){
  483. $fbsp['data']['values']['fb_title'] = ($news['result'][0]['cnt_title']) ? $news['result'][0]['cnt_title'] : $content["article_title"];
  484. } else if ($content["article_title"]) {
  485. $fbsp['data']['values']['fb_title'] = $content["article_title"];
  486. } //else it's the value from the module
  487. }
  488. if ($fbsp['data']['values']['fb_site_fix']==1){
  489. // check if we are in single news view, then set news title, else set the articletitle
  490. if(isset($GLOBALS['pagelayout']['layout_title'])){
  491. $fbsp['data']['values']['fb_site'] = $GLOBALS['pagelayout']['layout_title'];
  492. } //else it's the value from the module
  493. }
  494. $fbsp['data']['values']['fb_show_faces'] = ($fbsp['data']['values']['fb_show_faces'] == 1) ? 'true':'false';
  495. //if dynamic use basic otherwise use given value
  496. if ($fbsp['data']['values']['fb_site_url_fix'] == 1) {
  497. $fbsp['data']['values']['fb_url'] = fbsp_get_pageurl();
  498. } else {
  499. if ( strlen($fbsp['data']['values']['fb_site_url']) == strcspn($fbsp['data']['values']['fb_site_url'],"'\"\\|<>") ) {
  500. $fbsp['data']['values']['fb_url'] = $fbsp['data']['values']['fb_site_url'];
  501. }
  502. }
  503. //enym new end
  504. _set_meta('og:title',$fbsp['data']['values']['fb_title'],'property');
  505. _set_meta('og:type',$fbsp['data']['values']['fb_type'],'property');
  506. _set_meta_url('og:url',$fbsp['data']['values']['fb_url'],'property');
  507. _set_meta('og:site_name',$fbsp['data']['values']['fb_site'],'property');
  508. _set_meta('fb:admins',$fbsp['data']['values']['fb_admins'],'property');
  509. _set_meta('fb:app_id',$fbsp['data']['values']['fb_app_id'],'property');
  510. // _set_meta('og:description',"blabla",'property');
  511. _set_meta('og:latitude',$fbsp['data']['values']['fb_latitude'],'property');
  512. _set_meta('og:longitude',$fbsp['data']['values']['fb_longitude'],'property');
  513. _set_meta('og:street-address',$fbsp['data']['values']['fb_streetaddress'],'property');
  514. _set_meta('og:locality',$fbsp['data']['values']['fb_locality'],'property');
  515. _set_meta('og:region',$fbsp['data']['values']['fb_region'],'property');
  516. _set_meta('og:postal-code',$fbsp['data']['values']['fb_postal'],'property');
  517. _set_meta('og:country-name',$fbsp['data']['values']['fb_country'],'property');
  518. _set_meta('og:email',$fbsp['data']['values']['fb_email'],'property');
  519. _set_meta('og:phone_number',$fbsp['data']['values']['fb_phonenumber'],'property');
  520. _set_meta('og:fax_number',$fbsp['data']['values']['fb_faxnumber'],'property');
  521. $fbsp_send = "false";
  522. $fbsp_output = "";
  523. $fbsp_fb_app_id = '';
  524. $fbsp_fb_app_id2 = '';
  525. if( isset($fbsp['data']['values']['fb_app_id']) && $fbsp['data']['values']['fb_app_id']){
  526. $fbsp_fb_app_id = '&appId='.$fbsp['data']['values']['fb_app_id'];
  527. $fbsp_fb_app_id2 = '&amp;appId='.$fbsp['data']['values']['fb_app_id'];
  528. }
  529. if($fbsp['data']['values']['fb_output_type'] == 'iframe') {
  530. //$fbsp_output = ' <iframe src="http://www.facebook.com/plugins/like.php?href='.urlencode($fbsp['data']['values']['fb_url']).'&amp;send=false&amp;layout='.$fbsp['data']['values']['fb_layout'].'&amp;show_faces='.$fbsp['data']['values']['fb_show_faces'].'&amp;width='.$fbsp['data']['values']['fb_width'].'&amp;action='.$fbsp['data']['values']['fb_action'].'&amp;font='.$fbsp['data']['values']['fb_font'].'&amp;colorscheme='.$fbsp['data']['values']['fb_colorscheme'].'&amp;height='.$fbsp['data']['values']['fb_height'].'&amp;ref='.$fbsp['data']['values']['fb_ref'].'&amp;locale='.$fbsp['data']['values']['fb_locale'].'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'.$fbsp['data']['values']['fb_width'].'px; height:'.$fbsp['data']['values']['fb_height'].'px;'.$fbsp['data']['values']['fb_iframe_style'].'" allowTransparency="true"></iframe>';
  531. $fbsp_output = ' <iframe src="//www.facebook.com/plugins/like.php?href='.urlencode($fbsp['data']['values']['fb_url']).'&amp;width='.$fbsp['data']['values']['fb_width'].'&amp;height='.$fbsp['data']['values']['fb_height'].'&amp;colorscheme='.$fbsp['data']['values']['fb_colorscheme'].'&amp;layout='.$fbsp['data']['values']['fb_layout'].'&amp;action='.$fbsp['data']['values']['fb_action'].'&amp;show_faces='.$fbsp['data']['values']['fb_show_faces'].'&amp;send=false&amp;font='.$fbsp['data']['values']['fb_font'].'&amp;ref='.$fbsp['data']['values']['fb_ref'].'&amp;locale='.$fbsp['data']['values']['fb_locale'].$fbsp_fb_app_id2.'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'.$fbsp['data']['values']['fb_width'].'px; height:'.$fbsp['data']['values']['fb_height'].'px;'.$fbsp['data']['values']['fb_iframe_style'].'" allowTransparency="true"></iframe>';
  532. } else if ($fbsp['data']['values']['fb_output_type'] == 'xfbml'){
  533. if ( $fbsp['data']['values']['fb_send'] == 1 ) {
  534. $fbsp_send = "true";
  535. }
  536. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"></script><div id="fb-root"></div><fb:like href="'.$fbsp['data']['values']['fb_url'].'" send="'.$fbsp_send.'" layout="'.$fbsp['data']['values']['fb_layout'].'" show_faces="'.$fbsp['data']['values']['fb_show_faces'].'" width="'.$fbsp['data']['values']['fb_width'].'" action="'.$fbsp['data']['values']['fb_action'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:like>';
  537. $fbsp_output = ' <div id="fb-root"></div><fb:like href="'.$fbsp['data']['values']['fb_url'].'" send="'.$fbsp_send.'" layout="'.$fbsp['data']['values']['fb_layout'].'" show_faces="'.$fbsp['data']['values']['fb_show_faces'].'" width="'.$fbsp['data']['values']['fb_width'].'" action="'.$fbsp['data']['values']['fb_action'].'" font="'.$fbsp['data']['values']['fb_font'].'" colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" ref="'.$fbsp['data']['values']['fb_ref'].'"></fb:like>';
  538. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  539. } else if ($fbsp['data']['values']['fb_output_type'] == 'html5'){
  540. if ( $fbsp['data']['values']['fb_send'] == 1 ) {
  541. $fbsp_send = "true";
  542. }
  543. $fbsp_output = ' <div id="fb-root"></div><div class="fb-like" data-href="'.$fbsp['data']['values']['fb_url'].'" data-send="'.$fbsp_send.'" data-layout="'.$fbsp['data']['values']['fb_layout'].'" data-width="'.$fbsp['data']['values']['fb_width'].'" data-show-faces="'.$fbsp['data']['values']['fb_show_faces'].'" data-font="'.$fbsp['data']['values']['fb_font'].'" data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'" data-ref="'.$fbsp['data']['values']['fb_ref'].'"></div>';
  544. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  545. }
  546. if($fbsp['data']['values']['fb_img_fix'] == 1) {
  547. //news image
  548. $news_meta_thumb = fbsp_get_news_image(true);
  549. //article image
  550. $article_meta_thumb = fbsp_get_article_image(true);
  551. }
  552. $module_meta_thumb = fbsp_get_module_image($fbsp['data']['values']['fb_id_img'], true);
  553. if($fbsp['data']['values']['fb_img_fix'] == 1) {
  554. if($news_meta_thumb != false) {
  555. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$news_meta_thumb[0];
  556. } else if($article_meta_thumb != false) {
  557. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$article_meta_thumb[0];
  558. } else if($module_meta_thumb != false) {
  559. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0];
  560. } else {
  561. $fb_meta_thumb = '';
  562. }
  563. } else if($module_meta_thumb != false) {
  564. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0];
  565. } else {
  566. $fb_meta_thumb = '';
  567. }
  568. if($fb_meta_thumb){
  569. _set_meta('og:image',$fb_meta_thumb,'property');
  570. $GLOBALS['block']['custom_htmlhead']["image_src"] = ' <link rel="image_src" href="'.$fb_meta_thumb.'" />';
  571. }
  572. }
  573. return $fbsp_output;
  574. }
  575. //FB COMM
  576. function replace_fb_comm_tag($fb_comm_id) {
  577. global $content;
  578. global $msp_js;
  579. $fb_comm_id = intval(trim( $fb_comm_id[1]));
  580. $fbsp = array();
  581. $fbsp_output = '';
  582. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  583. $sql .= "fb_id = " . aporeplace($fb_comm_id) . ' LIMIT 1';
  584. $fbsp['data'] = _dbQuery($sql);
  585. if( isset($fbsp['data'][0]) ) {
  586. $fbsp['data'] = $fbsp['data'][0];
  587. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  588. } else return;
  589. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  590. if ($fbsp['data']['values']['fb_tit_fix']==1){
  591. // check if we are in single news view, then set news title, else set the articletitle
  592. if(isset($GLOBALS["_getVar"]["newsdetail"])){
  593. $fbsp['data']['values']['fb_title'] = ($news['result'][0]['cnt_title']) ? $news['result'][0]['cnt_title'] : $content["article_title"];
  594. } else if ($content["article_title"]) {
  595. $fbsp['data']['values']['fb_title'] = $content["article_title"];
  596. } //else it's the value from the module
  597. }
  598. if ($fbsp['data']['values']['fb_site_fix']==1){
  599. // check if we are in single news view, then set news title, else set the articletitle
  600. if($GLOBALS['pagelayout']['layout_title']){
  601. $fbsp['data']['values']['fb_site'] = $GLOBALS['pagelayout']['layout_title'];
  602. } //else it's the value from the module
  603. }
  604. //enym replace
  605. //if dynamic use basic otherwise use given value
  606. if ($fbsp['data']['values']['fb_site_url_fix'] == 1) {
  607. $fbsp['data']['values']['fb_url'] = fbsp_get_pageurl();
  608. } else {
  609. if ( strlen($fbsp['data']['values']['fb_site_url']) == strcspn($fbsp['data']['values']['fb_site_url'],"'\"\\|<>") ) {
  610. $fbsp['data']['values']['fb_url'] = $fbsp['data']['values']['fb_site_url'];
  611. }
  612. }
  613. //enym replace end
  614. _set_meta('og:title',$fbsp['data']['values']['fb_title'],'property');
  615. _set_meta_url('og:url',$fbsp['data']['values']['fb_url'],'property');
  616. _set_meta('og:site_name',$fbsp['data']['values']['fb_site'],'property');
  617. _set_meta('fb:admins',$fbsp['data']['values']['fb_admins'],'property');
  618. _set_meta('fb:app_id',$fbsp['data']['values']['fb_app_id'],'property');
  619. $fbsp_fb_app_id = '';
  620. if( isset($fbsp['data']['values']['fb_app_id']) && $fbsp['data']['values']['fb_app_id']){
  621. $fbsp_fb_app_id = '&appId='.$fbsp['data']['values']['fb_app_id'];
  622. }
  623. if ($fbsp['data']['values']['fb_output_type'] == 'xfbml'){
  624. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#appId='.$fbsp['data']['values']['fb_app_id'].'&amp;xfbml=1"></script><div id="fb-root"></div><fb:comments href="'.$fbsp['data']['values']['fb_url'].'" num_posts="'.$fbsp['data']['values']['fb_comm_nr'].'" width="'.$fbsp['data']['values']['fb_width'].' "colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'"></fb:comments>'; //enym added "colorscheme='.$fbsp['data']['values']['fb_colorscheme'].'
  625. $fbsp_output = ' <div id="fb-root"></div><fb:comments href="'.$fbsp['data']['values']['fb_url'].'" num_posts="'.$fbsp['data']['values']['fb_comm_nr'].'" width="'.$fbsp['data']['values']['fb_width'].' "colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'"></fb:comments>';
  626. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  627. }else if ($fbsp['data']['values']['fb_output_type'] == 'html5'){
  628. //$fbsp_output = ' <script src="http://connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#appId='.$fbsp['data']['values']['fb_app_id'].'&amp;xfbml=1"></script><div id="fb-root"></div><div class="fb-comments" data-href="'.$fbsp['data']['values']['fb_url'].'" data-num_posts="'.$fbsp['data']['values']['fb_comm_nr'].'" data-width="'.$fbsp['data']['values']['fb_width'].' "data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'"></div>';
  629. $fbsp_output = ' <div id="fb-root"></div><div class="fb-comments" data-href="'.$fbsp['data']['values']['fb_url'].'" data-num_posts="'.$fbsp['data']['values']['fb_comm_nr'].'" data-width="'.$fbsp['data']['values']['fb_width'].' "data-colorscheme="'.$fbsp['data']['values']['fb_colorscheme'].'"></div>';
  630. $msp_js['msp_fb-js'] = '(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/'.$fbsp['data']['values']['fb_locale'].'/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
  631. }
  632. }
  633. return $fbsp_output;
  634. }
  635. //GOOGLE
  636. function replace_google_tag($fb_google_id) {
  637. $fb_google_id = intval(trim( $fb_google_id[1]));
  638. $fbsp = array();
  639. $fbsp_output = '';
  640. $sql = 'SELECT * FROM '.DB_PREPEND.'phpwcms_modfb WHERE ';
  641. $sql .= "fb_id = " . aporeplace($fb_google_id) . ' LIMIT 1';
  642. $fbsp['data'] = _dbQuery($sql);
  643. if( isset($fbsp['data'][0]) ) {
  644. $fbsp['data'] = $fbsp['data'][0];
  645. $fbsp['data']['values'] = unserialize($fbsp['data']['fb_values']);
  646. } else return;
  647. $fb_meta_thumb = '';
  648. $news_meta_thumb = false;
  649. $article_meta_thumb = false;
  650. $module_meta_thumb = false;
  651. $fbsp_data_href = '';
  652. $fbsp_data_size = 'default';
  653. $fbsp_data_annotation = 'none';
  654. $fbsp_data_locale = 'en_US';
  655. if ($fbsp['data']['fb_status'] == 1) { //0=inactive, 1=active, 9=deleted
  656. //url of actual page
  657. $fbsp['data']['values']['fb_pageurl'] = fbsp_get_pageurl();
  658. //main url
  659. $fbsp['data']['values']['fb_siteurl'] = PHPWCMS_URL;
  660. //set href
  661. //int url -> then set the base url
  662. if ($fbsp['data']['values']['fb_google_domain'] == 0 ) {
  663. $fbsp_data_href = ' data-href="'.$fbsp['data']['values']['fb_pageurl'].'"';
  664. } else if ($fbsp['data']['values']['fb_google_domain'] == 1 && !empty($fbsp['data']['values']['fb_google_url'])) { //ext url
  665. if ( strlen($fbsp['data']['values']['fb_google_url']) == strcspn($fbsp['data']['values']['fb_google_url'],"'\"\\|<>") ) {
  666. $fbsp_data_href = ' data-href="'.$fbsp['data']['values']['fb_google_url'].'"';
  667. }
  668. }
  669. //set size
  670. $fbsp_data_size = ' data-size="'.$fbsp['data']['values']['fb_google_size'].'"';
  671. //set annotation
  672. $fbsp_data_annotation = ' data-annotation="'.$fbsp['data']['values']['fb_google_annotation'].'"';
  673. //set locale
  674. $fbsp_data_locale = $fbsp['data']['values']['fb_google_locale'];
  675. //set title - may conflict with other buttons
  676. if ($fbsp['data']['values']['fb_google_title'] == 1 && !empty($fbsp['data']['values']['fb_google_titletxt'])) {
  677. _set_meta('og:title',$fbsp['data']['values']['fb_google_titletxt'],'property');
  678. }
  679. //news image
  680. $news_meta_thumb = fbsp_get_news_image();
  681. //article image
  682. $article_meta_thumb = fbsp_get_article_image();
  683. //module image
  684. if ( $fbsp['data']['values']['fb_id_img'] ) {
  685. $module_meta_thumb = fbsp_get_module_image ($fbsp['data']['values']['fb_id_img'], true);
  686. }
  687. //take 1. module image, 2. News image, 3. Article Image
  688. if($module_meta_thumb != false) {
  689. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$module_meta_thumb[0];
  690. } else if($news_meta_thumb != false) {
  691. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$news_meta_thumb[0];
  692. } else if($article_meta_thumb != false) {
  693. $fb_meta_thumb = PHPWCMS_URL.PHPWCMS_IMAGES.$article_meta_thumb[0];
  694. } else {
  695. $fb_meta_thumb = '';
  696. }
  697. //this may conflict with other buttons
  698. if($fb_meta_thumb){
  699. _set_meta('og:image',$fb_meta_thumb,'property');
  700. }
  701. //output script version
  702. $fbsp_output = " <div class='g-plusone'".$fbsp_data_size.$fbsp_data_annotation.$fbsp_data_href."></div>
  703. <script type='text/javascript'>
  704. window.___gcfg = {
  705. lang: '".$fbsp_data_locale."'
  706. };
  707. (function() {
  708. var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  709. po.src = 'https://apis.google.com/js/plusone.js';
  710. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  711. })();
  712. </script>".LF;
  713. }
  714. return $fbsp_output;
  715. } //end replace_google_tag
  716. function _set_meta($name='', $content='', $attribute = 'name') {
  717. if(empty($name) || empty($content)) {
  718. return NULL;
  719. }
  720. $GLOBALS['block']['custom_htmlhead']['meta.'.$name] = '…

Large files files are truncated, but you can click here to view the full file