Skip to content

Commit

Permalink
Merge branch 'master' into horde_5_2
Browse files Browse the repository at this point in the history
Conflicts:
	horde/docs/CHANGES
	horde/package.xml
  • Loading branch information
mrubinsk committed Oct 19, 2013
2 parents 31f8357 + 7605249 commit 3b8010e
Show file tree
Hide file tree
Showing 25 changed files with 835 additions and 384 deletions.
3 changes: 2 additions & 1 deletion framework/ActiveSync/lib/Horde/ActiveSync/State/Sql.php
Expand Up @@ -1489,7 +1489,8 @@ protected function _getPIMChangeTS($changes)
$values[] = $d;
}
}
$sql .= 'AND (' . explode('OR ', $conditions) . ') GROUP BY message_uid';

$sql .= 'AND (' . implode('OR ', $conditions) . ') GROUP BY message_uid';
try {
return $this->_db->selectAssoc($sql, $values);
} catch (Horde_Db_Exception $e) {
Expand Down
1 change: 0 additions & 1 deletion framework/Icalendar/package.xml
Expand Up @@ -3,7 +3,6 @@
<name>Horde_Icalendar</name>
<channel>pear.horde.org</channel>
<extends>Horde_iCalendar</extends>
<extends>iCalendar</extends>
<summary>iCalendar API</summary>
<description>An API for dealing with iCalendar data.</description>
<lead>
Expand Down
20 changes: 20 additions & 0 deletions framework/ListHeaders/lib/Horde/ListHeaders.php
Expand Up @@ -23,6 +23,26 @@
*/
class Horde_ListHeaders extends Horde_Mail_Rfc822
{
/**
* Returns the list of valid mailing list headers.
*
* @return array The list of valid mailing list headers.
*/
public function headers()
{
return array(
/* RFC 2369 */
'list-help' => Horde_ListHeaders_Translation::t("List-Help"),
'list-unsubscribe' => Horde_ListHeaders_Translation::t("List-Unsubscribe"),
'list-subscribe' => Horde_ListHeaders_Translation::t("List-Subscribe"),
'list-owner' => Horde_ListHeaders_Translation::t("List-Owner"),
'list-post' => Horde_ListHeaders_Translation::t("List-Post"),
'list-archive' => Horde_ListHeaders_Translation::t("List-Archive"),
/* RFC 2919 */
'list-id' => Horde_ListHeaders_Translation::t("List-Id")
);
}

/**
* Parse a list header.
*
Expand Down
57 changes: 57 additions & 0 deletions framework/ListHeaders/lib/Horde/ListHeaders/Translation.php
@@ -0,0 +1,57 @@
<?php
/**
* Copyright 2010-2013 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @category Horde
* @copyright 2010-2013 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package ListHeaders
*/

/**
* Horde_ListHeaders_Translation is the translation wrapper class for
* Horde_ListHeaders.
*
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @copyright 2010-2013 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package ListHeaders
*/
class Horde_ListHeaders_Translation extends Horde_Translation
{
/**
* Returns the translation of a message.
*
* @var string $message The string to translate.
*
* @return string The string translation, or the original string if no
* translation exists.
*/
static public function t($message)
{
self::$_domain = 'Horde_ListHeaders';
self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? __DIR__ . '/../../../locale' : '@data_dir@/Horde_ListHeaders/locale';
return parent::t($message);
}

/**
* Returns the plural translation of a message.
*
* @param string $singular The singular version to translate.
* @param string $plural The plural version to translate.
* @param integer $number The number that determines singular vs. plural.
*
* @return string The string translation, or the original string if no
* translation exists.
*/
static public function ngettext($singular, $plural, $number)
{
self::$_domain = 'Horde_ListHeaders';
self::$_directory = '@data_dir@' == '@'.'data_dir'.'@' ? __DIR__ . '/../../../locale' : '@data_dir@/Horde_ListHeaders/locale';
return parent::ngettext($singular, $plural, $number);
}
}
46 changes: 46 additions & 0 deletions framework/ListHeaders/locale/Horde_ListHeaders.pot
@@ -0,0 +1,46 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_ListHeaders package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Horde_ListHeaders \n"
"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
"POT-Creation-Date: 2013-10-17 17:50-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: lib/Horde/ListHeaders.php:40
msgid "List-Archive"
msgstr ""

#: lib/Horde/ListHeaders.php:35
msgid "List-Help"
msgstr ""

#: lib/Horde/ListHeaders.php:42
msgid "List-Id"
msgstr ""

#: lib/Horde/ListHeaders.php:38
msgid "List-Owner"
msgstr ""

#: lib/Horde/ListHeaders.php:39
msgid "List-Post"
msgstr ""

#: lib/Horde/ListHeaders.php:37
msgid "List-Subscribe"
msgstr ""

#: lib/Horde/ListHeaders.php:36
msgid "List-Unsubscribe"
msgstr ""
32 changes: 23 additions & 9 deletions framework/ListHeaders/package.xml
Expand Up @@ -10,19 +10,18 @@
<email>slusarz@horde.org</email>
<active>yes</active>
</lead>
<date>2012-11-19</date>
<time>15:07:58</time>
<date>2013-10-17</date>
<version>
<release>1.0.2</release>
<api>1.0.0</api>
<release>1.1.0</release>
<api>1.1.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
*
* [mms] Add Horde_ListHeaders#headers().
</notes>
<contents>
<dir baseinstalldir="/" name="/">
Expand All @@ -40,10 +39,16 @@
<file name="Id.php" role="php" />
<file name="NoPost.php" role="php" />
<file name="Object.php" role="php" />
<file name="Translation.php" role="php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
</dir> <!-- /lib/Horde/ListHeaders -->
<file name="ListHeaders.php" role="php" />
</dir> <!-- /lib/Horde -->
</dir> <!-- /lib -->
<dir name="locale">
<file name="Horde_ListHeaders.pot" role="data" />
</dir> <!-- /locale -->
<dir name="test">
<dir name="Horde">
<dir name="ListHeaders">
Expand Down Expand Up @@ -71,6 +76,13 @@
<max>3.0.0alpha1</max>
<exclude>3.0.0alpha1</exclude>
</package>
<package>
<name>Horde_Translation</name>
<channel>pear.horde.org</channel>
<min>2.0.0</min>
<max>3.0.0alpha1</max>
<exclude>3.0.0alpha1</exclude>
</package>
</required>
<optional>
<package>
Expand All @@ -90,6 +102,8 @@
<install as="Horde/ListHeaders/Id.php" name="lib/Horde/ListHeaders/Id.php" />
<install as="Horde/ListHeaders/NoPost.php" name="lib/Horde/ListHeaders/NoPost.php" />
<install as="Horde/ListHeaders/Object.php" name="lib/Horde/ListHeaders/Object.php" />
<install as="Horde/ListHeaders/Translation.php" name="lib/Horde/ListHeaders/Translation.php" />
<install as="locale/Horde_ListHeaders.pot" name="locale/Horde_ListHeaders.pot" />
<install as="Horde/ListHeaders/AllTests.php" name="test/Horde/ListHeaders/AllTests.php" />
<install as="Horde/ListHeaders/bootstrap.php" name="test/Horde/ListHeaders/bootstrap.php" />
<install as="Horde/ListHeaders/ParseTest.php" name="test/Horde/ListHeaders/ParseTest.php" />
Expand Down Expand Up @@ -154,15 +168,15 @@
</release>
<release>
<version>
<release>1.0.2</release>
<api>1.0.0</api></version>
<release>1.1.0</release>
<api>1.1.0</api></version>
<stability>
<release>stable</release>
<api>stable</api></stability>
<date>2012-11-19</date>
<date>2013-10-17</date>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
*
* [mms] Add Horde_ListHeaders#headers().
</notes>
</release>
</changelog>
Expand Down
2 changes: 2 additions & 0 deletions framework/Mime/lib/Horde/Mime/Headers.php
Expand Up @@ -526,6 +526,8 @@ static public function mimeParamFields()
/**
* Returns the list of valid mailing list headers.
*
* @deprecated Use Horde_ListHeaders#headers() instead.
*
* @return array The list of valid mailing list headers.
*/
static public function listHeaders()
Expand Down
3 changes: 2 additions & 1 deletion framework/Smtp/composer.json
Expand Up @@ -12,7 +12,7 @@
}
],
"version": "1.2.5",
"time": "2013-10-15",
"time": "2013-10-19",
"repositories": [
{
"type": "pear",
Expand All @@ -23,6 +23,7 @@
"php": ">=5.3.0",
"pear-pear.horde.org/Horde_Exception": ">=2.0.0@stable,<=3.0.0alpha1@stable",
"pear-pear.horde.org/Horde_Mail": ">=2.0.0@stable,<=3.0.0alpha1@stable",
"pear-pear.horde.org/Horde_Socket_Client": ">=1.0.0@stable,<=2.0.0alpha1@stable",
"pear-pear.horde.org/Horde_Support": ">=2.0.0@stable,<=3.0.0alpha1@stable"
},
"suggest": {
Expand Down
2 changes: 1 addition & 1 deletion framework/Smtp/lib/Horde/Smtp/Filter/Data.php
Expand Up @@ -48,7 +48,7 @@ public function filter($in, $out, &$consumed, $closing)
// EOLs need to be CRLF; double leading periods.
$bucket->data = preg_replace(
array("/(?:\r\n|\n|\r(?!\n))/", "/\n\./"),
array("\r\n", '..'),
array("\r\n", "\n.."),
$bucket->data
);

Expand Down
21 changes: 18 additions & 3 deletions framework/Smtp/package.xml
Expand Up @@ -10,9 +10,9 @@
<email>slusarz@horde.org</email>
<active>yes</active>
</lead>
<date>2013-10-15</date>
<date>2013-10-19</date>
<version>
<release>1.2.5</release>
<release>1.2.6</release>
<api>1.2.0</api>
</version>
<stability>
Expand Down Expand Up @@ -59,6 +59,7 @@
<file name="AllTests.php" role="test" />
<file name="bootstrap.php" role="test" />
<file name="conf.php.dist" role="test" />
<file name="FilterDataTest.php" role="test" />
<file name="phpunit.xml" role="test" />
<file name="RemoteServerTest.php" role="test" />
</dir> <!-- /test/Horde/Smtp -->
Expand Down Expand Up @@ -142,6 +143,7 @@
<install as="Horde/Smtp/AllTests.php" name="test/Horde/Smtp/AllTests.php" />
<install as="Horde/Smtp/bootstrap.php" name="test/Horde/Smtp/bootstrap.php" />
<install as="Horde/Smtp/conf.php.dist" name="test/Horde/Smtp/conf.php.dist" />
<install as="Horde/Smtp/FilterDataTest.php" name="test/Horde/Smtp/FilterDataTest.php" />
<install as="Horde/Smtp/phpunit.xml" name="test/Horde/Smtp/phpunit.xml" />
<install as="Horde/Smtp/RemoteServerTest.php" name="test/Horde/Smtp/RemoteServerTest.php" />
</filelist>
Expand Down Expand Up @@ -253,7 +255,20 @@
<stability>
<release>stable</release>
<api>stable</api></stability>
<date>2013-10-15</date>
<date>2013-10-19</date>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
* [mms] Fix escaping periods that begin a line of DATA input.
</notes>
</release>
<release>
<version>
<release>1.2.6</release>
<api>1.2.0</api></version>
<stability>
<release>stable</release>
<api>stable</api></stability>
<date>2013-10-18</date>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
*
Expand Down
53 changes: 53 additions & 0 deletions framework/Smtp/test/Horde/Smtp/FilterDataTest.php
@@ -0,0 +1,53 @@
<?php
/**
* Copyright 2013 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @category Horde
* @copyright 2013 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Smtp
* @subpackage UnitTests
*/

/**
* Test for the SMTP DATA filter.
*
* @author Michael Slusarz <slusarz@horde.org>
* @category Horde
* @copyright 2013 Horde LLC
* @ignore
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Smtp
* @subpackage UnitTests
*/
class Horde_Smtp_FilterDataTest extends Horde_Test_Case
{
private $stream;

public function setUp()
{
$this->stream = fopen('php://temp', 'r+');
stream_filter_register('horde_smtp_data', 'Horde_Smtp_Filter_Data');
stream_filter_append($this->stream, 'horde_smtp_data', STREAM_FILTER_READ);
}

public function tearDown()
{
fclose($this->stream);
}

public function testLeadingPeriodsEscape()
{
fwrite($this->stream, "Foo\r\n.\r\nFoo\r\n");
rewind($this->stream);

$this->assertEquals(
"Foo\r\n..\r\nFoo\r\n",
stream_get_contents($this->stream)
);
}

}

0 comments on commit 3b8010e

Please sign in to comment.