Search code examples
phpzend-frameworksocialengineintercom

intercom.io with Socialengine 4


I want to pass through at minimum the username and email of anyone who connects using our intercom.io account. What I cannot figure out is how to pull the username and email address from the current user. I have put the following code under Settings-->General Settings-->Head Scripts/Styles

<script>
  window.intercomSettings = {
    app_id: "*REDACTED*",
    name: "<?php echo $current_user->name ?>", // Full name
    email: "<?php echo $current_user->email ?>" // Email address
  };
  </script>
<script>(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/jqw7sscx';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script>

How do I pull the information to populate into intercom.io


Solution

  • Get current authorized user:

    $user = Engine_Api::_()->user()->getViewer();
    

    Get "displayname":

    echo $user->getTitle();
    

    Get email:

    if (isset($user->email)) {echo $user->email;}