01tonythomas has uploaded a new change for review. https://gerrit.wikimedia.org/r/188575
Change subject: Revert "Added the Plancake e-mail parser library to MediaWiki using Composer". ...................................................................... Revert "Added the Plancake e-mail parser library to MediaWiki using Composer". This reverts commit d9daf2bb8fe75944647f84391f145414d5f80b8d. Cherrypick from I27cafb61ea78a0c5200f47298835c547d3465343 to wmf/1.25wmf15 Change-Id: Ifabebbef089699df7f5dce5a8ad4d2ffe4e8253d --- D Plancake/EmailParser/LICENSE.txt D Plancake/EmailParser/PlancakeEmailParser.php D Plancake/EmailParser/README.txt D Plancake/EmailParser/composer.json D Plancake/EmailParser/tests/emails/0.txt D Plancake/EmailParser/tests/emails/1.txt D Plancake/EmailParser/tests/emails/2.txt D Plancake/EmailParser/tests/emails/from_ipad_with_attachment.txt D Plancake/EmailParser/tests/emails/subject_on_multiple_lines.txt D Plancake/EmailParser/tests/run_tests.php M composer.json M composer.lock M composer/autoload_classmap.php 13 files changed, 2 insertions(+), 921 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vendor refs/changes/75/188575/1 diff --git a/Plancake/EmailParser/LICENSE.txt b/Plancake/EmailParser/LICENSE.txt deleted file mode 100644 index 65c5ca8..0000000 --- a/Plancake/EmailParser/LICENSE.txt +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/Plancake/EmailParser/PlancakeEmailParser.php b/Plancake/EmailParser/PlancakeEmailParser.php deleted file mode 100644 index 59e6cee..0000000 --- a/Plancake/EmailParser/PlancakeEmailParser.php +++ /dev/null @@ -1,338 +0,0 @@ -<?php - -/************************************************************************************* -* ===================================================================================* -* Software by: Danyuki Software Limited * -* This file is part of Plancake. * -* * -* Copyright 2009-2010-2011 by: Danyuki Software Limited * -* Support, News, Updates at: http://www.plancake.com * -* Licensed under the LGPL version 3 license. * * -* Danyuki Software Limited is registered in England and Wales (Company No. 07554549) * -************************************************************************************** -* Plancake is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU Lesser General Public License v3.0 for more details. * -* * -* You should have received a copy of the GNU Lesser General Public License * -* along with this program. If not, see <http://www.gnu.org/licenses/>. * -* * -************************************************************************************** -* -* Valuable contributions by: -* - Chris -* -* **************************************************************************************/ - -/** - * Extracts the headers and the body of an email - * Obviously it can't extract the bcc header because it doesn't appear in the content - * of the email. - * - * N.B.: if you deal with non-English languages, we recommend you install the IMAP PHP extension: - * the Plancake PHP Email Parser will detect it and used it automatically for better results. - * - * For more info, check: - * https://github.com/plancake/official-library-php-email-parser - * - * @author dan - */ -class PlancakeEmailParser { - - const PLAINTEXT = 1; - const HTML = 2; - - /** - * - * @var boolean - */ - private $isImapExtensionAvailable = false; - - /** - * - * @var string - */ - private $emailRawContent; - - /** - * - * @var associative array - */ - protected $rawFields; - - /** - * - * @var array of string (each element is a line) - */ - protected $rawBodyLines; - - /** - * - * @param string $emailRawContent - */ - public function __construct($emailRawContent) { - $this->emailRawContent = $emailRawContent; - - $this->extractHeadersAndRawBody(); - - if (function_exists('imap_open')) { - $this->isImapExtensionAvailable = true; - } - } - - private function extractHeadersAndRawBody() - { - $lines = preg_split("/(\r?\n|\r)/", $this->emailRawContent); - - $currentHeader = ''; - - $i = 0; - foreach ($lines as $line) - { - if(self::isNewLine($line)) - { - // end of headers - $this->rawBodyLines = array_slice($lines, $i); - break; - } - - if ($this->isLineStartingWithPrintableChar($line)) // start of new header - { - preg_match('/([^:]+): ?(.*)$/', $line, $matches); - $newHeader = strtolower($matches[1]); - $value = $matches[2]; - $this->rawFields[$newHeader] = $value; - $currentHeader = $newHeader; - } - else // more lines related to the current header - { - if ($currentHeader) { // to prevent notice from empty lines - $this->rawFields[$currentHeader] .= substr($line, 1); - } - } - $i++; - } - } - - /** - * - * @return string (in UTF-8 format) - * @throws Exception if a subject header is not found - */ - public function getSubject() - { - if (!isset($this->rawFields['subject'])) - { - throw new Exception("Couldn't find the subject of the email"); - } - - $ret = ''; - - if ($this->isImapExtensionAvailable) { - foreach (imap_mime_header_decode($this->rawFields['subject']) as $h) { // subject can span into several lines - $charset = ($h->charset == 'default') ? 'US-ASCII' : $h->charset; - $ret .= iconv($charset, "UTF-8//TRANSLIT", $h->text); - } - } else { - $ret = utf8_encode(iconv_mime_decode($this->rawFields['subject'])); - } - - return $ret; - } - - /** - * - * @return array - */ - public function getCc() - { - if (!isset($this->rawFields['cc'])) - { - return array(); - } - - return explode(',', $this->rawFields['cc']); - } - - /** - * - * @return array - * @throws Exception if a to header is not found or if there are no recipient - */ - public function getTo() - { - if ( (!isset($this->rawFields['to'])) || (!count($this->rawFields['to']))) - { - throw new Exception("Couldn't find the recipients of the email"); - } - return explode(',', $this->rawFields['to']); - } - - /** - * return string - UTF8 encoded - * - * Example of an email body - * - --0016e65b5ec22721580487cb20fd - Content-Type: text/plain; charset=ISO-8859-1 - - Hi all. I am new to Android development. - Please help me. - - -- - My signature - - email: myem...@gmail.com - web: http://www.example.com - - --0016e65b5ec22721580487cb20fd - Content-Type: text/html; charset=ISO-8859-1 - */ - public function getBody($returnType=self::PLAINTEXT) - { - $body = ''; - $detectedContentType = false; - $contentTransferEncoding = null; - $charset = 'ASCII'; - $waitingForContentStart = true; - - if ($returnType == self::HTML) - $contentTypeRegex = '/^Content-Type: ?text\/html/i'; - else - $contentTypeRegex = '/^Content-Type: ?text\/plain/i'; - - // there could be more than one boundary - preg_match_all('!boundary=(.*)$!mi', $this->emailRawContent, $matches); - $boundaries = $matches[1]; - // sometimes boundaries are delimited by quotes - we want to remove them - foreach($boundaries as $i => $v) { - $boundaries[$i] = str_replace(array("'", '"'), '', $v); - } - - foreach ($this->rawBodyLines as $line) { - if (!$detectedContentType) { - - if (preg_match($contentTypeRegex, $line, $matches)) { - $detectedContentType = true; - } - - if(preg_match('/charset=(.*)/i', $line, $matches)) { - $charset = strtoupper(trim($matches[1], '"')); - } - - } else if ($detectedContentType && $waitingForContentStart) { - - if(preg_match('/charset=(.*)/i', $line, $matches)) { - $charset = strtoupper(trim($matches[1], '"')); - } - - if ($contentTransferEncoding == null && preg_match('/^Content-Transfer-Encoding: ?(.*)/i', $line, $matches)) { - $contentTransferEncoding = $matches[1]; - } - - if (self::isNewLine($line)) { - $waitingForContentStart = false; - } - } else { // ($detectedContentType && !$waitingForContentStart) - // collecting the actual content until we find the delimiter - - // if the delimited is AAAAA, the line will be --AAAAA - that's why we use substr - if (is_array($boundaries)) { - if (in_array(substr($line, 2), $boundaries)) { // found the delimiter - break; - } - } - $body .= $line . "\n"; - } - } - - if (!$detectedContentType) - { - // if here, we missed the text/plain content-type (probably it was - // in the header), thus we assume the whole body is what we are after - $body = implode("\n", $this->rawBodyLines); - } - - // removing trailing new lines - $body = preg_replace('/((\r?\n)*)$/', '', $body); - - if ($contentTransferEncoding == 'base64') - $body = base64_decode($body); - else if ($contentTransferEncoding == 'quoted-printable') - $body = quoted_printable_decode($body); - - if($charset != 'UTF-8') { - // FORMAT=FLOWED, despite being popular in emails, it is not - // supported by iconv - $charset = str_replace("FORMAT=FLOWED", "", $charset); - - $bodyCopy = $body; - $body = iconv($charset, 'UTF-8//TRANSLIT', $body); - - if ($body === FALSE) { // iconv returns FALSE on failure - $body = utf8_encode($bodyCopy); - } - } - - return $body; - } - - /** - * @return string - UTF8 encoded - * - */ - public function getPlainBody() - { - return $this->getBody(self::PLAINTEXT); - } - - /** - * return string - UTF8 encoded - */ - public function getHTMLBody() - { - return $this->getBody(self::HTML); - } - - /** - * N.B.: if the header doesn't exist an empty string is returned - * - * @param string $headerName - the header we want to retrieve - * @return string - the value of the header - */ - public function getHeader($headerName) - { - $headerName = strtolower($headerName); - - if (isset($this->rawFields[$headerName])) - { - return $this->rawFields[$headerName]; - } - return ''; - } - - /** - * - * @param string $line - * @return boolean - */ - public static function isNewLine($line) - { - $line = str_replace("\r", '', $line); - $line = str_replace("\n", '', $line); - - return (strlen($line) === 0); - } - - /** - * - * @param string $line - * @return boolean - */ - private function isLineStartingWithPrintableChar($line) - { - return preg_match('/^[A-Za-z]/', $line); - } -} -?> diff --git a/Plancake/EmailParser/README.txt b/Plancake/EmailParser/README.txt deleted file mode 100644 index 7776202..0000000 --- a/Plancake/EmailParser/README.txt +++ /dev/null @@ -1,57 +0,0 @@ -*** PLANCAKE PHP EMAIL PARSER *** - -N.B.: if you deal with non-English languages, we recommend you install the IMAP PHP extension: -the Plancake PHP Email Parser will detect it and used it automatically for better results. - -This library allows you to easily parse an email given its content (headers + body). - -Usage example: - - -$emailPath = "/var/mail/spool/dan/new/12323344323234234234"; -$emailParser = new PlancakeEmailParser(file_get_contents($emailPath)); - -// You can use some predefined methods to retrieve headers... -$emailTo = $emailParser->getTo(); -$emailSubject = $emailParser->getSubject(); -$emailCc = $emailParser->getCc(); -// ... or you can use the 'general purpose' method getHeader() -$emailDeliveredToHeader = $emailParser->getHeader('Delivered-To'); - -$emailBody = $emailParser->getPlainBody(); - -For more info: -https://github.com/plancake/official-library-php-email-parser - ------------------------------------------ - -We love to hear from you ♥. Please, send us any feedback. -Even if you don't speak English, don't worry, use your native language (we have great confidence in Google Translate :-)) -http://www.plancake.com/contact - -Please contact us if you need any commercial support with the installation of any component or if you would like any customization: -http://www.plancake.com/contact - -Please consider contributing with bug fixes or improvements: -d...@plancake.com - -Plancake homepage: http://www.plancake.com -Support: http://www.plancake.com/forums/forum/13/support-for-developers/ -Subscribe to our blog: http://www.plancake.com/blog -Follow us on Twitter: http://twitter.com/plancakebakers -Follow us on Facebook: http://www.facebook.com/plancake -Donations ♥ : http://www.plancake.com/donate - -"Plancake" and "Plancake Team" are trademarks of Daniele Occhipinti. -(by the way, what about using Plancake Team for team collaboration? team.plancake.com) - -Brought to you by Danyuki Software Limited, a startup tech company based in London, UK. - - - -Happy plancaking! - -Daniele Occhipinti -Director and Founder of Plancake -email: d...@plancake.com -skype: dan_plan (I can speak English and Italian) diff --git a/Plancake/EmailParser/composer.json b/Plancake/EmailParser/composer.json deleted file mode 100644 index 62982a9..0000000 --- a/Plancake/EmailParser/composer.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "floriansemm/official-library-php-email-parser", - "type": "library", - "description": "Plancake Email Parser is a simple emailparser for php", - "keywords": ["email", "parser"], - "homepage": "http://www.plancake.com", - "version": "1.0.0", - "license": "GPLv3", - "authors": [ - { - "name": "Daniele Occhipinti", - "email": "d...@plancake.com" - } - ], - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "psr-0": { "PlancakeEmailParser": "." } - } -} diff --git a/Plancake/EmailParser/tests/emails/0.txt b/Plancake/EmailParser/tests/emails/0.txt deleted file mode 100644 index 1aa9eb8..0000000 --- a/Plancake/EmailParser/tests/emails/0.txt +++ /dev/null @@ -1,68 +0,0 @@ -Delivered-To: d...@test.com -Received: by 10.76.34.137 with SMTP id z9csp136640oai; - Tue, 28 Aug 2012 02:40:28 -0700 (PDT) -Received: by 10.68.234.6 with SMTP id ua6mr41487056pbc.117.1346146817853; - Tue, 28 Aug 2012 02:40:17 -0700 (PDT) -Return-Path: <pa...@test.com> -Received: from xxxxx-asmtp001.mac.com (xxxxx-asmtp001.mac.com. [17.157.161.0]) - by mx.google.com with ESMTP id qs7si36267775pbc.282.2012.08.28.02.40.16; - Tue, 28 Aug 2012 02:40:17 -0700 (PDT) -Received-SPF: pass (google.com: domain of pa...@test.com designates 17.157.161.0 as permitted sender) client-ip=17.157.161.0; -Authentication-Results: mx.google.com; spf=pass (google.com: domain of pa...@test.com designates 17.157.161.0 as permitted sender) smtp.mail=pa...@test.com -MIME-version: 1.0 -Content-type: multipart/mixed; boundary="Boundary_(ID_HBjaZsKd/JYCOBj0NwKdIg)" -Received: from pc-Pawel.local - (84-10-143-154.dynamic.chello.pl [84.10.143.154]) - by xxxxx-asmtp001.mac.com - (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug - 10 2011)) with ESMTPSA id <0m9g00j3klj0e...@xxxxx-asmtp001.mac.com> for - d...@test.com; Tue, 28 Aug 2012 09:40:16 +0000 (GMT) -X-Proofpoint-Virus-Version: vendor=fsecure - engine=2.50.10432:5.7.7855,1.0.428,0.0.0000 - definitions=2012-08-28_02:2012-08-28,2012-08-27,1970-01-01 signatures=0 -X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 - ipscore=0 suspectscore=4 phishscore=0 bulkscore=0 adultscore=0 classifier=spam - adjust=0 reason=mlx scancount=1 engine=6.0.2-1203120001 - definitions=main-1208280046 -Message-id: <503c91fa.8000...@me.com> -Date: Tue, 28 Aug 2012 11:40:10 +0200 -From: Pawel <pa...@test.com> -User-Agent: Postbox 3.0.5 (Macintosh/20120826) -To: d...@test.com -Subject: =?UTF-8?B?emHFvMOzxYLEhyBnxJnFm2zEhSBqYcW6xYQgaSB6csOzYiBwcsOzYm4=?= - =?UTF-8?B?ZSB6YWRhbmllICUldG9k?= - -This is a multi-part message in MIME format. - ---Boundary_(ID_HBjaZsKd/JYCOBj0NwKdIg) -Content-type: multipart/alternative; - boundary="Boundary_(ID_IwJgqMZPSLzwxvKroSd+xg)" - - ---Boundary_(ID_IwJgqMZPSLzwxvKroSd+xg) -Content-type: text/plain; CHARSET=US-ASCII; format=flowed -Content-transfer-encoding: 7BIT - -This is a nonesense test-email to check Plancake Mail to Inbox feature. -All Polish diacritics included ;-) tag also included for additional tests. -It should look like in the picture attached. -Best regards -Pawel - ---Boundary_(ID_IwJgqMZPSLzwxvKroSd+xg) -Content-type: text/html; CHARSET=US-ASCII -Content-transfer-encoding: 7BIT - -<html><head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body - style="font-family: tt; font-size: 10pt;" bgcolor="#FFFFFF" -text="#000000"> -<div style="font-size: 10pt;font-family: tt;"><span style="font-family: -monospace;">This is a nonesense test-email to check Plancake Mail to -Inbox feature. All Polish diacritics included ;-) tag also included for -additional tests.<br>It should look like in the picture attached.<br>Best - regards<br>Pawel<br></span></div> -</body> -</html> - ---Boundary_(ID_IwJgqMZPSLzwxvKroSd+xg)-- diff --git a/Plancake/EmailParser/tests/emails/1.txt b/Plancake/EmailParser/tests/emails/1.txt deleted file mode 100644 index a08ab14..0000000 --- a/Plancake/EmailParser/tests/emails/1.txt +++ /dev/null @@ -1,50 +0,0 @@ - -Delivered-To: dani...@test.com -Received: by 10.114.17.33 with SMTP id l1csp3122ldd; - Tue, 18 Sep 2012 02:41:44 -0700 (PDT) -Received: by 10.58.239.232 with SMTP id vv8mr9429162vec.37.1347961303872; - Tue, 18 Sep 2012 02:41:43 -0700 (PDT) -Return-Path: <d...@test.com> -Received: from mail-vb0-f50.google.com (mail-vb0-f50.google.com [209.85.212.50]) - by mx.google.com with ESMTPS id l6si7688147vcq.72.2012.09.18.02.41.43 - (version=TLSv1/SSLv3 cipher=OTHER); - Tue, 18 Sep 2012 02:41:43 -0700 (PDT) -Received-SPF: neutral (google.com: 209.85.212.50 is neither permitted nor denied by best guess record for domain of d...@test.com) client-ip=209.85.212.50; -Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.212.50 is neither permitted nor denied by best guess record for domain of d...@test.com) smtp.mail=d...@test.com -Received: by mail-vb0-f50.google.com with SMTP id l22so8808870vbn.9 - for <dani...@test.com>; Tue, 18 Sep 2012 02:41:43 -0700 (PDT) -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=google.com; s=20120113; - h=mime-version:x-originating-ip:from:date:message-id:subject:to - :content-type:x-gm-message-state; - bh=PspmOkExwaKjIUREisshzexR2oetA5uzuTOojKs40T0=; - b=c4Gqdb/v+bU+oDTpZhBBWcx+NMkKhesUWzEkXvJkMNePD7EEvc3/rMcrSoy4+I+8RR - gr3dfPEEdqZ769R3YFJ4xr3P5df1vxQhPfdanOpA7L2PwtRGBjXgLAZKENM9erZKmkdQ - q+uXwOYNLtNuF5kDKGX8TvC6AP2PUAlcKvIduGoJ30inP/noD0batOmI9BpDNT8NIFAK - ldnVuLB7Iy6aJK0REQQA5beFOm2xPvnqTVPYbD89xDjpjRIrCQ/hhM7pWmYPPHMoju7t - aeYSgvs5pv3Tfp0lMb5yBXIYp/WS6r80pElbjozctMs3TrEEKRbLdGKGc2t9Q9EIhRul - AfsQ== -Received: by 10.52.36.34 with SMTP id n2mr4808159vdj.105.1347961302979; Tue, - 18 Sep 2012 02:41:42 -0700 (PDT) -MIME-Version: 1.0 -Received: by 10.58.222.103 with HTTP; Tue, 18 Sep 2012 02:41:22 -0700 (PDT) -X-Originating-IP: [109.158.215.220] -From: "Dan @ Test.com" <d...@test.com> -Date: Tue, 18 Sep 2012 10:41:22 +0100 -Message-ID: <cacm7m_mmt14q-dqjeqqh8xv_jqsbrnga4owfxjkn0loe_bw...@mail.test.com> -Subject: this is a test -To: Daniele <danie...@test.com> -Content-Type: multipart/alternative; boundary=20cf307f398ea295d904c9f6b2a6 -X-Gm-Message-State: ALoCoQlh01kch4ywUSwY0xXJAZx7DW352l9t4+rs/FsY2P46f3kTi0FiEekDb37jju+fr0rhOr+3 - ---20cf307f398ea295d904c9f6b2a6 -Content-Type: text/plain; charset=ISO-8859-1 - -Hope it works! - ---20cf307f398ea295d904c9f6b2a6 -Content-Type: text/html; charset=ISO-8859-1 - -Hope it works!<br><div title="signature"> </div> - ---20cf307f398ea295d904c9f6b2a6-- diff --git a/Plancake/EmailParser/tests/emails/2.txt b/Plancake/EmailParser/tests/emails/2.txt deleted file mode 100644 index 7e4cb16..0000000 --- a/Plancake/EmailParser/tests/emails/2.txt +++ /dev/null @@ -1,52 +0,0 @@ - -Delivered-To: dani...@test.com -Received: by 10.114.17.33 with SMTP id l1csp4056ldd; - Tue, 18 Sep 2012 03:26:33 -0700 (PDT) -Received: by 10.221.1.137 with SMTP id nq9mr9146920vcb.16.1347963992703; - Tue, 18 Sep 2012 03:26:32 -0700 (PDT) -Return-Path: <d...@test.com> -Received: from mail-vb0-f46.google.com (mail-vb0-f46.google.com [209.85.212.46]) - by mx.google.com with ESMTPS id nr9si7739478vcb.47.2012.09.18.03.26.31 - (version=TLSv1/SSLv3 cipher=OTHER); - Tue, 18 Sep 2012 03:26:32 -0700 (PDT) -Received-SPF: neutral (google.com: 209.85.212.46 is neither permitted nor denied by best guess record for domain of d...@test.com) client-ip=209.85.212.46; -Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.212.46 is neither permitted nor denied by best guess record for domain of d...@test.com) smtp.mail=d...@test.com -Received: by mail-vb0-f46.google.com with SMTP id ff1so4097773vbb.19 - for <dani...@test.com>; Tue, 18 Sep 2012 03:26:31 -0700 (PDT) -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=google.com; s=20120113; - h=mime-version:x-originating-ip:from:date:message-id:subject:to - :content-type:x-gm-message-state; - bh=AkxZ77/pitG59A/NWKlbLstrhunK6KXfB2fNB4YSalk=; - b=bhfvZKO9bbkr4akjdJ5vaot480TiITsjBMdjtxCMAg4RPnoed6IsivejP9cJZcIIPq - N0O2CaPv1z9DyT4DXlPYJTAMUSvHg8KWZIUp7rfKZ0X7Y9OWWIHkIaApqfMpM61OF0qo - wbCG7boJ2fbtdDPZQ3z+LamDKAChU7ayuplQYN0vMqkpRlYw9YLnM6BOO4Yj66TZ8q6M - WAVdM1kFVP+r2QGd7ka3UWM55Ah9R9dg2SRmBN3W6EBV91IVWw4DQ9Ufucr65YnCU/GA - qe3AuaeHf0Th2CnMn/mlMbeEm+vG3WD+G3ZQ8+UpKkDFdN4GlrB3JnnDc6AV3o4weske - tYQA== -Received: by 10.58.65.40 with SMTP id u8mr9411987ves.47.1347963991825; Tue, 18 - Sep 2012 03:26:31 -0700 (PDT) -MIME-Version: 1.0 -Received: by 10.58.222.103 with HTTP; Tue, 18 Sep 2012 03:26:11 -0700 (PDT) -X-Originating-IP: [109.158.215.220] -From: "Dan" <d...@test.com> -Date: Tue, 18 Sep 2012 11:26:11 +0100 -Message-ID: <CACm7M_MSh=skfbnw2t0s6d_rh1e3ntcauowd2jao55hwidx...@mail.test.com> -Subject: =?ISO-2022-JP?B?GyRCJDMkbCRPJUYlOSVIJEckORsoQg==?= -To: Daniele <dani...@test.com> -Content-Type: multipart/alternative; boundary=047d7b6d8564e71cac04c9f75290 -X-Gm-Message-State: ALoCoQlwrVoZ6rkTcekymixxwzWXjBHxmM0yFX4xQ/t74eEEfsoU2nSbGLhgaz8HYimU8WeCI7ll - ---047d7b6d8564e71cac04c9f75290 -Content-Type: text/plain; charset=ISO-2022-JP -Content-Transfer-Encoding: 7bit - -$B$=$l$O:nIJ$r4|BT(B - ---047d7b6d8564e71cac04c9f75290 -Content-Type: text/html; charset=ISO-2022-JP -Content-Transfer-Encoding: 7bit - -$B$=$l$O:nIJ$r4|BT(B<div title="signature"> </div> - ---047d7b6d8564e71cac04c9f75290-- diff --git a/Plancake/EmailParser/tests/emails/from_ipad_with_attachment.txt b/Plancake/EmailParser/tests/emails/from_ipad_with_attachment.txt deleted file mode 100644 index 151fd18..0000000 --- a/Plancake/EmailParser/tests/emails/from_ipad_with_attachment.txt +++ /dev/null @@ -1,116 +0,0 @@ -Return-Path: <d...@example.com> -X-Original-To: inbox_danocch.it_2...@examplebox.com -Delivered-To: inbox_danocch.it_2...@examplebox.com -Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) - by server1.examplebox.com (Postfix) with ESMTP id 4D2F41BD0001 - for <inbox_danocch.it_2...@examplebox.com>; Tue, 9 Oct 2012 18:23:24 +0100 (BST) -Received: by mail-wi0-f175.google.com with SMTP id hq4so4164838wib.16 - for <inbox_danocch.it_2...@examplebox.com>; Tue, 09 Oct 2012 10:23:24 -0700 (PDT) -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=google.com; s=20120113; - h=subject:from:content-type:message-id:date:to - :content-transfer-encoding:mime-version:x-mailer:x-gm-message-state; - bh=lZwtjDDR63eEQyHRrh6iaIeV+u3+bVKEbNh1HEr7PEk=; - b=lJvUiccuU7CBGYcweNmCtYtIbc4/Yv6bFCPJcuAGWl/E/0JyaW3ddtuonfDUJg4dgW - RPwZFbJIw+LSmJ2pvgwZLH3+EtTkxyu/I6eMD2kamY6h6OZX3PCAEtJOLDjnPSDTbPJX - 9MnAREflBgjzlV/qJIcJ4f1Jd4YQhrDHCfawEVpw1X8r8rbjiRwxkGMEttfju20zoFP1 - T12+FYeNvYkEvVFmlN5I7Xfu5RFhjI5Bl1FpldBMipeouWZMsNLnI8R5GTkdfT2fW6uh - gVi1MY90uHlDQtJSvc4SuLYAJlTRtoYTeQRvHD/G4Z7cVU8OBFh9Tl/8xoA2OE9Pe2EC - m09Q== -Received: by 10.180.87.34 with SMTP id u2mr6205630wiz.4.1349803404038; - Tue, 09 Oct 2012 10:23:24 -0700 (PDT) -Received: from [192.168.1.102] (host86-161-128-242.range86-161.btcentralplus.com. [86.161.128.242]) - by mx.google.com with ESMTPS id b3sm25802929wie.0.2012.10.09.10.23.19 - (version=TLSv1/SSLv3 cipher=OTHER); - Tue, 09 Oct 2012 10:23:21 -0700 (PDT) -Subject: Voice Memo -From: Dan Occhi <d...@example.com> -Content-Type: multipart/mixed; boundary=Apple-Mail-08783E7E-BDCB-4708-8BF5-33F388A6F25E -Message-Id: <441efbb7-9e4c-432b-a6e7-68f544320...@example.com> -Date: Tue, 9 Oct 2012 18:23:09 +0100 -To: "inbox_danocch.it_2...@examplebox.com" <inbox_danocch.it_2...@examplebox.com> -Content-Transfer-Encoding: 7bit -Mime-Version: 1.0 (1.0) -X-Mailer: iPad Mail (9B206) -X-Gm-Message-State: ALoCoQl85Cg6qs32nNDmF9Dfb9MxUWrp3B60UwPIgbbUOsz6lvJr89zMNMyii0pADDHwLLcHxU5t - - ---Apple-Mail-08783E7E-BDCB-4708-8BF5-33F388A6F25E -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; - charset=us-ascii - - - - ---Apple-Mail-08783E7E-BDCB-4708-8BF5-33F388A6F25E -Content-Disposition: attachment; - filename=example_vmr_09102012182307.3gp -Content-Type: audio/caf; - name=example_vmr_09102012182307.3gp -Content-Transfer-Encoding: base64 - -Y2FmZgABAABkZXNjAAAAAAAAACBA5YiAAAAAAGltYTQAAAAAAAAARAAAAEAAAAACAAAAAGt1a2kA -AAAAAAAAAGZyZWUAAAAAAAAPpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= - ---Apple-Mail-08783E7E-BDCB-4708-8BF5-33F388A6F25E -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; - charset=us-ascii - - - - -Sent from my iPad ---Apple-Mail-08783E7E-BDCB-4708-8BF5-33F388A6F25E-- diff --git a/Plancake/EmailParser/tests/emails/subject_on_multiple_lines.txt b/Plancake/EmailParser/tests/emails/subject_on_multiple_lines.txt deleted file mode 100644 index 06c7084..0000000 --- a/Plancake/EmailParser/tests/emails/subject_on_multiple_lines.txt +++ /dev/null @@ -1,24 +0,0 @@ -Return-Path: <i...@domain.it> -Delivered-To: bou...@domain-bounce.it -Received: from h0.host.net (HELO queue) (123.123.33.50) - by h0.host.net with SMTP; 10 May 2012 16:41:46 +0200 -Received: from mx.aruba.it (321.321.157.29) - by mx.host.net with SMTP; 10 May 2012 16:41:44 +0200 -Received: (qmail 11142 invoked by uid 89); 10 May 2012 14:41:43 -0000 -Date: 10 May 2012 14:41:43 -0000 -Message-ID: <1336660903.11137.b...@host.it> -Delivered-To: Autoresponder -To: bou...@domain-bounce.it -From: i...@domain.it -Subject: Re: =?UTF-8?Q?Testo=20Del=20di=20Soggetto=20Che=20?= - =?UTF-8?Q?Va=20A=20Capo=20In=20UTF8=20?= -X-Spam-Check: DONE|U 0.500569/N -X-Spam-Check: OK - - - -Da: i...@domain.it -Oggetto: Grazie!!! - -Nome Cognome - diff --git a/Plancake/EmailParser/tests/run_tests.php b/Plancake/EmailParser/tests/run_tests.php deleted file mode 100644 index 543312e..0000000 --- a/Plancake/EmailParser/tests/run_tests.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php - -// run this as: -// php run_tests.php - -require_once("../PlancakeEmailParser.php"); - -$emails = glob('./emails/*'); - -echo "\r\n\r\n\r\n"; - -foreach($emails as $email) { - echo "Email $email \r\n"; - $emailParser = new PlancakeEmailParser(file_get_contents($email)); - echo "subject: " . $emailParser->getSubject() . "\r\n"; - echo "body: " . $emailParser->getBody() . "\r\n"; - echo "\r\n\r\n\r\n"; -} diff --git a/composer.json b/composer.json index dcd8081..eb1ba08 100644 --- a/composer.json +++ b/composer.json @@ -3,19 +3,12 @@ "description": "External libraries required or recommened for use with MediaWiki", "type": "managed-library-collection", "license": "GPL-2.0+", - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/plancake/official-library-php-email-parser" - } - ], "require": { "cssjanus/cssjanus": "1.1.1", "leafo/lessphp": "0.5.0", "php": ">=5.3.3", "psr/log": "1.0.0", "monolog/monolog": "1.11.0", - "Plancake/EmailParser": "dev-master#e7453ead1f3a74810d8050a30afb96feed74477a", "ruflin/elastica": "1.3.0.0", "oojs/oojs-ui": "0.6.2", "wikimedia/cdb": "1.0.1" diff --git a/composer.lock b/composer.lock index 459fdcf..6ece56b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "e42179bd0879c1f7fd77578482637c4a", + "hash": "ee2d87495cd1a8163f8509fbbf2d3fd4", "packages": [ { "name": "Plancake/EmailParser", @@ -373,9 +373,7 @@ "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "plancake/emailparser": 20 - }, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php index 494f432..6756394 100644 --- a/composer/autoload_classmap.php +++ b/composer/autoload_classmap.php @@ -300,7 +300,6 @@ 'OOUI\\Theme' => $vendorDir . '/oojs/oojs-ui/php/Theme.php', 'OOUI\\TitledElement' => $vendorDir . '/oojs/oojs-ui/php/elements/TitledElement.php', 'OOUI\\Widget' => $vendorDir . '/oojs/oojs-ui/php/Widget.php', - 'PlancakeEmailParser' => $vendorDir . '/Plancake/EmailParser/PlancakeEmailParser.php', 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', -- To view, visit https://gerrit.wikimedia.org/r/188575 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifabebbef089699df7f5dce5a8ad4d2ffe4e8253d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/vendor Gerrit-Branch: wmf/1.25wmf15 Gerrit-Owner: 01tonythomas <01tonytho...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits