cvs: smarty /libs/plugins function.mailto.php

"Messju Mohr" <[email protected]>
Newsgroups gmane.comp.php.cvs.smarty
Message-ID <cvsmessju1071134723@cvsserver>
messju		Thu Dec 11 04:25:23 2003 EDT

  Modified files:              
    /smarty/libs/plugins	function.mailto.php 
  Log:
  fixed indentiation
  
  
Index: smarty/libs/plugins/function.mailto.php
diff -u smarty/libs/plugins/function.mailto.php:1.5 smarty/libs/plugins/function.mailto.php:1.6
--- smarty/libs/plugins/function.mailto.php:1.5	Tue Sep  2 06:29:10 2003
+++ smarty/libs/plugins/function.mailto.php	Thu Dec 11 04:25:23 2003
@@ -27,7 +27,7 @@
  *         - newsgroups = (optional) newsgroup(s) to post to
  *         - followupto = (optional) address(es) to follow up to
  *         - extra = (optional) extra tags for the href link
- * 
+ *
  * Examples:
  * <pre>
  * {mailto address="[email protected]"}
@@ -40,11 +40,11 @@
  * @link http://smarty.php.net/manual/en/language.function.mailto.php {mailto}
  *          (Smarty online manual)
  * @version  1.2
- * @author	 Monte Ohrt <[email protected]>
- * @author credits to Jason Sweat (added cc, bcc and subject functionality)
- * @param array
- * @param Smarty
- * @return string
+ * @author   Monte Ohrt <[email protected]>
+ * @author   credits to Jason Sweat (added cc, bcc and subject functionality)
+ * @param    array
+ * @param    Smarty
+ * @return   string
  */
 function smarty_function_mailto($params, &$smarty)
 {
@@ -55,84 +55,84 @@
         $smarty->trigger_error("mailto: missing 'address' parameter");
         return;
     }
-	
+
     if (empty($text)) {
-		$text = $address;
+        $text = $address;
+    }
+
+    // netscape and mozilla do not decode %40 (@) in BCC field (bug?)
+    // so, don't encode it.
+
+    $mail_parms = array();
+    if (!empty($cc)) {
+        $mail_parms[] = 'cc='.str_replace('%40','@',rawurlencode($cc));
+    }
+
+    if (!empty($bcc)) {
+        $mail_parms[] = 'bcc='.str_replace('%40','@',rawurlencode($bcc));
     }
-	
-	// netscape and mozilla do not decode %40 (@) in BCC field (bug?)
-	// so, don't encode it.
-	
-	$mail_parms = array();
-	if (!empty($cc)) {
-		$mail_parms[] = 'cc='.str_replace('%40','@',rawurlencode($cc));
-	}
-	
-	if (!empty($bcc)) {
-		$mail_parms[] = 'bcc='.str_replace('%40','@',rawurlencode($bcc));
-	}
-	
-	if (!empty($subject)) {
-		$mail_parms[] = 'subject='.rawurlencode($subject);
-	}
-
-	if (!empty($newsgroups)) {
-		$mail_parms[] = 'newsgroups='.rawurlencode($newsgroups);
-	}
-
-	if (!empty($followupto)) {
-		$mail_parms[] = 'followupto='.str_replace('%40','@',rawurlencode($followupto));
-	}
-	
+
+    if (!empty($subject)) {
+        $mail_parms[] = 'subject='.rawurlencode($subject);
+    }
+
+    if (!empty($newsgroups)) {
+        $mail_parms[] = 'newsgroups='.rawurlencode($newsgroups);
+    }
+
+    if (!empty($followupto)) {
+        $mail_parms[] = 'followupto='.str_replace('%40','@',rawurlencode($followupto));
+    }
+
     $mail_parm_vals = '';
-	for ($i=0; $i<count($mail_parms); $i++) {
-		$mail_parm_vals .= (0==$i) ? '?' : '&';
-		$mail_parm_vals .= $mail_parms[$i];
-	}
-	$address .= $mail_parm_vals;
-	
-	if (empty($encode)) {
-		$encode = 'none';
+    for ($i=0; $i<count($mail_parms); $i++) {
+        $mail_parm_vals .= (0==$i) ? '?' : '&';
+        $mail_parm_vals .= $mail_parms[$i];
+    }
+    $address .= $mail_parm_vals;
+
+    if (empty($encode)) {
+        $encode = 'none';
     } elseif (!in_array($encode,array('javascript','hex','none')) ) {
         $smarty->trigger_error("mailto: 'encode' parameter must be none, javascript or hex");
-        return;		
-	}
-	
-	if ($encode == 'javascript' ) {
-		$string = 'document.write(\'<a href="mailto:'.$address.'" '.$extra.'>'.$text.'</a>\');';
-		
-		for ($x=0; $x < strlen($string); $x++) {
-			$js_encode .= '%' . bin2hex($string[$x]);
-		}
-	
-		return '<script type="text/javascript" language="javascript">eval(unescape(\''.$js_encode.'\'))</script>';
-		
-	} elseif ($encode == 'hex') {
-
-		preg_match('!^(.*)(\?.*)$!',$address,$match);
-		if(!empty($match[2])) {
-        	$smarty->trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.");
-        	return;						
-		}  
-		for ($x=0; $x < strlen($address); $x++) {
-			if(preg_match('!\w!',$address[$x])) {
-				$address_encode .= '%' . bin2hex($address[$x]);
-			} else {
-				$address_encode .= $address[$x];				
-			}
-		}
-		for ($x=0; $x < strlen($text); $x++) {
-			$text_encode .= '&#x' . bin2hex($text[$x]).';';
-		}
-		
-		return '<a href="mailto:'.$address_encode.'" '.$extra.'>'.$text_encode.'</a>';
-		
-	} else {
-		// no encoding		
-		return '<a href="mailto:'.$address.'" '.$extra.'>'.$text.'</a>';
+        return;
+    }
+
+    if ($encode == 'javascript' ) {
+        $string = 'document.write(\'<a href="mailto:'.$address.'" '.$extra.'>'.$text.'</a>\');';
+
+        for ($x=0; $x < strlen($string); $x++) {
+            $js_encode .= '%' . bin2hex($string[$x]);
+        }
+
+        return '<script type="text/javascript" language="javascript">eval(unescape(\''.$js_encode.'\'))</script>';
+
+    } elseif ($encode == 'hex') {
+
+        preg_match('!^(.*)(\?.*)$!',$address,$match);
+        if(!empty($match[2])) {
+            $smarty->trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.");
+            return;
+        }
+        for ($x=0; $x < strlen($address); $x++) {
+            if(preg_match('!\w!',$address[$x])) {
+                $address_encode .= '%' . bin2hex($address[$x]);
+            } else {
+                $address_encode .= $address[$x];
+            }
+        }
+        for ($x=0; $x < strlen($text); $x++) {
+            $text_encode .= '&#x' . bin2hex($text[$x]).';';
+        }
+
+        return '<a href="mailto:'.$address_encode.'" '.$extra.'>'.$text_encode.'</a>';
+
+    } else {
+        // no encoding
+        return '<a href="mailto:'.$address.'" '.$extra.'>'.$text.'</a>';
+
+    }
 
-	}
-	
 }
 
 /* vim: set expandtab: */

-- 
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.