/[drupal]/contributions/modules/invisimail/invisimail.module
ViewVC logotype

Diff of /contributions/modules/invisimail/invisimail.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3, Mon Oct 1 23:07:12 2007 UTC revision 1.3.2.1, Fri Jun 13 22:26:41 2008 UTC
# Line 1  Line 1 
1  <?php  <?php
2    
3  // $Id: invisimail.module,v 1.2.2.1 2007/10/01 22:59:58 crell Exp $  // $Id: invisimail.module,v 1.3 2007/10/01 23:07:12 crell Exp $
4    
5  /**  /**
6   * @file   * @file
# Line 98  function invisimail($string, $format) { Line 98  function invisimail($string, $format) {
98   }   }
99    
100  function invisimail_callback($matches) {  function invisimail_callback($matches) {
   return $matches[1] . invisimail_ascii_encode($matches[2]) . $matches[3];  
 }  
   
 function invisimail_ascii_encode($string) {  
101    $format = $GLOBALS['invisimail_format'];    $format = $GLOBALS['invisimail_format'];
102    $js = variable_get('invisimail_js_'.$format, FALSE);    $js = variable_get('invisimail_js_'.$format, FALSE);
103    $link = variable_get('invisimail_link_'.$format, FALSE);    $link = variable_get('invisimail_link_'.$format, FALSE);
104    
105      return $matches[1] . invisimail_ascii_encode($matches[2], $js, $link) . $matches[3];
106    }
107    
108    /**
109     * This function does the actual encoding.
110     *
111     * @param $string
112     *   A string which contains only an email addres to be encoded.
113     * @param $js
114     *   Optional: A boolean which sets whether Javascript is used for encoding.
115     * @param $link
116     *   Optional: A boolean which set whether the result includes a mailto link.
117     * @param $text
118     *   Optional: The text to be used for the link.
119     * @return
120     *   An ascii encoded email address.
121     */
122    function invisimail_ascii_encode($string, $js = FALSE, $link = FALSE, $text = NULL) {
123      if ($text == NULL) {
124        $text = $string;
125      }
126    
127    if ($js) {    if ($js) {
128      $output = "<script type='text/javascript'><!--      $output = "<script type='text/javascript'><!--
129      document.write('";      document.write('";
# Line 124  function invisimail_ascii_encode($string Line 142  function invisimail_ascii_encode($string
142    
143    if ($link && !$js) {    if ($link && !$js) {
144      // ascii in this next line is "mailto:"      // ascii in this next line is "mailto:"
145      $output .= "<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;$encode\">$encode</a>";      $output .= "<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;$encode\">$text</a>";
146    }    }
147    elseif ($link && $js) {    elseif ($link && $js) {
148      $output .= "<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;'+'$encode'+'\">'+'$encode'+'</a>";      $output .= "<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;'+'$encode'+'\">'+'$text'+'</a>";
149    }    }
150    else {    else {
151      $output .= $encode;      $output .= $encode;
# Line 141  function invisimail_ascii_encode($string Line 159  function invisimail_ascii_encode($string
159    
160    return $output;    return $output;
161  }  }
   
 ?>  

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.3.2.1

  ViewVC Help
Powered by ViewVC 1.1.2