Code

Updated smarty to 1.0.9
[gosa.git] / gosa-core / include / smarty / plugins / block.textformat.php
index bdd8067310bec084eb7b3e5f8c291e5404749960..517fd62dd5274284c9f6256aa988a36c1b5f3271 100644 (file)
@@ -8,35 +8,34 @@
 
 /**
  * Smarty {textformat}{/textformat} block plugin
- *
+ * 
  * Type:     block function<br>
  * Name:     textformat<br>
  * Purpose:  format text a certain way with preset styles
- *           or custom wrap/indent settings<br>
- * Params:
+ *            or custom wrap/indent settings<br>
+ * 
+ * @link http://smarty.php.net/manual/en/language.function.textformat.php {textformat}
+ *       (Smarty online manual)
+ * @param array $params parameters
  * <pre>
- * - style         - string (email)
- * - indent        - integer (0)
- * - wrap          - integer (80)
- * - wrap_char     - string ("\n")
- * - indent_char   - string (" ")
- * - wrap_boundary - boolean (true)
+ * Params:   style: string (email)
+ *            indent: integer (0)
+ *            wrap: integer (80)
+ *            wrap_char string ("\n")
+ *            indent_char: string (" ")
+ *            wrap_boundary: boolean (true)
  * </pre>
- *
- * @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
- *       (Smarty online manual)
- * @param array                    $params   parameters
- * @param string                   $content  contents of the block
- * @param Smarty_Internal_Template $template template object
- * @param boolean                  &$repeat  repeat flag
+ * @author Monte Ohrt <monte at ohrt dot com> 
+ * @param string $content contents of the block
+ * @param object $template template object
+ * @param boolean &$repeat repeat flag
  * @return string content re-formatted
- * @author Monte Ohrt <monte at ohrt dot com>
  */
 function smarty_block_textformat($params, $content, $template, &$repeat)
 {
     if (is_null($content)) {
         return;
-    }
+    } 
 
     $style = null;
     $indent = 0;
@@ -68,46 +67,36 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
 
             default:
                 trigger_error("textformat: unknown attribute '$_key'");
-        }
-    }
+        } 
+    } 
 
     if ($style == 'email') {
         $wrap = 72;
-    }
+    } 
     // split into paragraphs
-    $_paragraphs = preg_split('![\r\n]{2}!', $content);
+    $_paragraphs = preg_split('![\r\n][\r\n]!', $content);
     $_output = '';
 
-
-    foreach ($_paragraphs as &$_paragraph) {
-        if (!$_paragraph) {
+    for($_x = 0, $_y = count($_paragraphs); $_x < $_y; $_x++) {
+        if ($_paragraphs[$_x] == '') {
             continue;
-        }
+        } 
         // convert mult. spaces & special chars to single space
-        $_paragraph = preg_replace(array('!\s+!u', '!(^\s+)|(\s+$)!u'), array(' ', ''), $_paragraph);
+        $_paragraphs[$_x] = preg_replace(array('!\s+!', '!(^\s+)|(\s+$)!'), array(' ', ''), $_paragraphs[$_x]); 
         // indent first line
         if ($indent_first > 0) {
-            $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
-        }
+            $_paragraphs[$_x] = str_repeat($indent_char, $indent_first) . $_paragraphs[$_x];
+        } 
         // wordwrap sentences
-        if (SMARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {
-            require_once(SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php');
-            $_paragraph = smarty_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
-        } else {
-            $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
-        }
+        $_paragraphs[$_x] = wordwrap($_paragraphs[$_x], $wrap - $indent, $wrap_char, $wrap_cut); 
         // indent lines
         if ($indent > 0) {
-            $_paragraph = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraph);
-        }
-    }
+            $_paragraphs[$_x] = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraphs[$_x]);
+        } 
+    } 
     $_output = implode($wrap_char . $wrap_char, $_paragraphs);
     
-    if ($assign) {
-        $template->assign($assign, $_output);
-    } else {
-        return $_output;
-    }
-}
+    return $assign ? $template->assign($assign, $_output) : $_output;
+} 
 
 ?>
\ No newline at end of file