Merge commit '1ebbf8bfc16f4' into 4.5-missing-prs
[civicrm-core.git] / templates / CRM / Mailing / Form / InsertTokens.tpl
index 7ad51d80322451b28571cafbff82bf10addc9d3e..850dff3717005aac790fddb8794722ff297e2aac 100644 (file)
 <script type="text/javascript" src="{$config->resourceBase}packages/jquery/plugins/jquery-fieldselection.js"></script>
 
 <script type="text/javascript">
-cj('form#{$form.formName}').data('tokens', {$tokens|@json_encode});
+cj('form.{$form.formClass}').data('tokens', {$tokens|@json_encode});
 var text_message = null;
 var html_message = null;
+var prefix = '';
 var isPDF        = false;
 var isMailing    = false;
 
-
 {if $form.formName eq 'MessageTemplates'}
   {literal}
   text_message = "msg_text";
@@ -46,6 +46,12 @@ var isMailing    = false;
   text_message = "mailing_format";
   isMailing = false;
   {/literal}
+  {elseif $form.formClass eq 'CRM_SMS_Form_Upload' || $form.formClass eq 'CRM_Contact_Form_Task_SMS'}
+  {literal}
+  prefix = "SMS";
+  text_message = "sms_text_message";
+  isMailing = true;
+  {/literal}
   {else}
   {literal}
   text_message = "text_message";
@@ -62,55 +68,64 @@ var isMailing    = false;
 
 {if $templateSelected}
   {literal}
-  if ( document.getElementsByName("saveTemplate")[0].checked ) {
-    document.getElementById('template').selectedIndex = {/literal}{$templateSelected}{literal};
+  if ( document.getElementsByName(prefix + "saveTemplate")[0].checked ) {
+    document.getElementById(prefix + "template").selectedIndex = {/literal}{$templateSelected}{literal};
   }
 {/literal}
 {/if}
 {literal}
 
 var editor = {/literal}"{$editor}"{literal};
-function showSaveUpdateChkBox() {
-  if (document.getElementById('template') == null) {
-    if (document.getElementsByName("saveTemplate")[0].checked){
-      document.getElementById("saveDetails").style.display = "block";
-      document.getElementById("editMessageDetails").style.display = "block";
+function showSaveUpdateChkBox(prefix) {
+  prefix = prefix || '';
+  if (document.getElementById(prefix + "template") == null) {
+    if (document.getElementsByName(prefix + "saveTemplate")[0].checked){
+      document.getElementById(prefix + "saveDetails").style.display = "block";
+      document.getElementById(prefix + "editMessageDetails").style.display = "block";
     }
     else {
-      document.getElementById("saveDetails").style.display = "none";
-      document.getElementById("editMessageDetails").style.display = "none";
+      document.getElementById(prefix + "saveDetails").style.display = "none";
+      document.getElementById(prefix + "updateDetails").style.display = "none";
     }
     return;
   }
 
-  if (document.getElementsByName("saveTemplate")[0].checked &&
-    document.getElementsByName("updateTemplate")[0].checked == false) {
-    document.getElementById("updateDetails").style.display = "none";
+  if (document.getElementsByName(prefix + "saveTemplate")[0].checked &&
+    document.getElementsByName(prefix + "updateTemplate")[0].checked == false) {
+    document.getElementById(prefix + "updateDetails").style.display = "none";
   }
-  else if ( document.getElementsByName("saveTemplate")[0].checked &&
-    document.getElementsByName("updateTemplate")[0].checked ){
-    document.getElementById("editMessageDetails").style.display = "block";
-    document.getElementById("saveDetails").style.display = "block";
+  else if ( document.getElementsByName(prefix + "saveTemplate")[0].checked &&
+    document.getElementsByName(prefix + "updateTemplate")[0].checked ){
+    document.getElementById(prefix + "editMessageDetails").style.display = "block";
+    document.getElementById(pefix + "saveDetails").style.display = "block";
   }
-  else if ( document.getElementsByName("saveTemplate")[0].checked == false &&
-      document.getElementsByName("updateTemplate")[0].checked ) {
-    document.getElementById("saveDetails").style.display = "none";
-    document.getElementById("editMessageDetails").style.display = "block";
+  else if ( document.getElementsByName(prefix + "saveTemplate")[0].checked == false &&
+      document.getElementsByName(prefix + "updateTemplate")[0].checked ) {
+    document.getElementById(prefix + "saveDetails").style.display = "none";
+    document.getElementById(prefix + "editMessageDetails").style.display = "block";
   }
   else {
-    document.getElementById("saveDetails").style.display = "none";
-    document.getElementById("editMessageDetails").style.display = "none";
+    document.getElementById(prefix + "saveDetails").style.display = "none";
+    document.getElementById(prefix + "updateDetails").style.display = "none";
   }
 }
 
-function selectValue( val ) {
-  document.getElementsByName("saveTemplate")[0].checked = false;
-  document.getElementsByName("updateTemplate")[0].checked = false;
-  showSaveUpdateChkBox();
+function selectValue( val, prefix) {
+  document.getElementsByName(prefix + "saveTemplate")[0].checked = false;
+  document.getElementsByName(prefix + "updateTemplate")[0].checked = false;
+  showSaveUpdateChkBox(prefix);
   if ( !val ) {
-    document.getElementById("subject").value ="";
+    if (document.getElementById("subject").length) {
+      document.getElementById("subject").value ="";
+    }
     if ( !isPDF ) {
-      document.getElementById(text_message).value ="";
+      if (prefix == 'SMS') {
+        document.getElementById("sms_text_message").value ="";
+        return;
+      }
+      else {
+        document.getElementById("text_message").value ="";
+      }
     }
     if ( editor == "ckeditor" ) {
       oEditor = CKEDITOR.instances[html_message];
@@ -148,8 +163,13 @@ function selectValue( val ) {
   var dataUrl = {/literal}"{crmURL p='civicrm/ajax/template' h=0 }"{literal};
 
   cj.post( dataUrl, {tid: val}, function( data ) {
-    cj("#subject").val( data.subject );
     if ( !isPDF ) {
+      if (prefix == "SMS") {
+          text_message = "sms_text_message";
+      }
+      else {
+        cj("#subject").val( data.subject );
+      }
       if ( data.msg_text ) {
         cj("#"+text_message).val( data.msg_text );
         cj("div.text").show();
@@ -160,6 +180,10 @@ function selectValue( val ) {
         cj("#"+text_message).val("");
       }
     }
+
+    if (prefix == "SMS") {
+      return;
+    }
     var html_body  = "";
     if (  data.msg_html ) {
       html_body = data.msg_html;
@@ -203,41 +227,48 @@ function selectValue( val ) {
 }
 
 if ( isMailing ) {
-  document.getElementById("editMessageDetails").style.display = "block";
+  document.getElementById(prefix + "editMessageDetails").style.display = "block";
 
-  function verify(select) {
-    if (document.getElementsByName("saveTemplate")[0].checked  == false) {
-      document.getElementById("saveDetails").style.display = "none";
+  function verify(select, prefix) {
+    prefix = prefix || '';
+    if (document.getElementsByName(prefix + "saveTemplate")[0].checked  == false) {
+      document.getElementById(prefix + "saveDetails").style.display = "none";
     }
-    document.getElementById("editMessageDetails").style.display = "block";
+    document.getElementById(prefix + "editMessageDetails").style.display = "block";
 
     var templateExists = true;
-    if (document.getElementById('template') == null) {
+    if (document.getElementById(prefix + "template") == null) {
       templateExists = false;
     }
 
-    if (templateExists && document.getElementById('template').value) {
-      document.getElementById("updateDetails").style.display = '';
+    if (templateExists && document.getElementById(prefix + "template").value) {
+      document.getElementById(prefix + "updateDetails").style.display = '';
     }
     else {
-      document.getElementById("updateDetails").style.display = 'none';
+      document.getElementById(prefix + "updateDetails").style.display = 'none';
     }
 
-    document.getElementById("saveTemplateName").disabled = false;
+    document.getElementById(prefix + "saveTemplateName").disabled = false;
   }
 
-  function showSaveDetails(chkbox) {
+  function showSaveDetails(chkbox, prefix) {
+    prefix = prefix || '';
     if (chkbox.checked) {
-      document.getElementById("saveDetails").style.display = "block";
-      document.getElementById("saveTemplateName").disabled = false;
+      document.getElementById(prefix + "saveDetails").style.display = "block";
+      document.getElementById(prefix + "saveTemplateName").disabled = false;
     }
     else {
-      document.getElementById("saveDetails").style.display = "none";
-      document.getElementById("saveTemplateName").disabled = true;
+      document.getElementById(prefix + "saveDetails").style.display = "none";
+      document.getElementById(prefix + "saveTemplateName").disabled = true;
     }
   }
 
-  showSaveUpdateChkBox();
+  if (cj("#sms_text_message").length) {
+    showSaveUpdateChkBox('SMS');
+  }
+  if (cj("#text_message").length) {
+    showSaveUpdateChkBox();
+  }
 
   {/literal}
   {if $editor eq "ckeditor"}
@@ -253,7 +284,7 @@ if ( isMailing ) {
   {literal}
     CRM.$(function($) {
       if ( isMailing ) {
-        cj('div.html').hover(
+        $('div.html').hover(
           function( ) {
             if ( tinyMCE.get(html_message) ) {
               tinyMCE.get(html_message).onKeyUp.add(function() {
@@ -276,7 +307,7 @@ if ( isMailing ) {
   {literal}
     CRM.$(function($) {
       if ( isMailing ) {
-        cj('div.html').hover(
+        $('div.html').hover(
           verify,
           verify
         );
@@ -347,12 +378,12 @@ CRM.$(function($) {
       }
     }
     else {
-      cj( "#"+ html_message ).replaceSelection( token );
+      $( "#"+ html_message ).replaceSelection( token );
     }
   }
 
   // Initialize token selector widgets
-  var form = $('#{/literal}{$form.formName}{literal}');
+  var form = $('form.{/literal}{$form.formClass}{literal}');
   $('input.crm-token-selector', form)
     .addClass('crm-action-menu')
     .change(insertToken)
@@ -361,29 +392,29 @@ CRM.$(function($) {
       placeholder: '{/literal}{ts escape='js'}Insert Token{/ts}{literal}'
     });
 
-  cj('.accordion .head').addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ");
-  cj('.resizable-textarea textarea').css( 'width', '99%' );
-  cj('.grippie').css( 'margin-right', '3px');
-  cj('.accordion .head').hover( function() { cj(this).addClass( "ui-state-hover");
-  }, function() { cj(this).removeClass( "ui-state-hover");
+  $('.accordion .head').addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ");
+  $('.resizable-textarea textarea').css( 'width', '99%' );
+  $('.grippie').css( 'margin-right', '3px');
+  $('.accordion .head').hover( function() { $(this).addClass( "ui-state-hover");
+  }, function() { $(this).removeClass( "ui-state-hover");
   }).bind('click', function() {
-    var checkClass = cj(this).find('span').attr( 'class' );
+    var checkClass = $(this).find('span').attr( 'class' );
     var len        = checkClass.length;
     if ( checkClass.substring( len - 1, len ) == 's' ) {
-      cj(this).find('span').removeClass().addClass('ui-icon ui-icon-triangle-1-e');
-      cj("span#help"+cj(this).find('span').attr('id')).hide();
+      $(this).find('span').removeClass().addClass('ui-icon ui-icon-triangle-1-e');
+      $("span#help"+$(this).find('span').attr('id')).hide();
     }
     else {
-      cj(this).find('span').removeClass().addClass('ui-icon ui-icon-triangle-1-s');
-      cj("span#help"+cj(this).find('span').attr('id')).show();
+      $(this).find('span').removeClass().addClass('ui-icon ui-icon-triangle-1-s');
+      $("span#help"+$(this).find('span').attr('id')).show();
     }
-    cj(this).next().toggle(); return false;
+    $(this).next().toggle(); return false;
   }).next().hide();
-  cj('span#html').removeClass().addClass('ui-icon ui-icon-triangle-1-s');
-  cj("div.html").show();
+  $('span#html').removeClass().addClass('ui-icon ui-icon-triangle-1-s');
+  $("div.html").show();
 
   if ( !isMailing ) {
-    cj("div.text").show();
+    $("div.text").show();
   }
 
   function setSignature() {
@@ -433,14 +464,7 @@ CRM.$(function($) {
       }, 'json');
     }
   }
-  if (!cj().find('div.crm-error').text()) {
-    cj(window).load(function () {
-      setSignature();
-    });
-  }
-  cj("#fromEmailAddress").change( function( ) {
-    setSignature( );
-  });
+  $("#fromEmailAddress", form).change(setSignature);
 });
 
 </script>