1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 22:10:45 +02:00

- two new packages... diff and utf

- only 60 chars for topic title if new post (please see changelog for explanation)
- change utf8_wordwrap (had some bugs david and nils spotted - was not really functional, sorry for this. :D)


git-svn-id: file:///svn/phpbb/trunk@8034 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2007-08-16 11:28:58 +00:00
parent 2bbd2fb1f9
commit c9dcf849b9
11 changed files with 72 additions and 51 deletions

View File

@@ -1,7 +1,7 @@
<?php
/**
*
* @package phpBB3
* @package diff
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -25,7 +25,7 @@ if (!defined('IN_PHPBB'))
* General API for generating and formatting diffs - the differences between
* two sequences of strings.
*
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*/
class diff
@@ -226,7 +226,7 @@ class diff
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*/
class mapped_diff extends diff
@@ -274,7 +274,7 @@ class mapped_diff extends diff
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -301,7 +301,7 @@ class diff_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -326,7 +326,7 @@ class diff_op_copy extends diff_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -347,7 +347,7 @@ class diff_op_delete extends diff_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -368,7 +368,7 @@ class diff_op_add extends diff_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -392,7 +392,7 @@ class diff_op_change extends diff_op
/**
* A class for computing three way diffs.
*
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*/
class diff3 extends diff
@@ -637,7 +637,7 @@ class diff3 extends diff
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -683,7 +683,7 @@ class diff3_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private
@@ -709,7 +709,7 @@ class diff3_op_copy extends diff3_op
}
/**
* @package phpBB3
* @package diff
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
*
* @access private

View File

@@ -1,7 +1,7 @@
<?php
/**
*
* @package phpBB3
* @package diff
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -41,7 +41,7 @@ if (!defined('IN_PHPBB'))
* code was written by him, and is used/adapted with his permission.
*
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
* @package phpBB3
* @package diff
*
* @access private
*/

View File

@@ -1,7 +1,7 @@
<?php
/**
*
* @package phpBB3
* @package diff
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -27,7 +27,7 @@ if (!defined('IN_PHPBB'))
* This class renders the diff in classic diff format. It is intended that
* this class be customized via inheritance, to obtain fancier outputs.
*
* @package phpBB3
* @package diff
*/
class diff_renderer
{
@@ -267,7 +267,7 @@ class diff_renderer
/**
* Renders a unified diff
* @package phpBB3
* @package diff
*/
class diff_renderer_unified extends diff_renderer
{
@@ -340,7 +340,7 @@ class diff_renderer_unified extends diff_renderer
* This class renders diffs in the Wiki-style "inline" format.
*
* @author Ciprian Popovici
* @package phpBB3
* @package diff
*/
class diff_renderer_inline extends diff_renderer
{
@@ -503,7 +503,7 @@ class diff_renderer_inline extends diff_renderer
* "raw" diff renderer.
* This class could be used to output a raw unified patch file
*
* @package phpBB3
* @package diff
*/
class diff_renderer_raw extends diff_renderer
{
@@ -557,7 +557,7 @@ class diff_renderer_raw extends diff_renderer
* "chora (Horde)" diff renderer - similar style.
* This renderer class is a modified human_readable function from the Horde Framework.
*
* @package phpBB3
* @package diff
*/
class diff_renderer_side_by_side extends diff_renderer
{

View File

@@ -399,12 +399,12 @@ class messenger
if ($config['smtp_delivery'])
{
$result = smtpmail($this->addresses, mail_encode($this->subject), utf8_wordwrap($this->msg), $err_msg, $headers);
$result = smtpmail($this->addresses, mail_encode($this->subject), wordwrap(utf8_wordwrap($this->msg), 997, "\n", true), $err_msg, $headers);
}
else
{
ob_start();
$result = $config['email_function_name']($mail_to, mail_encode($this->subject), utf8_wordwrap($this->msg), $headers);
$result = $config['email_function_name']($mail_to, mail_encode($this->subject), wordwrap(utf8_wordwrap($this->msg), 997, "\n", true), $headers);
$err_msg = ob_get_clean();
}
@@ -633,12 +633,12 @@ class queue
if ($config['smtp_delivery'])
{
$result = smtpmail($addresses, mail_encode($subject), utf8_wordwrap($msg), $err_msg, $headers);
$result = smtpmail($addresses, mail_encode($subject), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $err_msg, $headers);
}
else
{
ob_start();
$result = $config['email_function_name']($to, mail_encode($subject), utf8_wordwrap($msg), $headers);
$result = $config['email_function_name']($to, mail_encode($subject), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $headers);
$err_msg = ob_get_clean();
}

View File

@@ -320,6 +320,11 @@ function compose_pm($id, $mode, $action)
}
}
if ($action == 'post')
{
$template->assign_var('S_NEW_MESSAGE', true);
}
if (!isset($icon_id))
{
$icon_id = 0;

View File

@@ -1,7 +1,7 @@
<?php
/**
*
* @package phpBB3
* @package utf
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -57,7 +57,7 @@ define('UNICODE_JAMO_T', 2);
/**
* Unicode normalization routines
*
* @package phpBB3
* @package utf
*/
class utf_normalizer
{

View File

@@ -1,7 +1,7 @@
<?php
/**
*
* @package phpBB3
* @package utf
* @version $Id$
* @copyright (c) 2006 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -24,7 +24,7 @@ setlocale(LC_CTYPE, 'C');
* Whenever possible, these functions will try to use PHP's built-in functions or
* extensions, otherwise they will default to custom routines.
*
* @package phpBB3
* @package utf
*/
if (!extension_loaded('xml'))
@@ -1874,35 +1874,44 @@ function utf8_convert_message($message)
*/
function utf8_wordwrap($string, $width = 75, $break = "\n", $cut = false)
{
// If cutting, we just split by $width chars
if ($cut)
{
return implode($break, utf8_str_split($string, $width));
}
// If not cutting, we first need to explode on spacer and then merge
$words = explode(' ', $string);
$lines = array();
// We first need to explode on $break, not destroying existing (intended) breaks
$lines = explode($break, $string);
$new_lines = array(0 => '');
$index = 0;
foreach ($words as $word)
foreach ($lines as $line)
{
if (!isset($lines[$index]))
$words = explode(' ', $line);
for ($i = 0, $size = sizeof($words); $i < $size; $i++)
{
$lines[$index] = '';
$word = $words[$i];
// If cut is true we need to cut the word if it is > width chars
if ($cut && utf8_strlen($word) > $width)
{
$words[$i] = utf8_substr($word, $width);
$word = utf8_substr($word, 0, $width);
$i--;
}
if (utf8_strlen($new_lines[$index] . $word) > $width)
{
$new_lines[$index] = substr($new_lines[$index], 0, -1);
$index++;
$new_lines[$index] = '';
}
$new_lines[$index] .= $word . ' ';
}
if (!empty($lines[$index]) && utf8_strlen($lines[$index]) > $width)
{
$lines[$index] = substr($lines[$index], 0, -1);
$index++;
$lines[$index] = '';
}
$lines[$index] .= $word . ' ';
$new_lines[$index] = substr($new_lines[$index], 0, -1);
$index++;
$new_lines[$index] = '';
}
return implode($break, $lines);
unset($new_lines[$index]);
return implode($break, $new_lines);
}
?>