You are here

function janrain_capture_share_js in Janrain Registration 7.4

Same name and namespace in other branches
  1. 7.2 janrain_capture.module \janrain_capture_share_js()
  2. 7.3 janrain_capture.module \janrain_capture_share_js()

Adds share widget JS to the page.

2 calls to janrain_capture_share_js()
janrain_capture_comment_view_alter in ./janrain_capture.module
Implements hook_comment_view_alter().
_janrain_capture_share_button in ./janrain_capture.module
Returns HTML markup for the social share button.

File

./janrain_capture.module, line 759
This module implements authentication endpoints for Janrain Capture.

Code

function janrain_capture_share_js() {
  static $added = FALSE;

  // Only attempt to add javascript once
  if ($added == TRUE) {
    return FALSE;
  }
  $janrain_settings = variable_get('janrain_capture_main2', array());
  if (!isset($janrain_settings['engage_address'])) {
    watchdog('janrain_capture', 'janrain_capture_share_js: no Engage URL has been configured; social share won\'t work', array(), WATCHDOG_ERROR);
    return FALSE;
  }
  else {
    $url = $janrain_settings['engage_address'];
    $app_alias = str_replace(array(
      'https://',
      'http://',
      '.rpxnow.com',
    ), '', $url);
  }
  $ver = variable_get('janrain_capture_ver', JANRAIN_CAPTURE_VERSION_DEFAULT);

  // Add Social Sharing related code.
  $output = '<!-- Begin Janrain Engage Social Sharing. Visit http://www.rpxnow.com/ -->';
  if ($ver == JANRAIN_CAPTURE_VERSION_LEGACY) {
    $output .= "\n(function() {\nif (typeof window.janrain !== 'object') window.janrain = {};\nif (typeof window.janrain.settings !== 'object') window.janrain.settings = {};\nif (typeof window.janrain.settings.share !== 'object') window.janrain.settings.share = {};\nif (typeof window.janrain.settings.packages !== 'object') janrain.settings.packages = [];\njanrain.settings.packages.push('share');\n\njanrain.settings.share.message = '';\n\nfunction isReady() { janrain.ready = true; };\nif (document.addEventListener) { document.addEventListener('DOMContentLoaded', isReady, false); }\nelse { window.attachEvent('onload', isReady); }\nvar e = document.createElement('script');\ne.type = 'text/javascript';\ne.id = 'janrainWidgets';\nif (document.location.protocol === 'https:') { e.src = 'https://rpxnow.com/js/lib/{$app_alias}/widget.js'; }\nelse { e.src = 'http://widget-cdn.rpxnow.com/js/lib/{$app_alias}/widget.js'; }\nvar s = document.getElementsByTagName('script')[0];\ns.parentNode.insertBefore(e, s);\n})();\n";
  }
  $output .= "\nfunction janrainCaptureSetShare(url, title, desc, msg, provider) {\n  janrain.engage.share.setUrl(url);\n  janrain.engage.share.setTitle(title);\n  janrain.engage.share.setDescription(desc);\n  janrain.engage.share.setMessage(msg);\n  janrain.engage.share.showProvider(provider);\n  janrain.engage.share.show();\n}";
  $output .= '<!-- End Janrain Engage Social Sharing -->';
  drupal_add_js($output, array(
    'type' => 'inline',
    'scope' => 'header',
    'preprocess' => FALSE,
  ));
  $added = TRUE;
}