summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:31:33 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:31:33 -0400
commit150f94f051128f367bc89f6b7e5f57eb2a69fc62 (patch)
tree181f454813b310ee97385058c6c6f2e3f34d5fd8
parent7e85254903c7c0cb49e381f16b18441ea7b058cc (diff)
parent80f7dc77d430774192b929d780f96260066df2ee (diff)
Merge commit '80f7dc'
# Conflicts: # extensions/ArchInterWiki.sql
-rw-r--r--RELEASE-NOTES-1.2522
-rw-r--r--composer.json2
-rw-r--r--composer.lock (renamed from vendor/composer.lock)140
-rw-r--r--docs/extension.schema.json26
-rw-r--r--includes/DefaultSettings.php20
-rw-r--r--includes/GlobalFunctions.php5
-rw-r--r--includes/HtmlFormatter.php19
-rw-r--r--includes/HttpFunctions.php105
-rw-r--r--includes/MWNamespace.php2
-rw-r--r--includes/Setup.php15
-rw-r--r--includes/User.php27
-rw-r--r--includes/api/ApiQuerySiteinfo.php1
-rw-r--r--includes/api/ApiStashEdit.php63
-rw-r--r--includes/api/ApiUpload.php88
-rw-r--r--includes/filerepo/FileRepo.php6
-rw-r--r--includes/filerepo/ForeignAPIRepo.php5
-rw-r--r--includes/media/Bitmap.php2
-rw-r--r--includes/registration/ExtensionProcessor.php41
-rw-r--r--includes/registration/ExtensionRegistry.php84
-rw-r--r--includes/revisiondelete/RevDelList.php19
-rw-r--r--includes/specials/SpecialConfirmemail.php4
-rw-r--r--includes/specials/SpecialRevisiondelete.php3
-rw-r--r--includes/specials/SpecialUpload.php8
-rw-r--r--includes/upload/UploadBase.php10
-rw-r--r--maintenance/refreshLinks.php7
-rw-r--r--tests/phpunit/includes/registration/ExtensionProcessorTest.php38
-rw-r--r--tests/phpunit/includes/registration/ExtensionRegistryTest.php49
-rw-r--r--vendor/README.md28
-rw-r--r--vendor/autoload.php2
-rw-r--r--vendor/composer.json25
-rw-r--r--vendor/composer/ClassLoader.php8
-rw-r--r--vendor/composer/autoload_classmap.php260
-rw-r--r--vendor/composer/autoload_namespaces.php5
-rw-r--r--vendor/composer/autoload_psr4.php3
-rw-r--r--vendor/composer/autoload_real.php9
-rw-r--r--vendor/composer/installed.json381
-rw-r--r--vendor/monolog/monolog/CHANGELOG.mdown202
-rw-r--r--vendor/monolog/monolog/LICENSE19
-rw-r--r--vendor/monolog/monolog/README.mdown283
-rw-r--r--vendor/monolog/monolog/composer.json50
-rw-r--r--vendor/monolog/monolog/doc/extending.md76
-rw-r--r--vendor/monolog/monolog/doc/sockets.md37
-rw-r--r--vendor/monolog/monolog/doc/usage.md162
-rw-r--r--vendor/monolog/monolog/phpunit.xml.dist15
-rw-r--r--vendor/monolog/monolog/src/Monolog/ErrorHandler.php208
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php79
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php87
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php104
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php36
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php101
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php116
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php159
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php47
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php165
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php105
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php141
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php48
-rw-r--r--vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php113
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php184
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php66
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php92
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php98
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php184
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php117
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php204
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php72
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php145
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php45
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php89
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php128
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php82
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php28
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php59
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php34
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php150
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php195
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php126
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php103
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php72
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php80
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php90
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php300
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php98
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php69
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php21
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php55
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php155
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php174
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php45
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php56
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php172
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php181
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php58
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php73
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php153
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php83
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php234
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php284
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php104
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php56
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php67
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php46
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php80
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php140
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php57
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php95
-rw-r--r--vendor/monolog/monolog/src/Monolog/Logger.php615
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php64
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php82
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php40
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php63
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php40
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php31
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php48
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php34
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php38
-rw-r--r--vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php105
-rw-r--r--vendor/monolog/monolog/src/Monolog/Registry.php118
-rw-r--r--vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php31
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php158
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php79
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php55
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php189
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php78
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php208
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php40
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php289
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php253
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php247
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php98
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php142
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Functional/Handler/FirePHPHandlerTest.php32
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php115
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php80
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php137
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php130
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php158
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php141
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php41
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php52
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php73
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php239
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php66
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php170
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php240
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php96
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php85
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php88
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php93
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php117
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php89
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php166
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php84
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php75
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php26
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php65
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php61
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php192
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php33
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php50
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php141
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php150
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php71
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php99
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php33
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php133
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php282
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php118
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php44
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php49
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php56
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php46
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php121
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php69
-rw-r--r--vendor/monolog/monolog/tests/Monolog/LoggerTest.php409
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php29
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php123
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php42
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php42
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php30
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php43
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php29
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php27
-rw-r--r--vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php98
-rw-r--r--vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php47
-rw-r--r--vendor/monolog/monolog/tests/Monolog/TestCase.php58
-rw-r--r--vendor/monolog/monolog/tests/bootstrap.php15
-rw-r--r--vendor/psr/log/Psr/Log/LoggerAwareTrait.php22
-rw-r--r--vendor/psr/log/Psr/Log/LoggerTrait.php131
-rw-r--r--vendor/ruflin/elastica/LICENSE.txt21
-rw-r--r--vendor/ruflin/elastica/README.markdown29
-rw-r--r--vendor/ruflin/elastica/Vagrantfile14
-rw-r--r--vendor/ruflin/elastica/build.xml232
-rw-r--r--vendor/ruflin/elastica/changes.txt797
-rw-r--r--vendor/ruflin/elastica/composer.json40
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php544
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php88
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Avg.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php82
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php21
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Filter.php41
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php55
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Max.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Min.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Missing.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Nested.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Range.php45
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php50
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Stats.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Sum.php13
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/Terms.php97
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php31
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk.php423
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action.php219
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php11
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php69
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/Response.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php142
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Client.php691
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster.php181
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health.php189
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php142
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php107
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Cluster/Settings.php197
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Connection.php274
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Document.php334
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php9
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/BulkException.php7
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ClientException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php88
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php65
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php99
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/InvalidException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php12
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php16
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php33
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php76
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php14
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php141
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php27
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php54
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php66
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Query.php27
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Range.php138
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php129
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php57
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php190
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php50
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php77
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Bool.php146
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolNot.php43
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/BoolOr.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Exists.php35
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php73
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php101
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php59
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php85
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php74
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php45
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/HasChild.php78
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/HasParent.php77
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Ids.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Indices.php51
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Limit.php36
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/MatchAll.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Missing.php37
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Nested.php60
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/NumericRange.php15
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Prefix.php79
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Query.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Range.php61
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Regexp.php80
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Script.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Term.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Terms.php132
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Filter/Type.php60
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index.php462
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Settings.php318
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Stats.php109
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Index/Status.php144
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/JSON.php67
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Log.php84
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Multi/ResultSet.php208
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Multi/Search.php198
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node.php130
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node/Info.php196
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Node/Stats.php115
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Param.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Percolator.php132
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query.php420
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php15
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Bool.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Boosting.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Builder.php933
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Common.php150
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/ConstantScore.php68
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/DisMax.php59
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Filtered.php95
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/FunctionScore.php201
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Fuzzy.php84
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php215
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/HasChild.php63
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/HasParent.php62
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Ids.php117
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Match.php198
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MatchAll.php22
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php162
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/MultiMatch.php180
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Nested.php47
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Prefix.php48
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/QueryString.php267
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Range.php39
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Simple.php55
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php65
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Term.php49
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Terms.php103
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/TopChildren.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Query/Wildcard.php41
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Request.php200
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php36
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php90
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Response.php299
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Result.php216
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ResultSet.php383
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ScanAndScroll.php150
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Script.php148
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/ScriptFields.php63
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Search.php514
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/SearchableInterface.php52
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Snapshot.php155
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Status.php179
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest.php62
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php92
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php11
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php127
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php148
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Suggest/Term.php115
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php109
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Guzzle.php179
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Http.php188
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Https.php30
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Memcache.php82
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Null.php44
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Transport/Thrift.php173
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type.php537
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type/AbstractType.php200
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Type/Mapping.php280
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Util.php171
-rw-r--r--vendor/ruflin/elastica/phpdoc.dist.xml13
-rw-r--r--vendor/ruflin/elastica/test/benchmark/BulkMemoryUsageTest.php46
-rw-r--r--vendor/ruflin/elastica/test/benchmark/ClientTest.php31
-rw-r--r--vendor/ruflin/elastica/test/benchmark/TransportTest.php252
-rw-r--r--vendor/ruflin/elastica/test/benchmark/phpunit.benchmark.xml10
-rw-r--r--vendor/ruflin/elastica/test/benchmark/phpunit.xhprof.xml39
-rw-r--r--vendor/ruflin/elastica/test/bin/install_php_memcache.sh8
-rw-r--r--vendor/ruflin/elastica/test/bin/run_elasticsearch.sh56
-rw-r--r--vendor/ruflin/elastica/test/bin/run_proxy.sh15
-rw-r--r--vendor/ruflin/elastica/test/bin/show_logs.sh3
-rw-r--r--vendor/ruflin/elastica/test/bootstrap.php5
-rw-r--r--vendor/ruflin/elastica/test/data/test.docbin22016 -> 0 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.docxbin25890 -> 0 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.pdfbin16107 -> 0 bytes
-rw-r--r--vendor/ruflin/elastica/test/data/test.txt1
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/AvgTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/BaseAggregationTest.php28
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/CardinalityTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateHistogramTest.php43
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateRangeTest.php51
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ExtendedStatsTest.php43
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/FilterTest.php78
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeoDistanceTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeohashGridTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GlobalAggregationTest.php27
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/HistogramTest.php45
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/IpRangeTest.php56
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MaxTest.php72
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MinTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MissingTest.php37
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/NestedTest.php62
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/RangeTest.php41
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ReverseNestedTest.php124
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/StatsTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/SumTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/TermsTest.php39
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ValueCountTest.php38
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Base.php31
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ActionTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ResponseSetTest.php188
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/BulkTest.php711
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ClientTest.php1008
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/IndexTest.php113
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/ShardTest.php63
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/HealthTest.php113
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/SettingsTest.php110
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ClusterTest.php89
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ConnectionTest.php103
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/DocumentTest.php309
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ExampleTest.php58
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/NotImplementedTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/PartialShardFailureExceptionTest.php55
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/ResponseExceptionTest.php60
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/DateHistogramTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/FilterTest.php40
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/GeoClusterTest.php49
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/QueryTest.php40
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/StatisticalTest.php82
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsStatsTest.php105
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/AbstractTest.php69
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolAndTest.php65
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolNotTest.php25
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolOrTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolTest.php107
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php31
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceRangeTest.php218
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoPolygonTest.php65
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapePreIndexedTest.php90
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapeProvidedTest.php88
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeohashCellTest.php60
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php166
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasParentTest.php139
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IdsTest.php201
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IndicesTest.php93
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MatchAllTest.php18
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MultiTest.php95
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedFilterWithSetFilterTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NumericRangeTest.php32
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/PrefixTest.php149
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/QueryTest.php46
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RangeTest.php32
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RegexpTest.php137
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ScriptTest.php52
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermsTest.php54
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TypeTest.php27
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/SettingsTest.php300
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatsTest.php23
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatusTest.php66
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/IndexTest.php696
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/LogTest.php153
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Multi/SearchTest.php549
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Node/InfoTest.php42
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/NodeTest.php84
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ParamTest.php97
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/PercolatorTest.php224
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoolTest.php114
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoostingTest.php99
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BuilderTest.php270
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/ConstantScoreTest.php158
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/DisMaxTest.php83
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FilteredTest.php112
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FunctionScoreTest.php210
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyLikeThisTest.php228
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasChildTest.php107
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasParentTest.php50
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HighlightTest.php49
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/IdsTest.php165
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchAllTest.php44
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchTest.php187
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MoreLikeThisTest.php176
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php187
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/NestedTest.php28
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PostFilterTest.php83
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PrefixTest.php26
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/QueryStringTest.php126
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RangeTest.php73
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RescoreTest.php165
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleQueryStringTest.php73
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleTest.php17
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermTest.php26
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermsTest.php62
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Query/WildcardTest.php101
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/QueryTest.php194
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/RequestTest.php87
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResponseTest.php94
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResultSetTest.php93
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ResultTest.php121
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScanAndScrollTest.php115
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php95
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptTest.php129
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/SearchTest.php500
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/SnapshotTest.php112
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/StatusTest.php116
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/PhraseTest.php85
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/TermTest.php104
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/AbstractTransportTest.php77
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/GuzzleTest.php163
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/HttpTest.php227
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/MemcacheTest.php51
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/NullTest.php59
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/ThriftTest.php132
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Type/MappingTest.php304
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/TypeTest.php823
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/UtilTest.php77
-rw-r--r--vendor/ruflin/elastica/test/nginx/nginx.conf24
-rw-r--r--vendor/ruflin/elastica/test/phpunit.xml.dist32
-rw-r--r--vendor/zordius/lightncandy/build/gen_doc6
-rw-r--r--vendor/zordius/lightncandy/build/gen_test.php64
-rw-r--r--vendor/zordius/lightncandy/build/push_ghpage12
-rw-r--r--vendor/zordius/lightncandy/build/runphp2
-rw-r--r--vendor/zordius/lightncandy/build/travis_push60
531 files changed, 1005 insertions, 55255 deletions
diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25
index 6d32a445..08a6c157 100644
--- a/RELEASE-NOTES-1.25
+++ b/RELEASE-NOTES-1.25
@@ -1,6 +1,28 @@
Security reminder: If you have PHP's register_globals option set, you must
turn it off. MediaWiki will not work with it enabled.
+== MediaWiki 1.25.3 ==
+
+This is a security and maintenance release of the MediaWiki 1.25 branch.
+
+=== Changes since 1.25.2 ===
+
+* (T98975) Fix having multiple callbacks for a single hook.
+* (T107632) maintenance/refreshLinks.php did not always remove all links
+ pointing to nonexistent pages.
+* (T104142) $wgEmergencyContact and $wgPasswordSender now use their default
+ value if set to an empty string.
+* (T62174) Provide fallbacks for use of mb_convert_encoding() in
+ HtmlFormatter. It was causing an error when accessing the api help page
+ if the mbstring PHP extension was not installed.
+* (T105896) Confirmation emails would sometimes contain invalid codes.
+* (T105597) Fixed edit stash inclusion queries.
+* (T91850) SECURITY: Add throttle check in ApiUpload and SpecialUpload
+* (T91203, T91205) SECURITY: API: Improve validation in chunked uploading
+* (T95589) SECURITY: RevDel: Check all revisions for suppression, not just the
+ first
+* (T108616) SECURITY: Avoid exposure of local path in PNG thumbnails
+
== MediaWiki 1.25.2 ==
This is a security and maintenance release of the MediaWiki 1.25 branch.
diff --git a/composer.json b/composer.json
index a9cc4365..1b6ce8e6 100644
--- a/composer.json
+++ b/composer.json
@@ -31,7 +31,7 @@
"require-dev": {
"jakub-onderka/php-parallel-lint": "~0.8",
"justinrainbow/json-schema": "~1.3",
- "phpunit/phpunit": "~4.5",
+ "phpunit/phpunit": "3.7.37",
"mediawiki/mediawiki-codesniffer": "0.1.0"
},
"suggest": {
diff --git a/vendor/composer.lock b/composer.lock
index e238ed8a..f996c1ca 100644
--- a/vendor/composer.lock
+++ b/composer.lock
@@ -1,10 +1,10 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "99d794be1df1caf0b238fd68d2a37058",
+ "hash": "7773886a1b354296ed03b85d233488aa",
"packages": [
{
"name": "cssjanus/cssjanus",
@@ -132,78 +132,6 @@
"time": "2014-09-17 21:37:49"
},
{
- "name": "monolog/monolog",
- "version": "1.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
- "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "~2.4, >2.4.8",
- "doctrine/couchdb": "~1.0@dev",
- "graylog2/gelf-php": "~1.0",
- "phpunit/phpunit": "~4.0",
- "raven/raven": "~0.5",
- "ruflin/elastica": "0.90.*",
- "videlalvaro/php-amqplib": "~2.4"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "raven/raven": "Allow sending log messages to a Sentry server",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.12.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
- "time": "2014-12-29 21:29:35"
- },
- {
"name": "oojs/oojs-ui",
"version": "v0.11.3",
"source": {
@@ -278,65 +206,6 @@
"time": "2012-12-21 11:40:51"
},
{
- "name": "ruflin/elastica",
- "version": "v1.3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ruflin/Elastica.git",
- "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ruflin/Elastica/zipball/92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
- "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "munkie/elasticsearch-thrift-php": "1.4.*",
- "phpunit/phpunit": "4.1.*",
- "psr/log": "~1.0",
- "satooshi/php-coveralls": "dev-master"
- },
- "suggest": {
- "guzzlehttp/guzzle": "Allow using guzzle 4.x as the http transport (requires php 5.4)",
- "monolog/monolog": "Logging request",
- "munkie/elasticsearch-thrift-php": "Allow using thrift transport",
- "psr/log": "for logging"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Elastica": "lib/",
- "Elastica\\Test": "test/lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache 2.0"
- ],
- "authors": [
- {
- "name": "Nicolas Ruflin",
- "homepage": "http://ruflin.com/"
- }
- ],
- "description": "Elasticsearch Client",
- "homepage": "http://elastica.io/",
- "keywords": [
- "client",
- "search"
- ],
- "time": "2014-07-27 13:45:09"
- },
- {
"name": "wikimedia/cdb",
"version": "1.0.1",
"source": {
@@ -512,13 +381,14 @@
"time": "2015-01-01 04:37:19"
}
],
- "packages-dev": [],
+ "packages-dev": null,
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
- "prefer-stable": true,
+ "prefer-stable": false,
"prefer-lowest": false,
"platform": {
+ "ext-iconv": "*",
"php": ">=5.3.3"
},
"platform-dev": []
diff --git a/docs/extension.schema.json b/docs/extension.schema.json
index d5c17a17..610e9c0e 100644
--- a/docs/extension.schema.json
+++ b/docs/extension.schema.json
@@ -627,7 +627,31 @@
},
"config": {
"type": "object",
- "description": "Configuration options for this extension"
+ "description": "Configuration options for this extension",
+ "properties": {
+ "_prefix": {
+ "type": "string",
+ "default": "wg",
+ "description": "Prefix to put in front of configuration settings when exporting them to $GLOBALS"
+ }
+ },
+ "patternProperties": {
+ "^[a-zA-Z_\u007f-\u00ff][a-zA-Z0-9_\u007f-\u00ff]*$": {
+ "type": ["object", "array", "string", "integer", "null", "boolean"],
+ "properties": {
+ "_merge_strategy": {
+ "type": "string",
+ "enum": [
+ "array_merge_recursive",
+ "array_plus_2d",
+ "array_plus",
+ "array_merge"
+ ],
+ "default": "array_merge"
+ }
+ }
+ }
+ }
},
"ParserTestFiles": {
"type": "array",
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 75ed529e..c13aa5f4 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -75,7 +75,7 @@ $wgConfigRegistry = array(
* MediaWiki version number
* @since 1.2
*/
-$wgVersion = '1.25.2';
+$wgVersion = '1.25.3';
/**
* Name of the site. It must be changed in LocalSettings.php
@@ -703,6 +703,14 @@ $wgCopyUploadAsyncTimeout = false;
$wgMaxUploadSize = 1024 * 1024 * 100; # 100MB
/**
+ * Minimum upload chunk size, in bytes. When using chunked upload, non-final
+ * chunks smaller than this will be rejected. May be reduced based on the
+ * 'upload_max_filesize' or 'post_max_size' PHP settings.
+ * @since 1.26
+ */
+$wgMinUploadChunkSize = 1024; # 1KB
+
+/**
* Point the upload navigation link to an external URL
* Useful if you want to use a shared repository by default
* without disabling local uploads (use $wgEnableUploads = false for that).
@@ -3636,8 +3644,8 @@ $wgMetaNamespaceTalk = false;
* Additional namespaces. If the namespaces defined in Language.php and
* Namespace.php are insufficient, you can create new ones here, for example,
* to import Help files in other languages. You can also override the namespace
- * names of existing namespaces. Extensions developers should use
- * $wgCanonicalNamespaceNames.
+ * names of existing namespaces. Extensions should use the CanonicalNamespaces
+ * hook or extension.json.
*
* @warning Once you delete a namespace, the pages in that namespace will
* no longer be accessible. If you rename it, then you can access them through
@@ -5016,6 +5024,12 @@ $wgRateLimits = array(
'ip' => null, // for each anon and recent account
'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
),
+ 'upload' => array(
+ 'user' => null,
+ 'newbie' => null,
+ 'ip' => null,
+ 'subnet' => null,
+ ),
'move' => array(
'user' => null,
'newbie' => null,
diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php
index 45cd7ea5..ab3f019f 100644
--- a/includes/GlobalFunctions.php
+++ b/includes/GlobalFunctions.php
@@ -3860,12 +3860,13 @@ function wfMemoryLimit() {
* Converts shorthand byte notation to integer form
*
* @param string $string
+ * @param int $default Returned if $string is empty
* @return int
*/
-function wfShorthandToInteger( $string = '' ) {
+function wfShorthandToInteger( $string = '', $default = -1 ) {
$string = trim( $string );
if ( $string === '' ) {
- return -1;
+ return $default;
}
$last = $string[strlen( $string ) - 1];
$val = intval( $string );
diff --git a/includes/HtmlFormatter.php b/includes/HtmlFormatter.php
index b2926d17..221cefbb 100644
--- a/includes/HtmlFormatter.php
+++ b/includes/HtmlFormatter.php
@@ -63,7 +63,15 @@ class HtmlFormatter {
*/
public function getDoc() {
if ( !$this->doc ) {
- $html = mb_convert_encoding( $this->html, 'HTML-ENTITIES', 'UTF-8' );
+ // DOMDocument::loadHTML apparently isn't very good with encodings, so
+ // convert input to ASCII by encoding everything above 128 as entities.
+ if ( function_exists( 'mb_convert_encoding' ) ) {
+ $html = mb_convert_encoding( $this->html, 'HTML-ENTITIES', 'UTF-8' );
+ } else {
+ $html = preg_replace_callback( '/[\x{80}-\x{10ffff}]/u', function ( $m ) {
+ return '&#' . UtfNormal\Utils::utf8ToCodepoint( $m[0] ) . ';';
+ }, $this->html );
+ }
// Workaround for bug that caused spaces before references
// to disappear during processing:
@@ -244,7 +252,14 @@ class HtmlFormatter {
) );
}
$html = $replacements->replace( $html );
- $html = mb_convert_encoding( $html, 'UTF-8', 'HTML-ENTITIES' );
+
+ if ( function_exists( 'mb_convert_encoding' ) ) {
+ // Just in case the conversion in getDoc() above used named
+ // entities that aren't known to html_entity_decode().
+ $html = mb_convert_encoding( $html, 'UTF-8', 'HTML-ENTITIES' );
+ } else {
+ $html = html_entity_decode( $html, ENT_COMPAT, 'utf-8' );
+ }
return $html;
}
diff --git a/includes/HttpFunctions.php b/includes/HttpFunctions.php
index 8e05f597..fa54487a 100644
--- a/includes/HttpFunctions.php
+++ b/includes/HttpFunctions.php
@@ -25,6 +25,8 @@
* @defgroup HTTP HTTP
*/
+use MediaWiki\Logger\LoggerFactory;
+
/**
* Various HTTP related functions
* @ingroup HTTP
@@ -73,11 +75,14 @@ class Http {
$req = MWHttpRequest::factory( $url, $options, $caller );
$status = $req->execute();
- $content = false;
if ( $status->isOK() ) {
- $content = $req->getContent();
+ return $req->getContent();
+ } else {
+ $errors = $status->getErrorsByType( 'error' );
+ $logger = LoggerFactory::getInstance( 'http' );
+ $logger->warning( $status->getWikiText(), array( 'caller' => $caller ) );
+ return false;
}
- return $content;
}
/**
@@ -850,6 +855,8 @@ class CurlHttpRequest extends MWHttpRequest {
class PhpHttpRequest extends MWHttpRequest {
+ private $fopenErrors = array();
+
/**
* @param string $url
* @return string
@@ -860,6 +867,60 @@ class PhpHttpRequest extends MWHttpRequest {
return 'tcp://' . $parsedUrl['host'] . ':' . $parsedUrl['port'];
}
+ /**
+ * Returns an array with a 'capath' or 'cafile' key that is suitable to be merged into the 'ssl' sub-array of a
+ * stream context options array. Uses the 'caInfo' option of the class if it is provided, otherwise uses the system
+ * default CA bundle if PHP supports that, or searches a few standard locations.
+ * @return array
+ * @throws DomainException
+ */
+ protected function getCertOptions() {
+ $certOptions = array();
+ $certLocations = array();
+ if ( $this->caInfo ) {
+ $certLocations = array( 'manual' => $this->caInfo );
+ } elseif ( version_compare( PHP_VERSION, '5.6.0', '<' ) ) {
+ // Default locations, based on
+ // https://www.happyassassin.net/2015/01/12/a-note-about-ssltls-trusted-certificate-stores-and-platforms/
+ // PHP 5.5 and older doesn't have any defaults, so we try to guess ourselves. PHP 5.6+ gets the CA location
+ // from OpenSSL as long as it is not set manually, so we should leave capath/cafile empty there.
+ $certLocations = array_filter( array(
+ getenv( 'SSL_CERT_DIR' ),
+ getenv( 'SSL_CERT_PATH' ),
+ '/etc/pki/tls/certs/ca-bundle.crt', # Fedora et al
+ '/etc/ssl/certs', # Debian et al
+ '/etc/pki/tls/certs/ca-bundle.trust.crt',
+ '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem',
+ '/System/Library/OpenSSL', # OSX
+ ) );
+ }
+
+ foreach( $certLocations as $key => $cert ) {
+ if ( is_dir( $cert ) ) {
+ $certOptions['capath'] = $cert;
+ break;
+ } elseif ( is_file( $cert ) ) {
+ $certOptions['cafile'] = $cert;
+ break;
+ } elseif ( $key === 'manual' ) {
+ // fail more loudly if a cert path was manually configured and it is not valid
+ throw new DomainException( "Invalid CA info passed: $cert" );
+ }
+ }
+
+ return $certOptions;
+ }
+
+ /**
+ * Custom error handler for dealing with fopen() errors. fopen() tends to fire multiple errors in succession, and the last one
+ * is completely useless (something like "fopen: failed to open stream") so normal methods of handling errors programmatically
+ * like get_last_error() don't work.
+ */
+ public function errorHandler( $errno, $errstr ) {
+ $n = count( $this->fopenErrors ) + 1;
+ $this->fopenErrors += array( "errno$n" => $errno, "errstr$n" => $errstr );
+ }
+
public function execute() {
parent::execute();
@@ -912,16 +973,16 @@ class PhpHttpRequest extends MWHttpRequest {
}
if ( $this->sslVerifyHost ) {
- $options['ssl']['CN_match'] = $this->parsedUrl['host'];
+ // PHP 5.6.0 deprecates CN_match, in favour of peer_name which
+ // actually checks SubjectAltName properly.
+ if ( version_compare( PHP_VERSION, '5.6.0', '>=' ) ) {
+ $options['ssl']['peer_name'] = $this->parsedUrl['host'];
+ } else {
+ $options['ssl']['CN_match'] = $this->parsedUrl['host'];
+ }
}
- if ( is_dir( $this->caInfo ) ) {
- $options['ssl']['capath'] = $this->caInfo;
- } elseif ( is_file( $this->caInfo ) ) {
- $options['ssl']['cafile'] = $this->caInfo;
- } elseif ( $this->caInfo ) {
- throw new MWException( "Invalid CA info passed: {$this->caInfo}" );
- }
+ $options['ssl'] += $this->getCertOptions();
$context = stream_context_create( $options );
@@ -938,11 +999,25 @@ class PhpHttpRequest extends MWHttpRequest {
}
do {
$reqCount++;
- wfSuppressWarnings();
+ $this->fopenErrors = array();
+ set_error_handler( array( $this, 'errorHandler' ) );
$fh = fopen( $url, "r", false, $context );
- wfRestoreWarnings();
+ restore_error_handler();
if ( !$fh ) {
+ // HACK for instant commons.
+ // If we are contacting (commons|upload).wikimedia.org
+ // try again with CN_match for en.wikipedia.org
+ // as php does not handle SubjectAltName properly
+ // prior to "peer_name" option in php 5.6
+ if ( isset( $options['ssl']['CN_match'] )
+ && ( $options['ssl']['CN_match'] === 'commons.wikimedia.org'
+ || $options['ssl']['CN_match'] === 'upload.wikimedia.org' )
+ ) {
+ $options['ssl']['CN_match'] = 'en.wikipedia.org';
+ $context = stream_context_create( $options );
+ continue;
+ }
break;
}
@@ -973,6 +1048,10 @@ class PhpHttpRequest extends MWHttpRequest {
$this->setStatus();
if ( $fh === false ) {
+ if ( $this->fopenErrors ) {
+ LoggerFactory::getInstance( 'http' )->warning( __CLASS__
+ . ': error opening connection: {errstr1}', $this->fopenErrors );
+ }
$this->status->fatal( 'http-request-error' );
return $this->status;
}
diff --git a/includes/MWNamespace.php b/includes/MWNamespace.php
index bd685514..e370bf10 100644
--- a/includes/MWNamespace.php
+++ b/includes/MWNamespace.php
@@ -210,6 +210,8 @@ class MWNamespace {
if ( $namespaces === null || $rebuild ) {
global $wgExtraNamespaces, $wgCanonicalNamespaceNames;
$namespaces = array( NS_MAIN => '' ) + $wgCanonicalNamespaceNames;
+ // Add extension namespaces
+ $namespaces += ExtensionRegistry::getInstance()->getAttribute( 'ExtensionNamespaces' );
if ( is_array( $wgExtraNamespaces ) ) {
$namespaces += $wgExtraNamespaces;
}
diff --git a/includes/Setup.php b/includes/Setup.php
index b3bf0fca..1b6d66c0 100644
--- a/includes/Setup.php
+++ b/includes/Setup.php
@@ -368,6 +368,15 @@ if ( $wgResourceLoaderMaxQueryLength === false ) {
unset($suhosinMaxValueLength);
}
+// Ensure the minimum chunk size is less than PHP upload limits or the maximum
+// upload size.
+$wgMinUploadChunkSize = min(
+ $wgMinUploadChunkSize,
+ $wgMaxUploadSize,
+ wfShorthandToInteger( ini_get( 'upload_max_filesize' ), 1e100 ),
+ wfShorthandToInteger( ini_get( 'post_max_size' ), 1e100) - 1024 # Leave room for other parameters
+);
+
/**
* Definitions of the NS_ constants are in Defines.php
* @private
@@ -502,11 +511,11 @@ unset( $serverParts );
// Set defaults for configuration variables
// that are derived from the server name by default
-if ( $wgEmergencyContact === false ) {
+// Note: $wgEmergencyContact and $wgPasswordSender may be false or empty string (T104142)
+if ( !$wgEmergencyContact ) {
$wgEmergencyContact = 'wikiadmin@' . $wgServerName;
}
-
-if ( $wgPasswordSender === false ) {
+if ( !$wgPasswordSender ) {
$wgPasswordSender = 'apache@' . $wgServerName;
}
diff --git a/includes/User.php b/includes/User.php
index 8ea491ce..663a80b7 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -526,19 +526,24 @@ class User implements IDBAccessObject {
* If the code is invalid or has expired, returns NULL.
*
* @param string $code Confirmation code
+ * @param int $flags User::READ_* bitfield
* @return User|null
*/
- public static function newFromConfirmationCode( $code ) {
- $dbr = wfGetDB( DB_SLAVE );
- $id = $dbr->selectField( 'user', 'user_id', array(
- 'user_email_token' => md5( $code ),
- 'user_email_token_expires > ' . $dbr->addQuotes( $dbr->timestamp() ),
- ) );
- if ( $id !== false ) {
- return User::newFromId( $id );
- } else {
- return null;
- }
+ public static function newFromConfirmationCode( $code, $flags = 0 ) {
+ $db = ( $flags & self::READ_LATEST ) == self::READ_LATEST
+ ? wfGetDB( DB_MASTER )
+ : wfGetDB( DB_SLAVE );
+
+ $id = $db->selectField(
+ 'user',
+ 'user_id',
+ array(
+ 'user_email_token' => md5( $code ),
+ 'user_email_token_expires > ' . $db->addQuotes( $db->timestamp() ),
+ )
+ );
+
+ return $id ? User::newFromId( $id ) : null;
}
/**
diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php
index b81e993b..b7b10846 100644
--- a/includes/api/ApiQuerySiteinfo.php
+++ b/includes/api/ApiQuerySiteinfo.php
@@ -245,6 +245,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
$data['misermode'] = (bool)$config->get( 'MiserMode' );
$data['maxuploadsize'] = UploadBase::getMaxUploadSize();
+ $data['minuploadchunksize'] = (int)$this->getConfig()->get( 'MinUploadChunkSize' );
$data['thumblimits'] = $config->get( 'ThumbLimits' );
ApiResult::setArrayType( $data['thumblimits'], 'BCassoc' );
diff --git a/includes/api/ApiStashEdit.php b/includes/api/ApiStashEdit.php
index c4b717c7..d068e945 100644
--- a/includes/api/ApiStashEdit.php
+++ b/includes/api/ApiStashEdit.php
@@ -276,36 +276,55 @@ class ApiStashEdit extends ApiBase {
}
$dbr = wfGetDB( DB_SLAVE );
- // Check that no templates used in the output changed...
- $cWhr = array(); // conditions to find changes/creations
- $dWhr = array(); // conditions to find deletions
+
+ $templates = array(); // conditions to find changes/creations
+ $templateUses = 0; // expected existing templates
foreach ( $editInfo->output->getTemplateIds() as $ns => $stuff ) {
foreach ( $stuff as $dbkey => $revId ) {
- $cWhr[] = array( 'page_namespace' => $ns, 'page_title' => $dbkey,
- 'page_latest != ' . intval( $revId ) );
- $dWhr[] = array( 'page_namespace' => $ns, 'page_title' => $dbkey );
+ $templates[(string)$ns][$dbkey] = (int)$revId;
+ ++$templateUses;
}
}
- $change = $dbr->selectField( 'page', '1', $dbr->makeList( $cWhr, LIST_OR ), __METHOD__ );
- $n = $dbr->selectField( 'page', 'COUNT(*)', $dbr->makeList( $dWhr, LIST_OR ), __METHOD__ );
- if ( $change || $n != count( $dWhr ) ) {
- wfDebugLog( 'StashEdit', "Stale cache for key '$key'; template changed." );
- return false;
+ // Check that no templates used in the output changed...
+ if ( count( $templates ) ) {
+ $res = $dbr->select(
+ 'page',
+ array( 'ns' => 'page_namespace', 'dbk' => 'page_title', 'page_latest' ),
+ $dbr->makeWhereFrom2d( $templates, 'page_namespace', 'page_title' ),
+ __METHOD__
+ );
+ $changed = false;
+ foreach ( $res as $row ) {
+ $changed = $changed || ( $row->page_latest != $templates[$row->ns][$row->dbk] );
+ }
+
+ if ( $changed || $res->numRows() != $templateUses ) {
+ wfDebugLog( 'StashEdit', "Stale cache for key '$key'; template changed." );
+ return false;
+ }
}
- // Check that no files used in the output changed...
- $cWhr = array(); // conditions to find changes/creations
- $dWhr = array(); // conditions to find deletions
+ $files = array(); // conditions to find changes/creations
foreach ( $editInfo->output->getFileSearchOptions() as $name => $options ) {
- $cWhr[] = array( 'img_name' => $dbkey,
- 'img_sha1 != ' . $dbr->addQuotes( strval( $options['sha1'] ) ) );
- $dWhr[] = array( 'img_name' => $dbkey );
+ $files[$name] = (string)$options['sha1'];
}
- $change = $dbr->selectField( 'image', '1', $dbr->makeList( $cWhr, LIST_OR ), __METHOD__ );
- $n = $dbr->selectField( 'image', 'COUNT(*)', $dbr->makeList( $dWhr, LIST_OR ), __METHOD__ );
- if ( $change || $n != count( $dWhr ) ) {
- wfDebugLog( 'StashEdit', "Stale cache for key '$key'; file changed." );
- return false;
+ // Check that no files used in the output changed...
+ if ( count( $files ) ) {
+ $res = $dbr->select(
+ 'image',
+ array( 'name' => 'img_name', 'img_sha1' ),
+ array( 'img_name' => array_keys( $files ) ),
+ __METHOD__
+ );
+ $changed = false;
+ foreach ( $res as $row ) {
+ $changed = $changed || ( $row->img_sha1 != $files[$row->name] );
+ }
+
+ if ( $changed || $res->numRows() != count( $files ) ) {
+ wfDebugLog( 'StashEdit', "Stale cache for key '$key'; file changed." );
+ return false;
+ }
}
wfDebugLog( 'StashEdit', "Cache hit for key '$key'." );
diff --git a/includes/api/ApiUpload.php b/includes/api/ApiUpload.php
index 74ae05a8..7661625c 100644
--- a/includes/api/ApiUpload.php
+++ b/includes/api/ApiUpload.php
@@ -81,7 +81,7 @@ class ApiUpload extends ApiBase {
// Check if the uploaded file is sane
if ( $this->mParams['chunk'] ) {
- $maxSize = $this->mUpload->getMaxUploadSize();
+ $maxSize = UploadBase::getMaxUploadSize();
if ( $this->mParams['filesize'] > $maxSize ) {
$this->dieUsage( 'The file you submitted was too large', 'file-too-large' );
}
@@ -138,6 +138,12 @@ class ApiUpload extends ApiBase {
return $this->getStashResult( $warnings );
}
+ // Check throttle after we've handled warnings
+ if ( UploadBase::isThrottled( $this->getUser() )
+ ) {
+ $this->dieUsageMsg( 'actionthrottledtext' );
+ }
+
// This is the most common case -- a normal upload with no warnings
// performUpload will return a formatted properly for the API with status
return $this->performUpload( $warnings );
@@ -197,13 +203,30 @@ class ApiUpload extends ApiBase {
private function getChunkResult( $warnings ) {
$result = array();
- $result['result'] = 'Continue';
if ( $warnings && count( $warnings ) > 0 ) {
$result['warnings'] = $warnings;
}
+
$request = $this->getMain()->getRequest();
$chunkPath = $request->getFileTempname( 'chunk' );
$chunkSize = $request->getUpload( 'chunk' )->getSize();
+ $totalSoFar = $this->mParams['offset'] + $chunkSize;
+ $minChunkSize = $this->getConfig()->get( 'MinUploadChunkSize' );
+
+ // Sanity check sizing
+ if ( $totalSoFar > $this->mParams['filesize'] ) {
+ $this->dieUsage(
+ 'Offset plus current chunk is greater than claimed file size', 'invalid-chunk'
+ );
+ }
+
+ // Enforce minimum chunk size
+ if ( $totalSoFar != $this->mParams['filesize'] && $chunkSize < $minChunkSize ) {
+ $this->dieUsage(
+ "Minimum chunk size is $minChunkSize bytes for non-final chunks", 'chunk-too-small'
+ );
+ }
+
if ( $this->mParams['offset'] == 0 ) {
try {
$filekey = $this->performStash();
@@ -215,6 +238,18 @@ class ApiUpload extends ApiBase {
}
} else {
$filekey = $this->mParams['filekey'];
+
+ // Don't allow further uploads to an already-completed session
+ $progress = UploadBase::getSessionStatus( $this->getUser(), $filekey );
+ if ( !$progress ) {
+ // Probably can't get here, but check anyway just in case
+ $this->dieUsage( 'No chunked upload session with this key', 'stashfailed' );
+ } elseif ( $progress['result'] !== 'Continue' || $progress['stage'] !== 'uploading' ) {
+ $this->dieUsage(
+ 'Chunked upload is already completed, check status for details', 'stashfailed'
+ );
+ }
+
$status = $this->mUpload->addChunk(
$chunkPath, $chunkSize, $this->mParams['offset'] );
if ( !$status->isGood() ) {
@@ -223,18 +258,12 @@ class ApiUpload extends ApiBase {
);
$this->dieUsage( $status->getWikiText(), 'stashfailed', 0, $extradata );
-
- return array();
}
}
// Check we added the last chunk:
- if ( $this->mParams['offset'] + $chunkSize == $this->mParams['filesize'] ) {
+ if ( $totalSoFar == $this->mParams['filesize'] ) {
if ( $this->mParams['async'] ) {
- $progress = UploadBase::getSessionStatus( $this->getUser(), $filekey );
- if ( $progress && $progress['result'] === 'Poll' ) {
- $this->dieUsage( "Chunk assembly already in progress.", 'stashfailed' );
- }
UploadBase::setSessionStatus(
$this->getUser(),
$filekey,
@@ -254,21 +283,37 @@ class ApiUpload extends ApiBase {
} else {
$status = $this->mUpload->concatenateChunks();
if ( !$status->isGood() ) {
+ UploadBase::setSessionStatus(
+ $this->getUser(),
+ $filekey,
+ array( 'result' => 'Failure', 'stage' => 'assembling', 'status' => $status )
+ );
$this->dieUsage( $status->getWikiText(), 'stashfailed' );
-
- return array();
}
// The fully concatenated file has a new filekey. So remove
// the old filekey and fetch the new one.
+ UploadBase::setSessionStatus( $this->getUser(), $filekey, false );
$this->mUpload->stash->removeFile( $filekey );
$filekey = $this->mUpload->getLocalFile()->getFileKey();
$result['result'] = 'Success';
}
+ } else {
+ UploadBase::setSessionStatus(
+ $this->getUser(),
+ $filekey,
+ array(
+ 'result' => 'Continue',
+ 'stage' => 'uploading',
+ 'offset' => $totalSoFar,
+ 'status' => Status::newGood(),
+ )
+ );
+ $result['result'] = 'Continue';
+ $result['offset'] = $totalSoFar;
}
$result['filekey'] = $filekey;
- $result['offset'] = $this->mParams['offset'] + $chunkSize;
return $result;
}
@@ -378,6 +423,10 @@ class ApiUpload extends ApiBase {
// Chunk upload
$this->mUpload = new UploadFromChunks();
if ( isset( $this->mParams['filekey'] ) ) {
+ if ( $this->mParams['offset'] === 0 ) {
+ $this->dieUsage( 'Cannot supply a filekey when offset is 0', 'badparams' );
+ }
+
// handle new chunk
$this->mUpload->continueChunks(
$this->mParams['filename'],
@@ -385,6 +434,10 @@ class ApiUpload extends ApiBase {
$request->getUpload( 'chunk' )
);
} else {
+ if ( $this->mParams['offset'] !== 0 ) {
+ $this->dieUsage( 'Must supply a filekey when offset is non-zero', 'badparams' );
+ }
+
// handle first chunk
$this->mUpload->initialize(
$this->mParams['filename'],
@@ -760,8 +813,15 @@ class ApiUpload extends ApiBase {
),
'stash' => false,
- 'filesize' => null,
- 'offset' => null,
+ 'filesize' => array(
+ ApiBase::PARAM_TYPE => 'integer',
+ ApiBase::PARAM_MIN => 0,
+ ApiBase::PARAM_MAX => UploadBase::getMaxUploadSize(),
+ ),
+ 'offset' => array(
+ ApiBase::PARAM_TYPE => 'integer',
+ ApiBase::PARAM_MIN => 0,
+ ),
'chunk' => array(
ApiBase::PARAM_TYPE => 'upload',
),
diff --git a/includes/filerepo/FileRepo.php b/includes/filerepo/FileRepo.php
index 5b42c2c6..cef1176d 100644
--- a/includes/filerepo/FileRepo.php
+++ b/includes/filerepo/FileRepo.php
@@ -431,7 +431,9 @@ class FileRepo {
# Now try an old version of the file
if ( $time !== false ) {
$img = $this->newFile( $title, $time );
- $img->load( $flags );
+ if ( $img ) {
+ $img->load( $flags );
+ }
if ( $img && $img->exists() ) {
if ( !$img->isDeleted( File::DELETED_FILE ) ) {
return $img; // always OK
@@ -452,10 +454,10 @@ class FileRepo {
$redir = $this->checkRedirect( $title );
if ( $redir && $title->getNamespace() == NS_FILE ) {
$img = $this->newFile( $redir );
- $img->load( $flags );
if ( !$img ) {
return false;
}
+ $img->load( $flags );
if ( $img->exists() ) {
$img->redirectedFrom( $title->getDBkey() );
diff --git a/includes/filerepo/ForeignAPIRepo.php b/includes/filerepo/ForeignAPIRepo.php
index 3c031921..71d2b919 100644
--- a/includes/filerepo/ForeignAPIRepo.php
+++ b/includes/filerepo/ForeignAPIRepo.php
@@ -21,6 +21,8 @@
* @ingroup FileRepo
*/
+use MediaWiki\Logger\LoggerFactory;
+
/**
* A foreign repository with a remote MediaWiki with an API thingy
*
@@ -521,7 +523,8 @@ class ForeignAPIRepo extends FileRepo {
if ( $status->isOK() ) {
return $req->getContent();
} else {
- wfDebug( "ForeignAPIRepo: ERROR on GET: " . $status->getWikiText() );
+ $logger = LoggerFactory::getInstance( 'http' );
+ $logger->warning( $status->getWikiText(), array( 'caller' => 'ForeignAPIRepo::httpGet' ) );
return false;
}
}
diff --git a/includes/media/Bitmap.php b/includes/media/Bitmap.php
index eadcf94b..3b1d978e 100644
--- a/includes/media/Bitmap.php
+++ b/includes/media/Bitmap.php
@@ -162,6 +162,8 @@ class BitmapHandler extends TransformationalImageHandler {
( $params['comment'] !== ''
? array( '-set', 'comment', $this->escapeMagickProperty( $params['comment'] ) )
: array() ),
+ // T108616: Avoid exposure of local file path
+ array( '+set', 'Thumb::URI'),
array( '-depth', 8 ),
$sharpen,
array( '-rotate', "-$rotation" ),
diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php
index bb8fb329..0b594b42 100644
--- a/includes/registration/ExtensionProcessor.php
+++ b/includes/registration/ExtensionProcessor.php
@@ -47,6 +47,24 @@ class ExtensionProcessor implements Processor {
);
/**
+ * Mapping of global settings to their specific merge strategies.
+ *
+ * @see ExtensionRegistry::exportExtractedData
+ * @see getExtractedInfo
+ * @var array
+ */
+ protected static $mergeStrategies = array(
+ 'wgGroupPermissions' => 'array_plus_2d',
+ 'wgRevokePermissions' => 'array_plus_2d',
+ 'wgHooks' => 'array_merge_recursive',
+ // credits are handled in the ExtensionRegistry
+ //'wgExtensionCredits' => 'array_merge_recursive',
+ 'wgExtraGenderNamespaces' => 'array_plus',
+ 'wgNamespacesWithSubpages' => 'array_plus',
+ 'wgNamespaceContentModels' => 'array_plus',
+ );
+
+ /**
* Keys that are part of the extension credits
*
* @var array
@@ -155,6 +173,13 @@ class ExtensionProcessor implements Processor {
}
public function getExtractedInfo() {
+ // Make sure the merge strategies are set
+ foreach ( $this->globals as $key => $val ) {
+ if ( isset( self::$mergeStrategies[$key] ) ) {
+ $this->globals[$key][ExtensionRegistry::MERGE_STRATEGY] = self::$mergeStrategies[$key];
+ }
+ }
+
return array(
'globals' => $this->globals,
'defines' => $this->defines,
@@ -166,8 +191,10 @@ class ExtensionProcessor implements Processor {
protected function extractHooks( array $info ) {
if ( isset( $info['Hooks'] ) ) {
- foreach ( $info['Hooks'] as $name => $callable ) {
- $this->globals['wgHooks'][$name][] = $callable;
+ foreach ( $info['Hooks'] as $name => $value ) {
+ foreach ( (array)$value as $callback ) {
+ $this->globals['wgHooks'][$name][] = $callback;
+ }
}
}
}
@@ -182,7 +209,7 @@ class ExtensionProcessor implements Processor {
foreach ( $info['namespaces'] as $ns ) {
$id = $ns['id'];
$this->defines[$ns['constant']] = $id;
- $this->globals['wgExtraNamespaces'][$id] = $ns['name'];
+ $this->attributes['ExtensionNamespaces'][$id] = $ns['name'];
if ( isset( $ns['gender'] ) ) {
$this->globals['wgExtraGenderNamespaces'][$id] = $ns['gender'];
}
@@ -269,9 +296,15 @@ class ExtensionProcessor implements Processor {
*/
protected function extractConfig( array $info ) {
if ( isset( $info['config'] ) ) {
+ if ( isset( $info['config']['_prefix'] ) ) {
+ $prefix = $info['config']['_prefix'];
+ unset( $info['config']['_prefix'] );
+ } else {
+ $prefix = 'wg';
+ }
foreach ( $info['config'] as $key => $val ) {
if ( $key[0] !== '@' ) {
- $this->globals["wg$key"] = $val;
+ $this->globals["$prefix$key"] = $val;
}
}
}
diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php
index 4e690aa8..16d83356 100644
--- a/includes/registration/ExtensionRegistry.php
+++ b/includes/registration/ExtensionRegistry.php
@@ -12,6 +12,28 @@
class ExtensionRegistry {
/**
+ * Version of the highest supported manifest version
+ */
+ const MANIFEST_VERSION = 1;
+
+ /**
+ * Version of the oldest supported manifest version
+ */
+ const OLDEST_MANIFEST_VERSION = 1;
+
+ /**
+ * Bump whenever the registration cache needs resetting
+ */
+ const CACHE_VERSION = 1;
+
+ /**
+ * Special key that defines the merge strategy
+ *
+ * @since 1.26
+ */
+ const MERGE_STRATEGY = '_merge_strategy';
+
+ /**
* @var BagOStuff
*/
protected $cache;
@@ -92,7 +114,7 @@ class ExtensionRegistry {
}
// See if this queue is in APC
- $key = wfMemcKey( 'registration', md5( json_encode( $this->queued ) ) );
+ $key = wfMemcKey( 'registration', md5( json_encode( $this->queued ) ), self::CACHE_VERSION );
$data = $this->cache->get( $key );
if ( $data ) {
$this->exportExtractedData( $data );
@@ -155,31 +177,61 @@ class ExtensionRegistry {
foreach ( $data['credits'] as $credit ) {
$data['globals']['wgExtensionCredits'][$credit['type']][] = $credit;
}
+ $data['globals']['wgExtensionCredits'][self::MERGE_STRATEGY] = 'array_merge_recursive';
$data['autoload'] = $autoloadClasses;
return $data;
}
protected function exportExtractedData( array $info ) {
foreach ( $info['globals'] as $key => $val ) {
+ // If a merge strategy is set, read it and remove it from the value
+ // so it doesn't accidentally end up getting set.
+ // Need to check $val is an array for PHP 5.3 which will return
+ // true on isset( 'string'['foo'] ).
+ if ( isset( $val[self::MERGE_STRATEGY] ) && is_array( $val ) ) {
+ $mergeStrategy = $val[self::MERGE_STRATEGY];
+ unset( $val[self::MERGE_STRATEGY] );
+ } else {
+ $mergeStrategy = 'array_merge';
+ }
+
+ // Optimistic: If the global is not set, or is an empty array, replace it entirely.
+ // Will be O(1) performance.
if ( !isset( $GLOBALS[$key] ) || ( is_array( $GLOBALS[$key] ) && !$GLOBALS[$key] ) ) {
$GLOBALS[$key] = $val;
- } elseif ( $key === 'wgHooks' || $key === 'wgExtensionCredits' ) {
- // Special case $wgHooks and $wgExtensionCredits, which require a recursive merge.
- // Ideally it would have been taken care of in the first if block though.
- $GLOBALS[$key] = array_merge_recursive( $GLOBALS[$key], $val );
- } elseif ( $key === 'wgGroupPermissions' ) {
- // First merge individual groups
- foreach ( $GLOBALS[$key] as $name => &$groupVal ) {
- if ( isset( $val[$name] ) ) {
- $groupVal += $val[$name];
+ continue;
+ }
+
+ if ( !is_array( $GLOBALS[$key] ) || !is_array( $val ) ) {
+ // config setting that has already been overridden, don't set it
+ continue;
+ }
+
+ switch ( $mergeStrategy ) {
+ case 'array_merge_recursive':
+ $GLOBALS[$key] = array_merge_recursive( $GLOBALS[$key], $val );
+ break;
+ case 'array_plus_2d':
+ // First merge items that are in both arrays
+ foreach ( $GLOBALS[$key] as $name => &$groupVal ) {
+ if ( isset( $val[$name] ) ) {
+ $groupVal += $val[$name];
+ }
}
- }
- // Now merge groups that didn't exist yet
- $GLOBALS[$key] += $val;
- } elseif ( is_array( $GLOBALS[$key] ) && is_array( $val ) ) {
- $GLOBALS[$key] = array_merge( $val, $GLOBALS[$key] );
- } // else case is a config setting where it has already been overriden, so don't set it
+ // Now add items that didn't exist yet
+ $GLOBALS[$key] += $val;
+ break;
+ case 'array_plus':
+ $GLOBALS[$key] += $val;
+ break;
+ case 'array_merge':
+ $GLOBALS[$key] = array_merge( $val, $GLOBALS[$key] );
+ break;
+ default:
+ throw new UnexpectedValueException( "Unknown merge strategy '$mergeStrategy'" );
+ }
}
+
foreach ( $info['defines'] as $name => $val ) {
define( $name, $val );
}
diff --git a/includes/revisiondelete/RevDelList.php b/includes/revisiondelete/RevDelList.php
index 840fd772..c31c42b3 100644
--- a/includes/revisiondelete/RevDelList.php
+++ b/includes/revisiondelete/RevDelList.php
@@ -74,6 +74,25 @@ abstract class RevDelList extends RevisionListBase {
}
/**
+ * Indicate whether any item in this list is suppressed
+ * @since 1.25
+ * @return bool
+ */
+ public function areAnySuppressed() {
+ $bit = $this->getSuppressBit();
+
+ // @codingStandardsIgnoreStart Generic.CodeAnalysis.ForLoopWithTestFunctionCall.NotAllowed
+ for ( $this->reset(); $this->current(); $this->next() ) {
+ // @codingStandardsIgnoreEnd
+ $item = $this->current();
+ if ( $item->getBits() & $bit ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* Set the visibility for the revisions in this list. Logging and
* transactions are done here.
*
diff --git a/includes/specials/SpecialConfirmemail.php b/includes/specials/SpecialConfirmemail.php
index b6ab112b..63561552 100644
--- a/includes/specials/SpecialConfirmemail.php
+++ b/includes/specials/SpecialConfirmemail.php
@@ -120,7 +120,7 @@ class EmailConfirmation extends UnlistedSpecialPage {
* @param string $code Confirmation code
*/
function attemptConfirm( $code ) {
- $user = User::newFromConfirmationCode( $code );
+ $user = User::newFromConfirmationCode( $code, User::READ_LATEST );
if ( !is_object( $user ) ) {
$this->getOutput()->addWikiMsg( 'confirmemail_invalid' );
@@ -164,7 +164,7 @@ class EmailInvalidation extends UnlistedSpecialPage {
* @param string $code Confirmation code
*/
function attemptInvalidate( $code ) {
- $user = User::newFromConfirmationCode( $code );
+ $user = User::newFromConfirmationCode( $code, User::READ_LATEST );
if ( !is_object( $user ) ) {
$this->getOutput()->addWikiMsg( 'confirmemail_invalid' );
diff --git a/includes/specials/SpecialRevisiondelete.php b/includes/specials/SpecialRevisiondelete.php
index 9e2ca277..3b5ef9d4 100644
--- a/includes/specials/SpecialRevisiondelete.php
+++ b/includes/specials/SpecialRevisiondelete.php
@@ -161,11 +161,10 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
$this->typeLabels = self::$UILabels[$this->typeName];
$list = $this->getList();
$list->reset();
- $bitfield = $list->current()->getBits();
$this->mIsAllowed = $user->isAllowed( RevisionDeleter::getRestriction( $this->typeName ) );
$canViewSuppressedOnly = $this->getUser()->isAllowed( 'viewsuppressed' ) &&
!$this->getUser()->isAllowed( 'suppressrevision' );
- $pageIsSuppressed = $bitfield & Revision::DELETED_RESTRICTED;
+ $pageIsSuppressed = $list->areAnySuppressed();
$this->mIsAllowed = $this->mIsAllowed && !( $canViewSuppressedOnly && $pageIsSuppressed );
$this->otherReason = $request->getVal( 'wpReason' );
diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php
index 640562e4..2e0699af 100644
--- a/includes/specials/SpecialUpload.php
+++ b/includes/specials/SpecialUpload.php
@@ -460,6 +460,14 @@ class SpecialUpload extends SpecialPage {
}
}
+ // This is as late as we can throttle, after expected issues have been handled
+ if ( UploadBase::isThrottled( $this->getUser() ) ) {
+ $this->showRecoverableUploadError(
+ $this->msg( 'actionthrottledtext' )->escaped()
+ );
+ return;
+ }
+
// Get the page text if this is not a reupload
if ( !$this->mForReUpload ) {
$pageText = self::getInitialPageText( $this->mComment, $this->mLicense,
diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php
index 6da8250b..9e113749 100644
--- a/includes/upload/UploadBase.php
+++ b/includes/upload/UploadBase.php
@@ -128,6 +128,16 @@ abstract class UploadBase {
return true;
}
+ /**
+ * Returns true if the user has surpassed the upload rate limit, false otherwise.
+ *
+ * @param User $user
+ * @return bool
+ */
+ public static function isThrottled( $user ) {
+ return $user->pingLimiter( 'upload' );
+ }
+
// Upload handlers. Should probably just be a global.
private static $uploadHandlers = array( 'Stash', 'File', 'Url' );
diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php
index e1b6ac68..a2484aa3 100644
--- a/maintenance/refreshLinks.php
+++ b/maintenance/refreshLinks.php
@@ -327,13 +327,14 @@ class RefreshLinks extends Maintenance {
foreach ( $linksTables as $table => $field ) {
$this->output( " $table: 0" );
+ $tableStart = $start;
$counter = 0;
do {
$ids = $dbr->selectFieldValues(
$table,
$field,
array(
- self::intervalCond( $dbr, $field, $start, $end ),
+ self::intervalCond( $dbr, $field, $tableStart, $end ),
"$field NOT IN ({$dbr->selectSQLText( 'page', 'page_id' )})",
),
__METHOD__,
@@ -346,10 +347,10 @@ class RefreshLinks extends Maintenance {
wfWaitForSlaves();
$dbw->delete( $table, array( $field => $ids ), __METHOD__ );
$this->output( ", $counter" );
- $start = $ids[$numIds - 1] + 1;
+ $tableStart = $ids[$numIds - 1] + 1;
}
- } while ( $numIds >= $batchSize && ( $end === null || $start <= $end ) );
+ } while ( $numIds >= $batchSize && ( $end === null || $tableStart <= $end ) );
$this->output( " deleted.\n" );
diff --git a/tests/phpunit/includes/registration/ExtensionProcessorTest.php b/tests/phpunit/includes/registration/ExtensionProcessorTest.php
index 8715711f..ff6be6c2 100644
--- a/tests/phpunit/includes/registration/ExtensionProcessorTest.php
+++ b/tests/phpunit/includes/registration/ExtensionProcessorTest.php
@@ -38,24 +38,29 @@ class ExtensionProcessorTest extends MediaWikiTestCase {
}
public static function provideRegisterHooks() {
+ $merge = array( ExtensionRegistry::MERGE_STRATEGY => 'array_merge_recursive' );
+ // Format:
+ // Current $wgHooks
+ // Content in extension.json
+ // Expected value of $wgHooks
return array(
// No hooks
array(
array(),
self::$default,
- array(),
+ $merge,
),
// No current hooks, adding one for "FooBaz"
array(
array(),
array( 'Hooks' => array( 'FooBaz' => 'FooBazCallback' ) ) + self::$default,
- array( 'FooBaz' => array( 'FooBazCallback' ) ),
+ array( 'FooBaz' => array( 'FooBazCallback' ) ) + $merge,
),
// Hook for "FooBaz", adding another one
array(
array( 'FooBaz' => array( 'PriorCallback' ) ),
array( 'Hooks' => array( 'FooBaz' => 'FooBazCallback' ) ) + self::$default,
- array( 'FooBaz' => array( 'PriorCallback', 'FooBazCallback' ) ),
+ array( 'FooBaz' => array( 'PriorCallback', 'FooBazCallback' ) ) + $merge,
),
// Hook for "BarBaz", adding one for "FooBaz"
array(
@@ -64,7 +69,23 @@ class ExtensionProcessorTest extends MediaWikiTestCase {
array(
'BarBaz' => array( 'BarBazCallback' ),
'FooBaz' => array( 'FooBazCallback' ),
- ),
+ ) + $merge,
+ ),
+ // Callbacks for FooBaz wrapped in an array
+ array(
+ array(),
+ array( 'Hooks' => array( 'FooBaz' => array( 'Callback1' ) ) ) + self::$default,
+ array(
+ 'FooBaz' => array( 'Callback1' ),
+ ) + $merge,
+ ),
+ // Multiple callbacks for FooBaz hook
+ array(
+ array(),
+ array( 'Hooks' => array( 'FooBaz' => array( 'Callback1', 'Callback2' ) ) ) + self::$default,
+ array(
+ 'FooBaz' => array( 'Callback1', 'Callback2' ),
+ ) + $merge,
),
);
}
@@ -92,11 +113,20 @@ class ExtensionProcessorTest extends MediaWikiTestCase {
'@IGNORED' => 'yes',
),
) + self::$default;
+ $info2 = array(
+ 'config' => array(
+ '_prefix' => 'eg',
+ 'Bar' => 'somevalue'
+ ),
+ ) + self::$default;
$processor->extractInfo( $this->dir, $info );
+ $processor->extractInfo( $this->dir, $info2 );
$extracted = $processor->getExtractedInfo();
$this->assertEquals( 'somevalue', $extracted['globals']['wgBar'] );
$this->assertEquals( 10, $extracted['globals']['wgFoo'] );
$this->assertArrayNotHasKey( 'wg@IGNORED', $extracted['globals'] );
+ // Custom prefix:
+ $this->assertEquals( 'somevalue', $extracted['globals']['egBar'] );
}
public static function provideExtracttExtensionMessagesFiles() {
diff --git a/tests/phpunit/includes/registration/ExtensionRegistryTest.php b/tests/phpunit/includes/registration/ExtensionRegistryTest.php
index d7d4f198..c3a0c8d4 100644
--- a/tests/phpunit/includes/registration/ExtensionRegistryTest.php
+++ b/tests/phpunit/includes/registration/ExtensionRegistryTest.php
@@ -102,6 +102,50 @@ class ExtensionRegistryTest extends MediaWikiTestCase {
)
),
array(
+ 'Global already set, 1d array that appends',
+ array(
+ 'mwAvailableRights' => array(
+ 'foobar',
+ 'foo'
+ ),
+ ),
+ array(
+ 'mwAvailableRights' => array(
+ 'barbaz',
+ ),
+ ),
+ array(
+ 'mwAvailableRights' => array(
+ 'barbaz',
+ 'foobar',
+ 'foo',
+ ),
+ )
+ ),
+ array(
+ 'Global already set, array with integer keys',
+ array(
+ 'mwNamespacesFoo' => array(
+ 100 => true,
+ 102 => false
+ ),
+ ),
+ array(
+ 'mwNamespacesFoo' => array(
+ 100 => false,
+ 500 => true,
+ ExtensionRegistry::MERGE_STRATEGY => 'array_plus',
+ ),
+ ),
+ array(
+ 'mwNamespacesFoo' => array(
+ 100 => true,
+ 102 => false,
+ 500 => true,
+ ),
+ )
+ ),
+ array(
'No global already set, $wgHooks',
array(
'wgHooks' => array(),
@@ -111,6 +155,7 @@ class ExtensionRegistryTest extends MediaWikiTestCase {
'FooBarEvent' => array(
'FooBarClass::onFooBarEvent'
),
+ ExtensionRegistry::MERGE_STRATEGY => 'array_merge_recursive'
),
),
array(
@@ -138,6 +183,7 @@ class ExtensionRegistryTest extends MediaWikiTestCase {
'FooBarEvent' => array(
'BazBarClass::onFooBarEvent',
),
+ ExtensionRegistry::MERGE_STRATEGY => 'array_merge_recursive',
),
),
array(
@@ -172,7 +218,8 @@ class ExtensionRegistryTest extends MediaWikiTestCase {
'user' => array(
'right' => true,
'somethingtwo' => false,
- )
+ ),
+ ExtensionRegistry::MERGE_STRATEGY => 'array_plus_2d',
),
),
array(
diff --git a/vendor/README.md b/vendor/README.md
deleted file mode 100644
index 247d4df5..00000000
--- a/vendor/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-MediaWiki-Core-Vendor
-=====================
-
-[Composer] managed libraries required or recommended for use with [MediaWiki].
-This repository is maintained for use on the Wikimedia Foundation production
-and testing clusters, but may be useful for anyone wishing to avoid directly
-managing MediaWiki dependencies with Composer.
-
-
-Usage
------
-
-Checkout this library into $IP/vendor using `git clone <URL>` or add the
-repository as a git submodule using `git submodule add <URL> vendor` followed
-by `git submodule update --init`.
-
-
-Adding or updating libraries
-----------------------------
-
-1. Edit the composer.json file
-2. Run `composer update` to download files and update the autoloader files.
-3. Add and commit changes as a gerrit patch.
-4. Review and merge changes.
-
-
-[Composer]: https://getcomposer.org/
-[MediaWiki]: https://www.mediawiki.org/wiki/MediaWiki
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 9bcfa9fe..eea313e2 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
-return ComposerAutoloaderInit_mediawiki_vendor::getLoader();
+return ComposerAutoloaderInite2ef576e4023c6f0949f5e8e1cdf8649::getLoader();
diff --git a/vendor/composer.json b/vendor/composer.json
deleted file mode 100644
index 0cee8f3c..00000000
--- a/vendor/composer.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "require": {
- "cssjanus/cssjanus": "1.1.1",
- "leafo/lessphp": "0.5.0",
- "liuggio/statsd-php-client": "1.0.12",
- "php": ">=5.3.3",
- "psr/log": "1.0.0",
- "monolog/monolog": "1.12.0",
- "ruflin/elastica": "1.3.0.0",
- "oojs/oojs-ui": "0.11.3",
- "wikimedia/cdb": "1.0.1",
- "wikimedia/composer-merge-plugin": "1.0.0",
- "wikimedia/utfnormal": "1.0.2",
- "zordius/lightncandy": "0.18"
- },
- "prefer-stable": true,
- "config": {
- "autoloader-suffix": "_mediawiki_vendor",
- "classmap-authoritative": true,
- "preferred-install": "dist",
- "vendor-dir": ".",
- "prepend-autoloader": false,
- "optimize-autoloader": true
- }
-}
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index 4e05d3b1..5e1469e8 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -351,7 +351,7 @@ class ClassLoader
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
if (0 === strpos($class, $prefix)) {
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
return $file;
}
}
@@ -361,7 +361,7 @@ class ClassLoader
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
@@ -380,7 +380,7 @@ class ClassLoader
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
@@ -390,7 +390,7 @@ class ClassLoader
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 7455d6e6..79053ea1 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -3,7 +3,7 @@
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
-$baseDir = $vendorDir;
+$baseDir = dirname($vendorDir);
return array(
'CSSJanus' => $vendorDir . '/cssjanus/cssjanus/src/CSSJanus.php',
@@ -16,183 +16,7 @@ return array(
'Cdb\\Writer' => $vendorDir . '/wikimedia/cdb/src/Writer.php',
'Cdb\\Writer\\DBA' => $vendorDir . '/wikimedia/cdb/src/Writer/DBA.php',
'Cdb\\Writer\\PHP' => $vendorDir . '/wikimedia/cdb/src/Writer/PHP.php',
- 'Elastica\\AbstractUpdateAction' => $vendorDir . '/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php',
- 'Elastica\\Aggregation\\AbstractAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php',
- 'Elastica\\Aggregation\\AbstractSimpleAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php',
- 'Elastica\\Aggregation\\Avg' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Avg.php',
- 'Elastica\\Aggregation\\Cardinality' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php',
- 'Elastica\\Aggregation\\DateHistogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php',
- 'Elastica\\Aggregation\\DateRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php',
- 'Elastica\\Aggregation\\ExtendedStats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php',
- 'Elastica\\Aggregation\\Filter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Filter.php',
- 'Elastica\\Aggregation\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php',
- 'Elastica\\Aggregation\\GeohashGrid' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php',
- 'Elastica\\Aggregation\\GlobalAggregation' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php',
- 'Elastica\\Aggregation\\Histogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php',
- 'Elastica\\Aggregation\\IpRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php',
- 'Elastica\\Aggregation\\Max' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Max.php',
- 'Elastica\\Aggregation\\Min' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Min.php',
- 'Elastica\\Aggregation\\Missing' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Missing.php',
- 'Elastica\\Aggregation\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Nested.php',
- 'Elastica\\Aggregation\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Range.php',
- 'Elastica\\Aggregation\\ReverseNested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php',
- 'Elastica\\Aggregation\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Stats.php',
- 'Elastica\\Aggregation\\Sum' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Sum.php',
- 'Elastica\\Aggregation\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/Terms.php',
- 'Elastica\\Aggregation\\ValueCount' => $vendorDir . '/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php',
- 'Elastica\\Bulk' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk.php',
- 'Elastica\\Bulk\\Action' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action.php',
- 'Elastica\\Bulk\\Action\\AbstractDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php',
- 'Elastica\\Bulk\\Action\\CreateDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php',
- 'Elastica\\Bulk\\Action\\DeleteDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php',
- 'Elastica\\Bulk\\Action\\IndexDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php',
- 'Elastica\\Bulk\\Action\\UpdateDocument' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php',
- 'Elastica\\Bulk\\Response' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/Response.php',
- 'Elastica\\Bulk\\ResponseSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php',
- 'Elastica\\Client' => $vendorDir . '/ruflin/elastica/lib/Elastica/Client.php',
- 'Elastica\\Cluster' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster.php',
- 'Elastica\\Cluster\\Health' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health.php',
- 'Elastica\\Cluster\\Health\\Index' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php',
- 'Elastica\\Cluster\\Health\\Shard' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php',
- 'Elastica\\Cluster\\Settings' => $vendorDir . '/ruflin/elastica/lib/Elastica/Cluster/Settings.php',
- 'Elastica\\Connection' => $vendorDir . '/ruflin/elastica/lib/Elastica/Connection.php',
- 'Elastica\\Document' => $vendorDir . '/ruflin/elastica/lib/Elastica/Document.php',
- 'Elastica\\Exception\\BulkException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/BulkException.php',
- 'Elastica\\Exception\\Bulk\\ResponseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php',
- 'Elastica\\Exception\\Bulk\\Response\\ActionException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php',
- 'Elastica\\Exception\\Bulk\\UdpException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php',
- 'Elastica\\Exception\\ClientException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ClientException.php',
- 'Elastica\\Exception\\ConnectionException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php',
- 'Elastica\\Exception\\Connection\\GuzzleException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php',
- 'Elastica\\Exception\\Connection\\HttpException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php',
- 'Elastica\\Exception\\Connection\\ThriftException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php',
- 'Elastica\\Exception\\ElasticsearchException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php',
- 'Elastica\\Exception\\ExceptionInterface' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php',
- 'Elastica\\Exception\\InvalidException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/InvalidException.php',
- 'Elastica\\Exception\\JSONParseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php',
- 'Elastica\\Exception\\NotFoundException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php',
- 'Elastica\\Exception\\NotImplementedException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php',
- 'Elastica\\Exception\\PartialShardFailureException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php',
- 'Elastica\\Exception\\ResponseException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/ResponseException.php',
- 'Elastica\\Exception\\RuntimeException' => $vendorDir . '/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php',
- 'Elastica\\Facet\\AbstractFacet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php',
- 'Elastica\\Facet\\DateHistogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php',
- 'Elastica\\Facet\\Filter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Filter.php',
- 'Elastica\\Facet\\GeoCluster' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php',
- 'Elastica\\Facet\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php',
- 'Elastica\\Facet\\Histogram' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Histogram.php',
- 'Elastica\\Facet\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Query.php',
- 'Elastica\\Facet\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Range.php',
- 'Elastica\\Facet\\Statistical' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Statistical.php',
- 'Elastica\\Facet\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/Terms.php',
- 'Elastica\\Facet\\TermsStats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Facet/TermsStats.php',
- 'Elastica\\Filter\\AbstractFilter' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php',
- 'Elastica\\Filter\\AbstractGeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php',
- 'Elastica\\Filter\\AbstractGeoShape' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php',
- 'Elastica\\Filter\\AbstractMulti' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php',
- 'Elastica\\Filter\\Bool' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Bool.php',
- 'Elastica\\Filter\\BoolAnd' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php',
- 'Elastica\\Filter\\BoolNot' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolNot.php',
- 'Elastica\\Filter\\BoolOr' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/BoolOr.php',
- 'Elastica\\Filter\\Exists' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Exists.php',
- 'Elastica\\Filter\\GeoBoundingBox' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php',
- 'Elastica\\Filter\\GeoDistance' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php',
- 'Elastica\\Filter\\GeoDistanceRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php',
- 'Elastica\\Filter\\GeoPolygon' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php',
- 'Elastica\\Filter\\GeoShapePreIndexed' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php',
- 'Elastica\\Filter\\GeoShapeProvided' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php',
- 'Elastica\\Filter\\GeohashCell' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php',
- 'Elastica\\Filter\\HasChild' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/HasChild.php',
- 'Elastica\\Filter\\HasParent' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/HasParent.php',
- 'Elastica\\Filter\\Ids' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Ids.php',
- 'Elastica\\Filter\\Indices' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Indices.php',
- 'Elastica\\Filter\\Limit' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Limit.php',
- 'Elastica\\Filter\\MatchAll' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/MatchAll.php',
- 'Elastica\\Filter\\Missing' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Missing.php',
- 'Elastica\\Filter\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Nested.php',
- 'Elastica\\Filter\\NumericRange' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/NumericRange.php',
- 'Elastica\\Filter\\Prefix' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Prefix.php',
- 'Elastica\\Filter\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Query.php',
- 'Elastica\\Filter\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Range.php',
- 'Elastica\\Filter\\Regexp' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Regexp.php',
- 'Elastica\\Filter\\Script' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Script.php',
- 'Elastica\\Filter\\Term' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Term.php',
- 'Elastica\\Filter\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Terms.php',
- 'Elastica\\Filter\\Type' => $vendorDir . '/ruflin/elastica/lib/Elastica/Filter/Type.php',
- 'Elastica\\Index' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index.php',
- 'Elastica\\Index\\Settings' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Settings.php',
- 'Elastica\\Index\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Stats.php',
- 'Elastica\\Index\\Status' => $vendorDir . '/ruflin/elastica/lib/Elastica/Index/Status.php',
- 'Elastica\\JSON' => $vendorDir . '/ruflin/elastica/lib/Elastica/JSON.php',
- 'Elastica\\Log' => $vendorDir . '/ruflin/elastica/lib/Elastica/Log.php',
- 'Elastica\\Multi\\ResultSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/Multi/ResultSet.php',
- 'Elastica\\Multi\\Search' => $vendorDir . '/ruflin/elastica/lib/Elastica/Multi/Search.php',
- 'Elastica\\Node' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node.php',
- 'Elastica\\Node\\Info' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node/Info.php',
- 'Elastica\\Node\\Stats' => $vendorDir . '/ruflin/elastica/lib/Elastica/Node/Stats.php',
- 'Elastica\\Param' => $vendorDir . '/ruflin/elastica/lib/Elastica/Param.php',
- 'Elastica\\Percolator' => $vendorDir . '/ruflin/elastica/lib/Elastica/Percolator.php',
- 'Elastica\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query.php',
- 'Elastica\\Query\\AbstractQuery' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php',
- 'Elastica\\Query\\Bool' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Bool.php',
- 'Elastica\\Query\\Boosting' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Boosting.php',
- 'Elastica\\Query\\Builder' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Builder.php',
- 'Elastica\\Query\\Common' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Common.php',
- 'Elastica\\Query\\ConstantScore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/ConstantScore.php',
- 'Elastica\\Query\\DisMax' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/DisMax.php',
- 'Elastica\\Query\\Filtered' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Filtered.php',
- 'Elastica\\Query\\FunctionScore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/FunctionScore.php',
- 'Elastica\\Query\\Fuzzy' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Fuzzy.php',
- 'Elastica\\Query\\FuzzyLikeThis' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php',
- 'Elastica\\Query\\HasChild' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/HasChild.php',
- 'Elastica\\Query\\HasParent' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/HasParent.php',
- 'Elastica\\Query\\Ids' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Ids.php',
- 'Elastica\\Query\\Match' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Match.php',
- 'Elastica\\Query\\MatchAll' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MatchAll.php',
- 'Elastica\\Query\\MoreLikeThis' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php',
- 'Elastica\\Query\\MultiMatch' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/MultiMatch.php',
- 'Elastica\\Query\\Nested' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Nested.php',
- 'Elastica\\Query\\Prefix' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Prefix.php',
- 'Elastica\\Query\\QueryString' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/QueryString.php',
- 'Elastica\\Query\\Range' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Range.php',
- 'Elastica\\Query\\Simple' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Simple.php',
- 'Elastica\\Query\\SimpleQueryString' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php',
- 'Elastica\\Query\\Term' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Term.php',
- 'Elastica\\Query\\Terms' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Terms.php',
- 'Elastica\\Query\\TopChildren' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/TopChildren.php',
- 'Elastica\\Query\\Wildcard' => $vendorDir . '/ruflin/elastica/lib/Elastica/Query/Wildcard.php',
- 'Elastica\\Request' => $vendorDir . '/ruflin/elastica/lib/Elastica/Request.php',
- 'Elastica\\Rescore\\AbstractRescore' => $vendorDir . '/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php',
- 'Elastica\\Rescore\\Query' => $vendorDir . '/ruflin/elastica/lib/Elastica/Rescore/Query.php',
- 'Elastica\\Response' => $vendorDir . '/ruflin/elastica/lib/Elastica/Response.php',
- 'Elastica\\Result' => $vendorDir . '/ruflin/elastica/lib/Elastica/Result.php',
- 'Elastica\\ResultSet' => $vendorDir . '/ruflin/elastica/lib/Elastica/ResultSet.php',
- 'Elastica\\ScanAndScroll' => $vendorDir . '/ruflin/elastica/lib/Elastica/ScanAndScroll.php',
- 'Elastica\\Script' => $vendorDir . '/ruflin/elastica/lib/Elastica/Script.php',
- 'Elastica\\ScriptFields' => $vendorDir . '/ruflin/elastica/lib/Elastica/ScriptFields.php',
- 'Elastica\\Search' => $vendorDir . '/ruflin/elastica/lib/Elastica/Search.php',
- 'Elastica\\SearchableInterface' => $vendorDir . '/ruflin/elastica/lib/Elastica/SearchableInterface.php',
- 'Elastica\\Snapshot' => $vendorDir . '/ruflin/elastica/lib/Elastica/Snapshot.php',
- 'Elastica\\Status' => $vendorDir . '/ruflin/elastica/lib/Elastica/Status.php',
- 'Elastica\\Suggest' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest.php',
- 'Elastica\\Suggest\\AbstractSuggest' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php',
- 'Elastica\\Suggest\\CandidateGenerator\\AbstractCandidateGenerator' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php',
- 'Elastica\\Suggest\\CandidateGenerator\\DirectGenerator' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php',
- 'Elastica\\Suggest\\Phrase' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest/Phrase.php',
- 'Elastica\\Suggest\\Term' => $vendorDir . '/ruflin/elastica/lib/Elastica/Suggest/Term.php',
- 'Elastica\\Test\\Base' => $vendorDir . '/ruflin/elastica/test/lib/Elastica/Test/Base.php',
- 'Elastica\\Test\\Filter\\ExistsTest' => $vendorDir . '/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php',
- 'Elastica\\Transport\\AbstractTransport' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php',
- 'Elastica\\Transport\\Guzzle' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Guzzle.php',
- 'Elastica\\Transport\\Http' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Http.php',
- 'Elastica\\Transport\\Https' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Https.php',
- 'Elastica\\Transport\\Memcache' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Memcache.php',
- 'Elastica\\Transport\\Null' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Null.php',
- 'Elastica\\Transport\\Thrift' => $vendorDir . '/ruflin/elastica/lib/Elastica/Transport/Thrift.php',
- 'Elastica\\Type' => $vendorDir . '/ruflin/elastica/lib/Elastica/Type.php',
- 'Elastica\\Type\\AbstractType' => $vendorDir . '/ruflin/elastica/lib/Elastica/Type/AbstractType.php',
- 'Elastica\\Type\\Mapping' => $vendorDir . '/ruflin/elastica/lib/Elastica/Type/Mapping.php',
- 'Elastica\\Util' => $vendorDir . '/ruflin/elastica/lib/Elastica/Util.php',
+ 'ComposerHookHandler' => $baseDir . '/includes/composer/ComposerHookHandler.php',
'LCRun3' => $vendorDir . '/zordius/lightncandy/src/lightncandy.php',
'LightnCandy' => $vendorDir . '/zordius/lightncandy/src/lightncandy.php',
'Liuggio\\StatsdClient\\Entity\\StatsdData' => $vendorDir . '/liuggio/statsd-php-client/src/Liuggio/StatsdClient/Entity/StatsdData.php',
@@ -208,84 +32,6 @@ return array(
'Liuggio\\StatsdClient\\Sender\\SysLogSender' => $vendorDir . '/liuggio/statsd-php-client/src/Liuggio/StatsdClient/Sender/SysLogSender.php',
'Liuggio\\StatsdClient\\StatsdClient' => $vendorDir . '/liuggio/statsd-php-client/src/Liuggio/StatsdClient/StatsdClient.php',
'Liuggio\\StatsdClient\\StatsdClientInterface' => $vendorDir . '/liuggio/statsd-php-client/src/Liuggio/StatsdClient/StatsdClientInterface.php',
- 'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
- 'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
- 'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
- 'Monolog\\Formatter\\FlowdockFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php',
- 'Monolog\\Formatter\\FormatterInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php',
- 'Monolog\\Formatter\\GelfMessageFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php',
- 'Monolog\\Formatter\\HtmlFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php',
- 'Monolog\\Formatter\\JsonFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php',
- 'Monolog\\Formatter\\LineFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php',
- 'Monolog\\Formatter\\LogglyFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php',
- 'Monolog\\Formatter\\LogstashFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php',
- 'Monolog\\Formatter\\MongoDBFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php',
- 'Monolog\\Formatter\\NormalizerFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php',
- 'Monolog\\Formatter\\ScalarFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php',
- 'Monolog\\Formatter\\WildfireFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php',
- 'Monolog\\Handler\\AbstractHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php',
- 'Monolog\\Handler\\AbstractProcessingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php',
- 'Monolog\\Handler\\AbstractSyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php',
- 'Monolog\\Handler\\AmqpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php',
- 'Monolog\\Handler\\BrowserConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php',
- 'Monolog\\Handler\\BufferHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php',
- 'Monolog\\Handler\\ChromePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php',
- 'Monolog\\Handler\\CouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php',
- 'Monolog\\Handler\\CubeHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php',
- 'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
- 'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
- 'Monolog\\Handler\\ElasticSearchHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php',
- 'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
- 'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
- 'Monolog\\Handler\\FingersCrossedHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php',
- 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php',
- 'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php',
- 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php',
- 'Monolog\\Handler\\FirePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php',
- 'Monolog\\Handler\\FleepHookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php',
- 'Monolog\\Handler\\FlowdockHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php',
- 'Monolog\\Handler\\GelfHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php',
- 'Monolog\\Handler\\GroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php',
- 'Monolog\\Handler\\HandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php',
- 'Monolog\\Handler\\HipChatHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php',
- 'Monolog\\Handler\\LogEntriesHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php',
- 'Monolog\\Handler\\LogglyHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php',
- 'Monolog\\Handler\\MailHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MailHandler.php',
- 'Monolog\\Handler\\MandrillHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php',
- 'Monolog\\Handler\\MissingExtensionException' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php',
- 'Monolog\\Handler\\MongoDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php',
- 'Monolog\\Handler\\NativeMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php',
- 'Monolog\\Handler\\NewRelicHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php',
- 'Monolog\\Handler\\NullHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NullHandler.php',
- 'Monolog\\Handler\\PsrHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php',
- 'Monolog\\Handler\\PushoverHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php',
- 'Monolog\\Handler\\RavenHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RavenHandler.php',
- 'Monolog\\Handler\\RedisHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php',
- 'Monolog\\Handler\\RollbarHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php',
- 'Monolog\\Handler\\RotatingFileHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php',
- 'Monolog\\Handler\\SamplingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php',
- 'Monolog\\Handler\\SlackHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php',
- 'Monolog\\Handler\\SocketHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php',
- 'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
- 'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
- 'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
- 'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
- 'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
- 'Monolog\\Handler\\TestHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/TestHandler.php',
- 'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
- 'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
- 'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
- 'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
- 'Monolog\\Processor\\IntrospectionProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php',
- 'Monolog\\Processor\\MemoryPeakUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php',
- 'Monolog\\Processor\\MemoryProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php',
- 'Monolog\\Processor\\MemoryUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php',
- 'Monolog\\Processor\\ProcessIdProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php',
- 'Monolog\\Processor\\PsrLogMessageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php',
- 'Monolog\\Processor\\TagProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php',
- 'Monolog\\Processor\\UidProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php',
- 'Monolog\\Processor\\WebProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php',
- 'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php',
'OOUI\\ApexTheme' => $vendorDir . '/oojs/oojs-ui/php/themes/ApexTheme.php',
'OOUI\\ButtonElement' => $vendorDir . '/oojs/oojs-ui/php/elements/ButtonElement.php',
'OOUI\\ButtonGroupWidget' => $vendorDir . '/oojs/oojs-ui/php/widgets/ButtonGroupWidget.php',
@@ -323,7 +69,9 @@ return array(
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php',
+ 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php',
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
+ 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
'UtfNormal\\Constants' => $vendorDir . '/wikimedia/utfnormal/src/Constants.php',
'UtfNormal\\Utils' => $vendorDir . '/wikimedia/utfnormal/src/Util.php',
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
index fd316bf5..a0f180fa 100644
--- a/vendor/composer/autoload_namespaces.php
+++ b/vendor/composer/autoload_namespaces.php
@@ -3,12 +3,11 @@
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
-$baseDir = $vendorDir;
+$baseDir = dirname($vendorDir);
return array(
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Liuggio' => array($vendorDir . '/liuggio/statsd-php-client/src'),
- 'Elastica\\Test' => array($vendorDir . '/ruflin/elastica/test/lib'),
- 'Elastica' => array($vendorDir . '/ruflin/elastica/lib'),
+ 'ComposerHookHandler' => array($baseDir . '/includes/composer'),
'' => array($vendorDir . '/cssjanus/cssjanus/src'),
);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index abd6ba84..74a09133 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -3,9 +3,8 @@
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
-$baseDir = $vendorDir;
+$baseDir = dirname($vendorDir);
return array(
'Wikimedia\\Composer\\' => array($vendorDir . '/wikimedia/composer-merge-plugin/src'),
- 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
);
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 10158fed..0c5b84c2 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInit_mediawiki_vendor
+class ComposerAutoloaderInite2ef576e4023c6f0949f5e8e1cdf8649
{
private static $loader;
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit_mediawiki_vendor
return self::$loader;
}
- spl_autoload_register(array('ComposerAutoloaderInit_mediawiki_vendor', 'loadClassLoader'), true, false);
+ spl_autoload_register(array('ComposerAutoloaderInite2ef576e4023c6f0949f5e8e1cdf8649', 'loadClassLoader'), true, false);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
- spl_autoload_unregister(array('ComposerAutoloaderInit_mediawiki_vendor', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInite2ef576e4023c6f0949f5e8e1cdf8649', 'loadClassLoader'));
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
@@ -38,14 +38,13 @@ class ComposerAutoloaderInit_mediawiki_vendor
$loader->addClassMap($classMap);
}
- $loader->setClassMapAuthoritative(true);
$loader->register(false);
return $loader;
}
}
-function composerRequire_mediawiki_vendor($file)
+function composerRequiree2ef576e4023c6f0949f5e8e1cdf8649($file)
{
require $file;
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 20564c68..e882cda4 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1,104 +1,46 @@
[
{
- "name": "psr/log",
- "version": "1.0.0",
+ "name": "wikimedia/composer-merge-plugin",
+ "version": "v1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
- "shasum": ""
- },
- "time": "2012-12-21 11:40:51",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "Psr\\Log\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ]
- },
- {
- "name": "ruflin/elastica",
- "version": "v1.3.0.0",
- "version_normalized": "1.3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ruflin/Elastica.git",
- "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b"
+ "url": "https://github.com/wikimedia/composer-merge-plugin.git",
+ "reference": "ed426b785f9f786b33be4fd78584e43f4e962356"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ruflin/Elastica/zipball/92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
- "reference": "92155a36c94ebe15b09661ae804acbe4bdd4ad6b",
+ "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/ed426b785f9f786b33be4fd78584e43f4e962356",
+ "reference": "ed426b785f9f786b33be4fd78584e43f4e962356",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "composer-plugin-api": "1.0.0",
+ "php": ">=5.3.2"
},
"require-dev": {
- "munkie/elasticsearch-thrift-php": "1.4.*",
- "phpunit/phpunit": "4.1.*",
- "psr/log": "~1.0",
- "satooshi/php-coveralls": "dev-master"
- },
- "suggest": {
- "guzzlehttp/guzzle": "Allow using guzzle 4.x as the http transport (requires php 5.4)",
- "monolog/monolog": "Logging request",
- "munkie/elasticsearch-thrift-php": "Allow using thrift transport",
- "psr/log": "for logging"
+ "composer/composer": "1.0.*@dev",
+ "jakub-onderka/php-parallel-lint": "~0.8",
+ "phpspec/prophecy-phpunit": "~1.0",
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "~2.1.0"
},
- "time": "2014-07-27 13:45:09",
- "type": "library",
+ "time": "2015-02-21 00:57:13",
+ "type": "composer-plugin",
"extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
+ "class": "Wikimedia\\Composer\\MergePlugin"
},
"installation-source": "dist",
"autoload": {
- "psr-0": {
- "Elastica": "lib/",
- "Elastica\\Test": "test/lib/"
+ "psr-4": {
+ "Wikimedia\\Composer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache 2.0"
- ],
- "authors": [
- {
- "name": "Nicolas Ruflin",
- "homepage": "http://ruflin.com/"
- }
+ "MIT"
],
- "description": "Elasticsearch Client",
- "homepage": "http://elastica.io/",
- "keywords": [
- "client",
- "search"
- ]
+ "description": "Composer plugin to merge multiple composer.json files"
},
{
"name": "cssjanus/cssjanus",
@@ -181,153 +123,115 @@
"homepage": "http://leafo.net/lessphp/"
},
{
- "name": "wikimedia/cdb",
- "version": "1.0.1",
- "version_normalized": "1.0.1.0",
+ "name": "liuggio/statsd-php-client",
+ "version": "v1.0.12",
+ "version_normalized": "1.0.12.0",
"source": {
"type": "git",
- "url": "https://github.com/wikimedia/cdb.git",
- "reference": "3b7d5366c88eccf2517ebac57c59eb557c82f46c"
+ "url": "https://github.com/liuggio/statsd-php-client.git",
+ "reference": "a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wikimedia/cdb/zipball/3b7d5366c88eccf2517ebac57c59eb557c82f46c",
- "reference": "3b7d5366c88eccf2517ebac57c59eb557c82f46c",
+ "url": "https://api.github.com/repos/liuggio/statsd-php-client/zipball/a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7",
+ "reference": "a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "php": ">=5.2"
},
"require-dev": {
- "phpunit/phpunit": "*"
+ "monolog/monolog": ">=1.2.0"
},
- "time": "2014-12-08 19:26:44",
+ "suggest": {
+ "monolog/monolog": "Monolog, in order to do generate statistic from log >=1.2.0)"
+ },
+ "time": "2014-09-17 21:37:49",
"type": "library",
"installation-source": "dist",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-0": {
+ "Liuggio": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "GPL-2.0"
+ "MIT"
],
"authors": [
{
- "name": "Tim Starling",
- "email": "tstarling@wikimedia.org"
- },
- {
- "name": "Chad Horohoe",
- "email": "chad@wikimedia.org"
+ "name": "Giulio De Donato",
+ "email": "liuggio@gmail.com"
}
],
- "description": "Constant Database (CDB) wrapper library for PHP. Provides pure-PHP fallback when dba_* functions are absent.",
- "homepage": "https://www.mediawiki.org/wiki/CDB"
+ "description": "Statsd (Object Oriented) client library for PHP",
+ "homepage": "https://github.com/liuggio/statsd-php-client/",
+ "keywords": [
+ "etsy",
+ "monitoring",
+ "php",
+ "statsd"
+ ]
},
{
- "name": "zordius/lightncandy",
- "version": "v0.18",
- "version_normalized": "0.18.0.0",
+ "name": "oojs/oojs-ui",
+ "version": "v0.11.3",
+ "version_normalized": "0.11.3.0",
"source": {
"type": "git",
- "url": "https://github.com/zordius/lightncandy.git",
- "reference": "24be6909c37391f4648ce1fdf19036b11bd56d05"
+ "url": "https://github.com/wikimedia/oojs-ui.git",
+ "reference": "a03de5681e28e4fad1e27f8cccab32a2c5b484e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zordius/lightncandy/zipball/24be6909c37391f4648ce1fdf19036b11bd56d05",
- "reference": "24be6909c37391f4648ce1fdf19036b11bd56d05",
+ "url": "https://api.github.com/repos/wikimedia/oojs-ui/zipball/a03de5681e28e4fad1e27f8cccab32a2c5b484e5",
+ "reference": "a03de5681e28e4fad1e27f8cccab32a2c5b484e5",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.3.3"
},
"require-dev": {
- "phpunit/phpunit": "4.0.17"
+ "jakub-onderka/php-parallel-lint": "0.8.*",
+ "mediawiki/mediawiki-codesniffer": "0.1.0",
+ "squizlabs/php_codesniffer": "2.1.*"
},
- "time": "2015-01-01 04:37:19",
+ "time": "2015-05-12 11:58:55",
"type": "library",
"installation-source": "dist",
"autoload": {
"classmap": [
- "src/lightncandy.php"
+ "php/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Zordius Chen",
- "email": "zordius@yahoo-inc.com"
- }
- ],
- "description": "An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ).",
- "homepage": "https://github.com/zordius/lightncandy",
- "keywords": [
- "handlebars",
- "logicless",
- "mustache",
- "php",
- "template"
- ]
+ "description": "Provides library of common widgets, layouts, and windows.",
+ "homepage": "https://www.mediawiki.org/wiki/OOjs_UI"
},
{
- "name": "monolog/monolog",
- "version": "1.12.0",
- "version_normalized": "1.12.0.0",
+ "name": "psr/log",
+ "version": "1.0.0",
+ "version_normalized": "1.0.0.0",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f"
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
- "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
"shasum": ""
},
- "require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "~2.4, >2.4.8",
- "doctrine/couchdb": "~1.0@dev",
- "graylog2/gelf-php": "~1.0",
- "phpunit/phpunit": "~4.0",
- "raven/raven": "~0.5",
- "ruflin/elastica": "0.90.*",
- "videlalvaro/php-amqplib": "~2.4"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "raven/raven": "Allow sending log messages to a Sentry server",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
- },
- "time": "2014-12-29 21:29:35",
+ "time": "2012-12-21 11:40:51",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.12.x-dev"
- }
- },
"installation-source": "dist",
"autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
+ "psr-0": {
+ "Psr\\Log\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -336,112 +240,62 @@
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
+ "description": "Common interface for logging libraries",
"keywords": [
"log",
- "logging",
+ "psr",
"psr-3"
]
},
{
- "name": "wikimedia/composer-merge-plugin",
- "version": "v1.0.0",
- "version_normalized": "1.0.0.0",
+ "name": "wikimedia/cdb",
+ "version": "1.0.1",
+ "version_normalized": "1.0.1.0",
"source": {
"type": "git",
- "url": "https://github.com/wikimedia/composer-merge-plugin.git",
- "reference": "ed426b785f9f786b33be4fd78584e43f4e962356"
+ "url": "https://github.com/wikimedia/cdb.git",
+ "reference": "3b7d5366c88eccf2517ebac57c59eb557c82f46c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/ed426b785f9f786b33be4fd78584e43f4e962356",
- "reference": "ed426b785f9f786b33be4fd78584e43f4e962356",
+ "url": "https://api.github.com/repos/wikimedia/cdb/zipball/3b7d5366c88eccf2517ebac57c59eb557c82f46c",
+ "reference": "3b7d5366c88eccf2517ebac57c59eb557c82f46c",
"shasum": ""
},
"require": {
- "composer-plugin-api": "1.0.0",
"php": ">=5.3.2"
},
"require-dev": {
- "composer/composer": "1.0.*@dev",
- "jakub-onderka/php-parallel-lint": "~0.8",
- "phpspec/prophecy-phpunit": "~1.0",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~2.1.0"
- },
- "time": "2015-02-21 00:57:13",
- "type": "composer-plugin",
- "extra": {
- "class": "Wikimedia\\Composer\\MergePlugin"
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Wikimedia\\Composer\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Composer plugin to merge multiple composer.json files"
- },
- {
- "name": "liuggio/statsd-php-client",
- "version": "v1.0.12",
- "version_normalized": "1.0.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/liuggio/statsd-php-client.git",
- "reference": "a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/liuggio/statsd-php-client/zipball/a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7",
- "reference": "a8c9ccd2a3af6cc49c7fc4f5f689d7b148ab19d7",
- "shasum": ""
- },
- "require": {
- "php": ">=5.2"
- },
- "require-dev": {
- "monolog/monolog": ">=1.2.0"
- },
- "suggest": {
- "monolog/monolog": "Monolog, in order to do generate statistic from log >=1.2.0)"
+ "phpunit/phpunit": "*"
},
- "time": "2014-09-17 21:37:49",
+ "time": "2014-12-08 19:26:44",
"type": "library",
"installation-source": "dist",
"autoload": {
- "psr-0": {
- "Liuggio": "src/"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "GPL-2.0"
],
"authors": [
{
- "name": "Giulio De Donato",
- "email": "liuggio@gmail.com"
+ "name": "Tim Starling",
+ "email": "tstarling@wikimedia.org"
+ },
+ {
+ "name": "Chad Horohoe",
+ "email": "chad@wikimedia.org"
}
],
- "description": "Statsd (Object Oriented) client library for PHP",
- "homepage": "https://github.com/liuggio/statsd-php-client/",
- "keywords": [
- "etsy",
- "monitoring",
- "php",
- "statsd"
- ]
+ "description": "Constant Database (CDB) wrapper library for PHP. Provides pure-PHP fallback when dba_* functions are absent.",
+ "homepage": "https://www.mediawiki.org/wiki/CDB"
},
{
"name": "wikimedia/utfnormal",
@@ -489,41 +343,52 @@
"homepage": "https://www.mediawiki.org/wiki/utfnormal"
},
{
- "name": "oojs/oojs-ui",
- "version": "v0.11.3",
- "version_normalized": "0.11.3.0",
+ "name": "zordius/lightncandy",
+ "version": "v0.18",
+ "version_normalized": "0.18.0.0",
"source": {
"type": "git",
- "url": "https://github.com/wikimedia/oojs-ui.git",
- "reference": "a03de5681e28e4fad1e27f8cccab32a2c5b484e5"
+ "url": "https://github.com/zordius/lightncandy.git",
+ "reference": "24be6909c37391f4648ce1fdf19036b11bd56d05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wikimedia/oojs-ui/zipball/a03de5681e28e4fad1e27f8cccab32a2c5b484e5",
- "reference": "a03de5681e28e4fad1e27f8cccab32a2c5b484e5",
+ "url": "https://api.github.com/repos/zordius/lightncandy/zipball/24be6909c37391f4648ce1fdf19036b11bd56d05",
+ "reference": "24be6909c37391f4648ce1fdf19036b11bd56d05",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.0"
},
"require-dev": {
- "jakub-onderka/php-parallel-lint": "0.8.*",
- "mediawiki/mediawiki-codesniffer": "0.1.0",
- "squizlabs/php_codesniffer": "2.1.*"
+ "phpunit/phpunit": "4.0.17"
},
- "time": "2015-05-12 11:58:55",
+ "time": "2015-01-01 04:37:19",
"type": "library",
"installation-source": "dist",
"autoload": {
"classmap": [
- "php/"
+ "src/lightncandy.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Provides library of common widgets, layouts, and windows.",
- "homepage": "https://www.mediawiki.org/wiki/OOjs_UI"
+ "authors": [
+ {
+ "name": "Zordius Chen",
+ "email": "zordius@yahoo-inc.com"
+ }
+ ],
+ "description": "An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ).",
+ "homepage": "https://github.com/zordius/lightncandy",
+ "keywords": [
+ "handlebars",
+ "logicless",
+ "mustache",
+ "php",
+ "template"
+ ]
}
]
diff --git a/vendor/monolog/monolog/CHANGELOG.mdown b/vendor/monolog/monolog/CHANGELOG.mdown
deleted file mode 100644
index 47042c73..00000000
--- a/vendor/monolog/monolog/CHANGELOG.mdown
+++ /dev/null
@@ -1,202 +0,0 @@
-### 1.12.0 (2014-12-29)
-
- * Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers.
- * Added PsrHandler to forward records to another PSR-3 logger
- * Added SamplingHandler to wrap around a handler and include only every Nth record
- * Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now)
- * Added exception codes in the output of most formatters
- * Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line)
- * Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data
- * Added $host to HipChatHandler for users of private instances
- * Added $transactionName to NewRelicHandler and support for a transaction_name context value
- * Fixed MandrillHandler to avoid outputing API call responses
- * Fixed some non-standard behaviors in SyslogUdpHandler
-
-### 1.11.0 (2014-09-30)
-
- * Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names
- * Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails
- * Added MandrillHandler to send emails via the Mandrillapp.com API
- * Added SlackHandler to log records to a Slack.com account
- * Added FleepHookHandler to log records to a Fleep.io account
- * Added LogglyHandler::addTag to allow adding tags to an existing handler
- * Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end
- * Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing
- * Added support for PhpAmqpLib in the AmqpHandler
- * Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs
- * Added support for adding extra fields from $_SERVER in the WebProcessor
- * Fixed support for non-string values in PrsLogMessageProcessor
- * Fixed SwiftMailer messages being sent with the wrong date in long running scripts
- * Fixed minor PHP 5.6 compatibility issues
- * Fixed BufferHandler::close being called twice
-
-### 1.10.0 (2014-06-04)
-
- * Added Logger::getHandlers() and Logger::getProcessors() methods
- * Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached
- * Added support for extra data in NewRelicHandler
- * Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines
-
-### 1.9.1 (2014-04-24)
-
- * Fixed regression in RotatingFileHandler file permissions
- * Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records
- * Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative
-
-### 1.9.0 (2014-04-20)
-
- * Added LogEntriesHandler to send logs to a LogEntries account
- * Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler
- * Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes
- * Added support for table formatting in FirePHPHandler via the table context key
- * Added a TagProcessor to add tags to records, and support for tags in RavenHandler
- * Added $appendNewline flag to the JsonFormatter to enable using it when logging to files
- * Added sound support to the PushoverHandler
- * Fixed multi-threading support in StreamHandler
- * Fixed empty headers issue when ChromePHPHandler received no records
- * Fixed default format of the ErrorLogHandler
-
-### 1.8.0 (2014-03-23)
-
- * Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them
- * Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output
- * Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler
- * Added FlowdockHandler to send logs to a Flowdock account
- * Added RollbarHandler to send logs to a Rollbar account
- * Added HtmlFormatter to send prettier log emails with colors for each log level
- * Added GitProcessor to add the current branch/commit to extra record data
- * Added a Monolog\Registry class to allow easier global access to pre-configured loggers
- * Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement
- * Added support for HHVM
- * Added support for Loggly batch uploads
- * Added support for tweaking the content type and encoding in NativeMailerHandler
- * Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor
- * Fixed batch request support in GelfHandler
-
-### 1.7.0 (2013-11-14)
-
- * Added ElasticSearchHandler to send logs to an Elastic Search server
- * Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB
- * Added SyslogUdpHandler to send logs to a remote syslogd server
- * Added LogglyHandler to send logs to a Loggly account
- * Added $level to IntrospectionProcessor so it only adds backtraces when needed
- * Added $version to LogstashFormatter to allow using the new v1 Logstash format
- * Added $appName to NewRelicHandler
- * Added configuration of Pushover notification retries/expiry
- * Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default
- * Added chainability to most setters for all handlers
- * Fixed RavenHandler batch processing so it takes the message from the record with highest priority
- * Fixed HipChatHandler batch processing so it sends all messages at once
- * Fixed issues with eAccelerator
- * Fixed and improved many small things
-
-### 1.6.0 (2013-07-29)
-
- * Added HipChatHandler to send logs to a HipChat chat room
- * Added ErrorLogHandler to send logs to PHP's error_log function
- * Added NewRelicHandler to send logs to NewRelic's service
- * Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler
- * Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel
- * Added stack traces output when normalizing exceptions (json output & co)
- * Added Monolog\Logger::API constant (currently 1)
- * Added support for ChromePHP's v4.0 extension
- * Added support for message priorities in PushoverHandler, see $highPriorityLevel and $emergencyLevel
- * Added support for sending messages to multiple users at once with the PushoverHandler
- * Fixed RavenHandler's support for batch sending of messages (when behind a Buffer or FingersCrossedHandler)
- * Fixed normalization of Traversables with very large data sets, only the first 1000 items are shown now
- * Fixed issue in RotatingFileHandler when an open_basedir restriction is active
- * Fixed minor issues in RavenHandler and bumped the API to Raven 0.5.0
- * Fixed SyslogHandler issue when many were used concurrently with different facilities
-
-### 1.5.0 (2013-04-23)
-
- * Added ProcessIdProcessor to inject the PID in log records
- * Added UidProcessor to inject a unique identifier to all log records of one request/run
- * Added support for previous exceptions in the LineFormatter exception serialization
- * Added Monolog\Logger::getLevels() to get all available levels
- * Fixed ChromePHPHandler so it avoids sending headers larger than Chrome can handle
-
-### 1.4.1 (2013-04-01)
-
- * Fixed exception formatting in the LineFormatter to be more minimalistic
- * Fixed RavenHandler's handling of context/extra data, requires Raven client >0.1.0
- * Fixed log rotation in RotatingFileHandler to work with long running scripts spanning multiple days
- * Fixed WebProcessor array access so it checks for data presence
- * Fixed Buffer, Group and FingersCrossed handlers to make use of their processors
-
-### 1.4.0 (2013-02-13)
-
- * Added RedisHandler to log to Redis via the Predis library or the phpredis extension
- * Added ZendMonitorHandler to log to the Zend Server monitor
- * Added the possibility to pass arrays of handlers and processors directly in the Logger constructor
- * Added `$useSSL` option to the PushoverHandler which is enabled by default
- * Fixed ChromePHPHandler and FirePHPHandler issue when multiple instances are used simultaneously
- * Fixed header injection capability in the NativeMailHandler
-
-### 1.3.1 (2013-01-11)
-
- * Fixed LogstashFormatter to be usable with stream handlers
- * Fixed GelfMessageFormatter levels on Windows
-
-### 1.3.0 (2013-01-08)
-
- * Added PSR-3 compliance, the `Monolog\Logger` class is now an instance of `Psr\Log\LoggerInterface`
- * Added PsrLogMessageProcessor that you can selectively enable for full PSR-3 compliance
- * Added LogstashFormatter (combine with SocketHandler or StreamHandler to send logs to Logstash)
- * Added PushoverHandler to send mobile notifications
- * Added CouchDBHandler and DoctrineCouchDBHandler
- * Added RavenHandler to send data to Sentry servers
- * Added support for the new MongoClient class in MongoDBHandler
- * Added microsecond precision to log records' timestamps
- * Added `$flushOnOverflow` param to BufferHandler to flush by batches instead of losing
- the oldest entries
- * Fixed normalization of objects with cyclic references
-
-### 1.2.1 (2012-08-29)
-
- * Added new $logopts arg to SyslogHandler to provide custom openlog options
- * Fixed fatal error in SyslogHandler
-
-### 1.2.0 (2012-08-18)
-
- * Added AmqpHandler (for use with AMQP servers)
- * Added CubeHandler
- * Added NativeMailerHandler::addHeader() to send custom headers in mails
- * Added the possibility to specify more than one recipient in NativeMailerHandler
- * Added the possibility to specify float timeouts in SocketHandler
- * Added NOTICE and EMERGENCY levels to conform with RFC 5424
- * Fixed the log records to use the php default timezone instead of UTC
- * Fixed BufferHandler not being flushed properly on PHP fatal errors
- * Fixed normalization of exotic resource types
- * Fixed the default format of the SyslogHandler to avoid duplicating datetimes in syslog
-
-### 1.1.0 (2012-04-23)
-
- * Added Monolog\Logger::isHandling() to check if a handler will
- handle the given log level
- * Added ChromePHPHandler
- * Added MongoDBHandler
- * Added GelfHandler (for use with Graylog2 servers)
- * Added SocketHandler (for use with syslog-ng for example)
- * Added NormalizerFormatter
- * Added the possibility to change the activation strategy of the FingersCrossedHandler
- * Added possibility to show microseconds in logs
- * Added `server` and `referer` to WebProcessor output
-
-### 1.0.2 (2011-10-24)
-
- * Fixed bug in IE with large response headers and FirePHPHandler
-
-### 1.0.1 (2011-08-25)
-
- * Added MemoryPeakUsageProcessor and MemoryUsageProcessor
- * Added Monolog\Logger::getName() to get a logger's channel name
-
-### 1.0.0 (2011-07-06)
-
- * Added IntrospectionProcessor to get info from where the logger was called
- * Fixed WebProcessor in CLI
-
-### 1.0.0-RC1 (2011-07-01)
-
- * Initial release
diff --git a/vendor/monolog/monolog/LICENSE b/vendor/monolog/monolog/LICENSE
deleted file mode 100644
index 35727045..00000000
--- a/vendor/monolog/monolog/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2011-2014 Jordi Boggiano
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/vendor/monolog/monolog/README.mdown b/vendor/monolog/monolog/README.mdown
deleted file mode 100644
index add476a8..00000000
--- a/vendor/monolog/monolog/README.mdown
+++ /dev/null
@@ -1,283 +0,0 @@
-Monolog - Logging for PHP 5.3+ [![Build Status](https://secure.travis-ci.org/Seldaek/monolog.png)](http://travis-ci.org/Seldaek/monolog)
-==============================
-
-[![Total Downloads](https://poser.pugx.org/monolog/monolog/downloads.png)](https://packagist.org/packages/monolog/monolog)
-[![Latest Stable Version](https://poser.pugx.org/monolog/monolog/v/stable.png)](https://packagist.org/packages/monolog/monolog)
-[![Reference Status](https://www.versioneye.com/php/monolog:monolog/reference_badge.svg)](https://www.versioneye.com/php/monolog:monolog/references)
-
-
-Monolog sends your logs to files, sockets, inboxes, databases and various
-web services. See the complete list of handlers below. Special handlers
-allow you to build advanced logging strategies.
-
-This library implements the [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
-interface that you can type-hint against in your own libraries to keep
-a maximum of interoperability. You can also use it in your applications to
-make sure you can always use another compatible logger at a later time.
-As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels.
-Internally Monolog still uses its own level scheme since it predates PSR-3.
-
-Usage
------
-
-Install the latest version with `composer require monolog/monolog`
-
-```php
-<?php
-
-use Monolog\Logger;
-use Monolog\Handler\StreamHandler;
-
-// create a log channel
-$log = new Logger('name');
-$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
-
-// add records to the log
-$log->addWarning('Foo');
-$log->addError('Bar');
-```
-
-Core Concepts
--------------
-
-Every `Logger` instance has a channel (name) and a stack of handlers. Whenever
-you add a record to the logger, it traverses the handler stack. Each handler
-decides whether it fully handled the record, and if so, the propagation of the
-record ends there.
-
-This allows for flexible logging setups, for example having a `StreamHandler` at
-the bottom of the stack that will log anything to disk, and on top of that add
-a `MailHandler` that will send emails only when an error message is logged.
-Handlers also have a `$bubble` property which defines whether they block the
-record or not if they handled it. In this example, setting the `MailHandler`'s
-`$bubble` argument to false means that records handled by the `MailHandler` will
-not propagate to the `StreamHandler` anymore.
-
-You can create many `Logger`s, each defining a channel (e.g.: db, request,
-router, ..) and each of them combining various handlers, which can be shared
-or not. The channel is reflected in the logs and allows you to easily see or
-filter records.
-
-Each Handler also has a Formatter, a default one with settings that make sense
-will be created if you don't set one. The formatters normalize and format
-incoming records so that they can be used by the handlers to output useful
-information.
-
-Custom severity levels are not available. Only the eight
-[RFC 5424](http://tools.ietf.org/html/rfc5424) levels (debug, info, notice,
-warning, error, critical, alert, emergency) are present for basic filtering
-purposes, but for sorting and other use cases that would require
-flexibility, you should add Processors to the Logger that can add extra
-information (tags, user ip, ..) to the records before they are handled.
-
-Log Levels
-----------
-
-Monolog supports the logging levels described by [RFC 5424](http://tools.ietf.org/html/rfc5424).
-
-- **DEBUG** (100): Detailed debug information.
-
-- **INFO** (200): Interesting events. Examples: User logs in, SQL logs.
-
-- **NOTICE** (250): Normal but significant events.
-
-- **WARNING** (300): Exceptional occurrences that are not errors. Examples:
- Use of deprecated APIs, poor use of an API, undesirable things that are not
- necessarily wrong.
-
-- **ERROR** (400): Runtime errors that do not require immediate action but
- should typically be logged and monitored.
-
-- **CRITICAL** (500): Critical conditions. Example: Application component
- unavailable, unexpected exception.
-
-- **ALERT** (550): Action must be taken immediately. Example: Entire website
- down, database unavailable, etc. This should trigger the SMS alerts and wake
- you up.
-
-- **EMERGENCY** (600): Emergency: system is unusable.
-
-Docs
-====
-
-**See the `doc` directory for more detailed documentation.
-The following is only a list of all parts that come with Monolog.**
-
-Handlers
---------
-
-### Log to files and syslog
-
-- _StreamHandler_: Logs records into any PHP stream, use this for log files.
-- _RotatingFileHandler_: Logs records to a file and creates one logfile per day.
- It will also delete files older than `$maxFiles`. You should use
- [logrotate](http://linuxcommand.org/man_pages/logrotate8.html) for high profile
- setups though, this is just meant as a quick and dirty solution.
-- _SyslogHandler_: Logs records to the syslog.
-- _ErrorLogHandler_: Logs records to PHP's
- [`error_log()`](http://docs.php.net/manual/en/function.error-log.php) function.
-
-### Send alerts and emails
-
-- _NativeMailerHandler_: Sends emails using PHP's
- [`mail()`](http://php.net/manual/en/function.mail.php) function.
-- _SwiftMailerHandler_: Sends emails using a [`Swift_Mailer`](http://swiftmailer.org/) instance.
-- _PushoverHandler_: Sends mobile notifications via the [Pushover](https://www.pushover.net/) API.
-- _HipChatHandler_: Logs records to a [HipChat](http://hipchat.com) chat room using its API.
-- _FlowdockHandler_: Logs records to a [Flowdock](https://www.flowdock.com/) account.
-- _SlackHandler_: Logs records to a [Slack](https://www.slack.com/) account.
-- _MandrillHandler_: Sends emails via the Mandrill API using a [`Swift_Message`](http://swiftmailer.org/) instance.
-- _FleepHookHandler_: Logs records to a [Fleep](https://fleep.io/) conversation using Webhooks.
-
-### Log specific servers and networked logging
-
-- _SocketHandler_: Logs records to [sockets](http://php.net/fsockopen), use this
- for UNIX and TCP sockets. See an [example](https://github.com/Seldaek/monolog/blob/master/doc/sockets.md).
-- _AmqpHandler_: Logs records to an [amqp](http://www.amqp.org/) compatible
- server. Requires the [php-amqp](http://pecl.php.net/package/amqp) extension (1.0+).
-- _GelfHandler_: Logs records to a [Graylog2](http://www.graylog2.org) server.
-- _CubeHandler_: Logs records to a [Cube](http://square.github.com/cube/) server.
-- _RavenHandler_: Logs records to a [Sentry](http://getsentry.com/) server using
- [raven](https://packagist.org/packages/raven/raven).
-- _ZendMonitorHandler_: Logs records to the Zend Monitor present in Zend Server.
-- _NewRelicHandler_: Logs records to a [NewRelic](http://newrelic.com/) application.
-- _LogglyHandler_: Logs records to a [Loggly](http://www.loggly.com/) account.
-- _RollbarHandler_: Logs records to a [Rollbar](https://rollbar.com/) account.
-- _SyslogUdpHandler_: Logs records to a remote [Syslogd](http://www.rsyslog.com/) server.
-- _LogEntriesHandler_: Logs records to a [LogEntries](http://logentries.com/) account.
-
-### Logging in development
-
-- _FirePHPHandler_: Handler for [FirePHP](http://www.firephp.org/), providing
- inline `console` messages within [FireBug](http://getfirebug.com/).
-- _ChromePHPHandler_: Handler for [ChromePHP](http://www.chromephp.com/), providing
- inline `console` messages within Chrome.
-- _BrowserConsoleHandler_: Handler to send logs to browser's Javascript `console` with
- no browser extension required. Most browsers supporting `console` API are supported.
-
-### Log to databases
-
-- _RedisHandler_: Logs records to a [redis](http://redis.io) server.
-- _MongoDBHandler_: Handler to write records in MongoDB via a
- [Mongo](http://pecl.php.net/package/mongo) extension connection.
-- _CouchDBHandler_: Logs records to a CouchDB server.
-- _DoctrineCouchDBHandler_: Logs records to a CouchDB server via the Doctrine CouchDB ODM.
-- _ElasticSearchHandler_: Logs records to an Elastic Search server.
-- _DynamoDbHandler_: Logs records to a DynamoDB table with the [AWS SDK](https://github.com/aws/aws-sdk-php).
-
-### Wrappers / Special Handlers
-
-- _FingersCrossedHandler_: A very interesting wrapper. It takes a logger as
- parameter and will accumulate log records of all levels until a record
- exceeds the defined severity level. At which point it delivers all records,
- including those of lower severity, to the handler it wraps. This means that
- until an error actually happens you will not see anything in your logs, but
- when it happens you will have the full information, including debug and info
- records. This provides you with all the information you need, but only when
- you need it.
-- _WhatFailureGroupHandler_: This handler extends the _GroupHandler_ ignoring
- exceptions raised by each child handler. This allows you to ignore issues
- where a remote tcp connection may have died but you do not want your entire
- application to crash and may wish to continue to log to other handlers.
-- _BufferHandler_: This handler will buffer all the log records it receives
- until `close()` is called at which point it will call `handleBatch()` on the
- handler it wraps with all the log messages at once. This is very useful to
- send an email with all records at once for example instead of having one mail
- for every log record.
-- _GroupHandler_: This handler groups other handlers. Every record received is
- sent to all the handlers it is configured with.
-- _FilterHandler_: This handler only lets records of the given levels through
- to the wrapped handler.
-- _SamplingHandler_: Wraps around another handler and lets you sample records
- if you only want to store some of them.
-- _NullHandler_: Any record it can handle will be thrown away. This can be used
- to put on top of an existing handler stack to disable it temporarily.
-- _PsrHandler_: Can be used to forward log records to an existing PSR-3 logger
-- _TestHandler_: Used for testing, it records everything that is sent to it and
- has accessors to read out the information.
-
-Formatters
-----------
-
-- _LineFormatter_: Formats a log record into a one-line string.
-- _HtmlFormatter_: Used to format log records into a human readable html table, mainly suitable for emails.
-- _NormalizerFormatter_: Normalizes objects/resources down to strings so a record can easily be serialized/encoded.
-- _ScalarFormatter_: Used to format log records into an associative array of scalar values.
-- _JsonFormatter_: Encodes a log record into json.
-- _WildfireFormatter_: Used to format log records into the Wildfire/FirePHP protocol, only useful for the FirePHPHandler.
-- _ChromePHPFormatter_: Used to format log records into the ChromePHP format, only useful for the ChromePHPHandler.
-- _GelfMessageFormatter_: Used to format log records into Gelf message instances, only useful for the GelfHandler.
-- _LogstashFormatter_: Used to format log records into [logstash](http://logstash.net/) event json, useful for any handler listed under inputs [here](http://logstash.net/docs/latest).
-- _ElasticaFormatter_: Used to format log records into an Elastica\Document object, only useful for the ElasticSearchHandler.
-- _LogglyFormatter_: Used to format log records into Loggly messages, only useful for the LogglyHandler.
-- _FlowdockFormatter_: Used to format log records into Flowdock messages, only useful for the FlowdockHandler.
-- _MongoDBFormatter_: Converts \DateTime instances to \MongoDate and objects recursively to arrays, only useful with the MongoDBHandler.
-
-Processors
-----------
-
-- _IntrospectionProcessor_: Adds the line/file/class/method from which the log call originated.
-- _WebProcessor_: Adds the current request URI, request method and client IP to a log record.
-- _MemoryUsageProcessor_: Adds the current memory usage to a log record.
-- _MemoryPeakUsageProcessor_: Adds the peak memory usage to a log record.
-- _ProcessIdProcessor_: Adds the process id to a log record.
-- _UidProcessor_: Adds a unique identifier to a log record.
-- _GitProcessor_: Adds the current git branch and commit to a log record.
-- _TagProcessor_: Adds an array of predefined tags to a log record.
-
-Utilities
----------
-
-- _Registry_: The `Monolog\Registry` class lets you configure global loggers that you
- can then statically access from anywhere. It is not really a best practice but can
- help in some older codebases or for ease of use.
-- _ErrorHandler_: The `Monolog\ErrorHandler` class allows you to easily register
- a Logger instance as an exception handler, error handler or fatal error handler.
-- _ErrorLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain log
- level is reached.
-- _ChannelLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain
- log level is reached, depending on which channel received the log record.
-
-About
-=====
-
-Requirements
-------------
-
-- Monolog works with PHP 5.3 or above, and is also tested to work with HHVM.
-
-Submitting bugs and feature requests
-------------------------------------
-
-Bugs and feature request are tracked on [GitHub](https://github.com/Seldaek/monolog/issues)
-
-Frameworks Integration
-----------------------
-
-- Frameworks and libraries using [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
- can be used very easily with Monolog since it implements the interface.
-- [Symfony2](http://symfony.com) comes out of the box with Monolog.
-- [Silex](http://silex.sensiolabs.org/) comes out of the box with Monolog.
-- [Laravel 4](http://laravel.com/) comes out of the box with Monolog.
-- [PPI](http://www.ppi.io/) comes out of the box with Monolog.
-- [CakePHP](http://cakephp.org/) is usable with Monolog via the [cakephp-monolog](https://github.com/jadb/cakephp-monolog) plugin.
-- [Slim](http://www.slimframework.com/) is usable with Monolog via the [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog) log writer.
-- [XOOPS 2.6](http://xoops.org/) comes out of the box with Monolog.
-- [Aura.Web_Project](https://github.com/auraphp/Aura.Web_Project) comes out of the box with Monolog.
-
-Author
-------
-
-Jordi Boggiano - <j.boggiano@seld.be> - <http://twitter.com/seldaek><br />
-See also the list of [contributors](https://github.com/Seldaek/monolog/contributors) which participated in this project.
-
-License
--------
-
-Monolog is licensed under the MIT License - see the `LICENSE` file for details
-
-Acknowledgements
-----------------
-
-This library is heavily inspired by Python's [Logbook](http://packages.python.org/Logbook/)
-library, although most concepts have been adjusted to fit to the PHP world.
diff --git a/vendor/monolog/monolog/composer.json b/vendor/monolog/monolog/composer.json
deleted file mode 100644
index 43704236..00000000
--- a/vendor/monolog/monolog/composer.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "monolog/monolog",
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "keywords": ["log", "logging", "psr-3"],
- "homepage": "http://github.com/Seldaek/monolog",
- "type": "library",
- "license": "MIT",
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0",
- "graylog2/gelf-php": "~1.0",
- "raven/raven": "~0.5",
- "ruflin/elastica": "0.90.*",
- "doctrine/couchdb": "~1.0@dev",
- "aws/aws-sdk-php": "~2.4, >2.4.8",
- "videlalvaro/php-amqplib": "~2.4"
- },
- "suggest": {
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "raven/raven": "Allow sending log messages to a Sentry server",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "rollbar/rollbar": "Allow sending log messages to Rollbar"
- },
- "autoload": {
- "psr-4": {"Monolog\\": "src/Monolog"}
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.12.x-dev"
- }
- }
-}
diff --git a/vendor/monolog/monolog/doc/extending.md b/vendor/monolog/monolog/doc/extending.md
deleted file mode 100644
index bb39ddcf..00000000
--- a/vendor/monolog/monolog/doc/extending.md
+++ /dev/null
@@ -1,76 +0,0 @@
-Extending Monolog
-=================
-
-Monolog is fully extensible, allowing you to adapt your logger to your needs.
-
-Writing your own handler
-------------------------
-
-Monolog provides many built-in handlers. But if the one you need does not
-exist, you can write it and use it in your logger. The only requirement is
-to implement `Monolog\Handler\HandlerInterface`.
-
-Let's write a PDOHandler to log records to a database. We will extend the
-abstract class provided by Monolog to keep things DRY.
-
-```php
-<?php
-
-use Monolog\Logger;
-use Monolog\Handler\AbstractProcessingHandler;
-
-class PDOHandler extends AbstractProcessingHandler
-{
- private $initialized = false;
- private $pdo;
- private $statement;
-
- public function __construct(PDO $pdo, $level = Logger::DEBUG, $bubble = true)
- {
- $this->pdo = $pdo;
- parent::__construct($level, $bubble);
- }
-
- protected function write(array $record)
- {
- if (!$this->initialized) {
- $this->initialize();
- }
-
- $this->statement->execute(array(
- 'channel' => $record['channel'],
- 'level' => $record['level'],
- 'message' => $record['formatted'],
- 'time' => $record['datetime']->format('U'),
- ));
- }
-
- private function initialize()
- {
- $this->pdo->exec(
- 'CREATE TABLE IF NOT EXISTS monolog '
- .'(channel VARCHAR(255), level INTEGER, message LONGTEXT, time INTEGER UNSIGNED)'
- );
- $this->statement = $this->pdo->prepare(
- 'INSERT INTO monolog (channel, level, message, time) VALUES (:channel, :level, :message, :time)'
- );
-
- $this->initialized = true;
- }
-}
-```
-
-You can now use this handler in your logger:
-
-```php
-<?php
-
-$logger->pushHandler(new PDOHandler(new PDO('sqlite:logs.sqlite')));
-
-// You can now use your logger
-$logger->addInfo('My logger is now ready');
-```
-
-The `Monolog\Handler\AbstractProcessingHandler` class provides most of the
-logic needed for the handler, including the use of processors and the formatting
-of the record (which is why we use ``$record['formatted']`` instead of ``$record['message']``).
diff --git a/vendor/monolog/monolog/doc/sockets.md b/vendor/monolog/monolog/doc/sockets.md
deleted file mode 100644
index fad30a9f..00000000
--- a/vendor/monolog/monolog/doc/sockets.md
+++ /dev/null
@@ -1,37 +0,0 @@
-Sockets Handler
-===============
-
-This handler allows you to write your logs to sockets using [fsockopen](http://php.net/fsockopen)
-or [pfsockopen](http://php.net/pfsockopen).
-
-Persistent sockets are mainly useful in web environments where you gain some performance not closing/opening
-the connections between requests.
-
-Basic Example
--------------
-
-```php
-<?php
-
-use Monolog\Logger;
-use Monolog\Handler\SocketHandler;
-
-// Create the logger
-$logger = new Logger('my_logger');
-
-// Create the handler
-$handler = new SocketHandler('unix:///var/log/httpd_app_log.socket');
-$handler->setPersistent(true);
-
-// Now add the handler
-$logger->pushHandler($handler, Logger::DEBUG);
-
-// You can now use your logger
-$logger->addInfo('My logger is now ready');
-
-```
-
-In this example, using syslog-ng, you should see the log on the log server:
-
- cweb1 [2012-02-26 00:12:03] my_logger.INFO: My logger is now ready [] []
-
diff --git a/vendor/monolog/monolog/doc/usage.md b/vendor/monolog/monolog/doc/usage.md
deleted file mode 100644
index 7585fa2a..00000000
--- a/vendor/monolog/monolog/doc/usage.md
+++ /dev/null
@@ -1,162 +0,0 @@
-Using Monolog
-=============
-
-Installation
-------------
-
-Monolog is available on Packagist ([monolog/monolog](http://packagist.org/packages/monolog/monolog))
-and as such installable via [Composer](http://getcomposer.org/).
-
-```bash
-php composer.phar require monolog/monolog
-```
-
-If you do not use Composer, you can grab the code from GitHub, and use any
-PSR-0 compatible autoloader (e.g. the [Symfony2 ClassLoader component](https://github.com/symfony/ClassLoader))
-to load Monolog classes.
-
-Configuring a logger
---------------------
-
-Here is a basic setup to log to a file and to firephp on the DEBUG level:
-
-```php
-<?php
-
-use Monolog\Logger;
-use Monolog\Handler\StreamHandler;
-use Monolog\Handler\FirePHPHandler;
-
-// Create the logger
-$logger = new Logger('my_logger');
-// Now add some handlers
-$logger->pushHandler(new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG));
-$logger->pushHandler(new FirePHPHandler());
-
-// You can now use your logger
-$logger->addInfo('My logger is now ready');
-```
-
-Let's explain it. The first step is to create the logger instance which will
-be used in your code. The argument is a channel name, which is useful when
-you use several loggers (see below for more details about it).
-
-The logger itself does not know how to handle a record. It delegates it to
-some handlers. The code above registers two handlers in the stack to allow
-handling records in two different ways.
-
-Note that the FirePHPHandler is called first as it is added on top of the
-stack. This allows you to temporarily add a logger with bubbling disabled if
-you want to override other configured loggers.
-
-Adding extra data in the records
---------------------------------
-
-Monolog provides two different ways to add extra informations along the simple
-textual message.
-
-### Using the logging context
-
-The first way is the context, allowing to pass an array of data along the
-record:
-
-```php
-<?php
-
-$logger->addInfo('Adding a new user', array('username' => 'Seldaek'));
-```
-
-Simple handlers (like the StreamHandler for instance) will simply format
-the array to a string but richer handlers can take advantage of the context
-(FirePHP is able to display arrays in pretty way for instance).
-
-### Using processors
-
-The second way is to add extra data for all records by using a processor.
-Processors can be any callable. They will get the record as parameter and
-must return it after having eventually changed the `extra` part of it. Let's
-write a processor adding some dummy data in the record:
-
-```php
-<?php
-
-$logger->pushProcessor(function ($record) {
- $record['extra']['dummy'] = 'Hello world!';
-
- return $record;
-});
-```
-
-Monolog provides some built-in processors that can be used in your project.
-Look at the [README file](https://github.com/Seldaek/monolog/blob/master/README.mdown) for the list.
-
-> Tip: processors can also be registered on a specific handler instead of
- the logger to apply only for this handler.
-
-Leveraging channels
--------------------
-
-Channels are a great way to identify to which part of the application a record
-is related. This is useful in big applications (and is leveraged by
-MonologBundle in Symfony2).
-
-Picture two loggers sharing a handler that writes to a single log file.
-Channels would allow you to identify the logger that issued every record.
-You can easily grep through the log files filtering this or that channel.
-
-```php
-<?php
-
-use Monolog\Logger;
-use Monolog\Handler\StreamHandler;
-use Monolog\Handler\FirePHPHandler;
-
-// Create some handlers
-$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
-$firephp = new FirePHPHandler();
-
-// Create the main logger of the app
-$logger = new Logger('my_logger');
-$logger->pushHandler($stream);
-$logger->pushHandler($firephp);
-
-// Create a logger for the security-related stuff with a different channel
-$securityLogger = new Logger('security');
-$securityLogger->pushHandler($stream);
-$securityLogger->pushHandler($firephp);
-```
-
-Customizing log format
-----------------------
-
-In Monolog it's easy to customize the format of the logs written into files,
-sockets, mails, databases and other handlers. Most of the handlers use the
-
-```php
-$record['formatted']
-```
-
-value to be automatically put into the log device. This value depends on the
-formatter settings. You can choose between predefined formatter classes or
-write your own (e.g. a multiline text file for human-readable output).
-
-To configure a predefined formatter class, just set it as the handler's field:
-
-```php
-// the default date format is "Y-m-d H:i:s"
-$dateFormat = "Y n j, g:i a";
-// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"
-$output = "%datetime% > %level_name% > %message% %context% %extra%\n";
-// finally, create a formatter
-$formatter = new LineFormatter($output, $dateFormat);
-
-// Create a handler
-$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
-$stream->setFormatter($formatter);
-// bind it to a logger object
-$securityLogger = new Logger('security');
-$securityLogger->pushHandler($stream);
-```
-
-You may also reuse the same formatter between multiple handlers and share those
-handlers between multiple loggers.
diff --git a/vendor/monolog/monolog/phpunit.xml.dist b/vendor/monolog/monolog/phpunit.xml.dist
deleted file mode 100644
index 17545707..00000000
--- a/vendor/monolog/monolog/phpunit.xml.dist
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit bootstrap="tests/bootstrap.php" colors="true">
- <testsuites>
- <testsuite name="Monolog Test Suite">
- <directory>tests/Monolog/</directory>
- </testsuite>
- </testsuites>
-
- <filter>
- <whitelist>
- <directory suffix=".php">src/Monolog/</directory>
- </whitelist>
- </filter>
-</phpunit>
diff --git a/vendor/monolog/monolog/src/Monolog/ErrorHandler.php b/vendor/monolog/monolog/src/Monolog/ErrorHandler.php
deleted file mode 100644
index c8923354..00000000
--- a/vendor/monolog/monolog/src/Monolog/ErrorHandler.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use Psr\Log\LoggerInterface;
-use Psr\Log\LogLevel;
-
-/**
- * Monolog error handler
- *
- * A facility to enable logging of runtime errors, exceptions and fatal errors.
- *
- * Quick setup: <code>ErrorHandler::register($logger);</code>
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class ErrorHandler
-{
- private $logger;
-
- private $previousExceptionHandler;
- private $uncaughtExceptionLevel;
-
- private $previousErrorHandler;
- private $errorLevelMap;
-
- private $fatalLevel;
- private $reservedMemory;
- private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR);
-
- public function __construct(LoggerInterface $logger)
- {
- $this->logger = $logger;
- }
-
- /**
- * Registers a new ErrorHandler for a given Logger
- *
- * By default it will handle errors, exceptions and fatal errors
- *
- * @param LoggerInterface $logger
- * @param array|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling
- * @param int|false $exceptionLevel a LogLevel::* constant, or false to disable exception handling
- * @param int|false $fatalLevel a LogLevel::* constant, or false to disable fatal error handling
- * @return ErrorHandler
- */
- public static function register(LoggerInterface $logger, $errorLevelMap = array(), $exceptionLevel = null, $fatalLevel = null)
- {
- $handler = new static($logger);
- if ($errorLevelMap !== false) {
- $handler->registerErrorHandler($errorLevelMap);
- }
- if ($exceptionLevel !== false) {
- $handler->registerExceptionHandler($exceptionLevel);
- }
- if ($fatalLevel !== false) {
- $handler->registerFatalHandler($fatalLevel);
- }
-
- return $handler;
- }
-
- public function registerExceptionHandler($level = null, $callPrevious = true)
- {
- $prev = set_exception_handler(array($this, 'handleException'));
- $this->uncaughtExceptionLevel = $level;
- if ($callPrevious && $prev) {
- $this->previousExceptionHandler = $prev;
- }
- }
-
- public function registerErrorHandler(array $levelMap = array(), $callPrevious = true, $errorTypes = -1)
- {
- $prev = set_error_handler(array($this, 'handleError'), $errorTypes);
- $this->errorLevelMap = array_replace($this->defaultErrorLevelMap(), $levelMap);
- if ($callPrevious) {
- $this->previousErrorHandler = $prev ?: true;
- }
- }
-
- public function registerFatalHandler($level = null, $reservedMemorySize = 20)
- {
- register_shutdown_function(array($this, 'handleFatalError'));
-
- $this->reservedMemory = str_repeat(' ', 1024 * $reservedMemorySize);
- $this->fatalLevel = $level;
- }
-
- protected function defaultErrorLevelMap()
- {
- return array(
- E_ERROR => LogLevel::CRITICAL,
- E_WARNING => LogLevel::WARNING,
- E_PARSE => LogLevel::ALERT,
- E_NOTICE => LogLevel::NOTICE,
- E_CORE_ERROR => LogLevel::CRITICAL,
- E_CORE_WARNING => LogLevel::WARNING,
- E_COMPILE_ERROR => LogLevel::ALERT,
- E_COMPILE_WARNING => LogLevel::WARNING,
- E_USER_ERROR => LogLevel::ERROR,
- E_USER_WARNING => LogLevel::WARNING,
- E_USER_NOTICE => LogLevel::NOTICE,
- E_STRICT => LogLevel::NOTICE,
- E_RECOVERABLE_ERROR => LogLevel::ERROR,
- E_DEPRECATED => LogLevel::NOTICE,
- E_USER_DEPRECATED => LogLevel::NOTICE,
- );
- }
-
- /**
- * @private
- */
- public function handleException(\Exception $e)
- {
- $this->logger->log(
- $this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel,
- sprintf('Uncaught Exception %s: "%s" at %s line %s', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()),
- array('exception' => $e)
- );
-
- if ($this->previousExceptionHandler) {
- call_user_func($this->previousExceptionHandler, $e);
- }
- }
-
- /**
- * @private
- */
- public function handleError($code, $message, $file = '', $line = 0, $context = array())
- {
- if (!(error_reporting() & $code)) {
- return;
- }
-
- $level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL;
- $this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line));
-
- if ($this->previousErrorHandler === true) {
- return false;
- } elseif ($this->previousErrorHandler) {
- return call_user_func($this->previousErrorHandler, $code, $message, $file, $line, $context);
- }
- }
-
- /**
- * @private
- */
- public function handleFatalError()
- {
- $this->reservedMemory = null;
-
- $lastError = error_get_last();
- if ($lastError && in_array($lastError['type'], self::$fatalErrors)) {
- $this->logger->log(
- $this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel,
- 'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'],
- array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'])
- );
- }
- }
-
- private static function codeToString($code)
- {
- switch ($code) {
- case E_ERROR:
- return 'E_ERROR';
- case E_WARNING:
- return 'E_WARNING';
- case E_PARSE:
- return 'E_PARSE';
- case E_NOTICE:
- return 'E_NOTICE';
- case E_CORE_ERROR:
- return 'E_CORE_ERROR';
- case E_CORE_WARNING:
- return 'E_CORE_WARNING';
- case E_COMPILE_ERROR:
- return 'E_COMPILE_ERROR';
- case E_COMPILE_WARNING:
- return 'E_COMPILE_WARNING';
- case E_USER_ERROR:
- return 'E_USER_ERROR';
- case E_USER_WARNING:
- return 'E_USER_WARNING';
- case E_USER_NOTICE:
- return 'E_USER_NOTICE';
- case E_STRICT:
- return 'E_STRICT';
- case E_RECOVERABLE_ERROR:
- return 'E_RECOVERABLE_ERROR';
- case E_DEPRECATED:
- return 'E_DEPRECATED';
- case E_USER_DEPRECATED:
- return 'E_USER_DEPRECATED';
- }
-
- return 'Unknown PHP error';
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php
deleted file mode 100644
index 56d3e278..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-/**
- * Formats a log message according to the ChromePHP array format
- *
- * @author Christophe Coevoet <stof@notk.org>
- */
-class ChromePHPFormatter implements FormatterInterface
-{
- /**
- * Translates Monolog log levels to Wildfire levels.
- */
- private $logLevels = array(
- Logger::DEBUG => 'log',
- Logger::INFO => 'info',
- Logger::NOTICE => 'info',
- Logger::WARNING => 'warn',
- Logger::ERROR => 'error',
- Logger::CRITICAL => 'error',
- Logger::ALERT => 'error',
- Logger::EMERGENCY => 'error',
- );
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- // Retrieve the line and file if set and remove them from the formatted extra
- $backtrace = 'unknown';
- if (isset($record['extra']['file']) && isset($record['extra']['line'])) {
- $backtrace = $record['extra']['file'].' : '.$record['extra']['line'];
- unset($record['extra']['file']);
- unset($record['extra']['line']);
- }
-
- $message = array('message' => $record['message']);
- if ($record['context']) {
- $message['context'] = $record['context'];
- }
- if ($record['extra']) {
- $message['extra'] = $record['extra'];
- }
- if (count($message) === 1) {
- $message = reset($message);
- }
-
- return array(
- $record['channel'],
- $message,
- $backtrace,
- $this->logLevels[$record['level']],
- );
- }
-
- public function formatBatch(array $records)
- {
- $formatted = array();
-
- foreach ($records as $record) {
- $formatted[] = $this->format($record);
- }
-
- return $formatted;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php
deleted file mode 100644
index b0b0cf06..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Elastica\Document;
-
-/**
- * Format a log message into an Elastica Document
- *
- * @author Jelle Vink <jelle.vink@gmail.com>
- */
-class ElasticaFormatter extends NormalizerFormatter
-{
- /**
- * @var string Elastic search index name
- */
- protected $index;
-
- /**
- * @var string Elastic search document type
- */
- protected $type;
-
- /**
- * @param string $index Elastic Search index name
- * @param string $type Elastic Search document type
- */
- public function __construct($index, $type)
- {
- parent::__construct(\DateTime::ISO8601);
- $this->index = $index;
- $this->type = $type;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- $record = parent::format($record);
-
- return $this->getDocument($record);
- }
-
- /**
- * Getter index
- * @return string
- */
- public function getIndex()
- {
- return $this->index;
- }
-
- /**
- * Getter type
- * @return string
- */
- public function getType()
- {
- return $this->type;
- }
-
- /**
- * Convert a log message into an Elastica Document
- *
- * @param array $record Log message
- * @return Document
- */
- protected function getDocument($record)
- {
- $document = new Document();
- $document->setData($record);
- $document->setType($this->type);
- $document->setIndex($this->index);
-
- return $document;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php
deleted file mode 100644
index af63d011..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * formats the record to be used in the FlowdockHandler
- *
- * @author Dominik Liebler <liebler.dominik@gmail.com>
- */
-class FlowdockFormatter implements FormatterInterface
-{
- /**
- * @var string
- */
- private $source;
-
- /**
- * @var string
- */
- private $sourceEmail;
-
- /**
- * @param string $source
- * @param string $sourceEmail
- */
- public function __construct($source, $sourceEmail)
- {
- $this->source = $source;
- $this->sourceEmail = $sourceEmail;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- $tags = array(
- '#logs',
- '#' . strtolower($record['level_name']),
- '#' . $record['channel'],
- );
-
- foreach ($record['extra'] as $value) {
- $tags[] = '#' . $value;
- }
-
- $subject = sprintf(
- 'in %s: %s - %s',
- $this->source,
- $record['level_name'],
- $this->getShortMessage($record['message'])
- );
-
- $record['flowdock'] = array(
- 'source' => $this->source,
- 'from_address' => $this->sourceEmail,
- 'subject' => $subject,
- 'content' => $record['message'],
- 'tags' => $tags,
- 'project' => $this->source,
- );
-
- return $record;
- }
-
- /**
- * {@inheritdoc}
- */
- public function formatBatch(array $records)
- {
- $formatted = array();
-
- foreach ($records as $record) {
- $formatted[] = $this->format($record);
- }
-
- return $formatted;
- }
-
- /**
- * @param string $message
- *
- * @return string
- */
- public function getShortMessage($message)
- {
- $maxLength = 45;
-
- if (strlen($message) > $maxLength) {
- $message = substr($message, 0, $maxLength - 4) . ' ...';
- }
-
- return $message;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php b/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php
deleted file mode 100644
index b5de7511..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Interface for formatters
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface FormatterInterface
-{
- /**
- * Formats a log record.
- *
- * @param array $record A record to format
- * @return mixed The formatted record
- */
- public function format(array $record);
-
- /**
- * Formats a set of log records.
- *
- * @param array $records A set of records to format
- * @return mixed The formatted set of records
- */
- public function formatBatch(array $records);
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php
deleted file mode 100644
index 8d01c64c..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-use Gelf\Message;
-
-/**
- * Serializes a log message to GELF
- * @see http://www.graylog2.org/about/gelf
- *
- * @author Matt Lehner <mlehner@gmail.com>
- */
-class GelfMessageFormatter extends NormalizerFormatter
-{
- /**
- * @var string the name of the system for the Gelf log message
- */
- protected $systemName;
-
- /**
- * @var string a prefix for 'extra' fields from the Monolog record (optional)
- */
- protected $extraPrefix;
-
- /**
- * @var string a prefix for 'context' fields from the Monolog record (optional)
- */
- protected $contextPrefix;
-
- /**
- * Translates Monolog log levels to Graylog2 log priorities.
- */
- private $logLevels = array(
- Logger::DEBUG => 7,
- Logger::INFO => 6,
- Logger::NOTICE => 5,
- Logger::WARNING => 4,
- Logger::ERROR => 3,
- Logger::CRITICAL => 2,
- Logger::ALERT => 1,
- Logger::EMERGENCY => 0,
- );
-
- public function __construct($systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_')
- {
- parent::__construct('U.u');
-
- $this->systemName = $systemName ?: gethostname();
-
- $this->extraPrefix = $extraPrefix;
- $this->contextPrefix = $contextPrefix;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- $record = parent::format($record);
- $message = new Message();
- $message
- ->setTimestamp($record['datetime'])
- ->setShortMessage((string) $record['message'])
- ->setFacility($record['channel'])
- ->setHost($this->systemName)
- ->setLine(isset($record['extra']['line']) ? $record['extra']['line'] : null)
- ->setFile(isset($record['extra']['file']) ? $record['extra']['file'] : null)
- ->setLevel($this->logLevels[$record['level']]);
-
- // Do not duplicate these values in the additional fields
- unset($record['extra']['line']);
- unset($record['extra']['file']);
-
- foreach ($record['extra'] as $key => $val) {
- $message->setAdditional($this->extraPrefix . $key, is_scalar($val) ? $val : $this->toJson($val));
- }
-
- foreach ($record['context'] as $key => $val) {
- $message->setAdditional($this->contextPrefix . $key, is_scalar($val) ? $val : $this->toJson($val));
- }
-
- if (null === $message->getFile() && isset($record['context']['exception']['file'])) {
- if (preg_match("/^(.+):([0-9]+)$/", $record['context']['exception']['file'], $matches)) {
- $message->setFile($matches[1]);
- $message->setLine($matches[2]);
- }
- }
-
- return $message;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php
deleted file mode 100644
index 255d2887..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-/**
- * Formats incoming records into an HTML table
- *
- * This is especially useful for html email logging
- *
- * @author Tiago Brito <tlfbrito@gmail.com>
- */
-class HtmlFormatter extends NormalizerFormatter
-{
- /**
- * Translates Monolog log levels to html color priorities.
- */
- private $logLevels = array(
- Logger::DEBUG => '#cccccc',
- Logger::INFO => '#468847',
- Logger::NOTICE => '#3a87ad',
- Logger::WARNING => '#c09853',
- Logger::ERROR => '#f0ad4e',
- Logger::CRITICAL => '#FF7708',
- Logger::ALERT => '#C12A19',
- Logger::EMERGENCY => '#000000',
- );
-
- /**
- * @param string $dateFormat The format of the timestamp: one supported by DateTime::format
- */
- public function __construct($dateFormat = null)
- {
- parent::__construct($dateFormat);
- }
-
- /**
- * Creates an HTML table row
- *
- * @param string $th Row header content
- * @param string $td Row standard cell content
- * @param bool $escapeTd false if td content must not be html escaped
- * @return string
- */
- private function addRow($th, $td = ' ', $escapeTd = true)
- {
- $th = htmlspecialchars($th, ENT_NOQUOTES, 'UTF-8');
- if ($escapeTd) {
- $td = '<pre>'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'</pre>';
- }
-
- return "<tr style=\"padding: 4px;spacing: 0;text-align: left;\">\n<th style=\"background: #cccccc\" width=\"100px\">$th:</th>\n<td style=\"padding: 4px;spacing: 0;text-align: left;background: #eeeeee\">".$td."</td>\n</tr>";
- }
-
- /**
- * Create a HTML h1 tag
- *
- * @param string $title Text to be in the h1
- * @param integer $level Error level
- * @return string
- */
- private function addTitle($title, $level)
- {
- $title = htmlspecialchars($title, ENT_NOQUOTES, 'UTF-8');
-
- return '<h1 style="background: '.$this->logLevels[$level].';color: #ffffff;padding: 5px;" class="monolog-output">'.$title.'</h1>';
- }
- /**
- * Formats a log record.
- *
- * @param array $record A record to format
- * @return mixed The formatted record
- */
- public function format(array $record)
- {
- $output = $this->addTitle($record['level_name'], $record['level']);
- $output .= '<table cellspacing="1" width="100%" class="monolog-output">';
-
- $output .= $this->addRow('Message', (string) $record['message']);
- $output .= $this->addRow('Time', $record['datetime']->format($this->dateFormat));
- $output .= $this->addRow('Channel', $record['channel']);
- if ($record['context']) {
- $embeddedTable = '<table cellspacing="1" width="100%">';
- foreach ($record['context'] as $key => $value) {
- $embeddedTable .= $this->addRow($key, $this->convertToString($value));
- }
- $embeddedTable .= '</table>';
- $output .= $this->addRow('Context', $embeddedTable, false);
- }
- if ($record['extra']) {
- $embeddedTable = '<table cellspacing="1" width="100%">';
- foreach ($record['extra'] as $key => $value) {
- $embeddedTable .= $this->addRow($key, $this->convertToString($value));
- }
- $embeddedTable .= '</table>';
- $output .= $this->addRow('Extra', $embeddedTable, false);
- }
-
- return $output.'</table>';
- }
-
- /**
- * Formats a set of log records.
- *
- * @param array $records A set of records to format
- * @return mixed The formatted set of records
- */
- public function formatBatch(array $records)
- {
- $message = '';
- foreach ($records as $record) {
- $message .= $this->format($record);
- }
-
- return $message;
- }
-
- protected function convertToString($data)
- {
- if (null === $data || is_scalar($data)) {
- return (string) $data;
- }
-
- $data = $this->normalize($data);
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
- }
-
- return str_replace('\\/', '/', json_encode($data));
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
deleted file mode 100644
index 7963dbf1..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Encodes whatever record data is passed to it as json
- *
- * This can be useful to log to databases or remote APIs
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class JsonFormatter implements FormatterInterface
-{
- const BATCH_MODE_JSON = 1;
- const BATCH_MODE_NEWLINES = 2;
-
- protected $batchMode;
- protected $appendNewline;
-
- /**
- * @param int $batchMode
- */
- public function __construct($batchMode = self::BATCH_MODE_JSON, $appendNewline = true)
- {
- $this->batchMode = $batchMode;
- $this->appendNewline = $appendNewline;
- }
-
- /**
- * The batch mode option configures the formatting style for
- * multiple records. By default, multiple records will be
- * formatted as a JSON-encoded array. However, for
- * compatibility with some API endpoints, alternive styles
- * are available.
- *
- * @return int
- */
- public function getBatchMode()
- {
- return $this->batchMode;
- }
-
- /**
- * True if newlines are appended to every formatted record
- *
- * @return bool
- */
- public function isAppendingNewlines()
- {
- return $this->appendNewline;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- return json_encode($record) . ($this->appendNewline ? "\n" : '');
- }
-
- /**
- * {@inheritdoc}
- */
- public function formatBatch(array $records)
- {
- switch ($this->batchMode) {
- case static::BATCH_MODE_NEWLINES:
- return $this->formatBatchNewlines($records);
-
- case static::BATCH_MODE_JSON:
- default:
- return $this->formatBatchJson($records);
- }
- }
-
- /**
- * Return a JSON-encoded array of records.
- *
- * @param array $records
- * @return string
- */
- protected function formatBatchJson(array $records)
- {
- return json_encode($records);
- }
-
- /**
- * Use new lines to separate records instead of a
- * JSON-encoded array.
- *
- * @param array $records
- * @return string
- */
- protected function formatBatchNewlines(array $records)
- {
- $instance = $this;
-
- $oldNewline = $this->appendNewline;
- $this->appendNewline = false;
- array_walk($records, function (&$value, $key) use ($instance) {
- $value = $instance->format($value);
- });
- $this->appendNewline = $oldNewline;
-
- return implode("\n", $records);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php
deleted file mode 100644
index 6983d1a5..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Exception;
-
-/**
- * Formats incoming records into a one-line string
- *
- * This is especially useful for logging to files
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Christophe Coevoet <stof@notk.org>
- */
-class LineFormatter extends NormalizerFormatter
-{
- const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";
-
- protected $format;
- protected $allowInlineLineBreaks;
- protected $ignoreEmptyContextAndExtra;
- protected $includeStacktraces;
-
- /**
- * @param string $format The format of the message
- * @param string $dateFormat The format of the timestamp: one supported by DateTime::format
- * @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries
- * @param bool $ignoreEmptyContextAndExtra
- */
- public function __construct($format = null, $dateFormat = null, $allowInlineLineBreaks = false, $ignoreEmptyContextAndExtra = false)
- {
- $this->format = $format ?: static::SIMPLE_FORMAT;
- $this->allowInlineLineBreaks = $allowInlineLineBreaks;
- $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
- parent::__construct($dateFormat);
- }
-
- public function includeStacktraces($include = true)
- {
- $this->includeStacktraces = $include;
- if ($this->includeStacktraces) {
- $this->allowInlineLineBreaks = true;
- }
- }
-
- public function allowInlineLineBreaks($allow = true)
- {
- $this->allowInlineLineBreaks = $allow;
- }
-
- public function ignoreEmptyContextAndExtra($ignore = true)
- {
- $this->ignoreEmptyContextAndExtra = $ignore;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- $vars = parent::format($record);
-
- $output = $this->format;
-
- foreach ($vars['extra'] as $var => $val) {
- if (false !== strpos($output, '%extra.'.$var.'%')) {
- $output = str_replace('%extra.'.$var.'%', $this->stringify($val), $output);
- unset($vars['extra'][$var]);
- }
- }
-
- if ($this->ignoreEmptyContextAndExtra) {
- if (empty($vars['context'])) {
- unset($vars['context']);
- $output = str_replace('%context%', '', $output);
- }
-
- if (empty($vars['extra'])) {
- unset($vars['extra']);
- $output = str_replace('%extra%', '', $output);
- }
- }
-
- foreach ($vars as $var => $val) {
- if (false !== strpos($output, '%'.$var.'%')) {
- $output = str_replace('%'.$var.'%', $this->stringify($val), $output);
- }
- }
-
- return $output;
- }
-
- public function formatBatch(array $records)
- {
- $message = '';
- foreach ($records as $record) {
- $message .= $this->format($record);
- }
-
- return $message;
- }
-
- public function stringify($value)
- {
- return $this->replaceNewlines($this->convertToString($value));
- }
-
- protected function normalizeException(Exception $e)
- {
- $previousText = '';
- if ($previous = $e->getPrevious()) {
- do {
- $previousText .= ', '.get_class($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine();
- } while ($previous = $previous->getPrevious());
- }
-
- $str = '[object] ('.get_class($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')';
- if ($this->includeStacktraces) {
- $str .= "\n[stacktrace]\n".$e->getTraceAsString();
- }
-
- return $str;
- }
-
- protected function convertToString($data)
- {
- if (null === $data || is_bool($data)) {
- return var_export($data, true);
- }
-
- if (is_scalar($data)) {
- return (string) $data;
- }
-
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return $this->toJson($data, true);
- }
-
- return str_replace('\\/', '/', @json_encode($data));
- }
-
- protected function replaceNewlines($str)
- {
- if ($this->allowInlineLineBreaks) {
- return $str;
- }
-
- return strtr($str, array("\r\n" => ' ', "\r" => ' ', "\n" => ' '));
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php
deleted file mode 100644
index f02bceb0..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Encodes message information into JSON in a format compatible with Loggly.
- *
- * @author Adam Pancutt <adam@pancutt.com>
- */
-class LogglyFormatter extends JsonFormatter
-{
- /**
- * Overrides the default batch mode to new lines for compatibility with the
- * Loggly bulk API.
- *
- * @param integer $batchMode
- */
- public function __construct($batchMode = self::BATCH_MODE_NEWLINES, $appendNewline = false)
- {
- parent::__construct($batchMode, $appendNewline);
- }
-
- /**
- * Appends the 'timestamp' parameter for indexing by Loggly.
- *
- * @see https://www.loggly.com/docs/automated-parsing/#json
- * @see \Monolog\Formatter\JsonFormatter::format()
- */
- public function format(array $record)
- {
- if (isset($record["datetime"]) && ($record["datetime"] instanceof \DateTime)) {
- $record["timestamp"] = $record["datetime"]->format("Y-m-d\TH:i:s.uO");
- // TODO 2.0 unset the 'datetime' parameter, retained for BC
- }
-
- return parent::format($record);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php
deleted file mode 100644
index 7a7b3b3c..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Serializes a log message to Logstash Event Format
- *
- * @see http://logstash.net/
- * @see https://github.com/logstash/logstash/blob/master/lib/logstash/event.rb
- *
- * @author Tim Mower <timothy.mower@gmail.com>
- */
-class LogstashFormatter extends NormalizerFormatter
-{
- const V0 = 0;
- const V1 = 1;
-
- /**
- * @var string the name of the system for the Logstash log message, used to fill the @source field
- */
- protected $systemName;
-
- /**
- * @var string an application name for the Logstash log message, used to fill the @type field
- */
- protected $applicationName;
-
- /**
- * @var string a prefix for 'extra' fields from the Monolog record (optional)
- */
- protected $extraPrefix;
-
- /**
- * @var string a prefix for 'context' fields from the Monolog record (optional)
- */
- protected $contextPrefix;
-
- /**
- * @var integer logstash format version to use
- */
- protected $version;
-
- /**
- * @param string $applicationName the application that sends the data, used as the "type" field of logstash
- * @param string $systemName the system/machine name, used as the "source" field of logstash, defaults to the hostname of the machine
- * @param string $extraPrefix prefix for extra keys inside logstash "fields"
- * @param string $contextPrefix prefix for context keys inside logstash "fields", defaults to ctxt_
- */
- public function __construct($applicationName, $systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_', $version = self::V0)
- {
- // logstash requires a ISO 8601 format date with optional millisecond precision.
- parent::__construct('Y-m-d\TH:i:s.uP');
-
- $this->systemName = $systemName ?: gethostname();
- $this->applicationName = $applicationName;
- $this->extraPrefix = $extraPrefix;
- $this->contextPrefix = $contextPrefix;
- $this->version = $version;
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- $record = parent::format($record);
-
- if ($this->version === self::V1) {
- $message = $this->formatV1($record);
- } else {
- $message = $this->formatV0($record);
- }
-
- return $this->toJson($message) . "\n";
- }
-
- protected function formatV0(array $record)
- {
- if (empty($record['datetime'])) {
- $record['datetime'] = gmdate('c');
- }
- $message = array(
- '@timestamp' => $record['datetime'],
- '@source' => $this->systemName,
- '@fields' => array()
- );
- if (isset($record['message'])) {
- $message['@message'] = $record['message'];
- }
- if (isset($record['channel'])) {
- $message['@tags'] = array($record['channel']);
- $message['@fields']['channel'] = $record['channel'];
- }
- if (isset($record['level'])) {
- $message['@fields']['level'] = $record['level'];
- }
- if ($this->applicationName) {
- $message['@type'] = $this->applicationName;
- }
- if (isset($record['extra']['server'])) {
- $message['@source_host'] = $record['extra']['server'];
- }
- if (isset($record['extra']['url'])) {
- $message['@source_path'] = $record['extra']['url'];
- }
- if (!empty($record['extra'])) {
- foreach ($record['extra'] as $key => $val) {
- $message['@fields'][$this->extraPrefix . $key] = $val;
- }
- }
- if (!empty($record['context'])) {
- foreach ($record['context'] as $key => $val) {
- $message['@fields'][$this->contextPrefix . $key] = $val;
- }
- }
-
- return $message;
- }
-
- protected function formatV1(array $record)
- {
- if (empty($record['datetime'])) {
- $record['datetime'] = gmdate('c');
- }
- $message = array(
- '@timestamp' => $record['datetime'],
- '@version' => 1,
- 'host' => $this->systemName,
- );
- if (isset($record['message'])) {
- $message['message'] = $record['message'];
- }
- if (isset($record['channel'])) {
- $message['type'] = $record['channel'];
- $message['channel'] = $record['channel'];
- }
- if (isset($record['level_name'])) {
- $message['level'] = $record['level_name'];
- }
- if ($this->applicationName) {
- $message['type'] = $this->applicationName;
- }
- if (!empty($record['extra'])) {
- foreach ($record['extra'] as $key => $val) {
- $message[$this->extraPrefix . $key] = $val;
- }
- }
- if (!empty($record['context'])) {
- foreach ($record['context'] as $key => $val) {
- $message[$this->contextPrefix . $key] = $val;
- }
- }
-
- return $message;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php
deleted file mode 100644
index eb067bb7..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Formats a record for use with the MongoDBHandler.
- *
- * @author Florian Plattner <me@florianplattner.de>
- */
-class MongoDBFormatter implements FormatterInterface
-{
- private $exceptionTraceAsString;
- private $maxNestingLevel;
-
- /**
- * @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2
- * @param bool $exceptionTraceAsString set to false to log exception traces as a sub documents instead of strings
- */
- public function __construct($maxNestingLevel = 3, $exceptionTraceAsString = true)
- {
- $this->maxNestingLevel = max($maxNestingLevel, 0);
- $this->exceptionTraceAsString = (bool) $exceptionTraceAsString;
- }
-
- /**
- * {@inheritDoc}
- */
- public function format(array $record)
- {
- return $this->formatArray($record);
- }
-
- /**
- * {@inheritDoc}
- */
- public function formatBatch(array $records)
- {
- foreach ($records as $key => $record) {
- $records[$key] = $this->format($record);
- }
-
- return $records;
- }
-
- protected function formatArray(array $record, $nestingLevel = 0)
- {
- if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) {
- foreach ($record as $name => $value) {
- if ($value instanceof \DateTime) {
- $record[$name] = $this->formatDate($value, $nestingLevel + 1);
- } elseif ($value instanceof \Exception) {
- $record[$name] = $this->formatException($value, $nestingLevel + 1);
- } elseif (is_array($value)) {
- $record[$name] = $this->formatArray($value, $nestingLevel + 1);
- } elseif (is_object($value)) {
- $record[$name] = $this->formatObject($value, $nestingLevel + 1);
- }
- }
- } else {
- $record = '[...]';
- }
-
- return $record;
- }
-
- protected function formatObject($value, $nestingLevel)
- {
- $objectVars = get_object_vars($value);
- $objectVars['class'] = get_class($value);
-
- return $this->formatArray($objectVars, $nestingLevel);
- }
-
- protected function formatException(\Exception $exception, $nestingLevel)
- {
- $formattedException = array(
- 'class' => get_class($exception),
- 'message' => $exception->getMessage(),
- 'code' => $exception->getCode(),
- 'file' => $exception->getFile() . ':' . $exception->getLine(),
- );
-
- if ($this->exceptionTraceAsString === true) {
- $formattedException['trace'] = $exception->getTraceAsString();
- } else {
- $formattedException['trace'] = $exception->getTrace();
- }
-
- return $this->formatArray($formattedException, $nestingLevel);
- }
-
- protected function formatDate(\DateTime $value, $nestingLevel)
- {
- return new \MongoDate($value->getTimestamp());
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
deleted file mode 100644
index beafea64..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Exception;
-
-/**
- * Normalizes incoming records to remove objects/resources so it's easier to dump to various targets
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class NormalizerFormatter implements FormatterInterface
-{
- const SIMPLE_DATE = "Y-m-d H:i:s";
-
- protected $dateFormat;
-
- /**
- * @param string $dateFormat The format of the timestamp: one supported by DateTime::format
- */
- public function __construct($dateFormat = null)
- {
- $this->dateFormat = $dateFormat ?: static::SIMPLE_DATE;
- if (!function_exists('json_encode')) {
- throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter');
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- return $this->normalize($record);
- }
-
- /**
- * {@inheritdoc}
- */
- public function formatBatch(array $records)
- {
- foreach ($records as $key => $record) {
- $records[$key] = $this->format($record);
- }
-
- return $records;
- }
-
- protected function normalize($data)
- {
- if (null === $data || is_scalar($data)) {
- return $data;
- }
-
- if (is_array($data) || $data instanceof \Traversable) {
- $normalized = array();
-
- $count = 1;
- foreach ($data as $key => $value) {
- if ($count++ >= 1000) {
- $normalized['...'] = 'Over 1000 items, aborting normalization';
- break;
- }
- $normalized[$key] = $this->normalize($value);
- }
-
- return $normalized;
- }
-
- if ($data instanceof \DateTime) {
- return $data->format($this->dateFormat);
- }
-
- if (is_object($data)) {
- if ($data instanceof Exception) {
- return $this->normalizeException($data);
- }
-
- return sprintf("[object] (%s: %s)", get_class($data), $this->toJson($data, true));
- }
-
- if (is_resource($data)) {
- return '[resource]';
- }
-
- return '[unknown('.gettype($data).')]';
- }
-
- protected function normalizeException(Exception $e)
- {
- $data = array(
- 'class' => get_class($e),
- 'message' => $e->getMessage(),
- 'code' => $e->getCode(),
- 'file' => $e->getFile().':'.$e->getLine(),
- );
-
- $trace = $e->getTrace();
- foreach ($trace as $frame) {
- if (isset($frame['file'])) {
- $data['trace'][] = $frame['file'].':'.$frame['line'];
- } else {
- // We should again normalize the frames, because it might contain invalid items
- $data['trace'][] = $this->toJson($this->normalize($frame), true);
- }
- }
-
- if ($previous = $e->getPrevious()) {
- $data['previous'] = $this->normalizeException($previous);
- }
-
- return $data;
- }
-
- protected function toJson($data, $ignoreErrors = false)
- {
- // suppress json_encode errors since it's twitchy with some inputs
- if ($ignoreErrors) {
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return @json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
- }
-
- return @json_encode($data);
- }
-
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
- }
-
- return json_encode($data);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php
deleted file mode 100644
index 5d345d53..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * Formats data into an associative array of scalar values.
- * Objects and arrays will be JSON encoded.
- *
- * @author Andrew Lawson <adlawson@gmail.com>
- */
-class ScalarFormatter extends NormalizerFormatter
-{
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- foreach ($record as $key => $value) {
- $record[$key] = $this->normalizeValue($value);
- }
-
- return $record;
- }
-
- /**
- * @param mixed $value
- * @return mixed
- */
- protected function normalizeValue($value)
- {
- $normalized = $this->normalize($value);
-
- if (is_array($normalized) || is_object($normalized)) {
- return $this->toJson($normalized, true);
- }
-
- return $normalized;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php
deleted file mode 100644
index 654710a8..00000000
--- a/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-/**
- * Serializes a log message according to Wildfire's header requirements
- *
- * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
- * @author Christophe Coevoet <stof@notk.org>
- * @author Kirill chEbba Chebunin <iam@chebba.org>
- */
-class WildfireFormatter extends NormalizerFormatter
-{
- const TABLE = 'table';
-
- /**
- * Translates Monolog log levels to Wildfire levels.
- */
- private $logLevels = array(
- Logger::DEBUG => 'LOG',
- Logger::INFO => 'INFO',
- Logger::NOTICE => 'INFO',
- Logger::WARNING => 'WARN',
- Logger::ERROR => 'ERROR',
- Logger::CRITICAL => 'ERROR',
- Logger::ALERT => 'ERROR',
- Logger::EMERGENCY => 'ERROR',
- );
-
- /**
- * {@inheritdoc}
- */
- public function format(array $record)
- {
- // Retrieve the line and file if set and remove them from the formatted extra
- $file = $line = '';
- if (isset($record['extra']['file'])) {
- $file = $record['extra']['file'];
- unset($record['extra']['file']);
- }
- if (isset($record['extra']['line'])) {
- $line = $record['extra']['line'];
- unset($record['extra']['line']);
- }
-
- $record = $this->normalize($record);
- $message = array('message' => $record['message']);
- $handleError = false;
- if ($record['context']) {
- $message['context'] = $record['context'];
- $handleError = true;
- }
- if ($record['extra']) {
- $message['extra'] = $record['extra'];
- $handleError = true;
- }
- if (count($message) === 1) {
- $message = reset($message);
- }
-
- if (isset($record['context'][self::TABLE])) {
- $type = 'TABLE';
- $label = $record['channel'] .': '. $record['message'];
- $message = $record['context'][self::TABLE];
- } else {
- $type = $this->logLevels[$record['level']];
- $label = $record['channel'];
- }
-
- // Create JSON object describing the appearance of the message in the console
- $json = $this->toJson(array(
- array(
- 'Type' => $type,
- 'File' => $file,
- 'Line' => $line,
- 'Label' => $label,
- ),
- $message,
- ), $handleError);
-
- // The message itself is a serialization of the above JSON object + it's length
- return sprintf(
- '%s|%s|',
- strlen($json),
- $json
- );
- }
-
- public function formatBatch(array $records)
- {
- throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
- }
-
- protected function normalize($data)
- {
- if (is_object($data) && !$data instanceof \DateTime) {
- return $data;
- }
-
- return parent::normalize($data);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php
deleted file mode 100644
index 69ede49a..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\FormatterInterface;
-use Monolog\Formatter\LineFormatter;
-
-/**
- * Base Handler class providing the Handler structure
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-abstract class AbstractHandler implements HandlerInterface
-{
- protected $level = Logger::DEBUG;
- protected $bubble = true;
-
- /**
- * @var FormatterInterface
- */
- protected $formatter;
- protected $processors = array();
-
- /**
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($level = Logger::DEBUG, $bubble = true)
- {
- $this->setLevel($level);
- $this->bubble = $bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isHandling(array $record)
- {
- return $record['level'] >= $this->level;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- foreach ($records as $record) {
- $this->handle($record);
- }
- }
-
- /**
- * Closes the handler.
- *
- * This will be called automatically when the object is destroyed
- */
- public function close()
- {
- }
-
- /**
- * {@inheritdoc}
- */
- public function pushProcessor($callback)
- {
- if (!is_callable($callback)) {
- throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given');
- }
- array_unshift($this->processors, $callback);
-
- return $this;
- }
-
- /**
- * {@inheritdoc}
- */
- public function popProcessor()
- {
- if (!$this->processors) {
- throw new \LogicException('You tried to pop from an empty processor stack.');
- }
-
- return array_shift($this->processors);
- }
-
- /**
- * {@inheritdoc}
- */
- public function setFormatter(FormatterInterface $formatter)
- {
- $this->formatter = $formatter;
-
- return $this;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFormatter()
- {
- if (!$this->formatter) {
- $this->formatter = $this->getDefaultFormatter();
- }
-
- return $this->formatter;
- }
-
- /**
- * Sets minimum logging level at which this handler will be triggered.
- *
- * @param integer $level
- * @return self
- */
- public function setLevel($level)
- {
- $this->level = Logger::toMonologLevel($level);
-
- return $this;
- }
-
- /**
- * Gets minimum logging level at which this handler will be triggered.
- *
- * @return integer
- */
- public function getLevel()
- {
- return $this->level;
- }
-
- /**
- * Sets the bubbling behavior.
- *
- * @param Boolean $bubble true means that this handler allows bubbling.
- * false means that bubbling is not permitted.
- * @return self
- */
- public function setBubble($bubble)
- {
- $this->bubble = $bubble;
-
- return $this;
- }
-
- /**
- * Gets the bubbling behavior.
- *
- * @return Boolean true means that this handler allows bubbling.
- * false means that bubbling is not permitted.
- */
- public function getBubble()
- {
- return $this->bubble;
- }
-
- public function __destruct()
- {
- try {
- $this->close();
- } catch (\Exception $e) {
- // do nothing
- }
- }
-
- /**
- * Gets the default formatter.
- *
- * @return FormatterInterface
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
deleted file mode 100644
index 6f18f72e..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * Base Handler class providing the Handler structure
- *
- * Classes extending it should (in most cases) only implement write($record)
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- * @author Christophe Coevoet <stof@notk.org>
- */
-abstract class AbstractProcessingHandler extends AbstractHandler
-{
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if (!$this->isHandling($record)) {
- return false;
- }
-
- $record = $this->processRecord($record);
-
- $record['formatted'] = $this->getFormatter()->format($record);
-
- $this->write($record);
-
- return false === $this->bubble;
- }
-
- /**
- * Writes the record down to the log of the implementing handler
- *
- * @param array $record
- * @return void
- */
- abstract protected function write(array $record);
-
- /**
- * Processes a record.
- *
- * @param array $record
- * @return array
- */
- protected function processRecord(array $record)
- {
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php
deleted file mode 100644
index 3eb83bd4..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-/**
- * Common syslog functionality
- */
-abstract class AbstractSyslogHandler extends AbstractProcessingHandler
-{
- protected $facility;
-
- /**
- * Translates Monolog log levels to syslog log priorities.
- */
- protected $logLevels = array(
- Logger::DEBUG => LOG_DEBUG,
- Logger::INFO => LOG_INFO,
- Logger::NOTICE => LOG_NOTICE,
- Logger::WARNING => LOG_WARNING,
- Logger::ERROR => LOG_ERR,
- Logger::CRITICAL => LOG_CRIT,
- Logger::ALERT => LOG_ALERT,
- Logger::EMERGENCY => LOG_EMERG,
- );
-
- /**
- * List of valid log facility names.
- */
- protected $facilities = array(
- 'auth' => LOG_AUTH,
- 'authpriv' => LOG_AUTHPRIV,
- 'cron' => LOG_CRON,
- 'daemon' => LOG_DAEMON,
- 'kern' => LOG_KERN,
- 'lpr' => LOG_LPR,
- 'mail' => LOG_MAIL,
- 'news' => LOG_NEWS,
- 'syslog' => LOG_SYSLOG,
- 'user' => LOG_USER,
- 'uucp' => LOG_UUCP,
- );
-
- /**
- * @param mixed $facility
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
-
- if (!defined('PHP_WINDOWS_VERSION_BUILD')) {
- $this->facilities['local0'] = LOG_LOCAL0;
- $this->facilities['local1'] = LOG_LOCAL1;
- $this->facilities['local2'] = LOG_LOCAL2;
- $this->facilities['local3'] = LOG_LOCAL3;
- $this->facilities['local4'] = LOG_LOCAL4;
- $this->facilities['local5'] = LOG_LOCAL5;
- $this->facilities['local6'] = LOG_LOCAL6;
- $this->facilities['local7'] = LOG_LOCAL7;
- }
-
- // convert textual description of facility to syslog constant
- if (array_key_exists(strtolower($facility), $this->facilities)) {
- $facility = $this->facilities[strtolower($facility)];
- } elseif (!in_array($facility, array_values($this->facilities), true)) {
- throw new \UnexpectedValueException('Unknown facility value "'.$facility.'" given');
- }
-
- $this->facility = $facility;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter('%channel%.%level_name%: %message% %context% %extra%');
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php
deleted file mode 100644
index a28ba02a..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\JsonFormatter;
-use PhpAmqpLib\Message\AMQPMessage;
-use PhpAmqpLib\Channel\AMQPChannel;
-use AMQPExchange;
-
-class AmqpHandler extends AbstractProcessingHandler
-{
- /**
- * @var AMQPExchange|AMQPChannel $exchange
- */
- protected $exchange;
-
- /**
- * @var string
- */
- protected $exchangeName;
-
- /**
- * @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
- * @param string $exchangeName
- * @param int $level
- * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($exchange, $exchangeName = 'log', $level = Logger::DEBUG, $bubble = true)
- {
- if ($exchange instanceof AMQPExchange) {
- $exchange->setName($exchangeName);
- } elseif ($exchange instanceof AMQPChannel) {
- $this->exchangeName = $exchangeName;
- } else {
- throw new \InvalidArgumentException('PhpAmqpLib\Channel\AMQPChannel or AMQPExchange instance required');
- }
- $this->exchange = $exchange;
-
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- $data = $record["formatted"];
-
- $routingKey = sprintf(
- '%s.%s',
- // TODO 2.0 remove substr call
- substr($record['level_name'], 0, 4),
- $record['channel']
- );
-
- if ($this->exchange instanceof AMQPExchange) {
- $this->exchange->publish(
- $data,
- strtolower($routingKey),
- 0,
- array(
- 'delivery_mode' => 2,
- 'Content-type' => 'application/json'
- )
- );
- } else {
- $this->exchange->basic_publish(
- new AMQPMessage(
- (string) $data,
- array(
- 'delivery_mode' => 2,
- 'content_type' => 'application/json'
- )
- ),
- $this->exchangeName,
- strtolower($routingKey)
- );
- }
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php
deleted file mode 100644
index 43190b92..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\LineFormatter;
-
-/**
- * Handler sending logs to browser's javascript console with no browser extension required
- *
- * @author Olivier Poitrey <rs@dailymotion.com>
- */
-class BrowserConsoleHandler extends AbstractProcessingHandler
-{
- protected static $initialized = false;
- protected static $records = array();
-
- /**
- * {@inheritDoc}
- *
- * Formatted output may contain some formatting markers to be transfered to `console.log` using the %c format.
- *
- * Example of formatted string:
- *
- * You can do [[blue text]]{color: blue} or [[green background]]{background-color: green; color: white}
- *
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter('[[%channel%]]{macro: autolabel} [[%level_name%]]{font-weight: bold} %message%');
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- // Accumulate records
- self::$records[] = $record;
-
- // Register shutdown handler if not already done
- if (PHP_SAPI !== 'cli' && !self::$initialized) {
- self::$initialized = true;
- register_shutdown_function(array('Monolog\Handler\BrowserConsoleHandler', 'send'));
- }
- }
-
- /**
- * Convert records to javascript console commands and send it to the browser.
- * This method is automatically called on PHP shutdown if output is HTML.
- */
- public static function send()
- {
- // Check content type
- foreach (headers_list() as $header) {
- if (stripos($header, 'content-type:') === 0) {
- if (stripos($header, 'text/html') === false) {
- // This handler only works with HTML outputs
- return;
- }
- break;
- }
- }
-
- if (count(self::$records)) {
- echo '<script>' . self::generateScript() . '</script>';
- self::reset();
- }
- }
-
- /**
- * Forget all logged records
- */
- public static function reset()
- {
- self::$records = array();
- }
-
- private static function generateScript()
- {
- $script = array();
- foreach (self::$records as $record) {
- $context = self::dump('Context', $record['context']);
- $extra = self::dump('Extra', $record['extra']);
-
- if (empty($context) && empty($extra)) {
- $script[] = self::call_array('log', self::handleStyles($record['formatted']));
- } else {
- $script = array_merge($script,
- array(self::call_array('groupCollapsed', self::handleStyles($record['formatted']))),
- $context,
- $extra,
- array(self::call('groupEnd'))
- );
- }
- }
-
- return "(function (c) {if (c && c.groupCollapsed) {\n" . implode("\n", $script) . "\n}})(console);";
- }
-
- private static function handleStyles($formatted)
- {
- $args = array(self::quote('font-weight: normal'));
- $format = '%c' . $formatted;
- preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
-
- foreach (array_reverse($matches) as $match) {
- $args[] = self::quote(self::handleCustomStyles($match[2][0], $match[1][0]));
- $args[] = '"font-weight: normal"';
-
- $pos = $match[0][1];
- $format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0]));
- }
-
- array_unshift($args, self::quote($format));
-
- return $args;
- }
-
- private static function handleCustomStyles($style, $string)
- {
- static $colors = array('blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey');
- static $labels = array();
-
- return preg_replace_callback('/macro\s*:(.*?)(?:;|$)/', function ($m) use ($string, &$colors, &$labels) {
- if (trim($m[1]) === 'autolabel') {
- // Format the string as a label with consistent auto assigned background color
- if (!isset($labels[$string])) {
- $labels[$string] = $colors[count($labels) % count($colors)];
- }
- $color = $labels[$string];
-
- return "background-color: $color; color: white; border-radius: 3px; padding: 0 2px 0 2px";
- }
-
- return $m[1];
- }, $style);
- }
-
- private static function dump($title, array $dict)
- {
- $script = array();
- $dict = array_filter($dict);
- if (empty($dict)) {
- return $script;
- }
- $script[] = self::call('log', self::quote('%c%s'), self::quote('font-weight: bold'), self::quote($title));
- foreach ($dict as $key => $value) {
- $value = json_encode($value);
- if (empty($value)) {
- $value = self::quote('');
- }
- $script[] = self::call('log', self::quote('%s: %o'), self::quote($key), $value);
- }
-
- return $script;
- }
-
- private static function quote($arg)
- {
- return '"' . addcslashes($arg, "\"\n") . '"';
- }
-
- private static function call()
- {
- $args = func_get_args();
- $method = array_shift($args);
-
- return self::call_array($method, $args);
- }
-
- private static function call_array($method, array $args)
- {
- return 'c.' . $method . '(' . implode(', ', $args) . ');';
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php
deleted file mode 100644
index 6d8136f7..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Buffers all records until closing the handler and then pass them as batch.
- *
- * This is useful for a MailHandler to send only one mail per request instead of
- * sending one per log message.
- *
- * @author Christophe Coevoet <stof@notk.org>
- */
-class BufferHandler extends AbstractHandler
-{
- protected $handler;
- protected $bufferSize = 0;
- protected $bufferLimit;
- protected $flushOnOverflow;
- protected $buffer = array();
- protected $initialized = false;
-
- /**
- * @param HandlerInterface $handler Handler.
- * @param integer $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param Boolean $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
- */
- public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false)
- {
- parent::__construct($level, $bubble);
- $this->handler = $handler;
- $this->bufferLimit = (int) $bufferLimit;
- $this->flushOnOverflow = $flushOnOverflow;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if ($record['level'] < $this->level) {
- return false;
- }
-
- if (!$this->initialized) {
- // __destructor() doesn't get called on Fatal errors
- register_shutdown_function(array($this, 'close'));
- $this->initialized = true;
- }
-
- if ($this->bufferLimit > 0 && $this->bufferSize === $this->bufferLimit) {
- if ($this->flushOnOverflow) {
- $this->flush();
- } else {
- array_shift($this->buffer);
- $this->bufferSize--;
- }
- }
-
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- $this->buffer[] = $record;
- $this->bufferSize++;
-
- return false === $this->bubble;
- }
-
- public function flush()
- {
- if ($this->bufferSize === 0) {
- return;
- }
-
- $this->handler->handleBatch($this->buffer);
- $this->clear();
- }
-
- public function __destruct()
- {
- // suppress the parent behavior since we already have register_shutdown_function()
- // to call close(), and the reference contained there will prevent this from being
- // GC'd until the end of the request
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- $this->flush();
- }
-
- /**
- * Clears the buffer without flushing any messages down to the wrapped handler.
- */
- public function clear()
- {
- $this->bufferSize = 0;
- $this->buffer = array();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php
deleted file mode 100644
index bc659349..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\ChromePHPFormatter;
-use Monolog\Logger;
-
-/**
- * Handler sending logs to the ChromePHP extension (http://www.chromephp.com/)
- *
- * @author Christophe Coevoet <stof@notk.org>
- */
-class ChromePHPHandler extends AbstractProcessingHandler
-{
- /**
- * Version of the extension
- */
- const VERSION = '4.0';
-
- /**
- * Header name
- */
- const HEADER_NAME = 'X-ChromeLogger-Data';
-
- protected static $initialized = false;
-
- /**
- * Tracks whether we sent too much data
- *
- * Chrome limits the headers to 256KB, so when we sent 240KB we stop sending
- *
- * @var Boolean
- */
- protected static $overflowed = false;
-
- protected static $json = array(
- 'version' => self::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(),
- );
-
- protected static $sendHeaders = true;
-
- /**
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
- if (!function_exists('json_encode')) {
- throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s ChromePHPHandler');
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- $messages = array();
-
- foreach ($records as $record) {
- if ($record['level'] < $this->level) {
- continue;
- }
- $messages[] = $this->processRecord($record);
- }
-
- if (!empty($messages)) {
- $messages = $this->getFormatter()->formatBatch($messages);
- self::$json['rows'] = array_merge(self::$json['rows'], $messages);
- $this->send();
- }
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new ChromePHPFormatter();
- }
-
- /**
- * Creates & sends header for a record
- *
- * @see sendHeader()
- * @see send()
- * @param array $record
- */
- protected function write(array $record)
- {
- self::$json['rows'][] = $record['formatted'];
-
- $this->send();
- }
-
- /**
- * Sends the log header
- *
- * @see sendHeader()
- */
- protected function send()
- {
- if (self::$overflowed || !self::$sendHeaders) {
- return;
- }
-
- if (!self::$initialized) {
- self::$initialized = true;
-
- self::$sendHeaders = $this->headersAccepted();
- if (!self::$sendHeaders) {
- return;
- }
-
- self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
- }
-
- $json = @json_encode(self::$json);
- $data = base64_encode(utf8_encode($json));
- if (strlen($data) > 240*1024) {
- self::$overflowed = true;
-
- $record = array(
- 'message' => 'Incomplete logs, chrome header size limit reached',
- 'context' => array(),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'monolog',
- 'datetime' => new \DateTime(),
- 'extra' => array(),
- );
- self::$json['rows'][count(self::$json['rows']) - 1] = $this->getFormatter()->format($record);
- $json = @json_encode(self::$json);
- $data = base64_encode(utf8_encode($json));
- }
-
- if (trim($data) !== '') {
- $this->sendHeader(self::HEADER_NAME, $data);
- }
- }
-
- /**
- * Send header string to the client
- *
- * @param string $header
- * @param string $content
- */
- protected function sendHeader($header, $content)
- {
- if (!headers_sent() && self::$sendHeaders) {
- header(sprintf('%s: %s', $header, $content));
- }
- }
-
- /**
- * Verifies if the headers are accepted by the current user agent
- *
- * @return Boolean
- */
- protected function headersAccepted()
- {
- if (empty($_SERVER['HTTP_USER_AGENT'])) {
- return false;
- }
-
- return preg_match('{\bChrome/\d+[\.\d+]*\b}', $_SERVER['HTTP_USER_AGENT']);
- }
-
- /**
- * BC getter for the sendHeaders property that has been made static
- */
- public function __get($property)
- {
- if ('sendHeaders' !== $property) {
- throw new \InvalidArgumentException('Undefined property '.$property);
- }
-
- return static::$sendHeaders;
- }
-
- /**
- * BC setter for the sendHeaders property that has been made static
- */
- public function __set($property, $value)
- {
- if ('sendHeaders' !== $property) {
- throw new \InvalidArgumentException('Undefined property '.$property);
- }
-
- static::$sendHeaders = $value;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php
deleted file mode 100644
index b3687c3d..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\JsonFormatter;
-use Monolog\Logger;
-
-/**
- * CouchDB handler
- *
- * @author Markus Bachmann <markus.bachmann@bachi.biz>
- */
-class CouchDBHandler extends AbstractProcessingHandler
-{
- private $options;
-
- public function __construct(array $options = array(), $level = Logger::DEBUG, $bubble = true)
- {
- $this->options = array_merge(array(
- 'host' => 'localhost',
- 'port' => 5984,
- 'dbname' => 'logger',
- 'username' => null,
- 'password' => null,
- ), $options);
-
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- $basicAuth = null;
- if ($this->options['username']) {
- $basicAuth = sprintf('%s:%s@', $this->options['username'], $this->options['password']);
- }
-
- $url = 'http://'.$basicAuth.$this->options['host'].':'.$this->options['port'].'/'.$this->options['dbname'];
- $context = stream_context_create(array(
- 'http' => array(
- 'method' => 'POST',
- 'content' => $record['formatted'],
- 'ignore_errors' => true,
- 'max_redirects' => 0,
- 'header' => 'Content-type: application/json',
- )
- ));
-
- if (false === @file_get_contents($url, null, $context)) {
- throw new \RuntimeException(sprintf('Could not connect to %s', $url));
- }
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php
deleted file mode 100644
index d968720c..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Logs to Cube.
- *
- * @link http://square.github.com/cube/
- * @author Wan Chen <kami@kamisama.me>
- */
-class CubeHandler extends AbstractProcessingHandler
-{
- private $udpConnection = null;
- private $httpConnection = null;
- private $scheme = null;
- private $host = null;
- private $port = null;
- private $acceptedSchemes = array('http', 'udp');
-
- /**
- * Create a Cube handler
- *
- * @throws UnexpectedValueException when given url is not a valid url.
- * A valid url must consists of three parts : protocol://host:port
- * Only valid protocol used by Cube are http and udp
- */
- public function __construct($url, $level = Logger::DEBUG, $bubble = true)
- {
- $urlInfos = parse_url($url);
-
- if (!isset($urlInfos['scheme']) || !isset($urlInfos['host']) || !isset($urlInfos['port'])) {
- throw new \UnexpectedValueException('URL "'.$url.'" is not valid');
- }
-
- if (!in_array($urlInfos['scheme'], $this->acceptedSchemes)) {
- throw new \UnexpectedValueException(
- 'Invalid protocol (' . $urlInfos['scheme'] . ').'
- . ' Valid options are ' . implode(', ', $this->acceptedSchemes));
- }
-
- $this->scheme = $urlInfos['scheme'];
- $this->host = $urlInfos['host'];
- $this->port = $urlInfos['port'];
-
- parent::__construct($level, $bubble);
- }
-
- /**
- * Establish a connection to an UDP socket
- *
- * @throws LogicException when unable to connect to the socket
- */
- protected function connectUdp()
- {
- if (!extension_loaded('sockets')) {
- throw new MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler');
- }
-
- $this->udpConnection = socket_create(AF_INET, SOCK_DGRAM, 0);
- if (!$this->udpConnection) {
- throw new \LogicException('Unable to create a socket');
- }
-
- if (!socket_connect($this->udpConnection, $this->host, $this->port)) {
- throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port);
- }
- }
-
- /**
- * Establish a connection to a http server
- */
- protected function connectHttp()
- {
- if (!extension_loaded('curl')) {
- throw new \LogicException('The curl extension is needed to use http URLs with the CubeHandler');
- }
-
- $this->httpConnection = curl_init('http://'.$this->host.':'.$this->port.'/1.0/event/put');
-
- if (!$this->httpConnection) {
- throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port);
- }
-
- curl_setopt($this->httpConnection, CURLOPT_CUSTOMREQUEST, "POST");
- curl_setopt($this->httpConnection, CURLOPT_RETURNTRANSFER, true);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $date = $record['datetime'];
-
- $data = array('time' => $date->format('Y-m-d\TH:i:s.uO'));
- unset($record['datetime']);
-
- if (isset($record['context']['type'])) {
- $data['type'] = $record['context']['type'];
- unset($record['context']['type']);
- } else {
- $data['type'] = $record['channel'];
- }
-
- $data['data'] = $record['context'];
- $data['data']['level'] = $record['level'];
-
- $this->{'write'.$this->scheme}(json_encode($data));
- }
-
- private function writeUdp($data)
- {
- if (!$this->udpConnection) {
- $this->connectUdp();
- }
-
- socket_send($this->udpConnection, $data, strlen($data), 0);
- }
-
- private function writeHttp($data)
- {
- if (!$this->httpConnection) {
- $this->connectHttp();
- }
-
- curl_setopt($this->httpConnection, CURLOPT_POSTFIELDS, '['.$data.']');
- curl_setopt($this->httpConnection, CURLOPT_HTTPHEADER, array(
- 'Content-Type: application/json',
- 'Content-Length: ' . strlen('['.$data.']'))
- );
-
- return curl_exec($this->httpConnection);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php
deleted file mode 100644
index b91ffec9..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\NormalizerFormatter;
-use Doctrine\CouchDB\CouchDBClient;
-
-/**
- * CouchDB handler for Doctrine CouchDB ODM
- *
- * @author Markus Bachmann <markus.bachmann@bachi.biz>
- */
-class DoctrineCouchDBHandler extends AbstractProcessingHandler
-{
- private $client;
-
- public function __construct(CouchDBClient $client, $level = Logger::DEBUG, $bubble = true)
- {
- $this->client = $client;
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- $this->client->postDocument($record['formatted']);
- }
-
- protected function getDefaultFormatter()
- {
- return new NormalizerFormatter;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
deleted file mode 100644
index e7f843c8..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Aws\Common\Aws;
-use Aws\DynamoDb\DynamoDbClient;
-use Monolog\Formatter\ScalarFormatter;
-use Monolog\Logger;
-
-/**
- * Amazon DynamoDB handler (http://aws.amazon.com/dynamodb/)
- *
- * @link https://github.com/aws/aws-sdk-php/
- * @author Andrew Lawson <adlawson@gmail.com>
- */
-class DynamoDbHandler extends AbstractProcessingHandler
-{
- const DATE_FORMAT = 'Y-m-d\TH:i:s.uO';
-
- /**
- * @var DynamoDbClient
- */
- protected $client;
-
- /**
- * @var string
- */
- protected $table;
-
- /**
- * @param DynamoDbClient $client
- * @param string $table
- * @param integer $level
- * @param boolean $bubble
- */
- public function __construct(DynamoDbClient $client, $table, $level = Logger::DEBUG, $bubble = true)
- {
- if (!defined('Aws\Common\Aws::VERSION') || version_compare('3.0', Aws::VERSION, '<=')) {
- throw new \RuntimeException('The DynamoDbHandler is only known to work with the AWS SDK 2.x releases');
- }
-
- $this->client = $client;
- $this->table = $table;
-
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $filtered = $this->filterEmptyFields($record['formatted']);
- $formatted = $this->client->formatAttributes($filtered);
-
- $this->client->putItem(array(
- 'TableName' => $this->table,
- 'Item' => $formatted
- ));
- }
-
- /**
- * @param array $record
- * @return array
- */
- protected function filterEmptyFields(array $record)
- {
- return array_filter($record, function ($value) {
- return !empty($value) || false === $value || 0 === $value;
- });
- }
-
- /**
- * {@inheritdoc}
- */
- protected function getDefaultFormatter()
- {
- return new ScalarFormatter(self::DATE_FORMAT);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php
deleted file mode 100644
index 96e5d57f..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\FormatterInterface;
-use Monolog\Formatter\ElasticaFormatter;
-use Monolog\Logger;
-use Elastica\Client;
-use Elastica\Exception\ExceptionInterface;
-
-/**
- * Elastic Search handler
- *
- * Usage example:
- *
- * $client = new \Elastica\Client();
- * $options = array(
- * 'index' => 'elastic_index_name',
- * 'type' => 'elastic_doc_type',
- * );
- * $handler = new ElasticSearchHandler($client, $options);
- * $log = new Logger('application');
- * $log->pushHandler($handler);
- *
- * @author Jelle Vink <jelle.vink@gmail.com>
- */
-class ElasticSearchHandler extends AbstractProcessingHandler
-{
- /**
- * @var Client
- */
- protected $client;
-
- /**
- * @var array Handler config options
- */
- protected $options = array();
-
- /**
- * @param Client $client Elastica Client object
- * @param array $options Handler configuration
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
- $this->client = $client;
- $this->options = array_merge(
- array(
- 'index' => 'monolog', // Elastic index name
- 'type' => 'record', // Elastic document type
- 'ignore_error' => false, // Suppress Elastica exceptions
- ),
- $options
- );
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- $this->bulkSend(array($record['formatted']));
- }
-
- /**
- * {@inheritdoc}
- */
- public function setFormatter(FormatterInterface $formatter)
- {
- if ($formatter instanceof ElasticaFormatter) {
- return parent::setFormatter($formatter);
- }
- throw new \InvalidArgumentException('ElasticSearchHandler is only compatible with ElasticaFormatter');
- }
-
- /**
- * Getter options
- * @return array
- */
- public function getOptions()
- {
- return $this->options;
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new ElasticaFormatter($this->options['index'], $this->options['type']);
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- $documents = $this->getFormatter()->formatBatch($records);
- $this->bulkSend($documents);
- }
-
- /**
- * Use Elasticsearch bulk API to send list of documents
- * @param array $documents
- * @throws \RuntimeException
- */
- protected function bulkSend(array $documents)
- {
- try {
- $this->client->addDocuments($documents);
- } catch (ExceptionInterface $e) {
- if (!$this->options['ignore_error']) {
- throw new \RuntimeException("Error sending messages to Elasticsearch", 0, $e);
- }
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php
deleted file mode 100644
index d1e1ee60..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\LineFormatter;
-use Monolog\Logger;
-
-/**
- * Stores to PHP error_log() handler.
- *
- * @author Elan Ruusamäe <glen@delfi.ee>
- */
-class ErrorLogHandler extends AbstractProcessingHandler
-{
- const OPERATING_SYSTEM = 0;
- const SAPI = 4;
-
- protected $messageType;
- protected $expandNewlines;
-
- /**
- * @param integer $messageType Says where the error should go.
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param Boolean $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries
- */
- public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false)
- {
- parent::__construct($level, $bubble);
-
- if (false === in_array($messageType, self::getAvailableTypes())) {
- $message = sprintf('The given message type "%s" is not supported', print_r($messageType, true));
- throw new \InvalidArgumentException($message);
- }
-
- $this->messageType = $messageType;
- $this->expandNewlines = $expandNewlines;
- }
-
- /**
- * @return array With all available types
- */
- public static function getAvailableTypes()
- {
- return array(
- self::OPERATING_SYSTEM,
- self::SAPI,
- );
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%');
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- if ($this->expandNewlines) {
- $lines = preg_split('{[\r\n]+}', (string) $record['formatted']);
- foreach ($lines as $line) {
- error_log($line, $this->messageType);
- }
- } else {
- error_log((string) $record['formatted'], $this->messageType);
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php
deleted file mode 100644
index dad82273..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Simple handler wrapper that filters records based on a list of levels
- *
- * It can be configured with an exact list of levels to allow, or a min/max level.
- *
- * @author Hennadiy Verkh
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class FilterHandler extends AbstractHandler
-{
- /**
- * Handler or factory callable($record, $this)
- *
- * @var callable|\Monolog\Handler\HandlerInterface
- */
- protected $handler;
-
- /**
- * Minimum level for logs that are passes to handler
- *
- * @var int[]
- */
- protected $acceptedLevels;
-
- /**
- * Whether the messages that are handled can bubble up the stack or not
- *
- * @var Boolean
- */
- protected $bubble;
-
- /**
- * @param callable|HandlerInterface $handler Handler or factory callable($record, $this).
- * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
- * @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true)
- {
- $this->handler = $handler;
- $this->bubble = $bubble;
- $this->setAcceptedLevels($minLevelOrList, $maxLevel);
-
- if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) {
- throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object");
- }
- }
-
- /**
- * @return array
- */
- public function getAcceptedLevels()
- {
- return array_flip($this->acceptedLevels);
- }
-
- /**
- * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
- * @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
- */
- public function setAcceptedLevels($minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY)
- {
- if (is_array($minLevelOrList)) {
- $acceptedLevels = array_map('Monolog\Logger::toMonologLevel', $minLevelOrList);
- } else {
- $minLevelOrList = Logger::toMonologLevel($minLevelOrList);
- $maxLevel = Logger::toMonologLevel($maxLevel);
- $acceptedLevels = array_values(array_filter(Logger::getLevels(), function ($level) use ($minLevelOrList, $maxLevel) {
- return $level >= $minLevelOrList && $level <= $maxLevel;
- }));
- }
- $this->acceptedLevels = array_flip($acceptedLevels);
- }
-
- /**
- * {@inheritdoc}
- */
- public function isHandling(array $record)
- {
- return isset($this->acceptedLevels[$record['level']]);
- }
-
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if (!$this->isHandling($record)) {
- return false;
- }
-
- // The same logic as in FingersCrossedHandler
- if (!$this->handler instanceof HandlerInterface) {
- $this->handler = call_user_func($this->handler, $record, $this);
- if (!$this->handler instanceof HandlerInterface) {
- throw new \RuntimeException("The factory callable should return a HandlerInterface");
- }
- }
-
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- $this->handler->handle($record);
-
- return false === $this->bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- $filtered = array();
- foreach ($records as $record) {
- if ($this->isHandling($record)) {
- $filtered[] = $record;
- }
- }
-
- $this->handler->handleBatch($filtered);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
deleted file mode 100644
index c3e42efe..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler\FingersCrossed;
-
-/**
- * Interface for activation strategies for the FingersCrossedHandler.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-interface ActivationStrategyInterface
-{
- /**
- * Returns whether the given record activates the handler.
- *
- * @param array $record
- * @return Boolean
- */
- public function isHandlerActivated(array $record);
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php
deleted file mode 100644
index e3b403f6..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
-*
-* (c) Jordi Boggiano <j.boggiano@seld.be>
-*
-* For the full copyright and license information, please view the LICENSE
-* file that was distributed with this source code.
-*/
-
-namespace Monolog\Handler\FingersCrossed;
-
-use Monolog\Logger;
-
-/**
- * Channel and Error level based monolog activation strategy. Allows to trigger activation
- * based on level per channel. e.g. trigger activation on level 'ERROR' by default, except
- * for records of the 'sql' channel; those should trigger activation on level 'WARN'.
- *
- * Example:
- *
- * <code>
- * $activationStrategy = new ChannelLevelActivationStrategy(
- * Logger::CRITICAL,
- * array(
- * 'request' => Logger::ALERT,
- * 'sensitive' => Logger::ERROR,
- * )
- * );
- * $handler = new FingersCrossedHandler(new StreamHandler('php://stderr'), $activationStrategy);
- * </code>
- *
- * @author Mike Meessen <netmikey@gmail.com>
- */
-class ChannelLevelActivationStrategy implements ActivationStrategyInterface
-{
- private $defaultActionLevel;
- private $channelToActionLevel;
-
- /**
- * @param int $defaultActionLevel The default action level to be used if the record's category doesn't match any
- * @param array $channelToActionLevel An array that maps channel names to action levels.
- */
- public function __construct($defaultActionLevel, $channelToActionLevel = array())
- {
- $this->defaultActionLevel = Logger::toMonologLevel($defaultActionLevel);
- $this->channelToActionLevel = array_map('Monolog\Logger::toMonologLevel', $channelToActionLevel);
- }
-
- public function isHandlerActivated(array $record)
- {
- if (isset($this->channelToActionLevel[$record['channel']])) {
- return $record['level'] >= $this->channelToActionLevel[$record['channel']];
- }
-
- return $record['level'] >= $this->defaultActionLevel;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php
deleted file mode 100644
index 6e630852..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler\FingersCrossed;
-
-use Monolog\Logger;
-
-/**
- * Error level based activation strategy.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
-class ErrorLevelActivationStrategy implements ActivationStrategyInterface
-{
- private $actionLevel;
-
- public function __construct($actionLevel)
- {
- $this->actionLevel = Logger::toMonologLevel($actionLevel);
- }
-
- public function isHandlerActivated(array $record)
- {
- return $record['level'] >= $this->actionLevel;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php
deleted file mode 100644
index a81c9e64..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
-use Monolog\Handler\FingersCrossed\ActivationStrategyInterface;
-use Monolog\Logger;
-
-/**
- * Buffers all records until a certain level is reached
- *
- * The advantage of this approach is that you don't get any clutter in your log files.
- * Only requests which actually trigger an error (or whatever your actionLevel is) will be
- * in the logs, but they will contain all records, not only those above the level threshold.
- *
- * You can find the various activation strategies in the
- * Monolog\Handler\FingersCrossed\ namespace.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class FingersCrossedHandler extends AbstractHandler
-{
- protected $handler;
- protected $activationStrategy;
- protected $buffering = true;
- protected $bufferSize;
- protected $buffer = array();
- protected $stopBuffering;
- protected $passthruLevel;
-
- /**
- * @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler).
- * @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action
- * @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param Boolean $stopBuffering Whether the handler should stop buffering after being triggered (default true)
- * @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
- */
- public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null)
- {
- if (null === $activationStrategy) {
- $activationStrategy = new ErrorLevelActivationStrategy(Logger::WARNING);
- }
-
- // convert simple int activationStrategy to an object
- if (!$activationStrategy instanceof ActivationStrategyInterface) {
- $activationStrategy = new ErrorLevelActivationStrategy($activationStrategy);
- }
-
- $this->handler = $handler;
- $this->activationStrategy = $activationStrategy;
- $this->bufferSize = $bufferSize;
- $this->bubble = $bubble;
- $this->stopBuffering = $stopBuffering;
- $this->passthruLevel = $passthruLevel;
-
- if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) {
- throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object");
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function isHandling(array $record)
- {
- return true;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- if ($this->buffering) {
- $this->buffer[] = $record;
- if ($this->bufferSize > 0 && count($this->buffer) > $this->bufferSize) {
- array_shift($this->buffer);
- }
- if ($this->activationStrategy->isHandlerActivated($record)) {
- if ($this->stopBuffering) {
- $this->buffering = false;
- }
- if (!$this->handler instanceof HandlerInterface) {
- $this->handler = call_user_func($this->handler, $record, $this);
- if (!$this->handler instanceof HandlerInterface) {
- throw new \RuntimeException("The factory callable should return a HandlerInterface");
- }
- }
- $this->handler->handleBatch($this->buffer);
- $this->buffer = array();
- }
- } else {
- $this->handler->handle($record);
- }
-
- return false === $this->bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- if (null !== $this->passthruLevel) {
- $level = $this->passthruLevel;
- $this->buffer = array_filter($this->buffer, function ($record) use ($level) {
- return $record['level'] >= $level;
- });
- if (count($this->buffer) > 0) {
- $this->handler->handleBatch($this->buffer);
- $this->buffer = array();
- }
- }
- }
-
- /**
- * Resets the state of the handler. Stops forwarding records to the wrapped handler.
- */
- public function reset()
- {
- $this->buffering = true;
- }
-
- /**
- * Clears the buffer without flushing any messages down to the wrapped handler.
- *
- * It also resets the handler to its initial buffering state.
- */
- public function clear()
- {
- $this->buffer = array();
- $this->reset();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php
deleted file mode 100644
index fee47950..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\WildfireFormatter;
-
-/**
- * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol.
- *
- * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
- */
-class FirePHPHandler extends AbstractProcessingHandler
-{
- /**
- * WildFire JSON header message format
- */
- const PROTOCOL_URI = 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2';
-
- /**
- * FirePHP structure for parsing messages & their presentation
- */
- const STRUCTURE_URI = 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1';
-
- /**
- * Must reference a "known" plugin, otherwise headers won't display in FirePHP
- */
- const PLUGIN_URI = 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3';
-
- /**
- * Header prefix for Wildfire to recognize & parse headers
- */
- const HEADER_PREFIX = 'X-Wf';
-
- /**
- * Whether or not Wildfire vendor-specific headers have been generated & sent yet
- */
- protected static $initialized = false;
-
- /**
- * Shared static message index between potentially multiple handlers
- * @var int
- */
- protected static $messageIndex = 1;
-
- protected static $sendHeaders = true;
-
- /**
- * Base header creation function used by init headers & record headers
- *
- * @param array $meta Wildfire Plugin, Protocol & Structure Indexes
- * @param string $message Log message
- * @return array Complete header string ready for the client as key and message as value
- */
- protected function createHeader(array $meta, $message)
- {
- $header = sprintf('%s-%s', self::HEADER_PREFIX, join('-', $meta));
-
- return array($header => $message);
- }
-
- /**
- * Creates message header from record
- *
- * @see createHeader()
- * @param array $record
- * @return string
- */
- protected function createRecordHeader(array $record)
- {
- // Wildfire is extensible to support multiple protocols & plugins in a single request,
- // but we're not taking advantage of that (yet), so we're using "1" for simplicity's sake.
- return $this->createHeader(
- array(1, 1, 1, self::$messageIndex++),
- $record['formatted']
- );
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new WildfireFormatter();
- }
-
- /**
- * Wildfire initialization headers to enable message parsing
- *
- * @see createHeader()
- * @see sendHeader()
- * @return array
- */
- protected function getInitHeaders()
- {
- // Initial payload consists of required headers for Wildfire
- return array_merge(
- $this->createHeader(array('Protocol', 1), self::PROTOCOL_URI),
- $this->createHeader(array(1, 'Structure', 1), self::STRUCTURE_URI),
- $this->createHeader(array(1, 'Plugin', 1), self::PLUGIN_URI)
- );
- }
-
- /**
- * Send header string to the client
- *
- * @param string $header
- * @param string $content
- */
- protected function sendHeader($header, $content)
- {
- if (!headers_sent() && self::$sendHeaders) {
- header(sprintf('%s: %s', $header, $content));
- }
- }
-
- /**
- * Creates & sends header for a record, ensuring init headers have been sent prior
- *
- * @see sendHeader()
- * @see sendInitHeaders()
- * @param array $record
- */
- protected function write(array $record)
- {
- if (!self::$sendHeaders) {
- return;
- }
-
- // WildFire-specific headers must be sent prior to any messages
- if (!self::$initialized) {
- self::$initialized = true;
-
- self::$sendHeaders = $this->headersAccepted();
- if (!self::$sendHeaders) {
- return;
- }
-
- foreach ($this->getInitHeaders() as $header => $content) {
- $this->sendHeader($header, $content);
- }
- }
-
- $header = $this->createRecordHeader($record);
- if (trim(current($header)) !== '') {
- $this->sendHeader(key($header), current($header));
- }
- }
-
- /**
- * Verifies if the headers are accepted by the current user agent
- *
- * @return Boolean
- */
- protected function headersAccepted()
- {
- if (!empty($_SERVER['HTTP_USER_AGENT']) && preg_match('{\bFirePHP/\d+\.\d+\b}', $_SERVER['HTTP_USER_AGENT'])) {
- return true;
- }
-
- return isset($_SERVER['HTTP_X_FIREPHP_VERSION']);
- }
-
- /**
- * BC getter for the sendHeaders property that has been made static
- */
- public function __get($property)
- {
- if ('sendHeaders' !== $property) {
- throw new \InvalidArgumentException('Undefined property '.$property);
- }
-
- return static::$sendHeaders;
- }
-
- /**
- * BC setter for the sendHeaders property that has been made static
- */
- public function __set($property, $value)
- {
- if ('sendHeaders' !== $property) {
- throw new \InvalidArgumentException('Undefined property '.$property);
- }
-
- static::$sendHeaders = $value;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php
deleted file mode 100644
index 388692c4..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\LineFormatter;
-use Monolog\Logger;
-
-/**
- * Sends logs to Fleep.io using Webhook integrations
- *
- * You'll need a Fleep.io account to use this handler.
- *
- * @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation
- * @author Ando Roots <ando@sqroot.eu>
- */
-class FleepHookHandler extends SocketHandler
-{
- const FLEEP_HOST = 'fleep.io';
-
- const FLEEP_HOOK_URI = '/hook/';
-
- /**
- * @var string Webhook token (specifies the conversation where logs are sent)
- */
- protected $token;
-
- /**
- * Construct a new Fleep.io Handler.
- *
- * For instructions on how to create a new web hook in your conversations
- * see https://fleep.io/integrations/webhooks/
- *
- * @param string $token Webhook token
- * @param bool|int $level The minimum logging level at which this handler will be triggered
- * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
- * @throws MissingExtensionException
- */
- public function __construct($token, $level = Logger::DEBUG, $bubble = true)
- {
- if (!extension_loaded('openssl')) {
- throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FleepHookHandler');
- }
-
- $this->token = $token;
-
- $connectionString = 'ssl://' . self::FLEEP_HOST . ':443';
- parent::__construct($connectionString, $level, $bubble);
- }
-
- /**
- * Returns the default formatter to use with this handler
- *
- * Overloaded to remove empty context and extra arrays from the end of the log message.
- *
- * @return LineFormatter
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter(null, null, true, true);
- }
-
- /**
- * Handles a log record
- *
- * @param array $record
- */
- public function write(array $record)
- {
- parent::write($record);
- $this->closeSocket();
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- * @return string
- */
- protected function generateDataStream($record)
- {
- $content = $this->buildContent($record);
-
- return $this->buildHeader($content) . $content;
- }
-
- /**
- * Builds the header of the API Call
- *
- * @param string $content
- * @return string
- */
- private function buildHeader($content)
- {
- $header = "POST " . self::FLEEP_HOOK_URI . $this->token . " HTTP/1.1\r\n";
- $header .= "Host: " . self::FLEEP_HOST . "\r\n";
- $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $header .= "Content-Length: " . strlen($content) . "\r\n";
- $header .= "\r\n";
-
- return $header;
- }
-
- /**
- * Builds the body of API call
- *
- * @param array $record
- * @return string
- */
- private function buildContent($record)
- {
- $dataArray = array(
- 'message' => $record['formatted']
- );
-
- return http_build_query($dataArray);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php
deleted file mode 100644
index 6eaaa9d4..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Sends notifications through the Flowdock push API
- *
- * This must be configured with a FlowdockFormatter instance via setFormatter()
- *
- * Notes:
- * API token - Flowdock API token
- *
- * @author Dominik Liebler <liebler.dominik@gmail.com>
- * @see https://www.flowdock.com/api/push
- */
-class FlowdockHandler extends SocketHandler
-{
- /**
- * @var string
- */
- protected $apiToken;
-
- /**
- * @param string $apiToken
- * @param bool|int $level The minimum logging level at which this handler will be triggered
- * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
- *
- * @throws MissingExtensionException if OpenSSL is missing
- */
- public function __construct($apiToken, $level = Logger::DEBUG, $bubble = true)
- {
- if (!extension_loaded('openssl')) {
- throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FlowdockHandler');
- }
-
- parent::__construct('ssl://api.flowdock.com:443', $level, $bubble);
- $this->apiToken = $apiToken;
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- */
- protected function write(array $record)
- {
- parent::write($record);
-
- $this->closeSocket();
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- * @return string
- */
- protected function generateDataStream($record)
- {
- $content = $this->buildContent($record);
-
- return $this->buildHeader($content) . $content;
- }
-
- /**
- * Builds the body of API call
- *
- * @param array $record
- * @return string
- */
- private function buildContent($record)
- {
- return json_encode($record['formatted']['flowdock']);
- }
-
- /**
- * Builds the header of the API Call
- *
- * @param string $content
- * @return string
- */
- private function buildHeader($content)
- {
- $header = "POST /v1/messages/team_inbox/" . $this->apiToken . " HTTP/1.1\r\n";
- $header .= "Host: api.flowdock.com\r\n";
- $header .= "Content-Type: application/json\r\n";
- $header .= "Content-Length: " . strlen($content) . "\r\n";
- $header .= "\r\n";
-
- return $header;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php
deleted file mode 100644
index 790f6364..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Gelf\IMessagePublisher;
-use Gelf\PublisherInterface;
-use InvalidArgumentException;
-use Monolog\Logger;
-use Monolog\Formatter\GelfMessageFormatter;
-
-/**
- * Handler to send messages to a Graylog2 (http://www.graylog2.org) server
- *
- * @author Matt Lehner <mlehner@gmail.com>
- * @author Benjamin Zikarsky <benjamin@zikarsky.de>
- */
-class GelfHandler extends AbstractProcessingHandler
-{
- /**
- * @var Publisher the publisher object that sends the message to the server
- */
- protected $publisher;
-
- /**
- * @param PublisherInterface|IMessagePublisher $publisher a publisher object
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($publisher, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
-
- if (!$publisher instanceof IMessagePublisher && !$publisher instanceof PublisherInterface) {
- throw new InvalidArgumentException("Invalid publisher, expected a Gelf\IMessagePublisher or Gelf\PublisherInterface instance");
- }
-
- $this->publisher = $publisher;
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- $this->publisher = null;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $this->publisher->publish($record['formatted']);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new GelfMessageFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php
deleted file mode 100644
index 99384d35..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * Forwards records to multiple handlers
- *
- * @author Lenar Lõhmus <lenar@city.ee>
- */
-class GroupHandler extends AbstractHandler
-{
- protected $handlers;
-
- /**
- * @param array $handlers Array of Handlers.
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(array $handlers, $bubble = true)
- {
- foreach ($handlers as $handler) {
- if (!$handler instanceof HandlerInterface) {
- throw new \InvalidArgumentException('The first argument of the GroupHandler must be an array of HandlerInterface instances.');
- }
- }
-
- $this->handlers = $handlers;
- $this->bubble = $bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function isHandling(array $record)
- {
- foreach ($this->handlers as $handler) {
- if ($handler->isHandling($record)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- foreach ($this->handlers as $handler) {
- $handler->handle($record);
- }
-
- return false === $this->bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- foreach ($this->handlers as $handler) {
- $handler->handleBatch($records);
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php
deleted file mode 100644
index d920c4ba..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\FormatterInterface;
-
-/**
- * Interface that all Monolog Handlers must implement
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-interface HandlerInterface
-{
- /**
- * Checks whether the given record will be handled by this handler.
- *
- * This is mostly done for performance reasons, to avoid calling processors for nothing.
- *
- * Handlers should still check the record levels within handle(), returning false in isHandling()
- * is no guarantee that handle() will not be called, and isHandling() might not be called
- * for a given record.
- *
- * @param array $record Partial log record containing only a level key
- *
- * @return Boolean
- */
- public function isHandling(array $record);
-
- /**
- * Handles a record.
- *
- * All records may be passed to this method, and the handler should discard
- * those that it does not want to handle.
- *
- * The return value of this function controls the bubbling process of the handler stack.
- * Unless the bubbling is interrupted (by returning true), the Logger class will keep on
- * calling further handlers in the stack with a given log record.
- *
- * @param array $record The record to handle
- * @return Boolean true means that this handler handled the record, and that bubbling is not permitted.
- * false means the record was either not processed or that this handler allows bubbling.
- */
- public function handle(array $record);
-
- /**
- * Handles a set of records at once.
- *
- * @param array $records The records to handle (an array of record arrays)
- */
- public function handleBatch(array $records);
-
- /**
- * Adds a processor in the stack.
- *
- * @param callable $callback
- * @return self
- */
- public function pushProcessor($callback);
-
- /**
- * Removes the processor on top of the stack and returns it.
- *
- * @return callable
- */
- public function popProcessor();
-
- /**
- * Sets the formatter.
- *
- * @param FormatterInterface $formatter
- * @return self
- */
- public function setFormatter(FormatterInterface $formatter);
-
- /**
- * Gets the formatter.
- *
- * @return FormatterInterface
- */
- public function getFormatter();
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php
deleted file mode 100644
index 29614d31..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php
+++ /dev/null
@@ -1,300 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Sends notifications through the hipchat api to a hipchat room
- *
- * Notes:
- * API token - HipChat API token
- * Room - HipChat Room Id or name, where messages are sent
- * Name - Name used to send the message (from)
- * notify - Should the message trigger a notification in the clients
- *
- * @author Rafael Dohms <rafael@doh.ms>
- * @see https://www.hipchat.com/docs/api
- */
-class HipChatHandler extends SocketHandler
-{
- /**
- * The maximum allowed length for the name used in the "from" field.
- */
- const MAXIMUM_NAME_LENGTH = 15;
-
- /**
- * The maximum allowed length for the message.
- */
- const MAXIMUM_MESSAGE_LENGTH = 9500;
-
- /**
- * @var string
- */
- private $token;
-
- /**
- * @var array
- */
- private $room;
-
- /**
- * @var string
- */
- private $name;
-
- /**
- * @var boolean
- */
- private $notify;
-
- /**
- * @var string
- */
- private $format;
-
- /**
- * @param string $token HipChat API Token
- * @param string $room The room that should be alerted of the message (Id or Name)
- * @param string $name Name used in the "from" field
- * @param bool $notify Trigger a notification in clients or not
- * @param int $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param Boolean $useSSL Whether to connect via SSL.
- * @param string $format The format of the messages (default to text, can be set to html if you have html in the messages)
- * @param string $host The HipChat server hostname.
- */
- public function __construct($token, $room, $name = 'Monolog', $notify = false, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $format = 'text', $host = 'api.hipchat.com')
- {
- if (!$this->validateStringLength($name, static::MAXIMUM_NAME_LENGTH)) {
- throw new \InvalidArgumentException('The supplied name is too long. HipChat\'s v1 API supports names up to 15 UTF-8 characters.');
- }
-
- $connectionString = $useSSL ? 'ssl://'.$host.':443' : $host.':80';
- parent::__construct($connectionString, $level, $bubble);
-
- $this->token = $token;
- $this->name = $name;
- $this->notify = $notify;
- $this->room = $room;
- $this->format = $format;
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- * @return string
- */
- protected function generateDataStream($record)
- {
- $content = $this->buildContent($record);
-
- return $this->buildHeader($content) . $content;
- }
-
- /**
- * Builds the body of API call
- *
- * @param array $record
- * @return string
- */
- private function buildContent($record)
- {
- $dataArray = array(
- 'from' => $this->name,
- 'room_id' => $this->room,
- 'notify' => $this->notify,
- 'message' => $record['formatted'],
- 'message_format' => $this->format,
- 'color' => $this->getAlertColor($record['level']),
- );
-
- return http_build_query($dataArray);
- }
-
- /**
- * Builds the header of the API Call
- *
- * @param string $content
- * @return string
- */
- private function buildHeader($content)
- {
- $header = "POST /v1/rooms/message?format=json&auth_token=".$this->token." HTTP/1.1\r\n";
- $header .= "Host: api.hipchat.com\r\n";
- $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $header .= "Content-Length: " . strlen($content) . "\r\n";
- $header .= "\r\n";
-
- return $header;
- }
-
- /**
- * Assigns a color to each level of log records.
- *
- * @param integer $level
- * @return string
- */
- protected function getAlertColor($level)
- {
- switch (true) {
- case $level >= Logger::ERROR:
- return 'red';
- case $level >= Logger::WARNING:
- return 'yellow';
- case $level >= Logger::INFO:
- return 'green';
- case $level == Logger::DEBUG:
- return 'gray';
- default:
- return 'yellow';
- }
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- */
- protected function write(array $record)
- {
- parent::write($record);
- $this->closeSocket();
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- if (count($records) == 0) {
- return true;
- }
-
- $batchRecords = $this->combineRecords($records);
-
- $handled = false;
- foreach ($batchRecords as $batchRecord) {
- if ($this->isHandling($batchRecord)) {
- $this->write($batchRecord);
- $handled = true;
- }
- }
-
- if (!$handled) {
- return false;
- }
-
- return false === $this->bubble;
- }
-
- /**
- * Combines multiple records into one. Error level of the combined record
- * will be the highest level from the given records. Datetime will be taken
- * from the first record.
- *
- * @param $records
- * @return array
- */
- private function combineRecords($records)
- {
- $batchRecord = null;
- $batchRecords = array();
- $messages = array();
- $formattedMessages = array();
- $level = 0;
- $levelName = null;
- $datetime = null;
-
- foreach ($records as $record) {
- $record = $this->processRecord($record);
-
- if ($record['level'] > $level) {
- $level = $record['level'];
- $levelName = $record['level_name'];
- }
-
- if (null === $datetime) {
- $datetime = $record['datetime'];
- }
-
- $messages[] = $record['message'];
- $messgeStr = implode(PHP_EOL, $messages);
- $formattedMessages[] = $this->getFormatter()->format($record);
- $formattedMessageStr = implode('', $formattedMessages);
-
- $batchRecord = array(
- 'message' => $messgeStr,
- 'formatted' => $formattedMessageStr,
- 'context' => array(),
- 'extra' => array(),
- );
-
- if (!$this->validateStringLength($batchRecord['formatted'], static::MAXIMUM_MESSAGE_LENGTH)) {
- // Pop the last message and implode the remainging messages
- $lastMessage = array_pop($messages);
- $lastFormattedMessage = array_pop($formattedMessages);
- $batchRecord['message'] = implode(PHP_EOL, $messages);
- $batchRecord['formatted'] = implode('', $formattedMessages);
-
- $batchRecords[] = $batchRecord;
- $messages = array($lastMessage);
- $formattedMessages = array($lastFormattedMessage);
-
- $batchRecord = null;
- }
- }
-
- if (null !== $batchRecord) {
- $batchRecords[] = $batchRecord;
- }
-
- // Set the max level and datetime for all records
- foreach ($batchRecords as &$batchRecord) {
- $batchRecord = array_merge(
- $batchRecord,
- array(
- 'level' => $level,
- 'level_name' => $levelName,
- 'datetime' => $datetime
- )
- );
- }
-
- return $batchRecords;
- }
-
- /**
- * Validates the length of a string.
- *
- * If the `mb_strlen()` function is available, it will use that, as HipChat
- * allows UTF-8 characters. Otherwise, it will fall back to `strlen()`.
- *
- * Note that this might cause false failures in the specific case of using
- * a valid name with less than 16 characters, but 16 or more bytes, on a
- * system where `mb_strlen()` is unavailable.
- *
- * @param string $str
- * @param int $length
- *
- * @return bool
- */
- private function validateStringLength($str, $length)
- {
- if (function_exists('mb_strlen')) {
- return (mb_strlen($str) <= $length);
- }
-
- return (strlen($str) <= $length);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php
deleted file mode 100644
index 8bf388b3..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * @author Robert Kaufmann III <rok3@rok3.me>
- */
-class LogEntriesHandler extends SocketHandler
-{
- /**
- * @var string
- */
- protected $logToken;
-
- /**
- * @param string $token Log token supplied by LogEntries
- * @param boolean $useSSL Whether or not SSL encryption should be used.
- * @param int $level The minimum logging level to trigger this handler
- * @param boolean $bubble Whether or not messages that are handled should bubble up the stack.
- *
- * @throws MissingExtensionExcpetion If SSL encryption is set to true and OpenSSL is missing
- */
- public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true)
- {
- if ($useSSL && !extension_loaded('openssl')) {
- throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler');
- }
-
- $endpoint = $useSSL ? 'ssl://api.logentries.com:20000' : 'data.logentries.com:80';
- parent::__construct($endpoint, $level, $bubble);
- $this->logToken = $token;
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- * @return string
- */
- protected function generateDataStream($record)
- {
- return $this->logToken . ' ' . $record['formatted'];
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
deleted file mode 100644
index efd94d30..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\LogglyFormatter;
-
-/**
- * Sends errors to Loggly.
- *
- * @author Przemek Sobstel <przemek@sobstel.org>
- * @author Adam Pancutt <adam@pancutt.com>
- */
-class LogglyHandler extends AbstractProcessingHandler
-{
- const HOST = 'logs-01.loggly.com';
- const ENDPOINT_SINGLE = 'inputs';
- const ENDPOINT_BATCH = 'bulk';
-
- protected $token;
-
- protected $tag;
-
- public function __construct($token, $level = Logger::DEBUG, $bubble = true)
- {
- if (!extension_loaded('curl')) {
- throw new \LogicException('The curl extension is needed to use the LogglyHandler');
- }
-
- $this->token = $token;
-
- parent::__construct($level, $bubble);
- }
-
- public function setTag($tag)
- {
- $this->tag = $tag;
- }
-
- public function addTag($tag)
- {
- $this->tag = (strlen($this->tag) > 0) ? $this->tag .','. $tag : $tag;
- }
-
- protected function write(array $record)
- {
- $this->send($record["formatted"], self::ENDPOINT_SINGLE);
- }
-
- public function handleBatch(array $records)
- {
- $level = $this->level;
-
- $records = array_filter($records, function ($record) use ($level) {
- return ($record['level'] >= $level);
- });
-
- if ($records) {
- $this->send($this->getFormatter()->formatBatch($records), self::ENDPOINT_BATCH);
- }
- }
-
- protected function send($data, $endpoint)
- {
- $url = sprintf("https://%s/%s/%s/", self::HOST, $endpoint, $this->token);
-
- $headers = array('Content-Type: application/json');
-
- if ($this->tag) {
- $headers[] = "X-LOGGLY-TAG: {$this->tag}";
- }
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- curl_exec($ch);
- curl_close($ch);
- }
-
- protected function getDefaultFormatter()
- {
- return new LogglyFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php
deleted file mode 100644
index 86292727..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * Base class for all mail handlers
- *
- * @author Gyula Sallai
- */
-abstract class MailHandler extends AbstractProcessingHandler
-{
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- $messages = array();
-
- foreach ($records as $record) {
- if ($record['level'] < $this->level) {
- continue;
- }
- $messages[] = $this->processRecord($record);
- }
-
- if (!empty($messages)) {
- $this->send((string) $this->getFormatter()->formatBatch($messages), $messages);
- }
- }
-
- /**
- * Send a mail with the given content
- *
- * @param string $content
- * @param array $records the array of log records that formed this content
- */
- abstract protected function send($content, array $records);
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $this->send((string) $record['formatted'], array($record));
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php
deleted file mode 100644
index 60a2901e..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * MandrillHandler uses cURL to send the emails to the Mandrill API
- *
- * @author Adam Nicholson <adamnicholson10@gmail.com>
- */
-class MandrillHandler extends MailHandler
-{
- protected $client;
- protected $message;
-
- /**
- * @param string $apiKey A valid Mandrill API key
- * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true)
- {
- parent::__construct($level, $bubble);
-
- if (!$message instanceof \Swift_Message && is_callable($message)) {
- $message = call_user_func($message);
- }
- if (!$message instanceof \Swift_Message) {
- throw new \InvalidArgumentException('You must provide either a Swift_Message instance or a callable returning it');
- }
- $this->message = $message;
- $this->apiKey = $apiKey;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function send($content, array $records)
- {
- $message = clone $this->message;
- $message->setBody($content);
- $message->setDate(time());
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, 'https://mandrillapp.com/api/1.0/messages/send-raw.json');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
- 'key' => $this->apiKey,
- 'raw_message' => (string) $message,
- 'async' => false,
- )));
-
- curl_exec($ch);
- curl_close($ch);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php b/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php
deleted file mode 100644
index 4724a7e2..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * Exception can be thrown if an extension for an handler is missing
- *
- * @author Christian Bergau <cbergau86@gmail.com>
- */
-class MissingExtensionException extends \Exception
-{
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php
deleted file mode 100644
index 6c431f2b..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\NormalizerFormatter;
-
-/**
- * Logs to a MongoDB database.
- *
- * usage example:
- *
- * $log = new Logger('application');
- * $mongodb = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod");
- * $log->pushHandler($mongodb);
- *
- * @author Thomas Tourlourat <thomas@tourlourat.com>
- */
-class MongoDBHandler extends AbstractProcessingHandler
-{
- protected $mongoCollection;
-
- public function __construct($mongo, $database, $collection, $level = Logger::DEBUG, $bubble = true)
- {
- if (!($mongo instanceof \MongoClient || $mongo instanceof \Mongo)) {
- throw new \InvalidArgumentException('MongoClient or Mongo instance required');
- }
-
- $this->mongoCollection = $mongo->selectCollection($database, $collection);
-
- parent::__construct($level, $bubble);
- }
-
- protected function write(array $record)
- {
- $this->mongoCollection->save($record["formatted"]);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new NormalizerFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php
deleted file mode 100644
index 0fe6b642..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * NativeMailerHandler uses the mail() function to send the emails
- *
- * @author Christophe Coevoet <stof@notk.org>
- * @author Mark Garrett <mark@moderndeveloperllc.com>
- */
-class NativeMailerHandler extends MailHandler
-{
- /**
- * The email addresses to which the message will be sent
- * @var array
- */
- protected $to;
-
- /**
- * The subject of the email
- * @var string
- */
- protected $subject;
-
- /**
- * Optional headers for the message
- * @var array
- */
- protected $headers = array();
-
- /**
- * The wordwrap length for the message
- * @var integer
- */
- protected $maxColumnWidth;
-
- /**
- * The Content-type for the message
- * @var string
- */
- protected $contentType = 'text/plain';
-
- /**
- * The encoding for the message
- * @var string
- */
- protected $encoding = 'utf-8';
-
- /**
- * @param string|array $to The receiver of the mail
- * @param string $subject The subject of the mail
- * @param string $from The sender of the mail
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param int $maxColumnWidth The maximum column width that the message lines will have
- */
- public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true, $maxColumnWidth = 70)
- {
- parent::__construct($level, $bubble);
- $this->to = is_array($to) ? $to : array($to);
- $this->subject = $subject;
- $this->addHeader(sprintf('From: %s', $from));
- $this->maxColumnWidth = $maxColumnWidth;
- }
-
- /**
- * Add headers to the message
- *
- * @param string|array $headers Custom added headers
- * @return null
- */
- public function addHeader($headers)
- {
- foreach ((array) $headers as $header) {
- if (strpos($header, "\n") !== false || strpos($header, "\r") !== false) {
- throw new \InvalidArgumentException('Headers can not contain newline characters for security reasons');
- }
- $this->headers[] = $header;
- }
- }
-
- /**
- * {@inheritdoc}
- */
- protected function send($content, array $records)
- {
- $content = wordwrap($content, $this->maxColumnWidth);
- $headers = ltrim(implode("\r\n", $this->headers) . "\r\n", "\r\n");
- $headers .= 'Content-type: ' . $this->getContentType() . '; charset=' . $this->getEncoding() . "\r\n";
- if ($this->getContentType() == 'text/html' && false === strpos($headers, 'MIME-Version:')) {
- $headers .= 'MIME-Version: 1.0' . "\r\n";
- }
- foreach ($this->to as $to) {
- mail($to, $this->subject, $content, $headers);
- }
- }
-
- /**
- * @return string $contentType
- */
- public function getContentType()
- {
- return $this->contentType;
- }
-
- /**
- * @return string $encoding
- */
- public function getEncoding()
- {
- return $this->encoding;
- }
-
- /**
- * @param string $contentType The content type of the email - Defaults to text/plain. Use text/html for HTML
- * messages.
- * @return self
- */
- public function setContentType($contentType)
- {
- if (strpos($contentType, "\n") !== false || strpos($contentType, "\r") !== false) {
- throw new \InvalidArgumentException('The content type can not contain newline characters to prevent email header injection');
- }
-
- $this->contentType = $contentType;
-
- return $this;
- }
-
- /**
- * @param string $encoding
- * @return self
- */
- public function setEncoding($encoding)
- {
- if (strpos($encoding, "\n") !== false || strpos($encoding, "\r") !== false) {
- throw new \InvalidArgumentException('The content type can not contain newline characters to prevent email header injection');
- }
-
- $this->encoding = $encoding;
-
- return $this;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php
deleted file mode 100644
index 9807410d..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Class to record a log on a NewRelic application
- *
- * @see https://docs.newrelic.com/docs/agents/php-agent
- */
-class NewRelicHandler extends AbstractProcessingHandler
-{
- /**
- * Name of the New Relic application that will receive logs from this handler.
- *
- * @var string
- */
- protected $appName;
-
- /**
- * Name of the current transaction
- *
- * @var string
- */
- protected $transactionName;
-
- /**
- * Some context and extra data is passed into the handler as arrays of values. Do we send them as is
- * (useful if we are using the API), or explode them for display on the NewRelic RPM website?
- *
- * @var boolean
- */
- protected $explodeArrays;
-
- /**
- * {@inheritDoc}
- *
- * @param string $appName
- * @param boolean $explodeArrays
- * @param string $transactionName
- */
- public function __construct(
- $level = Logger::ERROR,
- $bubble = true,
- $appName = null,
- $explodeArrays = false,
- $transactionName = null
- ) {
- parent::__construct($level, $bubble);
-
- $this->appName = $appName;
- $this->explodeArrays = $explodeArrays;
- $this->transactionName = $transactionName;
- }
-
- /**
- * {@inheritDoc}
- */
- protected function write(array $record)
- {
- if (!$this->isNewRelicEnabled()) {
- throw new MissingExtensionException('The newrelic PHP extension is required to use the NewRelicHandler');
- }
-
- if ($appName = $this->getAppName($record['context'])) {
- $this->setNewRelicAppName($appName);
- }
-
- if ($transactionName = $this->getTransactionName($record['context'])) {
- $this->setNewRelicTransactionName($transactionName);
- unset($record['context']['transaction_name']);
- }
-
- if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) {
- newrelic_notice_error($record['message'], $record['context']['exception']);
- unset($record['context']['exception']);
- } else {
- newrelic_notice_error($record['message']);
- }
-
- foreach ($record['context'] as $key => $parameter) {
- if (is_array($parameter) && $this->explodeArrays) {
- foreach ($parameter as $paramKey => $paramValue) {
- newrelic_add_custom_parameter('context_' . $key . '_' . $paramKey, $paramValue);
- }
- } else {
- newrelic_add_custom_parameter('context_' . $key, $parameter);
- }
- }
-
- foreach ($record['extra'] as $key => $parameter) {
- if (is_array($parameter) && $this->explodeArrays) {
- foreach ($parameter as $paramKey => $paramValue) {
- newrelic_add_custom_parameter('extra_' . $key . '_' . $paramKey, $paramValue);
- }
- } else {
- newrelic_add_custom_parameter('extra_' . $key, $parameter);
- }
- }
- }
-
- /**
- * Checks whether the NewRelic extension is enabled in the system.
- *
- * @return bool
- */
- protected function isNewRelicEnabled()
- {
- return extension_loaded('newrelic');
- }
-
- /**
- * Returns the appname where this log should be sent. Each log can override the default appname, set in this
- * handler's constructor, by providing the appname in it's context.
- *
- * @param array $context
- * @return null|string
- */
- protected function getAppName(array $context)
- {
- if (isset($context['appname'])) {
- return $context['appname'];
- }
-
- return $this->appName;
- }
-
- /**
- * Returns the name of the current transaction. Each log can override the default transaction name, set in this
- * handler's constructor, by providing the transaction_name in it's context
- *
- * @param array $context
- *
- * @return null|string
- */
- protected function getTransactionName(array $context)
- {
- if (isset($context['transaction_name'])) {
- return $context['transaction_name'];
- }
-
- return $this->transactionName;
- }
-
- /**
- * Sets the NewRelic application that should receive this log.
- *
- * @param string $appName
- */
- protected function setNewRelicAppName($appName)
- {
- newrelic_set_appname($appName);
- }
-
- /**
- * Overwrites the name of the current transaction
- *
- * @param $transactionName
- */
- protected function setNewRelicTransactionName($transactionName)
- {
- newrelic_name_transaction($transactionName);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php
deleted file mode 100644
index 3754e45d..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Blackhole
- *
- * Any record it can handle will be thrown away. This can be used
- * to put on top of an existing stack to override it temporarily.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class NullHandler extends AbstractHandler
-{
- /**
- * @param integer $level The minimum logging level at which this handler will be triggered
- */
- public function __construct($level = Logger::DEBUG)
- {
- parent::__construct($level, false);
- }
-
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if ($record['level'] < $this->level) {
- return false;
- }
-
- return true;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php
deleted file mode 100644
index 1ae85845..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Psr\Log\LoggerInterface;
-
-/**
- * Proxies log messages to an existing PSR-3 compliant logger.
- *
- * @author Michael Moussa <michael.moussa@gmail.com>
- */
-class PsrHandler extends AbstractHandler
-{
- /**
- * PSR-3 compliant logger
- *
- * @var LoggerInterface
- */
- protected $logger;
-
- /**
- * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
- * @param int $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
-
- $this->logger = $logger;
- }
-
- /**
- * {@inheritDoc}
- */
- public function handle(array $record)
- {
- if (!$this->isHandling($record)) {
- return false;
- }
-
- $this->logger->log(strtolower($record['level_name']), $record['message'], $record['context']);
-
- return false === $this->bubble;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php
deleted file mode 100644
index cd2fcfa3..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Sends notifications through the pushover api to mobile phones
- *
- * @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
- * @see https://www.pushover.net/api
- */
-class PushoverHandler extends SocketHandler
-{
- private $token;
- private $users;
- private $title;
- private $user;
- private $retry;
- private $expire;
-
- private $highPriorityLevel;
- private $emergencyLevel;
-
- /**
- * All parameters that can be sent to Pushover
- * @see https://pushover.net/api
- * @var array
- */
- private $parameterNames = array(
- 'token' => true,
- 'user' => true,
- 'message' => true,
- 'device' => true,
- 'title' => true,
- 'url' => true,
- 'url_title' => true,
- 'priority' => true,
- 'timestamp' => true,
- 'sound' => true,
- 'retry' => true,
- 'expire' => true,
- 'callback' => true,
- );
-
- /**
- * Sounds the api supports by default
- * @see https://pushover.net/api#sounds
- * @var array
- */
- private $sounds = array(
- 'pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming',
- 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb',
- 'persistent', 'echo', 'updown', 'none',
- );
-
- /**
- * @param string $token Pushover api token
- * @param string|array $users Pushover user id or array of ids the message will be sent to
- * @param string $title Title sent to the Pushover API
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param Boolean $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
- * the pushover.net app owner. OpenSSL is required for this option.
- * @param integer $highPriorityLevel The minimum logging level at which this handler will start
- * sending "high priority" requests to the Pushover API
- * @param integer $emergencyLevel The minimum logging level at which this handler will start
- * sending "emergency" requests to the Pushover API
- * @param integer $retry The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user.
- * @param integer $expire The expire parameter specifies how many seconds your notification will continue to be retried for (every retry seconds).
- */
- public function __construct($token, $users, $title = null, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $highPriorityLevel = Logger::CRITICAL, $emergencyLevel = Logger::EMERGENCY, $retry = 30, $expire = 25200)
- {
- $connectionString = $useSSL ? 'ssl://api.pushover.net:443' : 'api.pushover.net:80';
- parent::__construct($connectionString, $level, $bubble);
-
- $this->token = $token;
- $this->users = (array) $users;
- $this->title = $title ?: gethostname();
- $this->highPriorityLevel = Logger::toMonologLevel($highPriorityLevel);
- $this->emergencyLevel = Logger::toMonologLevel($emergencyLevel);
- $this->retry = $retry;
- $this->expire = $expire;
- }
-
- protected function generateDataStream($record)
- {
- $content = $this->buildContent($record);
-
- return $this->buildHeader($content) . $content;
- }
-
- private function buildContent($record)
- {
- // Pushover has a limit of 512 characters on title and message combined.
- $maxMessageLength = 512 - strlen($this->title);
- $message = substr($record['message'], 0, $maxMessageLength);
- $timestamp = $record['datetime']->getTimestamp();
-
- $dataArray = array(
- 'token' => $this->token,
- 'user' => $this->user,
- 'message' => $message,
- 'title' => $this->title,
- 'timestamp' => $timestamp
- );
-
- if (isset($record['level']) && $record['level'] >= $this->emergencyLevel) {
- $dataArray['priority'] = 2;
- $dataArray['retry'] = $this->retry;
- $dataArray['expire'] = $this->expire;
- } elseif (isset($record['level']) && $record['level'] >= $this->highPriorityLevel) {
- $dataArray['priority'] = 1;
- }
-
- // First determine the available parameters
- $context = array_intersect_key($record['context'], $this->parameterNames);
- $extra = array_intersect_key($record['extra'], $this->parameterNames);
-
- // Least important info should be merged with subsequent info
- $dataArray = array_merge($extra, $context, $dataArray);
-
- // Only pass sounds that are supported by the API
- if (isset($dataArray['sound']) && !in_array($dataArray['sound'], $this->sounds)) {
- unset($dataArray['sound']);
- }
-
- return http_build_query($dataArray);
- }
-
- private function buildHeader($content)
- {
- $header = "POST /1/messages.json HTTP/1.1\r\n";
- $header .= "Host: api.pushover.net\r\n";
- $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $header .= "Content-Length: " . strlen($content) . "\r\n";
- $header .= "\r\n";
-
- return $header;
- }
-
- protected function write(array $record)
- {
- foreach ($this->users as $user) {
- $this->user = $user;
-
- parent::write($record);
- $this->closeSocket();
- }
-
- $this->user = null;
- }
-
- public function setHighPriorityLevel($value)
- {
- $this->highPriorityLevel = $value;
- }
-
- public function setEmergencyLevel($value)
- {
- $this->emergencyLevel = $value;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php
deleted file mode 100644
index f5743cd6..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\LineFormatter;
-use Monolog\Formatter\FormatterInterface;
-use Monolog\Logger;
-use Raven_Client;
-
-/**
- * Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server
- * using raven-php (https://github.com/getsentry/raven-php)
- *
- * @author Marc Abramowitz <marc@marc-abramowitz.com>
- */
-class RavenHandler extends AbstractProcessingHandler
-{
- /**
- * Translates Monolog log levels to Raven log levels.
- */
- private $logLevels = array(
- Logger::DEBUG => Raven_Client::DEBUG,
- Logger::INFO => Raven_Client::INFO,
- Logger::NOTICE => Raven_Client::INFO,
- Logger::WARNING => Raven_Client::WARNING,
- Logger::ERROR => Raven_Client::ERROR,
- Logger::CRITICAL => Raven_Client::FATAL,
- Logger::ALERT => Raven_Client::FATAL,
- Logger::EMERGENCY => Raven_Client::FATAL,
- );
-
- /**
- * @var Raven_Client the client object that sends the message to the server
- */
- protected $ravenClient;
-
- /**
- * @var LineFormatter The formatter to use for the logs generated via handleBatch()
- */
- protected $batchFormatter;
-
- /**
- * @param Raven_Client $ravenClient
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
-
- $this->ravenClient = $ravenClient;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- $level = $this->level;
-
- // filter records based on their level
- $records = array_filter($records, function ($record) use ($level) {
- return $record['level'] >= $level;
- });
-
- if (!$records) {
- return;
- }
-
- // the record with the highest severity is the "main" one
- $record = array_reduce($records, function ($highest, $record) {
- if ($record['level'] >= $highest['level']) {
- return $record;
- }
-
- return $highest;
- });
-
- // the other ones are added as a context item
- $logs = array();
- foreach ($records as $r) {
- $logs[] = $this->processRecord($r);
- }
-
- if ($logs) {
- $record['context']['logs'] = (string) $this->getBatchFormatter()->formatBatch($logs);
- }
-
- $this->handle($record);
- }
-
- /**
- * Sets the formatter for the logs generated by handleBatch().
- *
- * @param FormatterInterface $formatter
- */
- public function setBatchFormatter(FormatterInterface $formatter)
- {
- $this->batchFormatter = $formatter;
- }
-
- /**
- * Gets the formatter for the logs generated by handleBatch().
- *
- * @return FormatterInterface
- */
- public function getBatchFormatter()
- {
- if (!$this->batchFormatter) {
- $this->batchFormatter = $this->getDefaultBatchFormatter();
- }
-
- return $this->batchFormatter;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $options = array();
- $options['level'] = $this->logLevels[$record['level']];
- $options['tags'] = array();
- if (!empty($record['extra']['tags'])) {
- $options['tags'] = array_merge($options['tags'], $record['extra']['tags']);
- unset($record['extra']['tags']);
- }
- if (!empty($record['context']['tags'])) {
- $options['tags'] = array_merge($options['tags'], $record['context']['tags']);
- unset($record['context']['tags']);
- }
- if (!empty($record['context']['logger'])) {
- $options['logger'] = $record['context']['logger'];
- unset($record['context']['logger']);
- } else {
- $options['logger'] = $record['channel'];
- }
- if (!empty($record['context'])) {
- $options['extra']['context'] = $record['context'];
- }
- if (!empty($record['extra'])) {
- $options['extra']['extra'] = $record['extra'];
- }
-
- if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) {
- $options['extra']['message'] = $record['formatted'];
- $this->ravenClient->captureException($record['context']['exception'], $options);
-
- return;
- }
-
- $this->ravenClient->captureMessage($record['formatted'], array(), $options);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter('[%channel%] %message%');
- }
-
- /**
- * Gets the default formatter for the logs generated by handleBatch().
- *
- * @return FormatterInterface
- */
- protected function getDefaultBatchFormatter()
- {
- return new LineFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php
deleted file mode 100644
index 3fc7f34b..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-/**
- * Logs to a Redis key using rpush
- *
- * usage example:
- *
- * $log = new Logger('application');
- * $redis = new RedisHandler(new Predis\Client("tcp://localhost:6379"), "logs", "prod");
- * $log->pushHandler($redis);
- *
- * @author Thomas Tourlourat <thomas@tourlourat.com>
- */
-class RedisHandler extends AbstractProcessingHandler
-{
- private $redisClient;
- private $redisKey;
-
- # redis instance, key to use
- public function __construct($redis, $key, $level = Logger::DEBUG, $bubble = true)
- {
- if (!(($redis instanceof \Predis\Client) || ($redis instanceof \Redis))) {
- throw new \InvalidArgumentException('Predis\Client or Redis instance required');
- }
-
- $this->redisClient = $redis;
- $this->redisKey = $key;
-
- parent::__construct($level, $bubble);
- }
-
- protected function write(array $record)
- {
- $this->redisClient->rpush($this->redisKey, $record["formatted"]);
- }
-
- /**
- * {@inheritDoc}
- */
- protected function getDefaultFormatter()
- {
- return new LineFormatter();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php
deleted file mode 100644
index 81abf086..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use RollbarNotifier;
-use Exception;
-use Monolog\Logger;
-
-/**
- * Sends errors to Rollbar
- *
- * @author Paul Statezny <paulstatezny@gmail.com>
- */
-class RollbarHandler extends AbstractProcessingHandler
-{
- /**
- * Rollbar notifier
- *
- * @var RollbarNotifier
- */
- protected $rollbarNotifier;
-
- /**
- * @param RollbarNotifier $rollbarNotifier RollbarNotifier object constructed with valid token
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(RollbarNotifier $rollbarNotifier, $level = Logger::ERROR, $bubble = true)
- {
- $this->rollbarNotifier = $rollbarNotifier;
-
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- if (isset($record['context']['exception']) && $record['context']['exception'] instanceof Exception) {
- $this->rollbarNotifier->report_exception($record['context']['exception']);
- } else {
- $extraData = array(
- 'level' => $record['level'],
- 'channel' => $record['channel'],
- 'datetime' => $record['datetime']->format('U'),
- );
-
- $this->rollbarNotifier->report_message(
- $record['message'],
- $record['level_name'],
- array_merge($record['context'], $record['extra'], $extraData)
- );
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- $this->rollbarNotifier->flush();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php
deleted file mode 100644
index 4168c32f..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Stores logs to files that are rotated every day and a limited number of files are kept.
- *
- * This rotation is only intended to be used as a workaround. Using logrotate to
- * handle the rotation is strongly encouraged when you can use it.
- *
- * @author Christophe Coevoet <stof@notk.org>
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class RotatingFileHandler extends StreamHandler
-{
- protected $filename;
- protected $maxFiles;
- protected $mustRotate;
- protected $nextRotation;
- protected $filenameFormat;
- protected $dateFormat;
-
- /**
- * @param string $filename
- * @param integer $maxFiles The maximal amount of files to keep (0 means unlimited)
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
- * @param Boolean $useLocking Try to lock log file before doing any writes
- */
- public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false)
- {
- $this->filename = $filename;
- $this->maxFiles = (int) $maxFiles;
- $this->nextRotation = new \DateTime('tomorrow');
- $this->filenameFormat = '{filename}-{date}';
- $this->dateFormat = 'Y-m-d';
-
- parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking);
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- parent::close();
-
- if (true === $this->mustRotate) {
- $this->rotate();
- }
- }
-
- public function setFilenameFormat($filenameFormat, $dateFormat)
- {
- $this->filenameFormat = $filenameFormat;
- $this->dateFormat = $dateFormat;
- $this->url = $this->getTimedFilename();
- $this->close();
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- // on the first record written, if the log is new, we should rotate (once per day)
- if (null === $this->mustRotate) {
- $this->mustRotate = !file_exists($this->url);
- }
-
- if ($this->nextRotation < $record['datetime']) {
- $this->mustRotate = true;
- $this->close();
- }
-
- parent::write($record);
- }
-
- /**
- * Rotates the files.
- */
- protected function rotate()
- {
- // update filename
- $this->url = $this->getTimedFilename();
- $this->nextRotation = new \DateTime('tomorrow');
-
- // skip GC of old logs if files are unlimited
- if (0 === $this->maxFiles) {
- return;
- }
-
- $logFiles = glob($this->getGlobPattern());
- if ($this->maxFiles >= count($logFiles)) {
- // no files to remove
- return;
- }
-
- // Sorting the files by name to remove the older ones
- usort($logFiles, function ($a, $b) {
- return strcmp($b, $a);
- });
-
- foreach (array_slice($logFiles, $this->maxFiles) as $file) {
- if (is_writable($file)) {
- unlink($file);
- }
- }
- }
-
- protected function getTimedFilename()
- {
- $fileInfo = pathinfo($this->filename);
- $timedFilename = str_replace(
- array('{filename}', '{date}'),
- array($fileInfo['filename'], date($this->dateFormat)),
- $fileInfo['dirname'] . '/' . $this->filenameFormat
- );
-
- if (!empty($fileInfo['extension'])) {
- $timedFilename .= '.'.$fileInfo['extension'];
- }
-
- return $timedFilename;
- }
-
- protected function getGlobPattern()
- {
- $fileInfo = pathinfo($this->filename);
- $glob = str_replace(
- array('{filename}', '{date}'),
- array($fileInfo['filename'], '*'),
- $fileInfo['dirname'] . '/' . $this->filenameFormat
- );
- if (!empty($fileInfo['extension'])) {
- $glob .= '.'.$fileInfo['extension'];
- }
-
- return $glob;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php
deleted file mode 100644
index 487e26f6..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-
-/**
- * Sampling handler
- *
- * A sampled event stream can be useful for logging high frequency events in
- * a production environment where you only need an idea of what is happening
- * and are not concerned with capturing every occurrence. Since the decision to
- * handle or not handle a particular event is determined randomly, the
- * resulting sampled log is not guaranteed to contain 1/N of the events that
- * occurred in the application, but based on the Law of large numbers, it will
- * tend to be close to this ratio with a large number of attempts.
- *
- * @author Bryan Davis <bd808@wikimedia.org>
- * @author Kunal Mehta <legoktm@gmail.com>
- */
-class SamplingHandler extends AbstractHandler
-{
- /**
- * @var callable|HandlerInterface $handler
- */
- protected $handler;
-
- /**
- * @var int $factor
- */
- protected $factor;
-
- /**
- * @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler).
- * @param int $factor Sample factor
- */
- public function __construct($handler, $factor)
- {
- parent::__construct();
- $this->handler = $handler;
- $this->factor = $factor;
-
- if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) {
- throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object");
- }
- }
-
- public function isHandling(array $record)
- {
- return $this->handler->isHandling($record);
- }
-
- public function handle(array $record)
- {
- if ($this->isHandling($record) && mt_rand(1, $this->factor) === 1) {
- // The same logic as in FingersCrossedHandler
- if (!$this->handler instanceof HandlerInterface) {
- $this->handler = call_user_func($this->handler, $record, $this);
- if (!$this->handler instanceof HandlerInterface) {
- throw new \RuntimeException("The factory callable should return a HandlerInterface");
- }
- }
-
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- $this->handler->handle($record);
- }
-
- return false === $this->bubble;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php
deleted file mode 100644
index e3c8e11b..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php
+++ /dev/null
@@ -1,234 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-/**
- * Sends notifications through Slack API
- *
- * @author Greg Kedzierski <greg@gregkedzierski.com>
- * @see https://api.slack.com/
- */
-class SlackHandler extends SocketHandler
-{
- /**
- * Slack API token
- * @var string
- */
- private $token;
-
- /**
- * Slack channel (encoded ID or name)
- * @var string
- */
- private $channel;
-
- /**
- * Name of a bot
- * @var string
- */
- private $username;
-
- /**
- * Emoji icon name
- * @var string
- */
- private $iconEmoji;
-
- /**
- * Whether the message should be added to Slack as attachment (plain text otherwise)
- * @var bool
- */
- private $useAttachment;
-
- /**
- * Whether the the message that is added to Slack as attachment is in a short style (or not)
- * @var bool
- */
- private $useShortAttachment;
-
- /**
- * Whether the attachment should include extra data (or not)
- * @var bool
- */
- private $includeExtra;
-
- /**
- * @var LineFormatter
- */
- private $lineFormatter;
-
- /**
- * @param string $token Slack API token
- * @param string $channel Slack channel (encoded ID or name)
- * @param string $username Name of a bot
- * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise)
- * @param string|null $iconEmoji The emoji name to use (or null)
- * @param int $level The minimum logging level at which this handler will be triggered
- * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($token, $channel, $username = 'Monolog', $useAttachment = true, $iconEmoji = null, $level = Logger::CRITICAL, $bubble = true, $useShortAttachment = false, $includeExtra = false)
- {
- if (!extension_loaded('openssl')) {
- throw new MissingExtensionException('The OpenSSL PHP extension is required to use the SlackHandler');
- }
-
- parent::__construct('ssl://slack.com:443', $level, $bubble);
-
- $this->token = $token;
- $this->channel = $channel;
- $this->username = $username;
- $this->iconEmoji = trim($iconEmoji, ':');
- $this->useAttachment = $useAttachment;
- $this->useShortAttachment = $useShortAttachment;
- $this->includeExtra = $includeExtra;
- if ($this->includeExtra) {
- $this->lineFormatter = new LineFormatter;
- }
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- * @return string
- */
- protected function generateDataStream($record)
- {
- $content = $this->buildContent($record);
-
- return $this->buildHeader($content) . $content;
- }
-
- /**
- * Builds the body of API call
- *
- * @param array $record
- * @return string
- */
- private function buildContent($record)
- {
- $dataArray = array(
- 'token' => $this->token,
- 'channel' => $this->channel,
- 'username' => $this->username,
- 'text' => '',
- 'attachments' => array()
- );
-
- if ($this->useAttachment) {
- $attachment = array(
- 'fallback' => $record['message'],
- 'color' => $this->getAttachmentColor($record['level'])
- );
-
- if ($this->useShortAttachment) {
- $attachment['fields'] = array(
- array(
- 'title' => $record['level_name'],
- 'value' => $record['message'],
- 'short' => false
- )
- );
- } else {
- $attachment['fields'] = array(
- array(
- 'title' => 'Message',
- 'value' => $record['message'],
- 'short' => false
- ),
- array(
- 'title' => 'Level',
- 'value' => $record['level_name'],
- 'short' => true
- )
- );
- }
-
- if ($this->includeExtra) {
- $extra = '';
- foreach ($record['extra'] as $var => $val) {
- $extra .= $var.': '.$this->lineFormatter->stringify($val)." | ";
- }
-
- $extra = rtrim($extra, " |");
-
- $attachment['fields'][] = array(
- 'title' => "Extra",
- 'value' => $extra,
- 'short' => false
- );
- }
-
- $dataArray['attachments'] = json_encode(array($attachment));
- } else {
- $dataArray['text'] = $record['message'];
- }
-
- if ($this->iconEmoji) {
- $dataArray['icon_emoji'] = ":{$this->iconEmoji}:";
- }
-
- return http_build_query($dataArray);
- }
-
- /**
- * Builds the header of the API Call
- *
- * @param string $content
- * @return string
- */
- private function buildHeader($content)
- {
- $header = "POST /api/chat.postMessage HTTP/1.1\r\n";
- $header .= "Host: slack.com\r\n";
- $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $header .= "Content-Length: " . strlen($content) . "\r\n";
- $header .= "\r\n";
-
- return $header;
- }
-
- /**
- * {@inheritdoc}
- *
- * @param array $record
- */
- protected function write(array $record)
- {
- parent::write($record);
- $this->closeSocket();
- }
-
- /**
- * Returned a Slack message attachment color associated with
- * provided level.
- *
- * @param int $level
- * @return string
- */
- protected function getAttachmentColor($level)
- {
- switch (true) {
- case $level >= Logger::ERROR:
- return 'danger';
- case $level >= Logger::WARNING:
- return 'warning';
- case $level >= Logger::INFO:
- return 'good';
- default:
- return '#e3e4e6';
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php
deleted file mode 100644
index ee486f69..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php
+++ /dev/null
@@ -1,284 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Stores to any socket - uses fsockopen() or pfsockopen().
- *
- * @author Pablo de Leon Belloc <pablolb@gmail.com>
- * @see http://php.net/manual/en/function.fsockopen.php
- */
-class SocketHandler extends AbstractProcessingHandler
-{
- private $connectionString;
- private $connectionTimeout;
- private $resource;
- private $timeout = 0;
- private $persistent = false;
- private $errno;
- private $errstr;
-
- /**
- * @param string $connectionString Socket connection string
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($level, $bubble);
- $this->connectionString = $connectionString;
- $this->connectionTimeout = (float) ini_get('default_socket_timeout');
- }
-
- /**
- * Connect (if necessary) and write to the socket
- *
- * @param array $record
- *
- * @throws \UnexpectedValueException
- * @throws \RuntimeException
- */
- protected function write(array $record)
- {
- $this->connectIfNotConnected();
- $data = $this->generateDataStream($record);
- $this->writeToSocket($data);
- }
-
- /**
- * We will not close a PersistentSocket instance so it can be reused in other requests.
- */
- public function close()
- {
- if (!$this->isPersistent()) {
- $this->closeSocket();
- }
- }
-
- /**
- * Close socket, if open
- */
- public function closeSocket()
- {
- if (is_resource($this->resource)) {
- fclose($this->resource);
- $this->resource = null;
- }
- }
-
- /**
- * Set socket connection to nbe persistent. It only has effect before the connection is initiated.
- *
- * @param type $boolean
- */
- public function setPersistent($boolean)
- {
- $this->persistent = (boolean) $boolean;
- }
-
- /**
- * Set connection timeout. Only has effect before we connect.
- *
- * @param float $seconds
- *
- * @see http://php.net/manual/en/function.fsockopen.php
- */
- public function setConnectionTimeout($seconds)
- {
- $this->validateTimeout($seconds);
- $this->connectionTimeout = (float) $seconds;
- }
-
- /**
- * Set write timeout. Only has effect before we connect.
- *
- * @param float $seconds
- *
- * @see http://php.net/manual/en/function.stream-set-timeout.php
- */
- public function setTimeout($seconds)
- {
- $this->validateTimeout($seconds);
- $this->timeout = (float) $seconds;
- }
-
- /**
- * Get current connection string
- *
- * @return string
- */
- public function getConnectionString()
- {
- return $this->connectionString;
- }
-
- /**
- * Get persistent setting
- *
- * @return boolean
- */
- public function isPersistent()
- {
- return $this->persistent;
- }
-
- /**
- * Get current connection timeout setting
- *
- * @return float
- */
- public function getConnectionTimeout()
- {
- return $this->connectionTimeout;
- }
-
- /**
- * Get current in-transfer timeout
- *
- * @return float
- */
- public function getTimeout()
- {
- return $this->timeout;
- }
-
- /**
- * Check to see if the socket is currently available.
- *
- * UDP might appear to be connected but might fail when writing. See http://php.net/fsockopen for details.
- *
- * @return boolean
- */
- public function isConnected()
- {
- return is_resource($this->resource)
- && !feof($this->resource); // on TCP - other party can close connection.
- }
-
- /**
- * Wrapper to allow mocking
- */
- protected function pfsockopen()
- {
- return @pfsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout);
- }
-
- /**
- * Wrapper to allow mocking
- */
- protected function fsockopen()
- {
- return @fsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout);
- }
-
- /**
- * Wrapper to allow mocking
- *
- * @see http://php.net/manual/en/function.stream-set-timeout.php
- */
- protected function streamSetTimeout()
- {
- $seconds = floor($this->timeout);
- $microseconds = round(($this->timeout - $seconds)*1e6);
-
- return stream_set_timeout($this->resource, $seconds, $microseconds);
- }
-
- /**
- * Wrapper to allow mocking
- */
- protected function fwrite($data)
- {
- return @fwrite($this->resource, $data);
- }
-
- /**
- * Wrapper to allow mocking
- */
- protected function streamGetMetadata()
- {
- return stream_get_meta_data($this->resource);
- }
-
- private function validateTimeout($value)
- {
- $ok = filter_var($value, FILTER_VALIDATE_FLOAT);
- if ($ok === false || $value < 0) {
- throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got $value)");
- }
- }
-
- private function connectIfNotConnected()
- {
- if ($this->isConnected()) {
- return;
- }
- $this->connect();
- }
-
- protected function generateDataStream($record)
- {
- return (string) $record['formatted'];
- }
-
- private function connect()
- {
- $this->createSocketResource();
- $this->setSocketTimeout();
- }
-
- private function createSocketResource()
- {
- if ($this->isPersistent()) {
- $resource = $this->pfsockopen();
- } else {
- $resource = $this->fsockopen();
- }
- if (!$resource) {
- throw new \UnexpectedValueException("Failed connecting to $this->connectionString ($this->errno: $this->errstr)");
- }
- $this->resource = $resource;
- }
-
- private function setSocketTimeout()
- {
- if (!$this->streamSetTimeout()) {
- throw new \UnexpectedValueException("Failed setting timeout with stream_set_timeout()");
- }
- }
-
- private function writeToSocket($data)
- {
- $length = strlen($data);
- $sent = 0;
- while ($this->isConnected() && $sent < $length) {
- if (0 == $sent) {
- $chunk = $this->fwrite($data);
- } else {
- $chunk = $this->fwrite(substr($data, $sent));
- }
- if ($chunk === false) {
- throw new \RuntimeException("Could not write to socket");
- }
- $sent += $chunk;
- $socketInfo = $this->streamGetMetadata();
- if ($socketInfo['timed_out']) {
- throw new \RuntimeException("Write timed-out");
- }
- }
- if (!$this->isConnected() && $sent < $length) {
- throw new \RuntimeException("End-of-file reached, probably we got disconnected (sent $sent of $length)");
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
deleted file mode 100644
index 7965db74..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Stores to any stream resource
- *
- * Can be used to store into php://stderr, remote and local files, etc.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class StreamHandler extends AbstractProcessingHandler
-{
- protected $stream;
- protected $url;
- private $errorMessage;
- protected $filePermission;
- protected $useLocking;
-
- /**
- * @param resource|string $stream
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
- * @param Boolean $useLocking Try to lock log file before doing any writes
- *
- * @throws \InvalidArgumentException If stream is not a resource or string
- */
- public function __construct($stream, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false)
- {
- parent::__construct($level, $bubble);
- if (is_resource($stream)) {
- $this->stream = $stream;
- } elseif (is_string($stream)) {
- $this->url = $stream;
- } else {
- throw new \InvalidArgumentException('A stream must either be a resource or a string.');
- }
-
- $this->filePermission = $filePermission;
- $this->useLocking = $useLocking;
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- if (is_resource($this->stream)) {
- fclose($this->stream);
- }
- $this->stream = null;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- if (!is_resource($this->stream)) {
- if (!$this->url) {
- throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
- }
- $this->errorMessage = null;
- set_error_handler(array($this, 'customErrorHandler'));
- $this->stream = fopen($this->url, 'a');
- if ($this->filePermission !== null) {
- @chmod($this->url, $this->filePermission);
- }
- restore_error_handler();
- if (!is_resource($this->stream)) {
- $this->stream = null;
- throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url));
- }
- }
-
- if ($this->useLocking) {
- // ignoring errors here, there's not much we can do about them
- flock($this->stream, LOCK_EX);
- }
-
- fwrite($this->stream, (string) $record['formatted']);
-
- if ($this->useLocking) {
- flock($this->stream, LOCK_UN);
- }
- }
-
- private function customErrorHandler($code, $msg)
- {
- $this->errorMessage = preg_replace('{^fopen\(.*?\): }', '', $msg);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php
deleted file mode 100644
index af321db2..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * SwiftMailerHandler uses Swift_Mailer to send the emails
- *
- * @author Gyula Sallai
- */
-class SwiftMailerHandler extends MailHandler
-{
- protected $mailer;
- protected $message;
-
- /**
- * @param \Swift_Mailer $mailer The mailer to use
- * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true)
- {
- parent::__construct($level, $bubble);
- $this->mailer = $mailer;
- if (!$message instanceof \Swift_Message && is_callable($message)) {
- $message = call_user_func($message);
- }
- if (!$message instanceof \Swift_Message) {
- throw new \InvalidArgumentException('You must provide either a Swift_Message instance or a callable returning it');
- }
- $this->message = $message;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function send($content, array $records)
- {
- $message = clone $this->message;
- $message->setBody($content);
- $message->setDate(time());
-
- $this->mailer->send($message);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php
deleted file mode 100644
index 47c73e12..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Logs to syslog service.
- *
- * usage example:
- *
- * $log = new Logger('application');
- * $syslog = new SyslogHandler('myfacility', 'local6');
- * $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
- * $syslog->setFormatter($formatter);
- * $log->pushHandler($syslog);
- *
- * @author Sven Paulus <sven@karlsruhe.org>
- */
-class SyslogHandler extends AbstractSyslogHandler
-{
- protected $ident;
- protected $logopts;
-
- /**
- * @param string $ident
- * @param mixed $facility
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
- */
- public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID)
- {
- parent::__construct($facility, $level, $bubble);
-
- $this->ident = $ident;
- $this->logopts = $logopts;
- }
-
- /**
- * {@inheritdoc}
- */
- public function close()
- {
- closelog();
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- if (!openlog($this->ident, $this->logopts, $this->facility)) {
- throw new \LogicException('Can\'t open syslog for ident "'.$this->ident.'" and facility "'.$this->facility.'"');
- }
- syslog($this->logLevels[$record['level']], (string) $record['formatted']);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php
deleted file mode 100644
index dcf3f1f9..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler\SyslogUdp;
-
-class UdpSocket
-{
- const DATAGRAM_MAX_LENGTH = 65023;
-
- public function __construct($ip, $port = 514)
- {
- $this->ip = $ip;
- $this->port = $port;
- $this->socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
- }
-
- public function write($line, $header = "")
- {
- $this->send($this->assembleMessage($line, $header));
- }
-
- public function close()
- {
- socket_close($this->socket);
- }
-
- protected function send($chunk)
- {
- socket_sendto($this->socket, $chunk, strlen($chunk), $flags = 0, $this->ip, $this->port);
- }
-
- protected function assembleMessage($line, $header)
- {
- $chunkSize = self::DATAGRAM_MAX_LENGTH - strlen($header);
-
- return $header . substr($line, 0, $chunkSize);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php
deleted file mode 100644
index aa047c07..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\Handler\SyslogUdp\UdpSocket;
-
-/**
- * A Handler for logging to a remote syslogd server.
- *
- * @author Jesper Skovgaard Nielsen <nulpunkt@gmail.com>
- */
-class SyslogUdpHandler extends AbstractSyslogHandler
-{
- /**
- * @param string $host
- * @param int $port
- * @param mixed $facility
- * @param integer $level The minimum logging level at which this handler will be triggered
- * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
- */
- public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true)
- {
- parent::__construct($facility, $level, $bubble);
-
- $this->socket = new UdpSocket($host, $port ?: 514);
- }
-
- protected function write(array $record)
- {
- $lines = $this->splitMessageIntoLines($record['formatted']);
-
- $header = $this->makeCommonSyslogHeader($this->logLevels[$record['level']]);
-
- foreach ($lines as $line) {
- $this->socket->write($line, $header);
- }
- }
-
- public function close()
- {
- $this->socket->close();
- }
-
- private function splitMessageIntoLines($message)
- {
- if (is_array($message)) {
- $message = implode("\n", $message);
- }
-
- return preg_split('/$\R?^/m', $message);
- }
-
- /**
- * Make common syslog header (see rfc5424)
- */
- protected function makeCommonSyslogHeader($severity)
- {
- $priority = $severity + $this->facility;
-
- return "<$priority>1 ";
- }
-
- /**
- * Inject your own socket, mainly used for testing
- */
- public function setSocket($socket)
- {
- $this->socket = $socket;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php
deleted file mode 100644
index 085d9e17..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-/**
- * Used for testing purposes.
- *
- * It records all records and gives you access to them for verification.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class TestHandler extends AbstractProcessingHandler
-{
- protected $records = array();
- protected $recordsByLevel = array();
-
- public function getRecords()
- {
- return $this->records;
- }
-
- public function hasEmergency($record)
- {
- return $this->hasRecord($record, Logger::EMERGENCY);
- }
-
- public function hasAlert($record)
- {
- return $this->hasRecord($record, Logger::ALERT);
- }
-
- public function hasCritical($record)
- {
- return $this->hasRecord($record, Logger::CRITICAL);
- }
-
- public function hasError($record)
- {
- return $this->hasRecord($record, Logger::ERROR);
- }
-
- public function hasWarning($record)
- {
- return $this->hasRecord($record, Logger::WARNING);
- }
-
- public function hasNotice($record)
- {
- return $this->hasRecord($record, Logger::NOTICE);
- }
-
- public function hasInfo($record)
- {
- return $this->hasRecord($record, Logger::INFO);
- }
-
- public function hasDebug($record)
- {
- return $this->hasRecord($record, Logger::DEBUG);
- }
-
- public function hasEmergencyRecords()
- {
- return isset($this->recordsByLevel[Logger::EMERGENCY]);
- }
-
- public function hasAlertRecords()
- {
- return isset($this->recordsByLevel[Logger::ALERT]);
- }
-
- public function hasCriticalRecords()
- {
- return isset($this->recordsByLevel[Logger::CRITICAL]);
- }
-
- public function hasErrorRecords()
- {
- return isset($this->recordsByLevel[Logger::ERROR]);
- }
-
- public function hasWarningRecords()
- {
- return isset($this->recordsByLevel[Logger::WARNING]);
- }
-
- public function hasNoticeRecords()
- {
- return isset($this->recordsByLevel[Logger::NOTICE]);
- }
-
- public function hasInfoRecords()
- {
- return isset($this->recordsByLevel[Logger::INFO]);
- }
-
- public function hasDebugRecords()
- {
- return isset($this->recordsByLevel[Logger::DEBUG]);
- }
-
- protected function hasRecord($record, $level)
- {
- if (!isset($this->recordsByLevel[$level])) {
- return false;
- }
-
- if (is_array($record)) {
- $record = $record['message'];
- }
-
- foreach ($this->recordsByLevel[$level] as $rec) {
- if ($rec['message'] === $record) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $this->recordsByLevel[$record['level']][] = $record;
- $this->records[] = $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php
deleted file mode 100644
index 05a88173..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * Forwards records to multiple handlers suppressing failures of each handler
- * and continuing through to give every handler a chance to succeed.
- *
- * @author Craig D'Amelio <craig@damelio.ca>
- */
-class WhatFailureGroupHandler extends GroupHandler
-{
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- if ($this->processors) {
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- }
-
- foreach ($this->handlers as $handler) {
- try {
- $handler->handle($record);
- } catch (\Exception $e) {
- // What failure?
- }
- }
-
- return false === $this->bubble;
- }
-
- /**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- foreach ($this->handlers as $handler) {
- try {
- $handler->handleBatch($records);
- } catch (\Exception $e) {
- // What failure?
- }
- }
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php
deleted file mode 100644
index f22cf218..00000000
--- a/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\NormalizerFormatter;
-use Monolog\Logger;
-
-/**
- * Handler sending logs to Zend Monitor
- *
- * @author Christian Bergau <cbergau86@gmail.com>
- */
-class ZendMonitorHandler extends AbstractProcessingHandler
-{
- /**
- * Monolog level / ZendMonitor Custom Event priority map
- *
- * @var array
- */
- protected $levelMap = array(
- Logger::DEBUG => 1,
- Logger::INFO => 2,
- Logger::NOTICE => 3,
- Logger::WARNING => 4,
- Logger::ERROR => 5,
- Logger::CRITICAL => 6,
- Logger::ALERT => 7,
- Logger::EMERGENCY => 0,
- );
-
- /**
- * Construct
- *
- * @param int $level
- * @param bool $bubble
- * @throws MissingExtensionException
- */
- public function __construct($level = Logger::DEBUG, $bubble = true)
- {
- if (!function_exists('zend_monitor_custom_event')) {
- throw new MissingExtensionException('You must have Zend Server installed in order to use this handler');
- }
- parent::__construct($level, $bubble);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function write(array $record)
- {
- $this->writeZendMonitorCustomEvent(
- $this->levelMap[$record['level']],
- $record['message'],
- $record['formatted']
- );
- }
-
- /**
- * Write a record to Zend Monitor
- *
- * @param int $level
- * @param string $message
- * @param array $formatted
- */
- protected function writeZendMonitorCustomEvent($level, $message, $formatted)
- {
- zend_monitor_custom_event($level, $message, $formatted);
- }
-
- /**
- * {@inheritdoc}
- */
- public function getDefaultFormatter()
- {
- return new NormalizerFormatter();
- }
-
- /**
- * Get the level map
- *
- * @return array
- */
- public function getLevelMap()
- {
- return $this->levelMap;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Logger.php b/vendor/monolog/monolog/src/Monolog/Logger.php
deleted file mode 100644
index 4a38de7f..00000000
--- a/vendor/monolog/monolog/src/Monolog/Logger.php
+++ /dev/null
@@ -1,615 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use Monolog\Handler\HandlerInterface;
-use Monolog\Handler\StreamHandler;
-use Psr\Log\LoggerInterface;
-use Psr\Log\InvalidArgumentException;
-
-/**
- * Monolog log channel
- *
- * It contains a stack of Handlers and a stack of Processors,
- * and uses them to store records that are added to it.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class Logger implements LoggerInterface
-{
- /**
- * Detailed debug information
- */
- const DEBUG = 100;
-
- /**
- * Interesting events
- *
- * Examples: User logs in, SQL logs.
- */
- const INFO = 200;
-
- /**
- * Uncommon events
- */
- const NOTICE = 250;
-
- /**
- * Exceptional occurrences that are not errors
- *
- * Examples: Use of deprecated APIs, poor use of an API,
- * undesirable things that are not necessarily wrong.
- */
- const WARNING = 300;
-
- /**
- * Runtime errors
- */
- const ERROR = 400;
-
- /**
- * Critical conditions
- *
- * Example: Application component unavailable, unexpected exception.
- */
- const CRITICAL = 500;
-
- /**
- * Action must be taken immediately
- *
- * Example: Entire website down, database unavailable, etc.
- * This should trigger the SMS alerts and wake you up.
- */
- const ALERT = 550;
-
- /**
- * Urgent alert.
- */
- const EMERGENCY = 600;
-
- /**
- * Monolog API version
- *
- * This is only bumped when API breaks are done and should
- * follow the major version of the library
- *
- * @var int
- */
- const API = 1;
-
- /**
- * Logging levels from syslog protocol defined in RFC 5424
- *
- * @var array $levels Logging levels
- */
- protected static $levels = array(
- 100 => 'DEBUG',
- 200 => 'INFO',
- 250 => 'NOTICE',
- 300 => 'WARNING',
- 400 => 'ERROR',
- 500 => 'CRITICAL',
- 550 => 'ALERT',
- 600 => 'EMERGENCY',
- );
-
- /**
- * @var \DateTimeZone
- */
- protected static $timezone;
-
- /**
- * @var string
- */
- protected $name;
-
- /**
- * The handler stack
- *
- * @var HandlerInterface[]
- */
- protected $handlers;
-
- /**
- * Processors that will process all log records
- *
- * To process records of a single handler instead, add the processor on that specific handler
- *
- * @var callable[]
- */
- protected $processors;
-
- /**
- * @param string $name The logging channel
- * @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc.
- * @param callable[] $processors Optional array of processors
- */
- public function __construct($name, array $handlers = array(), array $processors = array())
- {
- $this->name = $name;
- $this->handlers = $handlers;
- $this->processors = $processors;
- }
-
- /**
- * @return string
- */
- public function getName()
- {
- return $this->name;
- }
-
- /**
- * Pushes a handler on to the stack.
- *
- * @param HandlerInterface $handler
- */
- public function pushHandler(HandlerInterface $handler)
- {
- array_unshift($this->handlers, $handler);
- }
-
- /**
- * Pops a handler from the stack
- *
- * @return HandlerInterface
- */
- public function popHandler()
- {
- if (!$this->handlers) {
- throw new \LogicException('You tried to pop from an empty handler stack.');
- }
-
- return array_shift($this->handlers);
- }
-
- /**
- * @return HandlerInterface[]
- */
- public function getHandlers()
- {
- return $this->handlers;
- }
-
- /**
- * Adds a processor on to the stack.
- *
- * @param callable $callback
- */
- public function pushProcessor($callback)
- {
- if (!is_callable($callback)) {
- throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given');
- }
- array_unshift($this->processors, $callback);
- }
-
- /**
- * Removes the processor on top of the stack and returns it.
- *
- * @return callable
- */
- public function popProcessor()
- {
- if (!$this->processors) {
- throw new \LogicException('You tried to pop from an empty processor stack.');
- }
-
- return array_shift($this->processors);
- }
-
- /**
- * @return callable[]
- */
- public function getProcessors()
- {
- return $this->processors;
- }
-
- /**
- * Adds a log record.
- *
- * @param integer $level The logging level
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addRecord($level, $message, array $context = array())
- {
- if (!$this->handlers) {
- $this->pushHandler(new StreamHandler('php://stderr', static::DEBUG));
- }
-
- $levelName = static::getLevelName($level);
-
- // check if any handler will handle this message so we can return early and save cycles
- $handlerKey = null;
- foreach ($this->handlers as $key => $handler) {
- if ($handler->isHandling(array('level' => $level))) {
- $handlerKey = $key;
- break;
- }
- }
-
- if (null === $handlerKey) {
- return false;
- }
-
- if (!static::$timezone) {
- static::$timezone = new \DateTimeZone(date_default_timezone_get() ?: 'UTC');
- }
-
- $record = array(
- 'message' => (string) $message,
- 'context' => $context,
- 'level' => $level,
- 'level_name' => $levelName,
- 'channel' => $this->name,
- 'datetime' => \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true)), static::$timezone)->setTimezone(static::$timezone),
- 'extra' => array(),
- );
-
- foreach ($this->processors as $processor) {
- $record = call_user_func($processor, $record);
- }
- while (isset($this->handlers[$handlerKey]) &&
- false === $this->handlers[$handlerKey]->handle($record)) {
- $handlerKey++;
- }
-
- return true;
- }
-
- /**
- * Adds a log record at the DEBUG level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addDebug($message, array $context = array())
- {
- return $this->addRecord(static::DEBUG, $message, $context);
- }
-
- /**
- * Adds a log record at the INFO level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addInfo($message, array $context = array())
- {
- return $this->addRecord(static::INFO, $message, $context);
- }
-
- /**
- * Adds a log record at the NOTICE level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addNotice($message, array $context = array())
- {
- return $this->addRecord(static::NOTICE, $message, $context);
- }
-
- /**
- * Adds a log record at the WARNING level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addWarning($message, array $context = array())
- {
- return $this->addRecord(static::WARNING, $message, $context);
- }
-
- /**
- * Adds a log record at the ERROR level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addError($message, array $context = array())
- {
- return $this->addRecord(static::ERROR, $message, $context);
- }
-
- /**
- * Adds a log record at the CRITICAL level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addCritical($message, array $context = array())
- {
- return $this->addRecord(static::CRITICAL, $message, $context);
- }
-
- /**
- * Adds a log record at the ALERT level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addAlert($message, array $context = array())
- {
- return $this->addRecord(static::ALERT, $message, $context);
- }
-
- /**
- * Adds a log record at the EMERGENCY level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function addEmergency($message, array $context = array())
- {
- return $this->addRecord(static::EMERGENCY, $message, $context);
- }
-
- /**
- * Gets all supported logging levels.
- *
- * @return array Assoc array with human-readable level names => level codes.
- */
- public static function getLevels()
- {
- return array_flip(static::$levels);
- }
-
- /**
- * Gets the name of the logging level.
- *
- * @param integer $level
- * @return string
- */
- public static function getLevelName($level)
- {
- if (!isset(static::$levels[$level])) {
- throw new InvalidArgumentException('Level "'.$level.'" is not defined, use one of: '.implode(', ', array_keys(static::$levels)));
- }
-
- return static::$levels[$level];
- }
-
- /**
- * Converts PSR-3 levels to Monolog ones if necessary
- *
- * @param string|int Level number (monolog) or name (PSR-3)
- * @return int
- */
- public static function toMonologLevel($level)
- {
- if (is_string($level) && defined(__CLASS__.'::'.strtoupper($level))) {
- return constant(__CLASS__.'::'.strtoupper($level));
- }
-
- return $level;
- }
-
- /**
- * Checks whether the Logger has a handler that listens on the given level
- *
- * @param integer $level
- * @return Boolean
- */
- public function isHandling($level)
- {
- $record = array(
- 'level' => $level,
- );
-
- foreach ($this->handlers as $handler) {
- if ($handler->isHandling($record)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Adds a log record at an arbitrary level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param mixed $level The log level
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function log($level, $message, array $context = array())
- {
- if (is_string($level) && defined(__CLASS__.'::'.strtoupper($level))) {
- $level = constant(__CLASS__.'::'.strtoupper($level));
- }
-
- return $this->addRecord($level, $message, $context);
- }
-
- /**
- * Adds a log record at the DEBUG level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function debug($message, array $context = array())
- {
- return $this->addRecord(static::DEBUG, $message, $context);
- }
-
- /**
- * Adds a log record at the INFO level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function info($message, array $context = array())
- {
- return $this->addRecord(static::INFO, $message, $context);
- }
-
- /**
- * Adds a log record at the NOTICE level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function notice($message, array $context = array())
- {
- return $this->addRecord(static::NOTICE, $message, $context);
- }
-
- /**
- * Adds a log record at the WARNING level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function warn($message, array $context = array())
- {
- return $this->addRecord(static::WARNING, $message, $context);
- }
-
- /**
- * Adds a log record at the WARNING level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function warning($message, array $context = array())
- {
- return $this->addRecord(static::WARNING, $message, $context);
- }
-
- /**
- * Adds a log record at the ERROR level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function err($message, array $context = array())
- {
- return $this->addRecord(static::ERROR, $message, $context);
- }
-
- /**
- * Adds a log record at the ERROR level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function error($message, array $context = array())
- {
- return $this->addRecord(static::ERROR, $message, $context);
- }
-
- /**
- * Adds a log record at the CRITICAL level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function crit($message, array $context = array())
- {
- return $this->addRecord(static::CRITICAL, $message, $context);
- }
-
- /**
- * Adds a log record at the CRITICAL level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function critical($message, array $context = array())
- {
- return $this->addRecord(static::CRITICAL, $message, $context);
- }
-
- /**
- * Adds a log record at the ALERT level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function alert($message, array $context = array())
- {
- return $this->addRecord(static::ALERT, $message, $context);
- }
-
- /**
- * Adds a log record at the EMERGENCY level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function emerg($message, array $context = array())
- {
- return $this->addRecord(static::EMERGENCY, $message, $context);
- }
-
- /**
- * Adds a log record at the EMERGENCY level.
- *
- * This method allows for compatibility with common interfaces.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- */
- public function emergency($message, array $context = array())
- {
- return $this->addRecord(static::EMERGENCY, $message, $context);
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php
deleted file mode 100644
index 1899400d..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\Logger;
-
-/**
- * Injects Git branch and Git commit SHA in all records
- *
- * @author Nick Otter
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class GitProcessor
-{
- private $level;
- private static $cache;
-
- public function __construct($level = Logger::DEBUG)
- {
- $this->level = Logger::toMonologLevel($level);
- }
-
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- // return if the level is not high enough
- if ($record['level'] < $this->level) {
- return $record;
- }
-
- $record['extra']['git'] = self::getGitInfo();
-
- return $record;
- }
-
- private static function getGitInfo()
- {
- if (self::$cache) {
- return self::$cache;
- }
-
- $branches = `git branch -v --no-abbrev`;
- if (preg_match('{^\* (.+?)\s+([a-f0-9]{40})(?:\s|$)}m', $branches, $matches)) {
- return self::$cache = array(
- 'branch' => $matches[1],
- 'commit' => $matches[2],
- );
- }
-
- return self::$cache = array();
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php
deleted file mode 100644
index 294a295c..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\Logger;
-
-/**
- * Injects line/file:class/function where the log message came from
- *
- * Warning: This only works if the handler processes the logs directly.
- * If you put the processor on a handler that is behind a FingersCrossedHandler
- * for example, the processor will only be called once the trigger level is reached,
- * and all the log records will have the same file/line/.. data from the call that
- * triggered the FingersCrossedHandler.
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class IntrospectionProcessor
-{
- private $level;
-
- private $skipClassesPartials;
-
- public function __construct($level = Logger::DEBUG, array $skipClassesPartials = array('Monolog\\'))
- {
- $this->level = Logger::toMonologLevel($level);
- $this->skipClassesPartials = $skipClassesPartials;
- }
-
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- // return if the level is not high enough
- if ($record['level'] < $this->level) {
- return $record;
- }
-
- $trace = debug_backtrace();
-
- // skip first since it's always the current method
- array_shift($trace);
- // the call_user_func call is also skipped
- array_shift($trace);
-
- $i = 0;
-
- while (isset($trace[$i]['class'])) {
- foreach ($this->skipClassesPartials as $part) {
- if (strpos($trace[$i]['class'], $part) !== false) {
- $i++;
- continue 2;
- }
- }
- break;
- }
-
- // we should have the call source now
- $record['extra'] = array_merge(
- $record['extra'],
- array(
- 'file' => isset($trace[$i-1]['file']) ? $trace[$i-1]['file'] : null,
- 'line' => isset($trace[$i-1]['line']) ? $trace[$i-1]['line'] : null,
- 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null,
- 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null,
- )
- );
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php
deleted file mode 100644
index 552fd709..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Injects memory_get_peak_usage in all records
- *
- * @see Monolog\Processor\MemoryProcessor::__construct() for options
- * @author Rob Jensen
- */
-class MemoryPeakUsageProcessor extends MemoryProcessor
-{
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- $bytes = memory_get_peak_usage($this->realUsage);
- $formatted = $this->formatBytes($bytes);
-
- $record['extra'] = array_merge(
- $record['extra'],
- array(
- 'memory_peak_usage' => $formatted,
- )
- );
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php
deleted file mode 100644
index 0820def4..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Some methods that are common for all memory processors
- *
- * @author Rob Jensen
- */
-abstract class MemoryProcessor
-{
- /**
- * @var boolean If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported.
- */
- protected $realUsage;
-
- /**
- * @var boolean If true, then format memory size to human readable string (MB, KB, B depending on size)
- */
- protected $useFormatting;
-
- /**
- * @param boolean $realUsage Set this to true to get the real size of memory allocated from system.
- * @param boolean $useFormatting If true, then format memory size to human readable string (MB, KB, B depending on size)
- */
- public function __construct($realUsage = true, $useFormatting = true)
- {
- $this->realUsage = (boolean) $realUsage;
- $this->useFormatting = (boolean) $useFormatting;
- }
-
- /**
- * Formats bytes into a human readable string if $this->useFormatting is true, otherwise return $bytes as is
- *
- * @param int $bytes
- * @return string|int Formatted string if $this->useFormatting is true, otherwise return $bytes as is
- */
- protected function formatBytes($bytes)
- {
- $bytes = (int) $bytes;
-
- if (!$this->useFormatting) {
- return $bytes;
- }
-
- if ($bytes > 1024*1024) {
- return round($bytes/1024/1024, 2).' MB';
- } elseif ($bytes > 1024) {
- return round($bytes/1024, 2).' KB';
- }
-
- return $bytes . ' B';
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php
deleted file mode 100644
index 0c4dd9ab..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Injects memory_get_usage in all records
- *
- * @see Monolog\Processor\MemoryProcessor::__construct() for options
- * @author Rob Jensen
- */
-class MemoryUsageProcessor extends MemoryProcessor
-{
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- $bytes = memory_get_usage($this->realUsage);
- $formatted = $this->formatBytes($bytes);
-
- $record['extra'] = array_merge(
- $record['extra'],
- array(
- 'memory_usage' => $formatted,
- )
- );
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php
deleted file mode 100644
index 9d3f5590..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Adds value of getmypid into records
- *
- * @author Andreas Hörnicke
- */
-class ProcessIdProcessor
-{
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- $record['extra']['process_id'] = getmypid();
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
deleted file mode 100644
index c2686ce5..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Processes a record's message according to PSR-3 rules
- *
- * It replaces {foo} with the value from $context['foo']
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class PsrLogMessageProcessor
-{
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- if (false === strpos($record['message'], '{')) {
- return $record;
- }
-
- $replacements = array();
- foreach ($record['context'] as $key => $val) {
- if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) {
- $replacements['{'.$key.'}'] = $val;
- } elseif (is_object($val)) {
- $replacements['{'.$key.'}'] = '[object '.get_class($val).']';
- } else {
- $replacements['{'.$key.'}'] = '['.gettype($val).']';
- }
- }
-
- $record['message'] = strtr($record['message'], $replacements);
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php
deleted file mode 100644
index 2784cef4..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Adds a tags array into record
- *
- * @author Martijn Riemers
- */
-class TagProcessor
-{
- private $tags;
-
- public function __construct(array $tags = array())
- {
- $this->tags = $tags;
- }
-
- public function __invoke(array $record)
- {
- $record['extra']['tags'] = $this->tags;
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php
deleted file mode 100644
index 80270d08..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Adds a unique identifier into records
- *
- * @author Simon Mönch <sm@webfactory.de>
- */
-class UidProcessor
-{
- private $uid;
-
- public function __construct($length = 7)
- {
- if (!is_int($length) || $length > 32 || $length < 1) {
- throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32');
- }
-
- $this->uid = substr(hash('md5', uniqid('', true)), 0, $length);
- }
-
- public function __invoke(array $record)
- {
- $record['extra']['uid'] = $this->uid;
-
- return $record;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php
deleted file mode 100644
index 21f22a6e..00000000
--- a/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-/**
- * Injects url/method and remote IP of the current web request in all records
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- */
-class WebProcessor
-{
- /**
- * @var array|\ArrayAccess
- */
- protected $serverData;
-
- /**
- * @var array
- */
- protected $extraFields = array(
- 'url' => 'REQUEST_URI',
- 'ip' => 'REMOTE_ADDR',
- 'http_method' => 'REQUEST_METHOD',
- 'server' => 'SERVER_NAME',
- 'referrer' => 'HTTP_REFERER',
- );
-
- /**
- * @param array|\ArrayAccess $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
- * @param array|null $extraFields Extra field names to be added (all available by default)
- */
- public function __construct($serverData = null, array $extraFields = null)
- {
- if (null === $serverData) {
- $this->serverData = &$_SERVER;
- } elseif (is_array($serverData) || $serverData instanceof \ArrayAccess) {
- $this->serverData = $serverData;
- } else {
- throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.');
- }
-
- if (null !== $extraFields) {
- foreach (array_keys($this->extraFields) as $fieldName) {
- if (!in_array($fieldName, $extraFields)) {
- unset($this->extraFields[$fieldName]);
- }
- }
- }
- }
-
- /**
- * @param array $record
- * @return array
- */
- public function __invoke(array $record)
- {
- // skip processing if for some reason request data
- // is not present (CLI or wonky SAPIs)
- if (!isset($this->serverData['REQUEST_URI'])) {
- return $record;
- }
-
- $record['extra'] = $this->appendExtraFields($record['extra']);
-
- return $record;
- }
-
- /**
- * @param string $extraName
- * @param string $serverName
- * @return $this
- */
- public function addExtraField($extraName, $serverName)
- {
- $this->extraFields[$extraName] = $serverName;
-
- return $this;
- }
-
- /**
- * @param array $extra
- * @return array
- */
- private function appendExtraFields(array $extra)
- {
- foreach ($this->extraFields as $extraName => $serverName) {
- $extra[$extraName] = isset($this->serverData[$serverName]) ? $this->serverData[$serverName] : null;
- }
-
- if (isset($this->serverData['UNIQUE_ID'])) {
- $extra['unique_id'] = $this->serverData['UNIQUE_ID'];
- }
-
- return $extra;
- }
-}
diff --git a/vendor/monolog/monolog/src/Monolog/Registry.php b/vendor/monolog/monolog/src/Monolog/Registry.php
deleted file mode 100644
index a3eba079..00000000
--- a/vendor/monolog/monolog/src/Monolog/Registry.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use InvalidArgumentException;
-
-/**
- * Monolog log registry
- *
- * Allows to get `Logger` instances in the global scope
- * via static method calls on this class.
- *
- * <code>
- * $application = new Monolog\Logger('application');
- * $api = new Monolog\Logger('api');
- *
- * Monolog\Registry::addLogger($application);
- * Monolog\Registry::addLogger($api);
- *
- * function testLogger()
- * {
- * Monolog\Registry::api()->addError('Sent to $api Logger instance');
- * Monolog\Registry::application()->addError('Sent to $application Logger instance');
- * }
- * </code>
- *
- * @author Tomas Tatarko <tomas@tatarko.sk>
- */
-class Registry
-{
- /**
- * List of all loggers in the registry (ba named indexes)
- *
- * @var Logger[]
- */
- private static $loggers = array();
-
- /**
- * Adds new logging channel to the registry
- *
- * @param Logger $logger Instance of the logging channel
- * @param string|null $name Name of the logging channel ($logger->getName() by default)
- * @param boolean $overwrite Overwrite instance in the registry if the given name already exists?
- * @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists
- */
- public static function addLogger(Logger $logger, $name = null, $overwrite = false)
- {
- $name = $name ?: $logger->getName();
-
- if (isset(self::$loggers[$name]) && !$overwrite) {
- throw new InvalidArgumentException('Logger with the given name already exists');
- }
-
- self::$loggers[$name] = $logger;
- }
-
- /**
- * Removes instance from registry by name or instance
- *
- * @param string|Logger $logger Name or logger instance
- */
- public static function removeLogger($logger)
- {
- if ($logger instanceof Logger) {
- if (false !== ($idx = array_search($logger, self::$loggers, true))) {
- unset(self::$loggers[$idx]);
- }
- } else {
- unset(self::$loggers[$logger]);
- }
- }
-
- /**
- * Clears the registry
- */
- public static function clear()
- {
- self::$loggers = array();
- }
-
- /**
- * Gets Logger instance from the registry
- *
- * @param string $name Name of the requested Logger instance
- * @return Logger Requested instance of Logger
- * @throws \InvalidArgumentException If named Logger instance is not in the registry
- */
- public static function getInstance($name)
- {
- if (!isset(self::$loggers[$name])) {
- throw new InvalidArgumentException(sprintf('Requested "%s" logger instance is not in the registry', $name));
- }
-
- return self::$loggers[$name];
- }
-
- /**
- * Gets Logger instance from the registry via static method call
- *
- * @param string $name Name of the requested Logger instance
- * @param array $arguments Arguments passed to static method call
- * @return Logger Requested instance of Logger
- * @throws \InvalidArgumentException If named Logger instance is not in the registry
- */
- public static function __callStatic($name, $arguments)
- {
- return self::getInstance($name);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php
deleted file mode 100644
index a9a3f301..00000000
--- a/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use Monolog\Handler\TestHandler;
-
-class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
-{
- public function testHandleError()
- {
- $logger = new Logger('test', array($handler = new TestHandler));
- $errHandler = new ErrorHandler($logger);
-
- $errHandler->registerErrorHandler(array(E_USER_NOTICE => Logger::EMERGENCY), false);
- trigger_error('Foo', E_USER_ERROR);
- $this->assertCount(1, $handler->getRecords());
- $this->assertTrue($handler->hasErrorRecords());
- trigger_error('Foo', E_USER_NOTICE);
- $this->assertCount(2, $handler->getRecords());
- $this->assertTrue($handler->hasEmergencyRecords());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php
deleted file mode 100644
index e7f7334e..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @covers Monolog\Formatter\ChromePHPFormatter::format
- */
- public function testDefaultFormat()
- {
- $formatter = new ChromePHPFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1'),
- 'message' => 'log',
- );
-
- $message = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'meh',
- array(
- 'message' => 'log',
- 'context' => array('from' => 'logger'),
- 'extra' => array('ip' => '127.0.0.1'),
- ),
- 'unknown',
- 'error'
- ),
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\ChromePHPFormatter::format
- */
- public function testFormatWithFileAndLine()
- {
- $formatter = new ChromePHPFormatter();
- $record = array(
- 'level' => Logger::CRITICAL,
- 'level_name' => 'CRITICAL',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'meh',
- array(
- 'message' => 'log',
- 'context' => array('from' => 'logger'),
- 'extra' => array('ip' => '127.0.0.1'),
- ),
- 'test : 14',
- 'error'
- ),
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\ChromePHPFormatter::format
- */
- public function testFormatWithoutContext()
- {
- $formatter = new ChromePHPFormatter();
- $record = array(
- 'level' => Logger::DEBUG,
- 'level_name' => 'DEBUG',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'meh',
- 'log',
- 'unknown',
- 'log'
- ),
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\ChromePHPFormatter::formatBatch
- */
- public function testBatchFormatThrowException()
- {
- $formatter = new ChromePHPFormatter();
- $records = array(
- array(
- 'level' => Logger::INFO,
- 'level_name' => 'INFO',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- ),
- array(
- 'level' => Logger::WARNING,
- 'level_name' => 'WARNING',
- 'channel' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log2',
- ),
- );
-
- $this->assertEquals(
- array(
- array(
- 'meh',
- 'log',
- 'unknown',
- 'info'
- ),
- array(
- 'foo',
- 'log2',
- 'unknown',
- 'warn'
- ),
- ),
- $formatter->formatBatch($records)
- );
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php
deleted file mode 100644
index 546e5c26..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function setUp()
- {
- if (!class_exists("Elastica\Document")) {
- $this->markTestSkipped("ruflin/elastica not installed");
- }
- }
-
- /**
- * @covers Monolog\Formatter\ElasticaFormatter::__construct
- * @covers Monolog\Formatter\ElasticaFormatter::format
- * @covers Monolog\Formatter\ElasticaFormatter::getDocument
- */
- public function testFormat()
- {
- // test log message
- $msg = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- // expected values
- $expected = $msg;
- $expected['datetime'] = '1970-01-01T00:00:00+0000';
- $expected['context'] = array(
- 'class' => '[object] (stdClass: {})',
- 'foo' => 7,
- 0 => 'bar',
- );
-
- // format log message
- $formatter = new ElasticaFormatter('my_index', 'doc_type');
- $doc = $formatter->format($msg);
- $this->assertInstanceOf('Elastica\Document', $doc);
-
- // Document parameters
- $params = $doc->getParams();
- $this->assertEquals('my_index', $params['_index']);
- $this->assertEquals('doc_type', $params['_type']);
-
- // Document data values
- $data = $doc->getData();
- foreach (array_keys($expected) as $key) {
- $this->assertEquals($expected[$key], $data[$key]);
- }
- }
-
- /**
- * @covers Monolog\Formatter\ElasticaFormatter::getIndex
- * @covers Monolog\Formatter\ElasticaFormatter::getType
- */
- public function testGetters()
- {
- $formatter = new ElasticaFormatter('my_index', 'doc_type');
- $this->assertEquals('my_index', $formatter->getIndex());
- $this->assertEquals('doc_type', $formatter->getType());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php
deleted file mode 100644
index 1b2fd97a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-use Monolog\TestCase;
-
-class FlowdockFormatterTest extends TestCase
-{
- /**
- * @covers Monolog\Formatter\FlowdockFormatter::format
- */
- public function testFormat()
- {
- $formatter = new FlowdockFormatter('test_source', 'source@test.com');
- $record = $this->getRecord();
-
- $expected = array(
- 'source' => 'test_source',
- 'from_address' => 'source@test.com',
- 'subject' => 'in test_source: WARNING - test',
- 'content' => 'test',
- 'tags' => array('#logs', '#warning', '#test'),
- 'project' => 'test_source',
- );
- $formatted = $formatter->format($record);
-
- $this->assertEquals($expected, $formatted['flowdock']);
- }
-
- /**
- * @ covers Monolog\Formatter\FlowdockFormatter::formatBatch
- */
- public function testFormatBatch()
- {
- $formatter = new FlowdockFormatter('test_source', 'source@test.com');
- $records = array(
- $this->getRecord(Logger::WARNING),
- $this->getRecord(Logger::DEBUG),
- );
- $formatted = $formatter->formatBatch($records);
-
- $this->assertArrayHasKey('flowdock', $formatted[0]);
- $this->assertArrayHasKey('flowdock', $formatted[1]);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php
deleted file mode 100644
index 3f47a09a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function setUp()
- {
- if (!class_exists('\Gelf\Message')) {
- $this->markTestSkipped("graylog2/gelf-php or mlehner/gelf-php is not installed");
- }
- }
-
- /**
- * @covers Monolog\Formatter\GelfMessageFormatter::format
- */
- public function testDefaultFormatter()
- {
- $formatter = new GelfMessageFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
- $this->assertEquals(0, $message->getTimestamp());
- $this->assertEquals('log', $message->getShortMessage());
- $this->assertEquals('meh', $message->getFacility());
- $this->assertEquals(null, $message->getLine());
- $this->assertEquals(null, $message->getFile());
- $this->assertEquals($this->isLegacy() ? 3 : 'error', $message->getLevel());
- $this->assertNotEmpty($message->getHost());
-
- $formatter = new GelfMessageFormatter('mysystem');
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
- $this->assertEquals('mysystem', $message->getHost());
- }
-
- /**
- * @covers Monolog\Formatter\GelfMessageFormatter::format
- */
- public function testFormatWithFileAndLine()
- {
- $formatter = new GelfMessageFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
- $this->assertEquals('test', $message->getFile());
- $this->assertEquals(14, $message->getLine());
- }
-
- /**
- * @covers Monolog\Formatter\GelfMessageFormatter::format
- */
- public function testFormatWithContext()
- {
- $formatter = new GelfMessageFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
-
- $message_array = $message->toArray();
-
- $this->assertArrayHasKey('_ctxt_from', $message_array);
- $this->assertEquals('logger', $message_array['_ctxt_from']);
-
- // Test with extraPrefix
- $formatter = new GelfMessageFormatter(null, null, 'CTX');
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
-
- $message_array = $message->toArray();
-
- $this->assertArrayHasKey('_CTXfrom', $message_array);
- $this->assertEquals('logger', $message_array['_CTXfrom']);
- }
-
- /**
- * @covers Monolog\Formatter\GelfMessageFormatter::format
- */
- public function testFormatWithContextContainingException()
- {
- $formatter = new GelfMessageFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger', 'exception' => array(
- 'class' => '\Exception',
- 'file' => '/some/file/in/dir.php:56',
- 'trace' => array('/some/file/1.php:23', '/some/file/2.php:3')
- )),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log'
- );
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
-
- $this->assertEquals("/some/file/in/dir.php", $message->getFile());
- $this->assertEquals("56", $message->getLine());
- }
-
- /**
- * @covers Monolog\Formatter\GelfMessageFormatter::format
- */
- public function testFormatWithExtra()
- {
- $formatter = new GelfMessageFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
-
- $message_array = $message->toArray();
-
- $this->assertArrayHasKey('_key', $message_array);
- $this->assertEquals('pair', $message_array['_key']);
-
- // Test with extraPrefix
- $formatter = new GelfMessageFormatter(null, 'EXT');
- $message = $formatter->format($record);
-
- $this->assertInstanceOf('Gelf\Message', $message);
-
- $message_array = $message->toArray();
-
- $this->assertArrayHasKey('_EXTkey', $message_array);
- $this->assertEquals('pair', $message_array['_EXTkey']);
- }
-
- private function isLegacy()
- {
- return interface_exists('\Gelf\IMessagePublisher');
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php
deleted file mode 100644
index 69e20077..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-use Monolog\TestCase;
-
-class JsonFormatterTest extends TestCase
-{
- /**
- * @covers Monolog\Formatter\JsonFormatter::__construct
- * @covers Monolog\Formatter\JsonFormatter::getBatchMode
- * @covers Monolog\Formatter\JsonFormatter::isAppendingNewlines
- */
- public function testConstruct()
- {
- $formatter = new JsonFormatter();
- $this->assertEquals(JsonFormatter::BATCH_MODE_JSON, $formatter->getBatchMode());
- $this->assertEquals(true, $formatter->isAppendingNewlines());
- $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES, false);
- $this->assertEquals(JsonFormatter::BATCH_MODE_NEWLINES, $formatter->getBatchMode());
- $this->assertEquals(false, $formatter->isAppendingNewlines());
- }
-
- /**
- * @covers Monolog\Formatter\JsonFormatter::format
- */
- public function testFormat()
- {
- $formatter = new JsonFormatter();
- $record = $this->getRecord();
- $this->assertEquals(json_encode($record)."\n", $formatter->format($record));
-
- $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false);
- $record = $this->getRecord();
- $this->assertEquals(json_encode($record), $formatter->format($record));
- }
-
- /**
- * @covers Monolog\Formatter\JsonFormatter::formatBatch
- * @covers Monolog\Formatter\JsonFormatter::formatBatchJson
- */
- public function testFormatBatch()
- {
- $formatter = new JsonFormatter();
- $records = array(
- $this->getRecord(Logger::WARNING),
- $this->getRecord(Logger::DEBUG),
- );
- $this->assertEquals(json_encode($records), $formatter->formatBatch($records));
- }
-
- /**
- * @covers Monolog\Formatter\JsonFormatter::formatBatch
- * @covers Monolog\Formatter\JsonFormatter::formatBatchNewlines
- */
- public function testFormatBatchNewlines()
- {
- $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES);
- $records = $expected = array(
- $this->getRecord(Logger::WARNING),
- $this->getRecord(Logger::DEBUG),
- );
- array_walk($expected, function (&$value, $key) {
- $value = json_encode($value);
- });
- $this->assertEquals(implode("\n", $expected), $formatter->formatBatch($records));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php
deleted file mode 100644
index 89e1ca2e..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * @covers Monolog\Formatter\LineFormatter
- */
-class LineFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function testDefFormatWithString()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'WARNING',
- 'channel' => 'log',
- 'context' => array(),
- 'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ));
- $this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message);
- }
-
- public function testDefFormatWithArrayContext()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array(),
- 'context' => array(
- 'foo' => 'bar',
- 'baz' => 'qux',
- 'bool' => false,
- 'null' => null,
- )
- ));
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foo {"foo":"bar","baz":"qux","bool":false,"null":null} []'."\n", $message);
- }
-
- public function testDefFormatExtras()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('ip' => '127.0.0.1'),
- 'message' => 'log',
- ));
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] {"ip":"127.0.0.1"}'."\n", $message);
- }
-
- public function testFormatExtras()
- {
- $formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra.file% %extra%\n", 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test'),
- 'message' => 'log',
- ));
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] test {"ip":"127.0.0.1"}'."\n", $message);
- }
-
- public function testContextAndExtraOptionallyNotShownIfEmpty()
- {
- $formatter = new LineFormatter(null, 'Y-m-d', false, true);
- $message = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- 'message' => 'log',
- ));
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log '."\n", $message);
- }
-
- public function testDefFormatWithObject()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('foo' => new TestFoo, 'bar' => new TestBar, 'baz' => array(), 'res' => fopen('php://memory', 'rb')),
- 'message' => 'foobar',
- ));
-
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foobar [] {"foo":"[object] (Monolog\\\\Formatter\\\\TestFoo: {\\"foo\\":\\"foo\\"})","bar":"[object] (Monolog\\\\Formatter\\\\TestBar: {})","baz":[],"res":"[resource]"}'."\n", $message);
- }
-
- public function testDefFormatWithException()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
- 'level_name' => 'CRITICAL',
- 'channel' => 'core',
- 'context' => array('exception' => new \RuntimeException('Foo')),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- 'message' => 'foobar',
- ));
-
- $path = str_replace('\\/', '/', json_encode(__FILE__));
-
- $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__-8).')"} []'."\n", $message);
- }
-
- public function testDefFormatWithPreviousException()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $previous = new \LogicException('Wut?');
- $message = $formatter->format(array(
- 'level_name' => 'CRITICAL',
- 'channel' => 'core',
- 'context' => array('exception' => new \RuntimeException('Foo', 0, $previous)),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- 'message' => 'foobar',
- ));
-
- $path = str_replace('\\/', '/', json_encode(__FILE__));
-
- $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__-8).', LogicException(code: 0): Wut? at '.substr($path, 1, -1).':'.(__LINE__-12).')"} []'."\n", $message);
- }
-
- public function testBatchFormat()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->formatBatch(array(
- array(
- 'level_name' => 'CRITICAL',
- 'channel' => 'test',
- 'message' => 'bar',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- array(
- 'level_name' => 'WARNING',
- 'channel' => 'log',
- 'message' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- ));
- $this->assertEquals('['.date('Y-m-d').'] test.CRITICAL: bar [] []'."\n".'['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message);
- }
-
- public function testFormatShouldStripInlineLineBreaks()
- {
- $formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(
- array(
- 'message' => "foo\nbar",
- 'context' => array(),
- 'extra' => array(),
- )
- );
-
- $this->assertRegExp('/foo bar/', $message);
- }
-
- public function testFormatShouldNotStripInlineLineBreaksWhenFlagIsSet()
- {
- $formatter = new LineFormatter(null, 'Y-m-d', true);
- $message = $formatter->format(
- array(
- 'message' => "foo\nbar",
- 'context' => array(),
- 'extra' => array(),
- )
- );
-
- $this->assertRegExp('/foo\nbar/', $message);
- }
-}
-
-class TestFoo
-{
- public $foo = 'foo';
-}
-
-class TestBar
-{
- public function __toString()
- {
- return 'bar';
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php
deleted file mode 100644
index 6d59b3f3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\TestCase;
-
-class LogglyFormatterTest extends TestCase
-{
- /**
- * @covers Monolog\Formatter\LogglyFormatter::__construct
- */
- public function testConstruct()
- {
- $formatter = new LogglyFormatter();
- $this->assertEquals(LogglyFormatter::BATCH_MODE_NEWLINES, $formatter->getBatchMode());
- $formatter = new LogglyFormatter(LogglyFormatter::BATCH_MODE_JSON);
- $this->assertEquals(LogglyFormatter::BATCH_MODE_JSON, $formatter->getBatchMode());
- }
-
- /**
- * @covers Monolog\Formatter\LogglyFormatter::format
- */
- public function testFormat()
- {
- $formatter = new LogglyFormatter();
- $record = $this->getRecord();
- $formatted_decoded = json_decode($formatter->format($record), true);
- $this->assertArrayHasKey("timestamp", $formatted_decoded);
- $this->assertEquals(new \DateTime($formatted_decoded["timestamp"]), $record["datetime"]);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php
deleted file mode 100644
index de4a3c2c..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php
+++ /dev/null
@@ -1,289 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testDefaultFormatter()
- {
- $formatter = new LogstashFormatter('test', 'hostname');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
- $this->assertEquals('log', $message['@message']);
- $this->assertEquals('meh', $message['@fields']['channel']);
- $this->assertContains('meh', $message['@tags']);
- $this->assertEquals(Logger::ERROR, $message['@fields']['level']);
- $this->assertEquals('test', $message['@type']);
- $this->assertEquals('hostname', $message['@source']);
-
- $formatter = new LogstashFormatter('mysystem');
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('mysystem', $message['@type']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithFileAndLine()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('test', $message['@fields']['file']);
- $this->assertEquals(14, $message['@fields']['line']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithContext()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('ctxt_from', $message_array);
- $this->assertEquals('logger', $message_array['ctxt_from']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, null, 'CTX');
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('CTXfrom', $message_array);
- $this->assertEquals('logger', $message_array['CTXfrom']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithExtra()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('key', $message_array);
- $this->assertEquals('pair', $message_array['key']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, 'EXT');
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('EXTkey', $message_array);
- $this->assertEquals('pair', $message_array['EXTkey']);
- }
-
- public function testFormatWithApplicationName()
- {
- $formatter = new LogstashFormatter('app', 'test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('@type', $message);
- $this->assertEquals('app', $message['@type']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testDefaultFormatterV1()
- {
- $formatter = new LogstashFormatter('test', 'hostname', null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
- $this->assertEquals("1", $message['@version']);
- $this->assertEquals('log', $message['message']);
- $this->assertEquals('meh', $message['channel']);
- $this->assertEquals('ERROR', $message['level']);
- $this->assertEquals('test', $message['type']);
- $this->assertEquals('hostname', $message['host']);
-
- $formatter = new LogstashFormatter('mysystem', null, null, 'ctxt_', LogstashFormatter::V1);
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('mysystem', $message['type']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithFileAndLineV1()
- {
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('test', $message['file']);
- $this->assertEquals(14, $message['line']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithContextV1()
- {
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('ctxt_from', $message);
- $this->assertEquals('logger', $message['ctxt_from']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, null, 'CTX', LogstashFormatter::V1);
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('CTXfrom', $message);
- $this->assertEquals('logger', $message['CTXfrom']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithExtraV1()
- {
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('key', $message);
- $this->assertEquals('pair', $message['key']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, 'EXT', 'ctxt_', LogstashFormatter::V1);
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('EXTkey', $message);
- $this->assertEquals('pair', $message['EXTkey']);
- }
-
- public function testFormatWithApplicationNameV1()
- {
- $formatter = new LogstashFormatter('app', 'test', null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log'
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('type', $message);
- $this->assertEquals('app', $message['type']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php
deleted file mode 100644
index 1554ef46..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php
+++ /dev/null
@@ -1,253 +0,0 @@
-<?php
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-/**
- * @author Florian Plattner <me@florianplattner.de>
- */
-class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function setUp()
- {
- if (!class_exists('MongoDate')) {
- $this->markTestSkipped('mongo extension not installed');
- }
- }
-
- public function constructArgumentProvider()
- {
- return array(
- array(1, true, 1, true),
- array(0, false, 0, false),
- );
- }
-
- /**
- * @param $traceDepth
- * @param $traceAsString
- * @param $expectedTraceDepth
- * @param $expectedTraceAsString
- *
- * @dataProvider constructArgumentProvider
- */
- public function testConstruct($traceDepth, $traceAsString, $expectedTraceDepth, $expectedTraceAsString)
- {
- $formatter = new MongoDBFormatter($traceDepth, $traceAsString);
-
- $reflTrace = new \ReflectionProperty($formatter, 'exceptionTraceAsString');
- $reflTrace->setAccessible(true);
- $this->assertEquals($expectedTraceAsString, $reflTrace->getValue($formatter));
-
- $reflDepth = new\ReflectionProperty($formatter, 'maxNestingLevel');
- $reflDepth->setAccessible(true);
- $this->assertEquals($expectedTraceDepth, $reflDepth->getValue($formatter));
- }
-
- public function testSimpleFormat()
- {
- $record = array(
- 'message' => 'some log message',
- 'context' => array(),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter();
- $formattedRecord = $formatter->format($record);
-
- $this->assertCount(7, $formattedRecord);
- $this->assertEquals('some log message', $formattedRecord['message']);
- $this->assertEquals(array(), $formattedRecord['context']);
- $this->assertEquals(Logger::WARNING, $formattedRecord['level']);
- $this->assertEquals(Logger::getLevelName(Logger::WARNING), $formattedRecord['level_name']);
- $this->assertEquals('test', $formattedRecord['channel']);
- $this->assertInstanceOf('\MongoDate', $formattedRecord['datetime']);
- $this->assertEquals('0.00000000 1391212800', $formattedRecord['datetime']->__toString());
- $this->assertEquals(array(), $formattedRecord['extra']);
- }
-
- public function testRecursiveFormat()
- {
- $someObject = new \stdClass();
- $someObject->foo = 'something';
- $someObject->bar = 'stuff';
-
- $record = array(
- 'message' => 'some log message',
- 'context' => array(
- 'stuff' => new \DateTime('2014-02-01 02:31:33'),
- 'some_object' => $someObject,
- 'context_string' => 'some string',
- 'context_int' => 123456,
- 'except' => new \Exception('exception message', 987),
- ),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter();
- $formattedRecord = $formatter->format($record);
-
- $this->assertCount(5, $formattedRecord['context']);
- $this->assertInstanceOf('\MongoDate', $formattedRecord['context']['stuff']);
- $this->assertEquals('0.00000000 1391221893', $formattedRecord['context']['stuff']->__toString());
- $this->assertEquals(
- array(
- 'foo' => 'something',
- 'bar' => 'stuff',
- 'class' => 'stdClass',
- ),
- $formattedRecord['context']['some_object']
- );
- $this->assertEquals('some string', $formattedRecord['context']['context_string']);
- $this->assertEquals(123456, $formattedRecord['context']['context_int']);
-
- $this->assertCount(5, $formattedRecord['context']['except']);
- $this->assertEquals('exception message', $formattedRecord['context']['except']['message']);
- $this->assertEquals(987, $formattedRecord['context']['except']['code']);
- $this->assertInternalType('string', $formattedRecord['context']['except']['file']);
- $this->assertInternalType('integer', $formattedRecord['context']['except']['code']);
- $this->assertInternalType('string', $formattedRecord['context']['except']['trace']);
- $this->assertEquals('Exception', $formattedRecord['context']['except']['class']);
- }
-
- public function testFormatDepthArray()
- {
- $record = array(
- 'message' => 'some log message',
- 'context' => array(
- 'nest2' => array(
- 'property' => 'anything',
- 'nest3' => array(
- 'nest4' => 'value',
- 'property' => 'nothing'
- )
- )
- ),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter(2);
- $formattedResult = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'nest2' => array(
- 'property' => 'anything',
- 'nest3' => '[...]',
- )
- ),
- $formattedResult['context']
- );
- }
-
- public function testFormatDepthArrayInfiniteNesting()
- {
- $record = array(
- 'message' => 'some log message',
- 'context' => array(
- 'nest2' => array(
- 'property' => 'something',
- 'nest3' => array(
- 'property' => 'anything',
- 'nest4' => array(
- 'property' => 'nothing',
- ),
- )
- )
- ),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter(0);
- $formattedResult = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'nest2' => array(
- 'property' => 'something',
- 'nest3' => array(
- 'property' => 'anything',
- 'nest4' => array(
- 'property' => 'nothing',
- )
- ),
- )
- ),
- $formattedResult['context']
- );
- }
-
- public function testFormatDepthObjects()
- {
- $someObject = new \stdClass();
- $someObject->property = 'anything';
- $someObject->nest3 = new \stdClass();
- $someObject->nest3->property = 'nothing';
- $someObject->nest3->nest4 = 'invisible';
-
- $record = array(
- 'message' => 'some log message',
- 'context' => array(
- 'nest2' => $someObject
- ),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter(2, true);
- $formattedResult = $formatter->format($record);
-
- $this->assertEquals(
- array(
- 'nest2' => array(
- 'property' => 'anything',
- 'nest3' => '[...]',
- 'class' => 'stdClass',
- ),
- ),
- $formattedResult['context']
- );
- }
-
- public function testFormatDepthException()
- {
- $record = array(
- 'message' => 'some log message',
- 'context' => array(
- 'nest2' => new \Exception('exception message', 987),
- ),
- 'level' => Logger::WARNING,
- 'level_name' => Logger::getLevelName(Logger::WARNING),
- 'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
-
- $formatter = new MongoDBFormatter(2, false);
- $formattedRecord = $formatter->format($record);
-
- $this->assertEquals('exception message', $formattedRecord['context']['nest2']['message']);
- $this->assertEquals(987, $formattedRecord['context']['nest2']['code']);
- $this->assertEquals('[...]', $formattedRecord['context']['nest2']['trace']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php
deleted file mode 100644
index 00bbb249..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php
+++ /dev/null
@@ -1,247 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-/**
- * @covers Monolog\Formatter\NormalizerFormatter
- */
-class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function testFormat()
- {
- $formatter = new NormalizerFormatter('Y-m-d');
- $formatted = $formatter->format(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array('foo' => new TestFooNorm, 'bar' => new TestBarNorm, 'baz' => array(), 'res' => fopen('php://memory', 'rb')),
- 'context' => array(
- 'foo' => 'bar',
- 'baz' => 'qux',
- ),
- ));
-
- $this->assertEquals(array(
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'message' => 'foo',
- 'datetime' => date('Y-m-d'),
- 'extra' => array(
- 'foo' => '[object] (Monolog\\Formatter\\TestFooNorm: {"foo":"foo"})',
- 'bar' => '[object] (Monolog\\Formatter\\TestBarNorm: {})',
- 'baz' => array(),
- 'res' => '[resource]',
- ),
- 'context' => array(
- 'foo' => 'bar',
- 'baz' => 'qux',
- )
- ), $formatted);
- }
-
- public function testFormatExceptions()
- {
- $formatter = new NormalizerFormatter('Y-m-d');
- $e = new \LogicException('bar');
- $e2 = new \RuntimeException('foo', 0, $e);
- $formatted = $formatter->format(array(
- 'exception' => $e2,
- ));
-
- $this->assertGreaterThan(5, count($formatted['exception']['trace']));
- $this->assertTrue(isset($formatted['exception']['previous']));
- unset($formatted['exception']['trace'], $formatted['exception']['previous']);
-
- $this->assertEquals(array(
- 'exception' => array(
- 'class' => get_class($e2),
- 'message' => $e2->getMessage(),
- 'code' => $e2->getCode(),
- 'file' => $e2->getFile().':'.$e2->getLine(),
- )
- ), $formatted);
- }
-
- public function testBatchFormat()
- {
- $formatter = new NormalizerFormatter('Y-m-d');
- $formatted = $formatter->formatBatch(array(
- array(
- 'level_name' => 'CRITICAL',
- 'channel' => 'test',
- 'message' => 'bar',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- array(
- 'level_name' => 'WARNING',
- 'channel' => 'log',
- 'message' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- ));
- $this->assertEquals(array(
- array(
- 'level_name' => 'CRITICAL',
- 'channel' => 'test',
- 'message' => 'bar',
- 'context' => array(),
- 'datetime' => date('Y-m-d'),
- 'extra' => array(),
- ),
- array(
- 'level_name' => 'WARNING',
- 'channel' => 'log',
- 'message' => 'foo',
- 'context' => array(),
- 'datetime' => date('Y-m-d'),
- 'extra' => array(),
- ),
- ), $formatted);
- }
-
- /**
- * Test issue #137
- */
- public function testIgnoresRecursiveObjectReferences()
- {
- // set up the recursion
- $foo = new \stdClass();
- $bar = new \stdClass();
-
- $foo->bar = $bar;
- $bar->foo = $foo;
-
- // set an error handler to assert that the error is not raised anymore
- $that = $this;
- set_error_handler(function ($level, $message, $file, $line, $context) use ($that) {
- if (error_reporting() & $level) {
- restore_error_handler();
- $that->fail("$message should not be raised");
- }
- });
-
- $formatter = new NormalizerFormatter();
- $reflMethod = new \ReflectionMethod($formatter, 'toJson');
- $reflMethod->setAccessible(true);
- $res = $reflMethod->invoke($formatter, array($foo, $bar), true);
-
- restore_error_handler();
-
- $this->assertEquals(@json_encode(array($foo, $bar)), $res);
- }
-
- public function testIgnoresInvalidTypes()
- {
- // set up the recursion
- $resource = fopen(__FILE__, 'r');
-
- // set an error handler to assert that the error is not raised anymore
- $that = $this;
- set_error_handler(function ($level, $message, $file, $line, $context) use ($that) {
- if (error_reporting() & $level) {
- restore_error_handler();
- $that->fail("$message should not be raised");
- }
- });
-
- $formatter = new NormalizerFormatter();
- $reflMethod = new \ReflectionMethod($formatter, 'toJson');
- $reflMethod->setAccessible(true);
- $res = $reflMethod->invoke($formatter, array($resource), true);
-
- restore_error_handler();
-
- $this->assertEquals(@json_encode(array($resource)), $res);
- }
-
- public function testExceptionTraceWithArgs()
- {
- if (defined('HHVM_VERSION')) {
- $this->markTestSkipped('Not supported in HHVM since it detects errors differently');
- }
-
- // This happens i.e. in React promises or Guzzle streams where stream wrappers are registered
- // and no file or line are included in the trace because it's treated as internal function
- set_error_handler(function ($errno, $errstr, $errfile, $errline) {
- throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
- });
-
- try {
- // This will contain $resource and $wrappedResource as arguments in the trace item
- $resource = fopen('php://memory', 'rw+');
- fwrite($resource, 'test_resource');
- $wrappedResource = new TestStreamFoo($resource);
- // Just do something stupid with a resource/wrapped resource as argument
- array_keys($wrappedResource);
- } catch (\Exception $e) {
- restore_error_handler();
- }
-
- $formatter = new NormalizerFormatter();
- $record = array('context' => array('exception' => $e));
- $result = $formatter->format($record);
-
- $this->assertRegExp(
- '%"resource":"\[resource\]"%',
- $result['context']['exception']['trace'][0]
- );
-
- if (version_compare(PHP_VERSION, '5.5.0', '>=')) {
- $pattern = '%"wrappedResource":"\[object\] \(Monolog\\\\\\\\Formatter\\\\\\\\TestStreamFoo: \)"%';
- } else {
- $pattern = '%\\\\"resource\\\\":null%';
- }
-
- // Tests that the wrapped resource is ignored while encoding, only works for PHP <= 5.4
- $this->assertRegExp(
- $pattern,
- $result['context']['exception']['trace'][0]
- );
- }
-}
-
-class TestFooNorm
-{
- public $foo = 'foo';
-}
-
-class TestBarNorm
-{
- public function __toString()
- {
- return 'bar';
- }
-}
-
-class TestStreamFoo
-{
- public $foo;
- public $resource;
-
- public function __construct($resource)
- {
- $this->resource = $resource;
- $this->foo = 'BAR';
- }
-
- public function __toString()
- {
- fseek($this->resource, 0);
-
- return $this->foo . ' - ' . (string) stream_get_contents($this->resource);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php
deleted file mode 100644
index c5a4ebb5..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-namespace Monolog\Formatter;
-
-class ScalarFormatterTest extends \PHPUnit_Framework_TestCase
-{
- public function setUp()
- {
- $this->formatter = new ScalarFormatter();
- }
-
- public function buildTrace(\Exception $e)
- {
- $data = array();
- $trace = $e->getTrace();
- foreach ($trace as $frame) {
- if (isset($frame['file'])) {
- $data[] = $frame['file'].':'.$frame['line'];
- } else {
- $data[] = json_encode($frame);
- }
- }
-
- return $data;
- }
-
- public function encodeJson($data)
- {
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
- }
-
- return json_encode($data);
- }
-
- public function testFormat()
- {
- $exception = new \Exception('foo');
- $formatted = $this->formatter->format(array(
- 'foo' => 'string',
- 'bar' => 1,
- 'baz' => false,
- 'bam' => array(1, 2, 3),
- 'bat' => array('foo' => 'bar'),
- 'bap' => \DateTime::createFromFormat(\DateTime::ISO8601, '1970-01-01T00:00:00+0000'),
- 'ban' => $exception
- ));
-
- $this->assertSame(array(
- 'foo' => 'string',
- 'bar' => 1,
- 'baz' => false,
- 'bam' => $this->encodeJson(array(1, 2, 3)),
- 'bat' => $this->encodeJson(array('foo' => 'bar')),
- 'bap' => '1970-01-01 00:00:00',
- 'ban' => $this->encodeJson(array(
- 'class' => get_class($exception),
- 'message' => $exception->getMessage(),
- 'code' => $exception->getCode(),
- 'file' => $exception->getFile() . ':' . $exception->getLine(),
- 'trace' => $this->buildTrace($exception)
- ))
- ), $formatted);
- }
-
- public function testFormatWithErrorContext()
- {
- $context = array('file' => 'foo', 'line' => 1);
- $formatted = $this->formatter->format(array(
- 'context' => $context
- ));
-
- $this->assertSame(array(
- 'context' => $this->encodeJson($context)
- ), $formatted);
- }
-
- public function testFormatWithExceptionContext()
- {
- $exception = new \Exception('foo');
- $formatted = $this->formatter->format(array(
- 'context' => array(
- 'exception' => $exception
- )
- ));
-
- $this->assertSame(array(
- 'context' => $this->encodeJson(array(
- 'exception' => array(
- 'class' => get_class($exception),
- 'message' => $exception->getMessage(),
- 'code' => $exception->getCode(),
- 'file' => $exception->getFile() . ':' . $exception->getLine(),
- 'trace' => $this->buildTrace($exception)
- )
- ))
- ), $formatted);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php
deleted file mode 100644
index 52f15a36..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Formatter;
-
-use Monolog\Logger;
-
-class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @covers Monolog\Formatter\WildfireFormatter::format
- */
- public function testDefaultFormat()
- {
- $wildfire = new WildfireFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1'),
- 'message' => 'log',
- );
-
- $message = $wildfire->format($record);
-
- $this->assertEquals(
- '125|[{"Type":"ERROR","File":"","Line":"","Label":"meh"},'
- .'{"message":"log","context":{"from":"logger"},"extra":{"ip":"127.0.0.1"}}]|',
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\WildfireFormatter::format
- */
- public function testFormatWithFileAndLine()
- {
- $wildfire = new WildfireFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = $wildfire->format($record);
-
- $this->assertEquals(
- '129|[{"Type":"ERROR","File":"test","Line":14,"Label":"meh"},'
- .'{"message":"log","context":{"from":"logger"},"extra":{"ip":"127.0.0.1"}}]|',
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\WildfireFormatter::format
- */
- public function testFormatWithoutContext()
- {
- $wildfire = new WildfireFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = $wildfire->format($record);
-
- $this->assertEquals(
- '58|[{"Type":"ERROR","File":"","Line":"","Label":"meh"},"log"]|',
- $message
- );
- }
-
- /**
- * @covers Monolog\Formatter\WildfireFormatter::formatBatch
- * @expectedException BadMethodCallException
- */
- public function testBatchFormatThrowException()
- {
- $wildfire = new WildfireFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $wildfire->formatBatch(array($record));
- }
-
- /**
- * @covers Monolog\Formatter\WildfireFormatter::format
- */
- public function testTableFormat()
- {
- $wildfire = new WildfireFormatter();
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'table-channel',
- 'context' => array(
- WildfireFormatter::TABLE => array(
- array('col1', 'col2', 'col3'),
- array('val1', 'val2', 'val3'),
- array('foo1', 'foo2', 'foo3'),
- array('bar1', 'bar2', 'bar3'),
- ),
- ),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'table-message',
- );
-
- $message = $wildfire->format($record);
-
- $this->assertEquals(
- '171|[{"Type":"TABLE","File":"","Line":"","Label":"table-channel: table-message"},[["col1","col2","col3"],["val1","val2","val3"],["foo1","foo2","foo3"],["bar1","bar2","bar3"]]]|',
- $message
- );
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Functional/Handler/FirePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Functional/Handler/FirePHPHandlerTest.php
deleted file mode 100644
index 7e4e7eb5..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Functional/Handler/FirePHPHandlerTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-spl_autoload_register(function ($class) {
- $file = __DIR__.'/../../../../src/'.strtr($class, '\\', '/').'.php';
- if (file_exists($file)) {
- require $file;
-
- return true;
- }
-});
-
-use Monolog\Logger;
-use Monolog\Handler\FirePHPHandler;
-use Monolog\Handler\ChromePHPHandler;
-
-$logger = new Logger('firephp');
-$logger->pushHandler(new FirePHPHandler);
-$logger->pushHandler(new ChromePHPHandler());
-
-$logger->addDebug('Debug');
-$logger->addInfo('Info');
-$logger->addWarning('Warning');
-$logger->addError('Error');
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php
deleted file mode 100644
index 568eb9da..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-use Monolog\Processor\WebProcessor;
-
-class AbstractHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\AbstractHandler::__construct
- * @covers Monolog\Handler\AbstractHandler::getLevel
- * @covers Monolog\Handler\AbstractHandler::setLevel
- * @covers Monolog\Handler\AbstractHandler::getBubble
- * @covers Monolog\Handler\AbstractHandler::setBubble
- * @covers Monolog\Handler\AbstractHandler::getFormatter
- * @covers Monolog\Handler\AbstractHandler::setFormatter
- */
- public function testConstructAndGetSet()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false));
- $this->assertEquals(Logger::WARNING, $handler->getLevel());
- $this->assertEquals(false, $handler->getBubble());
-
- $handler->setLevel(Logger::ERROR);
- $handler->setBubble(true);
- $handler->setFormatter($formatter = new LineFormatter);
- $this->assertEquals(Logger::ERROR, $handler->getLevel());
- $this->assertEquals(true, $handler->getBubble());
- $this->assertSame($formatter, $handler->getFormatter());
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::handleBatch
- */
- public function testHandleBatch()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
- $handler->expects($this->exactly(2))
- ->method('handle');
- $handler->handleBatch(array($this->getRecord(), $this->getRecord()));
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::isHandling
- */
- public function testIsHandling()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false));
- $this->assertTrue($handler->isHandling($this->getRecord()));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::__construct
- */
- public function testHandlesPsrStyleLevels()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array('warning', false));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
- $handler->setLevel('debug');
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::getFormatter
- * @covers Monolog\Handler\AbstractHandler::getDefaultFormatter
- */
- public function testGetFormatterInitializesDefault()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
- $this->assertInstanceOf('Monolog\Formatter\LineFormatter', $handler->getFormatter());
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::pushProcessor
- * @covers Monolog\Handler\AbstractHandler::popProcessor
- * @expectedException LogicException
- */
- public function testPushPopProcessor()
- {
- $logger = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
- $processor1 = new WebProcessor;
- $processor2 = new WebProcessor;
-
- $logger->pushProcessor($processor1);
- $logger->pushProcessor($processor2);
-
- $this->assertEquals($processor2, $logger->popProcessor());
- $this->assertEquals($processor1, $logger->popProcessor());
- $logger->popProcessor();
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::pushProcessor
- * @expectedException InvalidArgumentException
- */
- public function testPushProcessorWithNonCallable()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
-
- $handler->pushProcessor(new \stdClass());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
deleted file mode 100644
index 24d4f63c..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Processor\WebProcessor;
-
-class AbstractProcessingHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\AbstractProcessingHandler::handle
- */
- public function testHandleLowerLevelMessage()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, true));
- $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\AbstractProcessingHandler::handle
- */
- public function testHandleBubbling()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, true));
- $this->assertFalse($handler->handle($this->getRecord()));
- }
-
- /**
- * @covers Monolog\Handler\AbstractProcessingHandler::handle
- */
- public function testHandleNotBubbling()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, false));
- $this->assertTrue($handler->handle($this->getRecord()));
- }
-
- /**
- * @covers Monolog\Handler\AbstractProcessingHandler::handle
- */
- public function testHandleIsFalseWhenNotHandled()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, false));
- $this->assertTrue($handler->handle($this->getRecord()));
- $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\AbstractProcessingHandler::processRecord
- */
- public function testProcessRecord()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler');
- $handler->pushProcessor(new WebProcessor(array(
- 'REQUEST_URI' => '',
- 'REQUEST_METHOD' => '',
- 'REMOTE_ADDR' => '',
- 'SERVER_NAME' => '',
- 'UNIQUE_ID' => '',
- )));
- $handledRecord = null;
- $handler->expects($this->once())
- ->method('write')
- ->will($this->returnCallback(function ($record) use (&$handledRecord) {
- $handledRecord = $record;
- }))
- ;
- $handler->handle($this->getRecord());
- $this->assertEquals(6, count($handledRecord['extra']));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php
deleted file mode 100644
index 074d50c6..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use PhpAmqpLib\Message\AMQPMessage;
-use PhpAmqpLib\Channel\AMQPChannel;
-use PhpAmqpLib\Connection\AMQPConnection;
-
-/**
- * @covers Monolog\Handler\RotatingFileHandler
- */
-class AmqpHandlerTest extends TestCase
-{
- public function testHandleAmqpExt()
- {
- if (!class_exists('AMQPConnection') || !class_exists('AMQPExchange')) {
- $this->markTestSkipped("amqp-php not installed");
- }
-
- if (!class_exists('AMQPChannel')) {
- $this->markTestSkipped("Please update AMQP to version >= 1.0");
- }
-
- $messages = array();
-
- $exchange = $this->getMock('AMQPExchange', array('publish', 'setName'), array(), '', false);
- $exchange->expects($this->once())
- ->method('setName')
- ->with('log')
- ;
- $exchange->expects($this->any())
- ->method('publish')
- ->will($this->returnCallback(function ($message, $routing_key, $flags = 0, $attributes = array()) use (&$messages) {
- $messages[] = array($message, $routing_key, $flags, $attributes);
- }))
- ;
-
- $handler = new AmqpHandler($exchange, 'log');
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- array(
- 'message' => 'test',
- 'context' => array(
- 'data' => array(),
- 'foo' => 34,
- ),
- 'level' => 300,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'extra' => array(),
- ),
- 'warn.test',
- 0,
- array(
- 'delivery_mode' => 2,
- 'Content-type' => 'application/json'
- )
- );
-
- $handler->handle($record);
-
- $this->assertCount(1, $messages);
- $messages[0][0] = json_decode($messages[0][0], true);
- unset($messages[0][0]['datetime']);
- $this->assertEquals($expected, $messages[0]);
- }
-
- public function testHandlePhpAmqpLib()
- {
- if (!class_exists('PhpAmqpLib\Connection\AMQPConnection')) {
- $this->markTestSkipped("php-amqplib not installed");
- }
-
- $messages = array();
-
- $exchange = $this->getMock('PhpAmqpLib\Channel\AMQPChannel', array('basic_publish', '__destruct'), array(), '', false);
-
- $exchange->expects($this->any())
- ->method('basic_publish')
- ->will($this->returnCallback(function (AMQPMessage $msg, $exchange = "", $routing_key = "", $mandatory = false, $immediate = false, $ticket = null) use (&$messages) {
- $messages[] = array($msg, $exchange, $routing_key, $mandatory, $immediate, $ticket);
- }))
- ;
-
- $handler = new AmqpHandler($exchange, 'log');
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- array(
- 'message' => 'test',
- 'context' => array(
- 'data' => array(),
- 'foo' => 34,
- ),
- 'level' => 300,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'extra' => array(),
- ),
- 'log',
- 'warn.test',
- false,
- false,
- null,
- array(
- 'delivery_mode' => 2,
- 'content_type' => 'application/json'
- )
- );
-
- $handler->handle($record);
-
- $this->assertCount(1, $messages);
-
- /* @var $msg AMQPMessage */
- $msg = $messages[0][0];
- $messages[0][0] = json_decode($msg->body, true);
- $messages[0][] = $msg->get_properties();
- unset($messages[0][0]['datetime']);
-
- $this->assertEquals($expected, $messages[0]);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
deleted file mode 100644
index ffb1d746..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\BrowserConsoleHandlerTest
- */
-class BrowserConsoleHandlerTest extends TestCase
-{
- protected function setUp()
- {
- BrowserConsoleHandler::reset();
- }
-
- protected function generateScript()
- {
- $reflMethod = new \ReflectionMethod('Monolog\Handler\BrowserConsoleHandler', 'generateScript');
- $reflMethod->setAccessible(true);
-
- return $reflMethod->invoke(null);
- }
-
- public function testStyling()
- {
- $handler = new BrowserConsoleHandler();
- $handler->setFormatter($this->getIdentityFormatter());
-
- $handler->handle($this->getRecord(Logger::DEBUG, 'foo[[bar]]{color: red}'));
-
- $expected = <<<EOF
-(function (c) {if (c && c.groupCollapsed) {
-c.log("%cfoo%cbar%c", "font-weight: normal", "color: red", "font-weight: normal");
-}})(console);
-EOF;
-
- $this->assertEquals($expected, $this->generateScript());
- }
-
- public function testEscaping()
- {
- $handler = new BrowserConsoleHandler();
- $handler->setFormatter($this->getIdentityFormatter());
-
- $handler->handle($this->getRecord(Logger::DEBUG, "[foo] [[\"bar\n[baz]\"]]{color: red}"));
-
- $expected = <<<EOF
-(function (c) {if (c && c.groupCollapsed) {
-c.log("%c[foo] %c\"bar\\n[baz]\"%c", "font-weight: normal", "color: red", "font-weight: normal");
-}})(console);
-EOF;
-
- $this->assertEquals($expected, $this->generateScript());
- }
-
- public function testAutolabel()
- {
- $handler = new BrowserConsoleHandler();
- $handler->setFormatter($this->getIdentityFormatter());
-
- $handler->handle($this->getRecord(Logger::DEBUG, '[[foo]]{macro: autolabel}'));
- $handler->handle($this->getRecord(Logger::DEBUG, '[[bar]]{macro: autolabel}'));
- $handler->handle($this->getRecord(Logger::DEBUG, '[[foo]]{macro: autolabel}'));
-
- $expected = <<<EOF
-(function (c) {if (c && c.groupCollapsed) {
-c.log("%c%cfoo%c", "font-weight: normal", "background-color: blue; color: white; border-radius: 3px; padding: 0 2px 0 2px", "font-weight: normal");
-c.log("%c%cbar%c", "font-weight: normal", "background-color: green; color: white; border-radius: 3px; padding: 0 2px 0 2px", "font-weight: normal");
-c.log("%c%cfoo%c", "font-weight: normal", "background-color: blue; color: white; border-radius: 3px; padding: 0 2px 0 2px", "font-weight: normal");
-}})(console);
-EOF;
-
- $this->assertEquals($expected, $this->generateScript());
- }
-
- public function testContext()
- {
- $handler = new BrowserConsoleHandler();
- $handler->setFormatter($this->getIdentityFormatter());
-
- $handler->handle($this->getRecord(Logger::DEBUG, 'test', array('foo' => 'bar')));
-
- $expected = <<<EOF
-(function (c) {if (c && c.groupCollapsed) {
-c.groupCollapsed("%ctest", "font-weight: normal");
-c.log("%c%s", "font-weight: bold", "Context");
-c.log("%s: %o", "foo", "bar");
-c.groupEnd();
-}})(console);
-EOF;
-
- $this->assertEquals($expected, $this->generateScript());
- }
-
- public function testConcurrentHandlers()
- {
- $handler1 = new BrowserConsoleHandler();
- $handler1->setFormatter($this->getIdentityFormatter());
-
- $handler2 = new BrowserConsoleHandler();
- $handler2->setFormatter($this->getIdentityFormatter());
-
- $handler1->handle($this->getRecord(Logger::DEBUG, 'test1'));
- $handler2->handle($this->getRecord(Logger::DEBUG, 'test2'));
- $handler1->handle($this->getRecord(Logger::DEBUG, 'test3'));
- $handler2->handle($this->getRecord(Logger::DEBUG, 'test4'));
-
- $expected = <<<EOF
-(function (c) {if (c && c.groupCollapsed) {
-c.log("%ctest1", "font-weight: normal");
-c.log("%ctest2", "font-weight: normal");
-c.log("%ctest3", "font-weight: normal");
-c.log("%ctest4", "font-weight: normal");
-}})(console);
-EOF;
-
- $this->assertEquals($expected, $this->generateScript());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php
deleted file mode 100644
index da8b3c39..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class BufferHandlerTest extends TestCase
-{
- private $shutdownCheckHandler;
-
- /**
- * @covers Monolog\Handler\BufferHandler::__construct
- * @covers Monolog\Handler\BufferHandler::handle
- * @covers Monolog\Handler\BufferHandler::close
- */
- public function testHandleBuffers()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertFalse($test->hasDebugRecords());
- $this->assertFalse($test->hasInfoRecords());
- $handler->close();
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 2);
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::close
- * @covers Monolog\Handler\BufferHandler::flush
- */
- public function testPropagatesRecordsAtEndOfRequest()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test);
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->shutdownCheckHandler = $test;
- register_shutdown_function(array($this, 'checkPropagation'));
- }
-
- public function checkPropagation()
- {
- if (!$this->shutdownCheckHandler->hasWarningRecords() || !$this->shutdownCheckHandler->hasDebugRecords()) {
- echo '!!! BufferHandlerTest::testPropagatesRecordsAtEndOfRequest failed to verify that the messages have been propagated' . PHP_EOL;
- exit(1);
- }
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::handle
- */
- public function testHandleBufferLimit()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test, 2);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->close();
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertFalse($test->hasDebugRecords());
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::handle
- */
- public function testHandleBufferLimitWithFlushOnOverflow()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test, 3, Logger::DEBUG, true, true);
-
- // send two records
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->assertFalse($test->hasDebugRecords());
- $this->assertCount(0, $test->getRecords());
-
- // overflow
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertTrue($test->hasDebugRecords());
- $this->assertCount(3, $test->getRecords());
-
- // should buffer again
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertCount(3, $test->getRecords());
-
- $handler->close();
- $this->assertCount(5, $test->getRecords());
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasInfoRecords());
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::handle
- */
- public function testHandleLevel()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test, 0, Logger::INFO);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->close();
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertFalse($test->hasDebugRecords());
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::flush
- */
- public function testFlush()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test, 0);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->flush();
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue($test->hasDebugRecords());
- $this->assertFalse($test->hasWarningRecords());
- }
-
- /**
- * @covers Monolog\Handler\BufferHandler::handle
- */
- public function testHandleUsesProcessors()
- {
- $test = new TestHandler();
- $handler = new BufferHandler($test);
- $handler->pushProcessor(function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->flush();
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php
deleted file mode 100644
index 2f55faf8..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\ChromePHPHandler
- */
-class ChromePHPHandlerTest extends TestCase
-{
- protected function setUp()
- {
- TestChromePHPHandler::reset();
- $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; Chrome/1.0';
- }
-
- public function testHeaders()
- {
- $handler = new TestChromePHPHandler();
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING));
-
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
- 'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
- 'test',
- 'test',
- ),
- 'request_uri' => '',
- ))))
- );
-
- $this->assertEquals($expected, $handler->getHeaders());
- }
-
- public function testHeadersOverflow()
- {
- $handler = new TestChromePHPHandler();
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING, str_repeat('a', 150*1024)));
-
- // overflow chrome headers limit
- $handler->handle($this->getRecord(Logger::WARNING, str_repeat('a', 100*1024)));
-
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
- 'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
- array(
- 'test',
- 'test',
- 'unknown',
- 'log',
- ),
- array(
- 'test',
- str_repeat('a', 150*1024),
- 'unknown',
- 'warn',
- ),
- array(
- 'monolog',
- 'Incomplete logs, chrome header size limit reached',
- 'unknown',
- 'warn',
- ),
- ),
- 'request_uri' => '',
- ))))
- );
-
- $this->assertEquals($expected, $handler->getHeaders());
- }
-
- public function testConcurrentHandlers()
- {
- $handler = new TestChromePHPHandler();
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING));
-
- $handler2 = new TestChromePHPHandler();
- $handler2->setFormatter($this->getIdentityFormatter());
- $handler2->handle($this->getRecord(Logger::DEBUG));
- $handler2->handle($this->getRecord(Logger::WARNING));
-
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
- 'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
- 'test',
- 'test',
- 'test',
- 'test',
- ),
- 'request_uri' => '',
- ))))
- );
-
- $this->assertEquals($expected, $handler2->getHeaders());
- }
-}
-
-class TestChromePHPHandler extends ChromePHPHandler
-{
- protected $headers = array();
-
- public static function reset()
- {
- self::$initialized = false;
- self::$overflowed = false;
- self::$sendHeaders = true;
- self::$json['rows'] = array();
- }
-
- protected function sendHeader($header, $content)
- {
- $this->headers[$header] = $content;
- }
-
- public function getHeaders()
- {
- return $this->headers;
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php
deleted file mode 100644
index 78a1d15c..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class CouchDBHandlerTest extends TestCase
-{
- public function testHandle()
- {
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- 'message' => 'test',
- 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
- 'level' => Logger::WARNING,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
- 'extra' => array(),
- );
-
- $handler = new CouchDBHandler();
-
- try {
- $handler->handle($record);
- } catch (\RuntimeException $e) {
- $this->markTestSkipped('Could not connect to couchdb server on http://localhost:5984');
- }
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
deleted file mode 100644
index d67da90a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class DoctrineCouchDBHandlerTest extends TestCase
-{
- protected function setup()
- {
- if (!class_exists('Doctrine\CouchDB\CouchDBClient')) {
- $this->markTestSkipped('The "doctrine/couchdb" package is not installed');
- }
- }
-
- public function testHandle()
- {
- $client = $this->getMockBuilder('Doctrine\\CouchDB\\CouchDBClient')
- ->setMethods(array('postDocument'))
- ->disableOriginalConstructor()
- ->getMock();
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- 'message' => 'test',
- 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
- 'level' => Logger::WARNING,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
- 'extra' => array(),
- );
-
- $client->expects($this->once())
- ->method('postDocument')
- ->with($expected);
-
- $handler = new DoctrineCouchDBHandler($client);
- $handler->handle($record);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php
deleted file mode 100644
index a38a8cb7..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-class DynamoDbHandlerTest extends TestCase
-{
- public function setUp()
- {
- if (!class_exists('Aws\DynamoDb\DynamoDbClient')) {
- $this->markTestSkipped('aws/aws-sdk-php not installed');
- }
-
- $this->client = $this->getMockBuilder('Aws\DynamoDb\DynamoDbClient')
- ->setMethods(array('formatAttributes', '__call'))
- ->disableOriginalConstructor()->getMock();
- }
-
- public function testConstruct()
- {
- $this->assertInstanceOf('Monolog\Handler\DynamoDbHandler', new DynamoDbHandler($this->client, 'foo'));
- }
-
- public function testInterface()
- {
- $this->assertInstanceOf('Monolog\Handler\HandlerInterface', new DynamoDbHandler($this->client, 'foo'));
- }
-
- public function testGetFormatter()
- {
- $handler = new DynamoDbHandler($this->client, 'foo');
- $this->assertInstanceOf('Monolog\Formatter\ScalarFormatter', $handler->getFormatter());
- }
-
- public function testHandle()
- {
- $record = $this->getRecord();
- $formatter = $this->getMock('Monolog\Formatter\FormatterInterface');
- $formatted = array('foo' => 1, 'bar' => 2);
- $handler = new DynamoDbHandler($this->client, 'foo');
- $handler->setFormatter($formatter);
-
- $formatter
- ->expects($this->once())
- ->method('format')
- ->with($record)
- ->will($this->returnValue($formatted));
- $this->client
- ->expects($this->once())
- ->method('formatAttributes')
- ->with($this->isType('array'))
- ->will($this->returnValue($formatted));
- $this->client
- ->expects($this->once())
- ->method('__call')
- ->with('putItem', array(array(
- 'TableName' => 'foo',
- 'Item' => $formatted
- )));
-
- $handler->handle($record);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php
deleted file mode 100644
index 1687074b..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php
+++ /dev/null
@@ -1,239 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\ElasticaFormatter;
-use Monolog\Formatter\NormalizerFormatter;
-use Monolog\TestCase;
-use Monolog\Logger;
-use Elastica\Client;
-use Elastica\Request;
-use Elastica\Response;
-
-class ElasticSearchHandlerTest extends TestCase
-{
- /**
- * @var Client mock
- */
- protected $client;
-
- /**
- * @var array Default handler options
- */
- protected $options = array(
- 'index' => 'my_index',
- 'type' => 'doc_type',
- );
-
- public function setUp()
- {
- // Elastica lib required
- if (!class_exists("Elastica\Client")) {
- $this->markTestSkipped("ruflin/elastica not installed");
- }
-
- // base mock Elastica Client object
- $this->client = $this->getMockBuilder('Elastica\Client')
- ->setMethods(array('addDocuments'))
- ->disableOriginalConstructor()
- ->getMock();
- }
-
- /**
- * @covers Monolog\Handler\ElasticSearchHandler::write
- * @covers Monolog\Handler\ElasticSearchHandler::handleBatch
- * @covers Monolog\Handler\ElasticSearchHandler::bulkSend
- * @covers Monolog\Handler\ElasticSearchHandler::getDefaultFormatter
- */
- public function testHandle()
- {
- // log message
- $msg = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- // format expected result
- $formatter = new ElasticaFormatter($this->options['index'], $this->options['type']);
- $expected = array($formatter->format($msg));
-
- // setup ES client mock
- $this->client->expects($this->any())
- ->method('addDocuments')
- ->with($expected);
-
- // perform tests
- $handler = new ElasticSearchHandler($this->client, $this->options);
- $handler->handle($msg);
- $handler->handleBatch(array($msg));
- }
-
- /**
- * @covers Monolog\Handler\ElasticSearchHandler::setFormatter
- */
- public function testSetFormatter()
- {
- $handler = new ElasticSearchHandler($this->client);
- $formatter = new ElasticaFormatter('index_new', 'type_new');
- $handler->setFormatter($formatter);
- $this->assertInstanceOf('Monolog\Formatter\ElasticaFormatter', $handler->getFormatter());
- $this->assertEquals('index_new', $handler->getFormatter()->getIndex());
- $this->assertEquals('type_new', $handler->getFormatter()->getType());
- }
-
- /**
- * @covers Monolog\Handler\ElasticSearchHandler::setFormatter
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage ElasticSearchHandler is only compatible with ElasticaFormatter
- */
- public function testSetFormatterInvalid()
- {
- $handler = new ElasticSearchHandler($this->client);
- $formatter = new NormalizerFormatter();
- $handler->setFormatter($formatter);
- }
-
- /**
- * @covers Monolog\Handler\ElasticSearchHandler::__construct
- * @covers Monolog\Handler\ElasticSearchHandler::getOptions
- */
- public function testOptions()
- {
- $expected = array(
- 'index' => $this->options['index'],
- 'type' => $this->options['type'],
- 'ignore_error' => false,
- );
- $handler = new ElasticSearchHandler($this->client, $this->options);
- $this->assertEquals($expected, $handler->getOptions());
- }
-
- /**
- * @covers Monolog\Handler\ElasticSearchHandler::bulkSend
- * @dataProvider providerTestConnectionErrors
- */
- public function testConnectionErrors($ignore, $expectedError)
- {
- $clientOpts = array('host' => '127.0.0.1', 'port' => 1);
- $client = new Client($clientOpts);
- $handlerOpts = array('ignore_error' => $ignore);
- $handler = new ElasticSearchHandler($client, $handlerOpts);
-
- if ($expectedError) {
- $this->setExpectedException($expectedError[0], $expectedError[1]);
- $handler->handle($this->getRecord());
- } else {
- $this->assertFalse($handler->handle($this->getRecord()));
- }
- }
-
- /**
- * @return array
- */
- public function providerTestConnectionErrors()
- {
- return array(
- array(false, array('RuntimeException', 'Error sending messages to Elasticsearch')),
- array(true, false),
- );
- }
-
- /**
- * Integration test using localhost Elastic Search server
- *
- * @covers Monolog\Handler\ElasticSearchHandler::__construct
- * @covers Monolog\Handler\ElasticSearchHandler::handleBatch
- * @covers Monolog\Handler\ElasticSearchHandler::bulkSend
- * @covers Monolog\Handler\ElasticSearchHandler::getDefaultFormatter
- */
- public function testHandleIntegration()
- {
- $msg = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $expected = $msg;
- $expected['datetime'] = $msg['datetime']->format(\DateTime::ISO8601);
- $expected['context'] = array(
- 'class' => '[object] (stdClass: {})',
- 'foo' => 7,
- 0 => 'bar',
- );
-
- $client = new Client();
- $handler = new ElasticSearchHandler($client, $this->options);
- try {
- $handler->handleBatch(array($msg));
- } catch (\RuntimeException $e) {
- $this->markTestSkipped("Cannot connect to Elastic Search server on localhost");
- }
-
- // check document id from ES server response
- $documentId = $this->getCreatedDocId($client->getLastResponse());
- $this->assertNotEmpty($documentId, 'No elastic document id received');
-
- // retrieve document source from ES and validate
- $document = $this->getDocSourceFromElastic(
- $client,
- $this->options['index'],
- $this->options['type'],
- $documentId
- );
- $this->assertEquals($expected, $document);
-
- // remove test index from ES
- $client->request("/{$this->options['index']}", Request::DELETE);
- }
-
- /**
- * Return last created document id from ES response
- * @param Response $response Elastica Response object
- * @return string|null
- */
- protected function getCreatedDocId(Response $response)
- {
- $data = $response->getData();
- if (!empty($data['items'][0]['create']['_id'])) {
- return $data['items'][0]['create']['_id'];
- }
- }
-
- /**
- * Retrieve document by id from Elasticsearch
- * @param Client $client Elastica client
- * @param string $index
- * @param string $type
- * @param string $documentId
- * @return array
- */
- protected function getDocSourceFromElastic(Client $client, $index, $type, $documentId)
- {
- $resp = $client->request("/{$index}/{$type}/{$documentId}", Request::GET);
- $data = $resp->getData();
- if (!empty($data['_source'])) {
- return $data['_source'];
- }
-
- return array();
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php
deleted file mode 100644
index 99785cbb..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-function error_log()
-{
- $GLOBALS['error_log'][] = func_get_args();
-}
-
-class ErrorLogHandlerTest extends TestCase
-{
- protected function setUp()
- {
- $GLOBALS['error_log'] = array();
- }
-
- /**
- * @covers Monolog\Handler\ErrorLogHandler::__construct
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage The given message type "42" is not supported
- */
- public function testShouldNotAcceptAnInvalidTypeOnContructor()
- {
- new ErrorLogHandler(42);
- }
-
- /**
- * @covers Monolog\Handler\ErrorLogHandler::write
- */
- public function testShouldLogMessagesUsingErrorLogFuncion()
- {
- $type = ErrorLogHandler::OPERATING_SYSTEM;
- $handler = new ErrorLogHandler($type);
- $handler->setFormatter(new LineFormatter('%channel%.%level_name%: %message% %context% %extra%', null, true));
- $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz"));
-
- $this->assertSame("test.ERROR: Foo\nBar\r\n\r\nBaz [] []", $GLOBALS['error_log'][0][0]);
- $this->assertSame($GLOBALS['error_log'][0][1], $type);
-
- $handler = new ErrorLogHandler($type, Logger::DEBUG, true, true);
- $handler->setFormatter(new LineFormatter(null, null, true));
- $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz"));
-
- $this->assertStringMatchesFormat('[%s] test.ERROR: Foo', $GLOBALS['error_log'][1][0]);
- $this->assertSame($GLOBALS['error_log'][1][1], $type);
-
- $this->assertStringMatchesFormat('Bar', $GLOBALS['error_log'][2][0]);
- $this->assertSame($GLOBALS['error_log'][2][1], $type);
-
- $this->assertStringMatchesFormat('Baz [] []', $GLOBALS['error_log'][3][0]);
- $this->assertSame($GLOBALS['error_log'][3][1], $type);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php
deleted file mode 100644
index 31b7686a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\TestCase;
-
-class FilterHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\FilterHandler::isHandling
- */
- public function testIsHandling()
- {
- $test = new TestHandler();
- $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE);
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::INFO)));
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::NOTICE)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::WARNING)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::ERROR)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::CRITICAL)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::ALERT)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::EMERGENCY)));
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::handle
- * @covers Monolog\Handler\FilterHandler::setAcceptedLevels
- * @covers Monolog\Handler\FilterHandler::isHandling
- */
- public function testHandleProcessOnlyNeededLevels()
- {
- $test = new TestHandler();
- $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE);
-
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->assertFalse($test->hasDebugRecords());
-
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertTrue($test->hasInfoRecords());
- $handler->handle($this->getRecord(Logger::NOTICE));
- $this->assertTrue($test->hasNoticeRecords());
-
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertFalse($test->hasWarningRecords());
- $handler->handle($this->getRecord(Logger::ERROR));
- $this->assertFalse($test->hasErrorRecords());
- $handler->handle($this->getRecord(Logger::CRITICAL));
- $this->assertFalse($test->hasCriticalRecords());
- $handler->handle($this->getRecord(Logger::ALERT));
- $this->assertFalse($test->hasAlertRecords());
- $handler->handle($this->getRecord(Logger::EMERGENCY));
- $this->assertFalse($test->hasEmergencyRecords());
-
- $test = new TestHandler();
- $handler = new FilterHandler($test, array(Logger::INFO, Logger::ERROR));
-
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->assertFalse($test->hasDebugRecords());
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertTrue($test->hasInfoRecords());
- $handler->handle($this->getRecord(Logger::NOTICE));
- $this->assertFalse($test->hasNoticeRecords());
- $handler->handle($this->getRecord(Logger::ERROR));
- $this->assertTrue($test->hasErrorRecords());
- $handler->handle($this->getRecord(Logger::CRITICAL));
- $this->assertFalse($test->hasCriticalRecords());
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::setAcceptedLevels
- * @covers Monolog\Handler\FilterHandler::getAcceptedLevels
- */
- public function testAcceptedLevelApi()
- {
- $test = new TestHandler();
- $handler = new FilterHandler($test);
-
- $levels = array(Logger::INFO, Logger::ERROR);
- $handler->setAcceptedLevels($levels);
- $this->assertSame($levels, $handler->getAcceptedLevels());
-
- $handler->setAcceptedLevels(array('info', 'error'));
- $this->assertSame($levels, $handler->getAcceptedLevels());
-
- $levels = array(Logger::CRITICAL, Logger::ALERT, Logger::EMERGENCY);
- $handler->setAcceptedLevels(Logger::CRITICAL, Logger::EMERGENCY);
- $this->assertSame($levels, $handler->getAcceptedLevels());
-
- $handler->setAcceptedLevels('critical', 'emergency');
- $this->assertSame($levels, $handler->getAcceptedLevels());
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::handle
- */
- public function testHandleUsesProcessors()
- {
- $test = new TestHandler();
- $handler = new FilterHandler($test, Logger::DEBUG, Logger::EMERGENCY);
- $handler->pushProcessor(
- function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- }
- );
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::handle
- */
- public function testHandleRespectsBubble()
- {
- $test = new TestHandler();
-
- $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE, false);
- $this->assertTrue($handler->handle($this->getRecord(Logger::INFO)));
- $this->assertFalse($handler->handle($this->getRecord(Logger::WARNING)));
-
- $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE, true);
- $this->assertFalse($handler->handle($this->getRecord(Logger::INFO)));
- $this->assertFalse($handler->handle($this->getRecord(Logger::WARNING)));
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::handle
- */
- public function testHandleWithCallback()
- {
- $test = new TestHandler();
- $handler = new FilterHandler(
- function ($record, $handler) use ($test) {
- return $test;
- }, Logger::INFO, Logger::NOTICE, false
- );
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertFalse($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- }
-
- /**
- * @covers Monolog\Handler\FilterHandler::handle
- * @expectedException \RuntimeException
- */
- public function testHandleWithBadCallbackThrowsException()
- {
- $handler = new FilterHandler(
- function ($record, $handler) {
- return 'foo';
- }
- );
- $handler->handle($this->getRecord(Logger::WARNING));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php
deleted file mode 100644
index a3d350d5..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
-use Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy;
-
-class FingersCrossedHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::__construct
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleBuffers()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertFalse($test->hasDebugRecords());
- $this->assertFalse($test->hasInfoRecords());
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->close();
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 3);
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleStopsBufferingAfterTrigger()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test);
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->close();
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasDebugRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- * @covers Monolog\Handler\FingersCrossedHandler::reset
- */
- public function testHandleRestartBufferingAfterReset()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test);
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->reset();
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->close();
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasDebugRecords());
- $this->assertFalse($test->hasInfoRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleRestartBufferingAfterBeingTriggeredWhenStopBufferingIsDisabled()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, Logger::WARNING, 0, false, false);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->close();
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasDebugRecords());
- $this->assertFalse($test->hasInfoRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleBufferLimit()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, Logger::WARNING, 2);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertFalse($test->hasDebugRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleWithCallback()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler(function ($record, $handler) use ($test) {
- return $test;
- });
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $this->assertFalse($test->hasDebugRecords());
- $this->assertFalse($test->hasInfoRecords());
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 3);
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- * @expectedException RuntimeException
- */
- public function testHandleWithBadCallbackThrowsException()
- {
- $handler = new FingersCrossedHandler(function ($record, $handler) {
- return 'foo';
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::isHandling
- */
- public function testIsHandlingAlways()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, Logger::ERROR);
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::__construct
- * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::__construct
- * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::isHandlerActivated
- */
- public function testErrorLevelActivationStrategy()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->assertFalse($test->hasDebugRecords());
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasWarningRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::__construct
- * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::__construct
- * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::isHandlerActivated
- */
- public function testErrorLevelActivationStrategyWithPsrLevel()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy('warning'));
- $handler->handle($this->getRecord(Logger::DEBUG));
- $this->assertFalse($test->hasDebugRecords());
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasWarningRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::__construct
- * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated
- */
- public function testChannelLevelActivationStrategy()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy(Logger::ERROR, array('othertest' => Logger::DEBUG)));
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertFalse($test->hasWarningRecords());
- $record = $this->getRecord(Logger::DEBUG);
- $record['channel'] = 'othertest';
- $handler->handle($record);
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasWarningRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::__construct
- * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated
- */
- public function testChannelLevelActivationStrategyWithPsrLevels()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy('error', array('othertest' => 'debug')));
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertFalse($test->hasWarningRecords());
- $record = $this->getRecord(Logger::DEBUG);
- $record['channel'] = 'othertest';
- $handler->handle($record);
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasWarningRecords());
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::handle
- */
- public function testHandleUsesProcessors()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, Logger::INFO);
- $handler->pushProcessor(function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-
- /**
- * @covers Monolog\Handler\FingersCrossedHandler::close
- */
- public function testPassthruOnClose()
- {
- $test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING), 0, true, true, Logger::INFO);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- $handler->close();
- $this->assertFalse($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php
deleted file mode 100644
index 0eb10a63..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\FirePHPHandler
- */
-class FirePHPHandlerTest extends TestCase
-{
- public function setUp()
- {
- TestFirePHPHandler::reset();
- $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; FirePHP/1.0';
- }
-
- public function testHeaders()
- {
- $handler = new TestFirePHPHandler;
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING));
-
- $expected = array(
- 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
- 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
- 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3',
- 'X-Wf-1-1-1-1' => 'test',
- 'X-Wf-1-1-1-2' => 'test',
- );
-
- $this->assertEquals($expected, $handler->getHeaders());
- }
-
- public function testConcurrentHandlers()
- {
- $handler = new TestFirePHPHandler;
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::WARNING));
-
- $handler2 = new TestFirePHPHandler;
- $handler2->setFormatter($this->getIdentityFormatter());
- $handler2->handle($this->getRecord(Logger::DEBUG));
- $handler2->handle($this->getRecord(Logger::WARNING));
-
- $expected = array(
- 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
- 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
- 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3',
- 'X-Wf-1-1-1-1' => 'test',
- 'X-Wf-1-1-1-2' => 'test',
- );
-
- $expected2 = array(
- 'X-Wf-1-1-1-3' => 'test',
- 'X-Wf-1-1-1-4' => 'test',
- );
-
- $this->assertEquals($expected, $handler->getHeaders());
- $this->assertEquals($expected2, $handler2->getHeaders());
- }
-}
-
-class TestFirePHPHandler extends FirePHPHandler
-{
- protected $headers = array();
-
- public static function reset()
- {
- self::$initialized = false;
- self::$sendHeaders = true;
- self::$messageIndex = 1;
- }
-
- protected function sendHeader($header, $content)
- {
- $this->headers[$header] = $content;
- }
-
- public function getHeaders()
- {
- return $this->headers;
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php
deleted file mode 100644
index 91cdd312..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\LineFormatter;
-use Monolog\Logger;
-use Monolog\TestCase;
-
-/**
- * @coversDefaultClass \Monolog\Handler\FleepHookHandler
- */
-class FleepHookHandlerTest extends TestCase
-{
- /**
- * Default token to use in tests
- */
- const TOKEN = '123abc';
-
- /**
- * @var FleepHookHandler
- */
- private $handler;
-
- public function setUp()
- {
- parent::setUp();
-
- if (!extension_loaded('openssl')) {
- $this->markTestSkipped('This test requires openssl extension to run');
- }
-
- // Create instances of the handler and logger for convenience
- $this->handler = new FleepHookHandler(self::TOKEN);
- }
-
- /**
- * @covers ::__construct
- */
- public function testConstructorSetsExpectedDefaults()
- {
- $this->assertEquals(Logger::DEBUG, $this->handler->getLevel());
- $this->assertEquals(true, $this->handler->getBubble());
- }
-
- /**
- * @covers ::getDefaultFormatter
- */
- public function testHandlerUsesLineFormatterWhichIgnoresEmptyArrays()
- {
- $record = array(
- 'message' => 'msg',
- 'context' => array(),
- 'level' => Logger::DEBUG,
- 'level_name' => Logger::getLevelName(Logger::DEBUG),
- 'channel' => 'channel',
- 'datetime' => new \DateTime(),
- 'extra' => array(),
- );
-
- $expectedFormatter = new LineFormatter(null, null, true, true);
- $expected = $expectedFormatter->format($record);
-
- $handlerFormatter = $this->handler->getFormatter();
- $actual = $handlerFormatter->format($record);
-
- $this->assertEquals($expected, $actual, 'Empty context and extra arrays should not be rendered');
- }
-
- /**
- * @covers ::__construct
- */
- public function testConnectionStringisConstructedCorrectly()
- {
- $this->assertEquals('ssl://' . FleepHookHandler::FLEEP_HOST . ':443', $this->handler->getConnectionString());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php
deleted file mode 100644
index 4b120d51..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Formatter\FlowdockFormatter;
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @author Dominik Liebler <liebler.dominik@gmail.com>
- * @see https://www.hipchat.com/docs/api
- */
-class FlowdockHandlerTest extends TestCase
-{
- /**
- * @var resource
- */
- private $res;
-
- /**
- * @var FlowdockHandler
- */
- private $handler;
-
- public function setUp()
- {
- if (!extension_loaded('openssl')) {
- $this->markTestSkipped('This test requires openssl to run');
- }
- }
-
- public function testWriteHeader()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/v1\/messages\/team_inbox\/.* HTTP\/1.1\\r\\nHost: api.flowdock.com\\r\\nContent-Type: application\/json\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
-
- return $content;
- }
-
- /**
- * @depends testWriteHeader
- */
- public function testWriteContent($content)
- {
- $this->assertRegexp('/"source":"test_source"/', $content);
- $this->assertRegexp('/"from_address":"source@test\.com"/', $content);
- }
-
- private function createHandler($token = 'myToken')
- {
- $constructorArgs = array($token, Logger::DEBUG);
- $this->res = fopen('php://memory', 'a');
- $this->handler = $this->getMock(
- '\Monolog\Handler\FlowdockHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
- $constructorArgs
- );
-
- $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
- $reflectionProperty->setAccessible(true);
- $reflectionProperty->setValue($this->handler, 'localhost:1234');
-
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- $this->handler->expects($this->any())
- ->method('closeSocket')
- ->will($this->returnValue(true));
-
- $this->handler->setFormatter(new FlowdockFormatter('test_source', 'source@test.com'));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php
deleted file mode 100644
index d60a6db3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Gelf\Message;
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\GelfMessageFormatter;
-
-class GelfHandlerLegacyTest extends TestCase
-{
- public function setUp()
- {
- if (!class_exists('Gelf\MessagePublisher') || !class_exists('Gelf\Message')) {
- $this->markTestSkipped("mlehner/gelf-php not installed");
- }
- }
-
- /**
- * @covers Monolog\Handler\GelfHandler::__construct
- */
- public function testConstruct()
- {
- $handler = new GelfHandler($this->getMessagePublisher());
- $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler);
- }
-
- protected function getHandler($messagePublisher)
- {
- $handler = new GelfHandler($messagePublisher);
-
- return $handler;
- }
-
- protected function getMessagePublisher()
- {
- return new MockMessagePublisher('localhost');
- }
-
- public function testDebug()
- {
- $messagePublisher = $this->getMessagePublisher();
- $handler = $this->getHandler($messagePublisher);
-
- $record = $this->getRecord(Logger::DEBUG, "A test debug message");
- $handler->handle($record);
-
- $this->assertEquals(7, $messagePublisher->lastMessage->getLevel());
- $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
- $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
- $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
- }
-
- public function testWarning()
- {
- $messagePublisher = $this->getMessagePublisher();
- $handler = $this->getHandler($messagePublisher);
-
- $record = $this->getRecord(Logger::WARNING, "A test warning message");
- $handler->handle($record);
-
- $this->assertEquals(4, $messagePublisher->lastMessage->getLevel());
- $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
- $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
- $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
- }
-
- public function testInjectedGelfMessageFormatter()
- {
- $messagePublisher = $this->getMessagePublisher();
- $handler = $this->getHandler($messagePublisher);
-
- $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX'));
-
- $record = $this->getRecord(Logger::WARNING, "A test warning message");
- $record['extra']['blarg'] = 'yep';
- $record['context']['from'] = 'logger';
- $handler->handle($record);
-
- $this->assertEquals('mysystem', $messagePublisher->lastMessage->getHost());
- $this->assertArrayHasKey('_EXTblarg', $messagePublisher->lastMessage->toArray());
- $this->assertArrayHasKey('_CTXfrom', $messagePublisher->lastMessage->toArray());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php
deleted file mode 100644
index 8cdd64f4..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Gelf\Message;
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\GelfMessageFormatter;
-
-class GelfHandlerTest extends TestCase
-{
- public function setUp()
- {
- if (!class_exists('Gelf\Publisher') || !class_exists('Gelf\Message')) {
- $this->markTestSkipped("graylog2/gelf-php not installed");
- }
- }
-
- /**
- * @covers Monolog\Handler\GelfHandler::__construct
- */
- public function testConstruct()
- {
- $handler = new GelfHandler($this->getMessagePublisher());
- $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler);
- }
-
- protected function getHandler($messagePublisher)
- {
- $handler = new GelfHandler($messagePublisher);
-
- return $handler;
- }
-
- protected function getMessagePublisher()
- {
- return $this->getMock('Gelf\Publisher', array('publish'), array(), '', false);
- }
-
- public function testDebug()
- {
- $record = $this->getRecord(Logger::DEBUG, "A test debug message");
- $expectedMessage = new Message();
- $expectedMessage
- ->setLevel(7)
- ->setFacility("test")
- ->setShortMessage($record['message'])
- ->setTimestamp($record['datetime'])
- ;
-
- $messagePublisher = $this->getMessagePublisher();
- $messagePublisher->expects($this->once())
- ->method('publish')
- ->with($expectedMessage);
-
- $handler = $this->getHandler($messagePublisher);
-
- $handler->handle($record);
- }
-
- public function testWarning()
- {
- $record = $this->getRecord(Logger::WARNING, "A test warning message");
- $expectedMessage = new Message();
- $expectedMessage
- ->setLevel(4)
- ->setFacility("test")
- ->setShortMessage($record['message'])
- ->setTimestamp($record['datetime'])
- ;
-
- $messagePublisher = $this->getMessagePublisher();
- $messagePublisher->expects($this->once())
- ->method('publish')
- ->with($expectedMessage);
-
- $handler = $this->getHandler($messagePublisher);
-
- $handler->handle($record);
- }
-
- public function testInjectedGelfMessageFormatter()
- {
- $record = $this->getRecord(Logger::WARNING, "A test warning message");
- $record['extra']['blarg'] = 'yep';
- $record['context']['from'] = 'logger';
-
- $expectedMessage = new Message();
- $expectedMessage
- ->setLevel(4)
- ->setFacility("test")
- ->setHost("mysystem")
- ->setShortMessage($record['message'])
- ->setTimestamp($record['datetime'])
- ->setAdditional("EXTblarg", 'yep')
- ->setAdditional("CTXfrom", 'logger')
- ;
-
- $messagePublisher = $this->getMessagePublisher();
- $messagePublisher->expects($this->once())
- ->method('publish')
- ->with($expectedMessage);
-
- $handler = $this->getHandler($messagePublisher);
- $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX'));
- $handler->handle($record);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php
deleted file mode 100644
index c6298a6e..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class GroupHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\GroupHandler::__construct
- * @expectedException InvalidArgumentException
- */
- public function testConstructorOnlyTakesHandler()
- {
- new GroupHandler(array(new TestHandler(), "foo"));
- }
-
- /**
- * @covers Monolog\Handler\GroupHandler::__construct
- * @covers Monolog\Handler\GroupHandler::handle
- */
- public function testHandle()
- {
- $testHandlers = array(new TestHandler(), new TestHandler());
- $handler = new GroupHandler($testHandlers);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- foreach ($testHandlers as $test) {
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 2);
- }
- }
-
- /**
- * @covers Monolog\Handler\GroupHandler::handleBatch
- */
- public function testHandleBatch()
- {
- $testHandlers = array(new TestHandler(), new TestHandler());
- $handler = new GroupHandler($testHandlers);
- $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
- foreach ($testHandlers as $test) {
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 2);
- }
- }
-
- /**
- * @covers Monolog\Handler\GroupHandler::isHandling
- */
- public function testIsHandling()
- {
- $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING));
- $handler = new GroupHandler($testHandlers);
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR)));
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\GroupHandler::handle
- */
- public function testHandleUsesProcessors()
- {
- $test = new TestHandler();
- $handler = new GroupHandler(array($test));
- $handler->pushProcessor(function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php
deleted file mode 100644
index d58386a1..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @author Rafael Dohms <rafael@doh.ms>
- * @see https://www.hipchat.com/docs/api
- */
-class HipChatHandlerTest extends TestCase
-{
- private $res;
- private $handler;
-
- public function testWriteHeader()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/v1\/rooms\/message\?format=json&auth_token=.* HTTP\/1.1\\r\\nHost: api.hipchat.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
-
- return $content;
- }
-
- /**
- * @depends testWriteHeader
- */
- public function testWriteContent($content)
- {
- $this->assertRegexp('/from=Monolog&room_id=room1&notify=0&message=test1&message_format=text&color=red$/', $content);
- }
-
- public function testWriteWithComplexMessage()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Backup of database "example" finished in 16 minutes.'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/message=Backup\+of\+database\+%22example%22\+finished\+in\+16\+minutes\./', $content);
- }
-
- /**
- * @dataProvider provideLevelColors
- */
- public function testWriteWithErrorLevelsAndColors($level, $expectedColor)
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord($level, 'Backup of database "example" finished in 16 minutes.'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/color='.$expectedColor.'/', $content);
- }
-
- public function provideLevelColors()
- {
- return array(
- array(Logger::DEBUG, 'gray'),
- array(Logger::INFO, 'green'),
- array(Logger::WARNING, 'yellow'),
- array(Logger::ERROR, 'red'),
- array(Logger::CRITICAL, 'red'),
- array(Logger::ALERT, 'red'),
- array(Logger::EMERGENCY,'red'),
- array(Logger::NOTICE, 'green'),
- );
- }
-
- /**
- * @dataProvider provideBatchRecords
- */
- public function testHandleBatch($records, $expectedColor)
- {
- $this->createHandler();
-
- $this->handler->handleBatch($records);
-
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/color='.$expectedColor.'/', $content);
- }
-
- public function provideBatchRecords()
- {
- return array(
- array(
- array(
- array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- array('level' => Logger::CRITICAL, 'message' => 'Everything is broken!', 'level_name' => 'critical', 'datetime' => new \DateTime())
- ),
- 'red',
- ),
- array(
- array(
- array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- ),
- 'yellow',
- ),
- array(
- array(
- array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- ),
- 'green',
- ),
- array(
- array(
- array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()),
- ),
- 'gray',
- ),
- );
- }
-
- private function createHandler($token = 'myToken', $room = 'room1', $name = 'Monolog', $notify = false)
- {
- $constructorArgs = array($token, $room, $name, $notify, Logger::DEBUG);
- $this->res = fopen('php://memory', 'a');
- $this->handler = $this->getMock(
- '\Monolog\Handler\HipChatHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
- $constructorArgs
- );
-
- $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
- $reflectionProperty->setAccessible(true);
- $reflectionProperty->setValue($this->handler, 'localhost:1234');
-
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- $this->handler->expects($this->any())
- ->method('closeSocket')
- ->will($this->returnValue(true));
-
- $this->handler->setFormatter($this->getIdentityFormatter());
- }
-
- /**
- * @expectedException InvalidArgumentException
- */
- public function testCreateWithTooLongName()
- {
- $hipChatHandler = new \Monolog\Handler\HipChatHandler('token', 'room', 'SixteenCharsHere');
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php
deleted file mode 100644
index 7af60be8..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @author Robert Kaufmann III <rok3@rok3.me>
- */
-class LogEntriesHandlerTest extends TestCase
-{
- /**
- * @var resource
- */
- private $res;
-
- /**
- * @var LogEntriesHandler
- */
- private $handler;
-
- public function testWriteContent()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Critical write test'));
-
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] test.CRITICAL: Critical write test/', $content);
- }
-
- public function testWriteBatchContent()
- {
- $records = array(
- $this->getRecord(),
- $this->getRecord(),
- $this->getRecord()
- );
- $this->createHandler();
- $this->handler->handleBatch($records);
-
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/(testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] .* \[\] \[\]\n){3}/', $content);
- }
-
- private function createHandler()
- {
- $useSSL = extension_loaded('openssl');
- $args = array('testToken', $useSSL, Logger::DEBUG, true);
- $this->res = fopen('php://memory', 'a');
- $this->handler = $this->getMock(
- '\Monolog\Handler\LogEntriesHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
- $args
- );
-
- $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
- $reflectionProperty->setAccessible(true);
- $reflectionProperty->setValue($this->handler, 'localhost:1234');
-
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- $this->handler->expects($this->any())
- ->method('closeSocket')
- ->will($this->returnValue(true));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php
deleted file mode 100644
index 6754f3d6..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-use Monolog\TestCase;
-
-class MailHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\MailHandler::handleBatch
- */
- public function testHandleBatch()
- {
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $formatter->expects($this->once())
- ->method('formatBatch'); // Each record is formatted
-
- $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
- $handler->expects($this->once())
- ->method('send');
- $handler->expects($this->never())
- ->method('write'); // write is for individual records
-
- $handler->setFormatter($formatter);
-
- $handler->handleBatch($this->getMultipleRecords());
- }
-
- /**
- * @covers Monolog\Handler\MailHandler::handleBatch
- */
- public function testHandleBatchNotSendsMailIfMessagesAreBelowLevel()
- {
- $records = array(
- $this->getRecord(Logger::DEBUG, 'debug message 1'),
- $this->getRecord(Logger::DEBUG, 'debug message 2'),
- $this->getRecord(Logger::INFO, 'information'),
- );
-
- $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
- $handler->expects($this->never())
- ->method('send');
- $handler->setLevel(Logger::ERROR);
-
- $handler->handleBatch($records);
- }
-
- /**
- * @covers Monolog\Handler\MailHandler::write
- */
- public function testHandle()
- {
- $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
-
- $record = $this->getRecord();
- $records = array($record);
- $records[0]['formatted'] = '['.$record['datetime']->format('Y-m-d H:i:s').'] test.WARNING: test [] []'."\n";
-
- $handler->expects($this->once())
- ->method('send')
- ->with($records[0]['formatted'], $records);
-
- $handler->handle($record);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php b/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php
deleted file mode 100644
index fbaab9bc..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Raven_Client;
-
-class MockRavenClient extends Raven_Client
-{
- public function capture($data, $stack, $vars = null)
- {
- $this->lastData = $data;
- $this->lastStack = $stack;
- }
-
- public $lastData;
- public $lastStack;
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php
deleted file mode 100644
index 0fdef63a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class MongoDBHandlerTest extends TestCase
-{
- /**
- * @expectedException InvalidArgumentException
- */
- public function testConstructorShouldThrowExceptionForInvalidMongo()
- {
- new MongoDBHandler(new \stdClass(), 'DB', 'Collection');
- }
-
- public function testHandle()
- {
- $mongo = $this->getMock('Mongo', array('selectCollection'), array(), '', false);
- $collection = $this->getMock('stdClass', array('save'));
-
- $mongo->expects($this->once())
- ->method('selectCollection')
- ->with('DB', 'Collection')
- ->will($this->returnValue($collection));
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- 'message' => 'test',
- 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
- 'level' => Logger::WARNING,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
- 'extra' => array(),
- );
-
- $collection->expects($this->once())
- ->method('save')
- ->with($expected);
-
- $handler = new MongoDBHandler($mongo, 'DB', 'Collection');
- $handler->handle($record);
- }
-}
-
-if (!class_exists('Mongo')) {
- class Mongo
- {
- public function selectCollection()
- {
- }
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php
deleted file mode 100644
index c2553ee4..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-class NativeMailerHandlerTest extends TestCase
-{
- /**
- * @expectedException InvalidArgumentException
- */
- public function testConstructorHeaderInjection()
- {
- $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', "receiver@example.org\r\nFrom: faked@attacker.org");
- }
-
- /**
- * @expectedException InvalidArgumentException
- */
- public function testSetterHeaderInjection()
- {
- $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org');
- $mailer->addHeader("Content-Type: text/html\r\nFrom: faked@attacker.org");
- }
-
- /**
- * @expectedException InvalidArgumentException
- */
- public function testSetterArrayHeaderInjection()
- {
- $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org');
- $mailer->addHeader(array("Content-Type: text/html\r\nFrom: faked@attacker.org"));
- }
-
- /**
- * @expectedException InvalidArgumentException
- */
- public function testSetterContentTypeInjection()
- {
- $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org');
- $mailer->setContentType("text/html\r\nFrom: faked@attacker.org");
- }
-
- /**
- * @expectedException InvalidArgumentException
- */
- public function testSetterEncodingInjection()
- {
- $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org');
- $mailer->setEncoding("utf-8\r\nFrom: faked@attacker.org");
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php
deleted file mode 100644
index 22014908..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class NewRelicHandlerTest extends TestCase
-{
- public static $appname;
- public static $customParameters;
- public static $transactionName;
-
- public function setUp()
- {
- self::$appname = null;
- self::$customParameters = array();
- self::$transactionName = null;
- }
-
- /**
- * @expectedException Monolog\Handler\MissingExtensionException
- */
- public function testThehandlerThrowsAnExceptionIfTheNRExtensionIsNotLoaded()
- {
- $handler = new StubNewRelicHandlerWithoutExtension();
- $handler->handle($this->getRecord(Logger::ERROR));
- }
-
- public function testThehandlerCanHandleTheRecord()
- {
- $handler = new StubNewRelicHandler();
- $handler->handle($this->getRecord(Logger::ERROR));
- }
-
- public function testThehandlerCanAddContextParamsToTheNewRelicTrace()
- {
- $handler = new StubNewRelicHandler();
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('a' => 'b')));
- $this->assertEquals(array('context_a' => 'b'), self::$customParameters);
- }
-
- public function testThehandlerCanAddExplodedContextParamsToTheNewRelicTrace()
- {
- $handler = new StubNewRelicHandler(Logger::ERROR, true, self::$appname, true);
- $handler->handle($this->getRecord(
- Logger::ERROR,
- 'log message',
- array('a' => array('key1' => 'value1', 'key2' => 'value2'))
- ));
- $this->assertEquals(
- array('context_a_key1' => 'value1', 'context_a_key2' => 'value2'),
- self::$customParameters
- );
- }
-
- public function testThehandlerCanAddExtraParamsToTheNewRelicTrace()
- {
- $record = $this->getRecord(Logger::ERROR, 'log message');
- $record['extra'] = array('c' => 'd');
-
- $handler = new StubNewRelicHandler();
- $handler->handle($record);
-
- $this->assertEquals(array('extra_c' => 'd'), self::$customParameters);
- }
-
- public function testThehandlerCanAddExplodedExtraParamsToTheNewRelicTrace()
- {
- $record = $this->getRecord(Logger::ERROR, 'log message');
- $record['extra'] = array('c' => array('key1' => 'value1', 'key2' => 'value2'));
-
- $handler = new StubNewRelicHandler(Logger::ERROR, true, self::$appname, true);
- $handler->handle($record);
-
- $this->assertEquals(
- array('extra_c_key1' => 'value1', 'extra_c_key2' => 'value2'),
- self::$customParameters
- );
- }
-
- public function testThehandlerCanAddExtraContextAndParamsToTheNewRelicTrace()
- {
- $record = $this->getRecord(Logger::ERROR, 'log message', array('a' => 'b'));
- $record['extra'] = array('c' => 'd');
-
- $handler = new StubNewRelicHandler();
- $handler->handle($record);
-
- $expected = array(
- 'context_a' => 'b',
- 'extra_c' => 'd',
- );
-
- $this->assertEquals($expected, self::$customParameters);
- }
-
- public function testTheAppNameIsNullByDefault()
- {
- $handler = new StubNewRelicHandler();
- $handler->handle($this->getRecord(Logger::ERROR, 'log message'));
-
- $this->assertEquals(null, self::$appname);
- }
-
- public function testTheAppNameCanBeInjectedFromtheConstructor()
- {
- $handler = new StubNewRelicHandler(Logger::DEBUG, false, 'myAppName');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message'));
-
- $this->assertEquals('myAppName', self::$appname);
- }
-
- public function testTheAppNameCanBeOverriddenFromEachLog()
- {
- $handler = new StubNewRelicHandler(Logger::DEBUG, false, 'myAppName');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('appname' => 'logAppName')));
-
- $this->assertEquals('logAppName', self::$appname);
- }
-
- public function testTheTransactionNameIsNullByDefault()
- {
- $handler = new StubNewRelicHandler();
- $handler->handle($this->getRecord(Logger::ERROR, 'log message'));
-
- $this->assertEquals(null, self::$transactionName);
- }
-
- public function testTheTransactionNameCanBeInjectedFromtheConstructor()
- {
- $handler = new StubNewRelicHandler(Logger::DEBUG, false, null, false, 'myTransaction');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message'));
-
- $this->assertEquals('myTransaction', self::$transactionName);
- }
-
- public function testTheTransactionNameCanBeOverriddenFromEachLog()
- {
- $handler = new StubNewRelicHandler(Logger::DEBUG, false, null, false, 'myTransaction');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('transaction_name' => 'logTransactName')));
-
- $this->assertEquals('logTransactName', self::$transactionName);
- }
-}
-
-class StubNewRelicHandlerWithoutExtension extends NewRelicHandler
-{
- protected function isNewRelicEnabled()
- {
- return false;
- }
-}
-
-class StubNewRelicHandler extends NewRelicHandler
-{
- protected function isNewRelicEnabled()
- {
- return true;
- }
-}
-
-function newrelic_notice_error()
-{
- return true;
-}
-
-function newrelic_set_appname($appname)
-{
- return NewRelicHandlerTest::$appname = $appname;
-}
-
-function newrelic_name_transaction($transactionName)
-{
- return NewRelicHandlerTest::$transactionName = $transactionName;
-}
-
-function newrelic_add_custom_parameter($key, $value)
-{
- NewRelicHandlerTest::$customParameters[$key] = $value;
-
- return true;
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php
deleted file mode 100644
index 292df78c..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\NullHandler::handle
- */
-class NullHandlerTest extends TestCase
-{
- public function testHandle()
- {
- $handler = new NullHandler();
- $this->assertTrue($handler->handle($this->getRecord()));
- }
-
- public function testHandleLowerLevelRecord()
- {
- $handler = new NullHandler(Logger::WARNING);
- $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php
deleted file mode 100644
index 64eaab16..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\PsrHandler::handle
- */
-class PsrHandlerTest extends TestCase
-{
- public function logLevelProvider()
- {
- $levels = array();
- $monologLogger = new Logger('');
-
- foreach ($monologLogger->getLevels() as $levelName => $level) {
- $levels[] = array($levelName, $level);
- }
-
- return $levels;
- }
-
- /**
- * @dataProvider logLevelProvider
- */
- public function testHandlesAllLevels($levelName, $level)
- {
- $message = 'Hello, world! ' . $level;
- $context = array('foo' => 'bar', 'level' => $level);
-
- $psrLogger = $this->getMock('Psr\Log\NullLogger');
- $psrLogger->expects($this->once())
- ->method('log')
- ->with(strtolower($levelName), $message, $context);
-
- $handler = new PsrHandler($psrLogger);
- $handler->handle(array('level' => $level, 'level_name' => $levelName, 'message' => $message, 'context' => $context));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php
deleted file mode 100644
index 89408236..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * Almost all examples (expected header, titles, messages) taken from
- * https://www.pushover.net/api
- * @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
- * @see https://www.pushover.net/api
- */
-class PushoverHandlerTest extends TestCase
-{
- private $res;
- private $handler;
-
- public function testWriteHeader()
- {
- $this->createHandler();
- $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/1\/messages.json HTTP\/1.1\\r\\nHost: api.pushover.net\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
-
- return $content;
- }
-
- /**
- * @depends testWriteHeader
- */
- public function testWriteContent($content)
- {
- $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog&timestamp=\d{10}$/', $content);
- }
-
- public function testWriteWithComplexTitle()
- {
- $this->createHandler('myToken', 'myUser', 'Backup finished - SQL1', Logger::EMERGENCY);
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/title=Backup\+finished\+-\+SQL1/', $content);
- }
-
- public function testWriteWithComplexMessage()
- {
- $this->createHandler();
- $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Backup of database "example" finished in 16 minutes.'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/message=Backup\+of\+database\+%22example%22\+finished\+in\+16\+minutes\./', $content);
- }
-
- public function testWriteWithTooLongMessage()
- {
- $message = str_pad('test', 520, 'a');
- $this->createHandler();
- $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications
- $this->handler->handle($this->getRecord(Logger::CRITICAL, $message));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $expectedMessage = substr($message, 0, 505);
-
- $this->assertRegexp('/message=' . $expectedMessage . '&title/', $content);
- }
-
- public function testWriteWithHighPriority()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog&timestamp=\d{10}&priority=1$/', $content);
- }
-
- public function testWriteWithEmergencyPriority()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::EMERGENCY, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog&timestamp=\d{10}&priority=2&retry=30&expire=25200$/', $content);
- }
-
- public function testWriteToMultipleUsers()
- {
- $this->createHandler('myToken', array('userA', 'userB'));
- $this->handler->handle($this->getRecord(Logger::EMERGENCY, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/token=myToken&user=userA&message=test1&title=Monolog&timestamp=\d{10}&priority=2&retry=30&expire=25200POST/', $content);
- $this->assertRegexp('/token=myToken&user=userB&message=test1&title=Monolog&timestamp=\d{10}&priority=2&retry=30&expire=25200$/', $content);
- }
-
- private function createHandler($token = 'myToken', $user = 'myUser', $title = 'Monolog')
- {
- $constructorArgs = array($token, $user, $title);
- $this->res = fopen('php://memory', 'a');
- $this->handler = $this->getMock(
- '\Monolog\Handler\PushoverHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
- $constructorArgs
- );
-
- $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
- $reflectionProperty->setAccessible(true);
- $reflectionProperty->setValue($this->handler, 'localhost:1234');
-
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- $this->handler->expects($this->any())
- ->method('closeSocket')
- ->will($this->returnValue(true));
-
- $this->handler->setFormatter($this->getIdentityFormatter());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php
deleted file mode 100644
index 8fe86961..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-class RavenHandlerTest extends TestCase
-{
- public function setUp()
- {
- if (!class_exists("Raven_Client")) {
- $this->markTestSkipped("raven/raven not installed");
- }
-
- require_once __DIR__ . '/MockRavenClient.php';
- }
-
- /**
- * @covers Monolog\Handler\RavenHandler::__construct
- */
- public function testConstruct()
- {
- $handler = new RavenHandler($this->getRavenClient());
- $this->assertInstanceOf('Monolog\Handler\RavenHandler', $handler);
- }
-
- protected function getHandler($ravenClient)
- {
- $handler = new RavenHandler($ravenClient);
-
- return $handler;
- }
-
- protected function getRavenClient()
- {
- $dsn = 'http://43f6017361224d098402974103bfc53d:a6a0538fc2934ba2bed32e08741b2cd3@marca.python.live.cheggnet.com:9000/1';
-
- return new MockRavenClient($dsn);
- }
-
- public function testDebug()
- {
- $ravenClient = $this->getRavenClient();
- $handler = $this->getHandler($ravenClient);
-
- $record = $this->getRecord(Logger::DEBUG, "A test debug message");
- $handler->handle($record);
-
- $this->assertEquals($ravenClient::DEBUG, $ravenClient->lastData['level']);
- $this->assertContains($record['message'], $ravenClient->lastData['message']);
- }
-
- public function testWarning()
- {
- $ravenClient = $this->getRavenClient();
- $handler = $this->getHandler($ravenClient);
-
- $record = $this->getRecord(Logger::WARNING, "A test warning message");
- $handler->handle($record);
-
- $this->assertEquals($ravenClient::WARNING, $ravenClient->lastData['level']);
- $this->assertContains($record['message'], $ravenClient->lastData['message']);
- }
-
- public function testTag()
- {
- $ravenClient = $this->getRavenClient();
- $handler = $this->getHandler($ravenClient);
-
- $tags = array(1, 2, 'foo');
- $record = $this->getRecord(Logger::INFO, "test", array('tags' => $tags));
- $handler->handle($record);
-
- $this->assertEquals($tags, $ravenClient->lastData['tags']);
- }
-
- public function testException()
- {
- $ravenClient = $this->getRavenClient();
- $handler = $this->getHandler($ravenClient);
-
- try {
- $this->methodThatThrowsAnException();
- } catch (\Exception $e) {
- $record = $this->getRecord(Logger::ERROR, $e->getMessage(), array('exception' => $e));
- $handler->handle($record);
- }
-
- $this->assertEquals($record['message'], $ravenClient->lastData['message']);
- }
-
- public function testHandleBatch()
- {
- $records = $this->getMultipleRecords();
- $records[] = $this->getRecord(Logger::WARNING, 'warning');
- $records[] = $this->getRecord(Logger::WARNING, 'warning');
-
- $logFormatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $logFormatter->expects($this->once())->method('formatBatch');
-
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $formatter->expects($this->once())->method('format')->with($this->callback(function ($record) {
- return $record['level'] == 400;
- }));
-
- $handler = $this->getHandler($this->getRavenClient());
- $handler->setBatchFormatter($logFormatter);
- $handler->setFormatter($formatter);
- $handler->handleBatch($records);
- }
-
- public function testHandleBatchDoNothingIfRecordsAreBelowLevel()
- {
- $records = array(
- $this->getRecord(Logger::DEBUG, 'debug message 1'),
- $this->getRecord(Logger::DEBUG, 'debug message 2'),
- $this->getRecord(Logger::INFO, 'information'),
- );
-
- $handler = $this->getMock('Monolog\Handler\RavenHandler', null, array($this->getRavenClient()));
- $handler->expects($this->never())->method('handle');
- $handler->setLevel(Logger::ERROR);
- $handler->handleBatch($records);
- }
-
- public function testGetSetBatchFormatter()
- {
- $ravenClient = $this->getRavenClient();
- $handler = $this->getHandler($ravenClient);
-
- $handler->setBatchFormatter($formatter = new LineFormatter());
- $this->assertSame($formatter, $handler->getBatchFormatter());
- }
-
- private function methodThatThrowsAnException()
- {
- throw new \Exception('This is an exception');
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php
deleted file mode 100644
index 3629f8a2..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-
-class RedisHandlerTest extends TestCase
-{
- /**
- * @expectedException InvalidArgumentException
- */
- public function testConstructorShouldThrowExceptionForInvalidRedis()
- {
- new RedisHandler(new \stdClass(), 'key');
- }
-
- public function testConstructorShouldWorkWithPredis()
- {
- $redis = $this->getMock('Predis\Client');
- $this->assertInstanceof('Monolog\Handler\RedisHandler', new RedisHandler($redis, 'key'));
- }
-
- public function testConstructorShouldWorkWithRedis()
- {
- $redis = $this->getMock('Redis');
- $this->assertInstanceof('Monolog\Handler\RedisHandler', new RedisHandler($redis, 'key'));
- }
-
- public function testPredisHandle()
- {
- $redis = $this->getMock('Predis\Client', array('rpush'));
-
- // Predis\Client uses rpush
- $redis->expects($this->once())
- ->method('rpush')
- ->with('key', 'test');
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $handler = new RedisHandler($redis, 'key');
- $handler->setFormatter(new LineFormatter("%message%"));
- $handler->handle($record);
- }
-
- public function testRedisHandle()
- {
- $redis = $this->getMock('Redis', array('rpush'));
-
- // Redis uses rPush
- $redis->expects($this->once())
- ->method('rPush')
- ->with('key', 'test');
-
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $handler = new RedisHandler($redis, 'key');
- $handler->setFormatter(new LineFormatter("%message%"));
- $handler->handle($record);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php
deleted file mode 100644
index f4cefda1..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-/**
- * @covers Monolog\Handler\RotatingFileHandler
- */
-class RotatingFileHandlerTest extends TestCase
-{
- public function setUp()
- {
- $dir = __DIR__.'/Fixtures';
- chmod($dir, 0777);
- if (!is_writable($dir)) {
- $this->markTestSkipped($dir.' must be writeable to test the RotatingFileHandler.');
- }
- }
-
- public function testRotationCreatesNewFile()
- {
- touch(__DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400).'.rot');
-
- $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot');
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord());
-
- $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot';
- $this->assertTrue(file_exists($log));
- $this->assertEquals('test', file_get_contents($log));
- }
-
- /**
- * @dataProvider rotationTests
- */
- public function testRotation($createFile)
- {
- touch($old1 = __DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400).'.rot');
- touch($old2 = __DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400 * 2).'.rot');
- touch($old3 = __DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400 * 3).'.rot');
- touch($old4 = __DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400 * 4).'.rot');
-
- $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot';
-
- if ($createFile) {
- touch($log);
- }
-
- $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2);
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord());
-
- $handler->close();
-
- $this->assertTrue(file_exists($log));
- $this->assertTrue(file_exists($old1));
- $this->assertEquals($createFile, file_exists($old2));
- $this->assertEquals($createFile, file_exists($old3));
- $this->assertEquals($createFile, file_exists($old4));
- $this->assertEquals('test', file_get_contents($log));
- }
-
- public function rotationTests()
- {
- return array(
- 'Rotation is triggered when the file of the current day is not present'
- => array(true),
- 'Rotation is not triggered when the file is already present'
- => array(false),
- );
- }
-
- public function testReuseCurrentFile()
- {
- $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot';
- file_put_contents($log, "foo");
- $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot');
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord());
- $this->assertEquals('footest', file_get_contents($log));
- }
-
- public function tearDown()
- {
- foreach (glob(__DIR__.'/Fixtures/*.rot') as $file) {
- unlink($file);
- }
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php
deleted file mode 100644
index b354cee1..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-/**
- * @covers Monolog\Handler\SamplingHandler::handle
- */
-class SamplingHandlerTest extends TestCase
-{
- public function testHandle()
- {
- $testHandler = new TestHandler();
- $handler = new SamplingHandler($testHandler, 2);
- for ($i = 0; $i < 10000; $i++) {
- $handler->handle($this->getRecord());
- }
- $count = count($testHandler->getRecords());
- // $count should be half of 10k, so between 4k and 6k
- $this->assertLessThan(6000, $count);
- $this->assertGreaterThan(4000, $count);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php
deleted file mode 100644
index d657fae3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @author Greg Kedzierski <greg@gregkedzierski.com>
- * @see https://api.slack.com/
- */
-class SlackHandlerTest extends TestCase
-{
- /**
- * @var resource
- */
- private $res;
-
- /**
- * @var SlackHandler
- */
- private $handler;
-
- public function setUp()
- {
- if (!extension_loaded('openssl')) {
- $this->markTestSkipped('This test requires openssl to run');
- }
- }
-
- public function testWriteHeader()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/api\/chat.postMessage HTTP\/1.1\\r\\nHost: slack.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
- }
-
- public function testWriteContent()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/token=myToken&channel=channel1&username=Monolog&text=&attachments=.*$/', $content);
- }
-
- public function testWriteContentWithEmoji()
- {
- $this->createHandler('myToken', 'channel1', 'Monolog', true, 'alien');
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/icon_emoji=%3Aalien%3A$/', $content);
- }
-
- /**
- * @dataProvider provideLevelColors
- */
- public function testWriteContentWithColors($level, $expectedColor)
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord($level, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/color%22%3A%22'.$expectedColor.'/', $content);
- }
-
- public function testWriteContentWithPlainTextMessage()
- {
- $this->createHandler('myToken', 'channel1', 'Monolog', false);
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/text=test1/', $content);
- }
-
- public function provideLevelColors()
- {
- return array(
- array(Logger::DEBUG, '%23e3e4e6'), // escaped #e3e4e6
- array(Logger::INFO, 'good'),
- array(Logger::NOTICE, 'good'),
- array(Logger::WARNING, 'warning'),
- array(Logger::ERROR, 'danger'),
- array(Logger::CRITICAL, 'danger'),
- array(Logger::ALERT, 'danger'),
- array(Logger::EMERGENCY,'danger'),
- );
- }
-
- private function createHandler($token = 'myToken', $channel = 'channel1', $username = 'Monolog', $useAttachment = true, $iconEmoji = null, $useShortAttachment = false, $includeExtra = false)
- {
- $constructorArgs = array($token, $channel, $username, $useAttachment, $iconEmoji, Logger::DEBUG, true, $useShortAttachment, $includeExtra);
- $this->res = fopen('php://memory', 'a');
- $this->handler = $this->getMock(
- '\Monolog\Handler\SlackHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
- $constructorArgs
- );
-
- $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
- $reflectionProperty->setAccessible(true);
- $reflectionProperty->setValue($this->handler, 'localhost:1234');
-
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- $this->handler->expects($this->any())
- ->method('closeSocket')
- ->will($this->returnValue(true));
-
- $this->handler->setFormatter($this->getIdentityFormatter());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php
deleted file mode 100644
index 2e3d504a..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php
+++ /dev/null
@@ -1,282 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @author Pablo de Leon Belloc <pablolb@gmail.com>
- */
-class SocketHandlerTest extends TestCase
-{
- /**
- * @var Monolog\Handler\SocketHandler
- */
- private $handler;
-
- /**
- * @var resource
- */
- private $res;
-
- /**
- * @expectedException UnexpectedValueException
- */
- public function testInvalidHostname()
- {
- $this->createHandler('garbage://here');
- $this->writeRecord('data');
- }
-
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testBadConnectionTimeout()
- {
- $this->createHandler('localhost:1234');
- $this->handler->setConnectionTimeout(-1);
- }
-
- public function testSetConnectionTimeout()
- {
- $this->createHandler('localhost:1234');
- $this->handler->setConnectionTimeout(10.1);
- $this->assertEquals(10.1, $this->handler->getConnectionTimeout());
- }
-
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testBadTimeout()
- {
- $this->createHandler('localhost:1234');
- $this->handler->setTimeout(-1);
- }
-
- public function testSetTimeout()
- {
- $this->createHandler('localhost:1234');
- $this->handler->setTimeout(10.25);
- $this->assertEquals(10.25, $this->handler->getTimeout());
- }
-
- public function testSetConnectionString()
- {
- $this->createHandler('tcp://localhost:9090');
- $this->assertEquals('tcp://localhost:9090', $this->handler->getConnectionString());
- }
-
- /**
- * @expectedException UnexpectedValueException
- */
- public function testExceptionIsThrownOnFsockopenError()
- {
- $this->setMockHandler(array('fsockopen'));
- $this->handler->expects($this->once())
- ->method('fsockopen')
- ->will($this->returnValue(false));
- $this->writeRecord('Hello world');
- }
-
- /**
- * @expectedException UnexpectedValueException
- */
- public function testExceptionIsThrownOnPfsockopenError()
- {
- $this->setMockHandler(array('pfsockopen'));
- $this->handler->expects($this->once())
- ->method('pfsockopen')
- ->will($this->returnValue(false));
- $this->handler->setPersistent(true);
- $this->writeRecord('Hello world');
- }
-
- /**
- * @expectedException UnexpectedValueException
- */
- public function testExceptionIsThrownIfCannotSetTimeout()
- {
- $this->setMockHandler(array('streamSetTimeout'));
- $this->handler->expects($this->once())
- ->method('streamSetTimeout')
- ->will($this->returnValue(false));
- $this->writeRecord('Hello world');
- }
-
- /**
- * @expectedException RuntimeException
- */
- public function testWriteFailsOnIfFwriteReturnsFalse()
- {
- $this->setMockHandler(array('fwrite'));
-
- $callback = function ($arg) {
- $map = array(
- 'Hello world' => 6,
- 'world' => false,
- );
-
- return $map[$arg];
- };
-
- $this->handler->expects($this->exactly(2))
- ->method('fwrite')
- ->will($this->returnCallback($callback));
-
- $this->writeRecord('Hello world');
- }
-
- /**
- * @expectedException RuntimeException
- */
- public function testWriteFailsIfStreamTimesOut()
- {
- $this->setMockHandler(array('fwrite', 'streamGetMetadata'));
-
- $callback = function ($arg) {
- $map = array(
- 'Hello world' => 6,
- 'world' => 5,
- );
-
- return $map[$arg];
- };
-
- $this->handler->expects($this->exactly(1))
- ->method('fwrite')
- ->will($this->returnCallback($callback));
- $this->handler->expects($this->exactly(1))
- ->method('streamGetMetadata')
- ->will($this->returnValue(array('timed_out' => true)));
-
- $this->writeRecord('Hello world');
- }
-
- /**
- * @expectedException RuntimeException
- */
- public function testWriteFailsOnIncompleteWrite()
- {
- $this->setMockHandler(array('fwrite', 'streamGetMetadata'));
-
- $res = $this->res;
- $callback = function ($string) use ($res) {
- fclose($res);
-
- return strlen('Hello');
- };
-
- $this->handler->expects($this->exactly(1))
- ->method('fwrite')
- ->will($this->returnCallback($callback));
- $this->handler->expects($this->exactly(1))
- ->method('streamGetMetadata')
- ->will($this->returnValue(array('timed_out' => false)));
-
- $this->writeRecord('Hello world');
- }
-
- public function testWriteWithMemoryFile()
- {
- $this->setMockHandler();
- $this->writeRecord('test1');
- $this->writeRecord('test2');
- $this->writeRecord('test3');
- fseek($this->res, 0);
- $this->assertEquals('test1test2test3', fread($this->res, 1024));
- }
-
- public function testWriteWithMock()
- {
- $this->setMockHandler(array('fwrite'));
-
- $callback = function ($arg) {
- $map = array(
- 'Hello world' => 6,
- 'world' => 5,
- );
-
- return $map[$arg];
- };
-
- $this->handler->expects($this->exactly(2))
- ->method('fwrite')
- ->will($this->returnCallback($callback));
-
- $this->writeRecord('Hello world');
- }
-
- public function testClose()
- {
- $this->setMockHandler();
- $this->writeRecord('Hello world');
- $this->assertInternalType('resource', $this->res);
- $this->handler->close();
- $this->assertFalse(is_resource($this->res), "Expected resource to be closed after closing handler");
- }
-
- public function testCloseDoesNotClosePersistentSocket()
- {
- $this->setMockHandler();
- $this->handler->setPersistent(true);
- $this->writeRecord('Hello world');
- $this->assertTrue(is_resource($this->res));
- $this->handler->close();
- $this->assertTrue(is_resource($this->res));
- }
-
- private function createHandler($connectionString)
- {
- $this->handler = new SocketHandler($connectionString);
- $this->handler->setFormatter($this->getIdentityFormatter());
- }
-
- private function writeRecord($string)
- {
- $this->handler->handle($this->getRecord(Logger::WARNING, $string));
- }
-
- private function setMockHandler(array $methods = array())
- {
- $this->res = fopen('php://memory', 'a');
-
- $defaultMethods = array('fsockopen', 'pfsockopen', 'streamSetTimeout');
- $newMethods = array_diff($methods, $defaultMethods);
-
- $finalMethods = array_merge($defaultMethods, $newMethods);
-
- $this->handler = $this->getMock(
- '\Monolog\Handler\SocketHandler', $finalMethods, array('localhost:1234')
- );
-
- if (!in_array('fsockopen', $methods)) {
- $this->handler->expects($this->any())
- ->method('fsockopen')
- ->will($this->returnValue($this->res));
- }
-
- if (!in_array('pfsockopen', $methods)) {
- $this->handler->expects($this->any())
- ->method('pfsockopen')
- ->will($this->returnValue($this->res));
- }
-
- if (!in_array('streamSetTimeout', $methods)) {
- $this->handler->expects($this->any())
- ->method('streamSetTimeout')
- ->will($this->returnValue(true));
- }
-
- $this->handler->setFormatter($this->getIdentityFormatter());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php
deleted file mode 100644
index 44d3d9f1..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class StreamHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\StreamHandler::__construct
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWrite()
- {
- $handle = fopen('php://memory', 'a+');
- $handler = new StreamHandler($handle);
- $handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::WARNING, 'test'));
- $handler->handle($this->getRecord(Logger::WARNING, 'test2'));
- $handler->handle($this->getRecord(Logger::WARNING, 'test3'));
- fseek($handle, 0);
- $this->assertEquals('testtest2test3', fread($handle, 100));
- }
-
- /**
- * @covers Monolog\Handler\StreamHandler::close
- */
- public function testClose()
- {
- $handle = fopen('php://memory', 'a+');
- $handler = new StreamHandler($handle);
- $this->assertTrue(is_resource($handle));
- $handler->close();
- $this->assertFalse(is_resource($handle));
- }
-
- /**
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWriteCreatesTheStreamResource()
- {
- $handler = new StreamHandler('php://memory');
- $handler->handle($this->getRecord());
- }
-
- /**
- * @covers Monolog\Handler\StreamHandler::__construct
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWriteLocking()
- {
- $temp = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'monolog_locked_log';
- $handler = new StreamHandler($temp, Logger::DEBUG, true, null, true);
- $handler->handle($this->getRecord());
- }
-
- /**
- * @expectedException LogicException
- * @covers Monolog\Handler\StreamHandler::__construct
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWriteMissingResource()
- {
- $handler = new StreamHandler(null);
- $handler->handle($this->getRecord());
- }
-
- public function invalidArgumentProvider()
- {
- return array(
- array(1),
- array(array()),
- array(array('bogus://url')),
- );
- }
-
- /**
- * @dataProvider invalidArgumentProvider
- * @expectedException InvalidArgumentException
- * @covers Monolog\Handler\StreamHandler::__construct
- */
- public function testWriteInvalidArgument($invalidArgument)
- {
- $handler = new StreamHandler($invalidArgument);
- }
-
- /**
- * @expectedException UnexpectedValueException
- * @covers Monolog\Handler\StreamHandler::__construct
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWriteInvalidResource()
- {
- $handler = new StreamHandler('bogus://url');
- $handler->handle($this->getRecord());
- }
-
- /**
- * @expectedException UnexpectedValueException
- * @covers Monolog\Handler\StreamHandler::__construct
- * @covers Monolog\Handler\StreamHandler::write
- */
- public function testWriteNonExistingResource()
- {
- $handler = new StreamHandler('/foo/bar/baz/'.rand(0, 10000));
- $handler->handle($this->getRecord());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php
deleted file mode 100644
index 8f9e46bf..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\Logger;
-
-class SyslogHandlerTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @covers Monolog\Handler\SyslogHandler::__construct
- */
- public function testConstruct()
- {
- $handler = new SyslogHandler('test');
- $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler);
-
- $handler = new SyslogHandler('test', LOG_USER);
- $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler);
-
- $handler = new SyslogHandler('test', 'user');
- $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler);
-
- $handler = new SyslogHandler('test', LOG_USER, Logger::DEBUG, true, LOG_PERROR);
- $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler);
- }
-
- /**
- * @covers Monolog\Handler\SyslogHandler::__construct
- */
- public function testConstructInvalidFacility()
- {
- $this->setExpectedException('UnexpectedValueException');
- $handler = new SyslogHandler('test', 'unknown');
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php
deleted file mode 100644
index 497812b3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-/**
- * @requires extension sockets
- */
-class SyslogUdpHandlerTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @expectedException UnexpectedValueException
- */
- public function testWeValidateFacilities()
- {
- $handler = new SyslogUdpHandler("ip", null, "invalidFacility");
- }
-
- public function testWeSplitIntoLines()
- {
- $handler = new SyslogUdpHandler("127.0.0.1", 514, "authpriv");
- $handler->setFormatter(new \Monolog\Formatter\ChromePHPFormatter());
-
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('write'), array('lol', 'lol'));
- $socket->expects($this->at(0))
- ->method('write')
- ->with("lol", "<".(LOG_AUTHPRIV + LOG_WARNING).">1 ");
- $socket->expects($this->at(1))
- ->method('write')
- ->with("hej", "<".(LOG_AUTHPRIV + LOG_WARNING).">1 ");
-
- $handler->setSocket($socket);
-
- $handler->handle($this->getRecordWithMessage("hej\nlol"));
- }
-
- protected function getRecordWithMessage($msg)
- {
- return array('message' => $msg, 'level' => \Monolog\Logger::WARNING, 'context' => null, 'extra' => array(), 'channel' => 'lol');
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php
deleted file mode 100644
index 801d80a9..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-/**
- * @covers Monolog\Handler\TestHandler
- */
-class TestHandlerTest extends TestCase
-{
- /**
- * @dataProvider methodProvider
- */
- public function testHandler($method, $level)
- {
- $handler = new TestHandler;
- $record = $this->getRecord($level, 'test'.$method);
- $this->assertFalse($handler->{'has'.$method}($record));
- $this->assertFalse($handler->{'has'.$method.'Records'}());
- $handler->handle($record);
-
- $this->assertFalse($handler->{'has'.$method}('bar'));
- $this->assertTrue($handler->{'has'.$method}($record));
- $this->assertTrue($handler->{'has'.$method}('test'.$method));
- $this->assertTrue($handler->{'has'.$method.'Records'}());
-
- $records = $handler->getRecords();
- unset($records[0]['formatted']);
- $this->assertEquals(array($record), $records);
- }
-
- public function methodProvider()
- {
- return array(
- array('Emergency', Logger::EMERGENCY),
- array('Alert' , Logger::ALERT),
- array('Critical' , Logger::CRITICAL),
- array('Error' , Logger::ERROR),
- array('Warning' , Logger::WARNING),
- array('Info' , Logger::INFO),
- array('Notice' , Logger::NOTICE),
- array('Debug' , Logger::DEBUG),
- );
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php
deleted file mode 100644
index bcaf52b3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-/**
- * @requires extension sockets
- */
-class UdpSocketTest extends TestCase
-{
- public function testWeDoNotTruncateShortMessages()
- {
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol'));
-
- $socket->expects($this->at(0))
- ->method('send')
- ->with("HEADER: The quick brown fox jumps over the lazy dog");
-
- $socket->write("The quick brown fox jumps over the lazy dog", "HEADER: ");
- }
-
- public function testLongMessagesAreTruncated()
- {
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol'));
-
- $truncatedString = str_repeat("derp", 16254).'d';
-
- $socket->expects($this->exactly(1))
- ->method('send')
- ->with("HEADER" . $truncatedString);
-
- $longString = str_repeat("derp", 20000);
-
- $socket->write($longString, "HEADER");
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
deleted file mode 100644
index 8d37a1fc..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-use Monolog\Logger;
-
-class WhatFailureGroupHandlerTest extends TestCase
-{
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::__construct
- * @expectedException InvalidArgumentException
- */
- public function testConstructorOnlyTakesHandler()
- {
- new WhatFailureGroupHandler(array(new TestHandler(), "foo"));
- }
-
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::__construct
- * @covers Monolog\Handler\WhatFailureGroupHandler::handle
- */
- public function testHandle()
- {
- $testHandlers = array(new TestHandler(), new TestHandler());
- $handler = new WhatFailureGroupHandler($testHandlers);
- $handler->handle($this->getRecord(Logger::DEBUG));
- $handler->handle($this->getRecord(Logger::INFO));
- foreach ($testHandlers as $test) {
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 2);
- }
- }
-
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::handleBatch
- */
- public function testHandleBatch()
- {
- $testHandlers = array(new TestHandler(), new TestHandler());
- $handler = new WhatFailureGroupHandler($testHandlers);
- $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
- foreach ($testHandlers as $test) {
- $this->assertTrue($test->hasDebugRecords());
- $this->assertTrue($test->hasInfoRecords());
- $this->assertTrue(count($test->getRecords()) === 2);
- }
- }
-
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::isHandling
- */
- public function testIsHandling()
- {
- $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING));
- $handler = new WhatFailureGroupHandler($testHandlers);
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR)));
- $this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING)));
- $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
- }
-
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::handle
- */
- public function testHandleUsesProcessors()
- {
- $test = new TestHandler();
- $handler = new WhatFailureGroupHandler(array($test));
- $handler->pushProcessor(function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-
- /**
- * @covers Monolog\Handler\WhatFailureGroupHandler::handle
- */
- public function testHandleException()
- {
- $test = new TestHandler();
- $exception = new ExceptionTestHandler();
- $handler = new WhatFailureGroupHandler(array($exception, $test, $exception));
- $handler->pushProcessor(function ($record) {
- $record['extra']['foo'] = true;
-
- return $record;
- });
- $handler->handle($this->getRecord(Logger::WARNING));
- $this->assertTrue($test->hasWarningRecords());
- $records = $test->getRecords();
- $this->assertTrue($records[0]['extra']['foo']);
- }
-}
-
-class ExceptionTestHandler extends TestHandler
-{
- /**
- * {@inheritdoc}
- */
- public function handle(array $record)
- {
- parent::handle($record);
-
- throw new \Exception("ExceptionTestHandler::handle");
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php
deleted file mode 100644
index 416039e6..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Handler;
-
-use Monolog\TestCase;
-
-class ZendMonitorHandlerTest extends TestCase
-{
- protected $zendMonitorHandler;
-
- public function setUp()
- {
- if (!function_exists('zend_monitor_custom_event')) {
- $this->markTestSkipped('ZendServer is not installed');
- }
- }
-
- /**
- * @covers Monolog\Handler\ZendMonitorHandler::write
- */
- public function testWrite()
- {
- $record = $this->getRecord();
- $formatterResult = array(
- 'message' => $record['message']
- );
-
- $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler')
- ->setMethods(array('writeZendMonitorCustomEvent', 'getDefaultFormatter'))
- ->getMock();
-
- $formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter')
- ->disableOriginalConstructor()
- ->getMock();
-
- $formatterMock->expects($this->once())
- ->method('format')
- ->will($this->returnValue($formatterResult));
-
- $zendMonitor->expects($this->once())
- ->method('getDefaultFormatter')
- ->will($this->returnValue($formatterMock));
-
- $levelMap = $zendMonitor->getLevelMap();
-
- $zendMonitor->expects($this->once())
- ->method('writeZendMonitorCustomEvent')
- ->with($levelMap[$record['level']], $record['message'], $formatterResult);
-
- $zendMonitor->handle($record);
- }
-
- /**
- * @covers Monolog\Handler\ZendMonitorHandler::getDefaultFormatter
- */
- public function testGetDefaultFormatterReturnsNormalizerFormatter()
- {
- $zendMonitor = new ZendMonitorHandler();
- $this->assertInstanceOf('Monolog\Formatter\NormalizerFormatter', $zendMonitor->getDefaultFormatter());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/LoggerTest.php b/vendor/monolog/monolog/tests/Monolog/LoggerTest.php
deleted file mode 100644
index 7a19c0b4..00000000
--- a/vendor/monolog/monolog/tests/Monolog/LoggerTest.php
+++ /dev/null
@@ -1,409 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use Monolog\Processor\WebProcessor;
-use Monolog\Handler\TestHandler;
-
-class LoggerTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @covers Monolog\Logger::getName
- */
- public function testGetName()
- {
- $logger = new Logger('foo');
- $this->assertEquals('foo', $logger->getName());
- }
-
- /**
- * @covers Monolog\Logger::getLevelName
- */
- public function testGetLevelName()
- {
- $this->assertEquals('ERROR', Logger::getLevelName(Logger::ERROR));
- }
-
- /**
- * @covers Monolog\Logger::getLevelName
- * @expectedException InvalidArgumentException
- */
- public function testGetLevelNameThrows()
- {
- Logger::getLevelName(5);
- }
-
- /**
- * @covers Monolog\Logger::__construct
- */
- public function testChannel()
- {
- $logger = new Logger('foo');
- $handler = new TestHandler;
- $logger->pushHandler($handler);
- $logger->addWarning('test');
- list($record) = $handler->getRecords();
- $this->assertEquals('foo', $record['channel']);
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testLog()
- {
- $logger = new Logger(__METHOD__);
-
- $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
- $handler->expects($this->once())
- ->method('handle');
- $logger->pushHandler($handler);
-
- $this->assertTrue($logger->addWarning('test'));
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testLogNotHandled()
- {
- $logger = new Logger(__METHOD__);
-
- $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'), array(Logger::ERROR));
- $handler->expects($this->never())
- ->method('handle');
- $logger->pushHandler($handler);
-
- $this->assertFalse($logger->addWarning('test'));
- }
-
- public function testHandlersInCtor()
- {
- $handler1 = new TestHandler;
- $handler2 = new TestHandler;
- $logger = new Logger(__METHOD__, array($handler1, $handler2));
-
- $this->assertEquals($handler1, $logger->popHandler());
- $this->assertEquals($handler2, $logger->popHandler());
- }
-
- public function testProcessorsInCtor()
- {
- $processor1 = new WebProcessor;
- $processor2 = new WebProcessor;
- $logger = new Logger(__METHOD__, array(), array($processor1, $processor2));
-
- $this->assertEquals($processor1, $logger->popProcessor());
- $this->assertEquals($processor2, $logger->popProcessor());
- }
-
- /**
- * @covers Monolog\Logger::pushHandler
- * @covers Monolog\Logger::popHandler
- * @expectedException LogicException
- */
- public function testPushPopHandler()
- {
- $logger = new Logger(__METHOD__);
- $handler1 = new TestHandler;
- $handler2 = new TestHandler;
-
- $logger->pushHandler($handler1);
- $logger->pushHandler($handler2);
-
- $this->assertEquals($handler2, $logger->popHandler());
- $this->assertEquals($handler1, $logger->popHandler());
- $logger->popHandler();
- }
-
- /**
- * @covers Monolog\Logger::pushProcessor
- * @covers Monolog\Logger::popProcessor
- * @expectedException LogicException
- */
- public function testPushPopProcessor()
- {
- $logger = new Logger(__METHOD__);
- $processor1 = new WebProcessor;
- $processor2 = new WebProcessor;
-
- $logger->pushProcessor($processor1);
- $logger->pushProcessor($processor2);
-
- $this->assertEquals($processor2, $logger->popProcessor());
- $this->assertEquals($processor1, $logger->popProcessor());
- $logger->popProcessor();
- }
-
- /**
- * @covers Monolog\Logger::pushProcessor
- * @expectedException InvalidArgumentException
- */
- public function testPushProcessorWithNonCallable()
- {
- $logger = new Logger(__METHOD__);
-
- $logger->pushProcessor(new \stdClass());
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testProcessorsAreExecuted()
- {
- $logger = new Logger(__METHOD__);
- $handler = new TestHandler;
- $logger->pushHandler($handler);
- $logger->pushProcessor(function ($record) {
- $record['extra']['win'] = true;
-
- return $record;
- });
- $logger->addError('test');
- list($record) = $handler->getRecords();
- $this->assertTrue($record['extra']['win']);
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testProcessorsAreCalledOnlyOnce()
- {
- $logger = new Logger(__METHOD__);
- $handler = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler->expects($this->any())
- ->method('handle')
- ->will($this->returnValue(true))
- ;
- $logger->pushHandler($handler);
-
- $processor = $this->getMockBuilder('Monolog\Processor\WebProcessor')
- ->disableOriginalConstructor()
- ->setMethods(array('__invoke'))
- ->getMock()
- ;
- $processor->expects($this->once())
- ->method('__invoke')
- ->will($this->returnArgument(0))
- ;
- $logger->pushProcessor($processor);
-
- $logger->addError('test');
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testProcessorsNotCalledWhenNotHandled()
- {
- $logger = new Logger(__METHOD__);
- $handler = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler->expects($this->once())
- ->method('isHandling')
- ->will($this->returnValue(false))
- ;
- $logger->pushHandler($handler);
- $that = $this;
- $logger->pushProcessor(function ($record) use ($that) {
- $that->fail('The processor should not be called');
- });
- $logger->addAlert('test');
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testHandlersNotCalledBeforeFirstHandling()
- {
- $logger = new Logger(__METHOD__);
-
- $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler1->expects($this->never())
- ->method('isHandling')
- ->will($this->returnValue(false))
- ;
- $handler1->expects($this->once())
- ->method('handle')
- ->will($this->returnValue(false))
- ;
- $logger->pushHandler($handler1);
-
- $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler2->expects($this->once())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler2->expects($this->once())
- ->method('handle')
- ->will($this->returnValue(false))
- ;
- $logger->pushHandler($handler2);
-
- $handler3 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler3->expects($this->once())
- ->method('isHandling')
- ->will($this->returnValue(false))
- ;
- $handler3->expects($this->never())
- ->method('handle')
- ;
- $logger->pushHandler($handler3);
-
- $logger->debug('test');
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testBubblingWhenTheHandlerReturnsFalse()
- {
- $logger = new Logger(__METHOD__);
-
- $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler1->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler1->expects($this->once())
- ->method('handle')
- ->will($this->returnValue(false))
- ;
- $logger->pushHandler($handler1);
-
- $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler2->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler2->expects($this->once())
- ->method('handle')
- ->will($this->returnValue(false))
- ;
- $logger->pushHandler($handler2);
-
- $logger->debug('test');
- }
-
- /**
- * @covers Monolog\Logger::addRecord
- */
- public function testNotBubblingWhenTheHandlerReturnsTrue()
- {
- $logger = new Logger(__METHOD__);
-
- $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler1->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler1->expects($this->never())
- ->method('handle')
- ;
- $logger->pushHandler($handler1);
-
- $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler2->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
- $handler2->expects($this->once())
- ->method('handle')
- ->will($this->returnValue(true))
- ;
- $logger->pushHandler($handler2);
-
- $logger->debug('test');
- }
-
- /**
- * @covers Monolog\Logger::isHandling
- */
- public function testIsHandling()
- {
- $logger = new Logger(__METHOD__);
-
- $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler1->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(false))
- ;
-
- $logger->pushHandler($handler1);
- $this->assertFalse($logger->isHandling(Logger::DEBUG));
-
- $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
- $handler2->expects($this->any())
- ->method('isHandling')
- ->will($this->returnValue(true))
- ;
-
- $logger->pushHandler($handler2);
- $this->assertTrue($logger->isHandling(Logger::DEBUG));
- }
-
- /**
- * @dataProvider logMethodProvider
- * @covers Monolog\Logger::addDebug
- * @covers Monolog\Logger::addInfo
- * @covers Monolog\Logger::addNotice
- * @covers Monolog\Logger::addWarning
- * @covers Monolog\Logger::addError
- * @covers Monolog\Logger::addCritical
- * @covers Monolog\Logger::addAlert
- * @covers Monolog\Logger::addEmergency
- * @covers Monolog\Logger::debug
- * @covers Monolog\Logger::info
- * @covers Monolog\Logger::notice
- * @covers Monolog\Logger::warn
- * @covers Monolog\Logger::err
- * @covers Monolog\Logger::crit
- * @covers Monolog\Logger::alert
- * @covers Monolog\Logger::emerg
- */
- public function testLogMethods($method, $expectedLevel)
- {
- $logger = new Logger('foo');
- $handler = new TestHandler;
- $logger->pushHandler($handler);
- $logger->{$method}('test');
- list($record) = $handler->getRecords();
- $this->assertEquals($expectedLevel, $record['level']);
- }
-
- public function logMethodProvider()
- {
- return array(
- // monolog methods
- array('addDebug', Logger::DEBUG),
- array('addInfo', Logger::INFO),
- array('addNotice', Logger::NOTICE),
- array('addWarning', Logger::WARNING),
- array('addError', Logger::ERROR),
- array('addCritical', Logger::CRITICAL),
- array('addAlert', Logger::ALERT),
- array('addEmergency', Logger::EMERGENCY),
-
- // ZF/Sf2 compat methods
- array('debug', Logger::DEBUG),
- array('info', Logger::INFO),
- array('notice', Logger::NOTICE),
- array('warn', Logger::WARNING),
- array('err', Logger::ERROR),
- array('crit', Logger::CRITICAL),
- array('alert', Logger::ALERT),
- array('emerg', Logger::EMERGENCY),
- );
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php
deleted file mode 100644
index 5adb505d..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class GitProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\GitProcessor::__invoke
- */
- public function testProcessor()
- {
- $processor = new GitProcessor();
- $record = $processor($this->getRecord());
-
- $this->assertArrayHasKey('git', $record['extra']);
- $this->assertTrue(!is_array($record['extra']['git']['branch']));
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php
deleted file mode 100644
index 0dd411d7..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Acme;
-
-class Tester
-{
- public function test($handler, $record)
- {
- $handler->handle($record);
- }
-}
-
-function tester($handler, $record)
-{
- $handler->handle($record);
-}
-
-namespace Monolog\Processor;
-
-use Monolog\Logger;
-use Monolog\TestCase;
-use Monolog\Handler\TestHandler;
-
-class IntrospectionProcessorTest extends TestCase
-{
- public function getHandler()
- {
- $processor = new IntrospectionProcessor();
- $handler = new TestHandler();
- $handler->pushProcessor($processor);
-
- return $handler;
- }
-
- public function testProcessorFromClass()
- {
- $handler = $this->getHandler();
- $tester = new \Acme\Tester;
- $tester->test($handler, $this->getRecord());
- list($record) = $handler->getRecords();
- $this->assertEquals(__FILE__, $record['extra']['file']);
- $this->assertEquals(18, $record['extra']['line']);
- $this->assertEquals('Acme\Tester', $record['extra']['class']);
- $this->assertEquals('test', $record['extra']['function']);
- }
-
- public function testProcessorFromFunc()
- {
- $handler = $this->getHandler();
- \Acme\tester($handler, $this->getRecord());
- list($record) = $handler->getRecords();
- $this->assertEquals(__FILE__, $record['extra']['file']);
- $this->assertEquals(24, $record['extra']['line']);
- $this->assertEquals(null, $record['extra']['class']);
- $this->assertEquals('Acme\tester', $record['extra']['function']);
- }
-
- public function testLevelTooLow()
- {
- $input = array(
- 'level' => Logger::DEBUG,
- 'extra' => array(),
- );
-
- $expected = $input;
-
- $processor = new IntrospectionProcessor(Logger::CRITICAL);
- $actual = $processor($input);
-
- $this->assertEquals($expected, $actual);
- }
-
- public function testLevelEqual()
- {
- $input = array(
- 'level' => Logger::CRITICAL,
- 'extra' => array(),
- );
-
- $expected = $input;
- $expected['extra'] = array(
- 'file' => null,
- 'line' => null,
- 'class' => 'ReflectionMethod',
- 'function' => 'invokeArgs',
- );
-
- $processor = new IntrospectionProcessor(Logger::CRITICAL);
- $actual = $processor($input);
-
- $this->assertEquals($expected, $actual);
- }
-
- public function testLevelHigher()
- {
- $input = array(
- 'level' => Logger::EMERGENCY,
- 'extra' => array(),
- );
-
- $expected = $input;
- $expected['extra'] = array(
- 'file' => null,
- 'line' => null,
- 'class' => 'ReflectionMethod',
- 'function' => 'invokeArgs',
- );
-
- $processor = new IntrospectionProcessor(Logger::CRITICAL);
- $actual = $processor($input);
-
- $this->assertEquals($expected, $actual);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
deleted file mode 100644
index eb666144..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class MemoryPeakUsageProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\MemoryPeakUsageProcessor::__invoke
- * @covers Monolog\Processor\MemoryProcessor::formatBytes
- */
- public function testProcessor()
- {
- $processor = new MemoryPeakUsageProcessor();
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('memory_peak_usage', $record['extra']);
- $this->assertRegExp('#[0-9.]+ (M|K)?B$#', $record['extra']['memory_peak_usage']);
- }
-
- /**
- * @covers Monolog\Processor\MemoryPeakUsageProcessor::__invoke
- * @covers Monolog\Processor\MemoryProcessor::formatBytes
- */
- public function testProcessorWithoutFormatting()
- {
- $processor = new MemoryPeakUsageProcessor(true, false);
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('memory_peak_usage', $record['extra']);
- $this->assertInternalType('int', $record['extra']['memory_peak_usage']);
- $this->assertGreaterThan(0, $record['extra']['memory_peak_usage']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php
deleted file mode 100644
index 4692dbfc..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class MemoryUsageProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\MemoryUsageProcessor::__invoke
- * @covers Monolog\Processor\MemoryProcessor::formatBytes
- */
- public function testProcessor()
- {
- $processor = new MemoryUsageProcessor();
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('memory_usage', $record['extra']);
- $this->assertRegExp('#[0-9.]+ (M|K)?B$#', $record['extra']['memory_usage']);
- }
-
- /**
- * @covers Monolog\Processor\MemoryUsageProcessor::__invoke
- * @covers Monolog\Processor\MemoryProcessor::formatBytes
- */
- public function testProcessorWithoutFormatting()
- {
- $processor = new MemoryUsageProcessor(true, false);
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('memory_usage', $record['extra']);
- $this->assertInternalType('int', $record['extra']['memory_usage']);
- $this->assertGreaterThan(0, $record['extra']['memory_usage']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php
deleted file mode 100644
index 458d2a33..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class ProcessIdProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\ProcessIdProcessor::__invoke
- */
- public function testProcessor()
- {
- $processor = new ProcessIdProcessor();
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('process_id', $record['extra']);
- $this->assertInternalType('int', $record['extra']['process_id']);
- $this->assertGreaterThan(0, $record['extra']['process_id']);
- $this->assertEquals(getmypid(), $record['extra']['process_id']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
deleted file mode 100644
index 81bfbdc3..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-class PsrLogMessageProcessorTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * @dataProvider getPairs
- */
- public function testReplacement($val, $expected)
- {
- $proc = new PsrLogMessageProcessor;
-
- $message = $proc(array(
- 'message' => '{foo}',
- 'context' => array('foo' => $val)
- ));
- $this->assertEquals($expected, $message['message']);
- }
-
- public function getPairs()
- {
- return array(
- array('foo', 'foo'),
- array('3', '3'),
- array(3, '3'),
- array(null, ''),
- array(true, '1'),
- array(false, ''),
- array(new \stdClass, '[object stdClass]'),
- array(array(), '[array]'),
- );
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php
deleted file mode 100644
index 851a9dc2..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class TagProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\TagProcessor::__invoke
- */
- public function testProcessor()
- {
- $tags = array(1, 2, 3);
- $processor = new TagProcessor($tags);
- $record = $processor($this->getRecord());
-
- $this->assertEquals($tags, $record['extra']['tags']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php
deleted file mode 100644
index 7ced62ca..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class UidProcessorTest extends TestCase
-{
- /**
- * @covers Monolog\Processor\UidProcessor::__invoke
- */
- public function testProcessor()
- {
- $processor = new UidProcessor();
- $record = $processor($this->getRecord());
- $this->assertArrayHasKey('uid', $record['extra']);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php
deleted file mode 100644
index dba89412..00000000
--- a/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog\Processor;
-
-use Monolog\TestCase;
-
-class WebProcessorTest extends TestCase
-{
- public function testProcessor()
- {
- $server = array(
- 'REQUEST_URI' => 'A',
- 'REMOTE_ADDR' => 'B',
- 'REQUEST_METHOD' => 'C',
- 'HTTP_REFERER' => 'D',
- 'SERVER_NAME' => 'F',
- 'UNIQUE_ID' => 'G',
- );
-
- $processor = new WebProcessor($server);
- $record = $processor($this->getRecord());
- $this->assertEquals($server['REQUEST_URI'], $record['extra']['url']);
- $this->assertEquals($server['REMOTE_ADDR'], $record['extra']['ip']);
- $this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
- $this->assertEquals($server['HTTP_REFERER'], $record['extra']['referrer']);
- $this->assertEquals($server['SERVER_NAME'], $record['extra']['server']);
- $this->assertEquals($server['UNIQUE_ID'], $record['extra']['unique_id']);
- }
-
- public function testProcessorDoNothingIfNoRequestUri()
- {
- $server = array(
- 'REMOTE_ADDR' => 'B',
- 'REQUEST_METHOD' => 'C',
- );
- $processor = new WebProcessor($server);
- $record = $processor($this->getRecord());
- $this->assertEmpty($record['extra']);
- }
-
- public function testProcessorReturnNullIfNoHttpReferer()
- {
- $server = array(
- 'REQUEST_URI' => 'A',
- 'REMOTE_ADDR' => 'B',
- 'REQUEST_METHOD' => 'C',
- 'SERVER_NAME' => 'F',
- );
- $processor = new WebProcessor($server);
- $record = $processor($this->getRecord());
- $this->assertNull($record['extra']['referrer']);
- }
-
- public function testProcessorDoesNotAddUniqueIdIfNotPresent()
- {
- $server = array(
- 'REQUEST_URI' => 'A',
- 'REMOTE_ADDR' => 'B',
- 'REQUEST_METHOD' => 'C',
- 'SERVER_NAME' => 'F',
- );
- $processor = new WebProcessor($server);
- $record = $processor($this->getRecord());
- $this->assertFalse(isset($record['extra']['unique_id']));
- }
-
- public function testProcessorAddsOnlyRequestedExtraFields()
- {
- $server = array(
- 'REQUEST_URI' => 'A',
- 'REMOTE_ADDR' => 'B',
- 'REQUEST_METHOD' => 'C',
- 'SERVER_NAME' => 'F',
- );
-
- $processor = new WebProcessor($server, array('url', 'http_method'));
- $record = $processor($this->getRecord());
-
- $this->assertSame(array('url' => 'A', 'http_method' => 'C'), $record['extra']);
- }
-
- /**
- * @expectedException UnexpectedValueException
- */
- public function testInvalidData()
- {
- new WebProcessor(new \stdClass);
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php b/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php
deleted file mode 100644
index ab899449..00000000
--- a/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-use Monolog\Handler\TestHandler;
-use Monolog\Formatter\LineFormatter;
-use Monolog\Processor\PsrLogMessageProcessor;
-use Psr\Log\Test\LoggerInterfaceTest;
-
-class PsrLogCompatTest extends LoggerInterfaceTest
-{
- private $handler;
-
- public function getLogger()
- {
- $logger = new Logger('foo');
- $logger->pushHandler($handler = new TestHandler);
- $logger->pushProcessor(new PsrLogMessageProcessor);
- $handler->setFormatter(new LineFormatter('%level_name% %message%'));
-
- $this->handler = $handler;
-
- return $logger;
- }
-
- public function getLogs()
- {
- $convert = function ($record) {
- $lower = function ($match) {
- return strtolower($match[0]);
- };
-
- return preg_replace_callback('{^[A-Z]+}', $lower, $record['formatted']);
- };
-
- return array_map($convert, $this->handler->getRecords());
- }
-}
diff --git a/vendor/monolog/monolog/tests/Monolog/TestCase.php b/vendor/monolog/monolog/tests/Monolog/TestCase.php
deleted file mode 100644
index cae79340..00000000
--- a/vendor/monolog/monolog/tests/Monolog/TestCase.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Monolog;
-
-class TestCase extends \PHPUnit_Framework_TestCase
-{
- /**
- * @return array Record
- */
- protected function getRecord($level = Logger::WARNING, $message = 'test', $context = array())
- {
- return array(
- 'message' => $message,
- 'context' => $context,
- 'level' => $level,
- 'level_name' => Logger::getLevelName($level),
- 'channel' => 'test',
- 'datetime' => \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true))),
- 'extra' => array(),
- );
- }
-
- /**
- * @return array
- */
- protected function getMultipleRecords()
- {
- return array(
- $this->getRecord(Logger::DEBUG, 'debug message 1'),
- $this->getRecord(Logger::DEBUG, 'debug message 2'),
- $this->getRecord(Logger::INFO, 'information'),
- $this->getRecord(Logger::WARNING, 'warning'),
- $this->getRecord(Logger::ERROR, 'error')
- );
- }
-
- /**
- * @return Monolog\Formatter\FormatterInterface
- */
- protected function getIdentityFormatter()
- {
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $formatter->expects($this->any())
- ->method('format')
- ->will($this->returnCallback(function ($record) { return $record['message']; }));
-
- return $formatter;
- }
-}
diff --git a/vendor/monolog/monolog/tests/bootstrap.php b/vendor/monolog/monolog/tests/bootstrap.php
deleted file mode 100644
index b78740e2..00000000
--- a/vendor/monolog/monolog/tests/bootstrap.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-/*
- * This file is part of the Monolog package.
- *
- * (c) Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-$loader = require __DIR__ . "/../vendor/autoload.php";
-$loader->addPsr4('Monolog\\', __DIR__.'/Monolog');
-
-date_default_timezone_set('UTC');
diff --git a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
new file mode 100644
index 00000000..f087a3da
--- /dev/null
+++ b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * Basic Implementation of LoggerAwareInterface.
+ */
+trait LoggerAwareTrait
+{
+ /** @var LoggerInterface */
+ protected $logger;
+
+ /**
+ * Sets a logger.
+ *
+ * @param LoggerInterface $logger
+ */
+ public function setLogger(LoggerInterface $logger)
+ {
+ $this->logger = $logger;
+ }
+}
diff --git a/vendor/psr/log/Psr/Log/LoggerTrait.php b/vendor/psr/log/Psr/Log/LoggerTrait.php
new file mode 100644
index 00000000..59124960
--- /dev/null
+++ b/vendor/psr/log/Psr/Log/LoggerTrait.php
@@ -0,0 +1,131 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * This is a simple Logger trait that classes unable to extend AbstractLogger
+ * (because they extend another class, etc) can include.
+ *
+ * It simply delegates all log-level-specific methods to the `log` method to
+ * reduce boilerplate code that a simple Logger that does the same thing with
+ * messages regardless of the error level has to implement.
+ */
+trait LoggerTrait
+{
+ /**
+ * System is unusable.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function emergency($message, array $context = array())
+ {
+ $this->log(LogLevel::EMERGENCY, $message, $context);
+ }
+
+ /**
+ * Action must be taken immediately.
+ *
+ * Example: Entire website down, database unavailable, etc. This should
+ * trigger the SMS alerts and wake you up.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function alert($message, array $context = array())
+ {
+ $this->log(LogLevel::ALERT, $message, $context);
+ }
+
+ /**
+ * Critical conditions.
+ *
+ * Example: Application component unavailable, unexpected exception.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function critical($message, array $context = array())
+ {
+ $this->log(LogLevel::CRITICAL, $message, $context);
+ }
+
+ /**
+ * Runtime errors that do not require immediate action but should typically
+ * be logged and monitored.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function error($message, array $context = array())
+ {
+ $this->log(LogLevel::ERROR, $message, $context);
+ }
+
+ /**
+ * Exceptional occurrences that are not errors.
+ *
+ * Example: Use of deprecated APIs, poor use of an API, undesirable things
+ * that are not necessarily wrong.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function warning($message, array $context = array())
+ {
+ $this->log(LogLevel::WARNING, $message, $context);
+ }
+
+ /**
+ * Normal but significant events.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function notice($message, array $context = array())
+ {
+ $this->log(LogLevel::NOTICE, $message, $context);
+ }
+
+ /**
+ * Interesting events.
+ *
+ * Example: User logs in, SQL logs.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function info($message, array $context = array())
+ {
+ $this->log(LogLevel::INFO, $message, $context);
+ }
+
+ /**
+ * Detailed debug information.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ public function debug($message, array $context = array())
+ {
+ $this->log(LogLevel::DEBUG, $message, $context);
+ }
+
+ /**
+ * Logs with an arbitrary level.
+ *
+ * @param mixed $level
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ abstract public function log($level, $message, array $context = array());
+}
diff --git a/vendor/ruflin/elastica/LICENSE.txt b/vendor/ruflin/elastica/LICENSE.txt
deleted file mode 100644
index 21580de7..00000000
--- a/vendor/ruflin/elastica/LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Nicolas Ruflin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/vendor/ruflin/elastica/README.markdown b/vendor/ruflin/elastica/README.markdown
deleted file mode 100644
index a94e9ba3..00000000
--- a/vendor/ruflin/elastica/README.markdown
+++ /dev/null
@@ -1,29 +0,0 @@
-Elastica: elasticsearch PHP Client
-==================================
-
-[![Latest Stable Version](https://poser.pugx.org/ruflin/Elastica/v/stable.png)](https://packagist.org/packages/ruflin/elastica)
-[![Build Status](https://secure.travis-ci.org/ruflin/Elastica.png?branch=master)](http://travis-ci.org/ruflin/Elastica)
-[![Coverage Status](https://coveralls.io/repos/ruflin/Elastica/badge.png)](https://coveralls.io/r/ruflin/Elastica)
-[![Dependency Status](https://www.versioneye.com/php/ruflin:Elastica/master/badge.png)](https://www.versioneye.com/php/ruflin:elastica/)
-[![Total Downloads](https://poser.pugx.org/ruflin/Elastica/downloads.png)](https://packagist.org/packages/ruflin/elastica)
-
-All documentation for Elastica can be found under [Elastica.io](http://Elastica.io/). If you have questions, don't hesitate to ask them in the [Elastica google group](https://groups.google.com/group/elastica-php-client). All library issues should go to the [issue tracker from github](https://github.com/ruflin/Elastica/issues).
-
-Contributing
-------------
-Help is very welcomed, but code contributions must be done in respect of [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). More details on how to contribute and guidelines for [pull requests](http://elastica.io/contribute/pull-request.html) can be found [here](http://elastica.io/contribute/).
-
-See [Coding guidelines](http://elastica.io/contribute/coding-guidelines.html) for tips on how to do so. All changes which are made to the project are added to the [changes.txt](https://github.com/ruflin/Elastica/blob/master/changes.txt).
-
-
-Dependencies
-------------
-| Project | Version | Required |
-|---------|---------|----------|
-|[Elasticsearch](https://github.com/elasticsearch/elasticsearch/tree/v1.1.1)|1.1.1|yes|
-|[Elasticsearch mapper attachments plugin](https://github.com/elasticsearch/elasticsearch-mapper-attachments/tree/v2.0.0.RC1)|2.0.0.RC1|no|
-|[Elasticsearch thrift transport plugin](https://github.com/elasticsearch/elasticsearch-transport-thrift/tree/v2.0.0)|2.0.0|no|
-|[Elasticsearch geocluster facet plugin](https://github.com/zenobase/geocluster-facet/tree/0.0.10)|0.0.10|no|
-
-
-
diff --git a/vendor/ruflin/elastica/Vagrantfile b/vendor/ruflin/elastica/Vagrantfile
deleted file mode 100644
index e8cd5533..00000000
--- a/vendor/ruflin/elastica/Vagrantfile
+++ /dev/null
@@ -1,14 +0,0 @@
-# Elastica debian image
-#
-# All passwords and username (db, ...) are root / root
-#
-# The image has 2GB of memory and a size of 10GB
-
-Vagrant::Config.run do |config|
-
- config.vm.box = "debian-6.0.3-64-elastica-20120115"
- config.vm.box_url = "http://files.ruflin.com/vagrant/debian-6.0.3-64-elastica-20120528.box"
- config.vm.network :hostonly, "10.10.10.10"
-
- config.vm.share_folder "project", "/project", "."
-end
diff --git a/vendor/ruflin/elastica/build.xml b/vendor/ruflin/elastica/build.xml
deleted file mode 100644
index f24fbec7..00000000
--- a/vendor/ruflin/elastica/build.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Elastica" default="build" basedir=".">
-
- <property name="source" value="${basedir}/lib"/>
-
- <target name="parallelTasks">
- <parallel threadCount="2">
- <sequential>
- <antcall target="pdepend"/>
- <antcall target="phpmd-ci"/>
- <antcall target="phpcb"/>
- </sequential>
- <antcall target="phpcpd"/>
- <antcall target="phpcs-ci"/>
- <antcall target="phpdoc-ci"/>
- </parallel>
- </target>
-
- <target name="clean" description="Cleanup build artifacts">
- <delete dir="${basedir}/build/api"/>
- <delete dir="${basedir}/build/code-browser"/>
- <delete dir="${basedir}/build/coverage"/>
- <delete dir="${basedir}/build/logs"/>
- <delete dir="${basedir}/build/pdepend"/>
- <delete dir="${basedir}/build/docs"/>
- <delete file="${basedir}/cache.properties"/>
- </target>
-
- <target name="prepare" depends="clean" description="Prepare for build">
- <mkdir dir="${basedir}/build/api"/>
- <mkdir dir="${basedir}/build/code-browser"/>
- <mkdir dir="${basedir}/build/coverage"/>
- <mkdir dir="${basedir}/build/logs"/>
- <mkdir dir="${basedir}/build/docs"/>
- <mkdir dir="${basedir}/build/pdepend"/>
- </target>
-
- <target name="install" description="installs and starts elasticsearch">
- <exec executable="bash">
- <arg value="-c" />
- <arg value="curl -sS https://getcomposer.org/installer | php" />
- </exec>
- <exec executable="php">
- <arg value="composer.phar" />
- <arg value="self-update" />
- </exec>
- <exec executable="php">
- <arg value="composer.phar" />
- <arg value="--dev" />
- <arg value="install" />
- </exec>
- <exec executable="bash">
- <env key="ES_VER" value="0.90.0"/>
- <env key="ES_MAPPER_ATTACHMENTS_VER" value="1.6.0"/>
- <env key="ES_TRANSPORT_THRIFT_VER" value="1.4.0"/>
- <arg value="test/bin/run_elasticsearch.sh"/>
- </exec>
- </target>
-
- <target name="composer" depends="prepare" description="Install dependencies">
- <exec executable="composer">
- <arg value="--dev"></arg>
- <arg value="install"></arg>
- </exec>
- </target>
-
- <target name="lint">
- <apply executable="php" failonerror="true">
- <arg value="-lf"/>
-
- <fileset dir="${source}">
- <include name="**/*.php"/>
- <modified/>
- </fileset>
-
- <fileset dir="${basedir}/test">
- <include name="**/*.php"/>
- <modified/>
- </fileset>
- </apply>
- </target>
-
- <target name="phpunit" depends="composer">
- <exec executable="phpunit" dir="${basedir}/test" failonerror="off" />
- </target>
-
- <!-- Generate jdepend.xml and software metrics charts -->
- <target name="pdepend">
- <exec executable="pdepend">
- <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
- <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
- <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
- <arg path="${source}" />
- </exec>
- </target>
-
- <target name="phpmd-ci">
- <exec executable="phpmd">
- <arg path="${source}" />
- <arg value="xml" />
- <arg value="codesize,unusedcode,naming,design" />
- <arg value="--reportfile" />
- <arg value="${basedir}/build/logs/pmd.xml" />
- </exec>
- </target>
-
- <!-- Generate pmd-cpd.xml -->
- <target name="phpcpd">
- <exec executable="phpcpd">
- <arg line="--log-pmd ${basedir}/build/logs/pmd-cpd.xml ${source}" />
- </exec>
- </target>
-
- <!-- Generate checkstyle.xml -->
- <target name="phpcs-ci">
- <exec executable="phpcs" output="/dev/null">
- <arg line="--report=checkstyle --report-file=${basedir}/build/logs/checkstyle.xml --standard=PSR2 ${source}" />
- </exec>
- </target>
-
- <target name="phploc" description="Generate phploc.csv">
- <exec executable="phploc">
- <arg value="--log-csv" />
- <arg value="${basedir}/build/logs/phploc.csv" />
- <arg path="${source}" />
- </exec>
- </target>
-
- <!-- Generate API documentation -->
- <target name="phpdoc">
- <exec executable="phpdoc">
- <arg line="run" />
- <arg line="-d lib/" />
- <arg line="-t build/docs" />
- </exec>
- </target>
-
- <target name="phpdoc-ci">
- <exec executable="phpdoc">
- <arg line="run" />
- <arg line="-d lib/" />
- <arg line="-t build/docs" />
- <arg line="-q" />
- </exec>
- </target>
-
- <target name="phpcb">
- <exec executable="phpcb">
- <arg line="--log ${basedir}/build/logs
- --source ${source}
- --output ${basedir}/build/code-browser" />
- </exec>
- </target>
-
- <target name="build" depends="prepare,composer,lint,parallelTasks,phpunit"/>
-
- <!-- Checkstyle with human output -->
- <target name="phpcs">
- <exec executable="phpcs">
- <arg line="--standard=PSR2 ${source}" />
- </exec>
- </target>
-
- <target name="phpmd" description="Perform phpmd with human readable output">
- <exec executable="phpmd">
- <arg path="${source}"/>
- <arg value="text"/>
- <arg value="codesize,unusedcode,naming,design" />
- <arg value="${basedir}/build/phpmd.xml"/>
- </exec>
- </target>
-
- <!-- Setups test environment -->
- <target name="setup" description="setups php libs for">
- <exec executable="pear">
- <arg line="channel-discover pear.pdepend.org" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover pear.phpmd.org" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover pear.phpunit.de" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover components.ez.no" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover pear.symfony-project.com" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover pear.michelf.com" />
- </exec>
- <exec executable="pear">
- <arg line="channel-discover pear.phpdoc.org" />
- </exec>
-
- <exec executable="pear">
- <arg line="install pdepend/PHP_Depend" />
- </exec>
- <exec executable="pear">
- <arg line="install phpmd/PHP_PMD" />
- </exec>
- <exec executable="pear">
- <arg line="install phpunit/phpcpd" />
- </exec>
- <exec executable="pear">
- <arg line="install phpunit/phploc" />
- </exec>
- <exec executable="pear">
- <arg line="install phpdoc/phpDocumentor-alpha" />
- </exec>
- <exec executable="pear">
- <arg line="install PHP_CodeSniffer" />
- </exec>
- <exec executable="pear">
- <arg line="install --alldeps phpunit/PHP_CodeBrowser" />
- </exec>
- <exec executable="pear">
- <arg line="install --alldeps phpunit/PHPUnit" />
- </exec>
- </target>
-
- <target name="gource" description="Visualize repos with gource">
- <exec executable="gource">
- <arg line="--log-format git" />
- <arg line="--seconds-per-day 0.1" />
- <arg line="--title 'Elastica (https://github.com/ruflin/Elastica)'" />
- <arg line="--user-scale 1" />
- <arg line="--max-user-speed 50" />
- </exec>
- </target>
-</project>
diff --git a/vendor/ruflin/elastica/changes.txt b/vendor/ruflin/elastica/changes.txt
deleted file mode 100644
index 525a6336..00000000
--- a/vendor/ruflin/elastica/changes.txt
+++ /dev/null
@@ -1,797 +0,0 @@
-CHANGES
-
-2014-07-26
-- Release v1.3.0.0
-- Prepare Elastica Release v1.3.0.0
-
-2014-07-25
-- Update to elasticsearch version 1.3.0 http://www.elasticsearch.org/downloads/1-3-0/
-
-2014-07-14
- - Add setQuery() method to Elastica\Query\ConstantScore #653
-
-2014-07-12
- - Be able to configure ES host/port via ENV var in test env #652
-
-2014-07-07
- - Fix FunstionScore Query random_score without seed bug. #647
-
-2014-07-02
-- Add setPostFilter method to Elastica\Query (http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_filtering_queries_and_aggregations.html#_post_filter) #645
-
-2014-06-30
-- Add Reverse Nested aggregation (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-reverse-nested-aggregation.html). #642
-
-2014-06-14
-- Release v1.2.1.0
-- Removed the requirement to set arguments filter and/or query in Filtered, according to the documentation: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html #616
-
-2014-06-13
-- Stop ClientTest->testDeleteIdsIdxStringTypeString from failing 1/3 of the time #634
-- Stop ScanAndScrollTest->testQuerySizeOverride from failing frequently for no reason #635
-- rework Document and Script so they can share some infrastructure allowing scripts to specify things like _retry_on_conflict and _routing #629
-
-2014-06-11
-- Allow bulk API deletes to be routed #631
-
-2014-06-10
-- Update travis to elasticsearch 1.2.1, disable Thrift plugin as not compatible and fix incompatible tests
-
-2014-06-04
-- Implement Boosting Query (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html) #625
-
-2014-06-02
-- add retry_on_conflict support to bulk #623
-
-2014-06-01
-- toString updated to consider doc_as_upsert if sent an array source #622
-
-2014-05-27
-- Fix Aggragations/Filter to work with es v1.2.0 #619
-
-2014-05-25
-- Added Guzzle transport as an alternative to the default Http transport #618
-- Added Elastica\ScanAndScroll Iterator (http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html) #617
-
-2014-05-13
-- Add JSON compat library; Elasticsearch JSON flags and nicer error handling #614
-
-2014-05-12
-- Update dev builds to phpunit 4.1.*
-
-2014-05-11
-- Set processIsolation and backupGlobals to false to speed up tests. processIsolation was very slow with phpunit 4.0.19.
-
-2014-05-05
-- Fix get settings on alaised index #608
-- Added named function for source filtering #605
-- Scroll type constant to Elastica\Search added #607
-
-2014-04-28
-- Added setAnalyzer method to Query\FuzzyLikeThis Class and fixed issue with params not being merged #611
-- Typo fixes #600, #602
-- Remove unreachable return statement #598
-
-2014-04-27
-- Release v1.1.1.1
-- Fix missing use in TermsStats->setOrder() #597
-- Replace all instances of ElasticSearch with Elasticsearch #597
-
-2014-04-24
-- Fixing the Bool filter with Bool filter children bug #594
-
-2014-04-22
-- Remove useless echo in the Memcache Transport object #595
-
-2014-04-21
-- escape \ by \\ #592
-
-2014-04-20
-- Handling of HasChild type parsing bug #585
-- Consolidate Index getMapping tests #591
-- Fix Type::getMapping when using an aliased index #588
-
-2014-04-19
-- Release v1.1.1.0
-- Update to elasticsearch 1.1.1 http://www.elasticsearch.org/downloads/1-1-1/
-- Remove CustomFiltersScore and CustomScore query as removed in elasticsearch 1.1.0 https://github.com/elasticsearch/elasticsearch/pull/5076/files
-- Update Node Info to use plugins instead of plugin (https://github.com/elasticsearch/elasticsearch/pull/5072)
-- Fix mapping issue for aliases #588
-
-2014-04-17
-- Only trap real JSON parse errors in Response class #586
-
-2014-04-09
-- Added Cardinality aggregation #581
-
-2014-04-7
-- Support for Terms filter lookup options #579
-
-2014-03-29
-- Update to elasticsearch 1.1.0 http://www.elasticsearch.org/downloads/1-1-0/
-
-2014-03-26
-- Fixed Query\Match Fuzziness parameter type #576
-
-2014-03-24
-- Release v1.0.1.2
-- Added Filter\Indices #574
-
-2014-03-25
-- Allow json string as data srouce for Bulk\Action on update #575
-
-2014-03-20
-- Allow for request params in delete by query calls #573
-
-2014-03-17
-- Added filters: AbstractGeoShape, GeoShapePreIndexed, GeoShapeProvided #568
-
-2014-03-15
-- Percolate existing documents and add percolate options (#570)
-
-2014-03-14
-- Added Query\Rescore #441
-
-2014-03-13
-- Added missing query options for MultiMatch (operator, minimum_should_match, zero_terms_query, cutoff_frequency, type, fuzziness, prefix_length, max_expansions, analyzer) #569
-- Added missing query options for Match (zero_terms_query, cutoff_frequency) #569
-
-2014-03-11
-- Fixed request body reuse in http transport #567
-
-2014-03-08
-- Release v1.0.1.1
-- Enable goecluster-facet again as now compatible with elasticsearch 1.0 on travis
-- Run elasticsearch in the background to not have log output in travis build
-- Set memache php version as environment variable
-- Update to memcache 3.0.8 for travis
-
-2014-03-07
-- Add snapshot / restore functionality (Elastica\Snapshot) #566
-
-2014-03-04
-- Add PHP 5.6 to travis test environment
-- Improve performance of Elastica/Status->getIndicesWithAlias and aliasExists on clusters with many indices #563
-
-2014-03-02
-- Release v1.0.1.0
-- Fixed Type->deleteByQuery() not working with Query objects #554
-
-2014-02-27
-- Update to elasticsearch 1.0.1. Update Thrift and Geocluster plugin.
-
-2014-02-25
-- Add JSON_UNESCAPED_UNICODE and JSON_UNESCAPED_SLASHES options in Elastica/Transport/Http, Elastica/Bulk/Action #559
-
-2014-02-20
-- Fixed unregister percolator (still used _percolator instead of .percolator). removed duplicate slash from register percolator route. #558
-
-2014-02-17
-- Throw PartialShardFailureException if response has failed shards
-- Elastica/Aggregations/GlobalAggragation not allowed as sub aggragation #555
-
-2014-02-14
-- Add methods setSize, setShardSize to Elastica/Aggregation/Terms
-- Elastica/Aggregation/GlobalAggregationTest fixed bug where JSON returned [] instead of {}
-- Elastica/ResultSet added method hasAggregations
-
-2014-02-13
-- Moved from Apache License to MIT license
-
-2014-02-12
-- Release v1.0.0.0
-- Updated to elasticsearch 1.0: http://www.elasticsearch.org/blog/1-0-0-released/
-
-2014-02-11
-- Add aggregations
-
-2014-02-08
-- Setting shard timeout doesn't work #547
-
-2014-02-04
-- Remove Elastica\Query\Field and Elastica\Query\Text, which are not supported in ES 1.0.0.RC1
-- Minor tweaking of request and result handling classes to adjust for changes in ES 1.0.0.RC1
-- Update mapper-attachments plugin to version 2.0.0.RC1 in .travis.yml
-- Adjust tests to account for changes in ES 1.0.0.RC1
-- Prevent the geocluster-facet plugin from being installed in test/bin/run_elasticsearch.sh as the plugin has not yet been updated for ES 1.0.0.RC1
-
-2014-01-06
-- Update to elasticsearch v1.0.0.RC2
-
-2014-01-02
-- Added Elastica\Query\DisMax
-- Update to elasticsearch v1.0.0.RC1
-
-2014-01-02
-- Release v0.90.10
-
-2014-01-31
-- Fix _bulk delete proxy methods if type or index not explicitly defined.
-
-2014-01-28
-- Add _bulk delete proxy methods to Index and Type for consistency.
-- Use the HTTP response code of GET requests (getDocument), instead of extists/found json property.
-
-2014-01-22
-- Add getParam & getProperties methods to Elastica\Type\Mapping
-
-2014-01-21
-- Code coverage generation for coveralls.io added: https://coveralls.io/r/ruflin/Elastica
-- Add support for shard timeout to the Bulk api.
-
-2014-01-17
-- Fix typo in constant name: Elastica\Query\FunctionScore::DECAY_GUASS becomes DECAY_GAUSS
-
-2014-01-13
-- Add support for _bulk update
-
-2014-01-14
-- added \Elastica\Exception\ResponseException::getElasticsearchException()
-- Changed logger default log level to debug from info
-
-2014-01-13
-- Update to elasticsearch 0.90.10
-- Add Elastica\Facet\TermsStats::setOrder()
-
-2014-01-08
-- Adding analyze function to Index to expose the _analyze API
-
-2014-01-07
-- Document::setDocAsUpsert() now returns the Document
-
-2013-12-18
-- Update to Elasticsearch 0.90.8
-- Add support for simple_query_string query
-
-2013-12-15
-- Add support for filter inside HasChild filter
-- Add support for filter inside HasParent filter
-
-2013-12-12
-- Always send scroll_id via HTTP body instead of as a query param
-- Fix the manner in which suggestion results are returned in \Elastica\ResultSet and adjust associated tests to account for the fix.
-- Add \Elastica\Resultset::hasSuggests()
-
-2013-12-11
-- Pass arguments to optimize as query
-- Add refreshAll on Client
-
-2013-12-07
-- Added Result::hasFields() and Result::hasParam() methods for consistency with Document
-
-2013-12-07
-- Escape slash in Util::escapeTerm, as it is used for regexp from Elastic 0.90
-
-2013-12-05
-- Add *.iml to .gitignore
-- Refactor suggest implementation (\Elastica\Suggest, \Elastica\Suggest\AbstractSuggest, and \Elastica\Suggest\Term) to more closely resemble query implementation. (BC break)
-- \Elastica\Search::addSuggest() has been renamed to \Elastica\Search::setSuggest()
-- \Elastica\Query::addSuggest() has been renamed to \Elastica\Query::setSuggest()
-- Add \Elastica\Suggest\Phrase, \Elastica\Suggest\CandidateGenerator\AbstractCandidateGenerator, and \Elastica\Suggest\CandidateGenerator\DirectGenerator
- (see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-phrase.html)
-
-2013-12-04
-- Remove boost from FunctionScore::addFunction because this is not supported by elasticsearch
-
-2013-12-02
-- Issue #491 resolved
-
-2013-12-01
-- Issue #501 resolved
-- satooshi/php-coveralls package added for coverall.io
-- Multiple badges for downloads and latest stable release added
-
-2013-11-30
-- Remove facets param from query if is empty array
-- Add size param to API for TermsStats
-
-2013-11-23
-- Release v0.90.7.0
-
-2013-11-19
-- Updated geocluster-facet to 0.0.9
-
-2013-11-18
-- Added \Elastica\Filter\Regexp
-
-2013-11-16
-- Remove wrong documentation for "no limit" #496
-- Update to elasticsearch 0.90.7
-
-2013-11-03
-- Issue #490: Set Elastica\Query\FunctionScore::DECAY_EXPONENTIAL to "exp" instead of "exponential"
-
-2013-10-29
-- Elastica_Type::exists() added
- See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-types-exists.html#indices-types-exists
-
-2013-10-27
-- Adapted possible values (not only in) for minimum_should_match param based on elasticsearch documetnation http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html
-
-2013-10-27
-- Release v0.90.5.0
-
-2013-10-26
-- Update to elasticsearch 0.90.5
-
-2013-10-21
-- Fix \Elastica\Filter\HasParent usage of \Elastica\Query as to not collide with \Elastica\Filter\Query, bring \Elasitca\Filter\HasChild into line
-
-2013-10-01
-- Also pass the current client object to the failure callback in \Elastica\Client.
-
-2013-09-20
-- Update to geocluster-facet 0.0.8
-- Add support for term suggest API
- See http://www.elasticsearch.org/guide/reference/api/search/term-suggest/
-
-2013-09-18
-- Fix \Elastica\Filter\HasChild usage of \Elastica\Query as to not collide with \Elastica\Filter\Query namespace
-
-2013-09-17
-- Update to elasticsearch 0.90.4
-- Add support for function_score query
-- Skip geocluster-facet test if the plugin is not installed
-- Correct \Elastica\Test\ClientTest to catch the proper exception type on connection failure
-- Fix unit test errors
-
-2013-09-14
-- Nested filter supports now the setFilter method
-
-2013-09-03
-- Support isset() calls on Result objects
-
-2013-08-27
-- Add \ArrayAccess on the ResultSet object
-
-2013-08-25
-- Update to elasticsearch 0.90.3
-
-2013-08-25
-- Release v0.90.2.0
-
-2013-08-20
-- Support for "proxy" param for http connections
-
-2013-08-17
-- Add support for fields parameter in Elastica_Type::getDocument()
-
-2013-08-13
-- Add a getQuery method on the FilteredQuery object
-
-2013-08-01
-- Second param to \Elastica\Search.php:count($query = '', $fullResult = false) added. If second param is set to true, full ResultSet is returned including facets.
-
-2013-07-16
-- Plugin geocluster-facet support added
-
-2013-07-02
-- Add Query\Common
-- Can now create a query by passing an array to Type::search()
-
-2013-07-01
-- Add Filter\GeohashCell
-
-2013-06-30
-- Revamped upsert so that Scripts are now first class citizens. (BC break)
- See http://elastica.io/migration/0.90.2/upsert.html
-- Implemented doc_as_upsert.
-
-2013-06-29
-- Update to elasticsearch 0.90.2
-- Enabled ES_WAIT_ON_MAPPING_CHANGE for travis builds
-
-2013-06-25
-- Added upsert support when updating a document with a partial document or a script.
-
-2013-06-23
-- Add filtered queries to the percolator API.
-
-2013-06-21
-- Correct class name for TermTest unit test
-- Implement terms lookup feature for terms filter
-
-2013-06-14
-- Fix support for making scroll queries once the scroll has been started.
-
-2013-06-07
-- Release 0.90.1.0
-
-2013-06-05
-- Changed package name to lowercase to prevent potential issues with case sensitive file systems and to refelect the package name from packagist.org.
- If you are requiring elastica in your project you might want to change the name in the require to lowercase, although it will still work if written in uppercase.
- The composer autoloader will handle the package correctly and you will not notice any difference.
- If you are requiring or including a file by hand with require() or include() from the composer vendor folder, pay attention that the package name in
- the path will change to lowercase.
-- Add Bulk\Action\UpdateDocument.
-- Update Bulk\Action\AbstractDocument and Bulk\Action to enable use of OP_TYPE_UPDATE.
-- Update .travis.yml to use Elasticsearch version 0.9.1, as bulk update is a new feature in 0.9.1.
-
-2013-06-04
-- Elastica\Client::_configureParams() changed to _prepareConnectionParams(), which now takes the config array as an argument
-
-2013-06-03
-- Add getPlugins and hasPlugin methods to Node\Info
-
-2013-05-30
-- Update Index\Status::getAliases() to use new API
-- Update Index\Status::getSettings() to use new API
-
-2013-05-29
-- Add _meta to mapping. #330
-
-2013-05-27
-- Added parameters to implement scroll
-
-2013-05-23
-- add support PSR-3(https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
-- Elastica\Log implement LoggerInterface(extends Psr\Log\AbstractLogger)
- if you want use logging need install https://github.com/php-fig/log for example (composer require psr/log:dev-master)
- if use Elastica\Log inside Elastica\Client nothing more is needed
- if use Elastica\Log outside we need use as(https://github.com/php-fig/log) for example Elastica\Log::info($message) or Elastica\Log::log(LogLevel::INFO,$message)
-- Elastica\Client add setLogger for setting custom Logger for example Monolog(https://github.com/Seldaek/monolog)
-
-2013-05-18
-- Elastica\Index::exists fixed for 0.90.0. HEAD request method introduced
-- Elastica\Filter\AbstractMulti::getFilters() added
-- Implement Elastica\Type\Mapping::enableAllField
-- Refresh for Elastica\Index::flush implemented #316
-- Added optional parameter to filter result while percolate #384
-
-2013-05-07
-- Added EXPERIMENTAL DocumentObjectInterface to be used with Type::addObject()/addObjects()
-
-2013-04-23
-- Removed Elastica\Exception\AbstractException
-- All Exceptions now implement Elastica\Exception\ExceptionInterface
-
-2013-04-17
-- Query\Fuzzy to comply with DSL spec. Multi-field queries now throw an exception. Implemented: Query\Fuzzy::setField, Query\Fuzzy::setFieldOption.
-- Query\Fuzzy::addField has been deprecated.
-
-2013-04-12
-- Adding max score information in ResultSet
-- Adding test for the ResultSet class
-
-2013-03-20
-- Removal of unsupported minimum_number_should_match for Boolean Filter
-
-2013-02-25
-- Added Elastica\Bulk class responsible for performing bulk requests. New bulk requests implemented: Client::deleteDocuments(), Bulk::sendUdp()
-
-2013-02-20
-- Release candidate 0.20.5.0.RC1
-
-2013-02-14
-- Added factory for transports that is used by the Connection class
-- The transport instances now has support for parameters that can be injected by specifying an array as a transport when creating the Elastica client
-
-2013-02-08
-- Terms->setScript() Added, namespace Elastica\Facet
-
-2013-01-31
-- Removed deprecated method Type::getType()
-- Removed deprecated old constructor call in Filter\GeoDistance::__construct()
-- Removed deprecated method Filter\Script::setQuery()
-- Removed deprecated methods Query\QueryString::setTieBraker() and Query\QueryString::setQueryString()
-- Removed deprecated methods Query\Builder::minimumShouldMatch() and Query\Builder::tieBreaker()
-
-2013-01-25
-- Add get/set/has/remove methods to Document
-- Add magic methods __get/__set/__isset/__unset to Document
-- Document::add method became deprecated, use set instead
-- Populate document id created by elasticsearch on addDocument()/addDocuments() call if no document id was set
-- Populate updated fields in document on Client::updateDocument() call if fields options is set
-
-2013-01-24
-- Added serialization support. Objects can be added to elastica directly when a serializer callable is configured on \Elastica\Type
-
-2013-01-21
-- Added Thrift transport. Ir requires installing munkie/elasticsearch-thrift-php package and elasticsearch-tranport-thrift plugin should be installed in elastcisearch
-
-2013-01-13
-- Add version option to Elastica_Search::search
-- Remove compatibility for PHP 5.2
-- Changed all syntax using namespaces, in compliance with PSR-2.
-- Usage of composer for lib and test autoloading
-- Added PHPUnit as a dev dependency in composer.json
-- All tests were rewritten for new syntax.
-- All tests where moved in Elastica\Test namespace
-- All tests now inherit from Elastica\Test\Base
-- Removed all executable flags on files where not needed.
-- Update to elasticsearch 0.20.2
-- Refactored Elastica_Script and added it support in Elastica_Query_CustomFiltersScore, Elastica_Query_CustomScore and Elastica_Filter_Script
-- Refactored Elastica_Client::updateDocument() method to support partial document update. $data can be Elastic_Script, Elastic_Document or array.
-- Elastica_Type::updateDocument() now takes Elastica_Document instead of Elastica_Script (BC break). Script can be set to document to perform script update.
-
-2012-12-23
-- Elastica_Client config param "servers" to "connections" renamed. "headers" and "curl" are now a config param inside "connections"
-- Elastica_Connection added to allow connection management (enabled / disable)
-- Refactoring of Elastica_Request. Takes Elastica_Connection in constructor instead of Elastica_Client
-- Elastica_Transport refactored
-- Elastica_Log refactored
-- Renamed Elastica_Exception_Client to Elastica_Exception_Connection
-- Use Elastica_Connection for the following constants: DEFAULT_PORT, DEFAULT_HOST, DEFAULT_TRANSPORT, TIMEOUT
-
-2012-11-28
-- Added Elastica_Filter_GeoDistanceRange filter
-
-2012-11-23
-- Simplified Elastica_Document data handling by extending Elastica_Param
-
-2012-11-10
-- Added Elastica_Cluster_Health, Elastica_Cluster_Health_Index and Elastica_Cluster_Health_Shard which wrap the _cluster/health endpoint.
-- Added Elastica_Document::setId()
-- Added options parameter to Elastica_Type::getDocument()
-- Added Elastica_Query_Filtered::getFilter()
-
-2012-10-30
-- Elastica_Search implement Elastica_Searchable interface
-
-2012-10-28
-- Add Elastica_Filter_HasParent and Elastic_Query_HasParent
-
-2012-08-11
-- Release v0.19.8.0
-- Elastica_Query_Prefix added
-
-2012-07-26
-- Change Elastica_Filter_GeoDistance::__construct(), accepts geohash parameter (BC break, before: ($key, $latitude, $longitude, $distance), after: ($key, $location, $distance) where $location is array('lat' => $latitude, 'lon' => $longitude) or a geohash)
-
-2012-07-17
-- Changed naming for several methods to camelCase
-- Enforced PSR1 code style, as per https://github.com/pmjones/fig-standards/blob/psr-1-style-guide/proposed/PSR-1-basic.md
-- Added Elastica_Script::toArray
-- Added Elastica_ScriptFields
-- Elastica_Query::setScriptFields now takes Elastica_ScriptFields or associative array as argument, the old implementation was bogus.
-
-2012-06-24
-- Simplify Elastica_Type::search and Elastica_Index::search by using Elastica_Search
-- Implement Elastica_Filter_Abstract::setCache and Elastica_Filter_Abstract::setCacheKey
-- Add Elastica_Param::hasParam
-- Remove unsupported use of minimum number should match for Boolean Filter
-- Remove old style path creation through params in Elastica_Index::create and Elastica_Search::search
-
-2012-06-22
-- Add Elastica_Filter_Limit
-- Add getters+setters for Index Setting blocks 'read', 'write' and 'metadata'
-- Add Elastica_Filter_MatchAll
-
-2012-06-20
-- Facet scope added
-
-2012-06-09
-- Change $_parent to null to also support 0 for an id
-- Fix Elasitca_Document->toArray()
-
-2012-05-01
-- Release v0.19.3.0
-- MoreLikeThis Query in Elastica_Document
-- Add query param for request (allows GET params)
-
-2012-03-04
-- Node info call update. The receive os info and more, param is needed. By default, only basics are returned
-- Release v0.19.0.0 which is compatible with ES 0.19.0 http://www.elasticsearch.org/blog/2012/03/01/0.19.0-released.html
-
-2012-02-21
-- Allow percolate queries in bulk requests
-- Fix memory leak in curl requests
-
-2012-01-23
-- Packagist added http://packagist.org/
-
-2012-01-15
-- Vagrantfile for vagrant environment with elasticsearch added. Run: vagrant up
-
-2012-01-08
-- Allow to set curl params over client config #106 #107
-- Add the possiblity to add path or url in config for a request #120
-
-2012-01-04
-- Elastica_Index::exists() and Elastica_Cluster::getIndexNames() added
-
-2012-01-01
-- Elastica_Cluster_Settings added
-- Read only feature for cluster and index added. This feature is elasticsearch >0.19.0 only. ES 0.19.0 release is not out yet
-
-2011-12-29
-- Elastica_Type::deleteByQuery implemented
-
-2011-12-20
-- Release v0.18.6.0
-
-2011-12-19
-- Percolator for Type and Documents added
-
-2011-12-06
-- Elastica_Percolator added. See tests for more details
-
-2011-12-02
-- Rename Elastica_Type::getType() to Elastica_Type::getName(), getType() is now deprecated
-
-2011-12-01
-- Elastica_Filter_Term::addTerm renamed to setTerm, Elastica_Filter_Term::setTerm renamed to setRawTerm
-- Elastica_Query_Term::addTerm renamed to setTerm, Elastica_Query_Term::setTerm renamed to setRawTerm
-
-2011-11-30
-- Release v0.18.5.0
-
-2011-11-28
-- Elastica_Filter_Nested added
-
-2011-11-26
-- Elastica_Search::addIndices(), Elastica_Search::addTypes() added
-
-2011-11-20
-- Release v0.18.4.1
-- Elastica_Log added for logging. Has to be passed as client config to enable
-- Elastica blogging introduced: http://ruflin.com/en/elastica
-
-2011-11-17
-- Release v0.18.4.0
-- Support for Travis CI added: http://travis-ci.org/ruflin/Elastica
-
-2011-11-07
-- Elastica_Index_Stats added
-
-2011-11-05
-- Elastica_Query_Nested added
-
-2011-10-29
-- TTL for document and mapping added
-
-2011-10-28
-- Refactored Elastica_Query_CustomScore::addCSParam to ::addParams
-- Rename Elastica_Query_CustomScore::addParam to ::addCSParam
-- Release v0.18.1.0
-
-2011-10-20
-- Release v0.17.9.0
-- Elastica_Filter_Type added
-
-2011-10-19
-- Elastica_Query_CustomFilterScore added
-
-2011-10-15
-- API Documentation changed to DocBlox
-
-2011-10-10
-- Bug fixing
-- Release v0.17.8.0 added
-
-2011-09-19
-- Release v0.17.7.0 added
-- Release v0.17.6.1 added
-
-2011-09-18
-- Elastica_Exception_ExpectedFieldNotFound renamed to Elastica_Exception_NotFound
-
-2011-08-25
-- Https transport layer added
-
-2011-08-22
-- Typo in Terms query fixed (issue #74)
-
-2011-08-15
-- Refactoring HTTP connection to keep alive connection -> speed improvement during using the same client
-- Release v0.17.6.0 added
-
-2011-08-09
-- Automatic creation of id for documents added. This was more a bug
-- Release v0.17.4.0 added
-
-2011-08-08
-- Elastica_Query_Text added
-- Params (constructor) of Elastica_Filter_GeoBoundingBox changed (array instead of single params)
-
-2011-08-07
-- Elastica_Query_MoreLikeThis added by @juneym. Still work under progress
-- Refactoring Queries and Filters to use Elastica_Param. Adding tests
-
-2011-08-05
-- Elastica_Filter_Abstract enhanced for more general usage (set/get/addParam(s)) added
-
-2011-08-04
-- Release v0.17.3.0 added
-- Elastica_Index_Settings::set/get response updated. get('...') does not require 'index.' in front anymore
-- Nodes and Cluster shutdown added
-- Elastica_Node::getIp() and getPort() added
-
-2011-07-30
-- Readd merge_factor to settings. Now working as expected. Index has to be closed first.
-
-2011-07-29
-- Release tag v0.17.2.0 added. Elastica is compatible with elasticsearch 0.17.2
-
-2011-07-22
-- Elastica_Index_Settings::getMergePolicyMergeFactor and set removed because of enhanced merge policy implementation in ES 0.17.0 https://github.com/elasticsearch/elasticsearch/issues/998
-- Release tav v0.17.1.0 added
-
-2011-07-21
-- Elastica_Query_HasChild and _parent feature added by fabian
-- Elastica_Filter_GeoBoundingBox added by fabian
-
-2011-07-20
-- Elastica_Query_Builder added by chrisdegrim
-
-2011-07-19
-- Release tag v0.17.0.0 added. Elastica is compatible with elasticsearch 0.17.0
-
-2011-07-18
-- ResultSet::hasFacets added
-- QueryString useDisMax added
-
-2011-07-15
-- Facet/DateHistogram and Facet/Historgram added
-- Documentation pages added unter http://ruflin.github.com/Elastica
-- Release tag v0.16.4.0 added
-
-2011-06-19
-- Add support for multiple servers to Elastica_Client (issue #39)
-
-2011-06-16
-- Support for multiple index, type queries and _all queries added through Elastica_Search object
-- Elastica_Index::clearCache added to clean cache
-- Elastica_Index::flush added
-
-2011-06-07
-- Elastica_Index::setNumberOfShards removed as not supported after creating index
-
-2011-05-11
-- Refactor client constructor. Elastica_Client::__construct(array $config) now takes a config array instead of host and port
-
-2011-05-08
-- Elastica_Query_QueryString::escapeTerm move to Elastica_Util::escapeTerm
-
-2011-04-29
-- Added getParam to Elastica_Result that more values can be retrieved from the hit array
-- Elastica_Filter_Ids added http://www.elasticsearch.org/guide/reference/query-dsl/ids-filter.html
-- getMergePolicyMergeFactor and getRefreshInterval to Elastica_Type_Settings added. If no value is set, default values are returned
-
-2011-04-28
-- Release of version 0.16.0.0 (see new version naming structure in README)
-
-2011-04-27
-- Refactoring of Elastica_Type::setMapping. No source parameter anymore.
-- Elastica_Type_Mapping object introduced to set more fine grained mapping
-
-2011-04-17
-- Elastica_Filter_Exists added
-
-2011-04-14
-- Elastica_Type getCount replace by count()
-- Count has now optional query parametere
-
-2011-04-01
-- Renaming of functions in Elastica_Query_Terms and Ela-stica_Query_Filter to fit new naming convention. setTerms, addTerm have different API now!
-
-2011-03-31
-- Deprecated code removed
-- Break backward compatibility to 0.15.1 (versions introduced by wlp1979)
-
-2011-03-30
-- Filtered query introduced
-- setRawArguments in Elastica_Query is now setParam
-- open / close for index added
-- Remove Elastica_Filter and Elastica_Facets because not needed anymore
-
-2011-03-29
-- Renaming Elastica_Filter->addQuery, addFilter to setQuery, setFilter
-- Add parts of Facets API
-- Add facet Terms
-- Renaming Elastica_Query->addFilter to setFilter
-
-2011-03-24
-- Renaming of Elastica_Status_Index to Elastica_Index_Status => API Change!
-- IndexSettings added for improved bulk updating http://www.elasticsearch.org/blog/2011/03/23/update-settings.html
-
-2011-03-21
-- Node object added
-- Node_Info and Node_Stats added
-- Refactoring of Cluster object
-
-2011-03-13
-- changes.txt introduced
-- getResponse in Elastica_Response renamed to getData. getResponse now deprecated
-- Index status objects added
-- getIndexName in Elastica_Index renamed to getName. getIndexName is deprecated
diff --git a/vendor/ruflin/elastica/composer.json b/vendor/ruflin/elastica/composer.json
deleted file mode 100644
index 70c2832a..00000000
--- a/vendor/ruflin/elastica/composer.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "ruflin/elastica",
- "description": "Elasticsearch Client",
- "keywords": ["search","client"],
- "homepage": "http://elastica.io/",
- "type": "library",
- "license": "Apache 2.0",
- "authors": [
- {
- "name": "Nicolas Ruflin",
- "homepage": "http://ruflin.com/"
- }
- ],
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "munkie/elasticsearch-thrift-php": "1.4.*",
- "phpunit/phpunit": "4.1.*",
- "satooshi/php-coveralls": "dev-master"
- },
- "suggest": {
- "munkie/elasticsearch-thrift-php": "Allow using thrift transport",
- "guzzlehttp/guzzle": "Allow using guzzle 4.x as the http transport (requires php 5.4)",
- "psr/log": "for logging",
- "monolog/monolog": "Logging request"
- },
- "autoload": {
- "psr-0": {
- "Elastica": "lib/",
- "Elastica\\Test": "test/lib/"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php b/vendor/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php
deleted file mode 100644
index 883284ae..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/AbstractUpdateAction.php
+++ /dev/null
@@ -1,544 +0,0 @@
-<?php
-
-namespace Elastica;
-
-/**
- * Base class for things that can be sent to the update api (Document and
- * Script).
- *
- * @category Xodoa
- * @package Elastica
- * @author Nik Everett <nik9000@gmail.com>
- */
-class AbstractUpdateAction extends Param
-{
- /**
- * @var \Elastica\Document
- */
- protected $_upsert;
-
- /**
- * Sets the id of the document.
- *
- * @param string $id
- * @return \Elastica\Document
- */
- public function setId($id)
- {
- return $this->setParam('_id', $id);
- }
-
- /**
- * Returns document id
- *
- * @return string|int Document id
- */
- public function getId()
- {
- return ($this->hasParam('_id')) ? $this->getParam('_id') : null;
- }
-
- /**
- * @return bool
- */
- public function hasId()
- {
- return '' !== (string) $this->getId();
- }
-
- /**
- * Sets lifetime of document
- *
- * @param string $ttl
- * @return \Elastica\Document
- */
- public function setTtl($ttl)
- {
- return $this->setParam('_ttl', $ttl);
- }
-
- /**
- * @return string
- */
- public function getTtl()
- {
- return $this->getParam('_ttl');
- }
-
- /**
- * @return bool
- */
- public function hasTtl()
- {
- return $this->hasParam('_ttl');
- }
-
- /**
- * Sets the document type name
- *
- * @param string $type Type name
- * @return \Elastica\Document Current object
- */
- public function setType($type)
- {
- if ($type instanceof Type) {
- $this->setIndex($type->getIndex());
- $type = $type->getName();
- }
- return $this->setParam('_type', $type);
- }
-
- /**
- * Return document type name
- *
- * @return string Document type name
- * @throws \Elastica\Exception\InvalidException
- */
- public function getType()
- {
- return $this->getParam('_type');
- }
-
- /**
- * Sets the document index name
- *
- * @param string $index Index name
- * @return \Elastica\Document Current object
- */
- public function setIndex($index)
- {
- if ($index instanceof Index) {
- $index = $index->getName();
- }
- return $this->setParam('_index', $index);
- }
-
- /**
- * Get the document index name
- *
- * @return string Index name
- * @throws \Elastica\Exception\InvalidException
- */
- public function getIndex()
- {
- return $this->getParam('_index');
- }
-
- /**
- * Sets the version of a document for use with optimistic concurrency control
- *
- * @param int $version Document version
- * @return \Elastica\Document Current object
- * @link http://www.elasticsearch.org/blog/2011/02/08/versioning.html
- */
- public function setVersion($version)
- {
- return $this->setParam('_version', (int) $version);
- }
-
- /**
- * Returns document version
- *
- * @return string|int Document version
- */
- public function getVersion()
- {
- return $this->getParam('_version');
- }
-
- /**
- * @return bool
- */
- public function hasVersion()
- {
- return $this->hasParam('_version');
- }
-
- /**
- * Sets the version_type of a document
- * Default in ES is internal, but you can set to external to use custom versioning
- *
- * @param int $versionType Document version type
- * @return \Elastica\Document Current object
- * @link http://www.elasticsearch.org/guide/reference/api/index_.html
- */
- public function setVersionType($versionType)
- {
- return $this->setParam('_version_type', $versionType);
- }
-
- /**
- * Returns document version type
- *
- * @return string|int Document version type
- */
- public function getVersionType()
- {
- return $this->getParam('_version_type');
- }
-
- /**
- * @return bool
- */
- public function hasVersionType()
- {
- return $this->hasParam('_version_type');
- }
-
- /**
- * Sets parent document id
- *
- * @param string|int $parent Parent document id
- * @return \Elastica\Document Current object
- * @link http://www.elasticsearch.org/guide/reference/mapping/parent-field.html
- */
- public function setParent($parent)
- {
- return $this->setParam('_parent', $parent);
- }
-
- /**
- * Returns the parent document id
- *
- * @return string|int Parent document id
- */
- public function getParent()
- {
- return $this->getParam('_parent');
- }
-
- /**
- * @return bool
- */
- public function hasParent()
- {
- return $this->hasParam('_parent');
- }
-
- /**
- * Set operation type
- *
- * @param string $opType Only accept create
- * @return \Elastica\Document Current object
- */
- public function setOpType($opType)
- {
- return $this->setParam('_op_type', $opType);
- }
-
- /**
- * Get operation type
- * @return string
- */
- public function getOpType()
- {
- return $this->getParam('_op_type');
- }
-
- /**
- * @return bool
- */
- public function hasOpType()
- {
- return $this->hasParam('_op_type');
- }
-
- /**
- * Set percolate query param
- *
- * @param string $value percolator filter
- * @return \Elastica\Document
- */
- public function setPercolate($value = '*')
- {
- return $this->setParam('_percolate', $value);
- }
-
- /**
- * Get percolate parameter
- *
- * @return string
- */
- public function getPercolate()
- {
- return $this->getParam('_percolate');
- }
-
- /**
- * @return bool
- */
- public function hasPercolate()
- {
- return $this->hasParam('_percolate');
- }
-
- /**
- * Set routing query param
- *
- * @param string $value routing
- * @return \Elastica\Document
- */
- public function setRouting($value)
- {
- return $this->setParam('_routing', $value);
- }
-
- /**
- * Get routing parameter
- *
- * @return string
- */
- public function getRouting()
- {
- return $this->getParam('_routing');
- }
-
- /**
- * @return bool
- */
- public function hasRouting()
- {
- return $this->hasParam('_routing');
- }
-
- /**
- * @param array|string $fields
- * @return \Elastica\Document
- */
- public function setFields($fields)
- {
- if (is_array($fields)) {
- $fields = implode(',', $fields);
- }
- return $this->setParam('_fields', (string) $fields);
- }
-
- /**
- * @return \Elastica\Document
- */
- public function setFieldsSource()
- {
- return $this->setFields('_source');
- }
-
- /**
- * @return string
- */
- public function getFields()
- {
- return $this->getParam('_fields');
- }
-
- /**
- * @return bool
- */
- public function hasFields()
- {
- return $this->hasParam('_fields');
- }
-
- /**
- * @param int $num
- * @return \Elastica\Document
- */
- public function setRetryOnConflict($num)
- {
- return $this->setParam('_retry_on_conflict', (int) $num);
- }
-
- /**
- * @return int
- */
- public function getRetryOnConflict()
- {
- return $this->getParam('_retry_on_conflict');
- }
-
- /**
- * @return bool
- */
- public function hasRetryOnConflict()
- {
- return $this->hasParam('_retry_on_conflict');
- }
-
- /**
- * @param string $timestamp
- * @return \Elastica\Document
- */
- public function setTimestamp($timestamp)
- {
- return $this->setParam('_timestamp', $timestamp);
- }
-
- /**
- * @return int
- */
- public function getTimestamp()
- {
- return $this->getParam('_timestamp');
- }
-
- /**
- * @return bool
- */
- public function hasTimestamp()
- {
- return $this->hasParam('_timestamp');
- }
-
- /**
- * @param bool $refresh
- * @return \Elastica\Document
- */
- public function setRefresh($refresh = true)
- {
- return $this->setParam('_refresh', (bool) $refresh);
- }
-
- /**
- * @return bool
- */
- public function getRefresh()
- {
- return $this->getParam('_refresh');
- }
-
- /**
- * @return bool
- */
- public function hasRefresh()
- {
- return $this->hasParam('_refresh');
- }
-
- /**
- * @param string $timeout
- * @return \Elastica\Document
- */
- public function setTimeout($timeout)
- {
- return $this->setParam('_timeout', $timeout);
- }
-
- /**
- * @return bool
- */
- public function getTimeout()
- {
- return $this->getParam('_timeout');
- }
-
- /**
- * @return string
- */
- public function hasTimeout()
- {
- return $this->hasParam('_timeout');
- }
-
- /**
- * @param string $timeout
- * @return \Elastica\Document
- */
- public function setConsistency($timeout)
- {
- return $this->setParam('_consistency', $timeout);
- }
-
- /**
- * @return string
- */
- public function getConsistency()
- {
- return $this->getParam('_consistency');
- }
-
- /**
- * @return string
- */
- public function hasConsistency()
- {
- return $this->hasParam('_consistency');
- }
-
- /**
- * @param string $timeout
- * @return \Elastica\Document
- */
- public function setReplication($timeout)
- {
- return $this->setParam('_replication', $timeout);
- }
-
- /**
- * @return string
- */
- public function getReplication()
- {
- return $this->getParam('_replication');
- }
-
- /**
- * @return bool
- */
- public function hasReplication()
- {
- return $this->hasParam('_replication');
- }
-
- /**
- * @param \Elastica\Document|array $data
- * @return \Elastica\Document
- */
- public function setUpsert($data)
- {
- $document = Document::create($data);
- $this->_upsert = $document;
-
- return $this;
- }
-
- /**
- * @return \Elastica\Document
- */
- public function getUpsert()
- {
- return $this->_upsert;
- }
-
- /**
- * @return bool
- */
- public function hasUpsert()
- {
- return null !== $this->_upsert;
- }
-
- /**
- * @param array $fields if empty array all options will be returned, field names can be either with underscored either without, i.e. _percolate, routing
- * @param bool $withUnderscore should option keys contain underscore prefix
- * @return array
- */
- public function getOptions(array $fields = array(), $withUnderscore = false)
- {
- if (!empty($fields)) {
- $data = array();
- foreach ($fields as $field) {
- $key = '_' . ltrim($field, '_');
- if ($this->hasParam($key) && '' !== (string) $this->getParam($key)) {
- $data[$key] = $this->getParam($key);
- }
- }
- } else {
- $data = $this->getParams();
- }
- if (!$withUnderscore) {
- foreach ($data as $key => $value) {
- $data[ltrim($key, '_')] = $value;
- unset($data[$key]);
- }
- }
- return $data;
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php
deleted file mode 100644
index 5ad5b17e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractAggregation.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-use Elastica\Param;
-use Elastica\Exception\InvalidException;
-
-abstract class AbstractAggregation extends Param
-{
- /**
- * The name of this aggregation
- * @var string
- */
- protected $_name;
-
- /**
- * Subaggregations belonging to this aggregation
- * @var array
- */
- protected $_aggs = array();
-
- /**
- * @param string $name the name of this aggregation
- */
- public function __construct($name)
- {
- $this->setName($name);
- }
-
- /**
- * Set the name of this aggregation
- * @param string $name
- */
- public function setName($name)
- {
- $this->_name = $name;
- }
-
- /**
- * Retrieve the name of this aggregation
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Retrieve all subaggregations belonging to this aggregation
- * @return array
- */
- public function getAggs()
- {
- return $this->_aggs;
- }
-
- /**
- * Add a sub-aggregation
- * @param AbstractAggregation $aggregation
- * @throws \Elastica\Exception\InvalidException
- * @return AbstractAggregation
- */
- public function addAggregation(AbstractAggregation $aggregation)
- {
- if(is_a($aggregation, 'Elastica\Aggregation\GlobalAggregation')) {
- throw new InvalidException('Global aggregators can only be placed as top level aggregators');
- }
-
- $this->_aggs[$aggregation->getName()] = $aggregation->toArray();
- return $this;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $array = parent::toArray();
- if (array_key_exists('global_aggregation', $array)) {
- // compensate for class name GlobalAggregation
- $array = array('global' => new \stdClass);
- }
- if (sizeof($this->_aggs)) {
- $array['aggs'] = $this->_aggs;
- }
- return $array;
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php
deleted file mode 100644
index af7c1940..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/AbstractSimpleAggregation.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-
-use Elastica\Script;
-
-abstract class AbstractSimpleAggregation extends AbstractAggregation
-{
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return AbstractSimpleAggregation
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Set a script for this aggregation
- * @param string|Script $script
- * @return AbstractSimpleAggregation
- */
- public function setScript($script)
- {
- if ($script instanceof Script) {
- $this->setParam('params', $script->getParams());
- $script = $script->getScript();
- }
- return $this->setParam('script', $script);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Avg.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Avg.php
deleted file mode 100644
index 0d601910..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Avg.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-
-/**
- * Class Avg
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-avg-aggregation.html
- */
-class Avg extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php
deleted file mode 100644
index 061ddafa..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Cardinality.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-
-/**
- * Class Cardinality
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html
- */
-class Cardinality extends AbstractSimpleAggregation
-{
-
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php
deleted file mode 100644
index 889fa429..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateHistogram.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class DateHistogram
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-datehistogram-aggregation.html
- */
-class DateHistogram extends Histogram
-{
- /**
- * Set pre-rounding based on interval
- * @param string $preZone
- * @return DateHistogram
- */
- public function setPreZone($preZone)
- {
- return $this->setParam("pre_zone", $preZone);
- }
-
- /**
- * Set post-rounding based on interval
- * @param string $postZone
- * @return DateHistogram
- */
- public function setPostZone($postZone)
- {
- return $this->setParam("post_zone", $postZone);
- }
-
- /**
- * Set pre-zone adjustment for larger time intervals (day and above)
- * @param string $adjust
- * @return DateHistogram
- */
- public function setPreZoneAdjustLargeInterval($adjust)
- {
- return $this->setParam("pre_zone_adjust_large_interval", $adjust);
- }
-
- /**
- * Adjust for granularity of date data
- * @param int $factor set to 1000 if date is stored in seconds rather than milliseconds
- * @return DateHistogram
- */
- public function setFactor($factor)
- {
- return $this->setParam("factor", $factor);
- }
-
- /**
- * Set the offset for pre-rounding
- * @param string $offset "1d", for example
- * @return DateHistogram
- */
- public function setPreOffset($offset)
- {
- return $this->setParam("pre_offset", $offset);
- }
-
- /**
- * Set the offset for post-rounding
- * @param string $offset "1d", for example
- * @return DateHistogram
- */
- public function setPostOffset($offset)
- {
- return $this->setParam("post_offset", $offset);
- }
-
- /**
- * Set the format for returned bucket key_as_string values
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-daterange-aggregation.html#date-format-pattern
- * @param string $format see link for formatting options
- * @return DateHistogram
- */
- public function setFormat($format)
- {
- return $this->setParam("format", $format);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php
deleted file mode 100644
index 37aca87b..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/DateRange.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class DateRange
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-daterange-aggregation.html
- */
-class DateRange extends Range
-{
- /**
- * Set the formatting for the returned date values
- * @param string $format see documentation for formatting options
- * @return Range
- */
- public function setFormat($format)
- {
- return $this->setParam('format', $format);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php
deleted file mode 100644
index 4aef8a32..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ExtendedStats.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class ExtendedStats
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-extendedstats-aggregation.html
- */
-class ExtendedStats extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Filter.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Filter.php
deleted file mode 100644
index c2326ffe..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Filter.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-
-use Elastica\Filter\AbstractFilter;
-
-/**
- * Class Filter
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-filter-aggregation.html
- */
-class Filter extends AbstractAggregation
-{
- /**
- * Set the filter for this aggregation
- * @param AbstractFilter $filter
- * @return Filter
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam("filter", $filter->toArray());
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $array = array(
- "filter" => $this->getParam("filter")
- );
-
- if($this->_aggs)
- {
- $array['aggs'] = $this->_aggs;
- }
-
- return $array;
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php
deleted file mode 100644
index 76c871ea..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeoDistance.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Class GeoDistance
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-geodistance-aggregation.html
- */
-class GeoDistance extends AbstractAggregation
-{
- const DISTANCE_TYPE_SLOPPY_ARC = "sloppy_arc";
- const DISTANCE_TYPE_ARC = "arc";
- const DISTANCE_TYPE_PLANE = "plane";
-
- /**
- * @param string $name the name if this aggregation
- * @param string $field the field on which to perform this aggregation
- * @param string|array $origin the point from which distances will be calculated
- */
- public function __construct($name, $field, $origin)
- {
- parent::__construct($name);
- $this->setField($field)->setOrigin($origin);
- }
-
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return GeoDistance
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Set the origin point from which distances will be calculated
- * @param string|array $origin valid formats are array("lat" => 52.3760, "lon" => 4.894), "52.3760, 4.894", and array(4.894, 52.3760)
- * @return GeoDistance
- */
- public function setOrigin($origin)
- {
- return $this->setParam("origin", $origin);
- }
-
- /**
- * Add a distance range to this aggregation
- * @param int $fromValue a distance
- * @param int $toValue a distance
- * @return GeoDistance
- * @throws \Elastica\Exception\InvalidException
- */
- public function addRange($fromValue = null, $toValue = null)
- {
- if (is_null($fromValue) && is_null($toValue)) {
- throw new InvalidException("Either fromValue or toValue must be set. Both cannot be null.");
- }
- $range = array();
- if (!is_null($fromValue)) {
- $range['from'] = $fromValue;
- }
- if (!is_null($toValue)) {
- $range['to'] = $toValue;
- }
- return $this->addParam("ranges", $range);
- }
-
- /**
- * Set the unit of distance measure for this aggregation
- * @param string $unit defaults to km
- * @return GeoDistance
- */
- public function setUnit($unit)
- {
- return $this->setParam("unit", $unit);
- }
-
- /**
- * Set the method by which distances will be calculated
- * @param string $distanceType see DISTANCE_TYPE_* constants for options. Defaults to sloppy_arc.
- * @return GeoDistance
- */
- public function setDistanceType($distanceType)
- {
- return $this->setParam("distance_type", $distanceType);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php
deleted file mode 100644
index 840198c3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GeohashGrid.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class GeohashGrid
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-geohashgrid-aggregation.html
- */
-class GeohashGrid extends AbstractAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $field the field on which to perform this aggregation
- */
- public function __construct($name, $field)
- {
- parent::__construct($name);
- $this->setField($field);
- }
-
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return GeohashGrid
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Set the precision for this aggregation
- * @param int $precision an integer between 1 and 12, inclusive. Defaults to 5.
- * @return GeohashGrid
- */
- public function setPrecision($precision)
- {
- return $this->setParam("precision", $precision);
- }
-
- /**
- * Set the maximum number of buckets to return
- * @param int $size defaults to 10,000
- * @return GeohashGrid
- */
- public function setSize($size)
- {
- return $this->setParam("size", $size);
- }
-
- /**
- * Set the number of results returned from each shard
- * @param int $shardSize
- * @return GeohashGrid
- */
- public function setShardSize($shardSize)
- {
- return $this->setParam("shard_size", $shardSize);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php
deleted file mode 100644
index 72b56880..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/GlobalAggregation.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class GlobalAggregation
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-global-aggregation.html
- */
-class GlobalAggregation extends AbstractAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php
deleted file mode 100644
index 26fa7c44..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Histogram.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Histogram
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-histogram-aggregation.html
- */
-class Histogram extends AbstractSimpleAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $field the name of the field on which to perform the aggregation
- * @param int $interval the interval by which documents will be bucketed
- */
- public function __construct($name, $field, $interval)
- {
- parent::__construct($name);
- $this->setField($field);
- $this->setInterval($interval);
- }
-
-
- /**
- * Set the interval by which documents will be bucketed
- * @param int $interval
- * @return Histogram
- */
- public function setInterval($interval)
- {
- return $this->setParam("interval", $interval);
- }
-
- /**
- * Set the bucket sort order
- * @param string $order "_count", "_term", or the name of a sub-aggregation or sub-aggregation response field
- * @param string $direction "asc" or "desc"
- * @return Histogram
- */
- public function setOrder($order, $direction)
- {
- return $this->setParam("order", array($order => $direction));
- }
-
- /**
- * Set the minimum number of documents which must fall into a bucket in order for the bucket to be returned
- * @param int $count set to 0 to include empty buckets
- * @return Histogram
- */
- public function setMinimumDocumentCount($count)
- {
- return $this->setParam("min_doc_count", $count);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php
deleted file mode 100644
index 18e60bfb..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/IpRange.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Class IpRange
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-iprange-aggregation.html
- */
-class IpRange extends AbstractAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $field the field on which to perform this aggregation
- */
- public function __construct($name, $field)
- {
- parent::__construct($name);
- $this->setField($field);
- }
-
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return IpRange
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Add an ip range to this aggregation
- * @param string $fromValue a valid ipv4 address. Low end of this range, exclusive (greater than)
- * @param string $toValue a valid ipv4 address. High end of this range, exclusive (less than)
- * @return IpRange
- * @throws \Elastica\Exception\InvalidException
- */
- public function addRange($fromValue = null, $toValue = null)
- {
- if (is_null($fromValue) && is_null($toValue)) {
- throw new InvalidException("Either fromValue or toValue must be set. Both cannot be null.");
- }
- $range = array();
- if (!is_null($fromValue)) {
- $range['from'] = $fromValue;
- }
- if (!is_null($toValue)) {
- $range['to'] = $toValue;
- }
- return $this->addParam('ranges', $range);
- }
-
- /**
- * Add an ip range in the form of a CIDR mask
- * @param string $mask a valid CIDR mask
- * @return IpRange
- */
- public function addMaskRange($mask)
- {
- return $this->addParam("ranges", array("mask" => $mask));
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Max.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Max.php
deleted file mode 100644
index 25031b04..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Max.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Max
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-max-aggregation.html
- */
-class Max extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Min.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Min.php
deleted file mode 100644
index 60aabb56..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Min.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Min
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-min-aggregation.html
- */
-class Min extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Missing.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Missing.php
deleted file mode 100644
index b882aba0..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Missing.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Missing
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-missing-aggregation.html
- */
-class Missing extends AbstractAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $field the field on which to perform this aggregation
- */
- public function __construct($name, $field)
- {
- parent::__construct($name);
- $this->setField($field);
- }
-
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return Missing
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Nested.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Nested.php
deleted file mode 100644
index afbb8373..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Nested.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Nested
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-nested-aggregation.html
- */
-class Nested extends AbstractAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $path the nested path for this aggregation
- */
- public function __construct($name, $path)
- {
- parent::__construct($name);
- $this->setPath($path);
- }
-
- /**
- * Set the nested path for this aggregation
- * @param string $path
- * @return Nested
- */
- public function setPath($path)
- {
- return $this->setParam("path", $path);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Range.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Range.php
deleted file mode 100644
index ab70c5e4..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Range.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-namespace Elastica\Aggregation;
-
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Class Range
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-range-aggregation.html
- */
-class Range extends AbstractSimpleAggregation
-{
- /**
- * Add a range to this aggregation
- * @param int|float $fromValue low end of this range, exclusive (greater than)
- * @param int|float $toValue high end of this range, exclusive (less than)
- * @return Range
- * @throws \Elastica\Exception\InvalidException
- */
- public function addRange($fromValue = null, $toValue = null)
- {
- if (is_null($fromValue) && is_null($toValue)) {
- throw new InvalidException("Either fromValue or toValue must be set. Both cannot be null.");
- }
- $range = array();
- if (!is_null($fromValue)) {
- $range['from'] = $fromValue;
- }
- if (!is_null($toValue)) {
- $range['to'] = $toValue;
- }
- return $this->addParam('ranges', $range);
- }
-
- /**
- * If set to true, a unique string key will be associated with each bucket, and ranges will be returned as an associative array
- * @param bool $keyed
- * @return Range
- */
- public function setKeyedResponse($keyed = true)
- {
- return $this->setParam('keyed', (bool)$keyed);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php
deleted file mode 100644
index d4056f13..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ReverseNested.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Reversed Nested Aggregation
- *
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-reverse-nested-aggregation.html
- */
-class ReverseNested extends AbstractAggregation
-{
- /**
- * @param string $name The name of this aggregation
- * @param string $path Optional path to the nested object for this aggregation. Defaults to the root of the main document.
- */
- public function __construct($name, $path = null)
- {
- parent::__construct($name);
-
- if ($path !== null) {
- $this->setPath($path);
- }
- }
-
- /**
- * Set the nested path for this aggregation
- *
- * @param string $path
- * @return ReverseNested
- */
- public function setPath($path)
- {
- return $this->setParam("path", $path);
- }
-
- /**
- * {@inheritDoc}
- */
- public function toArray()
- {
- $array = parent::toArray();
-
- // ensure we have an object for the reverse_nested key.
- // if we don't have a path, then this would otherwise get encoded as an empty array, which is invalid.
- $array['reverse_nested'] = (object)$array['reverse_nested'];
-
- return $array;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Stats.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Stats.php
deleted file mode 100644
index 18c903e9..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Stats.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Stats
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-stats-aggregation.html
- */
-class Stats extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Sum.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Sum.php
deleted file mode 100644
index 4d1ef4de..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Sum.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Sum
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-sum-aggregation.html
- */
-class Sum extends AbstractSimpleAggregation
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Terms.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/Terms.php
deleted file mode 100644
index 9ede855c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/Terms.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class Terms
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-bucket-terms-aggregation.html
- */
-class Terms extends AbstractSimpleAggregation
-{
- /**
- * Set the bucket sort order
- * @param string $order "_count", "_term", or the name of a sub-aggregation or sub-aggregation response field
- * @param string $direction "asc" or "desc"
- * @return Terms
- */
- public function setOrder($order, $direction)
- {
- return $this->setParam("order", array($order => $direction));
- }
-
- /**
- * Set the minimum number of documents in which a term must appear in order to be returned in a bucket
- * @param int $count
- * @return Terms
- */
- public function setMinimumDocumentCount($count)
- {
- return $this->setParam("min_doc_count", $count);
- }
-
- /**
- * Filter documents to include based on a regular expression
- * @param string $pattern a regular expression
- * @param string $flags Java Pattern flags
- * @return Terms
- */
- public function setInclude($pattern, $flags = null)
- {
- if (is_null($flags)) {
- return $this->setParam("include", $pattern);
- }
- return $this->setParam("include", array(
- "pattern" => $pattern,
- "flags" => $flags
- ));
- }
-
- /**
- * Filter documents to exclude based on a regular expression
- * @param string $pattern a regular expression
- * @param string $flags Java Pattern flags
- * @return Terms
- */
- public function setExclude($pattern, $flags = null)
- {
- if (is_null($flags)) {
- return $this->setParam("exclude", $pattern);
- }
- return $this->setParam("exclude", array(
- "pattern" => $pattern,
- "flags" => $flags
- ));
- }
-
- /**
- * Sets the amount of terms to be returned.
- * @param int $size The amount of terms to be returned.
- * @return \Elastica\Aggregation\Terms
- */
- public function setSize($size)
- {
- return $this->setParam('size', $size);
- }
-
- /**
- * Sets how many terms the coordinating node will request from each shard.
- * @param int $shard_size The amount of terms to be returned.
- * @return \Elastica\Aggregation\Terms
- */
- public function setShardSize($shard_size)
- {
- return $this->setParam('shard_size', $shard_size);
- }
-
- /**
- * Instruct Elasticsearch to use direct field data or ordinals of the field values to execute this aggregation.
- * The execution hint will be ignored if it is not applicable.
- * @param string $hint map or ordinals
- * @return Terms
- */
- public function setExecutionHint($hint)
- {
- return $this->setParam("execution_hint", $hint);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php b/vendor/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php
deleted file mode 100644
index 36fb2a2c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Aggregation/ValueCount.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Elastica\Aggregation;
-
-/**
- * Class ValueCount
- * @package Elastica\Aggregation
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-aggregations-metrics-valuecount-aggregation.html
- */
-class ValueCount extends AbstractAggregation
-{
- /**
- * @param string $name the name of this aggregation
- * @param string $field the field on which to perform this aggregation
- */
- public function __construct($name, $field)
- {
- parent::__construct($name);
- $this->setField($field);
- }
-
- /**
- * Set the field for this aggregation
- * @param string $field the name of the document field on which to perform this aggregation
- * @return ValueCount
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk.php b/vendor/ruflin/elastica/lib/Elastica/Bulk.php
deleted file mode 100644
index 439fa566..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk.php
+++ /dev/null
@@ -1,423 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Document;
-use Elastica\Exception\Bulk\ResponseException as BulkResponseException;
-use Elastica\Exception\Bulk\UdpException;
-use Elastica\Exception\InvalidException;
-use Elastica\Request;
-use Elastica\Response;
-use Elastica\Client;
-use Elastica\Index;
-use Elastica\Type;
-use Elastica\Bulk\Action;
-use Elastica\Bulk\Action\AbstractDocument as AbstractDocumentAction;
-use Elastica\Bulk\ResponseSet;
-use Elastica\Bulk\Response as BulkResponse;
-
-class Bulk
-{
- const DELIMITER = "\n";
-
- const UDP_DEFAULT_HOST = 'localhost';
- const UDP_DEFAULT_PORT = 9700;
-
- /**
- * @var \Elastica\Client
- */
- protected $_client;
-
- /**
- * @var \Elastica\Bulk\Action[]
- */
- protected $_actions = array();
-
- /**
- * @var string
- */
- protected $_index = '';
-
- /**
- * @var string
- */
- protected $_type = '';
-
- /**
- * @var array request parameters to the bulk api
- */
- protected $_requestParams = array();
-
- /**
- * @param \Elastica\Client $client
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- }
-
- /**
- * @param string|\Elastica\Index $index
- * @return \Elastica\Bulk
- */
- public function setIndex($index)
- {
- if ($index instanceof Index) {
- $index = $index->getName();
- }
-
- $this->_index = (string) $index;
-
- return $this;
- }
-
- /**
- * @return string
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * @return bool
- */
- public function hasIndex()
- {
- return '' !== $this->getIndex();
- }
-
- /**
- * @param string|\Elastica\Type $type
- * @return \Elastica\Bulk
- */
- public function setType($type)
- {
- if ($type instanceof Type) {
- $this->setIndex($type->getIndex()->getName());
- $type = $type->getName();
- }
-
- $this->_type = (string) $type;
-
- return $this;
- }
-
- /**
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * @return bool
- */
- public function hasType()
- {
- return '' !== $this->_type;
- }
-
- /**
- * @return string
- */
- public function getPath()
- {
- $path = '';
- if ($this->hasIndex()) {
- $path .= $this->getIndex() . '/';
- if ($this->hasType()) {
- $path .= $this->getType() . '/';
- }
- }
- $path .= '_bulk';
- return $path;
- }
-
- /**
- * @param \Elastica\Bulk\Action $action
- * @return \Elastica\Bulk
- */
- public function addAction(Action $action)
- {
- $this->_actions[] = $action;
- return $this;
- }
-
- /**
- * @param \Elastica\Bulk\Action[] $actions
- * @return \Elastica\Bulk
- */
- public function addActions(array $actions)
- {
- foreach ($actions as $action) {
- $this->addAction($action);
- }
-
- return $this;
- }
-
- /**
- * @return \Elastica\Bulk\Action[]
- */
- public function getActions()
- {
- return $this->_actions;
- }
-
- /**
- * @param \Elastica\Document $document
- * @param string $opType
- * @return \Elastica\Bulk
- */
- public function addDocument(Document $document, $opType = null)
- {
- $action = AbstractDocumentAction::create($document, $opType);
-
- return $this->addAction($action);
- }
-
- /**
- * @param \Elastica\Document[] $documents
- * @param string $opType
- * @return \Elastica\Bulk
- */
- public function addDocuments(array $documents, $opType = null)
- {
- foreach ($documents as $document) {
- $this->addDocument($document, $opType);
- }
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script $data
- * @param string $opType
- * @return \Elastica\Bulk
- */
- public function addScript(Script $script, $opType = null)
- {
- $action = AbstractDocumentAction::create($script, $opType);
-
- return $this->addAction($action);
- }
-
- /**
- * @param \Elastica\Document[] $scripts
- * @param string $opType
- * @return \Elastica\Bulk
- */
- public function addScripts(array $scripts, $opType = null)
- {
- foreach ($scripts as $document) {
- $this->addScript($document, $opType);
- }
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script|\Elastica\Document\array $data
- * @param string $opType
- * @return \Elastica\Bulk
- */
- public function addData($data, $opType = null)
- {
- if(!is_array($data)){
- $data = array($data);
- }
-
- foreach ($data as $actionData){
-
- if ($actionData instanceOf Script) {
- $this->addScript($actionData, $opType);
- }else if ($actionData instanceof Document) {
- $this->addDocument($actionData, $opType);
- }else{
- throw new \InvalidArgumentException("Data should be a Document, a Script or an array containing Documents and/or Scripts");
- }
- }
-
- return $this;
- }
-
- /**
- * @param array $data
- * @return \Elastica\Bulk
- * @throws \Elastica\Exception\InvalidException
- */
- public function addRawData(array $data)
- {
- foreach ($data as $row) {
- if (is_array($row)) {
- $opType = key($row);
- $metadata = reset($row);
- if (Action::isValidOpType($opType)) {
- // add previous action
- if (isset($action)) {
- $this->addAction($action);
- }
- $action = new Action($opType, $metadata);
- } elseif (isset($action)) {
- $action->setSource($row);
- $this->addAction($action);
- $action = null;
- } else {
- throw new InvalidException('Invalid bulk data, source must follow action metadata');
- }
- } else {
- throw new InvalidException('Invalid bulk data, should be array of array, Document or Bulk/Action');
- }
- }
-
- // add last action if available
- if (isset($action)) {
- $this->addAction($action);
- }
-
- return $this;
- }
-
- /**
- * Set a url parameter on the request bulk request.
- * @var string $name name of the parameter
- * @var string $value value of the parameter
- */
- public function setRequestParam($name, $value) {
- $this->_requestParams[ $name ] = $value;
- }
-
- /**
- * Set the amount of time that the request will wait the shards to come on line.
- * Requires Elasticsearch version >= 0.90.8.
- * @var string $time timeout in Elasticsearch time format
- */
- public function setShardTimeout($time) {
- $this->setRequestParam( 'timeout', $time );
- }
-
- /**
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-
- /**
- * @return string
- */
- public function toString()
- {
- $data = '';
- foreach ($this->getActions() as $action) {
- $data.= $action->toString();
- }
- return $data;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $data = array();
- foreach ($this->getActions() as $action) {
- foreach ($action->toArray() as $row) {
- $data[] = $row;
- }
- }
- return $data;
- }
-
- /**
- * @return \Elastica\Bulk\ResponseSet
- */
- public function send()
- {
- $path = $this->getPath();
- $data = $this->toString();
-
- $response = $this->_client->request($path, Request::PUT, $data, $this->_requestParams);
-
- return $this->_processResponse($response);
- }
-
- /**
- * @param \Elastica\Response $response
- * @throws Exception\Bulk\ResponseException
- * @throws Exception\InvalidException
- * @return \Elastica\Bulk\ResponseSet
- */
- protected function _processResponse(Response $response)
- {
- $responseData = $response->getData();
-
- $actions = $this->getActions();
-
- $bulkResponses = array();
-
- if (isset($responseData['items']) && is_array($responseData['items'])) {
- foreach ($responseData['items'] as $key => $item) {
-
- if (!isset($actions[$key])) {
- throw new InvalidException('No response found for action #' . $key);
- }
-
- $action = $actions[$key];
-
- $opType = key($item);
- $bulkResponseData = reset($item);
-
- if ($action instanceof AbstractDocumentAction) {
- $data = $action->getData();
- if ($data instanceof Document && $data->isAutoPopulate()
- || $this->_client->getConfigValue(array('document', 'autoPopulate'), false)
- ) {
- if (!$data->hasId() && isset($bulkResponseData['_id'])) {
- $data->setId($bulkResponseData['_id']);
- }
- if (isset($bulkResponseData['_version'])) {
- $data->setVersion($bulkResponseData['_version']);
- }
- }
- }
-
- $bulkResponses[] = new BulkResponse($bulkResponseData, $action, $opType);
- }
- }
-
- $bulkResponseSet = new ResponseSet($response, $bulkResponses);
-
- if ($bulkResponseSet->hasError()) {
- throw new BulkResponseException($bulkResponseSet);
- }
-
- return $bulkResponseSet;
- }
-
- /**
- * @param string $host
- * @param int $port
- * @throws \Elastica\Exception\Bulk\UdpException
- */
- public function sendUdp($host = null, $port = null)
- {
- if (null === $host) {
- $host = $this->_client->getConfigValue(array('udp', 'host'), self::UDP_DEFAULT_HOST);
- }
- if (null === $port) {
- $port = $this->_client->getConfigValue(array('udp', 'port'), self::UDP_DEFAULT_PORT);
- }
-
- $message = $this->toString();
- $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
- $result = socket_sendto($socket, $message, strlen($message), 0, $host, $port);
- socket_close($socket);
- if (false === $result) {
- throw new UdpException('UDP request failed');
- }
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action.php
deleted file mode 100644
index 7922ec13..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action.php
+++ /dev/null
@@ -1,219 +0,0 @@
-<?php
-
-namespace Elastica\Bulk;
-
-use Elastica\Bulk;
-use Elastica\JSON;
-use Elastica\Index;
-use Elastica\Type;
-
-class Action
-{
- const OP_TYPE_CREATE = 'create';
- const OP_TYPE_INDEX = 'index';
- const OP_TYPE_DELETE = 'delete';
- const OP_TYPE_UPDATE = 'update';
-
- /**
- * @var array
- */
- public static $opTypes = array(
- self::OP_TYPE_CREATE,
- self::OP_TYPE_INDEX,
- self::OP_TYPE_DELETE,
- self::OP_TYPE_UPDATE
- );
-
- /**
- * @var string
- */
- protected $_opType;
-
- /**
- * @var array
- */
- protected $_metadata = array();
-
- /**
- * @var array
- */
- protected $_source = array();
-
- /**
- * @param string $opType
- * @param array $metadata
- * @param array $source
- */
- public function __construct($opType = self::OP_TYPE_INDEX, array $metadata = array(), array $source = array())
- {
- $this->setOpType($opType);
- $this->setMetadata($metadata);
- $this->setSource($source);
- }
-
- /**
- * @param string $type
- * @return \Elastica\Bulk\Action
- */
- public function setOpType($type)
- {
- $this->_opType = $type;
-
- return $this;
- }
-
- /**
- * @return string
- */
- public function getOpType()
- {
- return $this->_opType;
- }
-
- /**
- * @param array $metadata
- * @return \Elastica\Bulk\Action
- */
- public function setMetadata(array $metadata)
- {
- $this->_metadata = $metadata;
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function getMetadata()
- {
- return $this->_metadata;
- }
-
- /**
- * @return array
- */
- public function getActionMetadata()
- {
- return array($this->_opType => $this->getMetadata());
- }
-
- /**
- * @param array $source
- * @return \Elastica\Bulk\Action
- */
- public function setSource($source)
- {
- $this->_source = $source;
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function getSource()
- {
- return $this->_source;
- }
-
- /**
- * @return bool
- */
- public function hasSource()
- {
- return !empty($this->_source);
- }
-
- /**
- * @param string|\Elastica\Index $index
- * @return \Elastica\Bulk\Action
- */
- public function setIndex($index)
- {
- if ($index instanceof Index) {
- $index = $index->getName();
- }
- $this->_metadata['_index'] = $index;
-
- return $this;
- }
-
- /**
- * @param string|\Elastica\Type $type
- * @return \Elastica\Bulk\Action
- */
- public function setType($type)
- {
- if ($type instanceof Type) {
- $this->setIndex($type->getIndex()->getName());
- $type = $type->getName();
- }
- $this->_metadata['_type'] = $type;
-
- return $this;
- }
-
- /**
- * @param string $id
- * @return \Elastica\Bulk\Action
- */
- public function setId($id)
- {
- $this->_metadata['_id'] = $id;
-
- return $this;
- }
-
- /**
- * @param string $routing
- * @return \Elastica\Bulk\Action
- */
- public function setRouting($routing)
- {
- $this->_metadata['_routing'] = $routing;
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $data[] = $this->getActionMetadata();
- if ($this->hasSource()) {
- $data[] = $this->getSource();
- }
- return $data;
- }
-
- /**
- * @return string
- */
- public function toString()
- {
- $string = JSON::stringify($this->getActionMetadata(), JSON_FORCE_OBJECT) . Bulk::DELIMITER;
- if ($this->hasSource()) {
- $source = $this->getSource();
- if (is_string($source)) {
- $string.= $source;
- } elseif (is_array($source) && array_key_exists('doc', $source) && is_string($source['doc'])) {
- $docAsUpsert = (isset($source['doc_as_upsert'])) ? ', "doc_as_upsert": '.$source['doc_as_upsert'] : '';
- $string.= '{"doc": '.$source['doc'].$docAsUpsert.'}';
- } else {
- $string.= JSON::stringify($source, 'JSON_ELASTICSEARCH');
- }
- $string.= Bulk::DELIMITER;
- }
- return $string;
- }
-
- /**
- * @param string $opType
- * @return bool
- */
- public static function isValidOpType($opType)
- {
- return in_array($opType, self::$opTypes);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php
deleted file mode 100644
index 545e695c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/AbstractDocument.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-
-namespace Elastica\Bulk\Action;
-
-use Elastica\AbstractUpdateAction;
-use Elastica\Bulk\Action;
-use Elastica\Document;
-use Elastica\Script;
-
-abstract class AbstractDocument extends Action
-{
- /**
- * @var \Elastica\Document|\Elastica\Script
- */
- protected $_data;
-
- /**
- * @param \Elastica\Document|\Elastica\Script $document
- */
- public function __construct($document)
- {
- $this->setData($document);
- }
-
- /**
- * @param \Elastica\Document $document
- * @return \Elastica\Bulk\Action\AbstractDocument
- */
- public function setDocument(Document $document)
- {
- $this->_data = $document;
-
- $metadata = $this->_getMetadata($document);
-
- $this->setMetadata($metadata);
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script $script
- * @return \Elastica\Bulk\Action\AbstractDocument
- */
- public function setScript(Script $script)
- {
- if (!($this instanceof UpdateDocument)) {
- throw new \BadMethodCallException("setScript() can only be used for UpdateDocument");
- }
-
- $this->_data = $script;
-
- $metadata = $this->_getMetadata($script);
- $this->setMetadata($metadata);
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script|\Elastica\Document $data
- * @throws \InvalidArgumentException
- * @return \Elastica\Bulk\Action\AbstractDocument
- */
- public function setData($data)
- {
- if ($data instanceof Script) {
-
- $this->setScript($data);
-
- }else if ($data instanceof Document) {
-
- $this->setDocument($data);
-
- }else{
- throw new \InvalidArgumentException("Data should be a Document or a Script.");
- }
-
- return $this;
- }
-
- /**
- * Note: This is for backwards compatibility.
- * @return \Elastica\Document
- */
- public function getDocument()
- {
- if ($this->_data instanceof Document) {
- return $this->_data;
- }
-
- return null;
- }
-
- /**
- * Note: This is for backwards compatibility.
- * @return \Elastica\Script
- */
- public function getScript()
- {
- if ($this->_data instanceof Script) {
- return $this->_data;
- }
-
- return null;
- }
-
- /**
- * @return \Elastica\Document|\Elastica\Script
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * @param \Elastica\AbstractUpdateAction $source
- * @return array
- */
- abstract protected function _getMetadata(AbstractUpdateAction $source);
-
- /**
- * @param \Elastica\Document|\Elastica\Script $data
- * @param string $opType
- * @return \Elastica\Bulk\Action\AbstractDocument
- */
- public static function create($data, $opType = null)
- {
- //Check type
- if (!($data instanceof Document) && !($data instanceof Script)) {
- throw new \InvalidArgumentException("The data needs to be a Document or a Script.");
- }
-
- if (null === $opType && $data->hasOpType()) {
- $opType = $data->getOpType();
- }
-
- //Check that scripts can only be used for updates
- if ($data instanceof Script) {
- if ($opType === null) {
- $opType = self::OP_TYPE_UPDATE;
- } else if ($opType != self::OP_TYPE_UPDATE) {
- throw new \InvalidArgumentException("Scripts can only be used with the update operation type.");
- }
- }
-
- switch ($opType) {
- case self::OP_TYPE_DELETE:
- $action = new DeleteDocument($data);
- break;
- case self::OP_TYPE_CREATE:
- $action = new CreateDocument($data);
- break;
- case self::OP_TYPE_UPDATE:
- $action = new UpdateDocument($data);
- break;
- case self::OP_TYPE_INDEX:
- default:
- $action = new IndexDocument($data);
- break;
- }
- return $action;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php
deleted file mode 100644
index ae868b49..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/CreateDocument.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-namespace Elastica\Bulk\Action;
-
-class CreateDocument extends IndexDocument
-{
- /**
- * @var string
- */
- protected $_opType = self::OP_TYPE_CREATE;
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php
deleted file mode 100644
index 572f80b6..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/DeleteDocument.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-namespace Elastica\Bulk\Action;
-
-use Elastica\AbstractUpdateAction;
-
-class DeleteDocument extends AbstractDocument
-{
- /**
- * @var string
- */
- protected $_opType = self::OP_TYPE_DELETE;
-
- /**
- * @param \Elastica\AbstractUpdateAction $action
- * @return array
- */
- protected function _getMetadata(AbstractUpdateAction $action)
- {
- $params = array(
- 'index',
- 'type',
- 'id',
- 'version',
- 'version_type',
- 'routing',
- 'parent'
- );
- $metadata = $action->getOptions($params, true);
-
- return $metadata;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php
deleted file mode 100644
index d405563e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/IndexDocument.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-namespace Elastica\Bulk\Action;
-
-use Elastica\AbstractUpdateAction;
-use Elastica\Bulk\Action;
-use Elastica\Document;
-
-class IndexDocument extends AbstractDocument
-{
- /**
- * @var string
- */
- protected $_opType = self::OP_TYPE_INDEX;
-
- /**
- * @param \Elastica\Document $document
- * @return \Elastica\Bulk\Action\IndexDocument
- */
- public function setDocument(Document $document)
- {
- parent::setDocument($document);
-
- $this->setSource($document->getData());
-
- return $this;
- }
-
- /**
- * @param \Elastica\AbstractUpdateAction $source
- * @return array
- */
- protected function _getMetadata(AbstractUpdateAction $action)
- {
- $params = array(
- 'index',
- 'type',
- 'id',
- 'version',
- 'version_type',
- 'routing',
- 'percolate',
- 'parent',
- 'ttl',
- 'timestamp',
- 'retry_on_conflict',
- );
- $metadata = $action->getOptions($params, true);
-
- return $metadata;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php
deleted file mode 100644
index 4c1dbaa4..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Action/UpdateDocument.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Elastica\Bulk\Action;
-
-use Elastica\Document;
-use Elastica\Script;
-
-/**
- * @package Elastica\Bulk\Action
- * @link http://www.elasticsearch.org/guide/reference/api/bulk/
- */
-class UpdateDocument extends IndexDocument
-{
- /**
- * @var string
- */
- protected $_opType = self::OP_TYPE_UPDATE;
-
- /**
- * Set the document for this bulk update action.
- * @param \Elastica\Document $document
- * @return \Elastica\Bulk\Action\UpdateDocument
- */
- public function setDocument(Document $document)
- {
- parent::setDocument($document);
-
- $source = array('doc' => $document->getData());
-
- if ($document->getDocAsUpsert()) {
- $source['doc_as_upsert'] = true;
-
- }else if ($document->hasUpsert()) {
-
- $upsert = $document->getUpsert()->getData();
-
- if (!empty($upsert)) {
- $source['upsert'] = $upsert;
- }
- }
-
- $this->setSource($source);
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script $script
- * @return \Elastica\Bulk\Action\AbstractDocument
- */
- public function setScript(Script $script)
- {
- parent::setScript($script);
-
- $source = $script->toArray();
-
- if ($script->hasUpsert()) {
- $upsert = $script->getUpsert()->getData();
-
- if (!empty($upsert)) {
- $source['upsert'] = $upsert;
- }
- }
-
- $this->setSource($source);
-
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/Response.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/Response.php
deleted file mode 100644
index 5abd1850..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/Response.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-namespace Elastica\Bulk;
-
-use Elastica\Response as BaseResponse;
-
-class Response extends BaseResponse
-{
- /**
- * @var \Elastica\Bulk\Action
- */
- protected $_action;
-
- /**
- * @var string
- */
- protected $_opType;
-
- /**
- * @param array|string $responseData
- * @param \Elastica\Bulk\Action $action
- * @param string $opType
- */
- public function __construct($responseData, Action $action, $opType)
- {
- parent::__construct($responseData);
-
- $this->_action = $action;
- $this->_opType = $opType;
- }
-
- /**
- * @return \Elastica\Bulk\Action
- */
- public function getAction()
- {
- return $this->_action;
- }
-
- /**
- * @return string
- */
- public function getOpType()
- {
- return $this->_opType;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php b/vendor/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php
deleted file mode 100644
index 9fd835e4..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Bulk/ResponseSet.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
-namespace Elastica\Bulk;
-
-use Elastica\Response as BaseResponse;
-
-class ResponseSet extends BaseResponse implements \Iterator, \Countable
-{
- /**
- * @var \Elastica\Bulk\Response[]
- */
- protected $_bulkResponses = array();
-
- /**
- * @var int
- */
- protected $_position = 0;
-
- /**
- * @param \Elastica\Response $response
- * @param \Elastica\Bulk\Response[] $bulkResponses
- */
- public function __construct(BaseResponse $response, array $bulkResponses)
- {
- parent::__construct($response->getData());
-
- $this->_bulkResponses = $bulkResponses;
- }
-
- /**
- * @return \Elastica\Bulk\Response[]
- */
- public function getBulkResponses()
- {
- return $this->_bulkResponses;
- }
-
- /**
- * Returns first found error
- *
- * @return string
- */
- public function getError()
- {
- $error = '';
-
- foreach ($this->getBulkResponses() as $bulkResponse) {
- if ($bulkResponse->hasError()) {
- $error = $bulkResponse->getError();
- break;
- }
- }
-
- return $error;
- }
-
- /**
- * @return bool
- */
- public function isOk()
- {
- $return = true;
-
- foreach ($this->getBulkResponses() as $bulkResponse) {
- if (!$bulkResponse->isOk()) {
- $return = false;
- break;
- }
- }
-
- return $return;
- }
-
- /**
- * @return bool
- */
- public function hasError()
- {
- $return = false;
-
- foreach ($this->getBulkResponses() as $bulkResponse) {
- if ($bulkResponse->hasError()) {
- $return = true;
- break;
- }
- }
-
- return $return;
- }
-
- /**
- * @return bool|\Elastica\Bulk\Response
- */
- public function current()
- {
- if ($this->valid()) {
- return $this->_bulkResponses[$this->key()];
- } else {
- return false;
- }
- }
-
- /**
- *
- */
- public function next()
- {
- $this->_position++;
- }
-
- /**
- * @return int
- */
- public function key()
- {
- return $this->_position;
- }
-
- /**
- * @return bool
- */
- public function valid()
- {
- return isset($this->_bulkResponses[$this->key()]);
- }
-
- /**
- *
- */
- public function rewind()
- {
- $this->_position = 0;
- }
-
- /**
- * @return int
- */
- public function count()
- {
- return count($this->_bulkResponses);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Client.php b/vendor/ruflin/elastica/lib/Elastica/Client.php
deleted file mode 100644
index a5821180..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Client.php
+++ /dev/null
@@ -1,691 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Bulk;
-use Elastica\Bulk\Action;
-use Elastica\Exception\ResponseException;
-use Elastica\Exception\ClientException;
-use Elastica\Exception\ConnectionException;
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\RuntimeException;
-use Psr\Log\LoggerInterface;
-
-/**
- * Client to connect the the elasticsearch server
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Client
-{
- /**
- * Config with defaults
- *
- * log: Set to true, to enable logging, set a string to log to a specific file
- * retryOnConflict: Use in \Elastica\Client::updateDocument
- *
- * @var array
- */
- protected $_config = array(
- 'host' => null,
- 'port' => null,
- 'path' => null,
- 'url' => null,
- 'proxy' => null,
- 'transport' => null,
- 'persistent' => true,
- 'timeout' => null,
- 'connections' => array(), // host, port, path, timeout, transport, persistent, timeout, config -> (curl, headers, url)
- 'roundRobin' => false,
- 'log' => false,
- 'retryOnConflict' => 0,
- );
-
- /**
- * @var \Elastica\Connection[] List of connections
- */
- protected $_connections = array();
-
- /**
- * @var callback
- */
- protected $_callback = null;
-
- /**
- * @var \Elastica\Request
- */
- protected $_lastRequest;
-
- /**
- * @var \Elastica\Response
- */
- protected $_lastResponse;
-
- /**
- * @var LoggerInterface
- */
- protected $_logger = null;
-
- /**
- * Creates a new Elastica client
- *
- * @param array $config OPTIONAL Additional config options
- * @param callback $callback OPTIONAL Callback function which can be used to be notified about errors (for example connection down)
- */
- public function __construct(array $config = array(), $callback = null)
- {
- $this->setConfig($config);
- $this->_callback = $callback;
- $this->_initConnections();
- }
-
- /**
- * Inits the client connections
- */
- protected function _initConnections()
- {
- $connections = $this->getConfig('connections');
-
- foreach ($connections as $connection) {
- $this->_connections[] = Connection::create($this->_prepareConnectionParams($connection));
- }
-
- if (isset($this->_config['servers'])) {
- foreach ($this->getConfig('servers') as $server) {
- $this->_connections[] = Connection::create($this->_prepareConnectionParams($server));
- }
- }
-
- // If no connections set, create default connection
- if (empty($this->_connections)) {
- $this->_connections[] = Connection::create($this->_prepareConnectionParams($this->getConfig()));
- }
- }
-
- /**
- * Creates a Connection params array from a Client or server config array.
- *
- * @param array $config
- * @return array
- */
- protected function _prepareConnectionParams(array $config)
- {
- $params = array();
- $params['config'] = array();
- foreach ($config as $key => $value) {
- if (in_array($key, array('curl', 'headers', 'url'))) {
- $params['config'][$key] = $value;
- } else {
- $params[$key] = $value;
- }
- }
-
- return $params;
- }
-
- /**
- * Sets specific config values (updates and keeps default values)
- *
- * @param array $config Params
- * @return \Elastica\Client
- */
- public function setConfig(array $config)
- {
- foreach ($config as $key => $value) {
- $this->_config[$key] = $value;
- }
-
- return $this;
- }
-
- /**
- * Returns a specific config key or the whole
- * config array if not set
- *
- * @param string $key Config key
- * @throws \Elastica\Exception\InvalidException
- * @return array|string Config value
- */
- public function getConfig($key = '')
- {
- if (empty($key)) {
- return $this->_config;
- }
-
- if (!array_key_exists($key, $this->_config)) {
- throw new InvalidException('Config key is not set: ' . $key);
- }
-
- return $this->_config[$key];
- }
-
- /**
- * Sets / overwrites a specific config value
- *
- * @param string $key Key to set
- * @param mixed $value Value
- * @return \Elastica\Client Client object
- */
- public function setConfigValue($key, $value)
- {
- return $this->setConfig(array($key => $value));
- }
-
- /**
- * @param array|string $keys config key or path of config keys
- * @param mixed $default default value will be returned if key was not found
- * @return mixed
- */
- public function getConfigValue($keys, $default = null)
- {
- $value = $this->_config;
- foreach ((array) $keys as $key) {
- if (isset($value[$key])) {
- $value = $value[$key];
- } else {
- return $default;
- }
- }
- return $value;
- }
-
- /**
- * Returns the index for the given connection
- *
- * @param string $name Index name to create connection to
- * @return \Elastica\Index Index for the given name
- */
- public function getIndex($name)
- {
- return new Index($this, $name);
- }
-
- /**
- * Adds a HTTP Header
- *
- * @param string $header The HTTP Header
- * @param string $headerValue The HTTP Header Value
- * @throws \Elastica\Exception\InvalidException If $header or $headerValue is not a string
- */
- public function addHeader($header, $headerValue)
- {
- if (is_string($header) && is_string($headerValue)) {
- $this->_config['headers'][$header] = $headerValue;
- } else {
- throw new InvalidException('Header must be a string');
- }
- }
-
- /**
- * Remove a HTTP Header
- *
- * @param string $header The HTTP Header to remove
- * @throws \Elastica\Exception\InvalidException IF $header is not a string
- */
- public function removeHeader($header)
- {
- if (is_string($header)) {
- if (array_key_exists($header, $this->_config['headers'])) {
- unset($this->_config['headers'][$header]);
- }
- } else {
- throw new InvalidException('Header must be a string');
- }
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * Array of \Elastica\Document as input. Index and type has to be
- * set inside the document, because for bulk settings documents,
- * documents can belong to any type and index
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet Response object
- * @throws \Elastica\Exception\InvalidException If docs is empty
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function updateDocuments(array $docs) {
- if (empty($docs)) {
- throw new InvalidException('Array has to consist of at least one element');
- }
-
- $bulk = new Bulk($this);
-
- $bulk->addDocuments($docs, \Elastica\Bulk\Action::OP_TYPE_UPDATE);
-
- return $bulk->send();
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * Array of \Elastica\Document as input. Index and type has to be
- * set inside the document, because for bulk settings documents,
- * documents can belong to any type and index
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet Response object
- * @throws \Elastica\Exception\InvalidException If docs is empty
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function addDocuments(array $docs)
- {
- if (empty($docs)) {
- throw new InvalidException('Array has to consist of at least one element');
- }
-
- $bulk = new Bulk($this);
-
- $bulk->addDocuments($docs);
-
- return $bulk->send();
- }
-
- /**
- * Update document, using update script. Requires elasticsearch >= 0.19.0
- *
- * @param int $id document id
- * @param array|\Elastica\Script|\Elastica\Document $data raw data for request body
- * @param string $index index to update
- * @param string $type type of index to update
- * @param array $options array of query params to use for query. For possible options check es api
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/api/update.html
- */
- public function updateDocument($id, $data, $index, $type, array $options = array())
- {
- $path = $index . '/' . $type . '/' . $id . '/_update';
-
- if ($data instanceof Script) {
- $requestData = $data->toArray();
-
- } elseif ($data instanceof Document) {
-
- $requestData = array('doc' => $data->getData());
-
- if ($data->getDocAsUpsert()) {
- $requestData['doc_as_upsert'] = true;
- }
-
- $docOptions = $data->getOptions(
- array(
- 'version',
- 'version_type',
- 'routing',
- 'percolate',
- 'parent',
- 'fields',
- 'retry_on_conflict',
- 'consistency',
- 'replication',
- 'refresh',
- 'timeout',
- )
- );
- $options += $docOptions;
- // set fields param to source only if options was not set before
- if ($data instanceof Document && ($data->isAutoPopulate()
- || $this->getConfigValue(array('document', 'autoPopulate'), false))
- && !isset($options['fields'])
- ) {
- $options['fields'] = '_source';
- }
- } else {
- $requestData = $data;
- }
-
- //If an upsert document exists
- if ($data instanceof Script || $data instanceof Document) {
-
- if ($data->hasUpsert()) {
- $requestData['upsert'] = $data->getUpsert()->getData();
- }
- }
-
- if (!isset($options['retry_on_conflict'])) {
- $retryOnConflict = $this->getConfig("retryOnConflict");
- $options['retry_on_conflict'] = $retryOnConflict;
- }
-
- $response = $this->request($path, Request::POST, $requestData, $options);
-
- if ($response->isOk()
- && $data instanceof Document
- && ($data->isAutoPopulate() || $this->getConfigValue(array('document', 'autoPopulate'), false))
- ) {
- $responseData = $response->getData();
- if (isset($responseData['_version'])) {
- $data->setVersion($responseData['_version']);
- }
- if (isset($options['fields'])) {
- $this->_populateDocumentFieldsFromResponse($response, $data, $options['fields']);
- }
- }
-
- return $response;
- }
-
- /**
- * @param \Elastica\Response $response
- * @param \Elastica\Document $document
- * @param string $fields Array of field names to be populated or '_source' if whole document data should be updated
- */
- protected function _populateDocumentFieldsFromResponse(Response $response, Document $document, $fields)
- {
- $responseData = $response->getData();
- if ('_source' == $fields) {
- if (isset($responseData['get']['_source']) && is_array($responseData['get']['_source'])) {
- $document->setData($responseData['get']['_source']);
- }
- } else {
- $keys = explode(',', $fields);
- $data = $document->getData();
- foreach ($keys as $key) {
- if (isset($responseData['get']['fields'][$key])) {
- $data[$key] = $responseData['get']['fields'][$key];
- } elseif (isset($data[$key])) {
- unset($data[$key]);
- }
- }
- $document->setData($data);
- }
- }
-
- /**
- * Bulk deletes documents
- *
- * @param array|\Elastica\Document[] $docs
- * @return \Elastica\Bulk\ResponseSet
- * @throws \Elastica\Exception\InvalidException
- */
- public function deleteDocuments(array $docs)
- {
- if (empty($docs)) {
- throw new InvalidException('Array has to consist of at least one element');
- }
-
- $bulk = new Bulk($this);
- $bulk->addDocuments($docs, Action::OP_TYPE_DELETE);
-
- return $bulk->send();
- }
-
- /**
- * Returns the status object for all indices
- *
- * @return \Elastica\Status Status object
- */
- public function getStatus()
- {
- return new Status($this);
- }
-
- /**
- * Returns the current cluster
- *
- * @return \Elastica\Cluster Cluster object
- */
- public function getCluster()
- {
- return new Cluster($this);
- }
-
- /**
- * @param \Elastica\Connection $connection
- * @return \Elastica\Client
- */
- public function addConnection(Connection $connection)
- {
- $this->_connections[] = $connection;
-
- return $this;
- }
-
- /**
- * Determines whether a valid connection is available for use.
- *
- * @return bool
- */
- public function hasConnection()
- {
- foreach ($this->_connections as $connection)
- {
- if ($connection->isEnabled())
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @throws \Elastica\Exception\ClientException
- * @return \Elastica\Connection
- */
- public function getConnection()
- {
- $enabledConnection = null;
-
- foreach ($this->_connections as $connection) {
- if ($connection->isEnabled()) {
- $enabledConnection = $connection;
- break;
- }
- }
-
- if (empty($enabledConnection)) {
- throw new ClientException('No enabled connection');
- }
-
- return $enabledConnection;
- }
-
- /**
- * @return \Elastica\Connection[]
- */
- public function getConnections()
- {
- return $this->_connections;
- }
-
- /**
- * @param \Elastica\Connection[] $connections
- * @return \Elastica\Client
- */
- public function setConnections(array $connections)
- {
- $this->_connections = $connections;
-
- return $this;
- }
-
- /**
- * Deletes documents with the given ids, index, type from the index
- *
- * @param array $ids Document ids
- * @param string|\Elastica\Index $index Index name
- * @param string|\Elastica\Type $type Type of documents
- * @param string|false $routing Optional routing key for all ids
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Bulk\ResponseSet Response object
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function deleteIds(array $ids, $index, $type, $routing = false)
- {
- if (empty($ids)) {
- throw new InvalidException('Array has to consist of at least one id');
- }
-
- $bulk = new Bulk($this);
- $bulk->setIndex($index);
- $bulk->setType($type);
-
- foreach ($ids as $id) {
- $action = new Action(Action::OP_TYPE_DELETE);
- $action->setId($id);
-
- if (!empty($routing)) {
- $action->setRouting($routing);
- }
-
- $bulk->addAction($action);
- }
-
- return $bulk->send();
- }
-
- /**
- * Bulk operation
- *
- * Every entry in the params array has to exactly on array
- * of the bulk operation. An example param array would be:
- *
- * array(
- * array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '1')),
- * array('user' => array('name' => 'hans')),
- * array('delete' => array('_index' => 'test', '_type' => 'user', '_id' => '2'))
- * );
- *
- * @param array $params Parameter array
- * @throws \Elastica\Exception\ResponseException
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Bulk\ResponseSet Response object
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function bulk(array $params)
- {
- if (empty($params)) {
- throw new InvalidException('Array has to consist of at least one param');
- }
-
- $bulk = new Bulk($this);
-
- $bulk->addRawData($params);
-
- return $bulk->send();
- }
-
- /**
- * Makes calls to the elasticsearch server based on this index
- *
- * It's possible to make any REST query directly over this method
- *
- * @param string $path Path to call
- * @param string $method Rest method to use (GET, POST, DELETE, PUT)
- * @param array $data OPTIONAL Arguments as array
- * @param array $query OPTIONAL Query params
- * @throws Exception\ConnectionException|\Exception
- * @return \Elastica\Response Response object
- */
- public function request($path, $method = Request::GET, $data = array(), array $query = array())
- {
- $connection = $this->getConnection();
- try {
- $request = new Request($path, $method, $data, $query, $connection);
-
- $this->_log($request);
-
- $response = $request->send();
-
- $this->_lastRequest = $request;
- $this->_lastResponse = $response;
-
- return $response;
-
- } catch (ConnectionException $e) {
- $connection->setEnabled(false);
-
- // Calls callback with connection as param to make it possible to persist invalid connections
- if ($this->_callback) {
- call_user_func($this->_callback, $connection, $e, $this);
- }
-
- // In case there is no valid connection left, throw exception which caused the disabling of the connection.
- if (!$this->hasConnection())
- {
- throw $e;
- }
- return $this->request($path, $method, $data, $query);
- }
- }
-
- /**
- * Optimizes all search indices
- *
- * @param array $args OPTIONAL Optional arguments
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-optimize.html
- */
- public function optimizeAll($args = array())
- {
- return $this->request('_optimize', Request::POST, array(), $args);
- }
-
- /**
- * Refreshes all search indices
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-refresh.html
- */
- public function refreshAll()
- {
- return $this->request('_refresh', Request::POST);
- }
-
- /**
- * logging
- *
- * @param string|\Elastica\Request $context
- * @throws Exception\RuntimeException
- */
- protected function _log($context)
- {
- $log = $this->getConfig('log');
- if ($log && !class_exists('Psr\Log\AbstractLogger')) {
- throw new RuntimeException('Class Psr\Log\AbstractLogger not found');
- } elseif (!$this->_logger && $log) {
- $this->setLogger(new Log($this->getConfig('log')));
- }
- if ($this->_logger) {
- if ($context instanceof Request) {
- $data = $context->toArray();
- } else {
- $data = array('message' => $context);
- }
- $this->_logger->debug('logging Request', $data);
- }
- }
-
- /**
- * @return \Elastica\Request
- */
- public function getLastRequest()
- {
- return $this->_lastRequest;
- }
-
- /**
- * @return \Elastica\Response
- */
- public function getLastResponse()
- {
- return $this->_lastResponse;
- }
-
- /**
- * set Logger
- *
- * @param LoggerInterface $logger
- * @return $this
- */
- public function setLogger(LoggerInterface $logger)
- {
- $this->_logger = $logger;
-
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Cluster.php b/vendor/ruflin/elastica/lib/Elastica/Cluster.php
deleted file mode 100644
index ac5acf76..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Cluster.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Cluster\Health;
-use Elastica\Cluster\Settings;
-use Elastica\Exception\NotImplementedException;
-
-/**
- * Cluster informations for elasticsearch
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/
- */
-class Cluster
-{
- /**
- * Client
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * Cluster state response.
- *
- * @var \Elastica\Response
- */
- protected $_response;
-
- /**
- * Cluster state data.
- *
- * @var array
- */
- protected $_data;
-
- /**
- * Creates a cluster object
- *
- * @param \Elastica\Client $client Connection client object
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- $this->refresh();
- }
-
- /**
- * Refreshes all cluster information (state)
- */
- public function refresh()
- {
- $path = '_cluster/state';
- $this->_response = $this->_client->request($path, Request::GET);
- $this->_data = $this->getResponse()->getData();
- }
-
- /**
- * Returns the response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Return list of index names
- *
- * @return array List of index names
- */
- public function getIndexNames()
- {
- $metaData = $this->_data['metadata']['indices'];
-
- $indices = array();
- foreach ($metaData as $key => $value) {
- $indices[] = $key;
- }
-
- return $indices;
- }
-
- /**
- * Returns the full state of the cluster
- *
- * @return array State array
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-state.html
- */
- public function getState()
- {
- return $this->_data;
- }
-
- /**
- * Returns a list of existing node names
- *
- * @return array List of node names
- */
- public function getNodeNames()
- {
- $data = $this->getState();
-
- return array_keys($data['routing_nodes']['nodes']);
- }
-
- /**
- * Returns all nodes of the cluster
- *
- * @return \Elastica\Node[]
- */
- public function getNodes()
- {
- $nodes = array();
- foreach ($this->getNodeNames() as $name) {
- $nodes[] = new Node($name, $this->getClient());
- }
-
- return $nodes;
- }
-
- /**
- * Returns the client object
- *
- * @return \Elastica\Client Client object
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * Returns the cluster information (not implemented yet)
- *
- * @param array $args Additional arguments
- * @throws \Elastica\Exception\NotImplementedException
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-info.html
- */
- public function getInfo(array $args)
- {
- throw new NotImplementedException('not implemented yet');
- }
-
- /**
- * Return Cluster health
- *
- * @return \Elastica\Cluster\Health
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-health.html
- */
- public function getHealth()
- {
- return new Health($this->getClient());
- }
-
- /**
- * Return Cluster settings
- *
- * @return \Elastica\Cluster\Settings
- */
- public function getSettings()
- {
- return new Settings($this->getClient());
- }
-
- /**
- * Shuts down the complete cluster
- *
- * @param string $delay OPTIONAL Seconds to shutdown cluster after (default = 1s)
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown.html
- */
- public function shutdown($delay = '1s')
- {
- $path = '_shutdown?delay=' . $delay;
-
- return $this->_client->request($path, Request::POST);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health.php b/vendor/ruflin/elastica/lib/Elastica/Cluster/Health.php
deleted file mode 100644
index 18c77cfc..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health.php
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-
-namespace Elastica\Cluster;
-use Elastica\Client;
-use Elastica\Cluster\Health\Index;
-use Elastica\Request;
-
-/**
- * Elastic cluster health.
- *
- * @package Elastica
- * @author Ray Ward <ray.ward@bigcommerce.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-health.html
- */
-class Health
-{
- /**
- * Elastica client.
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * The cluster health data.
- *
- * @var array
- */
- protected $_data = null;
-
- /**
- * @param \Elastica\Client $client The Elastica client.
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- $this->refresh();
- }
-
- /**
- * Retrieves the health data from the cluster.
- *
- * @return array
- */
- protected function _retrieveHealthData()
- {
- $path = '_cluster/health?level=shards';
- $response = $this->_client->request($path, Request::GET);
-
- return $response->getData();
- }
-
- /**
- * Gets the health data.
- *
- * @return array
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Refreshes the health data for the cluster.
- *
- * @return \Elastica\Cluster\Health
- */
- public function refresh()
- {
- $this->_data = $this->_retrieveHealthData();
-
- return $this;
- }
-
- /**
- * Gets the name of the cluster.
- *
- * @return string
- */
- public function getClusterName()
- {
- return $this->_data['cluster_name'];
- }
-
- /**
- * Gets the status of the cluster.
- *
- * @return string green, yellow or red.
- */
- public function getStatus()
- {
- return $this->_data['status'];
- }
-
- /**
- * TODO determine the purpose of this.
- *
- * @return bool
- */
- public function getTimedOut()
- {
- return $this->_data['timed_out'];
- }
-
- /**
- * Gets the number of nodes in the cluster.
- *
- * @return int
- */
- public function getNumberOfNodes()
- {
- return $this->_data['number_of_nodes'];
- }
-
- /**
- * Gets the number of data nodes in the cluster.
- *
- * @return int
- */
- public function getNumberOfDataNodes()
- {
- return $this->_data['number_of_data_nodes'];
- }
-
- /**
- * Gets the number of active primary shards.
- *
- * @return int
- */
- public function getActivePrimaryShards()
- {
- return $this->_data['active_primary_shards'];
- }
-
- /**
- * Gets the number of active shards.
- *
- * @return int
- */
- public function getActiveShards()
- {
- return $this->_data['active_shards'];
- }
-
- /**
- * Gets the number of relocating shards.
- *
- * @return int
- */
- public function getRelocatingShards()
- {
- return $this->_data['relocating_shards'];
- }
-
- /**
- * Gets the number of initializing shards.
- *
- * @return int
- */
- public function getInitializingShards()
- {
- return $this->_data['initializing_shards'];
- }
-
- /**
- * Gets the number of unassigned shards.
- *
- * @return int
- */
- public function getUnassignedShards()
- {
- return $this->_data['unassigned_shards'];
- }
-
- /**
- * Gets the status of the indices.
- *
- * @return \Elastica\Cluster\Health\Index[]
- */
- public function getIndices()
- {
- $indices = array();
- foreach ($this->_data['indices'] as $indexName => $index) {
- $indices[] = new Index($indexName, $index);
- }
-
- return $indices;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php b/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php
deleted file mode 100644
index c39e94c3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Index.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
-namespace Elastica\Cluster\Health;
-
-/**
- * Wraps status information for an index.
- *
- * @package Elastica
- * @author Ray Ward <ray.ward@bigcommerce.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-health.html
- */
-class Index
-{
- /**
- * The name of the index.
- *
- * @var string
- */
- protected $_name;
-
- /**
- * The index health data.
- *
- * @var array
- */
- protected $_data;
-
- /**
- * @param string $name The name of the index.
- * @param array $data The index health data.
- */
- public function __construct($name, $data)
- {
- $this->_name = $name;
- $this->_data = $data;
- }
-
- /**
- * Gets the name of the index.
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Gets the status of the index.
- *
- * @return string green, yellow or red.
- */
- public function getStatus()
- {
- return $this->_data['status'];
- }
-
- /**
- * Gets the number of nodes in the index.
- *
- * @return int
- */
- public function getNumberOfShards()
- {
- return $this->_data['number_of_shards'];
- }
-
- /**
- * Gets the number of data nodes in the index.
- *
- * @return int
- */
- public function getNumberOfReplicas()
- {
- return $this->_data['number_of_replicas'];
- }
-
- /**
- * Gets the number of active primary shards.
- *
- * @return int
- */
- public function getActivePrimaryShards()
- {
- return $this->_data['active_primary_shards'];
- }
-
- /**
- * Gets the number of active shards.
- *
- * @return int
- */
- public function getActiveShards()
- {
- return $this->_data['active_shards'];
- }
-
- /**
- * Gets the number of relocating shards.
- *
- * @return int
- */
- public function getRelocatingShards()
- {
- return $this->_data['relocating_shards'];
- }
-
- /**
- * Gets the number of initializing shards.
- *
- * @return int
- */
- public function getInitializingShards()
- {
- return $this->_data['initializing_shards'];
- }
-
- /**
- * Gets the number of unassigned shards.
- *
- * @return int
- */
- public function getUnassignedShards()
- {
- return $this->_data['unassigned_shards'];
- }
-
- /**
- * Gets the health of the shards in this index.
- *
- * @return \Elastica\Cluster\Health\Shard[]
- */
- public function getShards()
- {
- $shards = array();
- foreach ($this->_data['shards'] as $shardNumber => $shard) {
- $shards[] = new Shard($shardNumber, $shard);
- }
-
- return $shards;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php b/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php
deleted file mode 100644
index a5da08ae..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Cluster/Health/Shard.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-namespace Elastica\Cluster\Health;
-
-/**
- * Wraps status information for a shard.
- *
- * @package Elastica
- * @author Ray Ward <ray.ward@bigcommerce.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-health.html
- */
-class Shard
-{
- /**
- * The shard index/number.
- *
- * @var int
- */
- protected $_shardNumber;
-
- /**
- * The shard health data.
- *
- * @var array
- */
- protected $_data;
-
- /**
- * @param int $shardNumber The shard index/number.
- * @param array $data The shard health data.
- */
- public function __construct($shardNumber, $data)
- {
- $this->_shardNumber = $shardNumber;
- $this->_data = $data;
- }
-
- /**
- * Gets the index/number of this shard.
- *
- * @return int
- */
- public function getShardNumber()
- {
- return $this->_shardNumber;
- }
-
- /**
- * Gets the status of this shard.
- *
- * @return string green, yellow or red.
- */
- public function getStatus()
- {
- return $this->_data['status'];
- }
-
- /**
- * Is the primary active?
- *
- * @return bool
- */
- public function isPrimaryActive()
- {
- return $this->_data['primary_active'];
- }
-
- /**
- * Is this shard active?
- *
- * @return bool
- */
- public function isActive()
- {
- return $this->_data['active_shards'] == 1;
- }
-
- /**
- * Is this shard relocating?
- *
- * @return bool
- */
- public function isRelocating()
- {
- return $this->_data['relocating_shards'] == 1;
- }
-
- /**
- * Is this shard initialized?
- *
- * @return bool
- */
- public function isInitialized()
- {
- return $this->_data['initializing_shards'] == 1;
- }
-
- /**
- * Is this shard unassigned?
- *
- * @return bool
- */
- public function isUnassigned()
- {
- return $this->_data['unassigned_shards'] == 1;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Cluster/Settings.php b/vendor/ruflin/elastica/lib/Elastica/Cluster/Settings.php
deleted file mode 100644
index 8166dda3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Cluster/Settings.php
+++ /dev/null
@@ -1,197 +0,0 @@
-<?php
-
-namespace Elastica\Cluster;
-
-use Elastica\Client;
-use Elastica\Request;
-
-/**
- * Cluster settings
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-update-settings.html
- */
-class Settings
-{
- /**
- * Client
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * Creates a cluster object
- *
- * @param \Elastica\Client $client Connection client object
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- }
-
- /**
- * Returns settings data
- *
- * @return array Settings data (persistent and transient)
- */
- public function get()
- {
- return $this->request()->getData();
- }
-
- /**
- * Returns the current persistent settings of the cluster
- *
- * If param is set, only specified setting is return.
- *
- * @param string $setting OPTIONAL Setting name to return
- * @return array|string|null Settings data
- */
- public function getPersistent($setting = '')
- {
- $data = $this->get();
- $settings = $data['persistent'];
-
- if (!empty($setting)) {
- if (isset($settings[$setting])) {
- return $settings[$setting];
- } else {
- return null;
- }
- }
-
- return $settings;
- }
-
- /**
- * Returns the current transient settings of the cluster
- *
- * If param is set, only specified setting is return.
- *
- * @param string $setting OPTIONAL Setting name to return
- * @return array|string|null Settings data
- */
- public function getTransient($setting = '')
- {
- $data = $this->get();
- $settings = $data['transient'];
-
- if (!empty($setting)) {
- if (isset($settings[$setting])) {
- return $settings[$setting];
- } else {
- if (strpos($setting, '.') !== false) {
- // convert dot notation to nested arrays
- $keys = explode('.', $setting);
- foreach ($keys as $key) {
- if (isset($settings[$key])) {
- $settings = $settings[$key];
- } else {
- return null;
- }
- }
- return $settings;
- }
- return null;
- }
- }
-
- return $settings;
- }
-
- /**
- * Sets persistent setting
- *
- * @param string $key
- * @param string $value
- * @return \Elastica\Response
- */
- public function setPersistent($key, $value)
- {
- return $this->set(
- array(
- 'persistent' => array(
- $key => $value
- )
- )
- );
- }
-
- /**
- * Sets transient settings
- *
- * @param string $key
- * @param string $value
- * @return \Elastica\Response
- */
- public function setTransient($key, $value)
- {
- return $this->set(
- array(
- 'transient' => array(
- $key => $value
- )
- )
- );
- }
-
- /**
- * Sets the cluster to read only
- *
- * Second param can be used to set it persistent
- *
- * @param bool $readOnly
- * @param bool $persistent
- * @return \Elastica\Response $response
- */
- public function setReadOnly($readOnly = true, $persistent = false)
- {
- $key = 'cluster.blocks.read_only';
-
- if ($persistent) {
- $response = $this->setPersistent($key, $readOnly);
- } else {
- $response = $this->setTransient($key, $readOnly);
- }
-
- return $response;
- }
-
- /**
- * Set settings for cluster
- *
- * @param array $settings Raw settings (including persistent or transient)
- * @return \Elastica\Response
- */
- public function set(array $settings)
- {
- return $this->request($settings, Request::PUT);
- }
-
- /**
- * Get the client
- *
- * @return \Elastica\Client
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * Sends settings request
- *
- * @param array $data OPTIONAL Data array
- * @param string $method OPTIONAL Transfer method (default = \Elastica\Request::GET)
- * @return \Elastica\Response Response object
- */
- public function request(array $data = array(), $method = Request::GET)
- {
- $path = '_cluster/settings';
-
- return $this->getClient()->request($path, $method, $data);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Connection.php b/vendor/ruflin/elastica/lib/Elastica/Connection.php
deleted file mode 100644
index b9d910c9..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Connection.php
+++ /dev/null
@@ -1,274 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Exception\InvalidException;
-use Elastica\Transport\AbstractTransport;
-
-/**
- * Elastica connection instance to an elasticasearch node
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Connection extends Param
-{
- /**
- * Default elastic search port
- */
- const DEFAULT_PORT = 9200;
-
- /**
- * Default host
- */
- const DEFAULT_HOST = 'localhost';
-
- /**
- * Default transport
- *
- * @var string
- */
- const DEFAULT_TRANSPORT = 'Http';
-
- /**
- * Number of seconds after a timeout occurs for every request
- * If using indexing of file large value necessary.
- */
- const TIMEOUT = 300;
-
- /**
- * Creates a new connection object. A connection is enabled by default
- *
- * @param array $params OPTIONAL Connection params: host, port, transport, timeout. All are optional
- */
- public function __construct(array $params = array())
- {
- $this->setParams($params);
- $this->setEnabled(true);
-
- // Set empty config param if not exists
- if (!$this->hasParam('config')) {
- $this->setParam('config', array());
- }
- }
-
- /**
- * @return int Server port
- */
- public function getPort()
- {
- return $this->hasParam('port')?$this->getParam('port'):self::DEFAULT_PORT;
- }
-
- /**
- * @param int $port
- * @return \Elastica\Connection
- */
- public function setPort($port)
- {
- return $this->setParam('port', (int) $port);
- }
-
- /**
- * @return string Host
- */
- public function getHost()
- {
- return $this->hasParam('host')?$this->getParam('host'):self::DEFAULT_HOST;
- }
-
- /**
- * @param string $host
- * @return \Elastica\Connection
- */
- public function setHost($host)
- {
- return $this->setParam('host', $host);
- }
-
- /**
- * @return string|null Host
- */
- public function getProxy()
- {
- return $this->hasParam('proxy')?$this->getParam('proxy'):null;
- }
-
- /**
- * Set proxy for http connections. Null is for environmental proxy,
- * empty string to disable proxy and proxy string to set actual http proxy.
- *
- * @see http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTPROXY
- * @param string|null $proxy
- * @return \Elastica\Connection
- */
- public function setProxy($proxy)
- {
- return $this->setParam('proxy', $proxy);
- }
-
- /**
- * @return string|array
- */
- public function getTransport()
- {
- return $this->hasParam('transport')?$this->getParam('transport'):self::DEFAULT_TRANSPORT;
- }
-
- /**
- * @param string|array $transport
- * @return \Elastica\Connection
- */
- public function setTransport($transport)
- {
- return $this->setParam('transport', $transport);
- }
-
- /**
- * @return string
- */
- public function getPath()
- {
- return $this->hasParam('path')?$this->getParam('path'):'';
- }
-
- /**
- * @param string $path
- * @return \Elastica\Connection
- */
- public function setPath($path)
- {
- return $this->setParam('path', $path);
- }
-
- /**
- * @param int $timeout Timeout in seconds
- * @return \Elastica\Connection
- */
- public function setTimeout($timeout)
- {
- return $this->setParam('timeout', $timeout);
- }
-
- /**
- * @return int Connection timeout in seconds
- */
- public function getTimeout()
- {
- return (int) $this->hasParam('timeout')?$this->getParam('timeout'):self::TIMEOUT;
- }
-
- /**
- * Enables a connection
- *
- * @param bool $enabled OPTIONAL (default = true)
- * @return \Elastica\Connection
- */
- public function setEnabled($enabled = true)
- {
- return $this->setParam('enabled', $enabled);
- }
-
- /**
- * @return bool True if enabled
- */
- public function isEnabled()
- {
- return (bool) $this->getParam('enabled');
- }
-
- /**
- * Returns an instance of the transport type
- *
- * @return \Elastica\Transport\AbstractTransport Transport object
- * @throws \Elastica\Exception\InvalidException If invalid transport type
- */
- public function getTransportObject()
- {
- $transport = $this->getTransport();
-
- return AbstractTransport::create($transport, $this);
- }
-
- /**
- * @return bool Returns true if connection is persistent. True by default
- */
- public function isPersistent()
- {
- return (bool) $this->hasParam('persistent')?$this->getParam('persistent'):true;
- }
-
- /**
- * @param array $config
- * @return \Elastica\Connection
- */
- public function setConfig(array $config)
- {
- return $this->setParam('config', $config);
- }
-
- /**
- * @param string $key
- * @param mixed $value
- * @return \Elastica\Connection
- */
- public function addConfig($key, $value)
- {
- $this->_params['config'][$key] = $value;
-
- return $this;
- }
-
- /**
- * @param string $key
- * @return bool
- */
- public function hasConfig($key)
- {
- $config = $this->getConfig();
-
- return isset($config[$key]);
- }
-
- /**
- * Returns a specific config key or the whole
- * config array if not set
- *
- * @param string $key Config key
- * @throws \Elastica\Exception\InvalidException
- * @return array|string Config value
- */
- public function getConfig($key = '')
- {
- $config = $this->getParam('config');
- if (empty($key)) {
- return $config;
- }
-
- if (!array_key_exists($key, $config)) {
- throw new InvalidException('Config key is not set: ' . $key);
- }
-
- return $config[$key];
- }
-
- /**
- * @param \Elastica\Connection|array $params Params to create a connection
- * @throws Exception\InvalidException
- * @return \Elastica\Connection
- */
- public static function create($params = array())
- {
- $connection = null;
-
- if ($params instanceof Connection) {
- $connection = $params;
- } elseif (is_array($params)) {
- $connection = new Connection($params);
- } else {
- throw new InvalidException('Invalid data type');
- }
-
- return $connection;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Document.php b/vendor/ruflin/elastica/lib/Elastica/Document.php
deleted file mode 100644
index 3f6b88de..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Document.php
+++ /dev/null
@@ -1,334 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Bulk\Action;
-use Elastica\Filter\Bool;
-use Elastica\Exception\NotImplementedException;
-
-/**
- * Single document stored in elastic search
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Document extends AbstractUpdateAction
-{
- const OP_TYPE_CREATE = Action::OP_TYPE_CREATE;
-
- /**
- * Document data
- *
- * @var array Document data
- */
- protected $_data = array();
-
- /**
- * Whether to use this document to upsert if the document does not exist.
- *
- * @var boolean
- */
- protected $_docAsUpsert = false;
-
- /**
- * @var boolean
- */
- protected $_autoPopulate = false;
-
- /**
- * Creates a new document
- *
- * @param int|string $id OPTIONAL $id Id is create if empty
- * @param array|string $data OPTIONAL Data array
- * @param string $type OPTIONAL Type name
- * @param string $index OPTIONAL Index name
- */
- public function __construct($id = '', $data = array(), $type = '', $index = '')
- {
- $this->setId($id);
- $this->setData($data);
- $this->setType($type);
- $this->setIndex($index);
- }
-
- /**
- * @param string $key
- * @return mixed
- */
- public function __get($key)
- {
- return $this->get($key);
- }
-
- /**
- * @param string $key
- * @param mixed $value
- */
- public function __set($key, $value)
- {
- $this->set($key, $value);
- }
-
- /**
- * @param string $key
- * @return bool
- */
- public function __isset($key)
- {
- return $this->has($key) && null !== $this->get($key);
- }
-
- /**
- * @param string $key
- */
- public function __unset($key)
- {
- $this->remove($key);
- }
-
- /**
- * @param string $key
- * @return mixed
- * @throws \Elastica\Exception\InvalidException
- */
- public function get($key)
- {
- if (!$this->has($key)) {
- throw new InvalidException("Field {$key} does not exist");
- }
- return $this->_data[$key];
- }
-
- /**
- * @param string $key
- * @param mixed $value
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Document
- */
- public function set($key, $value)
- {
- if (!is_array($this->_data)) {
- throw new InvalidException('Document data is serialized data. Data creation is forbidden.');
- }
- $this->_data[$key] = $value;
-
- return $this;
- }
-
- /**
- * @param string $key
- * @return bool
- */
- public function has($key)
- {
- return is_array($this->_data) && array_key_exists($key, $this->_data);
- }
-
- /**
- * @param string $key
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Document
- */
- public function remove($key)
- {
- if (!$this->has($key)) {
- throw new InvalidException("Field {$key} does not exist");
- }
- unset($this->_data[$key]);
-
- return $this;
- }
-
- /**
- * Adds the given key/value pair to the document
- *
- * @deprecated
- * @param string $key Document entry key
- * @param mixed $value Document entry value
- * @return \Elastica\Document
- */
- public function add($key, $value)
- {
- return $this->set($key, $value);
- }
-
- /**
- * Adds a file to the index
- *
- * To use this feature you have to call the following command in the
- * elasticsearch directory:
- * <code>
- * ./bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/1.6.0
- * </code>
- * This installs the tika file analysis plugin. More infos about supported formats
- * can be found here: {@link http://tika.apache.org/0.7/formats.html}
- *
- * @param string $key Key to add the file to
- * @param string $filepath Path to add the file
- * @param string $mimeType OPTIONAL Header mime type
- * @return \Elastica\Document
- */
- public function addFile($key, $filepath, $mimeType = '')
- {
- $value = base64_encode(file_get_contents($filepath));
-
- if (!empty($mimeType)) {
- $value = array('_content_type' => $mimeType, '_name' => $filepath, 'content' => $value,);
- }
-
- $this->set($key, $value);
-
- return $this;
- }
-
- /**
- * Add file content
- *
- * @param string $key Document key
- * @param string $content Raw file content
- * @return \Elastica\Document
- */
- public function addFileContent($key, $content)
- {
- return $this->set($key, base64_encode($content));
- }
-
- /**
- * Adds a geopoint to the document
- *
- * Geohashes are not yet supported
- *
- * @param string $key Field key
- * @param float $latitude Latitude value
- * @param float $longitude Longitude value
- * @link http://www.elasticsearch.org/guide/reference/mapping/geo-point-type.html
- * @return \Elastica\Document
- */
- public function addGeoPoint($key, $latitude, $longitude)
- {
- $value = array('lat' => $latitude, 'lon' => $longitude,);
-
- $this->set($key, $value);
-
- return $this;
- }
-
- /**
- * Overwrites the current document data with the given data
- *
- * @param array|string $data Data array
- * @return \Elastica\Document
- */
- public function setData($data)
- {
- $this->_data = $data;
-
- return $this;
- }
-
- /**
- * Returns the document data
- *
- * @return array|string Document data
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * @param \Elastica\Script $data
- * @throws NotImplementedException
- * @deprecated
- */
- public function setScript($data)
- {
- throw new NotImplementedException("setScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate");
- }
-
- /**
- * @throws NotImplementedException
- * @deprecated
- */
- public function getScript()
- {
- throw new NotImplementedException("getScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate");
- }
-
- /**
- * @throws NotImplementedException
- * @deprecated
- */
- public function hasScript()
- {
- throw new NotImplementedException("hasScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate");
- }
-
- /**
- * @param bool $value
- * @return \Elastica\Document
- */
- public function setDocAsUpsert($value)
- {
- $this->_docAsUpsert = (bool) $value;
-
- return $this;
- }
-
- /**
- * @return boolean
- */
- public function getDocAsUpsert()
- {
- return $this->_docAsUpsert;
- }
-
- /**
- * @param bool $autoPopulate
- * @return $this
- */
- public function setAutoPopulate($autoPopulate = true)
- {
- $this->_autoPopulate = (bool) $autoPopulate;
-
- return $this;
- }
-
- /**
- * @return bool
- */
- public function isAutoPopulate()
- {
- return $this->_autoPopulate;
- }
-
- /**
- * Returns the document as an array
- * @return array
- */
- public function toArray()
- {
- $doc = $this->getParams();
- $doc['_source'] = $this->getData();
-
- return $doc;
- }
-
- /**
- * @param array|\Elastica\Document $data
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Document
- */
- public static function create($data)
- {
- if ($data instanceof self) {
- return $data;
- } elseif (is_array($data)) {
- return new self('', $data);
- } else {
- throw new InvalidException('Failed to create document. Invalid data passed.');
- }
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php
deleted file mode 100644
index 6500e040..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/Response/ActionException.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Bulk\Response;
-
-use Elastica\Exception\BulkException;
-use Elastica\Bulk\Action;
-use Elastica\Bulk\Response;
-
-class ActionException extends BulkException
-{
- /**
- * @var \Elastica\Response
- */
- protected $_response;
-
- /**
- * @param \Elastica\Bulk\Response $response
- */
- public function __construct(Response $response)
- {
- $this->_response = $response;
-
- parent::__construct($this->getErrorMessage($response));
- }
-
- /**
- * @return \Elastica\Bulk\Action
- */
- public function getAction()
- {
- return $this->getResponse()->getAction();
- }
-
- /**
- * @return \Elastica\Bulk\Response
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * @param \Elastica\Bulk\Response $response
- * @return string
- */
- public function getErrorMessage(Response $response)
- {
- $error = $response->getError();
- $opType = $response->getOpType();
- $data = $response->getData();
-
- $path = '';
- if (isset($data['_index'])) {
- $path.= '/' . $data['_index'];
- }
- if (isset($data['_type'])) {
- $path.= '/' . $data['_type'];
- }
- if (isset($data['_id'])) {
- $path.= '/' . $data['_id'];
- }
- $message = "$opType: $path caused $error";
-
- return $message;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php
deleted file mode 100644
index 9df1b3e8..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/ResponseException.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Bulk;
-
-use Elastica\Bulk\ResponseSet;
-use Elastica\Exception\Bulk\Response\ActionException;
-use Elastica\Exception\BulkException;
-
-/**
- * Bulk Response exception
- *
- * @category Xodoa
- * @package Elastica
- */
-class ResponseException extends BulkException
-{
- /**
- * Response
- *
- * @var \Elastica\Bulk\ResponseSet ResponseSet object
- */
- protected $_responseSet;
-
- /**
- * @var \Elastica\Exception\Bulk\Response\ActionException[]
- */
- protected $_actionExceptions = array();
-
- /**
- * Construct Exception
- *
- * @param \Elastica\Bulk\ResponseSet $responseSet
- */
- public function __construct(ResponseSet $responseSet)
- {
- $this->_init($responseSet);
-
- $message = 'Error in one or more bulk request actions:' . PHP_EOL . PHP_EOL;
- $message.= $this->getActionExceptionsAsString();
-
- parent::__construct($message);
- }
-
- /**
- * @param \Elastica\Bulk\ResponseSet $responseSet
- */
- protected function _init(ResponseSet $responseSet)
- {
- $this->_responseSet = $responseSet;
-
- foreach ($responseSet->getBulkResponses() as $bulkResponse) {
- if ($bulkResponse->hasError()) {
- $this->_actionExceptions[] = new ActionException($bulkResponse);
- }
- }
- }
-
- /**
- * Returns bulk response set object
- *
- * @return \Elastica\Bulk\ResponseSet
- */
- public function getResponseSet()
- {
- return $this->_responseSet;
- }
-
- /**
- * Returns array of failed actions
- *
- * @return array Array of failed actions
- */
- public function getFailures()
- {
- $errors = array();
-
- foreach ($this->getActionExceptions() as $actionException) {
- $errors[] = $actionException->getMessage();
- }
-
- return $errors;
- }
-
- /**
- * @return \Elastica\Exception\Bulk\Response\ActionException[]
- */
- public function getActionExceptions()
- {
- return $this->_actionExceptions;
- }
-
- /**
- * @return string
- */
- public function getActionExceptionsAsString()
- {
- $message = '';
- foreach ($this->getActionExceptions() as $actionException) {
- $message.= $actionException->getMessage() . PHP_EOL;
- }
- return $message;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php
deleted file mode 100644
index 0b2d4d2e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Bulk/UdpException.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Bulk;
-
-use Elastica\Exception\BulkException;
-
-class UdpException extends BulkException
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/BulkException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/BulkException.php
deleted file mode 100644
index 6d384556..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/BulkException.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-class BulkException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/ClientException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/ClientException.php
deleted file mode 100644
index 00efd67d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/ClientException.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Client exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class ClientException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php
deleted file mode 100644
index 645c0eff..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/GuzzleException.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Connection;
-
-use Elastica\Exception\ConnectionException;
-use Elastica\Request;
-use Elastica\Response;
-use GuzzleHttp\Exception\TransferException;
-
-/**
- * Transport exception
- *
- * @package Elastica
- * @author Milan Magudia <milan@magudia.com>
- */
-class GuzzleException extends ConnectionException
-{
- /**
- * @var TransferException
- */
- protected $_guzzleException;
-
- /**
- * @param \GuzzleHttp\Exception\TransferException $guzzleException
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct(TransferException $guzzleException, Request $request = null, Response $response = null)
- {
- $this->_guzzleException = $guzzleException;
- $message = $this->getErrorMessage($this->getGuzzleException());
- parent::__construct($message, $request, $response);
- }
-
- /**
- * @param \GuzzleHttp\Exception\TransferException $guzzleException
- * @return string
- */
- public function getErrorMessage(TransferException $guzzleException)
- {
- return $guzzleException->getMessage();
- }
-
- /**
- * @return TransferException
- */
- public function getGuzzleException()
- {
- return $this->_guzzleException;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php
deleted file mode 100644
index 2a36fe48..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/HttpException.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Connection;
-
-use Elastica\Exception\ConnectionException;
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Connection exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class HttpException extends ConnectionException
-{
- /**
- * Error code / message
- *
- * @var string Error code / message
- */
- protected $_error = 0;
-
- /**
- * Construct Exception
- *
- * @param string $error Error
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct($error, Request $request = null, Response $response = null)
- {
- $this->_error = $error;
-
- $message = $this->getErrorMessage($this->getError());
- parent::__construct($message, $request, $response);
- }
-
- /**
- * Returns the error message corresponding to the error code
- * cUrl error code reference can be found here {@link http://curl.haxx.se/libcurl/c/libcurl-errors.html}
- *
- * @param string $error Error code
- * @return string Error message
- */
- public function getErrorMessage($error)
- {
- switch ($error) {
- case CURLE_UNSUPPORTED_PROTOCOL:
- $error = "Unsupported protocol";
- break;
- case CURLE_FAILED_INIT:
- $error = "Internal cUrl error?";
- break;
- case CURLE_URL_MALFORMAT:
- $error = "Malformed URL";
- break;
- case CURLE_COULDNT_RESOLVE_PROXY:
- $error = "Couldn't resolve proxy";
- break;
- case CURLE_COULDNT_RESOLVE_HOST:
- $error = "Couldn't resolve host";
- break;
- case CURLE_COULDNT_CONNECT:
- $error = "Couldn't connect to host, Elasticsearch down?";
- break;
- case 28:
- $error = "Operation timed out";
- break;
- default:
- $error = "Unknown error:" . $error;
- break;
- }
-
- return $error;
- }
-
- /**
- * Return Error code / message
- *
- * @return string Error code / message
- */
- public function getError()
- {
- return $this->_error;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php
deleted file mode 100644
index 0ca331c7..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/Connection/ThriftException.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace Elastica\Exception\Connection;
-
-use Elastica\Exception\ConnectionException;
-use Elastica\Request;
-use Elastica\Response;
-use Thrift\Exception\TException;
-
-/**
- * Transport exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Mikhail Shamin <munk13@gmail.com>
- */
-class ThriftException extends ConnectionException
-{
- /**
- * @var TException
- */
- protected $_thriftException;
-
- /**
- * @param \Thrift\Exception\TException $thriftException
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct(TException $thriftException, Request $request = null, Response $response = null)
- {
- $this->_thriftException = $thriftException;
- $message = $this->getErrorMessage($this->getThriftException());
- parent::__construct($message, $request, $response);
- }
-
- /**
- * @param \Thrift\Exception\TException $thriftException
- * @return string
- */
- public function getErrorMessage(TException $thriftException)
- {
- return $thriftException->getMessage();
- }
- /**
- * @return TException
- */
- public function getThriftException()
- {
- return $this->_thriftException;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php
deleted file mode 100644
index 35d60472..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/ConnectionException.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Connection exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class ConnectionException extends \RuntimeException implements ExceptionInterface
-{
- /**
- * Request
- *
- * @var \Elastica\Request Request object
- */
- protected $_request;
-
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response;
-
- /**
- * Construct Exception
- *
- * @param string $message Message
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct($message, Request $request = null, Response $response = null)
- {
- $this->_request = $request;
- $this->_response = $response;
-
- parent::__construct($message);
- }
-
- /**
- * Returns request object
- *
- * @return \Elastica\Request Request object
- */
- public function getRequest()
- {
- return $this->_request;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php
deleted file mode 100644
index 0f7509f9..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/ElasticsearchException.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Elasticsearch exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Ian Babrou <ibobrik@gmail.com>
- */
-class ElasticsearchException extends \Exception
-{
-
- const REMOTE_TRANSPORT_EXCEPTION = 'RemoteTransportException';
-
- /**
- * Elasticsearch exception name
- *
- * @var string|null
- */
- private $_exception;
-
- /**
- * Whether exception was local to server node or remote
- *
- * @var bool
- */
- private $_isRemote = false;
-
- /**
- * Constructs elasticsearch exception
- *
- * @param int $code Error code
- * @param string $error Error message from elasticsearch
- */
- public function __construct($code, $error)
- {
- $this->_parseError($error);
- parent::__construct($error, $code);
- }
-
- /**
- * Parse error message from elasticsearch
- *
- * @param string $error Error message
- */
- protected function _parseError($error)
- {
- $errors = explode(']; nested: ', $error);
-
- if (count($errors) == 1) {
- $this->_exception = $this->_extractException($errors[0]);
- } else {
- if ($this->_extractException($errors[0]) == self::REMOTE_TRANSPORT_EXCEPTION) {
- $this->_isRemote = true;
- $this->_exception = $this->_extractException($errors[1]);
- } else {
- $this->_exception = $this->_extractException($errors[0]);
- }
- }
- }
-
- /**
- * Extract exception name from error response
- *
- * @param string $error
- * @return null|string
- */
- protected function _extractException($error)
- {
- if (preg_match('/^(\w+)\[.*\]/', $error, $matches)) {
- return $matches[1];
- } else {
- return null;
- }
- }
-
- /**
- * Returns elasticsearch exception name
- *
- * @return string|null
- */
- public function getExceptionName()
- {
- return $this->_exception;
- }
-
- /**
- * Returns whether exception was local to server node or remote
- *
- * @return bool
- */
- public function isRemoteTransportException()
- {
- return $this->_isRemote;
- }
-
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php b/vendor/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php
deleted file mode 100644
index 746c9c81..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * General Elastica exception interface
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/InvalidException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/InvalidException.php
deleted file mode 100644
index ff4a4cd3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/InvalidException.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Invalid exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class InvalidException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php
deleted file mode 100644
index 3cf39911..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/JSONParseException.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * JSON Parse exception
- *
- * @package Elastica
- */
-class JSONParseException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php
deleted file mode 100644
index 539b01c2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/NotFoundException.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Not found exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class NotFoundException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php
deleted file mode 100644
index 49d3918b..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/NotImplementedException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Not implemented exception
- *
- * Is thrown if a function or feature is not implemented yet
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class NotImplementedException extends \BadMethodCallException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php
deleted file mode 100644
index f853bf96..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/PartialShardFailureException.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Partial shard failure exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Ian Babrou <ibobrik@gmail.com>
- */
-class PartialShardFailureException extends ResponseException
-{
-
- /**
- * Construct Exception
- *
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct(Request $request, Response $response)
- {
- parent::__construct($request, $response);
-
- $shardsStatistics = $response->getShardsStatistics();
- $this->message = JSON::stringify($shardsStatistics['failed']);
- }
-
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php
deleted file mode 100644
index 63244487..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Response exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class ResponseException extends \RuntimeException implements ExceptionInterface
-{
- /**
- * Request
- *
- * @var \Elastica\Request Request object
- */
- protected $_request = null;
-
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Construct Exception
- *
- * @param \Elastica\Request $request
- * @param \Elastica\Response $response
- */
- public function __construct(Request $request, Response $response)
- {
- $this->_request = $request;
- $this->_response = $response;
- parent::__construct($response->getError());
- }
-
- /**
- * Returns request object
- *
- * @return \Elastica\Request Request object
- */
- public function getRequest()
- {
- return $this->_request;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Returns elasticsearch exception
- *
- * @return ElasticsearchException
- */
- public function getElasticsearchException() {
- $response = $this->getResponse();
- $transfer = $response->getTransferInfo();
- $code = array_key_exists('http_code', $transfer) ? $transfer['http_code'] : 0;
-
- return new ElasticsearchException($code, $response->getError());
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php b/vendor/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php
deleted file mode 100644
index 5ee420e1..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Exception/RuntimeException.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace Elastica\Exception;
-
-/**
- * Client exception
- *
- * @category Xodoa
- * @package Elastica
- * @author Mikhail Shamin <munk13@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php b/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php
deleted file mode 100644
index 25cee812..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Param;
-use Elastica\Filter\AbstractFilter;
-use Elastica\Exception\InvalidException;
-
-/**
- * Abstract facet object. Should be extended by all facet types
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @author Jasper van Wanrooy <jasper@vanwanrooy.net>
- */
-abstract class AbstractFacet extends Param
-{
- /**
- * Holds the name of the facet.
- * @var string
- */
- protected $_name = '';
-
- /**
- * Holds all facet parameters.
- * @var array
- */
- protected $_facet = array();
-
- /**
- * Constructs a Facet object.
- *
- * @param string $name The name of the facet.
- */
- public function __construct($name)
- {
- $this->setName($name);
- }
-
- /**
- * Sets the name of the facet. It is automatically set by
- * the constructor.
- *
- * @param string $name The name of the facet.
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Facet\AbstractFacet
- */
- public function setName($name)
- {
- if (empty($name)) {
- throw new InvalidException('Facet name has to be set');
- }
- $this->_name = $name;
-
- return $this;
- }
-
- /**
- * Gets the name of the facet.
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Sets a filter for this facet.
- *
- * @param \Elastica\Filter\AbstractFilter $filter A filter to apply on the facet.
- * @return \Elastica\Facet\AbstractFacet
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->_setFacetParam('facet_filter', $filter->toArray());
- }
-
- /**
- * Sets the flag to either run the facet globally or bound to the
- * current search query. When not set, it defaults to the
- * Elasticsearch default value.
- *
- * @param bool $global Flag to either run the facet globally.
- * @return \Elastica\Facet\AbstractFacet
- */
- public function setGlobal($global = true)
- {
- return $this->_setFacetParam('global', (bool) $global);
- }
-
- /**
- * Sets the path to the nested document
- *
- * @param string $nestedPath Nested path
- * @return \Elastica\Facet\AbstractFacet
- */
- public function setNested($nestedPath)
- {
- return $this->_setFacetParam('nested', $nestedPath);
- }
-
- /**
- * Sets the scope
- *
- * @param string $scope Scope
- * @return \Elastica\Facet\AbstractFacet
- */
- public function setScope($scope)
- {
- return $this->_setFacetParam('scope', $scope);
- }
-
- /**
- * Basic definition of all specs of the facet. Each implementation
- * should override this function in order to set it's specific
- * settings.
- *
- * @return array
- */
- public function toArray()
- {
- return $this->_facet;
- }
-
- /**
- * Sets a param for the facet. Each facet implementation needs to take
- * care of handling their own params.
- *
- * @param string $key The key of the param to set.
- * @param mixed $value The value of the param.
- * @return \Elastica\Facet\AbstractFacet
- */
- protected function _setFacetParam($key, $value)
- {
- $this->_facet[$key] = $value;
-
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php b/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php
deleted file mode 100644
index 803f54a3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-/**
- * Implements the Date Histogram facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Raul Martinez Jr <juneym@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/date-histogram-facet.html
- * @link https://github.com/elasticsearch/elasticsearch/issues/591
- */
-class DateHistogram extends Histogram
-{
- /**
- * Set the time_zone parameter
- *
- * @param string $tzOffset
- * @return \Elastica\Facet\DateHistogram
- */
- public function setTimezone($tzOffset)
- {
- return $this->setParam('time_zone', $tzOffset);
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @throws \Elastica\Exception\InvalidException When the right fields haven't been set.
- * @return array
- */
- public function toArray()
- {
- /**
- * Set the range in the abstract as param.
- */
- $this->_setFacetParam('date_histogram', $this->_params);
-
- return $this->_facet;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php
deleted file mode 100644
index ed6f28b7..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Filter\AbstractFilter;
-
-/**
- * Filter facet
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/filter-facet.html
- */
-class Filter extends AbstractFacet
-{
- /**
- * Set the filter for the facet.
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Facet\Filter
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->_setFacetParam('filter', $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php b/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php
deleted file mode 100644
index a6f5e9ed..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-/**
- * Implements the Geo Cluster facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Konstantin Nikiforov <konstantin.nikiforov@gmail.com>
- * @link https://github.com/zenobase/geocluster-facet
- */
-class GeoCluster extends AbstractFacet {
-
- /**
- * @param string $fieldName
- * @return $this
- */
- public function setField($fieldName) {
- $this->setParam('field', $fieldName);
- return $this;
- }
-
- /**
- * @param double $factor
- * @return $this
- */
- public function setFactor($factor){
- $this->setParam('factor', $factor);
- return $this;
- }
-
- /**
- * @param boolean $showIds
- * @return $this
- */
- public function setShowIds($showIds) {
- $this->setParam('showIds', $showIds);
- return $this;
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @throws \Elastica\Exception\InvalidException When the right fields haven't been set.
- * @return array
- */
- public function toArray(){
- $this->_setFacetParam ('geo_cluster', $this->_params);
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php b/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php
deleted file mode 100644
index 35537986..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-/**
- * Implements the Geo Distance facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Gerard A. Matthew <gerard.matthew@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/geo-distance-facet.html
- */
-class GeoDistance extends AbstractFacet
-{
- /**
- * Sets the ranges for the facet all at once.
- * Sample ranges:
- * array (
- * array('to' => 50),
- * array('from' => 20, 'to' => 70),
- * array('from' => 70, 'to' => 120),
- * array('from' => 150)
- * )
- *
- * @param array $ranges Numerical array with range definitions.
- * @return \Elastica\Facet\GeoDistance
- */
- public function setRanges(array $ranges)
- {
- return $this->setParam('ranges', $ranges);
- }
-
- /**
- * Set the relative GeoPoint for the facet.
- *
- * @param string $typeField index type and field e.g foo.bar
- * @param float $latitude
- * @param float $longitude
- * @return \Elastica\Facet\GeoDistance
- */
- public function setGeoPoint($typeField, $latitude, $longitude)
- {
- return $this->setParam($typeField, array(
- "lat" => $latitude,
- "lon" => $longitude,
- ));
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @throws \Elastica\Exception\InvalidException When the right fields haven't been set.
- * @return array
- */
- public function toArray()
- {
- /**
- * Set the geo_distance in the abstract as param.
- */
- $this->_setFacetParam ('geo_distance', $this->_params);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php
deleted file mode 100644
index 68be6757..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-/**
- * Implements the Histogram facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Raul Martinez Jr <juneym@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/histogram-facet.html
- */
-class Histogram extends AbstractFacet
-{
- /**
- * Sets the field for histogram
- *
- * @param string $field The name of the field for the histogram
- * @return \Elastica\Facet\Histogram
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Set the value for interval
- *
- * @param string $interval
- * @return \Elastica\Facet\Histogram
- */
- public function setInterval($interval)
- {
- return $this->setParam('interval', $interval);
- }
-
- /**
- * Set the fields for key_field and value_field
- *
- * @param string $keyField Key field
- * @param string $valueField Value field
- * @return \Elastica\Facet\Histogram
- */
- public function setKeyValueFields($keyField, $valueField)
- {
- return $this->setParam('key_field', $keyField)->setParam('value_field', $valueField);
- }
-
- /**
- * Sets the key and value for this facet by script.
- *
- * @param string $keyScript Script to check whether it falls into the range.
- * @param string $valueScript Script to use for statistical calculations.
- * @return \Elastica\Facet\Histogram
- */
- public function setKeyValueScripts($keyScript, $valueScript)
- {
- return $this->setParam('key_script', $keyScript)
- ->setParam('value_script', $valueScript);
- }
-
- /**
- * Set the "params" essential to the a script
- *
- * @param array $params Associative array (key/value pair)
- * @return \Elastica\Facet\Histogram
- */
- public function setScriptParams(array $params)
- {
- return $this->setParam('params', $params);
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @throws \Elastica\Exception\InvalidException When the right fields haven't been set.
- * @return array
- */
- public function toArray()
- {
- /**
- * Set the range in the abstract as param.
- */
- $this->_setFacetParam('histogram', $this->_params);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php
deleted file mode 100644
index d43a2375..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Query\AbstractQuery;
-
-/**
- * Query facet
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/query-facet.html
- */
-class Query extends AbstractFacet
-{
- /**
- * Set the query for the facet.
- *
- * @param \Elastica\Query\AbstractQuery $query
- * @return \Elastica\Facet\Query
- */
- public function setQuery(AbstractQuery $query)
- {
- return $this->_setFacetParam('query', $query->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php
deleted file mode 100644
index 194f611a..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Implements the range facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Jasper van Wanrooy <jasper@vanwanrooy.net>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/range-facet.html
- */
-class Range extends AbstractFacet
-{
- /**
- * Sets the field for the range.
- *
- * @param string $field The name of the field for range.
- * @return \Elastica\Facet\Range
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Sets the fields by their separate key and value fields.
- *
- * @param string $keyField The key_field param for the range.
- * @param string $valueField The key_value param for the range.
- * @return \Elastica\Facet\Range
- */
- public function setKeyValueFields($keyField, $valueField)
- {
- return $this->setParam('key_field', $keyField)
- ->setParam('value_field', $valueField);
- }
-
- /**
- * Sets the key and value for this facet by script.
- *
- * @param string $keyScript Script to check whether it falls into the range.
- * @param string $valueScript Script to use for statistical calculations.
- *
- * @return \Elastica\Facet\Range
- */
- public function setKeyValueScripts($keyScript, $valueScript)
- {
- return $this->setParam('key_script', $keyScript)
- ->setParam('value_script', $valueScript);
- }
-
- /**
- * Sets the ranges for the facet all at once. Sample ranges:
- * array (
- * array('to' => 50),
- * array('from' => 20, 'to' 70),
- * array('from' => 70, 'to' => 120),
- * array('from' => 150)
- * )
- *
- * @param array $ranges Numerical array with range definitions.
- * @return \Elastica\Facet\Range
- */
- public function setRanges(array $ranges)
- {
- return $this->setParam('ranges', $ranges);
- }
-
- /**
- * Adds a range to the range facet.
- *
- * @param mixed $from The from for the range.
- * @param mixed $to The to for the range.
- * @return \Elastica\Facet\Range
- */
- public function addRange($from = null, $to = null)
- {
- if (!isset($this->_params['ranges']) || !is_array($this->_params['ranges'])) {
- $this->_params['ranges'] = array();
- }
-
- $range = array();
- if (isset($from)) {
- $range['from'] = $from;
- }
- if (isset($to)) {
- $range['to'] = $to;
- }
- $this->_params['ranges'][] = $range;
-
- return $this;
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @throws \Elastica\Exception\InvalidException When the right fields haven't been set.
- * @return array
- */
- public function toArray()
- {
- /**
- * Check the facet for validity.
- * There are three ways to set the key and value field for the range:
- * - a single field for both key and value; or
- * - separate fields for key and value; or
- * - separate scripts for key and value.
- */
- $fieldTypesSet = 0;
- if (isset($this->_params['field'])) {
- $fieldTypesSet++;
- }
- if (isset($this->_params['key_field'])) {
- $fieldTypesSet++;
- }
- if (isset($this->_params['key_script'])) {
- $fieldTypesSet++;
- }
-
- if ($fieldTypesSet === 0) {
- throw new InvalidException('Neither field, key_field nor key_script is set.');
- } elseif ($fieldTypesSet > 1) {
- throw new InvalidException('Either field, key_field and key_value or key_script and value_script should be set.');
- }
-
- /**
- * Set the range in the abstract as param.
- */
- $this->_setFacetParam('range', $this->_params);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php
deleted file mode 100644
index 71507b8f..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-/**
- * Implements the statistical facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Robert Katzki <robert@katzki.de>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/statistical-facet.html
- */
-class Statistical extends AbstractFacet
-{
- /**
- * Sets the field for the statistical query.
- *
- * @param string $field The field name for the statistical query.
- * @return \Elastica\Facet\Statistical
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Sets multiple fields for the statistical query.
- *
- * @param array $fields Numerical array with the fields for the statistical query.
- * @return \Elastica\Facet\Statistical
- */
- public function setFields(array $fields)
- {
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Sets a script to calculate statistical information
- *
- * @param string $script The script to do calculations on the statistical values
- * @return \Elastica\Facet\Statistical
- */
- public function setScript($script)
- {
- return $this->setParam('script', $script);
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @return array
- */
- public function toArray()
- {
- $this->_setFacetParam('statistical', $this->_params);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php
deleted file mode 100644
index c1dab800..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Script;
-
-/**
- * Implements the terms facet.
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @author Jasper van Wanrooy <jasper@vanwanrooy.net>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/terms-facet.html
- */
-class Terms extends AbstractFacet
-{
- /**
- * Holds the types of ordering which are allowed
- * by Elasticsearch.
- *
- * @var array
- */
- protected $_orderTypes = array('count', 'term', 'reverse_count', 'reverse_term');
-
- /**
- * Sets the field for the terms.
- *
- * @param string $field The field name for the terms.
- * @return \Elastica\Facet\Terms
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-
- /**
- * Sets the script for the term.
- *
- * @param string $script The script for the term.
- * @return \Elastica\Facet\Terms
- */
- public function setScript($script)
- {
- $script = Script::create($script);
- foreach ($script->toArray() as $param => $value) {
- $this->setParam($param, $value);
- }
-
- return $this;
- }
-
- /**
- * Sets multiple fields for the terms.
- *
- * @param array $fields Numerical array with the fields for the terms.
- * @return \Elastica\Facet\Terms
- */
- public function setFields(array $fields)
- {
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Sets the flag to return all available terms. When they
- * don't have a hit, they have a count of zero.
- *
- * @param bool $allTerms Flag to fetch all terms.
- * @return \Elastica\Facet\Terms
- */
- public function setAllTerms($allTerms)
- {
- return $this->setParam('all_terms', (bool) $allTerms);
- }
-
- /**
- * Sets the ordering type for this facet. Elasticsearch
- * internal default is count.
- *
- * @param string $type The order type to set use for sorting of the terms.
- * @throws \Elastica\Exception\InvalidException When an invalid order type was set.
- * @return \Elastica\Facet\Terms
- */
- public function setOrder($type)
- {
- if (!in_array($type, $this->_orderTypes)) {
- throw new InvalidException('Invalid order type: ' . $type);
- }
-
- return $this->setParam('order', $type);
- }
-
- /**
- * Set an array with terms which are omitted in the search.
- *
- * @param array $exclude Numerical array which includes all terms which needs to be ignored.
- * @return \Elastica\Facet\Terms
- */
- public function setExclude(array $exclude)
- {
- return $this->setParam('exclude', $exclude);
- }
-
- /**
- * Sets the amount of terms to be returned.
- *
- * @param int $size The amount of terms to be returned.
- * @return \Elastica\Facet\Terms
- */
- public function setSize($size)
- {
- return $this->setParam('size', (int) $size);
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @return array
- */
- public function toArray()
- {
- $this->_setFacetParam('terms', $this->_params);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php b/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php
deleted file mode 100644
index 61c6b39e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-namespace Elastica\Facet;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Implements the statistical facet on a per term basis.
- *
- * @category Xodoa
- * @package Elastica
- * @author Tom Michaelis <tom.michaelis@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/terms-stats-facet.html
- */
-class TermsStats extends AbstractFacet
-{
-
- /**
- * Holds the types of ordering which are allowed
- * by Elasticsearch.
- *
- * @var array
- */
- protected $_orderTypes = array('term', 'reverse_term', 'count', 'reverse_count',
- 'total', 'reverse_total', 'min', 'reverse_min', 'max', 'reverse_max', 'mean',
- 'reverse_mean');
-
- /**
- * Sets the key field for the query.
- *
- * @param string $keyField The key field name for the query.
- * @return \Elastica\Facet\TermsStats
- */
- public function setKeyField( $keyField )
- {
- return $this->setParam( 'key_field', $keyField );
- }
-
- /**
- * Sets a script to calculate statistical information on a per term basis
- *
- * @param string $valueScript The script to do calculations on the statistical values
- * @return \Elastica\Facet\TermsStats
- */
- public function setValueScript( $valueScript )
- {
- return $this->setParam( 'value_script', $valueScript );
- }
-
- /**
- * Sets the ordering type for this facet. Elasticsearch
- * internal default is count.
- *
- * @param string $type The order type to set use for sorting of the terms.
- * @throws \Elastica\Exception\InvalidException When an invalid order type was set.
- * @return \Elastica\Facet\TermsStats
- */
- public function setOrder($type)
- {
- if (!in_array($type, $this->_orderTypes)) {
- throw new InvalidException('Invalid order type: ' . $type);
- }
-
- return $this->setParam('order', $type);
- }
-
- /**
- * Sets a field to compute basic statistical results on
- *
- * @param string $valueField The field to compute statistical values for
- * @return \Elastica\Facet\TermsStats
- */
- public function setValueField( $valueField )
- {
- return $this->setParam( 'value_field', $valueField );
- }
-
- /**
- * Sets the amount of terms to be returned.
- *
- * @param int $size The amount of terms to be returned.
- * @return \Elastica\Facet\Terms
- */
- public function setSize($size)
- {
- return $this->setParam('size', (int) $size);
- }
-
- /**
- * Creates the full facet definition, which includes the basic
- * facet definition of the parent.
- *
- * @see \Elastica\Facet\AbstractFacet::toArray()
- * @return array
- */
- public function toArray()
- {
- $this->_setFacetParam( 'terms_stats', $this->_params );
-
- return parent::toArray();
- }
-
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php b/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php
deleted file mode 100644
index 665f155f..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractFilter.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Param;
-
-/**
- * Abstract filter object. Should be extended by all filter types
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/
- */
-abstract class AbstractFilter extends Param
-{
- /**
- * Sets the filter cache
- *
- * @param boolean $cached Cached
- * @return \Elastica\Filter\AbstractFilter
- */
- public function setCached($cached = true)
- {
- return $this->setParam('_cache', (bool) $cached);
- }
-
- /**
- * Sets the filter cache key
- *
- * @param string $cacheKey Cache key
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Filter\AbstractFilter
- */
- public function setCacheKey($cacheKey)
- {
- $cacheKey = (string) $cacheKey;
-
- if (empty($cacheKey)) {
- throw new InvalidException('Invalid parameter. Has to be a non empty string');
- }
-
- return $this->setParam('_cache_key', (string) $cacheKey);
- }
-
- /**
- * Sets the filter name
- *
- * @param string $name Name
- * @return \Elastica\Filter\AbstractFilter
- */
- public function setName($name)
- {
- return $this->setParam('_name', $name);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php b/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php
deleted file mode 100644
index 997ceab7..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoDistance.php
+++ /dev/null
@@ -1,190 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Geo distance filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-filter.html
- */
-abstract class AbstractGeoDistance extends AbstractFilter
-{
-
- const LOCATION_TYPE_GEOHASH = 'geohash';
- const LOCATION_TYPE_LATLON = 'latlon';
-
- /**
- * Location type
- *
- * Decides if this filter uses latitude/longitude or geohash for the location.
- * Values are "latlon" or "geohash".
- *
- * @var string
- */
- protected $_locationType = null;
-
- /**
- * Key
- *
- * @var string
- */
- protected $_key = null;
-
- /**
- * Latitude
- *
- * @var float
- */
- protected $_latitude = null;
-
- /**
- * Longitude
- *
- * @var float
- */
- protected $_longitude = null;
-
- /**
- * Geohash
- *
- * @var string
- */
- protected $_geohash = null;
-
- /**
- * Create GeoDistance object
- *
- * @param string $key Key
- * @param array|string $location Location as array or geohash: array('lat' => 48.86, 'lon' => 2.35) OR 'drm3btev3e86'
- * @internal param string $distance Distance
- */
- public function __construct($key, $location)
- {
- // Key
- $this->setKey($key);
- $this->setLocation($location);
- }
-
- /**
- * @param string $key
- * @return \Elastica\Filter\AbstractGeoDistance current filter
- */
- public function setKey($key)
- {
- $this->_key = $key;
-
- return $this;
- }
-
- /**
- * @param array|string $location
- * @return \Elastica\Filter\AbstractGeoDistance
- * @throws \Elastica\Exception\InvalidException
- */
- public function setLocation($location)
- {
- // Location
- if (is_array($location)) { // Latitude/Longitude
- // Latitude
- if (isset($location['lat'])) {
- $this->setLatitude($location['lat']);
- } else {
- throw new InvalidException('$location[\'lat\'] has to be set');
- }
-
- // Longitude
- if (isset($location['lon'])) {
- $this->setLongitude($location['lon']);
- } else {
- throw new InvalidException('$location[\'lon\'] has to be set');
- }
- } elseif (is_string($location)) { // Geohash
- $this->setGeohash($location);
- } else { // Invalid location
- throw new InvalidException('$location has to be an array (latitude/longitude) or a string (geohash)');
- }
-
- return $this;
- }
-
- /**
- * @param float $latitude
- * @return \Elastica\Filter\AbstractGeoDistance current filter
- */
- public function setLatitude($latitude)
- {
- $this->_latitude = (float) $latitude;
- $this->_locationType = self::LOCATION_TYPE_LATLON;
-
- return $this;
- }
-
- /**
- * @param float $longitude
- * @return \Elastica\Filter\AbstractGeoDistance current filter
- */
- public function setLongitude($longitude)
- {
- $this->_longitude = (float) $longitude;
- $this->_locationType = self::LOCATION_TYPE_LATLON;
-
- return $this;
- }
-
- /**
- * @param string $geohash
- * @return \Elastica\Filter\AbstractGeoDistance current filter
- */
- public function setGeohash($geohash)
- {
- $this->_geohash = $geohash;
- $this->_locationType = self::LOCATION_TYPE_GEOHASH;
-
- return $this;
- }
-
- /**
- * @return array|string
- * @throws \Elastica\Exception\InvalidException
- */
- protected function _getLocationData()
- {
- if ($this->_locationType === self::LOCATION_TYPE_LATLON) { // Latitude/longitude
- $location = array();
-
- if (isset($this->_latitude)) { // Latitude
- $location['lat'] = $this->_latitude;
- } else {
- throw new InvalidException('Latitude has to be set');
- }
-
- if (isset($this->_longitude)) { // Geohash
- $location['lon'] = $this->_longitude;
- } else {
- throw new InvalidException('Longitude has to be set');
- }
- } elseif ($this->_locationType === self::LOCATION_TYPE_GEOHASH) { // Geohash
- $location = $this->_geohash;
- } else { // Invalid location type
- throw new InvalidException('Invalid location type');
- }
-
- return $location;
- }
-
- /**
- * @see \Elastica\Param::toArray()
- * @throws \Elastica\Exception\InvalidException
- */
- public function toArray()
- {
- $this->setParam($this->_key, $this->_getLocationData());
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php b/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php
deleted file mode 100644
index 3585293b..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractGeoShape.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * geo_shape filter
- *
- * Filter pre-indexed shape definitions
- *
- * @category Xodoa
- * @package Elastica
- * @author Bennie Krijger <benniekrijger@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-shape-filter/
- */
-abstract class AbstractGeoShape extends AbstractFilter
-{
- const RELATION_INTERSECT = 'intersects';
- const RELATION_DISJOINT = 'disjoint';
- const RELATION_CONTAINS = 'within';
-
- /**
- * @var string $_path
- *
- * elasticsearch path of the pre-indexed shape
- */
- protected $_path;
-
- /**
- * @var string $_relation
- *
- * the relation of the 2 shaped: intersects, disjoint, within
- */
- protected $_relation = self::RELATION_INTERSECT;
-
- /**
- * @param string $relation
- */
- public function setRelation($relation)
- {
- $this->_relation = $relation;
- }
-
- /**
- * @return string
- */
- public function getRelation()
- {
- return $this->_relation;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php b/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php
deleted file mode 100644
index 53ef74cf..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/AbstractMulti.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Multi Abstract filter object. Should be extended by filter types composed of an array of sub filters
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-abstract class AbstractMulti extends AbstractFilter
-{
- /**
- * Filters
- * @var array
- */
- protected $_filters = array();
-
- /**
- * Add filter
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Filter\AbstractMulti
- */
- public function addFilter(AbstractFilter $filter)
- {
- $this->_filters[] = $filter->toArray();
-
- return $this;
- }
-
- /**
- * Set filters
- *
- * @param array $filters
- * @return \Elastica\Filter\AbstractMulti
- */
- public function setFilters(array $filters)
- {
- $this->_filters = array();
-
- foreach ($filters as $filter) {
- $this->addFilter($filter);
- }
-
- return $this;
- }
-
- /**
- * @return array Filters
- */
- public function getFilters()
- {
- return $this->_filters;
- }
-
- /**
- * @see \Elastica\Param::toArray()
- */
- public function toArray()
- {
- $data = parent::toArray();
- $name = $this->_getBaseName();
- $filterData = $data[$name];
-
- if (empty($filterData)) {
- $filterData = $this->_filters;
- } else {
- $filterData['filters'] = $this->_filters;
- }
-
- $data[$name] = $filterData;
-
- return $data;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Bool.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Bool.php
deleted file mode 100644
index aff708f8..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Bool.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Bool Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/bool-query.html
- */
-class Bool extends AbstractFilter
-{
- /**
- * @var float
- */
- protected $_boost = 1.0;
-
- /**
- * Must
- *
- * @var array
- */
- protected $_must = array();
-
- /**
- * Should
- *
- * @var array
- */
- protected $_should = array();
-
- /**
- * Must not
- *
- * @var array
- */
- protected $_mustNot = array();
-
- /**
- * Adds should filter
- *
- * @param array|\Elastica\Filter\AbstractFilter $args Filter data
- * @return \Elastica\Filter\Bool Current object
- */
- public function addShould($args)
- {
- return $this->_addFilter('should', $args);
- }
-
- /**
- * Adds must filter
- *
- * @param array|\Elastica\Filter\AbstractFilter $args Filter data
- * @return \Elastica\Filter\Bool Current object
- */
- public function addMust($args)
- {
- return $this->_addFilter('must', $args);
- }
-
- /**
- * Adds mustNot filter
- *
- * @param array|\Elastica\Filter\AbstractFilter $args Filter data
- * @return \Elastica\Filter\Bool Current object
- */
- public function addMustNot($args)
- {
- return $this->_addFilter('mustNot', $args);
- }
-
- /**
- * Adds general filter based on type
- *
- * @param string $type Filter type
- * @param array|\Elastica\Filter\AbstractFilter $args Filter data
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Filter\Bool Current object
- */
- protected function _addFilter($type, $args)
- {
- if ($args instanceof AbstractFilter) {
- $args = $args->toArray();
- }
- else if (!is_array($args)) {
- throw new InvalidException('Invalid parameter. Has to be array or instance of Elastica\Filter');
- }
- else{
- $parsedArgs = array();
- foreach($args as $filter){
- if($filter instanceof AbstractFilter){
- $parsedArgs[] = $filter->toArray();
- }
- }
- $args = $parsedArgs;
- }
-
- $varName = '_' . $type;
- $this->{$varName}[] = $args;
-
- return $this;
- }
-
- /**
- * Converts bool filter to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array Filter array
- */
- public function toArray()
- {
- $args = array();
-
- if (!empty($this->_must)) {
- $args['bool']['must'] = $this->_must;
- }
-
- if (!empty($this->_should)) {
- $args['bool']['should'] = $this->_should;
- }
-
- if (!empty($this->_mustNot)) {
- $args['bool']['must_not'] = $this->_mustNot;
- }
-
- return $args;
- }
-
- /**
- * Sets the boost value for this filter
- *
- * @param float $boost Boost
- * @return \Elastica\Filter\Bool Current object
- */
- public function setBoost($boost)
- {
- $this->_boost = $boost;
-
- return $this;
- }
-
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php b/vendor/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php
deleted file mode 100644
index 2fd19f8e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolAnd.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * And Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Lee Parker, Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/and-filter.html
- */
-class BoolAnd extends AbstractMulti
-{
- /**
- * @return string
- */
- protected function _getBaseName()
- {
- return 'and';
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolNot.php b/vendor/ruflin/elastica/lib/Elastica/Filter/BoolNot.php
deleted file mode 100644
index 1778997b..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolNot.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Not Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Lee Parker, Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/not-filter.html
- */
-class BoolNot extends AbstractFilter
-{
- /**
- * Creates Not filter query
- *
- * @param \Elastica\Filter\AbstractFilter $filter Filter object
- */
- public function __construct(AbstractFilter $filter)
- {
- $this->setFilter($filter);
- }
-
- /**
- * Set filter
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Filter\BoolNot
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam('filter', $filter->toArray());
- }
-
- /**
- * @return string
- */
- protected function _getBaseName()
- {
- return 'not';
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolOr.php b/vendor/ruflin/elastica/lib/Elastica/Filter/BoolOr.php
deleted file mode 100644
index 6f63fc30..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/BoolOr.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Or Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/or-filter.html
- */
-class BoolOr extends AbstractMulti
-{
- /**
- * @return string
- */
- protected function _getBaseName()
- {
- return 'or';
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Exists.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Exists.php
deleted file mode 100644
index 6fe43e3d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Exists.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Exists query
- *
- * @category Xodoa
- * @package Elastica
- * @author Oleg Cherniy <oleg.cherniy@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/exists-filter.html
- */
-class Exists extends AbstractFilter
-{
- /**
- * Construct exists filter
- *
- * @param string $field
- */
- public function __construct($field)
- {
- $this->setField($field);
- }
-
- /**
- * Set field
- *
- * @param string $field
- * @return \Elastica\Filter\Exists
- */
- public function setField($field)
- {
- return $this->setParam('field', $field);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php
deleted file mode 100644
index 1462e9af..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoBoundingBox.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Geo bounding box filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Fabian Vogler <fabian@equivalence.ch>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-bounding-box-filter.html
- */
-class GeoBoundingBox extends AbstractFilter
-{
- /**
- * Construct BoundingBoxFilter
- *
- * @param string $key Key
- * @param array $coordinates Array with top left coordinate as first and bottom right coordinate as second element
- */
- public function __construct($key, array $coordinates)
- {
- $this->addCoordinates($key, $coordinates);
- }
-
- /**
- * Add coordinates
- *
- * @param string $key Key
- * @param array $coordinates Array with top left coordinate as first and bottom right coordinate as second element
- * @throws \Elastica\Exception\InvalidException If $coordinates doesn't have two elements
- * @return \Elastica\Filter\GeoBoundingBox Current object
- */
- public function addCoordinates($key, array $coordinates)
- {
- if (!isset($coordinates[0]) || !isset($coordinates[1])) {
- throw new InvalidException('expected $coordinates to be an array with two elements');
- }
-
- $this->setParam($key, array(
- 'top_left' => $coordinates[0],
- 'bottom_right' => $coordinates[1]
- ));
-
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php
deleted file mode 100644
index 8e875365..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistance.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Geo distance filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-filter.html
- */
-class GeoDistance extends AbstractGeoDistance
-{
- const DISTANCE_TYPE_ARC = 'arc';
- const DISTANCE_TYPE_PLANE = 'plane';
-
- const OPTIMIZE_BBOX_MEMORY = 'memory';
- const OPTIMIZE_BBOX_INDEXED = 'indexed';
- const OPTIMIZE_BBOX_NONE = 'none';
-
- /**
- * Create GeoDistance object
- *
- * @param string $key Key
- * @param array|string $location Location as array or geohash: array('lat' => 48.86, 'lon' => 2.35) OR 'drm3btev3e86'
- * @param string $distance Distance
- * @throws \Elastica\Exception\InvalidException
- */
- public function __construct($key, $location, $distance)
- {
- parent::__construct($key, $location);
-
- $this->setDistance($distance);
- }
-
- /**
- * @param string $distance
- * @return \Elastica\Filter\GeoDistance current filter
- */
- public function setDistance($distance)
- {
- $this->setParam('distance', $distance);
-
- return $this;
- }
-
- /**
- * See DISTANCE_TYPE_* constants
- *
- * @param string $distanceType
- * @return \Elastica\Filter\GeoDistance current filter
- */
- public function setDistanceType($distanceType)
- {
- $this->setParam('distance_type', $distanceType);
-
- return $this;
- }
-
- /**
- * See OPTIMIZE_BBOX_* constants
- *
- * @param string $optimizeBbox
- * @return \Elastica\Filter\GeoDistance current filter
- */
- public function setOptimizeBbox($optimizeBbox)
- {
- $this->setParam('optimize_bbox', $optimizeBbox);
-
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php
deleted file mode 100644
index 230e5ebf..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoDistanceRange.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Geo distance filter
- *
- * @category Xodoa
- * @package Elastica
- * @author munkie
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-range-filter.html
- */
-class GeoDistanceRange extends AbstractGeoDistance
-{
- const RANGE_FROM = 'from';
- const RANGE_TO = 'to';
- const RANGE_LT = 'lt';
- const RANGE_LTE = 'lte';
- const RANGE_GT = 'gt';
- const RANGE_GTE = 'gte';
-
- const RANGE_INCLUDE_LOWER = 'include_lower';
- const RANGE_INCLUDE_UPPER = 'include_upper';
-
- /**
- * @var array
- */
- protected $_ranges = array();
-
- /**
- * @param string $key
- * @param array|string $location
- * @param array $ranges
- * @internal param string $distance
- */
- public function __construct($key, $location, array $ranges = array())
- {
- parent::__construct($key, $location);
-
- if (!empty($ranges)) {
- $this->setRanges($ranges);
- }
- }
-
- /**
- * @param array $ranges
- * @return \Elastica\Filter\GeoDistanceRange
- */
- public function setRanges(array $ranges)
- {
- $this->_ranges = array();
-
- foreach ($ranges as $key => $value) {
- $this->setRange($key, $value);
- }
-
- return $this;
- }
-
- /**
- * @param string $key
- * @param mixed $value
- * @return \Elastica\Filter\GeoDistanceRange
- * @throws \Elastica\Exception\InvalidException
- */
- public function setRange($key, $value)
- {
- switch ($key) {
- case self::RANGE_TO:
- case self::RANGE_FROM:
- case self::RANGE_GT:
- case self::RANGE_GTE:
- case self::RANGE_LT:
- case self::RANGE_LTE:
- break;
- case self::RANGE_INCLUDE_LOWER:
- case self::RANGE_INCLUDE_UPPER:
- $value = (boolean) $value;
- break;
- default:
- throw new InvalidException('Invalid range parameter given: ' . $key);
- }
- $this->_ranges[$key] = $value;
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- foreach ($this->_ranges as $key => $value) {
- $this->setParam($key, $value);
- }
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php
deleted file mode 100644
index fa12c035..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoPolygon.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Filter\AbstractFilter;
-
-/**
- * Geo polygon filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Michael Maclean <mgdm@php.net>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-polygon-filter.html
- */
-class GeoPolygon extends AbstractFilter
-{
- /**
- * Key
- *
- * @var string Key
- */
- protected $_key = '';
-
- /**
- * Points making up polygon
- *
- * @var array Points making up polygon
- */
- protected $_points = array();
-
- /**
- * Construct polygon filter
- *
- * @param string $key Key
- * @param array $points Points making up polygon
- */
- public function __construct($key, array $points)
- {
- $this->_key = $key;
- $this->_points = $points;
- }
-
- /**
- * Converts filter to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array
- */
- public function toArray()
- {
- return array(
- 'geo_polygon' => array(
- $this->_key => array(
- 'points' => $this->_points
- ),
- )
- );
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php
deleted file mode 100644
index 7e89f8a8..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapePreIndexed.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * geo_shape filter for pre-indexed shapes
- *
- * Filter pre-indexed shape definitions
- *
- * @category Xodoa
- * @package Elastica
- * @author Bennie Krijger <benniekrijger@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-shape-filter/
- */
-class GeoShapePreIndexed extends AbstractGeoShape
-{
- /**
- * elasticsearch id of the pre-indexed shape
- *
- * @var string
- */
- protected $_indexedId;
-
- /**
- * elasticsearch type of the pre-indexed shape
- *
- * @var string
- */
- protected $_indexedType;
-
- /**
- * elasticsearch index of the pre-indexed shape
- *
- * @var string
- */
- protected $_indexedIndex;
-
- /**
- * elasticsearch path/field name of the pre-indexed shape
- *
- * @var string
- */
- protected $_indexedPath;
-
- /**
- * Construct geo_shape filter with a pre-indexed shape
- *
- * @param string $path The path/field of the shape searched
- * @param string $indexedId Id of the pre-indexed shape
- * @param string $indexedType Type of the pre-indexed shape
- * @param string $indexedIndex Index of the pre-indexed shape
- * @param string $indexedPath Path of the pre-indexed shape
- */
- public function __construct($path, $indexedId, $indexedType, $indexedIndex, $indexedPath)
- {
- $this->_path = $path;
- $this->_indexedId = $indexedId;
- $this->_indexedType = $indexedType;
- $this->_indexedIndex = $indexedIndex;
- $this->_indexedPath = $indexedPath;
- }
-
- /**
- * Converts filter to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array
- */
- public function toArray()
- {
- return array(
- 'geo_shape' => array(
- $this->_path => array(
- 'indexed_shape' => array(
- 'id' => $this->_indexedId,
- 'type' => $this->_indexedType,
- 'index' => $this->_indexedIndex,
- 'path' => $this->_indexedPath
- ),
- 'relation' => $this->_relation
- )
- )
- );
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php
deleted file mode 100644
index 5a88c05f..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeoShapeProvided.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * geo_shape filter or provided shapes
- *
- * Filter provided shape definitions
- *
- * @category Xodoa
- * @package Elastica
- * @author BennieKrijger <benniekrijger@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geo-shape-filter/
- */
-class GeoShapeProvided extends AbstractGeoShape
-{
- const TYPE_ENVELOPE = 'envelope';
- const TYPE_MULTIPOINT = 'multipoint';
- const TYPE_POINT = 'point';
- const TYPE_MULTIPOLYGON = 'multipolygon';
- const TYPE_LINESTRING = 'linestring';
- const TYPE_POLYGON = 'polygon';
-
- /**
- * Type of the geo_shape
- *
- * @var string
- */
- protected $_shapeType;
-
- /**
- * Coordinates making up geo_shape
- *
- * @var array Coordinates making up geo_shape
- */
- protected $_coordinates;
-
- /**
- * Construct geo_shape filter
- *
- * @param string $path The path/field of the shape searched
- * @param array $coordinates Points making up the shape
- * @param string $shapeType Type of the geo_shape:
- * point, envelope, linestring, polygon,
- * multipoint or multipolygon
- */
- public function __construct($path, array $coordinates, $shapeType = self::TYPE_ENVELOPE)
- {
- $this->_path = $path;
- $this->_shapeType = $shapeType;
- $this->_coordinates = $coordinates;
- }
-
- /**
- * Converts filter to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array
- */
- public function toArray()
- {
- return array(
- 'geo_shape' => array(
- $this->_path => array(
- 'shape' => array(
- 'type' => $this->_shapeType,
- 'coordinates' => $this->_coordinates
- ),
- 'relation' => $this->_relation
- ),
- )
- );
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php b/vendor/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php
deleted file mode 100644
index d14b25fe..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/GeohashCell.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-
-/**
- * Class GeohashCell
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/geohash-cell-filter/
- */
-class GeohashCell extends AbstractGeoDistance
-{
- /**
- * @param string $key The field on which to filter
- * @param array|string $location Location as coordinates array or geohash string ['lat' => 40.3, 'lon' => 45.2]
- * @param $precision Integer length of geohash prefix or distance (3, or "50m")
- * @param bool $neighbors If true, filters cells next to the given cell.
- */
- public function __construct($key, $location, $precision = -1, $neighbors = false)
- {
- parent::__construct($key, $location);
- $this->setPrecision($precision);
- $this->setNeighbors($neighbors);
- }
-
- /**
- * Set the precision for this filter
- * @param string|int $precision Integer length of geohash prefix or distance (3, or "50m")
- * @return \Elastica\Filter\GeohashCell
- */
- public function setPrecision($precision)
- {
- return $this->setParam('precision', $precision);
- }
-
- /**
- * Set the neighbors option for this filter
- * @param bool $neighbors If true, filters cells next to the given cell.
- * @return \Elastica\Filter\GeohashCell
- */
- public function setNeighbors($neighbors)
- {
- return $this->setParam('neighbors', (bool)$neighbors);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/HasChild.php b/vendor/ruflin/elastica/lib/Elastica/Filter/HasChild.php
deleted file mode 100644
index e8c6ab96..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/HasChild.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Returns parent documents having child docs matching the query
- *
- * @category Xodoa
- * @package Elastica
- * @author Fabian Vogler <fabian@equivalence.ch>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/has-child-filter.html
- */
-class HasChild extends AbstractFilter
-{
- /**
- * Construct HasChild filter
- *
- * @param string|\Elastica\Query|\Elastica\Filter\AbstractFilter $query Query string or a Elastica\Query object or a filter
- * @param string $type Parent document type
- */
- public function __construct($query, $type = null)
- {
- $this->setType($type);
- if ($query instanceof AbstractFilter) {
- $this->setFilter($query);
- } else {
- $this->setQuery($query);
- }
- }
-
- /**
- * Sets query object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Filter\HasChild Current object
- */
- public function setQuery($query)
- {
- $query = \Elastica\Query::create($query);
- $data = $query->toArray();
-
- return $this->setParam('query', $data['query']);
- }
-
- /**
- * Sets the filter object
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Filter\HasChild Current object
- */
- public function setFilter($filter)
- {
- $data = $filter->toArray();
- return $this->setParam('filter', $data);
- }
-
- /**
- * Set type of the parent document
- *
- * @param string $type Parent document type
- * @return \Elastica\Filter\HasChild Current object
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-
- /**
- * Sets the scope
- *
- * @param string $scope Scope
- * @return \Elastica\Filter\HasChild Current object
- */
- public function setScope($scope)
- {
- return $this->setParam('_scope', $scope);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/HasParent.php b/vendor/ruflin/elastica/lib/Elastica/Filter/HasParent.php
deleted file mode 100644
index de49e470..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/HasParent.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Returns child documents having parent docs matching the query
- *
- * @category Xodoa
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/has-parent-filter.html
- */
-class HasParent extends AbstractFilter
-{
- /**
- * Construct HasParent filter
- *
- * @param string|\Elastica\Query|\Elastica\Filter\AbstractFilter $query Query string or a Query object or a filter
- * @param string $type Parent document type
- */
- public function __construct($query, $type)
- {
- if ($query instanceof AbstractFilter) {
- $this->setFilter($query);
- } else {
- $this->setQuery($query);
- }
- $this->setType($type);
- }
-
- /**
- * Sets query object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setQuery($query)
- {
- $query = \Elastica\Query::create($query);
- $data = $query->toArray();
-
- return $this->setParam('query', $data['query']);
- }
-
- /**
- * Sets query object
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setFilter($filter)
- {
- $data = $filter->toArray();
- return $this->setParam('filter', $data);
- }
-
- /**
- * Set type of the parent document
- *
- * @param string $type Parent document type
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-
- /**
- * Sets the scope
- *
- * @param string $scope Scope
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setScope($scope)
- {
- return $this->setParam('_scope', $scope);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Ids.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Ids.php
deleted file mode 100644
index fd1d9770..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Ids.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Type as ElasticaType;
-
-/**
- * Ids Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Lee Parker, Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/ids-filter.html
- */
-class Ids extends AbstractFilter
-{
- /**
- * Creates filter object
- *
- * @param string|\Elastica\Type $type Type to filter on
- * @param array $ids List of ids
- */
- public function __construct($type = null, array $ids = array())
- {
- $this->setType($type);
- $this->setIds($ids);
- }
-
- /**
- * Adds one more filter to the and filter
- *
- * @param string $id Adds id to filter
- * @return \Elastica\Filter\Ids Current object
- */
- public function addId($id)
- {
- return $this->addParam('values', $id);
- }
-
- /**
- * Adds one more type to query
- *
- * @param string|\Elastica\Type $type Type name or object
- * @return \Elastica\Filter\Ids Current object
- */
- public function addType($type)
- {
- if ($type instanceof ElasticaType) {
- $type = $type->getName();
- } elseif (empty($type) && !is_numeric($type)) {
- // TODO: Shouldn't this throw an exception?
- // A type can be 0, but cannot be empty
- return $this;
- }
-
- return $this->addParam('type', $type);
- }
-
- /**
- * Set type
- *
- * @param string|\Elastica\Type $type Type name or object
- * @return \Elastica\Filter\Ids Current object
- */
- public function setType($type)
- {
- if ($type instanceof ElasticaType) {
- $type = $type->getName();
- } elseif (empty($type) && !is_numeric($type)) {
- // TODO: Shouldn't this throw an exception or let handling of invalid params to ES?
- // A type can be 0, but cannot be empty
- return $this;
- }
-
- return $this->setParam('type', $type);
- }
-
- /**
- * Sets the ids to filter
- *
- * @param array|string $ids List of ids
- * @return \Elastica\Filter\Ids Current object
- */
- public function setIds($ids)
- {
- if (!is_array($ids)) {
- $ids = array($ids);
- }
-
- return $this->setParam('values', $ids);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Indices.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Indices.php
deleted file mode 100644
index 66ca5965..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Indices.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-
-/**
- * Class Indices
- * @package Elastica\Filter
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/query-dsl-indices-filter.html
- */
-class Indices extends AbstractFilter
-{
- /**
- * @param AbstractFilter $filter filter which will be applied to docs in the specified indices
- * @param string[] $indices
- */
- public function __construct(AbstractFilter $filter, array $indices)
- {
- $this->setIndices($indices)->setFilter($filter);
- }
-
- /**
- * Set the names of the indices on which this filter should be applied
- * @param string[] $indices
- * @return Indices
- */
- public function setIndices(array $indices)
- {
- return $this->setParam('indices', $indices);
- }
-
- /**
- * Set the filter to be applied to docs in the specified indices
- * @param AbstractFilter $filter
- * @return Indices
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam('filter', $filter->toArray());
- }
-
- /**
- * Set the filter to be applied to docs in indices which do not match those specified in the "indices" parameter
- * @param AbstractFilter $filter
- * @return Indices
- */
- public function setNoMatchFilter(AbstractFilter $filter)
- {
- return $this->setParam('no_match_filter', $filter->toArray());
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Limit.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Limit.php
deleted file mode 100644
index e02853ae..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Limit.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Limit Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/limit-filter.html
- */
-class Limit extends AbstractFilter
-{
- /**
- * Construct limit filter
- *
- * @param int $limit Limit
- * @return \Elastica\Filter\Limit
- */
- public function __construct($limit)
- {
- $this->setLimit($limit);
- }
-
- /**
- * Set the limit
- *
- * @param int $limit Limit
- * @return \Elastica\Filter\Limit
- */
- public function setLimit($limit)
- {
- return $this->setParam('value', (int) $limit);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/MatchAll.php b/vendor/ruflin/elastica/lib/Elastica/Filter/MatchAll.php
deleted file mode 100644
index a69b65a2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/MatchAll.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Match all filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/match-all-filter.html
- */
-class MatchAll extends AbstractFilter
-{
- /**
- * Creates match all filter
- */
- public function __construct()
- {
- $this->_params = new \stdClass();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Missing.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Missing.php
deleted file mode 100644
index df8466a8..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Missing.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Missing Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Maciej Wiercinski <maciej@wiercinski.net>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/missing-filter.html
- */
-class Missing extends AbstractFilter
-{
- /**
- * Construct missing filter
- *
- * @param string $field OPTIONAL
- */
- public function __construct($field = '')
- {
- if (strlen($field)) {
- $this->setField($field);
- }
- }
-
- /**
- * Set field
- *
- * @param string $field
- * @return \Elastica\Filter\Missing
- */
- public function setField($field)
- {
- return $this->setParam('field', (string) $field);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Nested.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Nested.php
deleted file mode 100644
index 16293519..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Nested.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Query\AbstractQuery;
-
-/**
- * Nested filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/nested-filter.html
- */
-class Nested extends AbstractFilter
-{
- /**
- * Adds field to mlt filter
- *
- * @param string $path Nested object path
- * @return \Elastica\Filter\Nested
- */
- public function setPath($path)
- {
- return $this->setParam('path', $path);
- }
-
- /**
- * Sets nested query
- *
- * @param \Elastica\Query\AbstractQuery $query
- * @return \Elastica\Filter\Nested
- */
- public function setQuery(AbstractQuery $query)
- {
- return $this->setParam('query', $query->toArray());
- }
-
- /**
- * Sets nested filter
- *
- * @param \Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Filter\Nested
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam('filter', $filter->toArray());
- }
-
- /**
- * Set score mode
- *
- * @param string $scoreMode Options: avg, total, max and none.
- * @return \Elastica\Filter\Nested
- */
- public function setScoreMode($scoreMode)
- {
- return $this->setParam('score_mode', $scoreMode);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/NumericRange.php b/vendor/ruflin/elastica/lib/Elastica/Filter/NumericRange.php
deleted file mode 100644
index 5a6e2551..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/NumericRange.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Numeric Range Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/numeric-range-filter.html
- */
-class NumericRange extends Range
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Prefix.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Prefix.php
deleted file mode 100644
index 2caf13cb..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Prefix.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Prefix filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Jasper van Wanrooy <jasper@vanwanrooy.net>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/prefix-filter.html
- */
-class Prefix extends AbstractFilter
-{
- /**
- * Holds the name of the field for the prefix.
- *
- * @var string
- */
- protected $_field = '';
-
- /**
- * Holds the prefix string.
- *
- * @var string
- */
- protected $_prefix = '';
-
- /**
- * Creates prefix filter
- *
- * @param string $field Field name
- * @param string $prefix Prefix string
- */
- public function __construct($field = '', $prefix = '')
- {
- $this->setField($field);
- $this->setPrefix($prefix);
- }
-
- /**
- * Sets the name of the prefix field.
- *
- * @param string $field Field name
- * @return \Elastica\Filter\Prefix
- */
- public function setField($field)
- {
- $this->_field = $field;
-
- return $this;
- }
-
- /**
- * Sets the prefix string.
- *
- * @param string $prefix Prefix string
- * @return \Elastica\Filter\Prefix
- */
- public function setPrefix($prefix)
- {
- $this->_prefix = $prefix;
-
- return $this;
- }
-
- /**
- * Converts object to an array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array data array
- */
- public function toArray()
- {
- $this->setParam($this->_field, $this->_prefix);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Query.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Query.php
deleted file mode 100644
index 3f1ba2d2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Query.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Query\AbstractQuery;
-
-/**
- * Query filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/query-filter.html
- */
-class Query extends AbstractFilter
-{
- /**
- * Query
- * @var array
- */
- protected $_query;
-
- /**
- * Construct query filter
- *
- * @param array|\Elastica\Query\AbstractQuery $query
- */
- public function __construct($query = null)
- {
- if (!is_null($query)) {
- $this->setQuery($query);
- }
- }
-
- /**
- * Set query
- *
- * @param array|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Filter\Query Query object
- * @throws \Elastica\Exception\InvalidException Invalid param
- */
- public function setQuery($query)
- {
- if (!$query instanceof AbstractQuery && ! is_array($query)) {
- throw new InvalidException('expected an array or instance of Elastica\Query\AbstractQuery');
- }
-
- if ($query instanceof AbstractQuery) {
- $query = $query->toArray();
- }
-
- $this->_query = $query;
-
- return $this;
- }
-
- /**
- * @see \Elastica\Param::_getBaseName()
- */
- protected function _getBaseName()
- {
- if (empty($this->_params)) {
- return 'query';
- } else {
- return 'fquery';
- }
- }
-
- /**
- * @see \Elastica\Param::toArray()
- */
- public function toArray()
- {
- $data = parent::toArray();
-
- $name = $this->_getBaseName();
- $filterData = $data[$name];
-
- if (empty($filterData)) {
- $filterData = $this->_query;
- } else {
- $filterData['query'] = $this->_query;
- }
-
- $data[$name] = $filterData;
-
- return $data;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Range.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Range.php
deleted file mode 100644
index b142e674..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Range.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Range Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/range-filter.html
- */
-class Range extends AbstractFilter
-{
- /**
- * Fields
- *
- * @var array Fields
- */
- protected $_fields = array();
-
- /**
- * Construct range filter
- *
- * @param string|bool $fieldName Field name
- * @param array $args Field arguments
- */
- public function __construct($fieldName = false, array $args = array())
- {
- if ($fieldName) {
- $this->addField($fieldName, $args);
- }
- }
-
- /**
- * Ads a field with arguments to the range query
- *
- * @param string $fieldName Field name
- * @param array $args Field arguments
- * @return \Elastica\Filter\Range
- */
- public function addField($fieldName, array $args)
- {
- $this->_fields[$fieldName] = $args;
-
- return $this;
- }
-
- /**
- * Converts object to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array Filter array
- */
- public function toArray()
- {
- $this->setParams($this->_fields);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Regexp.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Regexp.php
deleted file mode 100644
index 33c47cfd..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Regexp.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Regexp filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Timothy Lamb <trash80@gmail.com>
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-regexp-filter.html
- */
-class Regexp extends AbstractFilter
-{
- /**
- * Holds the name of the field for the regular expression.
- *
- * @var string
- */
- protected $_field = '';
-
- /**
- * Holds the regexp string.
- *
- * @var string
- */
- protected $_regexp = '';
-
- /**
- * Create Regexp object
- *
- * @param string $field Field name
- * @param string $regexp Regular expression
- * @throws \Elastica\Exception\InvalidException
- */
- public function __construct($field = '', $regexp = '')
- {
- $this->setField($field);
- $this->setRegexp($regexp);
- }
-
- /**
- * Sets the name of the regexp field.
- *
- * @param string $field Field name
- * @return \Elastica\Filter\Regexp
- */
- public function setField($field)
- {
- $this->_field = $field;
-
- return $this;
- }
-
- /**
- * Sets the regular expression query string.
- *
- * @param string $regexp Regular expression
- * @return \Elastica\Filter\Regexp
- */
- public function setRegexp($regexp)
- {
- $this->_regexp = $regexp;
-
- return $this;
- }
-
- /**
- * Converts object to an array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array data array
- */
- public function toArray()
- {
- $this->setParam($this->_field, $this->_regexp);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Script.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Script.php
deleted file mode 100644
index 9b34b1ec..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Script.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica;
-use Elastica\Query\AbstractQuery;
-
-/**
- * Script filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/script-filter.html
- */
-class Script extends AbstractFilter
-{
- /**
- * Query object
- *
- * @var array|\Elastica\Query\AbstractQuery
- */
- protected $_query = null;
-
- /**
- * Construct script filter
- *
- * @param array|string|\Elastica\Script $script OPTIONAL Script
- */
- public function __construct($script = null)
- {
- if ($script) {
- $this->setScript($script);
- }
- }
-
- /**
- * Sets script object
- *
- * @param \Elastica\Script|string|array $script
- * @return \Elastica\Filter\Script
- */
- public function setScript($script)
- {
- $script = Elastica\Script::create($script);
-
- return $this->setParams($script->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Term.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Term.php
deleted file mode 100644
index b4773030..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Term.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Term query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/term-filter.html
- */
-class Term extends AbstractFilter
-{
- /**
- * Construct term filter
- *
- * @param array $term Term array
- */
- public function __construct(array $term = array())
- {
- $this->setRawTerm($term);
- }
-
- /**
- * Sets/overwrites key and term directly
- *
- * @param array $term Key value pair
- * @return \Elastica\Filter\Term Filter object
- */
- public function setRawTerm(array $term)
- {
- return $this->setParams($term);
- }
-
- /**
- * Adds a term to the term query
- *
- * @param string $key Key to query
- * @param string|array $value Values(s) for the query. Boost can be set with array
- * @return \Elastica\Filter\Term Filter object
- */
- public function setTerm($key, $value)
- {
- return $this->setRawTerm(array($key => $value));
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Terms.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Terms.php
deleted file mode 100644
index 2f7c88e3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Terms.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Terms filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/terms-filter.html
- */
-class Terms extends AbstractFilter
-{
- /**
- * Terms
- *
- * @var array Terms
- */
- protected $_terms = array();
-
- /**
- * Params
- *
- * @var array Params
- */
- protected $_params = array();
-
- /**
- * Terms key
- *
- * @var string Terms key
- */
- protected $_key = '';
-
- /**
- * Creates terms filter
- *
- * @param string $key Terms key
- * @param array $terms Terms values
- */
- public function __construct($key = '', array $terms = array())
- {
- $this->setTerms($key, $terms);
- }
-
- /**
- * Sets key and terms for the filter
- *
- * @param string $key Terms key
- * @param array $terms Terms for the query.
- * @return \Elastica\Filter\Terms
- */
- public function setTerms($key, array $terms)
- {
- $this->_key = $key;
- $this->_terms = array_values($terms);
-
- return $this;
- }
-
- /**
- * Set the lookup parameters for this filter
- * @param string $key terms key
- * @param string|\Elastica\Type $type document type from which to fetch the terms values
- * @param string $id id of the document from which to fetch the terms values
- * @param string $path the field from which to fetch the values for the filter
- * @param string|array|\Elastica\Index $options An array of options or the index from which to fetch the terms values. Defaults to the current index.
- * @return \Elastica\Filter\Terms Filter object
- */
- public function setLookup($key, $type, $id, $path, $options = array())
- {
- $this->_key = $key;
- if ($type instanceof \Elastica\Type) {
- $type = $type->getName();
- }
- $this->_terms = array(
- 'type' => $type,
- 'id' => $id,
- 'path' => $path
- );
-
- $index = $options;
- if(is_array($options)) {
- if(isset($options['index'])) {
- $index = $options['index'];
- unset($options['index']);
- }
- $this->_terms = array_merge($options, $this->_terms);
- }
-
- if (!is_null($index)) {
- if ($index instanceof \Elastica\Index) {
- $index = $index->getName();
- }
- $this->_terms['index'] = $index;
- }
- return $this;
- }
-
- /**
- * Adds an additional term to the query
- *
- * @param string $term Filter term
- * @return \Elastica\Filter\Terms Filter object
- */
- public function addTerm($term)
- {
- $this->_terms[] = $term;
-
- return $this;
- }
-
- /**
- * Converts object to an array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @throws \Elastica\Exception\InvalidException
- * @return array data array
- */
- public function toArray()
- {
- if (empty($this->_key)) {
- throw new InvalidException('Terms key has to be set');
- }
- $this->_params[$this->_key] = $this->_terms;
-
- return array('terms' => $this->_params);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Filter/Type.php b/vendor/ruflin/elastica/lib/Elastica/Filter/Type.php
deleted file mode 100644
index 8fb58c7d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Filter/Type.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Elastica\Filter;
-
-/**
- * Type Filter
- *
- * @category Xodoa
- * @package Elastica
- * @author James Wilson <jwilson556@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/type-filter.html
- */
-class Type extends AbstractFilter
-{
- /**
- * Type name
- *
- * @var string
- */
- protected $_type = null;
-
- /**
- * Construct Type Filter
- *
- * @param string $typeName Type name
- * @return \Elastica\Filter\Type
- */
- public function __construct($typeName = null)
- {
- if ($typeName) {
- $this->setType($typeName);
- }
- }
-
- /**
- * Ads a field with arguments to the range query
- *
- * @param string $typeName Type name
- * @return \Elastica\Filter\Type current object
- */
- public function setType($typeName)
- {
- $this->_type = $typeName;
-
- return $this;
- }
-
- /**
- * Convert object to array
- *
- * @see \Elastica\Filter\AbstractFilter::toArray()
- * @return array Filter array
- */
- public function toArray()
- {
- return array(
- 'type' => array('value' => $this->_type)
- );
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Index.php b/vendor/ruflin/elastica/lib/Elastica/Index.php
deleted file mode 100644
index 5e1e7138..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Index.php
+++ /dev/null
@@ -1,462 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\ResponseException;
-use Elastica\Index\Settings as IndexSettings;
-use Elastica\Index\Stats as IndexStats;
-use Elastica\Index\Status as IndexStatus;
-
-/**
- * Elastica index object
- *
- * Handles reads, deletes and configurations of an index
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Index implements SearchableInterface
-{
- /**
- * Index name
- *
- * @var string Index name
- */
- protected $_name = '';
-
- /**
- * Client object
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * Creates a new index object
- *
- * All the communication to and from an index goes of this object
- *
- * @param \Elastica\Client $client Client object
- * @param string $name Index name
- * @throws \Elastica\Exception\InvalidException
- */
- public function __construct(Client $client, $name)
- {
- $this->_client = $client;
-
- if (!is_string($name)) {
- throw new InvalidException('Index name should be of type string');
- }
- $this->_name = $name;
- }
-
- /**
- * Returns a type object for the current index with the given name
- *
- * @param string $type Type name
- * @return \Elastica\Type Type object
- */
- public function getType($type)
- {
- return new Type($this, $type);
- }
-
- /**
- * Returns the current status of the index
- *
- * @return \Elastica\Index\Status Index status
- */
- public function getStatus()
- {
- return new IndexStatus($this);
- }
-
- /**
- * Return Index Stats
- *
- * @return \Elastica\Index\Stats
- */
- public function getStats()
- {
- return new IndexStats($this);
- }
-
- /**
- * Gets all the type mappings for an index.
- *
- * @return array
- */
- public function getMapping()
- {
- $path = '_mapping';
-
- $response = $this->request($path, Request::GET);
- $data = $response->getData();
-
- // Get first entry as if index is an Alias, the name of the mapping is the real name and not alias name
- $mapping = array_shift($data);
-
- if (isset($mapping['mappings'])) {
- return $mapping['mappings'];
- }
-
- return array();
- }
-
- /**
- * Returns the index settings object
- *
- * @return \Elastica\Index\Settings Settings object
- */
- public function getSettings()
- {
- return new IndexSettings($this);
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function updateDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setIndex($this->getName());
- }
-
- return $this->getClient()->updateDocuments($docs);
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function addDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setIndex($this->getName());
- }
-
- return $this->getClient()->addDocuments($docs);
- }
-
- /**
- * Deletes the index
- *
- * @return \Elastica\Response Response object
- */
- public function delete()
- {
- $response = $this->request('', Request::DELETE);
-
- return $response;
- }
-
- /**
- * Uses _bulk to delete documents from the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function deleteDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setIndex($this->getName());
- }
-
- return $this->getClient()->deleteDocuments($docs);
- }
-
- /**
- * Optimizes search index
- *
- * Detailed arguments can be found here in the link
- *
- * @param array $args OPTIONAL Additional arguments
- * @return array Server response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-optimize.html
- */
- public function optimize($args = array())
- {
- $this->request('_optimize', Request::POST, array(), $args);
- }
-
- /**
- * Refreshes the index
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-refresh.html
- */
- public function refresh()
- {
- return $this->request('_refresh', Request::POST, array());
- }
-
- /**
- * Creates a new index with the given arguments
- *
- * @param array $args OPTIONAL Arguments to use
- * @param bool|array $options OPTIONAL
- * bool=> Deletes index first if already exists (default = false).
- * array => Associative array of options (option=>value)
- * @throws \Elastica\Exception\InvalidException
- * @throws \Elastica\Exception\ResponseException
- * @return array Server response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index.html
- */
- public function create(array $args = array(), $options = null)
- {
- $path = '';
- $query = array();
-
- if (is_bool($options)) {
- if ($options) {
- try {
- $this->delete();
- } catch (ResponseException $e) {
- // Table can't be deleted, because doesn't exist
- }
- }
- } else {
- if (is_array($options)) {
- foreach ($options as $key => $value) {
- switch ($key) {
- case 'recreate' :
- try {
- $this->delete();
- } catch (ResponseException $e) {
- // Table can't be deleted, because doesn't exist
- }
- break;
- case 'routing' :
- $query = array('routing' => $value);
- break;
- default:
- throw new InvalidException('Invalid option ' . $key);
- break;
- }
- }
- }
- }
-
- return $this->request($path, Request::PUT, $args, $query);
- }
-
- /**
- * Checks if the given index is already created
- *
- * @return bool True if index exists
- */
- public function exists()
- {
- $response = $this->getClient()->request($this->getName(), Request::HEAD);
- $info = $response->getTransferInfo();
-
- return (bool)($info['http_code'] == 200);
- }
-
- /**
- * @param string $query
- * @param int|array $options
- * @return \Elastica\Search
- */
- public function createSearch($query = '', $options = null)
- {
- $search = new Search($this->getClient());
- $search->addIndex($this);
- $search->setOptionsAndQuery($options, $query);
-
- return $search;
- }
-
- /**
- * Searches in this index
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @param int|array $options OPTIONAL Limit or associative array of options (option=>value)
- * @return \Elastica\ResultSet ResultSet with all results inside
- * @see \Elastica\SearchableInterface::search
- */
- public function search($query = '', $options = null)
- {
- $search = $this->createSearch($query, $options);
-
- return $search->search();
- }
-
- /**
- * Counts results of query
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return int number of documents matching the query
- * @see \Elastica\SearchableInterface::count
- */
- public function count($query = '')
- {
- $search = $this->createSearch($query);
-
- return $search->count();
- }
-
- /**
- * Opens an index
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-open-close.html
- */
- public function open()
- {
- $this->request('_open', Request::POST);
- }
-
- /**
- * Closes the index
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-open-close.html
- */
- public function close()
- {
- return $this->request('_close', Request::POST);
- }
-
- /**
- * Returns the index name
- *
- * @return string Index name
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Returns index client
- *
- * @return \Elastica\Client Index client object
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * Adds an alias to the current index
- *
- * @param string $name Alias name
- * @param bool $replace OPTIONAL If set, an existing alias will be replaced
- * @return \Elastica\Response Response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases.html
- */
- public function addAlias($name, $replace = false)
- {
- $path = '_aliases';
-
- $data = array('actions' => array());
-
- if ($replace) {
- $status = new Status($this->getClient());
- foreach ($status->getIndicesWithAlias($name) as $index) {
- $data['actions'][] = array('remove' => array('index' => $index->getName(), 'alias' => $name));
- }
- }
-
- $data['actions'][] = array('add' => array('index' => $this->getName(), 'alias' => $name));
-
- return $this->getClient()->request($path, Request::POST, $data);
- }
-
- /**
- * Removes an alias pointing to the current index
- *
- * @param string $name Alias name
- * @return \Elastica\Response Response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases.html
- */
- public function removeAlias($name)
- {
- $path = '_aliases';
-
- $data = array('actions' => array(array('remove' => array('index' => $this->getName(), 'alias' => $name))));
-
- return $this->getClient()->request($path, Request::POST, $data);
- }
-
- /**
- * Clears the cache of an index
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-clearcache.html
- */
- public function clearCache()
- {
- $path = '_cache/clear';
- // TODO: add additional cache clean arguments
- return $this->request($path, Request::POST);
- }
-
- /**
- * Flushes the index to storage
- *
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-flush.html
- */
- public function flush($refresh = false)
- {
- $path = '_flush';
- return $this->request($path, Request::POST, array(), array('refresh' => $refresh));
- }
-
- /**
- * Can be used to change settings during runtime. One example is to use
- * if for bulk updating {@link http://www.elasticsearch.org/blog/2011/03/23/update-settings.html}
- *
- * @param array $data Data array
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html
- */
- public function setSettings(array $data)
- {
- return $this->request('_settings', Request::PUT, $data);
- }
-
- /**
- * Makes calls to the elasticsearch server based on this index
- *
- * @param string $path Path to call
- * @param string $method Rest method to use (GET, POST, DELETE, PUT)
- * @param array $data OPTIONAL Arguments as array
- * @param array $query OPTIONAL Query params
- * @return \Elastica\Response Response object
- */
- public function request($path, $method, $data = array(), array $query = array())
- {
- $path = $this->getName() . '/' . $path;
-
- return $this->getClient()->request($path, $method, $data, $query);
- }
-
- /**
- * Analyzes a string
- *
- * Detailed arguments can be found here in the link
- *
- * @param string $text String to be analyzed
- * @param array $args OPTIONAL Additional arguments
- * @return array Server response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-analyze.html
- */
- public function analyze($text, $args = array())
- {
- $data = $this->request('_analyze', Request::POST, $text, $args)->getData();
- return $data['tokens'];
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Index/Settings.php b/vendor/ruflin/elastica/lib/Elastica/Index/Settings.php
deleted file mode 100644
index 2f2b90c6..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Index/Settings.php
+++ /dev/null
@@ -1,318 +0,0 @@
-<?php
-
-namespace Elastica\Index;
-
-use Elastica\Index as BaseIndex;
-use Elastica\Request;
-
-/**
- * Elastica index settings object
- *
- * All settings listed in the update settings API (http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html)
- * can be changed on a running indices. To make changes like the merge policy (http://www.elasticsearch.org/guide/reference/index-modules/merge.html)
- * the index has to be closed first and reopened after the call
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html
- * @link http://www.elasticsearch.org/guide/reference/index-modules/merge.html
- */
-class Settings
-{
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Stats info
- *
- * @var array Stats info
- */
- protected $_data = array();
-
- /**
- * Index
- *
- * @var \Elastica\Index Index object
- */
- protected $_index = null;
-
- const DEFAULT_REFRESH_INTERVAL = '1s';
-
- /**
- * Construct
- *
- * @param \Elastica\Index $index Index object
- */
- public function __construct(BaseIndex $index)
- {
- $this->_index = $index;
- }
-
- /**
- * Returns the current settings of the index
- *
- * If param is set, only specified setting is return.
- * 'index.' is added in front of $setting.
- *
- * @param string $setting OPTIONAL Setting name to return
- * @return array|string|null Settings data
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html
- */
- public function get($setting = '')
- {
- $requestData = $this->request()->getData();
- $data = reset($requestData);
- $settings = $data['settings']['index'];
-
- if (!empty($setting)) {
- if (isset($settings[$setting])) {
- return $settings[$setting];
- } else {
- if (strpos($setting, '.') !== false) {
- // translate old dot-notation settings to nested arrays
- $keys = explode('.', $setting);
- foreach ($keys as $key) {
- if (isset($settings[$key])) {
- $settings = $settings[$key];
- } else {
- return null;
- }
- }
- return $settings;
- }
- return null;
- }
- }
-
- return $settings;
- }
-
- /**
- * Sets the number of replicas
- *
- * @param int $replicas Number of replicas
- * @return \Elastica\Response Response object
- */
- public function setNumberOfReplicas($replicas)
- {
- $replicas = (int)$replicas;
-
- $data = array('number_of_replicas' => $replicas);
-
- return $this->set($data);
- }
-
- /**
- * Sets the index to read only
- *
- * @param bool $readOnly (default = true)
- * @return \Elastica\Response
- */
- public function setReadOnly($readOnly = true)
- {
- return $this->set(array('blocks.read_only' => $readOnly));
- }
-
- /**
- * @return bool
- */
- public function getBlocksRead()
- {
- return (bool)$this->get('blocks.read');
- }
-
- /**
- * @param bool $state OPTIONAL (default = true)
- * @return \Elastica\Response
- */
- public function setBlocksRead($state = true)
- {
- $state = $state ? 1 : 0;
-
- return $this->set(array('blocks.read' => $state));
- }
-
- /**
- * @return bool
- */
- public function getBlocksWrite()
- {
- return (bool)$this->get('blocks.write');
- }
-
- /**
- * @param bool $state OPTIONAL (default = true)
- * @return \Elastica\Response
- */
- public function setBlocksWrite($state = true)
- {
- $state = $state ? 1 : 0;
-
- return $this->set(array('blocks.write' => (int)$state));
- }
-
- /**
- * @return bool
- */
- public function getBlocksMetadata()
- {
- return (bool)$this->get('blocks.metadata');
- }
-
- /**
- * @param bool $state OPTIONAL (default = true)
- * @return \Elastica\Response
- */
- public function setBlocksMetadata($state = true)
- {
- $state = $state ? 1 : 0;
-
- return $this->set(array('blocks.metadata' => (int)$state));
- }
-
- /**
- * Sets the index refresh interval
- *
- * Value can be for example 3s for 3 seconds or
- * 5m for 5 minutes. -1 refreshing is disabled.
- *
- * @param int $interval Number of seconds
- * @return \Elastica\Response Response object
- */
- public function setRefreshInterval($interval)
- {
- return $this->set(array('refresh_interval' => $interval));
- }
-
- /**
- * Returns the refresh interval
- *
- * If no interval is set, the default interval is returned
- *
- * @return string Refresh interval
- */
- public function getRefreshInterval()
- {
- $interval = $this->get('refresh_interval');
-
- if (empty($interval)) {
- $interval = self::DEFAULT_REFRESH_INTERVAL;
- }
-
- return $interval;
- }
-
- /**
- * Return merge policy
- *
- * @return string Merge policy type
- */
- public function getMergePolicyType()
- {
-
- return $this->get('merge.policy.type');
- }
-
- /**
- * Sets merge policy
- *
- * @param string $type Merge policy type
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/index-modules/merge.html
- */
- public function setMergePolicyType($type)
- {
- $this->getIndex()->close();
- $response = $this->set(array('merge.policy.type' => $type));
- $this->getIndex()->open();
-
- return $response;
- }
-
- /**
- * Sets the specific merge policies
- *
- * To have this changes made the index has to be closed and reopened
- *
- * @param string $key Merge policy key (for ex. expunge_deletes_allowed)
- * @param string $value
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/index-modules/merge.html
- */
- public function setMergePolicy($key, $value)
- {
- $this->getIndex()->close();
- $response = $this->set(array('merge.policy.' . $key => $value));
- $this->getIndex()->open();
-
- return $response;
- }
-
- /**
- * Returns the specific merge policy value
- *
- * @param string $key Merge policy key (for ex. expunge_deletes_allowed)
- * @return string Refresh interval
- * @link http://www.elasticsearch.org/guide/reference/index-modules/merge.html
- */
- public function getMergePolicy($key)
- {
- $settings = $this->get();
- if (isset($settings['merge']['policy'][$key])) {
- return $settings['merge']['policy'][$key];
- }
- return null;
- }
-
- /**
- * Can be used to set/update settings
- *
- * @param array $data Arguments
- * @return \Elastica\Response Response object
- */
- public function set(array $data)
- {
- return $this->request($data, Request::PUT);
- }
-
- /**
- * Returns the index object
- *
- * @return \Elastica\Index Index object
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * Updates the given settings for the index
- *
- * With elasticsearch 0.16 the following settings are supported
- * - index.term_index_interval
- * - index.term_index_divisor
- * - index.translog.flush_threshold_ops
- * - index.translog.flush_threshold_size
- * - index.translog.flush_threshold_period
- * - index.refresh_interval
- * - index.merge.policy
- * - index.auto_expand_replicas
- *
- * @param array $data OPTIONAL Data array
- * @param string $method OPTIONAL Transfer method (default = \Elastica\Request::GET)
- * @return \Elastica\Response Response object
- */
- public function request(array $data = array(), $method = Request::GET)
- {
- $path = '_settings';
-
- $data = array('index' => $data);
-
- return $this->getIndex()->request($path, $method, $data);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Index/Stats.php b/vendor/ruflin/elastica/lib/Elastica/Index/Stats.php
deleted file mode 100644
index 9312e273..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Index/Stats.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-namespace Elastica\Index;
-use Elastica\Index as BaseIndex;
-use Elastica\Request;
-
-/**
- * Elastica index stats object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-stats.html
- */
-class Stats
-{
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Stats info
- *
- * @var array Stats info
- */
- protected $_data = array();
-
- /**
- * Index
- *
- * @var \Elastica\Index Index object
- */
- protected $_index = null;
-
- /**
- * Construct
- *
- * @param \Elastica\Index $index Index object
- */
- public function __construct(BaseIndex $index)
- {
- $this->_index = $index;
- $this->refresh();
- }
-
- /**
- * Returns the raw stats info
- *
- * @return array Stats info
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Returns the entry in the data array based on the params.
- * Various params possible.
- *
- * @return mixed Data array entry or null if not found
- */
- public function get()
- {
- $data = $this->getData();
-
- foreach (func_get_args() as $arg) {
- if (isset($data[$arg])) {
- $data = $data[$arg];
- } else {
- return null;
- }
- }
-
- return $data;
- }
-
- /**
- * Returns the index object
- *
- * @return \Elastica\Index Index object
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Reloads all status data of this object
- */
- public function refresh()
- {
- $path = '_stats';
- $this->_response = $this->getIndex()->request($path, Request::GET);
- $this->_data = $this->getResponse()->getData();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Index/Status.php b/vendor/ruflin/elastica/lib/Elastica/Index/Status.php
deleted file mode 100644
index 6a343025..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Index/Status.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-namespace Elastica\Index;
-use Elastica\Cluster;
-use Elastica\Index as BaseIndex;
-use Elastica\Request;
-
-/**
- * Elastica index status object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-status.html
- */
-class Status
-{
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Stats info
- *
- * @var array Stats info
- */
- protected $_data = array();
-
- /**
- * Index
- *
- * @var \Elastica\Index Index object
- */
- protected $_index = null;
-
- /**
- * Construct
- *
- * @param \Elastica\Index $index Index object
- */
- public function __construct(BaseIndex $index)
- {
- $this->_index = $index;
- $this->refresh();
- }
-
- /**
- * Returns all status info
- *
- * @return array Status info
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Returns the entry in the data array based on the params.
- * Various params possible.
- *
- * @return mixed Data array entry or null if not found
- */
- public function get()
- {
- $data = $this->getData();
- $data = $data['indices'][$this->getIndex()->getName()];
-
- foreach (func_get_args() as $arg) {
- if (isset($data[$arg])) {
- $data = $data[$arg];
- } else {
- return null;
- }
- }
-
- return $data;
- }
-
- /**
- * Returns all index aliases
- *
- * @return array Aliases
- */
- public function getAliases()
- {
- $responseData = $this->getIndex()->request('_aliases', \Elastica\Request::GET)->getData();
- return array_keys($responseData[$this->getIndex()->getName()]['aliases']);
- }
-
- /**
- * Returns all index settings
- *
- * @return array Index settings
- */
- public function getSettings()
- {
- $responseData = $this->getIndex()->request('_settings', \Elastica\Request::GET)->getData();
- return $responseData[$this->getIndex()->getName()]['settings'];
- }
-
- /**
- * Checks if the index has the given alias
- *
- * @param string $name Alias name
- * @return bool
- */
- public function hasAlias($name)
- {
- return in_array($name, $this->getAliases());
- }
-
- /**
- * Returns the index object
- *
- * @return \Elastica\Index Index object
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Reloads all status data of this object
- */
- public function refresh()
- {
- $path = '_status';
- $this->_response = $this->getIndex()->request($path, Request::GET);
- $this->_data = $this->getResponse()->getData();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/JSON.php b/vendor/ruflin/elastica/lib/Elastica/JSON.php
deleted file mode 100644
index 07869821..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/JSON.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\JSONParseException;
-
-/**
- * Elastica JSON tools
- *
- * @package Elastica
- */
-class JSON
-{
- /**
- * Parse JSON string to an array
- *
- * @param string $json JSON string to parse
- * @return array PHP array representation of JSON string
- * @link http://php.net/manual/en/function.json-decode.php
- * @link http://www.php.net/manual/en/function.json-last-error.php
- */
- public static function parse(/* inherit from json_decode */)
- {
- // extract arguments
- $args = func_get_args();
-
- // default to decoding into an assoc array
- if (sizeof($args) === 1) {
- $args[] = true;
- }
-
- // run decode
- $array = call_user_func_array('json_decode', $args);
-
- // turn errors into exceptions for easier catching
- $error = json_last_error();
- if ($error !== JSON_ERROR_NONE) {
- throw new JSONParseException($error);
- }
-
- // output
- return $array;
- }
-
- /**
- * Convert input to JSON string with standard options
- *
- * @param mixed check args for PHP function json_encode
- * @return string Valid JSON representation of $input
- * @link http://php.net/manual/en/function.json-encode.php
- */
- public static function stringify(/* inherit from json_encode */)
- {
- // extract arguments
- $args = func_get_args();
-
- // allow special options value for Elasticsearch compatibility
- if (sizeof($args) > 1 && $args[1] === 'JSON_ELASTICSEARCH') {
- // Use built in JSON constants if available (php >= 5.4)
- $args[1] = (defined('JSON_UNESCAPED_SLASHES') ? JSON_UNESCAPED_SLASHES : 64)
- | (defined('JSON_UNESCAPED_UNICODE') ? JSON_UNESCAPED_UNICODE : 256);
- }
-
- // run encode and output
- return call_user_func_array('json_encode', $args);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Log.php b/vendor/ruflin/elastica/lib/Elastica/Log.php
deleted file mode 100644
index b246a7b1..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Log.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\JSON;
-use Psr\Log\AbstractLogger;
-
-/**
- * Elastica log object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Log extends AbstractLogger
-{
- /**
- * Log path or true if enabled
- *
- * @var string|bool
- */
- protected $_log = true;
-
- /**
- * Last logged message
- *
- * @var string Last logged message
- */
- protected $_lastMessage = '';
-
- /**
- * Inits log object
- *
- * @param string|bool String to set a specific file for logging
- */
- public function __construct($log = '')
- {
- $this->setLog($log);
- }
-
- /**
- * Log a message
- *
- * @param mixed $level
- * @param string $message
- * @param array $context
- * @return null|void
- */
- public function log($level, $message, array $context = array())
- {
- $context['error_message'] = $message;
- $this->_lastMessage = JSON::stringify($context);
-
- if (!empty($this->_log) && is_string($this->_log)) {
- error_log($this->_lastMessage . PHP_EOL, 3, $this->_log);
- } else {
- error_log($this->_lastMessage);
- }
-
- }
-
- /**
- * Enable/disable log or set log path
- *
- * @param bool|string $log Enables log or sets log path
- * @return \Elastica\Log
- */
- public function setLog($log)
- {
- $this->_log = $log;
-
- return $this;
- }
-
- /**
- * Return last logged message
- *
- * @return string Last logged message
- */
- public function getLastMessage()
- {
- return $this->_lastMessage;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Multi/ResultSet.php b/vendor/ruflin/elastica/lib/Elastica/Multi/ResultSet.php
deleted file mode 100644
index a0df5785..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Multi/ResultSet.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
-namespace Elastica\Multi;
-use Elastica\Exception\InvalidException;
-use Elastica\Response;
-use Elastica\Search as BaseSearch;
-use Elastica\ResultSet as BaseResultSet;
-
-/**
- * Elastica multi search result set
- * List of result sets for each search request
- *
- * @category Xodoa
- * @package Elastica
- * @author munkie
- */
-class ResultSet implements \Iterator, \ArrayAccess, \Countable
-{
- /**
- * Result Sets
- *
- * @var array|\Elastica\ResultSet[] Result Sets
- */
- protected $_resultSets = array();
-
- /**
- * Current position
- *
- * @var int Current position
- */
- protected $_position = 0;
-
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response;
-
- /**
- * Constructs ResultSet object
- *
- * @param \Elastica\Response $response
- * @param array|\Elastica\Search[] $searches
- */
- public function __construct(Response $response, array $searches)
- {
- $this->rewind();
- $this->_init($response, $searches);
- }
-
- /**
- * @param \Elastica\Response $response
- * @param array|\Elastica\Search[] $searches
- * @throws \Elastica\Exception\InvalidException
- */
- protected function _init(Response $response, array $searches)
- {
- $this->_response = $response;
- $responseData = $response->getData();
-
- if (isset($responseData['responses']) && is_array($responseData['responses'])) {
- reset($searches);
- foreach ($responseData['responses'] as $key => $responseData) {
- $currentSearch = each($searches);
-
- if ($currentSearch === false) {
- throw new InvalidException('No result found for search #' . $key);
- } elseif (!$currentSearch['value'] instanceof BaseSearch) {
- throw new InvalidException('Invalid object for search #' . $key . ' provided. Should be Elastica\Search');
- }
-
- $search = $currentSearch['value'];
- $query = $search->getQuery();
-
- $response = new Response($responseData);
- $this->_resultSets[$currentSearch['key']] = new BaseResultSet($response, $query);
- }
- }
- }
-
- /**
- * @return array|\Elastica\ResultSet[]
- */
- public function getResultSets()
- {
- return $this->_resultSets;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * There is at least one result set with error
- *
- * @return bool
- */
- public function hasError()
- {
- foreach ($this->getResultSets() as $resultSet) {
- if ($resultSet->getResponse()->hasError()) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @return bool|\Elastica\ResultSet
- */
- public function current()
- {
- if ($this->valid()) {
- return $this->_resultSets[$this->key()];
- } else {
- return false;
- }
- }
-
- /**
- * @return void
- */
- public function next()
- {
- $this->_position++;
- }
-
- /**
- * @return int
- */
- public function key()
- {
- return $this->_position;
- }
-
- /**
- * @return bool
- */
- public function valid()
- {
- return isset($this->_resultSets[$this->key()]);
- }
-
- /**
- * @return void
- */
- public function rewind()
- {
- $this->_position = 0;
- }
-
- /**
- * @return int
- */
- public function count()
- {
- return count($this->_resultSets);
- }
-
- /**
- * @param string|int $offset
- * @return boolean true on success or false on failure.
- */
- public function offsetExists($offset)
- {
- return isset($this->_resultSets[$offset]);
- }
-
- /**
- * @param mixed $offset
- * @return mixed Can return all value types.
- */
- public function offsetGet($offset)
- {
- return isset($this->_resultSets[$offset]) ? $this->_resultSets[$offset] : null;
- }
-
- /**
- * @param mixed $offset
- * @param mixed $value
- * @return void
- */
- public function offsetSet($offset, $value)
- {
- if (is_null($offset)) {
- $this->_resultSets[] = $value;
- } else {
- $this->_resultSets[$offset] = $value;
- }
- }
-
- /**
- * @param mixed $offset
- * @return void
- */
- public function offsetUnset($offset)
- {
- unset($this->_resultSets[$offset]);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Multi/Search.php b/vendor/ruflin/elastica/lib/Elastica/Multi/Search.php
deleted file mode 100644
index a9874eb2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Multi/Search.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-
-namespace Elastica\Multi;
-
-use Elastica\Client;
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Search as BaseSearch;
-
-/**
- * Elastica multi search
- *
- * @category Xodoa
- * @package Elastica
- * @author munkie
- * @link http://www.elasticsearch.org/guide/reference/api/multi-search.html
- */
-class Search
-{
- /**
- * @var array|\Elastica\Search[]
- */
- protected $_searches = array();
-
- /**
- * @var array
- */
- protected $_options = array();
-
- /**
- * @var \Elastica\Client
- */
- protected $_client;
-
- /**
- * Constructs search object
- *
- * @param \Elastica\Client $client Client object
- */
- public function __construct(Client $client)
- {
- $this->setClient($client);
- }
-
- /**
- * @return \Elastica\Client
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * @param \Elastica\Client $client
- * @return \Elastica\Multi\Search
- */
- public function setClient(Client $client)
- {
- $this->_client = $client;
-
- return $this;
- }
-
- /**
- * @return \Elastica\Multi\Search
- */
- public function clearSearches()
- {
- $this->_searches = array();
-
- return $this;
- }
-
- /**
- * @param \Elastica\Search $search
- * @param string $key Optional key
- * @return \Elastica\Multi\Search
- */
- public function addSearch(BaseSearch $search, $key = null)
- {
- if ($key) {
- $this->_searches[$key] = $search;
- } else {
- $this->_searches[] = $search;
- }
-
- return $this;
- }
-
- /**
- * @param array|\Elastica\Search[] $searches
- * @return \Elastica\Multi\Search
- */
- public function addSearches(array $searches)
- {
- foreach ($searches as $key => $search) {
- $this->addSearch($search, $key);
- }
-
- return $this;
- }
-
- /**
- * @param array|\Elastica\Search[] $searches
- * @return \Elastica\Multi\Search
- */
- public function setSearches(array $searches)
- {
- $this->clearSearches();
- $this->addSearches($searches);
-
- return $this;
- }
-
- /**
- * @return array|\Elastica\Search[]
- */
- public function getSearches()
- {
- return $this->_searches;
- }
-
- /**
- * @param string $searchType
- * @return \Elastica\Multi\Search
- */
- public function setSearchType($searchType)
- {
- $this->_options[BaseSearch::OPTION_SEARCH_TYPE] = $searchType;
-
- return $this;
- }
-
- /**
- * @return \Elastica\Multi\ResultSet
- */
- public function search()
- {
- $data = $this->_getData();
-
- $response = $this->getClient()->request(
- '_msearch',
- Request::POST,
- $data,
- $this->_options
- );
-
- return new ResultSet($response, $this->getSearches());
- }
-
- /**
- * @return string
- */
- protected function _getData()
- {
- $data = '';
- foreach ($this->getSearches() as $search) {
- $data.= $this->_getSearchData($search);
- }
-
- return $data;
- }
-
- /**
- * @param \Elastica\Search $search
- * @return string
- */
- protected function _getSearchData(BaseSearch $search)
- {
- $header = $this->_getSearchDataHeader($search);
- $header = (empty($header)) ? new \stdClass : $header;
- $query = $search->getQuery();
-
- $data = JSON::stringify($header) . "\n";
- $data.= JSON::stringify($query->toArray()) . "\n";
-
- return $data;
- }
-
- /**
- * @param \Elastica\Search $search
- * @return array
- */
- protected function _getSearchDataHeader(BaseSearch $search)
- {
- $header = $search->getOptions();
-
- if ($search->hasIndices()) {
- $header['index'] = $search->getIndices();
- }
-
- if ($search->hasTypes()) {
- $header['types'] = $search->getTypes();
- }
-
- return $header;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Node.php b/vendor/ruflin/elastica/lib/Elastica/Node.php
deleted file mode 100644
index a9684ca6..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Node.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Node\Info;
-use Elastica\Node\Stats;
-
-/**
- * Elastica cluster node object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-status.html
- */
-class Node
-{
- /**
- * Client
- *
- * @var \Elastica\Client
- */
- protected $_client = null;
-
- /**
- * Node name
- *
- * @var string Node name
- */
- protected $_name = '';
-
- /**
- * Node stats
- *
- * @var \Elastica\Node\Stats Node Stats
- */
- protected $_stats = null;
-
- /**
- * Node info
- *
- * @var \Elastica\Node\Info Node info
- */
- protected $_info = null;
-
- /**
- * Create a new node object
- *
- * @param string $name Node name
- * @param \Elastica\Client $client Node object
- */
- public function __construct($name, Client $client)
- {
- $this->_name = $name;
- $this->_client = $client;
- $this->refresh();
- }
-
- /**
- * Get the name of the node
- *
- * @return string Node name
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Returns the current client object
- *
- * @return \Elastica\Client Client
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * Return stats object of the current node
- *
- * @return \Elastica\Node\Stats Node stats
- */
- public function getStats()
- {
- if (!$this->_stats) {
- $this->_stats = new Stats($this);
- }
-
- return $this->_stats;
- }
-
- /**
- * Return info object of the current node
- *
- * @return \Elastica\Node\Info Node info object
- */
- public function getInfo()
- {
- if (!$this->_info) {
- $this->_info = new Info($this);
- }
-
- return $this->_info;
- }
-
- /**
- * Refreshes all node information
- *
- * This should be called after updating a node to refresh all information
- */
- public function refresh()
- {
- $this->_stats = null;
- $this->_info = null;
- }
-
- /**
- * Shuts this node down
- *
- * @param string $delay OPTIONAL Delay after which node is shut down (default = 1s)
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown.html
- */
- public function shutdown($delay = '1s')
- {
- $path = '_cluster/nodes/' . $this->getName() . '/_shutdown?delay=' . $delay;
-
- return $this->_client->request($path, Request::POST);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Node/Info.php b/vendor/ruflin/elastica/lib/Elastica/Node/Info.php
deleted file mode 100644
index 1d04e53d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Node/Info.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-
-namespace Elastica\Node;
-
-use Elastica\Node as BaseNode;
-use Elastica\Request;
-
-/**
- * Elastica cluster node object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-status.html
- */
-class Info
-{
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Stats data
- *
- * @var array stats data
- */
- protected $_data = array();
-
- /**
- * Node
- *
- * @var \Elastica\Node Node object
- */
- protected $_node = null;
-
- /**
- * Query parameters
- *
- * @var array
- */
- protected $_params = array();
-
- /**
- * Create new info object for node
- *
- * @param \Elastica\Node $node Node object
- * @param array $params List of params to return. Can be: settings, os, process, jvm, thread_pool, network, transport, http
- */
- public function __construct(BaseNode $node, array $params = array())
- {
- $this->_node = $node;
- $this->refresh($params);
- }
-
- /**
- * Returns the entry in the data array based on the params.
- * Several params possible.
- *
- * Example 1: get('os', 'mem', 'total') returns total memory of the system the
- * node is running on
- * Example 2: get('os', 'mem') returns an array with all mem infos
- *
- * @return mixed Data array entry or null if not found
- */
- public function get()
- {
- $data = $this->getData();
-
- foreach (func_get_args() as $arg) {
- if (isset($data[$arg])) {
- $data = $data[$arg];
- } else {
- return null;
- }
- }
-
- return $data;
- }
-
- /**
- * Return port of the node
- *
- * @return string Returns Node port
- */
- public function getPort()
- {
- // Returns string in format: inet[/192.168.1.115:9201]
- $data = $this->get('http_address');
- $data = substr($data, 6, strlen($data) - 7);
- $data = explode(':', $data);
-
- return $data[1];
- }
-
- /**
- * Return IP of the node
- *
- * @return string Returns Node ip address
- */
- public function getIp()
- {
- // Returns string in format: inet[/192.168.1.115:9201]
- $data = $this->get('http_address');
- $data = substr($data, 6, strlen($data) - 7);
- $data = explode(':', $data);
-
- return $data[0];
- }
-
- /**
- * Return data regarding plugins installed on this node
- * @return array plugin data
- * @link http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-info/
- */
- public function getPlugins()
- {
- if(!in_array('plugins', $this->_params)) {
- //Plugin data was not retrieved when refresh() was called last. Get it now.
- $this->_params[] = 'plugins';
- $this->refresh($this->_params);
- }
- return $this->get('plugins');
- }
-
- /**
- * Check if the given plugin is installed on this node
- * @param string $name plugin name
- * @return bool true if the plugin is installed, false otherwise
- */
- public function hasPlugin($name)
- {
- foreach($this->getPlugins() as $plugin) {
- if($plugin['name'] == $name) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Return all info data
- *
- * @return array Data array
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Return node object
- *
- * @return \Elastica\Node Node object
- */
- public function getNode()
- {
- return $this->_node;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Reloads all nodes information. Has to be called if informations changed
- *
- * @param array $params Params to return (default none). Possible options: settings, os, process, jvm, thread_pool, network, transport, http, plugin
- * @return \Elastica\Response Response object
- */
- public function refresh(array $params = array())
- {
- $this->_params = $params;
-
- $path = '_nodes/' . $this->getNode()->getName();
-
- if (!empty($params)) {
- $path .= '?';
- foreach ($params as $param) {
- $path .= $param . '=true&';
- }
- }
-
- $this->_response = $this->getNode()->getClient()->request($path, Request::GET);
- $data = $this->getResponse()->getData();
- $this->_data = reset($data['nodes']);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Node/Stats.php b/vendor/ruflin/elastica/lib/Elastica/Node/Stats.php
deleted file mode 100644
index d918e686..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Node/Stats.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-namespace Elastica\Node;
-
-use Elastica\Node as BaseNode;
-use Elastica\Request;
-
-/**
- * Elastica cluster node object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-status.html
- */
-class Stats
-{
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Stats data
- *
- * @var array stats data
- */
- protected $_data = array();
-
- /**
- * Node
- *
- * @var \Elastica\Node Node object
- */
- protected $_node = null;
-
- /**
- * Create new stats for node
- *
- * @param \Elastica\Node $node Elastica node object
- */
- public function __construct(BaseNode $node)
- {
- $this->_node = $node;
- $this->refresh();
- }
-
- /**
- * Returns all node stats as array based on the arguments
- *
- * Several arguments can be use
- * get('index', 'test', 'example')
- *
- * @return array Node stats for the given field or null if not found
- */
- public function get()
- {
- $data = $this->getData();
-
- foreach (func_get_args() as $arg) {
- if (isset($data[$arg])) {
- $data = $data[$arg];
- } else {
- return null;
- }
- }
-
- return $data;
- }
-
- /**
- * Returns all stats data
- *
- * @return array Data array
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Returns node object
- *
- * @return \Elastica\Node Node object
- */
- public function getNode()
- {
- return $this->_node;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Reloads all nodes information. Has to be called if informations changed
- *
- * @return \Elastica\Response Response object
- */
- public function refresh()
- {
- $path = '_nodes/' . $this->getNode()->getName() . '/stats';
- $this->_response = $this->getNode()->getClient()->request($path, Request::GET);
- $data = $this->getResponse()->getData();
- $this->_data = reset($data['nodes']);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Param.php b/vendor/ruflin/elastica/lib/Elastica/Param.php
deleted file mode 100644
index 38a45d14..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Param.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Exception\InvalidException;
-
-/**
- * Class to handle params
- *
- * This function can be used to handle params for queries, filter, facets
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Param
-{
- /**
- * Params
- *
- * @var array
- */
- protected $_params = array();
-
- /**
- * Raw Params
- *
- * @var array
- */
- protected $_rawParams = array();
-
- /**
- * Converts the params to an array. A default implementation exist to create
- * the an array out of the class name (last part of the class name)
- * and the params
- *
- * @return array Filter array
- */
- public function toArray()
- {
- $data = array($this->_getBaseName() => $this->getParams());
-
- if (!empty($this->_rawParams)) {
- $data = array_merge($data, $this->_rawParams);
- }
-
- return $data;
- }
-
- /**
- * Param's name
- * Picks the last part of the class name and makes it snake_case
- * You can override this method if you want to change the name
- *
- * @return string name
- */
- protected function _getBaseName()
- {
- return Util::getParamName($this);
- }
-
- /**
- * Sets params not inside params array
- *
- * @param string $key
- * @param mixed $value
- * @return \Elastica\Param
- */
- protected function _setRawParam($key, $value)
- {
- $this->_rawParams[$key] = $value;
-
- return $this;
- }
-
- /**
- * Sets (overwrites) the value at the given key
- *
- * @param string $key Key to set
- * @param mixed $value Key Value
- * @return \Elastica\Param
- */
- public function setParam($key, $value)
- {
- $this->_params[$key] = $value;
-
- return $this;
- }
-
- /**
- * Sets (overwrites) all params of this object
- *
- * @param array $params Parameter list
- * @return \Elastica\Param
- */
- public function setParams(array $params)
- {
- $this->_params = $params;
-
- return $this;
- }
-
- /**
- * Adds a param to the list.
- *
- * This function can be used to add an array of params
- *
- * @param string $key Param key
- * @param mixed $value Value to set
- * @return \Elastica\Param
- */
- public function addParam($key, $value)
- {
- if($key != null) {
- if (!isset($this->_params[$key])) {
- $this->_params[$key] = array();
- }
-
- $this->_params[$key][] = $value;
- } else {
- $this->_params = $value;
- }
-
- return $this;
- }
-
- /**
- * Returns a specific param
- *
- * @param string $key Key to return
- * @return mixed Key value
- * @throws \Elastica\Exception\InvalidException If requested key is not set
- */
- public function getParam($key)
- {
- if (!$this->hasParam($key)) {
- throw new InvalidException('Param ' . $key . ' does not exist');
- }
-
- return $this->_params[$key];
- }
-
- /**
- * Test if a param is set
- *
- * @param string $key Key to test
- * @return boolean True if the param is set, false otherwise
- */
- public function hasParam($key)
- {
- return isset($this->_params[$key]);
- }
-
- /**
- * Returns the params array
- *
- * @return array Params
- */
- public function getParams()
- {
- return $this->_params;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Percolator.php b/vendor/ruflin/elastica/lib/Elastica/Percolator.php
deleted file mode 100644
index 2ec312b9..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Percolator.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-namespace Elastica;
-
-/**
- * Percolator class
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/percolate/
- */
-class Percolator
-{
- /**
- * Index object
- *
- * @var \Elastica\Index
- */
- protected $_index = null;
-
- /**
- * Construct new percolator
- *
- * @param \Elastica\Index $index
- */
- public function __construct(Index $index)
- {
- $this->_index = $index;
- }
-
- /**
- * Registers a percolator query, with optional extra fields to include in the registered query.
- *
- * @param string $name Query name
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query Query to add
- * @param array $fields Extra fields to include in the registered query
- * and can be used to filter executed queries.
- * @return \Elastica\Response
- */
- public function registerQuery($name, $query, $fields = array())
- {
- $path = $this->_index->getName() . '/.percolator/' . $name;
- $query = Query::create($query);
-
- $data = array_merge($query->toArray(), $fields);
-
- return $this->_index->getClient()->request($path, Request::PUT, $data);
- }
-
- /**
- * Removes a percolator query
- * @param string $name query name
- * @return \Elastica\Response
- */
- public function unregisterQuery($name)
- {
- $path = $this->_index->getName() . '/.percolator/' . $name;
-
- return $this->_index->getClient()->request($path, Request::DELETE);
- }
-
- /**
- * Match a document to percolator queries
- *
- * @param \Elastica\Document $doc
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query Query to filter the percolator queries which
- * are executed.
- * @param string $type
- * @param array $params
- * @return array With matching registered queries.
- */
- public function matchDoc(Document $doc, $query = null, $type = 'type', $params = array())
- {
- $path = $this->_index->getName() . '/' . $type . '/_percolate';
- $data = array('doc' => $doc->getData());
-
- return $this->_percolate($path, $query, $data, $params);
- }
-
- /**
- * Percolating an existing document
- *
- * @param string $id
- * @param string $type
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query Query to filter the percolator queries which
- * are executed.
- * @param array $params
- * @return array With matching registered queries.
- */
- public function matchExistingDoc($id, $type, $query = null, $params = array())
- {
- $id = urlencode($id);
- $path = $this->_index->getName() . '/' . $type . '/'. $id . '/_percolate';
-
- return $this->_percolate($path, $query, array(), $params);
- }
-
- /**
- * @param string $path
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query] $query [description]
- * @param array $data
- * @param array $params
- * @return array
- */
- protected function _percolate($path, $query, $data = array(), $params = array())
- {
- // Add query to filter the percolator queries which are executed.
- if ($query) {
- $query = Query::create($query);
- $data['query'] = $query->getQuery();
- }
-
- $response = $this->getIndex()->getClient()->request($path, Request::GET, $data, $params);
- $data = $response->getData();
-
- if (isset($data['matches'])) {
- return $data['matches'];
- }
- return array();
- }
-
- /**
- * Return index object
- *
- * @return \Elastica\Index
- */
- public function getIndex()
- {
- return $this->_index;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query.php b/vendor/ruflin/elastica/lib/Elastica/Query.php
deleted file mode 100644
index 2f37f2ea..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query.php
+++ /dev/null
@@ -1,420 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Aggregation\AbstractAggregation;
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\NotImplementedException;
-use Elastica\Facet\AbstractFacet;
-use Elastica\Filter\AbstractFilter;
-use Elastica\Query\AbstractQuery;
-use Elastica\Query\MatchAll;
-use Elastica\Query\QueryString;
-use Elastica\Suggest\AbstractSuggest;
-use Elastica\Suggest;
-
-/**
- * Elastica query object
- *
- * Creates different types of queries
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/
- */
-class Query extends Param
-{
- /**
- * Params
- *
- * @var array Params
- */
- protected $_params = array();
-
- /**
- * Suggest query or not
- *
- * @var int Suggest
- */
- protected $_suggest = 0;
-
- /**
- * Creates a query object
- *
- * @param array|\Elastica\Query\AbstractQuery $query OPTIONAL Query object (default = null)
- */
- public function __construct($query = null)
- {
- if (is_array($query)) {
- $this->setRawQuery($query);
- } elseif ($query instanceof AbstractQuery) {
- $this->setQuery($query);
- } elseif ($query instanceof Suggest) {
- $this->setSuggest($query);
- }
- }
-
- /**
- * Transforms a string or an array to a query object
- *
- * If query is empty,
- *
- * @param mixed $query
- * @throws \Elastica\Exception\NotImplementedException
- * @return \Elastica\Query
- */
- public static function create($query)
- {
- switch (true) {
- case $query instanceof Query:
- return $query;
- case $query instanceof AbstractQuery:
- return new self($query);
- case $query instanceof AbstractFilter:
- $newQuery = new self();
- $newQuery->setFilter($query);
-
- return $newQuery;
- case empty($query):
- return new self(new MatchAll());
- case is_array($query):
- return new self($query);
- case is_string($query):
- return new self(new QueryString($query));
- case $query instanceof AbstractSuggest:
- return new self(new Suggest($query));
-
- case $query instanceof Suggest:
- return new self($query);
-
- }
-
- // TODO: Implement queries without
- throw new NotImplementedException();
- }
-
- /**
- * Sets query as raw array. Will overwrite all already set arguments
- *
- * @param array $query Query array
- * @return \Elastica\Query Query object
- */
- public function setRawQuery(array $query)
- {
- $this->_params = $query;
-
- return $this;
- }
-
- /**
- * Sets the query
- *
- * @param \Elastica\Query\AbstractQuery $query Query object
- * @return \Elastica\Query Query object
- */
- public function setQuery(AbstractQuery $query)
- {
- return $this->setParam('query', $query->toArray());
- }
-
- /**
- * Gets the query array
- *
- * @return array
- **/
- public function getQuery()
- {
- return $this->getParam('query');
- }
-
- /**
- * Set Filter
- *
- * @param \Elastica\Filter\AbstractFilter $filter Filter object
- * @return \Elastica\Query Current object
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam('filter', $filter->toArray());
- }
-
- /**
- * Sets the start from which the search results should be returned
- *
- * @param int $from
- * @return \Elastica\Query Query object
- */
- public function setFrom($from)
- {
- return $this->setParam('from', $from);
- }
-
- /**
- * Sets sort arguments for the query
- * Replaces existing values
- *
- * @param array $sortArgs Sorting arguments
- * @return \Elastica\Query Query object
- * @link http://www.elasticsearch.org/guide/reference/api/search/sort.html
- */
- public function setSort(array $sortArgs)
- {
- return $this->setParam('sort', $sortArgs);
- }
-
- /**
- * Adds a sort param to the query
- *
- * @param mixed $sort Sort parameter
- * @return \Elastica\Query Query object
- * @link http://www.elasticsearch.org/guide/reference/api/search/sort.html
- */
- public function addSort($sort)
- {
- return $this->addParam('sort', $sort);
- }
-
- /**
- * Sets highlight arguments for the query
- *
- * @param array $highlightArgs Set all highlight arguments
- * @return \Elastica\Query Query object
- * @link http://www.elasticsearch.org/guide/reference/api/search/highlighting.html
- */
- public function setHighlight(array $highlightArgs)
- {
- return $this->setParam('highlight', $highlightArgs);
- }
-
- /**
- * Adds a highlight argument
- *
- * @param mixed $highlight Add highlight argument
- * @return \Elastica\Query Query object
- * @link http://www.elasticsearch.org/guide/reference/api/search/highlighting.html
- */
- public function addHighlight($highlight)
- {
- return $this->addParam('highlight', $highlight);
- }
-
- /**
- * Sets maximum number of results for this query
- *
- * @param int $size OPTIONAL Maximal number of results for query (default = 10)
- * @return \Elastica\Query Query object
- */
- public function setSize($size = 10)
- {
- return $this->setParam('size', $size);
-
- }
-
- /**
- * Alias for setSize
- *
- * @deprecated Use the setSize() method, this method will be removed in future releases
- * @param int $limit OPTIONAL Maximal number of results for query (default = 10)
- * @return \Elastica\Query Query object
- */
- public function setLimit($limit = 10)
- {
- return $this->setSize($limit);
- }
-
- /**
- * Enables explain on the query
- *
- * @param bool $explain OPTIONAL Enabled or disable explain (default = true)
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/reference/api/search/explain.html
- */
- public function setExplain($explain = true)
- {
- return $this->setParam('explain', $explain);
- }
-
- /**
- * Enables version on the query
- *
- * @param bool $version OPTIONAL Enabled or disable version (default = true)
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/reference/api/search/version.html
- */
- public function setVersion($version = true)
- {
- return $this->setParam('version', $version);
- }
-
- /**
- * Sets the fields to be returned by the search
- *
- * @param array $fields Fields to be returned
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/reference/api/search/fields.html
- */
- public function setFields(array $fields)
- {
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Set script fields
- *
- * @param array|\Elastica\ScriptFields $scriptFields Script fields
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/reference/api/search/script-fields.html
- */
- public function setScriptFields($scriptFields)
- {
- if (is_array($scriptFields)) {
- $scriptFields = new ScriptFields($scriptFields);
- }
-
- return $this->setParam('script_fields', $scriptFields->toArray());
- }
-
- /**
- * Adds a Script to the query
- *
- * @param string $name
- * @param \Elastica\Script $script Script object
- * @return \Elastica\Query Query object
- */
- public function addScriptField($name, Script $script)
- {
- $this->_params['script_fields'][$name] = $script->toArray();
-
- return $this;
- }
-
- /**
- * Sets all facets for this query object. Replaces existing facets
- *
- * @param array $facets List of facet objects
- * @return \Elastica\Query Query object
- * @link http://www.elasticsearch.org/guide/reference/api/search/facets/
- */
- public function setFacets(array $facets)
- {
- $this->_params['facets'] = array();
- foreach ($facets as $facet) {
- $this->addFacet($facet);
- }
-
- return $this;
- }
-
- /**
- * Adds a Facet to the query
- *
- * @param \Elastica\Facet\AbstractFacet $facet Facet object
- * @return \Elastica\Query Query object
- */
- public function addFacet(AbstractFacet $facet)
- {
- $this->_params['facets'][$facet->getName()] = $facet->toArray();
-
- return $this;
- }
-
- /**
- * Adds an Aggregation to the query
- *
- * @param AbstractAggregation $agg
- * @return \Elastica\Query Query object
- */
- public function addAggregation(AbstractAggregation $agg)
- {
- if (!array_key_exists('aggs', $this->_params)) {
- $this->_params['aggs'] = array();
- }
- $this->_params['aggs'][$agg->getName()] = $agg->toArray();
- return $this;
- }
-
- /**
- * Converts all query params to an array
- *
- * @return array Query array
- */
- public function toArray()
- {
- if (!isset($this->_params['query']) && ($this->_suggest == 0)) {
- $this->setQuery(new MatchAll());
- }
-
- if (isset($this->_params['facets']) && 0 === count($this->_params['facets'])) {
- unset($this->_params['facets']);
- }
-
- if (isset($this->_params['post_filter']) && 0 === count($this->_params['post_filter'])) {
- unset($this->_params['post_filter']);
- }
-
- return $this->_params;
- }
-
- /**
- * Allows filtering of documents based on a minimum score
- *
- * @param int $minScore Minimum score to filter documents by
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Query Query object
- */
- public function setMinScore($minScore)
- {
- if (!is_numeric($minScore)) {
- throw new InvalidException('has to be numeric param');
- }
-
- return $this->setParam('min_score', $minScore);
- }
-
- /**
- * Add a suggest term
- *
- * @param \Elastica\Suggest $suggest suggestion object
- */
- public function setSuggest(Suggest $suggest)
- {
- $this->addParam(NULL, $suggest->toArray());
- $this->_suggest = 1;
- }
-
- /**
- * Add a Rescore
- *
- * @param \Elastica\Rescore\AbstractRescore $suggest suggestion object
- */
- public function setRescore($rescore)
- {
- $this->setParam('rescore', $rescore->toArray());
- }
-
- /**
- * Sets the _source field to be returned with every hit
- *
- * @param array $fields Fields to be returned
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/1.x/search-request-source-filtering.html
- */
- public function setSource(array $fields)
- {
- return $this->setParam('_source', $fields);
- }
-
- /**
- * Sets post_filter argument for the query. The filter is applied after the query has executed
- * @param array $post
- * @return \Elastica\Query Current object
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_filtering_queries_and_aggregations.html#_post_filter
- */
- public function setPostFilter(array $post)
- {
- return $this->setParam("post_filter", $post);
- }
-}
-
-
-
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php b/vendor/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php
deleted file mode 100644
index 5b24ace4..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/AbstractQuery.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Param;
-
-/**
- * Abstract query object. Should be extended by all query types.
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-abstract class AbstractQuery extends Param
-{
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Bool.php b/vendor/ruflin/elastica/lib/Elastica/Query/Bool.php
deleted file mode 100644
index 2b2c1157..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Bool.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Exception\InvalidException;
-use Elastica\Query\AbstractQuery;
-
-/**
- * Bool query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/bool-query.html
- */
-class Bool extends AbstractQuery
-{
- /**
- * Add should part to query
- *
- * @param \Elastica\Query\AbstractQuery|array $args Should query
- * @return \Elastica\Query\Bool Current object
- */
- public function addShould($args)
- {
- return $this->_addQuery('should', $args);
- }
-
- /**
- * Add must part to query
- *
- * @param \Elastica\Query\AbstractQuery|array $args Must query
- * @return \Elastica\Query\Bool Current object
- */
- public function addMust($args)
- {
- return $this->_addQuery('must', $args);
- }
-
- /**
- * Add must not part to query
- *
- * @param \Elastica\Query\AbstractQuery|array $args Must not query
- * @return \Elastica\Query\Bool Current object
- */
- public function addMustNot($args)
- {
- return $this->_addQuery('must_not', $args);
- }
-
- /**
- * Adds a query to the current object
- *
- * @param string $type Query type
- * @param \Elastica\Query\AbstractQuery|array $args Query
- * @return \Elastica\Query\Bool
- * @throws \Elastica\Exception\InvalidException If not valid query
- */
- protected function _addQuery($type, $args)
- {
- if ($args instanceof AbstractQuery) {
- $args = $args->toArray();
- }
-
- if (!is_array($args)) {
- throw new InvalidException('Invalid parameter. Has to be array or instance of Elastica\Query\AbstractQuery');
- }
-
- return $this->addParam($type, $args);
- }
-
- /**
- * Sets boost value of this query
- *
- * @param float $boost Boost value
- * @return \Elastica\Query\Bool Current object
- */
- public function setBoost($boost)
- {
- return $this->setParam('boost', $boost);
- }
-
- /**
- * Set the minimum number of of should match
- *
- * @param int $minimumNumberShouldMatch Should match minimum
- * @return \Elastica\Query\Bool Current object
- */
- public function setMinimumNumberShouldMatch($minimumNumberShouldMatch)
- {
- return $this->setParam('minimum_number_should_match', $minimumNumberShouldMatch);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Boosting.php b/vendor/ruflin/elastica/lib/Elastica/Query/Boosting.php
deleted file mode 100644
index fe429637..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Boosting.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Class Boosting
- * @package Elastica\Query
- * @author Balazs Nadasdi <yitsushi@gmail.com>
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html
- */
-class Boosting extends AbstractQuery
-{
- const NEGATIVE_BOOST = 0.2;
-
- /**
- * Set the positive query for this Boosting Query
- * @param AbstractQuery $query
- * @return \Elastica\Query\Boosting
- */
- public function setPositiveQuery(AbstractQuery $query)
- {
- return $this->setParam('positive', $query->toArray());
- }
-
- /**
- * Set the negative query for this Boosting Query
- * @param AbstractQuery $query
- * @return \Elastica\Query\Boosting
- */
- public function setNegativeQuery(AbstractQuery $query)
- {
- return $this->setParam('negative', $query->toArray());
- }
-
- /**
- * Set the negative_boost parameter for this Boosting Query
- * @param Float $negativeBoost
- * @return \Elastica\Query\Boosting
- */
- public function setNegativeBoost($negativeBoost)
- {
- return $this->setParam('negative_boost', (float)$negativeBoost);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Builder.php b/vendor/ruflin/elastica/lib/Elastica/Query/Builder.php
deleted file mode 100644
index 2a5e8baa..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Builder.php
+++ /dev/null
@@ -1,933 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\JSONParseException;
-use Elastica\JSON;
-
-/**
- * Query Builder.
- *
- * @category Xodoa
- * @package Elastica
- * @author Chris Gedrim <chris@gedr.im>
- * @link http://www.elasticsearch.org/
- **/
-class Builder extends AbstractQuery
-{
- /**
- * Query string.
- *
- * @var string
- */
- private $_string = '{';
-
- /**
- * Factory method.
- *
- * @param string $string JSON encoded string to use as query.
- *
- * @return \Elastica\Query\Builder
- */
- public static function factory($string = null)
- {
- return new Builder($string);
- }
-
- /**
- * Constructor
- *
- * @param string $string JSON encoded string to use as query.
- */
- public function __construct($string = null)
- {
- if (! $string == null) {
- $this->_string .= substr($string, 1, -1);
- }
- }
-
- /**
- * Output the query string.
- *
- * @return string
- */
- public function __toString()
- {
- return rtrim($this->_string, ',').'}';
- }
-
- /**
- * {@inheritdoc}
- */
- public function toArray()
- {
- try {
- return JSON::parse($this->__toString());
- } catch (JSONParseException $e) {
- throw new InvalidException('The query produced is invalid');
- }
- }
-
- /**
- * Allow wildcards (*, ?) as the first character in a query.
- *
- * @param boolean $bool Defaults to true.
- *
- * @return \Elastica\Query\Builder
- */
- public function allowLeadingWildcard($bool = true)
- {
- return $this->field('allow_leading_wildcard', (bool) $bool);
- }
-
- /**
- * Enable best effort analysis of wildcard terms.
- *
- * @param boolean $bool Defaults to true.
- *
- * @return \Elastica\Query\Builder
- */
- public function analyzeWildcard($bool = true)
- {
- return $this->field('analyze_wildcard', (bool) $bool);
- }
-
- /**
- * Set the analyzer name used to analyze the query string.
- *
- * @param string $analyzer Analyzer to use.
- *
- * @return \Elastica\Query\Builder
- */
- public function analyzer($analyzer)
- {
- return $this->field('analyzer', $analyzer);
- }
-
- /**
- * Autogenerate phrase queries.
- *
- * @param boolean $bool Defaults to true.
- *
- * @return \Elastica\Query\Builder
- */
- public function autoGeneratePhraseQueries($bool = true)
- {
- return $this->field('auto_generate_phrase_queries', (bool) $bool);
- }
-
- /**
- * Bool Query.
- *
- * A query that matches documents matching boolean combinations of other queries.
- *
- * The bool query maps to Lucene BooleanQuery.
- *
- * It is built using one or more boolean clauses, each clause with a typed
- * occurrence.
- *
- * The occurrence types are: must, should, must_not.
- *
- * @return \Elastica\Query\Builder
- */
- public function bool()
- {
- return $this->fieldOpen('bool');
- }
-
- /**
- * Close a 'bool' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function boolClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Sets the boost value of the query.
- *
- * @param float $boost Defaults to 1.0.
- *
- * @return \Elastica\Query\Builder
- */
- public function boost($boost = 1.0)
- {
- return $this->field('boost', (float) $boost);
- }
-
- /**
- * Close a previously opened brace.
- *
- * @return \Elastica\Query\Builder
- */
- public function close()
- {
- $this->_string = rtrim($this->_string, ' ,').'},';
-
- return $this;
- }
-
- /**
- * Constant Score Query.
- *
- * A query that wraps a filter or another query and simply returns a constant
- * score equal to the query boost for every document in the filter.
- *
- * Maps to Lucene ConstantScoreQuery.
- *
- * @return \Elastica\Query\Builder
- */
- public function constantScore()
- {
- return $this->fieldOpen('constant_score');
- }
-
- /**
- * Close a 'constant_score' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function constantScoreClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * The default field for query terms if no prefix field is specified.
- *
- * @param string $field Defaults to _all.
- *
- * @return \Elastica\Query\Builder
- */
- public function defaultField($field = '_all')
- {
- return $this->field('default_field', $field);
- }
-
- /**
- * The default operator used if no explicit operator is specified.
- *
- * For example, with a default operator of OR, the query "capital of Hungary"
- * is translated to "capital OR of OR Hungary", and with default operator of
- * AND, the same query is translated to "capital AND of AND Hungary".
- *
- * @param string $operator Defaults to OR.
- *
- * @return \Elastica\Query\Builder
- */
- public function defaultOperator($operator = 'OR')
- {
- return $this->field('default_operator', $operator);
- }
-
- /**
- * Dis Max Query.
- *
- * A query that generates the union of documents produced by its subqueries,
- * and that scores each document with the maximum score for that document as
- * produced by any subquery, plus a tie breaking increment for any additional
- * matching subqueries.
- *
- * @return \Elastica\Query\Builder
- */
- public function disMax()
- {
- return $this->fieldOpen('dis_max');
- }
-
- /**
- * Close a 'dis_max' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function disMaxClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Enable position increments in result queries.
- *
- * @param boolean $bool Defaults to true.
- *
- * @return \Elastica\Query\Builder
- */
- public function enablePositionIncrements($bool = true)
- {
- return $this->field('enable_position_increments', (bool) $bool);
- }
-
- /**
- * Enables explanation for each hit on how its score was computed.
- *
- * @param boolean $value Turn on / off explain.
- *
- * @return \Elastica\Query\Builder
- */
- public function explain($value = true)
- {
- return $this->field('explain', $value);
- }
-
- /**
- * Open 'facets' block.
- *
- * Facets provide aggregated data based on a search query.
- *
- * In the simple case, a facet can return facet counts for various facet
- * values for a specific field.
- *
- * Elasticsearch supports more advanced facet implementations, such as
- * statistical or date histogram facets.
- *
- * @return \Elastica\Query\Builder
- */
- public function facets()
- {
- return $this->fieldOpen('facets');
- }
-
- /**
- * Close a facets block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function facetsClose()
- {
- return $this->close();
- }
-
- /**
- * Add a specific field / value entry.
- *
- * @param string $name Field to add.
- * @param mixed $value Value to set.
- *
- * @return \Elastica\Query\Builder
- */
- public function field($name, $value)
- {
- if (is_bool($value)) {
- $value = '"'. var_export($value, true) . '"';
- } elseif (is_array($value)) {
- $value = '["'.implode('","', $value).'"]';
- } else {
- $value = '"'.$value.'"';
- }
-
- $this->_string .= '"'.$name.'":'.$value.',';
-
- return $this;
- }
-
- /**
- * Close a field block.
- *
- * Alias of close() for ease of reading in source.
- * Passed parameters will be ignored, however they can be useful in source for
- * seeing which field is being closed.
- *
- * Builder::factory()
- * ->query()
- * ->range()
- * ->fieldOpen('created')
- * ->gte('2011-07-18 00:00:00')
- * ->lt('2011-07-19 00:00:00')
- * ->fieldClose('created')
- * ->rangeClose()
- * ->queryClose();
- *
- * @return \Elastica\Query\Builder
- */
- public function fieldClose()
- {
- return $this->close();
- }
-
- /**
- * Open a node for the specified name.
- *
- * @param string $name Field name.
- *
- * @return \Elastica\Query\Builder
- */
- public function fieldOpen($name)
- {
- $this->_string .= '"'.$name.'":';
- $this->open();
-
- return $this;
- }
-
- /**
- * Explicitly define fields to return.
- *
- * @param array $fields Array of fields to return.
- *
- * @return \Elastica\Query\Builder
- */
- public function fields(array $fields)
- {
- $this->_string .= '"fields":[';
-
- foreach ($fields as $field) {
- $this->_string .= '"'.$field.'",';
- }
-
- $this->_string = rtrim($this->_string, ',').'],';
-
- return $this;
- }
-
- /**
- * Open a 'filter' block.
- *
- * @return \Elastica\Query\Builder
- */
- public function filter()
- {
- return $this->fieldOpen('filter');
- }
-
- /**
- * Close a filter block.
- *
- * @return \Elastica\Query\Builder
- */
- public function filterClose()
- {
- return $this->close();
- }
-
- /**
- * Query.
- *
- * @return \Elastica\Query\Builder
- */
- public function filteredQuery()
- {
- return $this->fieldOpen('filtered');
- }
-
- /**
- * Close a 'filtered_query' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function filteredQueryClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Set the from parameter (offset).
- *
- * @param integer $value Result number to start from.
- *
- * @return \Elastica\Query\Builder
- */
- public function from($value = 0)
- {
- return $this->field('from', $value);
- }
-
- /**
- * Set the minimum similarity for fuzzy queries.
- *
- * @param float $value Defaults to 0.5.
- *
- * @return \Elastica\Query\Builder
- */
- public function fuzzyMinSim($value = 0.5)
- {
- return $this->field('fuzzy_min_sim', (float) $value);
- }
-
- /**
- * Set the prefix length for fuzzy queries.
- *
- * @param integer $value Defaults to 0.
- *
- * @return \Elastica\Query\Builder
- */
- public function fuzzyPrefixLength($value = 0)
- {
- return $this->field('fuzzy_prefix_length', (int) $value);
- }
-
- /**
- * Add a greater than (gt) clause.
- *
- * Used in range blocks.
- *
- * @param mixed $value Value to be gt.
- *
- * @return \Elastica\Query\Builder
- */
- public function gt($value)
- {
- return $this->field('gt', $value);
- }
-
- /**
- * Add a greater than or equal to (gte) clause.
- *
- * Used in range blocks.
- *
- * @param mixed $value Value to be gte to.
- *
- * @return \Elastica\Query\Builder
- */
- public function gte($value)
- {
- return $this->field('gte', $value);
- }
-
- /**
- * Automatically lower-case terms of wildcard, prefix, fuzzy, and range queries.
- *
- * @param boolean $bool Defaults to true.
- *
- * @return \Elastica\Query\Builder
- */
- public function lowercaseExpandedTerms($bool = true)
- {
- return $this->field('lowercase_expanded_terms', (bool) $bool);
- }
-
- /**
- * Add a less than (lt) clause.
- *
- * Used in range blocks.
- *
- * @param mixed $value Value to be lt.
- *
- * @return \Elastica\Query\Builder
- */
- public function lt($value)
- {
- return $this->field('lt', $value);
- }
-
- /**
- * Add a less than or equal to (lte) clause.
- *
- * Used in range blocks.
- *
- * @param mixed $value Value to be lte to.
- *
- * @return \Elastica\Query\Builder
- */
- public function lte($value)
- {
- return $this->field('lte', $value);
- }
-
- /**
- * Match All Query.
- *
- * A query that matches all documents.
- *
- * Maps to Lucene MatchAllDocsQuery.
- *
- * @param float $boost Boost to use.
- *
- * @return \Elastica\Query\Builder
- */
- public function matchAll($boost = null)
- {
- $this->fieldOpen('match_all');
-
- if ( ! $boost == null && is_numeric($boost)) {
- $this->field('boost', (float) $boost);
- }
-
- return $this->close();
- }
-
- /**
- * The minimum number of should clauses to match.
- *
- * @param integer $minimum Minimum number that should match.
- *
- * @return \Elastica\Query\Builder
- */
- public function minimumNumberShouldMatch($minimum)
- {
- return $this->field('minimum_number_should_match', (int) $minimum);
- }
-
- /**
- * The clause (query) must appear in matching documents.
- *
- * @return \Elastica\Query\Builder
- */
- public function must()
- {
- return $this->fieldOpen('must');
- }
-
- /**
- * Close a 'must' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function mustClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * The clause (query) must not appear in the matching documents.
- *
- * Note that it is not possible to search on documents that only consists of
- * a must_not clauses.
- *
- * @return \Elastica\Query\Builder
- */
- public function mustNot()
- {
- return $this->fieldOpen('must_not');
- }
-
- /**
- * Close a 'must_not' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function mustNotClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Add an opening brace.
- *
- * @return \Elastica\Query\Builder
- */
- public function open()
- {
- $this->_string .= '{';
-
- return $this;
- }
-
- /**
- * Sets the default slop for phrases.
- *
- * If zero, then exact phrase matches are required.
- *
- * @param integer $value Defaults to 0.
- *
- * @return \Elastica\Query\Builder
- */
- public function phraseSlop($value = 0)
- {
- return $this->field('phrase_slop', (int) $value);
- }
-
- /**
- * Query.
- *
- * @return \Elastica\Query\Builder
- */
- public function prefix()
- {
- return $this->fieldOpen('prefix');
- }
-
- /**
- * Close a 'prefix' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function prefixClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Queries to run within a dis_max query.
- *
- * @param array $queries Array of queries.
- *
- * @return \Elastica\Query\Builder
- */
- public function queries(array $queries)
- {
- $this->_string .= '"queries":[';
-
- foreach ($queries as $query) {
- $this->_string .= $query.',';
- }
-
- $this->_string = rtrim($this->_string, ' ,').'],';
-
- return $this;
- }
-
- /**
- * Open a query block.
- *
- * @return \Elastica\Query\Builder
- */
- public function query()
- {
- return $this->fieldOpen('query');
- }
-
- /**
- * Close a query block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function queryClose()
- {
- return $this->close();
- }
-
- /**
- * Query String Query.
- *
- * A query that uses a query parser in order to parse its content
- *
- * @return \Elastica\Query\Builder
- */
- public function queryString()
- {
- return $this->fieldOpen('query_string');
- }
-
- /**
- * Close a 'query_string' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function queryStringClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Open a range block.
- *
- * @return \Elastica\Query\Builder
- */
- public function range()
- {
- return $this->fieldOpen('range');
- }
-
- /**
- * Close a range block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function rangeClose()
- {
- return $this->close();
- }
-
- /**
- * The clause (query) should appear in the matching document.
- *
- * A boolean query with no must clauses, one or more should clauses must
- * match a document.
- *
- * @return \Elastica\Query\Builder
- */
- public function should()
- {
- return $this->fieldOpen('should');
- }
-
- /**
- * Close a 'should' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function shouldClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Set the size parameter (number of records to return).
- *
- * @param integer $value Number of records to return.
- *
- * @return \Elastica\Query\Builder
- */
- public function size($value = 10)
- {
- return $this->field('size', $value);
- }
-
- /**
- * Allows to add one or more sort on specific fields.
- *
- * @return \Elastica\Query\Builder
- */
- public function sort()
- {
- return $this->fieldOpen('sort');
- }
-
- /**
- * Close a sort block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function sortClose()
- {
- return $this->close();
- }
-
- /**
- * Add a field to sort on.
- *
- * @param string $name Field to sort.
- * @param boolean $reverse Reverse direction.
- *
- * @return \Elastica\Query\Builder
- */
- public function sortField($name, $reverse = false)
- {
- return $this
- ->fieldOpen('sort')
- ->fieldOpen($name)
- ->field('reverse', $reverse)
- ->close()
- ->close();
- }
-
- /**
- * Sort on multiple fields
- *
- * @param array $fields Associative array where the keys are field names to sort on, and the
- * values are the sort order: "asc" or "desc"
- *
- * @return \Elastica\Query\Builder
- */
- public function sortFields(array $fields)
- {
- $this->_string .= '"sort":[';
-
- foreach ($fields as $fieldName => $order) {
- $this->_string .= '{"'.$fieldName.'":"'.$order.'"},';
- }
-
- $this->_string = rtrim($this->_string, ',') . '],';
-
- return $this;
- }
-
- /**
- * Term Query.
- *
- * Matches documents that have fields that contain a term (not analyzed).
- *
- * The term query maps to Lucene TermQuery.
- *
- * @return \Elastica\Query\Builder
- */
- public function term()
- {
- return $this->fieldOpen('term');
- }
-
- /**
- * Close a 'term' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function termClose()
- {
- return $this->fieldClose();
- }
-
- /**
- * Open a 'text_phrase' block.
- *
- * @return \Elastica\Query\Builder
- */
- public function textPhrase()
- {
- return $this->fieldOpen('text_phrase');
- }
-
- /**
- * Close a 'text_phrase' block.
- *
- * @return \Elastica\Query\Builder
- */
- public function textPhraseClose()
- {
- return $this->close();
- }
-
- /**
- * When using dis_max, the disjunction max tie breaker.
- *
- * @param float $multiplier Multiplier to use.
- *
- * @return \Elastica\Query\Builder
- */
- public function tieBreakerMultiplier($multiplier)
- {
- return $this->field('tie_breaker_multiplier', (float) $multiplier);
- }
-
- /**
- * Query.
- *
- * @return \Elastica\Query\Builder
- */
- public function wildcard()
- {
- return $this->fieldOpen('wildcard');
- }
-
- /**
- * Close a 'wildcard' block.
- *
- * Alias of close() for ease of reading in source.
- *
- * @return \Elastica\Query\Builder
- */
- public function wildcardClose()
- {
- return $this->fieldClose();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Common.php b/vendor/ruflin/elastica/lib/Elastica/Query/Common.php
deleted file mode 100644
index 6e112769..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Common.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-
-/**
- * Class Common
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/common-terms-query/
- */
-class Common extends AbstractQuery
-{
- const OPERATOR_AND = 'and';
- const OPERATOR_OR = 'or';
-
- /**
- * @var string
- */
- protected $_field;
-
- /**
- * @var array
- */
- protected $_queryParams = array();
-
- /**
- * @param string $field the field on which to query
- * @param string $query the query string
- * @param float $cutoffFrequency percentage in decimal form (.001 == 0.1%)
- */
- public function __construct($field, $query, $cutoffFrequency)
- {
- $this->setField($field);
- $this->setQuery($query);
- $this->setCutoffFrequency($cutoffFrequency);
- }
-
- /**
- * Set the field on which to query
- * @param string $field the field on which to query
- * @return \Elastica\Query\Common
- */
- public function setField($field)
- {
- $this->_field = $field;
- return $this;
- }
-
- /**
- * Set the query string for this query
- * @param string $query
- * @return \Elastica\Query\Common
- */
- public function setQuery($query)
- {
- return $this->setQueryParam('query', $query);
- }
-
- /**
- * Set the frequency below which terms will be put in the low frequency group
- * @param float $frequency percentage in decimal form (.001 == 0.1%)
- * @return \Elastica\Query\Common
- */
- public function setCutoffFrequency($frequency)
- {
- return $this->setQueryParam('cutoff_frequency', (float)$frequency);
- }
-
- /**
- * Set the logic operator for low frequency terms
- * @param string $operator see OPERATOR_* class constants for options
- * @return \Elastica\Query\Common
- */
- public function setLowFrequencyOperator($operator)
- {
- return $this->setQueryParam('low_freq_operator', $operator);
- }
-
- /**
- * Set the logic operator for high frequency terms
- * @param string $operator see OPERATOR_* class constants for options
- * @return \Elastica\Query\Common
- */
- public function setHighFrequencyOperator($operator)
- {
- return $this->setQueryParam('high_frequency_operator', $operator);
- }
-
- /**
- * Set the minimum_should_match parameter
- * @param int|string $minimum minimum number of low frequency terms which must be present
- * @return \Elastica\Query\Common
- * @link Possible values for minimum_should_match http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html
- */
- public function setMinimumShouldMatch($minimum)
- {
- return $this->setQueryParam('minimum_should_match', $minimum);
- }
-
- /**
- * Set the boost for this query
- * @param float $boost
- * @return \Elastica\Query\Common
- */
- public function setBoost($boost)
- {
- return $this->setQueryParam('boost', (float)$boost);
- }
-
- /**
- * Set the analyzer for this query
- * @param string $analyzer
- * @return \Elastica\Query\Common
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setQueryParam('analyzer', $analyzer);
- }
-
- /**
- * Enable / disable computation of score factor based on the fraction of all query terms contained in the document
- * @param bool $disable disable_coord is false by default
- * @return \Elastica\Query\Common
- */
- public function setDisableCoord($disable = true)
- {
- return $this->setQueryParam('disable_coord', (bool)$disable);
- }
-
- /**
- * Set a parameter in the body of this query
- * @param string $key parameter key
- * @param mixed $value parameter value
- * @return \Elastica\Query\Common
- */
- public function setQueryParam($key, $value)
- {
- $this->_queryParams[$key] = $value;
- return $this;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $this->setParam($this->_field, $this->_queryParams);
- return parent::toArray();
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/ConstantScore.php b/vendor/ruflin/elastica/lib/Elastica/Query/ConstantScore.php
deleted file mode 100644
index 16854600..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/ConstantScore.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Filter\AbstractFilter;
-
-/**
- * Constant score query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/constant-score-query.html
- */
-class ConstantScore extends AbstractQuery
-{
- /**
- * Construct constant score query
- *
- * @param null|\Elastica\Filter\AbstractFilter|array $filter
- */
- public function __construct($filter = null)
- {
- if (!is_null($filter)) {
- $this->setFilter($filter);
- }
- }
-
- /**
- * Set filter
- *
- * @param array|\Elastica\Filter\AbstractFilter $filter
- * @return \Elastica\Query\ConstantScore Query object
- */
- public function setFilter($filter)
- {
- if ($filter instanceof AbstractFilter) {
- $filter = $filter->toArray();
- }
-
- return $this->setParam('filter', $filter);
- }
-
- /**
- * Set query
- *
- * @param array|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Query\ConstantScore Query object
- */
- public function setQuery($query)
- {
- if ($query instanceof AbstractQuery) {
- $query = $query->toArray();
- }
-
- return $this->setParam('query', $query);
- }
-
- /**
- * Set boost
- *
- * @param float $boost
- * @return \Elastica\Query\ConstantScore
- */
- public function setBoost($boost)
- {
- return $this->setParam('boost', $boost);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/DisMax.php b/vendor/ruflin/elastica/lib/Elastica/Query/DisMax.php
deleted file mode 100644
index 4b1d320d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/DisMax.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Exception\InvalidException;
-
-/**
- * DisMax query
- *
- * @category Xodoa
- * @package Elastica
- * @author Hung Tran <oohnoitz@gmail.com>
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html
- */
-class DisMax extends AbstractQuery
-{
- /**
- * Adds a query to the current object
- *
- * @param \Elastica\Query\AbstractQuery|array $args Query
- * @return \Elastica\Query\DisMax
- * @throws \Elastica\Exception\InvalidException If not valid query
- */
- public function addQuery($args)
- {
- if ($args instanceof AbstractQuery) {
- $args = $args->toArray();
- }
-
- if (!is_array($args)) {
- throw new InvalidException('Invalid parameter. Has to be array or instance of Elastica\Query\AbstractQuery');
- }
-
- return $this->addParam('queries', $args);
- }
-
- /**
- * Set boost
- *
- * @param float $boost
- * @return \Elastica\Query\DisMax
- */
- public function setBoost($boost)
- {
- return $this->setParam('boost', $boost);
- }
-
- /**
- * Sets tie breaker to multiplier value to balance the scores between lower and higher scoring fields.
- *
- * If not set, defaults to 0.0
- *
- * @param float $tieBreaker
- * @return \Elastica\Query\DisMax
- */
- public function setTieBreaker($tieBreaker = 0.0)
- {
- return $this->setParam('tie_breaker', $tieBreaker);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Filtered.php b/vendor/ruflin/elastica/lib/Elastica/Query/Filtered.php
deleted file mode 100644
index c28d4cdd..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Filtered.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-use Elastica\Filter\AbstractFilter;
-use Elastica\Exception\InvalidException;
-
-/**
- * Filtered query. Needs a query and a filter
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/filtered-query.html
- */
-class Filtered extends AbstractQuery
-{
- /**
- * Constructs a filtered query
- *
- * @param \Elastica\Query\AbstractQuery $query OPTIONAL Query object
- * @param \Elastica\Filter\AbstractFilter $filter OPTIONAL Filter object
- */
- public function __construct(AbstractQuery $query = null, AbstractFilter $filter = null) {
- $this->setQuery($query);
- $this->setFilter($filter);
- }
-
- /**
- * Sets a query
- *
- * @param \Elastica\Query\AbstractQuery $query Query object
- * @return \Elastica\Query\Filtered Current object
- */
- public function setQuery(AbstractQuery $query = null)
- {
- return $this->setParam('query', $query);
- }
-
- /**
- * Sets the filter
- *
- * @param \Elastica\Filter\AbstractFilter $filter Filter object
- * @return \Elastica\Query\Filtered Current object
- */
- public function setFilter(AbstractFilter $filter = null)
- {
- return $this->setParam('filter', $filter);
- }
-
- /**
- * Gets the filter.
- *
- * @return \Elastica\Filter\AbstractFilter
- */
- public function getFilter()
- {
- return $this->getParam('filter');
- }
-
- /**
- * Gets the query.
- *
- * @return \Elastica\Query\AbstractQuery
- */
- public function getQuery()
- {
- return $this->getParam('query');
- }
-
- /**
- * Converts query to array
- *
- * @return array Query array
- * @see \Elastica\Query\AbstractQuery::toArray()
- */
- public function toArray()
- {
- $filtered = array();
-
- if ($this->hasParam('query') && $this->getParam('query') instanceof AbstractQuery) {
- $filtered['query'] = $this->getParam('query')->toArray();
- }
-
- if ($this->hasParam('filter') && $this->getParam('filter') instanceof AbstractFilter) {
- $filtered['filter'] = $this->getParam('filter')->toArray();
- }
-
- if (empty($filtered)) {
- throw new InvalidException('A query and/or filter is required');
- }
-
- return array('filtered' => $filtered);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/FunctionScore.php b/vendor/ruflin/elastica/lib/Elastica/Query/FunctionScore.php
deleted file mode 100644
index 8230c86e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/FunctionScore.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Filter\AbstractFilter;
-use Elastica\Script;
-
-/**
- * Class FunctionScore
- * @package Elastica\Query
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/function-score-query/
- */
-class FunctionScore extends AbstractQuery
-{
- const BOOST_MODE_MULTIPLY = 'multiply';
- const BOOST_MODE_REPLACE = 'replace';
- const BOOST_MODE_SUM = 'sum';
- const BOOST_MODE_AVERAGE = 'average';
- const BOOST_MODE_MAX = 'max';
- const BOOST_MODE_MIN = 'min';
-
- const SCORE_MODE_MULTIPLY = 'multiply';
- const SCORE_MODE_SUM = 'sum';
- const SCORE_MODE_AVERAGE = 'avg';
- const SCORE_MODE_FIRST = 'first';
- const SCORE_MODE_MAX = 'max';
- const SCORE_MODE_MIN = 'min';
-
- const DECAY_GAUSS = 'gauss';
- const DECAY_EXPONENTIAL = 'exp';
- const DECAY_LINEAR = 'linear';
-
- protected $_functions = array();
-
- /**
- * Set the child query for this function_score query
- * @param AbstractQuery $query
- * @return \Elastica\Query\FunctionScore
- */
- public function setQuery(AbstractQuery $query)
- {
- return $this->setParam('query', $query->toArray());
- }
-
- /**
- * @param AbstractFilter $filter
- * @return \Elastica\Param
- */
- public function setFilter(AbstractFilter $filter)
- {
- return $this->setParam('filter', $filter->toArray());
- }
-
- /**
- * Add a function to the function_score query
- * @param string $functionType valid values are DECAY_* constants and script_score
- * @param array|float $functionParams the body of the function. See documentation for proper syntax.
- * @param AbstractFilter $filter optional filter to apply to the function
- * @return \Elastica\Query\FunctionScore
- */
- public function addFunction($functionType, $functionParams, AbstractFilter $filter = NULL)
- {
- $function = array(
- $functionType => $functionParams
- );
- if (!is_null($filter)) {
- $function['filter'] = $filter->toArray();
- }
- $this->_functions[] = $function;
- return $this;
- }
-
- /**
- * Add a script_score function to the query
- * @param Script $script a Script object
- * @param AbstractFilter $filter an optional filter to apply to the function
- * @return \Elastica\Query\FunctionScore
- */
- public function addScriptScoreFunction(Script $script, AbstractFilter $filter = NULL)
- {
- return $this->addFunction('script_score', $script->toArray(), $filter);
- }
-
- /**
- * Add a decay function to the query
- * @param string $function see DECAY_* constants for valid options
- * @param string $field the document field on which to perform the decay function
- * @param string $origin the origin value for this decay function
- * @param string $scale a scale to define the rate of decay for this function
- * @param string $offset If defined, this function will only be computed for documents with a distance from the origin greater than this value
- * @param float $decay optionally defines how documents are scored at the distance given by the $scale parameter
- * @param float $scaleWeight optional factor by which to multiply the score at the value provided by the $scale parameter
- * @param AbstractFilter $filter a filter associated with this function
- * @return \Elastica\Query\FunctionScore
- */
- public function addDecayFunction($function, $field, $origin, $scale, $offset = NULL, $decay = NULL, $scaleWeight = NULL,
- AbstractFilter $filter = NULL)
- {
- $functionParams = array(
- $field => array(
- 'origin' => $origin,
- 'scale' => $scale
- )
- );
- if (!is_null($offset)) {
- $functionParams[$field]['offset'] = $offset;
- }
- if (!is_null($decay)) {
- $functionParams[$field]['decay'] = (float)$decay;
- }
- if (!is_null($scaleWeight)) {
- $functionParams[$field]['scale_weight'] = (float)$scaleWeight;
- }
- return $this->addFunction($function, $functionParams, $filter);
- }
-
- /**
- * Add a boost_factor function to the query
- * @param float $boostFactor the boost factor value
- * @param AbstractFilter $filter a filter associated with this function
- */
- public function addBoostFactorFunction($boostFactor, AbstractFilter $filter = NULL)
- {
- $this->addFunction('boost_factor', $boostFactor, $filter);
- }
-
- /**
- * Add a random_score function to the query
- * @param number $seed the seed value
- * @param AbstractFilter $filter a filter associated with this function
- * @param float $boost an optional boost value associated with this function
- */
- public function addRandomScoreFunction($seed, AbstractFilter $filter = NULL, $boost = NULL)
- {
- $this->addFunction('random_score', array('seed' => $seed), $filter, $boost);
- }
-
- /**
- * Set an overall boost value for this query
- * @param float $boost
- * @return \Elastica\Query\FunctionScore
- */
- public function setBoost($boost)
- {
- return $this->setParam('boost', (float)$boost);
- }
-
- /**
- * Restrict the combined boost of the function_score query and its child query
- * @param float $maxBoost
- * @return \Elastica\Query\FunctionScore
- */
- public function setMaxBoost($maxBoost)
- {
- return $this->setParam('max_boost', (float)$maxBoost);
- }
-
- /**
- * The boost mode determines how the score of this query is combined with that of the child query
- * @param string $mode see BOOST_MODE_* constants for valid options. Default is multiply.
- * @return \Elastica\Query\FunctionScore
- */
- public function setBoostMode($mode)
- {
- return $this->setParam('boost_mode', $mode);
- }
-
- /**
- * If set, this query will return results in random order.
- * @param int $seed Set a seed value to return results in the same random order for consistent pagination.
- * @return \Elastica\Query\FunctionScore
- */
- public function setRandomScore($seed = NULL)
- {
- $seedParam = new \stdClass();
- if (!is_null($seed)) {
- $seedParam->seed = $seed;
- }
- return $this->setParam('random_score', $seedParam);
- }
-
- /**
- * Set the score method
- * @param string $mode see SCORE_MODE_* constants for valid options. Default is multiply.
- * @return \Elastica\Query\FunctionScore
- */
- public function setScoreMode($mode)
- {
- return $this->setParam('score_mode', $mode);
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- if (sizeof($this->_functions)) {
- $this->setParam('functions', $this->_functions);
- }
- return parent::toArray();
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Fuzzy.php b/vendor/ruflin/elastica/lib/Elastica/Query/Fuzzy.php
deleted file mode 100644
index 73b0f1a1..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Fuzzy.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Fuzzy query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/fuzzy-query.html
- */
-class Fuzzy extends AbstractQuery
-{
- /**
- * Construct a fuzzy query
- *
- * @param string $fieldName Field name
- * @param string $value String to search for
- * @return \Elastica\Query\Fuzzy Current object
- */
- public function __construct ($fieldName = null, $value = null)
- {
- if ($fieldName and $value) {
- $this->setField($fieldName, $value);
- }
- }
-
- /**
- * Set field for fuzzy query
- *
- * @param string $fieldName Field name
- * @param string $value String to search for
- * @return \Elastica\Query\Fuzzy Current object
- */
- public function setField ($fieldName, $value)
- {
- if (!is_string($value) or !is_string($fieldName)) {
- throw new InvalidException('The field and value arguments must be of type string.');
- }
- if (count($this->getParams()) > 0 and array_shift(array_keys($this->getParams())) != $fieldName) {
- throw new InvalidException('Fuzzy query can only support a single field.');
- }
- return $this->setParam($fieldName, array('value' => $value));
- }
-
- /**
- * Set optional parameters on the existing query
- *
- * @param string $param option name
- * @param mixed $value Value of the parameter
- * @return \Elastica\Query\Fuzzy Current object
- */
- public function setFieldOption ($param, $value) {
- //Retrieve the single existing field for alteration.
- $params = $this->getParams();
- if (count($params) < 1) {
- throw new InvalidException('No field has been set');
- }
- $keyArray = array_keys($params);
- $params[$keyArray[0]][$param] = $value;
-
- return $this->setparam($keyArray[0], $params[$keyArray[0]]);
- }
-
- /**
- * Deprecated method of setting a field.
- * @deprecated
- */
- public function addField($fieldName, $args)
- {
- if (!array_key_exists('value', $args)) {
- throw new InvalidException('Fuzzy query can only support a single field.');
- }
- $this->setField($fieldName, $args['value']);
- unset($args['value']);
- foreach ($args as $param => $value) {
- $this->setFieldOption($param, $value);
- }
- return $this;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php b/vendor/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php
deleted file mode 100644
index ffa34a81..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/FuzzyLikeThis.php
+++ /dev/null
@@ -1,215 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Fuzzy Like This query
- *
- * @category Xodoa
- * @package Elastica
- * @author Raul Martinez, Jr <juneym@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/flt-query.html
- */
-class FuzzyLikeThis extends AbstractQuery
-{
- /**
- * Field names
- *
- * @var array Field names
- */
- protected $_fields = array();
-
- /**
- * Like text
- *
- * @var string Like text
- */
- protected $_likeText = '';
-
- /**
- * Ignore term frequency
- *
- * @var boolean ignore term frequency
- */
- protected $_ignoreTF = false;
-
- /**
- * Max query terms value
- *
- * @var int Max query terms value
- */
- protected $_maxQueryTerms = 25;
-
- /**
- * minimum similarity
- *
- * @var int minimum similarity
- */
- protected $_minSimilarity = 0.5;
-
- /**
- * Prefix Length
- *
- * @var int Prefix Length
- */
- protected $_prefixLength = 0;
-
- /**
- * Boost
- *
- * @var float Boost
- */
- protected $_boost = 1.0;
-
- /**
- * Analyzer
- *
- * @var sting Analyzer
- */
- protected $_analyzer;
-
-
- /**
- * Adds field to flt query
- *
- * @param array $fields Field names
- * @return \Elastica\Query\FuzzyLikeThis Current object
- */
- public function addFields(array $fields)
- {
- $this->_fields = $fields;
-
- return $this;
- }
-
- /**
- * Set the "like_text" value
- *
- * @param string $text
- * @return \Elastica\Query\FuzzyLikeThis This current object
- */
- public function setLikeText($text)
- {
- $text = trim($text);
- $this->_likeText = $text;
-
- return $this;
- }
-
- /**
- * Set the "ignore_tf" value (ignore term frequency)
- *
- * @param bool $ignoreTF
- * @return \Elastica\Query\FuzzyLikeThis Current object
- */
- public function setIgnoreTF($ignoreTF)
- {
- $this->_ignoreTF = (bool) $ignoreTF;
-
- return $this;
- }
-
- /**
- * Set the minimum similarity
- *
- * @param int $value
- * @return \Elastica\Query\FuzzyLikeThis This current object
- */
- public function setMinSimilarity($value)
- {
- $value = (float) $value;
- $this->_minSimilarity = $value;
-
- return $this;
- }
-
- /**
- * Set boost
- *
- * @param float $value Boost value
- * @return \Elastica\Query\FuzzyLikeThis Query object
- */
- public function setBoost($value)
- {
- $this->_boost = (float) $value;
-
- return $this;
- }
-
- /**
- * Set Prefix Length
- *
- * @param int $value Prefix length
- * @return \Elastica\Query\FuzzyLikeThis
- */
- public function setPrefixLength($value)
- {
- $this->_prefixLength = (int) $value;
-
- return $this;
- }
-
- /**
- * Set max_query_terms
- *
- * @param int $value Max query terms value
- * @return \Elastica\Query\FuzzyLikeThis
- */
- public function setMaxQueryTerms($value)
- {
- $this->_maxQueryTerms = (int) $value;
-
- return $this;
- }
-
- /**
- * Set analyzer
- *
- * @param string $text Analyzer text
- * @return \Elastica\Query\FuzzyLikeThis
- */
- public function setAnalyzer($text)
- {
- $text = trim($text);
- $this->_analyzer = $text;
-
- return $this;
- }
-
- /**
- * Converts fuzzy like this query to array
- *
- * @return array Query array
- * @see \Elastica\Query\AbstractQuery::toArray()
- */
- public function toArray()
- {
- if (!empty($this->_fields)) {
- $args['fields'] = $this->_fields;
- }
-
- if (!empty($this->_boost)) {
- $args['boost'] = $this->_boost;
- }
-
- if (!empty($this->_likeText)) {
- $args['like_text'] = $this->_likeText;
- }
-
- if (!empty($this->_analyzer)) {
- $args['analyzer'] = $this->_analyzer;
- }
-
-
- $args['min_similarity'] = ($this->_minSimilarity > 0) ? $this->_minSimilarity : 0;
-
- $args['prefix_length'] = $this->_prefixLength;
- $args['ignore_tf'] = $this->_ignoreTF;
- $args['max_query_terms'] = $this->_maxQueryTerms;
-
- $data = parent::toArray();
- $args = array_merge($args, $data['fuzzy_like_this']);
-
- return array('fuzzy_like_this' => $args);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/HasChild.php b/vendor/ruflin/elastica/lib/Elastica/Query/HasChild.php
deleted file mode 100644
index e849a9bf..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/HasChild.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Query as BaseQuery;
-
-/**
- * Returns parent documents having child docs matching the query
- *
- * @category Xodoa
- * @package Elastica
- * @author Fabian Vogler <fabian@equivalence.ch>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/has-child-query.html
- */
-class HasChild extends AbstractQuery
-{
- /**
- * Construct HasChild Query
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @param string $type Parent document type
- */
- public function __construct($query, $type = null)
- {
- $this->setType($type);
- $this->setQuery($query);
- }
-
- /**
- * Sets query object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Query\HasChild
- */
- public function setQuery($query)
- {
- $query = BaseQuery::create($query);
- $data = $query->toArray();
-
- return $this->setParam('query', $data['query']);
- }
-
- /**
- * Set type of the parent document
- *
- * @param string $type Parent document type
- * @return \Elastica\Query\HasChild Current object
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-
- /**
- * Sets the scope
- *
- * @param string $scope Scope
- * @return \Elastica\Query\HasChild Current object
- */
- public function setScope($scope)
- {
- return $this->setParam('_scope', $scope);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/HasParent.php b/vendor/ruflin/elastica/lib/Elastica/Query/HasParent.php
deleted file mode 100644
index 809fb18d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/HasParent.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Query as BaseQuery;
-
-/**
- * Returns child documents having parent docs matching the query
- *
- * @category Xodoa
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/has-parent-query.html
- */
-class HasParent extends AbstractQuery
-{
- /**
- * Construct HasChild Query
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @param string $type Parent document type
- */
- public function __construct($query, $type)
- {
- $this->setQuery($query);
- $this->setType($type);
- }
-
- /**
- * Sets query object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Filter\HasParent
- */
- public function setQuery($query)
- {
- $query = BaseQuery::create($query);
- $data = $query->toArray();
-
- return $this->setParam('query', $data['query']);
- }
-
- /**
- * Set type of the parent document
- *
- * @param string $type Parent document type
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-
- /**
- * Sets the scope
- *
- * @param string $scope Scope
- * @return \Elastica\Filter\HasParent Current object
- */
- public function setScope($scope)
- {
- return $this->setParam('_scope', $scope);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Ids.php b/vendor/ruflin/elastica/lib/Elastica/Query/Ids.php
deleted file mode 100644
index f4a6f1aa..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Ids.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Type;
-
-/**
- * Ids Query
- *
- * @category Xodoa
- * @package Elastica
- * @author Lee Parker
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @author Tim Rupp
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/ids-query.html
- */
-class Ids extends AbstractQuery
-{
- /**
- * Params
- *
- * @var array Params
- */
- protected $_params = array();
-
- /**
- * Creates filter object
- *
- * @param string|\Elastica\Type $type Type to filter on
- * @param array $ids List of ids
- */
- public function __construct($type = null, array $ids = array())
- {
- $this->setType($type);
- $this->setIds($ids);
- }
-
- /**
- * Adds one more filter to the and filter
- *
- * @param string $id Adds id to filter
- * @return \Elastica\Query\Ids Current object
- */
- public function addId($id)
- {
- $this->_params['values'][] = $id;
-
- return $this;
- }
-
- /**
- * Adds one more type to query
- *
- * @param string|\Elastica\Type $type Type name or object
- * @return \Elastica\Query\Ids Current object
- */
- public function addType($type)
- {
- if ($type instanceof Type) {
- $type = $type->getName();
- } elseif (empty($type) && !is_numeric($type)) {
- // A type can be 0, but cannot be empty
- return $this;
- }
-
- $this->_params['type'][] = $type;
-
- return $this;
- }
-
- /**
- * Set type
- *
- * @param string|\Elastica\Type $type Type name or object
- * @return \Elastica\Query\Ids Current object
- */
- public function setType($type)
- {
- if ($type instanceof Type) {
- $type = $type->getName();
- } elseif (empty($type) && !is_numeric($type)) {
- // A type can be 0, but cannot be empty
- return $this;
- }
-
- $this->_params['type'] = $type;
-
- return $this;
- }
-
- /**
- * Sets the ids to filter
- *
- * @param array|string $ids List of ids
- * @return \Elastica\Query\Ids Current object
- */
- public function setIds($ids)
- {
- if (is_array($ids)) {
- $this->_params['values'] = $ids;
- } else {
- $this->_params['values'] = array($ids);
- }
-
- return $this;
- }
-
- /**
- * Converts filter to array
- *
- * @see \Elastica\Query\AbstractQuery::toArray()
- * @return array Query array
- */
- public function toArray()
- {
- return array('ids' => $this->_params);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Match.php b/vendor/ruflin/elastica/lib/Elastica/Query/Match.php
deleted file mode 100644
index ba66ad63..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Match.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Match query
- *
- * @category Xodoa
- * @package Elastica
- * @author F21
- * @author WONG Wing Lun <luiges90@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/match-query.html
- */
-class Match extends AbstractQuery
-{
- const ZERO_TERM_NONE = 'none';
- const ZERO_TERM_ALL = 'all';
-
- /**
- * Sets a param for the message array
- *
- * @param string $field
- * @param mixed $values
- * @return \Elastica\Query\Match
- */
- public function setField($field, $values)
- {
- return $this->setParam($field, $values);
- }
-
- /**
- * Sets a param for the given field
- *
- * @param string $field
- * @param string $key
- * @param string $value
- * @return \Elastica\Query\Match
- */
- public function setFieldParam($field, $key, $value)
- {
- if (!isset($this->_params[$field])) {
- $this->_params[$field] = array();
- }
-
- $this->_params[$field][$key] = $value;
-
- return $this;
- }
-
- /**
- * Sets the query string
- *
- * @param string $field
- * @param string $query
- * @return \Elastica\Query\Match
- */
- public function setFieldQuery($field, $query)
- {
- return $this->setFieldParam($field, 'query', $query);
- }
-
- /**
- * Set field type
- *
- * @param string $field
- * @param string $type
- * @return \Elastica\Query\Match
- */
- public function setFieldType($field, $type)
- {
- return $this->setFieldParam($field, 'type', $type);
- }
-
- /**
- * Set field operator
- *
- * @param string $field
- * @param string $operator
- * @return \Elastica\Query\Match
- */
- public function setFieldOperator($field, $operator)
- {
- return $this->setFieldParam($field, 'operator', $operator);
- }
-
- /**
- * Set field analyzer
- *
- * @param string $field
- * @param string $analyzer
- * @return \Elastica\Query\Match
- */
- public function setFieldAnalyzer($field, $analyzer)
- {
- return $this->setFieldParam($field, 'analyzer', $analyzer);
- }
-
- /**
- * Set field boost value
- *
- * If not set, defaults to 1.0.
- *
- * @param string $field
- * @param float $boost
- * @return \Elastica\Query\Match
- */
- public function setFieldBoost($field, $boost = 1.0)
- {
- return $this->setFieldParam($field, 'boost', (float) $boost);
- }
-
- /**
- * Set field minimum should match
- *
- * @param string $field
- * @param int|string $minimumShouldMatch
- * @return \Elastica\Query\Match
- * @link Possible values for minimum_should_match http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html
- */
- public function setFieldMinimumShouldMatch($field, $minimumShouldMatch)
- {
- return $this->setFieldParam($field, 'minimum_should_match', $minimumShouldMatch);
- }
-
- /**
- * Set field fuzziness
- *
- * @param string $field
- * @param mixed $fuzziness
- * @return \Elastica\Query\Match
- */
- public function setFieldFuzziness($field, $fuzziness)
- {
- return $this->setFieldParam($field, 'fuzziness', $fuzziness);
- }
-
- /**
- * Set field fuzzy rewrite
- *
- * @param string $field
- * @param string $fuzzyRewrite
- * @return \Elastica\Query\Match
- */
- public function setFieldFuzzyRewrite($field, $fuzzyRewrite)
- {
- return $this->setFieldParam($field, 'fuzzy_rewrite', $fuzzyRewrite);
- }
-
- /**
- * Set field prefix length
- *
- * @param string $field
- * @param int $prefixLength
- * @return \Elastica\Query\Match
- */
- public function setFieldPrefixLength($field, $prefixLength)
- {
- return $this->setFieldParam($field, 'prefix_length', (int) $prefixLength);
- }
-
- /**
- * Set field max expansions
- *
- * @param string $field
- * @param int $maxExpansions
- * @return \Elastica\Query\Match
- */
- public function setFieldMaxExpansions($field, $maxExpansions)
- {
- return $this->setFieldParam($field, 'max_expansions', (int) $maxExpansions);
- }
-
- /**
- * Set zero terms query
- *
- * If not set, default to 'none'
- *
- * @param string $field
- * @param string $zeroTermQuery
- * @return \Elastica\Query\Match
- */
- public function setFieldZeroTermsQuery($field, $zeroTermQuery = 'none')
- {
- return $this->setFieldParam($field, 'zero_terms_query', $zeroTermQuery);
- }
-
- /**
- * Set cutoff frequency
- *
- * @param string $field
- * @param float $cutoffFrequency
- * @return \Elastica\Query\Match
- */
- public function setFieldCutoffFrequency($field, $cutoffFrequency)
- {
- return $this->setFieldParam($field, 'cutoff_frequency', $cutoffFrequency);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/MatchAll.php b/vendor/ruflin/elastica/lib/Elastica/Query/MatchAll.php
deleted file mode 100644
index 23b4fdfc..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/MatchAll.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Match all query. Returns all results
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/match-all-query.html
- */
-class MatchAll extends AbstractQuery
-{
- /**
- * Creates match all query
- */
- public function __construct()
- {
- $this->_params = new \stdClass();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php b/vendor/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php
deleted file mode 100644
index d9ae4284..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/MoreLikeThis.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * More Like This query
- *
- * @category Xodoa
- * @package Elastica
- * @author Raul Martinez, Jr <juneym@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/mlt-query.html
- */
-class MoreLikeThis extends AbstractQuery
-{
- /**
- * Adds field to mlt query
- *
- * @param array $fields Field names
- * @return \Elastica\Query\MoreLikeThis Current object
- */
- public function setFields(array $fields)
- {
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Set the "like_text" value
- *
- * @param string $likeText
- * @return \Elastica\Query\MoreLikeThis This current object
- */
- public function setLikeText($likeText)
- {
- $likeText = trim($likeText);
-
- return $this->setParam('like_text', $likeText);
- }
-
- /**
- * Set boost
- *
- * @param float $boost Boost value
- * @return \Elastica\Query\MoreLikeThis Query object
- */
- public function setBoost($boost)
- {
- return $this->setParam('boost', (float) $boost);
- }
-
- /**
- * Set max_query_terms
- *
- * @param int $maxQueryTerms Max query terms value
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMaxQueryTerms($maxQueryTerms)
- {
- return $this->setParam('max_query_terms', (int) $maxQueryTerms);
- }
-
- /**
- * Set percent terms to match
- *
- * @param float $percentTermsToMatch Percentage
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setPercentTermsToMatch($percentTermsToMatch)
- {
- return $this->setParam('percent_terms_to_match', (float) $percentTermsToMatch);
- }
-
- /**
- * Set min term frequency
- *
- * @param int $minTermFreq
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMinTermFrequency($minTermFreq)
- {
- return $this->setParam('min_term_freq', (int) $minTermFreq);
- }
-
- /**
- * set min document frequency
- *
- * @param int $minDocFreq
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMinDocFrequency($minDocFreq)
- {
- return $this->setParam('min_doc_freq', (int) $minDocFreq);
- }
-
- /**
- * set max document frequency
- *
- * @param int $maxDocFreq
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMaxDocFrequency($maxDocFreq)
- {
- return $this->setParam('max_doc_freq', (int) $maxDocFreq);
- }
-
- /**
- * Set min word length
- *
- * @param int $minWordLength
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMinWordLength($minWordLength)
- {
- return $this->setParam('min_word_length', (int) $minWordLength);
- }
-
- /**
- * Set max word length
- *
- * @param int $maxWordLength
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setMaxWordLength($maxWordLength)
- {
- return $this->setParam('max_word_length', (int) $maxWordLength);
- }
-
- /**
- * Set boost terms
- *
- * @param bool $boostTerms
- * @return \Elastica\Query\MoreLikeThis
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/mlt-query.html
- */
- public function setBoostTerms($boostTerms)
- {
- return $this->setParam('boost_terms', (bool) $boostTerms);
- }
-
- /**
- * Set analyzer
- *
- * @param string $analyzer
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setAnalyzer($analyzer)
- {
- $analyzer = trim($analyzer);
-
- return $this->setParam('analyzer', $analyzer);
- }
-
- /**
- * Set stop words
- *
- * @param array $stopWords
- * @return \Elastica\Query\MoreLikeThis
- */
- public function setStopWords(array $stopWords)
- {
- return $this->setParam('stop_words', $stopWords);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/MultiMatch.php b/vendor/ruflin/elastica/lib/Elastica/Query/MultiMatch.php
deleted file mode 100644
index ac2d01b3..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/MultiMatch.php
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Multi Match
- *
- * @category Xodoa
- * @package Elastica
- * @author Rodolfo Adhenawer Campagnoli Moraes <adhenawer@gmail.com>
- * @author Wong Wing Lun <luiges90@gmail.com>
- * @author Tristan Maindron <tmaindron@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/multi-match-query.html
- */
-class MultiMatch extends AbstractQuery
-{
- const TYPE_BEST_FIELDS = 'best_fields';
- const TYPE_MOST_FIELDS = 'most_fields';
- const TYPE_CROSS_FIELDS = 'cross_fields';
- const TYPE_PHRASE = 'phrase';
- const TYPE_PHRASE_PREFIX = 'phrase_prefix';
-
- const OPERATOR_OR = 'or';
- const OPERATOR_AND = 'and';
-
- const ZERO_TERM_NONE = 'none';
- const ZERO_TERM_ALL = 'all';
-
- /**
- * Sets the query
- *
- * @param string $query Query
- * @return \Elastica\Query\MultiMatch Current object
- */
- public function setQuery($query = '')
- {
- return $this->setParam('query', $query);
- }
-
- /**
- * Sets Fields to be used in the query.
- *
- * @param array $fields Fields
- * @return \Elastica\Query\MultiMatch Current object
- */
- public function setFields($fields = array())
- {
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Sets use dis max indicating to either create a dis_max query or a bool query.
- *
- * If not set, defaults to true.
- *
- * @param boolean $useDisMax
- * @return \Elastica\Query\MultiMatch Current object
- */
- public function setUseDisMax($useDisMax = true)
- {
- return $this->setParam('use_dis_max', $useDisMax);
- }
-
- /**
- * Sets tie breaker to multiplier value to balance the scores between lower and higher scoring fields.
- *
- * If not set, defaults to 0.0.
- *
- * @param float $tieBreaker
- * @return \Elastica\Query\MultiMatch Current object
- */
- public function setTieBreaker($tieBreaker = 0.0)
- {
- return $this->setParam('tie_breaker', $tieBreaker);
- }
-
- /**
- * Sets operator for Match Query
- *
- * If not set, defaults to 'or'
- *
- * @param string $operator
- * @return \Elastica\Query\MultiMatch Current object
- */
- public function setOperator($operator = 'or')
- {
- return $this->setParam('operator', $operator);
- }
-
- /**
- * Set field minimum should match for Match Query
- *
- * @param int $minimumShouldMatch
- * @return \Elastica\Query\Match
- */
- public function setMinimumShouldMatch($minimumShouldMatch)
- {
- return $this->setParam('minimum_should_match', (int) $minimumShouldMatch);
- }
-
- /**
- * Set zero terms query for Match Query
- *
- * If not set, default to 'none'
- *
- * @param string $zeroTermQuery
- * @return \Elastica\Query\Match
- */
- public function setZeroTermsQuery($zeroTermQuery = 'none')
- {
- return $this->setParam('zero_terms_query', $zeroTermQuery);
- }
-
- /**
- * Set cutoff frequency for Match Query
- *
- * @param float $cutoffFrequency
- * @return \Elastica\Query\Match
- */
- public function setCutoffFrequency($cutoffFrequency)
- {
- return $this->setParam('cutoff_frequency', $cutoffFrequency);
- }
-
- /**
- * Set type
- *
- * @param string $field
- * @param string $type
- * @return \Elastica\Query\Match
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-
- /**
- * Set fuzziness
- *
- * @param float $fuzziness
- * @return \Elastica\Query\Match
- */
- public function setFuzziness($fuzziness)
- {
- return $this->setParam('fuzziness', (float) $fuzziness);
- }
-
- /**
- * Set prefix length
- *
- * @param int $prefixLength
- * @return \Elastica\Query\Match
- */
- public function setPrefixLength($prefixLength)
- {
- return $this->setParam('prefix_length', (int) $prefixLength);
- }
-
- /**
- * Set max expansions
- *
- * @param int $maxExpansions
- * @return \Elastica\Query\Match
- */
- public function setMaxExpansions($maxExpansions)
- {
- return $this->setParam('max_expansions', (int) $maxExpansions);
- }
-
- /**
- * Set analyzer
- *
- * @param string $analyzer
- * @return \Elastica\Query\Match
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setParam('analyzer', $analyzer);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Nested.php b/vendor/ruflin/elastica/lib/Elastica/Query/Nested.php
deleted file mode 100644
index 3d2f2f64..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Nested.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Nested query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/nested-query.html
- */
-class Nested extends AbstractQuery
-{
- /**
- * Adds field to mlt query
- *
- * @param string $path Nested object path
- * @return \Elastica\Query\Nested
- */
- public function setPath($path)
- {
- return $this->setParam('path', $path);
- }
-
- /**
- * Sets nested query
- *
- * @param \Elastica\Query\AbstractQuery $query
- * @return \Elastica\Query\Nested
- */
- public function setQuery(AbstractQuery $query)
- {
- return $this->setParam('query', $query->toArray());
- }
-
- /**
- * Set score method
- *
- * @param string $scoreMode Options: avg, total, max and none.
- * @return \Elastica\Query\Nested
- */
- public function setScoreMode($scoreMode)
- {
- return $this->setParam('score_mode', $scoreMode);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Prefix.php b/vendor/ruflin/elastica/lib/Elastica/Query/Prefix.php
deleted file mode 100644
index 4306fd9c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Prefix.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Prefix query
- *
- * @category Xodoa
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/prefix-query.html
- */
-class Prefix extends AbstractQuery
-{
- /**
- * Constructs the Prefix query object
- *
- * @param array $prefix OPTIONAL Calls setRawPrefix with the given $prefix array
- */
- public function __construct(array $prefix = array())
- {
- $this->setRawPrefix($prefix);
- }
-
- /**
- * setRawPrefix can be used instead of setPrefix if some more special
- * values for a prefix have to be set.
- *
- * @param array $prefix Prefix array
- * @return \Elastica\Query\Prefix Current object
- */
- public function setRawPrefix(array $prefix)
- {
- return $this->setParams($prefix);
- }
-
- /**
- * Adds a prefix to the prefix query
- *
- * @param string $key Key to query
- * @param string|array $value Values(s) for the query. Boost can be set with array
- * @param float $boost OPTIONAL Boost value (default = 1.0)
- * @return \Elastica\Query\Prefix Current object
- */
- public function setPrefix($key, $value, $boost = 1.0)
- {
- return $this->setRawPrefix(array($key => array('value' => $value, 'boost' => $boost)));
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/QueryString.php b/vendor/ruflin/elastica/lib/Elastica/Query/QueryString.php
deleted file mode 100644
index 7d0b0094..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/QueryString.php
+++ /dev/null
@@ -1,267 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Exception\InvalidException;
-
-/**
- * QueryString query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>, Jasper van Wanrooy <jasper@vanwanrooy.net>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query.html
- */
-class QueryString extends AbstractQuery
-{
- /**
- * Query string
- *
- * @var string Query string
- */
- protected $_queryString = '';
-
- /**
- * Creates query string object. Calls setQuery with argument
- *
- * @param string $queryString OPTIONAL Query string for object
- */
- public function __construct($queryString = '')
- {
- $this->setQuery($queryString);
- }
-
- /**
- * Sets a new query string for the object
- *
- * @param string $query Query string
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Query\QueryString Current object
- */
- public function setQuery($query = '')
- {
- if (!is_string($query)) {
- throw new InvalidException('Parameter has to be a string');
- }
-
- return $this->setParam('query', $query);
- }
-
- /**
- * Sets the default field
- *
- * If no field is set, _all is chosen
- *
- * @param string $field Field
- * @return \Elastica\Query\QueryString Current object
- */
- public function setDefaultField($field)
- {
- return $this->setParam('default_field', $field);
- }
-
- /**
- * Sets the default operator AND or OR
- *
- * If no operator is set, OR is chosen
- *
- * @param string $operator Operator
- * @return \Elastica\Query\QueryString Current object
- */
- public function setDefaultOperator($operator)
- {
- return $this->setParam('default_operator', $operator);
- }
-
- /**
- * Sets the analyzer to analyze the query with.
- *
- * @param string $analyzer Analyser to use
- * @return \Elastica\Query\QueryString Current object
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setParam('analyzer', $analyzer);
- }
-
- /**
- * Sets the parameter to allow * and ? as first characters.
- *
- * If not set, defaults to true.
- *
- * @param bool $allow
- * @return \Elastica\Query\QueryString Current object
- */
- public function setAllowLeadingWildcard($allow = true)
- {
- return $this->setParam('allow_leading_wildcard', (bool) $allow);
- }
-
- /**
- * Sets the parameter to auto-lowercase terms of some queries.
- *
- * If not set, defaults to true.
- *
- * @param bool $lowercase
- * @return \Elastica\Query\QueryString Current object
- */
- public function setLowercaseExpandedTerms($lowercase = true)
- {
- return $this->setParam('lowercase_expanded_terms', (bool) $lowercase);
- }
-
- /**
- * Sets the parameter to enable the position increments in result queries.
- *
- * If not set, defaults to true.
- *
- * @param bool $enabled
- * @return \Elastica\Query\QueryString Current object
- */
- public function setEnablePositionIncrements($enabled = true)
- {
- return $this->setParam('enable_position_increments', (bool) $enabled);
- }
-
- /**
- * Sets the fuzzy prefix length parameter.
- *
- * If not set, defaults to 0.
- *
- * @param int $length
- * @return \Elastica\Query\QueryString Current object
- */
- public function setFuzzyPrefixLength($length = 0)
- {
- return $this->setParam('fuzzy_prefix_length', (int) $length);
- }
-
- /**
- * Sets the fuzzy minimal similarity parameter.
- *
- * If not set, defaults to 0.5
- *
- * @param float $minSim
- * @return \Elastica\Query\QueryString Current object
- */
- public function setFuzzyMinSim($minSim = 0.5)
- {
- return $this->setParam('fuzzy_min_sim', (float) $minSim);
- }
-
- /**
- * Sets the phrase slop.
- *
- * If zero, exact phrases are required.
- * If not set, defaults to zero.
- *
- * @param int $phraseSlop
- * @return \Elastica\Query\QueryString Current object
- */
- public function setPhraseSlop($phraseSlop = 0)
- {
- return $this->setParam('phrase_slop', (int) $phraseSlop);
- }
-
- /**
- * Sets the boost value of the query.
- *
- * If not set, defaults to 1.0.
- *
- * @param float $boost
- * @return \Elastica\Query\QueryString Current object
- */
- public function setBoost($boost = 1.0)
- {
- return $this->setParam('boost', (float) $boost);
- }
-
- /**
- * Allows analyzing of wildcard terms.
- *
- * If not set, defaults to true
- *
- * @param bool $analyze
- * @return \Elastica\Query\QueryString Current object
- */
- public function setAnalyzeWildcard($analyze = true)
- {
- return $this->setParam('analyze_wildcard', (bool) $analyze);
- }
-
- /**
- * Sets the param to automatically generate phrase queries.
- *
- * If not set, defaults to true.
- *
- * @param bool $autoGenerate
- * @return \Elastica\Query\QueryString Current object
- */
- public function setAutoGeneratePhraseQueries($autoGenerate = true)
- {
- return $this->setParam('auto_generate_phrase_queries', (bool) $autoGenerate);
- }
-
- /**
- * Sets the fields
- *
- * If no fields are set, _all is chosen
- *
- * @param array $fields Fields
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Query\QueryString Current object
- */
- public function setFields(array $fields)
- {
- if (!is_array($fields)) {
- throw new InvalidException('Parameter has to be an array');
- }
-
- return $this->setParam('fields', $fields);
- }
-
- /**
- * Whether to use bool or dis_max queries to internally combine results for multi field search.
- *
- * @param bool $value Determines whether to use
- * @return \Elastica\Query\QueryString Current object
- */
- public function setUseDisMax($value = true)
- {
- return $this->setParam('use_dis_max', (bool) $value);
- }
-
- /**
- * When using dis_max, the disjunction max tie breaker.
- *
- * If not set, defaults to 0.
- *
- * @param int $tieBreaker
- * @return \Elastica\Query\QueryString Current object
- */
- public function setTieBreaker($tieBreaker = 0)
- {
- return $this->setParam('tie_breaker', (float) $tieBreaker);
- }
-
- /**
- * Set a re-write condition. See https://github.com/elasticsearch/elasticsearch/issues/1186 for additional information
- *
- * @param string $rewrite
- * @return \Elastica\Query\QueryString Current object
- */
- public function setRewrite($rewrite = "")
- {
- return $this->setParam('rewrite', $rewrite);
- }
-
- /**
- * Converts query to array
- *
- * @see \Elastica\Query\AbstractQuery::toArray()
- * @return array Query array
- */
- public function toArray()
- {
- return array('query_string' => array_merge(array('query' => $this->_queryString), $this->getParams()),);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Range.php b/vendor/ruflin/elastica/lib/Elastica/Query/Range.php
deleted file mode 100644
index 54b79027..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Range.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Range query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/range-query.html
- */
-class Range extends AbstractQuery
-{
- /**
- * Constructor
- *
- * @param string $fieldName Field name
- * @param array $args Field arguments
- */
- public function __construct($fieldName = null, array $args = array())
- {
- if ($fieldName) {
- $this->addField($fieldName, $args);
- }
- }
-
- /**
- * Adds a range field to the query
- *
- * @param string $fieldName Field name
- * @param array $args Field arguments
- * @return \Elastica\Query\Range Current object
- */
- public function addField($fieldName, array $args)
- {
- return $this->setParam($fieldName, $args);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Simple.php b/vendor/ruflin/elastica/lib/Elastica/Query/Simple.php
deleted file mode 100644
index 2448ca79..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Simple.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Simple query
- * Pure php array query. Can be used to create any not existing type of query.
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Simple extends AbstractQuery
-{
- /**
- * Query
- *
- * @var array Query
- */
- protected $_query = array();
-
- /**
- * Constructs a query based on an array
- *
- * @param array $query Query array
- */
- public function __construct(array $query)
- {
- $this->setQuery($query);
- }
-
- /**
- * Sets new query array
- *
- * @param array $query Query array
- * @return \Elastica\Query\Simple Current object
- */
- public function setQuery(array $query)
- {
- $this->_query = $query;
-
- return $this;
- }
-
- /**
- * Converts query to array
- *
- * @return array Query array
- * @see \Elastica\Query\AbstractQuery::toArray()
- */
- public function toArray()
- {
- return $this->_query;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php b/vendor/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php
deleted file mode 100644
index a6c4ba9d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/SimpleQueryString.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Class SimpleQueryString
- * @package Elastica\Query
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html
- */
-class SimpleQueryString extends AbstractQuery
-{
- const OPERATOR_AND = "and";
- const OPERATOR_OR = "or";
-
- /**
- * @param string $query
- * @param array $fields
- */
- public function __construct($query, array $fields = array())
- {
- $this->setQuery($query);
- if (sizeof($fields)) {
- $this->setFields($fields);
- }
- }
-
- /**
- * Set the querystring for this query
- * @param string $query see ES documentation for querystring syntax
- * @return \Elastica\Query\SimpleQueryString
- */
- public function setQuery($query)
- {
- return $this->setParam("query", $query);
- }
-
- /**
- * @param string[] $fields the fields on which to perform this query. Defaults to index.query.default_field.
- * @return \Elastica\Query\SimpleQueryString
- */
- public function setFields(array $fields)
- {
- return $this->setParam("fields", $fields);
- }
-
- /**
- * Set the default operator to use if no explicit operator is defined in the query string
- * @param string $operator see OPERATOR_* constants for options
- * @return \Elastica\Query\SimpleQueryString
- */
- public function setDefaultOperator($operator)
- {
- return $this->setParam("default_operator", $operator);
- }
-
- /**
- * Set the analyzer used to analyze each term of the query
- * @param string $analyzer
- * @return \Elastica\Query\SimpleQueryString
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setParam("analyzer", $analyzer);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Term.php b/vendor/ruflin/elastica/lib/Elastica/Query/Term.php
deleted file mode 100644
index eb20eb86..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Term.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Term query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/term-query.html
- */
-class Term extends AbstractQuery
-{
- /**
- * Constructs the Term query object
- *
- * @param array $term OPTIONAL Calls setTerm with the given $term array
- */
- public function __construct(array $term = array())
- {
- $this->setRawTerm($term);
- }
-
- /**
- * Set term can be used instead of addTerm if some more special
- * values for a term have to be set.
- *
- * @param array $term Term array
- * @return \Elastica\Query\Term Current object
- */
- public function setRawTerm(array $term)
- {
- return $this->setParams($term);
- }
-
- /**
- * Adds a term to the term query
- *
- * @param string $key Key to query
- * @param string|array $value Values(s) for the query. Boost can be set with array
- * @param float $boost OPTIONAL Boost value (default = 1.0)
- * @return \Elastica\Query\Term Current object
- */
- public function setTerm($key, $value, $boost = 1.0)
- {
- return $this->setRawTerm(array($key => array('value' => $value, 'boost' => $boost)));
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Terms.php b/vendor/ruflin/elastica/lib/Elastica/Query/Terms.php
deleted file mode 100644
index 41cc9216..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Terms.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Exception\InvalidException;
-
-/**
- * Terms query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/terms-query.html
- */
-class Terms extends AbstractQuery
-{
- /**
- * Terms
- *
- * @var array Terms
- */
- protected $_terms = array();
-
- /**
- * Params
- *
- * @var array Params
- */
- protected $_params = array();
-
- /**
- * Terms key
- *
- * @var string Terms key
- */
- protected $_key = '';
-
- /**
- * Construct terms query
- *
- * @param string $key OPTIONAL Terms key
- * @param array $terms OPTIONAL Terms list
- */
- public function __construct($key = '', array $terms = array())
- {
- $this->setTerms($key, $terms);
- }
-
- /**
- * Sets key and terms for the query
- *
- * @param string $key Terms key
- * @param array $terms Terms for the query.
- * @return \Elastica\Query\Terms
- */
- public function setTerms($key, array $terms)
- {
- $this->_key = $key;
- $this->_terms = array_values($terms);
-
- return $this;
- }
-
- /**
- * Adds a single term to the list
- *
- * @param string $term Term
- * @return \Elastica\Query\Terms
- */
- public function addTerm($term)
- {
- $this->_terms[] = $term;
-
- return $this;
- }
-
- /**
- * Sets the minimum matching values
- *
- * @param int $minimum Minimum value
- * @return \Elastica\Query\Terms
- */
- public function setMinimumMatch($minimum)
- {
- return $this->setParam('minimum_match', (int) $minimum);
- }
-
- /**
- * Converts the terms object to an array
- *
- * @see \Elastica\Query\AbstractQuery::toArray()
- * @throws \Elastica\Exception\InvalidException
- * @return array Query array
- */
- public function toArray()
- {
- if (empty($this->_key)) {
- throw new InvalidException('Terms key has to be set');
- }
- $this->setParam($this->_key, $this->_terms);
-
- return parent::toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/TopChildren.php b/vendor/ruflin/elastica/lib/Elastica/Query/TopChildren.php
deleted file mode 100644
index baaf7501..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/TopChildren.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-use Elastica\Query as BaseQuery;
-
-/**
- * Runs the child query with an estimated hits size, and out of the hit docs, aggregates it into parent docs.
- *
- * @category Xodoa
- * @package Elastica
- * @author Wu Yang <darkyoung@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/top-children-query.html
- */
-class TopChildren extends AbstractQuery
-{
- /**
- * Construct topChildren query
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @param string $type Parent document type
- */
- public function __construct($query, $type = null)
- {
- $this->setQuery($query);
- $this->setType($type);
- }
-
- /**
- * Sets query object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Query\TopChildren
- */
- public function setQuery($query)
- {
- $query = BaseQuery::create($query);
- $data = $query->toArray();
-
- return $this->setParam('query', $data['query']);
- }
-
- /**
- * Set type of the parent document
- *
- * @param string $type Parent document type
- * @return \Elastica\Query\TopChildren Current object
- */
- public function setType($type)
- {
- return $this->setParam('type', $type);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Query/Wildcard.php b/vendor/ruflin/elastica/lib/Elastica/Query/Wildcard.php
deleted file mode 100644
index 68aca67e..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Query/Wildcard.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-namespace Elastica\Query;
-
-/**
- * Wildcard query
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/query-dsl/wildcard-query.html
- */
-class Wildcard extends AbstractQuery
-{
- /**
- * Construct wildcard query
- *
- * @param string $key OPTIONAL Wildcard key
- * @param string $value OPTIONAL Wildcard value
- * @param float $boost OPTIONAL Boost value (default = 1)
- */
- public function __construct($key = '', $value = null, $boost = 1.0)
- {
- if (!empty($key)) {
- $this->setValue($key, $value, $boost);
- }
- }
-
- /**
- * Sets the query expression for a key with its boost value
- *
- * @param string $key
- * @param string $value
- * @param float $boost
- * @return \Elastica\Query\Wildcard
- */
- public function setValue($key, $value, $boost = 1.0)
- {
- return $this->setParam($key, array('value' => $value, 'boost' => $boost));
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Request.php b/vendor/ruflin/elastica/lib/Elastica/Request.php
deleted file mode 100644
index 6c6298be..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Request.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\InvalidException;
-use Elastica\JSON;
-
-/**
- * Elastica Request object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Request extends Param
-{
- const HEAD = 'HEAD';
- const POST = 'POST';
- const PUT = 'PUT';
- const GET = 'GET';
- const DELETE = 'DELETE';
-
- /**
- * @var \Elastica\Connection
- */
- protected $_connection;
-
- /**
- * Construct
- *
- * @param string $path Request path
- * @param string $method OPTIONAL Request method (use const's) (default = self::GET)
- * @param array $data OPTIONAL Data array
- * @param array $query OPTIONAL Query params
- * @param Connection $connection
- * @return \Elastica\Request OPTIONAL Connection object
- */
- public function __construct($path, $method = self::GET, $data = array(), array $query = array(), Connection $connection = null)
- {
- $this->setPath($path);
- $this->setMethod($method);
- $this->setData($data);
- $this->setQuery($query);
-
- if ($connection) {
- $this->setConnection($connection);
- }
- }
-
- /**
- * Sets the request method. Use one of the for consts
- *
- * @param string $method Request method
- * @return \Elastica\Request Current object
- */
- public function setMethod($method)
- {
- return $this->setParam('method', $method);
- }
-
- /**
- * Get request method
- *
- * @return string Request method
- */
- public function getMethod()
- {
- return $this->getParam('method');
- }
-
- /**
- * Sets the request data
- *
- * @param array $data Request data
- * @return \Elastica\Request
- */
- public function setData($data)
- {
- return $this->setParam('data', $data);
- }
-
- /**
- * Return request data
- *
- * @return array Request data
- */
- public function getData()
- {
- return $this->getParam('data');
- }
-
- /**
- * Sets the request path
- *
- * @param string $path Request path
- * @return \Elastica\Request Current object
- */
- public function setPath($path)
- {
- return $this->setParam('path', $path);
- }
-
- /**
- * Return request path
- *
- * @return string Request path
- */
- public function getPath()
- {
- return $this->getParam('path');
- }
-
- /**
- * Return query params
- *
- * @return array Query params
- */
- public function getQuery()
- {
- return $this->getParam('query');
- }
-
- /**
- * @param array $query
- * @return \Elastica\Request
- */
- public function setQuery(array $query = array())
- {
- return $this->setParam('query', $query);
- }
-
- /**
- * @param \Elastica\Connection $connection
- * @return \Elastica\Request
- */
- public function setConnection(Connection $connection)
- {
- $this->_connection = $connection;
-
- return $this;
- }
-
- /**
- * Return Connection Object
- *
- * @throws Exception\InvalidException
- * @return \Elastica\Connection
- */
- public function getConnection()
- {
- if (empty($this->_connection)) {
- throw new InvalidException('No valid connection object set');
- }
-
- return $this->_connection;
- }
-
- /**
- * Sends request to server
- *
- * @return \Elastica\Response Response object
- */
- public function send()
- {
- $transport = $this->getConnection()->getTransportObject();
-
- // Refactor: Not full toArray needed in exec?
- return $transport->exec($this, $this->getConnection()->toArray());
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $data = $this->getParams();
- if ($this->_connection) {
- $data['connection'] = $this->_connection->getParams();
- }
- return $data;
- }
-
- /**
- * Converts request to curl request format
- *
- * @return string
- */
- public function toString()
- {
- return JSON::stringify($this->toArray());
- }
-
- /**
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php b/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php
deleted file mode 100644
index cb6c7cce..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-namespace Elastica\Rescore;
-use Elastica\Param;
-
-/**
- * Abstract rescore object. Should be extended by all rescorers.
- *
- * @category Xodoa
- * @package Elastica
- * @author Jason Hu <mjhu91@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/rescore/
- */
-abstract class AbstractRescore extends Param
-{
- /**
- * Overridden to return rescore as name
- *
- * @return string name
- */
- protected function _getBaseName()
- {
- return 'rescore';
- }
-
- /**
- * Sets window_size
- *
- * @param int $size
- * @return \Elastica\Rescore
- */
- public function setWindowSize($size)
- {
- return $this->setParam('window_size', $size);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php b/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php
deleted file mode 100644
index 5041f3ed..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-namespace Elastica\Rescore;
-
-use Elastica\Query as BaseQuery;
-
-/**
- * Query Rescore
- *
- * @category Xodoa
- * @package Elastica
- * @author Jason Hu <mjhu91@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/api/search/rescore/
- */
-class Query extends AbstractRescore
-{
- /**
- * Constructor
- *
- * @param string|\Elastica\Query\AbstractQuery $rescoreQuery
- * @param string|\Elastica\Query\AbstractQuery $query
- */
- public function __construct($query = null)
- {
- $this->setParam('query', array());
- $this->setRescoreQuery($query);
- }
-
- /**
- * Override default implementation so params are in the format
- * expected by elasticsearch
- *
- * @return array Rescore array
- */
- public function toArray()
- {
- $data = $this->getParams();
-
- if (!empty($this->_rawParams)) {
- $data = array_merge($data, $this->_rawParams);
- }
-
- return $data;
- }
-
- /**
- * Sets rescoreQuery object
- *
- * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
- * @return \Elastica\Query\Rescore
- */
- public function setRescoreQuery($rescoreQuery)
- {
- $query = BaseQuery::create($rescoreQuery);
- $data = $query->toArray();
-
- $query = $this->getParam('query');
- $query['rescore_query'] = $data['query'];
-
- return $this->setParam('query', $query);
- }
-
- /**
- * Sets query_weight
- *
- * @param float $weight
- * @return \Elastica\Query\Rescore
- */
- public function setQueryWeight($weight)
- {
- $query = $this->getParam('query');
- $query['query_weight'] = $weight;
-
- return $this->setParam('query', $query);
- }
-
- /**
- * Sets rescore_query_weight
- *
- * @param float $size
- * @return \Elastica\Query\Rescore
- */
- public function setRescoreQueryWeight($weight)
- {
- $query = $this->getParam('query');
- $query['rescore_query_weight'] = $weight;
-
- return $this->setParam('query', $query);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Response.php b/vendor/ruflin/elastica/lib/Elastica/Response.php
deleted file mode 100644
index 5c0ef24d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Response.php
+++ /dev/null
@@ -1,299 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\JSONParseException;
-use Elastica\Exception\NotFoundException;
-use Elastica\JSON;
-
-/**
- * Elastica Response object
- *
- * Stores query time, and result array -> is given to result set, returned by ...
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Response
-{
- /**
- * Query time
- *
- * @var float Query time
- */
- protected $_queryTime = null;
-
- /**
- * Response string (json)
- *
- * @var string Response
- */
- protected $_responseString = '';
-
- /**
- * Error
- *
- * @var boolean Error
- */
- protected $_error = false;
-
- /**
- * Transfer info
- *
- * @var array transfer info
- */
- protected $_transferInfo = array();
-
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * HTTP response status code
- *
- * @var int
- */
- protected $_status = null;
-
- /**
- * Construct
- *
- * @param string|array $responseString Response string (json)
- * @param int $responseStatus http status code
- */
- public function __construct($responseString, $responseStatus = null)
- {
- if (is_array($responseString)) {
- $this->_response = $responseString;
- } else {
- $this->_responseString = $responseString;
- }
- $this->_status = $responseStatus;
- }
-
- /**
- * Error message
- *
- * @return string Error message
- */
- public function getError()
- {
- $message = '';
- $response = $this->getData();
-
- if (isset($response['error'])) {
- $message = $response['error'];
- }
-
- return $message;
- }
-
- /**
- * True if response has error
- *
- * @return bool True if response has error
- */
- public function hasError()
- {
- $response = $this->getData();
-
- if (isset($response['error'])) {
- return true;
- }
-
- return false;
- }
-
- /**
- * True if response has failed shards
- *
- * @return bool True if response has failed shards
- */
- public function hasFailedShards()
- {
- try {
- $shardsStatistics = $this->getShardsStatistics();
- } catch (NotFoundException $e) {
- return false;
- }
-
- return array_key_exists('failures', $shardsStatistics);
- }
-
- /**
- * Checks if the query returned ok
- *
- * @return bool True if ok
- */
- public function isOk()
- {
- $data = $this->getData();
-
- // Bulk insert checks. Check every item
- if (isset($data['status'])) {
- if ($data['status'] >= 200 && $data['status'] <= 300) {
- return true;
- }
- return false;
- }
- if (isset($data['items'])) {
- foreach ($data['items'] as $item) {
- if (false == $item['index']['ok']) {
- return false;
- }
- }
-
- return true;
- }
-
- if ($this->_status >= 200 && $this->_status <= 300) {
- // http status is ok
- return true;
- }
-
- return (isset($data['ok']) && $data['ok']);
- }
-
- /**
- * @return int
- */
- public function getStatus()
- {
- return $this->_status;
- }
-
-
- /**
- * Response data array
- *
- * @return array Response data array
- */
- public function getData()
- {
- if ($this->_response == null) {
- $response = $this->_responseString;
- if ($response === false) {
- $this->_error = true;
- } else {
- try {
- $response = JSON::parse($response);
- } catch (JSONParseException $e) {
- // leave reponse as is if parse fails
- }
- }
-
- if (empty($response)) {
- $response = array();
- }
-
- if (is_string($response)) {
- $response = array('message' => $response);
- }
-
- $this->_response = $response;
- }
-
- return $this->_response;
- }
-
- /**
- * Gets the transfer information.
- *
- * @return array Information about the curl request.
- */
- public function getTransferInfo()
- {
- return $this->_transferInfo;
- }
-
- /**
- * Sets the transfer info of the curl request. This function is called
- * from the \Elastica\Client::_callService .
- *
- * @param array $transferInfo The curl transfer information.
- * @return \Elastica\Response Current object
- */
- public function setTransferInfo(array $transferInfo)
- {
- $this->_transferInfo = $transferInfo;
- return $this;
- }
-
- /**
- * This is only available if DEBUG constant is set to true
- *
- * @return float Query time
- */
- public function getQueryTime()
- {
- return $this->_queryTime;
- }
-
- /**
- * Sets the query time
- *
- * @param float $queryTime Query time
- * @return \Elastica\Response Current object
- */
- public function setQueryTime($queryTime)
- {
- $this->_queryTime = $queryTime;
-
- return $this;
- }
-
- /**
- * Time request took
- *
- * @throws \Elastica\Exception\NotFoundException
- * @return int Time request took
- */
- public function getEngineTime()
- {
- $data = $this->getData();
-
- if (!isset($data['took'])) {
- throw new NotFoundException("Unable to find the field [took]from the response");
- }
-
- return $data['took'];
- }
-
- /**
- * Get the _shard statistics for the response
- *
- * @throws \Elastica\Exception\NotFoundException
- * @return array
- */
- public function getShardsStatistics()
- {
- $data = $this->getData();
-
- if (!isset($data['_shards'])) {
- throw new NotFoundException("Unable to find the field [_shards] from the response");
- }
-
- return $data['_shards'];
- }
-
- /**
- * Get the _scroll value for the response
- *
- * @throws \Elastica\Exception\NotFoundException
- * @return string
- */
- public function getScrollId()
- {
- $data = $this->getData();
-
- if (!isset($data['_scroll_id'])) {
- throw new NotFoundException("Unable to find the field [_scroll_id] from the response");
- }
-
- return $data['_scroll_id'];
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Result.php b/vendor/ruflin/elastica/lib/Elastica/Result.php
deleted file mode 100644
index e8aa8e3d..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Result.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-namespace Elastica;
-
-/**
- * Elastica result item
- *
- * Stores all information from a result
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Result
-{
- /**
- * Hit array
- *
- * @var array Hit array
- */
- protected $_hit = array();
-
- /**
- * Constructs a single results object
- *
- * @param array $hit Hit data
- */
- public function __construct(array $hit)
- {
- $this->_hit = $hit;
- }
-
- /**
- * Returns a param from the result hit array
- *
- * This function can be used to retrieve all data for which a specific
- * function doesn't exist.
- * If the param does not exist, an empty array is returned
- *
- * @param string $name Param name
- * @return array Result data
- */
- public function getParam($name)
- {
- if (isset($this->_hit[$name])) {
- return $this->_hit[$name];
- }
-
- return array();
- }
-
- /**
- * Test if a param from the result hit is set
- *
- * @param string $name Param name to test
- * @return boolean True if the param is set, false otherwise
- */
- public function hasParam($name)
- {
- return isset($this->_hit[$name]);
- }
-
- /**
- * Returns the hit id
- *
- * @return string Hit id
- */
- public function getId()
- {
- return $this->getParam('_id');
- }
-
- /**
- * Returns the type of the result
- *
- * @return string Result type
- */
- public function getType()
- {
- return $this->getParam('_type');
- }
-
- /**
- * Returns list of fields
- *
- * @return array Fields list
- */
- public function getFields()
- {
- return $this->getParam('fields');
- }
-
- /**
- * Returns whether result has fields
- *
- * @return bool
- */
- public function hasFields()
- {
- return $this->hasParam('fields');
- }
-
- /**
- * Returns the index name of the result
- *
- * @return string Index name
- */
- public function getIndex()
- {
- return $this->getParam('_index');
- }
-
- /**
- * Returns the score of the result
- *
- * @return float Result score
- */
- public function getScore()
- {
- return $this->getParam('_score');
- }
-
- /**
- * Returns the raw hit array
- *
- * @return array Hit array
- */
- public function getHit()
- {
- return $this->_hit;
- }
-
- /**
- * Returns the version information from the hit
- *
- * @return string|int Document version
- */
- public function getVersion()
- {
- return $this->getParam('_version');
- }
-
- /**
- * Returns result data
- *
- * Checks for partial result data with getFields, falls back to getSource
- *
- * @return array Result data array
- */
- public function getData()
- {
- if (isset($this->_hit['fields']) && !isset($this->_hit['_source'])) {
- return $this->getFields();
- }
-
- return $this->getSource();
- }
-
- /**
- * Returns the result source
- *
- * @return array Source data array
- */
- public function getSource()
- {
- return $this->getParam('_source');
- }
-
- /**
- * Returns result data
- *
- * @return array Result data array
- */
- public function getHighlights()
- {
- return $this->getParam('highlight');
- }
-
- /**
- * Returns explanation on how its score was computed.
- *
- * @return array explanations
- */
- public function getExplanation()
- {
- return $this->getParam('_explanation');
- }
-
- /**
- * Magic function to directly access keys inside the result
- *
- * Returns null if key does not exist
- *
- * @param string $key Key name
- * @return mixed Key value
- */
- public function __get($key)
- {
- $source = $this->getData();
-
- return array_key_exists($key, $source) ? $source[$key] : null;
- }
-
- /**
- * Magic function to support isset() calls
- *
- * @param string $key Key name
- * @return bool
- */
- public function __isset($key)
- {
- $source = $this->getData();
-
- return array_key_exists($key, $source) && $source[$key] !== null;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/ResultSet.php b/vendor/ruflin/elastica/lib/Elastica/ResultSet.php
deleted file mode 100644
index 3bb94fb0..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/ResultSet.php
+++ /dev/null
@@ -1,383 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Exception\InvalidException;
-
-/**
- * Elastica result set
- *
- * List of all hits that are returned for a search on elasticsearch
- * Result set implements iterator
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class ResultSet implements \Iterator, \Countable, \ArrayAccess
-{
- /**
- * Results
- *
- * @var array Results
- */
- protected $_results = array();
-
- /**
- * Current position
- *
- * @var int Current position
- */
- protected $_position = 0;
-
- /**
- * Response
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Query
- *
- * @var \Elastica\Query Query object
- */
- protected $_query;
-
- /**
- * @var int
- */
- protected $_took = 0;
-
- /**
- * @var boolean
- */
- protected $_timedOut = false;
-
- /**
- * @var int
- */
- protected $_totalHits = 0;
-
- /**
- * @var float
- */
- protected $_maxScore = 0;
-
- /**
- * Constructs ResultSet object
- *
- * @param \Elastica\Response $response Response object
- * @param \Elastica\Query $query Query object
- */
- public function __construct(Response $response, Query $query)
- {
- $this->rewind();
- $this->_init($response);
- $this->_query = $query;
- }
-
- /**
- * Loads all data into the results object (initialisation)
- *
- * @param \Elastica\Response $response Response object
- */
- protected function _init(Response $response)
- {
- $this->_response = $response;
- $result = $response->getData();
- $this->_totalHits = isset($result['hits']['total']) ? $result['hits']['total'] : 0;
- $this->_maxScore = isset($result['hits']['max_score']) ? $result['hits']['max_score'] : 0;
- $this->_took = isset($result['took']) ? $result['took'] : 0;
- $this->_timedOut = !empty($result['timed_out']);
- if (isset($result['hits']['hits'])) {
- foreach ($result['hits']['hits'] as $hit) {
- $this->_results[] = new Result($hit);
- }
- }
- }
-
- /**
- * Returns all results
- *
- * @return Result[] Results
- */
- public function getResults()
- {
- return $this->_results;
- }
-
- /**
- * Returns true if the response contains suggestion results; false otherwise
- * @return bool
- */
- public function hasSuggests(){
- $data = $this->_response->getData();
- return isset($data['suggest']);
- }
-
- /**
- * Return all suggests
- *
- * @return array suggest results
- */
- public function getSuggests()
- {
- $data = $this->_response->getData();
- return isset($data['suggest']) ? $data['suggest'] : array();
- }
-
- /**
- * Returns whether facets exist
- *
- * @return boolean Facet existence
- */
- public function hasFacets()
- {
- $data = $this->_response->getData();
-
- return isset($data['facets']);
- }
-
- /**
- * Returns whether aggregations exist
- *
- * @return boolean Aggregation existence
- */
- public function hasAggregations()
- {
- $data = $this->_response->getData();
-
- return isset($data['aggregations']);
- }
-
- /**
- * Returns all aggregation results
- *
- * @return array
- */
- public function getAggregations()
- {
- $data = $this->_response->getData();
-
- return isset($data['aggregations']) ? $data['aggregations'] : array();
- }
-
- /**
- * Retrieve a specific aggregation from this result set
- * @param string $name the name of the desired aggregation
- * @return array
- * @throws Exception\InvalidException if an aggregation by the given name cannot be found
- */
- public function getAggregation($name)
- {
- $data = $this->_response->getData();
-
- if (isset($data['aggregations']) && isset($data['aggregations'][$name])) {
- return $data['aggregations'][$name];
- }
- throw new InvalidException("This result set does not contain an aggregation named {$name}.");
- }
-
- /**
- * Returns all facets results
- *
- * @return array Facet results
- */
- public function getFacets()
- {
- $data = $this->_response->getData();
-
- return isset($data['facets']) ? $data['facets'] : array();
- }
-
- /**
- * Returns the total number of found hits
- *
- * @return int Total hits
- */
- public function getTotalHits()
- {
- return (int) $this->_totalHits;
- }
-
- /**
- * Returns the max score of the results found
- *
- * @return float Max Score
- */
- public function getMaxScore()
- {
- return (float) $this->_maxScore;
- }
-
- /**
- * Returns the total number of ms for this search to complete
- *
- * @return int Total time
- */
- public function getTotalTime()
- {
- return (int) $this->_took;
- }
-
- /**
- * Returns true iff the query has timed out
- *
- * @return bool Timed out
- */
- public function hasTimedOut()
- {
- return (bool) $this->_timedOut;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * @return \Elastica\Query
- */
- public function getQuery()
- {
- return $this->_query;
- }
-
- /**
- * Returns size of current set
- *
- * @return int Size of set
- */
- public function count()
- {
- return sizeof($this->_results);
- }
-
- /**
- * Returns size of current suggests
- *
- * @return int Size of suggests
- */
- public function countSuggests()
- {
- return sizeof($this->getSuggests());
- }
-
- /**
- * Returns the current object of the set
- *
- * @return \Elastica\Result|bool Set object or false if not valid (no more entries)
- */
- public function current()
- {
- if ($this->valid()) {
- return $this->_results[$this->key()];
- } else {
- return false;
- }
- }
-
- /**
- * Sets pointer (current) to the next item of the set
- */
- public function next()
- {
- $this->_position++;
-
- return $this->current();
- }
-
- /**
- * Returns the position of the current entry
- *
- * @return int Current position
- */
- public function key()
- {
- return $this->_position;
- }
-
- /**
- * Check if an object exists at the current position
- *
- * @return bool True if object exists
- */
- public function valid()
- {
- return isset($this->_results[$this->key()]);
- }
-
- /**
- * Resets position to 0, restarts iterator
- */
- public function rewind()
- {
- $this->_position = 0;
- }
-
- /**
- * Whether a offset exists
- * @link http://php.net/manual/en/arrayaccess.offsetexists.php
- *
- * @param integer $offset
- * @return boolean true on success or false on failure.
- */
- public function offsetExists($offset)
- {
- return isset($this->_results[$offset]);
- }
-
- /**
- * Offset to retrieve
- * @link http://php.net/manual/en/arrayaccess.offsetget.php
- *
- * @param integer $offset
- * @throws Exception\InvalidException
- * @return Result|null
- */
- public function offsetGet($offset)
- {
- if ($this->offsetExists($offset)) {
- return $this->_results[$offset];
- } else {
- throw new InvalidException("Offset does not exist.");
- }
- }
-
- /**
- * Offset to set
- * @link http://php.net/manual/en/arrayaccess.offsetset.php
- *
- * @param integer $offset
- * @param Result $value
- * @throws Exception\InvalidException
- */
- public function offsetSet($offset, $value)
- {
- if (!($value instanceof Result)) {
- throw new InvalidException("ResultSet is a collection of Result only.");
- }
-
- if (!isset($this->_results[$offset])) {
- throw new InvalidException("Offset does not exist.");
- }
-
- $this->_results[$offset] = $value;
- }
-
- /**
- * Offset to unset
- * @link http://php.net/manual/en/arrayaccess.offsetunset.php
- *
- * @param integer $offset
- */
- public function offsetUnset($offset)
- {
- unset($this->_results[$offset]);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/ScanAndScroll.php b/vendor/ruflin/elastica/lib/Elastica/ScanAndScroll.php
deleted file mode 100644
index c83054e8..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/ScanAndScroll.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-namespace Elastica;
-
-/**
- * scan and scroll object
- *
- * @category Xodoa
- * @package Elastica
- * @author Manuel Andreo Garcia <andreo.garcia@gmail.com>
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html
- */
-class ScanAndScroll implements \Iterator {
-
- /**
- * time value parameter
- *
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html
- * @var string
- */
- public $expiryTime;
-
- /**
- * @var int
- */
- public $sizePerShard;
-
- /**
- * @var Search
- */
- protected $_search;
-
- /**
- * @var null|string
- */
- protected $_nextScrollId = null;
-
- /**
- * @var null|string
- */
- protected $_lastScrollId = null;
-
- /**
- * @var null|ResultSet
- */
- protected $_currentResultSet = null;
-
- /**
- * Constructs scroll iterator object
- *
- * @param Search $search
- * @param string $expiryTime
- * @param int $sizePerShard
- */
- public function __construct(Search $search, $expiryTime = '1m', $sizePerShard = 1000) {
- $this->_search = $search;
- $this->expiryTime = $expiryTime;
- $this->sizePerShard = $sizePerShard;
- }
-
- /**
- * Return the current result set
- *
- * @link http://php.net/manual/en/iterator.current.php
- * @return ResultSet
- */
- public function current() {
- return $this->_currentResultSet;
- }
-
- /**
- * Perform next scroll search
- *
- * @link http://php.net/manual/en/iterator.next.php
- * @return void
- */
- public function next() {
- $this->_scroll();
- }
-
- /**
- * Return the scroll id of current scroll request
- *
- * @link http://php.net/manual/en/iterator.key.php
- * @return string
- */
- public function key() {
- return $this->_lastScrollId;
- }
-
- /**
- * Returns true if current result set contains one hit
- *
- * @link http://php.net/manual/en/iterator.valid.php
- * @return boolean
- */
- public function valid() {
- return
- $this->_nextScrollId !== null
- && $this->_currentResultSet !== null
- && $this->_currentResultSet->count() > 0;
- }
-
- /**
- * Start the initial scan search
- * @link http://php.net/manual/en/iterator.rewind.php
- * @throws \Elastica\Exception\InvalidException
- * @return void
- */
- public function rewind() {
- $this->_search->getQuery()->setSize($this->sizePerShard);
-
- $this->_search->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_SCAN);
- $this->_search->setOption(Search::OPTION_SCROLL, $this->expiryTime);
-
- // initial scan request
- $this->_setScrollId($this->_search->search());
-
- // trigger first scroll request
- $this->_scroll();
- }
-
- /**
- * Perform next scroll search
- * @throws \Elastica\Exception\InvalidException
- * @return void
- */
- protected function _scroll() {
- $this->_search->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_SCROLL);
- $this->_search->setOption(Search::OPTION_SCROLL_ID, $this->_nextScrollId);
-
- $resultSet = $this->_search->search();
- $this->_currentResultSet = $resultSet;
- $this->_setScrollId($resultSet);
- }
-
- /**
- * Save last scroll id and extract the new one if possible
- * @param ResultSet $resultSet
- */
- protected function _setScrollId(ResultSet $resultSet) {
- $this->_lastScrollId = $this->_nextScrollId;
-
- $this->_nextScrollId = null;
- if($resultSet->getResponse()->isOk()) {
- $this->_nextScrollId = $resultSet->getResponse()->getScrollId();
- }
- }
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Script.php b/vendor/ruflin/elastica/lib/Elastica/Script.php
deleted file mode 100644
index 99d9a6aa..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Script.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\InvalidException;
-
-/**
- * Script objects, containing script internals
- *
- * @category Xodoa
- * @package Elastica
- * @author avasilenko <aa.vasilenko@gmail.com>
- * @link http://www.elasticsearch.org/guide/reference/modules/scripting.html
- */
-class Script extends AbstractUpdateAction
-{
- const LANG_MVEL = 'mvel';
- const LANG_JS = 'js';
- const LANG_GROOVY = 'groovy';
- const LANG_PYTHON = 'python';
- const LANG_NATIVE = 'native';
-
- /**
- * @var string
- */
- private $_script;
-
- /**
- * @var string
- */
- private $_lang;
-
- /**
- * @param string $script
- * @param array|null $params
- * @param string|null $lang
- */
- public function __construct($script, array $params = null, $lang = null, $id = null)
- {
- $this->setScript($script);
- if ($params) {
- $this->setParams($params);
- }
- if ($lang) {
- $this->setLang($lang);
- }
-
- if ($id) {
- $this->setId($id);
- }
- }
-
- /**
- * @param string $lang
- */
- public function setLang($lang)
- {
- $this->_lang = $lang;
- }
-
- /**
- * @return string
- */
- public function getLang()
- {
- return $this->_lang;
- }
-
- /**
- * @param string $script
- */
- public function setScript($script)
- {
- $this->_script = $script;
- }
-
- /**
- * @return string
- */
- public function getScript()
- {
- return $this->_script;
- }
-
- /**
- * @param string|array|\Elastica\Script $data
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Script
- */
- public static function create($data)
- {
- if ($data instanceof self) {
- $script = $data;
- } elseif (is_array($data)) {
- $script = self::_createFromArray($data);
- } elseif (is_string($data)) {
- $script = new self($data);
- } else {
- throw new InvalidException('Failed to create script. Invalid data passed.');
- }
-
- return $script;
- }
-
- /**
- * @param array $data
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Script
- */
- protected static function _createFromArray(array $data)
- {
- if (!isset($data['script'])) {
- throw new InvalidException("\$data['script'] is required");
- }
-
- $script = new self($data['script']);
-
- if (isset($data['lang'])) {
- $script->setLang($data['lang']);
- }
- if (isset($data['params'])) {
- if (!is_array($data['params'])) {
- throw new InvalidException("\$data['params'] should be array");
- }
- $script->setParams($data['params']);
- }
-
- return $script;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $array = array(
- 'script' => $this->_script,
- );
- if (!empty($this->_params)) {
- $array['params'] = $this->_params;
- }
- if ($this->_lang) {
- $array['lang'] = $this->_lang;
- }
-
- return $array;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/ScriptFields.php b/vendor/ruflin/elastica/lib/Elastica/ScriptFields.php
deleted file mode 100644
index 0a8b4871..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/ScriptFields.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Exception\InvalidException;
-
-/**
- * Container for scripts as fields
- *
- * @category Xodoa
- * @package Elastica
- * @author Sebastien Lavoie <github@lavoie.sl>
- * @link http://www.elasticsearch.org/guide/reference/api/search/script-fields.html
- */
-class ScriptFields extends Param
-{
- /**
- * @param \Elastica\Script[]|array $scripts OPTIONAL
- */
- public function __construct(array $scripts = array())
- {
- if ($scripts) {
- $this->setScripts($scripts);
- }
- }
-
- /**
- * @param string $name Name of the Script field
- * @param \Elastica\Script $script
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\ScriptFields
- */
- public function addScript($name, Script $script)
- {
- if (!is_string($name) || !strlen($name)) {
- throw new InvalidException('The name of a Script is required and must be a string');
- }
- $this->setParam($name, $script->toArray());
-
- return $this;
- }
-
- /**
- * @param \Elastica\Script[]|array $scripts Associative array of string => Elastica\Script
- * @return \Elastica\ScriptFields
- */
- public function setScripts(array $scripts)
- {
- $this->_params = array();
- foreach ($scripts as $name => $script) {
- $this->addScript($name, $script);
- }
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- return $this->_params;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Search.php b/vendor/ruflin/elastica/lib/Elastica/Search.php
deleted file mode 100644
index 4163a1a2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Search.php
+++ /dev/null
@@ -1,514 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Suggest;
-
-/**
- * Elastica search object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Search
-{
- /*
- * Options
- */
- const OPTION_SEARCH_TYPE = 'search_type';
- const OPTION_ROUTING = 'routing';
- const OPTION_PREFERENCE = 'preference';
- const OPTION_VERSION = 'version';
- const OPTION_TIMEOUT = 'timeout';
- const OPTION_FROM = 'from';
- const OPTION_SIZE = 'size';
- const OPTION_SCROLL = 'scroll';
- const OPTION_SCROLL_ID = 'scroll_id';
-
- /*
- * Search types
- */
- const OPTION_SEARCH_TYPE_COUNT = 'count';
- const OPTION_SEARCH_TYPE_SCAN = 'scan';
- const OPTION_SEARCH_TYPE_DFS_QUERY_THEN_FETCH = 'dfs_query_then_fetch';
- const OPTION_SEARCH_TYPE_DFS_QUERY_AND_FETCH = 'dfs_query_and_fetch';
- const OPTION_SEARCH_TYPE_QUERY_THEN_FETCH = 'query_then_fetch';
- const OPTION_SEARCH_TYPE_QUERY_AND_FETCH = 'query_and_fetch';
- const OPTION_SEARCH_TYPE_SUGGEST = 'suggest';
- const OPTION_SEARCH_TYPE_SCROLL = 'scroll';
-
- /**
- * Array of indices
- *
- * @var array
- */
- protected $_indices = array();
-
- /**
- * Array of types
- *
- * @var array
- */
- protected $_types = array();
-
- /**
- * @var \Elastica\Query
- */
- protected $_query;
-
- /**
- * @var array
- */
- protected $_options = array();
-
- /**
- * Client object
- *
- * @var \Elastica\Client
- */
- protected $_client;
-
- /**
- * Constructs search object
- *
- * @param \Elastica\Client $client Client object
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- }
-
- /**
- * Adds a index to the list
- *
- * @param \Elastica\Index|string $index Index object or string
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Search Current object
- */
- public function addIndex($index)
- {
- if ($index instanceof Index) {
- $index = $index->getName();
- }
-
- if (!is_string($index)) {
- throw new InvalidException('Invalid param type');
- }
-
- $this->_indices[] = $index;
-
- return $this;
- }
-
- /**
- * Add array of indices at once
- *
- * @param array $indices
- * @return \Elastica\Search
- */
- public function addIndices(array $indices = array())
- {
- foreach ($indices as $index) {
- $this->addIndex($index);
- }
-
- return $this;
- }
-
- /**
- * Adds a type to the current search
- *
- * @param \Elastica\Type|string $type Type name or object
- * @return \Elastica\Search Search object
- * @throws \Elastica\Exception\InvalidException
- */
- public function addType($type)
- {
- if ($type instanceof Type) {
- $type = $type->getName();
- }
-
- if (!is_string($type)) {
- throw new InvalidException('Invalid type type');
- }
-
- $this->_types[] = $type;
-
- return $this;
- }
-
- /**
- * Add array of types
- *
- * @param array $types
- * @return \Elastica\Search
- */
- public function addTypes(array $types = array())
- {
- foreach ($types as $type) {
- $this->addType($type);
- }
-
- return $this;
- }
-
- /**
- * @param string|array|\Elastica\Query|\Elastica\Suggest|\Elastica\Query\AbstractQuery|\Elastica\Filter\AbstractFilter $query|
- * @return \Elastica\Search
- */
- public function setQuery($query)
- {
- $this->_query = Query::create($query);
-
- return $this;
- }
-
- /**
- * @param string $key
- * @param mixed $value
- * @return \Elastica\Search
- */
- public function setOption($key, $value)
- {
- $this->_validateOption($key);
-
- $this->_options[$key] = $value;
-
- return $this;
- }
-
- /**
- * @param array $options
- * @return \Elastica\Search
- */
- public function setOptions(array $options)
- {
- $this->clearOptions();
-
- foreach ($options as $key => $value) {
- $this->setOption($key, $value);
- }
-
- return $this;
- }
-
- /**
- * @return \Elastica\Search
- */
- public function clearOptions()
- {
- $this->_options = array();
-
- return $this;
- }
-
- /**
- * @param string $key
- * @param mixed $value
- * @return \Elastica\Search
- */
- public function addOption($key, $value)
- {
- $this->_validateOption($key);
-
- if (!isset($this->_options[$key])) {
- $this->_options[$key] = array();
- }
-
- $this->_options[$key][] = $value;
-
- return $this;
- }
-
- /**
- * @param string $key
- * @return bool
- */
- public function hasOption($key)
- {
- return isset($this->_options[$key]);
- }
-
- /**
- * @param string $key
- * @return mixed
- * @throws \Elastica\Exception\InvalidException
- */
- public function getOption($key)
- {
- if (!$this->hasOption($key)) {
- throw new InvalidException('Option ' . $key . ' does not exist');
- }
-
- return $this->_options[$key];
- }
-
- /**
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * @param string $key
- * @return bool
- * @throws \Elastica\Exception\InvalidException
- */
- protected function _validateOption($key)
- {
- switch ($key) {
- case self::OPTION_SEARCH_TYPE:
- case self::OPTION_ROUTING:
- case self::OPTION_PREFERENCE:
- case self::OPTION_VERSION:
- case self::OPTION_TIMEOUT:
- case self::OPTION_FROM:
- case self::OPTION_SIZE:
- case self::OPTION_SCROLL:
- case self::OPTION_SCROLL_ID:
- case self::OPTION_SEARCH_TYPE_SUGGEST:
- return true;
- }
-
- throw new InvalidException('Invalid option ' . $key);
- }
-
- /**
- * Return client object
- *
- * @return \Elastica\Client Client object
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * Return array of indices
- *
- * @return array List of index names
- */
- public function getIndices()
- {
- return $this->_indices;
- }
-
- /**
- * @return bool
- */
- public function hasIndices()
- {
- return count($this->_indices) > 0;
- }
-
- /**
- * @param Index|string $index
- * @return bool
- */
- public function hasIndex($index)
- {
- if ($index instanceof Index) {
- $index = $index->getName();
- }
-
- return in_array($index, $this->_indices);
- }
-
- /**
- * Return array of types
- *
- * @return array List of types
- */
- public function getTypes()
- {
- return $this->_types;
- }
-
- /**
- * @return bool
- */
- public function hasTypes()
- {
- return count($this->_types) > 0;
- }
-
- /**
- * @param \Elastica\Type|string $type
- * @return bool
- */
- public function hasType($type)
- {
- if ($type instanceof Type) {
- $type = $type->getName();
- }
-
- return in_array($type, $this->_types);
- }
-
- /**
- * @return \Elastica\Query
- */
- public function getQuery()
- {
- if (null === $this->_query) {
- $this->_query = Query::create('');
- }
-
- return $this->_query;
- }
-
- /**
- * Creates new search object
- *
- * @param \Elastica\SearchableInterface $searchObject
- * @return \Elastica\Search
- */
- public static function create(SearchableInterface $searchObject)
- {
- return $searchObject->createSearch();
- }
-
- /**
- * Combines indices and types to the search request path
- *
- * @return string Search path
- */
- public function getPath()
- {
- if (isset($this->_options[self::OPTION_SCROLL_ID])) {
- return '_search/scroll';
- }
-
- $indices = $this->getIndices();
-
- $path = '';
- $types = $this->getTypes();
-
- if (empty($indices)) {
- if (!empty($types)) {
- $path .= '_all';
- }
- } else {
- $path .= implode(',', $indices);
- }
-
- if (!empty($types)) {
- $path .= '/' . implode(',', $types);
- }
-
- // Add full path based on indices and types -> could be all
- return $path . '/_search';
- }
-
- /**
- * Search in the set indices, types
- *
- * @param mixed $query
- * @param int|array $options OPTIONAL Limit or associative array of options (option=>value)
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\ResultSet
- */
- public function search($query = '', $options = null)
- {
- $this->setOptionsAndQuery($options, $query);
-
- $query = $this->getQuery();
- $path = $this->getPath();
-
- $params = $this->getOptions();
-
- // Send scroll_id via raw HTTP body to handle cases of very large (> 4kb) ids.
- if ('_search/scroll' == $path) {
- $data = $params[self::OPTION_SCROLL_ID];
- unset($params[self::OPTION_SCROLL_ID]);
- } else {
- $data = $query->toArray();
- }
-
- $response = $this->getClient()->request(
- $path,
- Request::GET,
- $data,
- $params
- );
-
- return new ResultSet($response, $query);
- }
-
- /**
- *
- * @param mixed $query
- * @param $fullResult (default = false) By default only the total hit count is returned. If set to true, the full ResultSet including facets is returned.
- * @return int|ResultSet
- */
- public function count($query = '', $fullResult = false)
- {
- $this->setOptionsAndQuery(null, $query);
-
- $query = $this->getQuery();
- $path = $this->getPath();
-
- $response = $this->getClient()->request(
- $path,
- Request::GET,
- $query->toArray(),
- array(self::OPTION_SEARCH_TYPE => self::OPTION_SEARCH_TYPE_COUNT)
- );
- $resultSet = new ResultSet($response, $query);
-
- return $fullResult ? $resultSet : $resultSet->getTotalHits();
- }
-
- /**
- * @param array|int $options
- * @param string|array|\Elastica\Query $query
- * @return \Elastica\Search
- */
- public function setOptionsAndQuery($options = null, $query = '')
- {
- if ('' != $query) {
- $this->setQuery($query);
- }
-
- if (is_int($options)) {
- $this->getQuery()->setSize($options);
- } elseif (is_array($options)) {
- if (isset($options['limit'])) {
- $this->getQuery()->setSize($options['limit']);
- unset($options['limit']);
- }
- if (isset($options['explain'])) {
- $this->getQuery()->setExplain($options['explain']);
- unset($options['explain']);
- }
- $this->setOptions($options);
- }
-
- return $this;
- }
-
- /**
- * @param Suggest $suggest
- * @return Search
- */
- public function setSuggest(Suggest $suggest)
- {
- return $this->setOptionsAndQuery(array(self::OPTION_SEARCH_TYPE_SUGGEST => 'suggest'), $suggest);
- }
-
- /**
- * Returns the ScanAndScroll Iterator
- *
- * @see Elastica\ScanAndScroll
- * @param string $expiryTime
- * @param int $sizePerShard
- * @return ScanAndScroll
- */
- public function scanAndScroll($expiryTime = '1m', $sizePerShard = 1000) {
- return new ScanAndScroll($this, $expiryTime, $sizePerShard);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/SearchableInterface.php b/vendor/ruflin/elastica/lib/Elastica/SearchableInterface.php
deleted file mode 100644
index 372bcb11..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/SearchableInterface.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-namespace Elastica;
-
-/**
- * Elastica searchable interface
- *
- * @category Xodoa
- * @package Elastica
- * @author Thibault Duplessis <thibault.duplessis@gmail.com>
- */
-interface SearchableInterface
-{
- /**
- * Searches results for a query
- *
- * TODO: Improve sample code
- * {
- * "from" : 0,
- * "size" : 10,
- * "sort" : {
- * "postDate" : {"reverse" : true},
- * "user" : { },
- * "_score" : { }
- * },
- * "query" : {
- * "term" : { "user" : "kimchy" }
- * }
- * }
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return \Elastica\ResultSet ResultSet with all results inside
- */
- public function search($query = '', $options = null);
-
- /**
- * Counts results for a query
- *
- * If no query is set, matchall query is created
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return int number of documents matching the query
- */
- public function count($query = '');
-
- /**
- * @param \Elastica\Query $query
- * @param array $options
- * @return \Elastica\Search
- */
- public function createSearch($query = '', $options = null);
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Snapshot.php b/vendor/ruflin/elastica/lib/Elastica/Snapshot.php
deleted file mode 100644
index 4b32172c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Snapshot.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Exception\NotFoundException;
-use Elastica\Exception\ResponseException;
-
-/**
- * Class Snapshot
- * @package Elastica
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
- */
-class Snapshot
-{
- /**
- * @var Client
- */
- protected $_client;
-
- /**
- * @param Client $client
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- }
-
- /**
- * Register a snapshot repository
- * @param string $name the name of the repository
- * @param string $type the repository type ("fs" for file system)
- * @param array $settings Additional repository settings. If type "fs" is used, the "location" setting must be provided.
- * @return Response
- */
- public function registerRepository($name, $type, $settings = array())
- {
- $data = array(
- 'type' => $type,
- 'settings' => $settings
- );
- return $this->request($name, Request::PUT, $data);
- }
-
- /**
- * Retrieve a repository record by name
- * @param string $name the name of the desired repository
- * @throws Exception\ResponseException
- * @throws Exception\NotFoundException
- * @return array
- */
- public function getRepository($name)
- {
- try {
- $response = $this->request($name);
- } catch (ResponseException $e) {
- if ($e->getResponse()->getStatus() == 404) {
- throw new NotFoundException("Repository '" . $name . "' does not exist.");
- }
- throw $e;
- }
- $data = $response->getData();
- return $data[$name];
- }
-
- /**
- * Retrieve all repository records
- * @return array
- */
- public function getAllRepositories()
- {
- return $this->request("_all")->getData();
- }
-
- /**
- * Create a new snapshot
- * @param string $repository the name of the repository in which this snapshot should be stored
- * @param string $name the name of this snapshot
- * @param array $options optional settings for this snapshot
- * @param bool $waitForCompletion if true, the request will not return until the snapshot operation is complete
- * @return Response
- */
- public function createSnapshot($repository, $name, $options = array(), $waitForCompletion = false)
- {
- return $this->request($repository . '/' . $name, Request::PUT, $options, array('wait_for_completion' => $waitForCompletion));
- }
-
- /**
- * Retrieve data regarding a specific snapshot
- * @param string $repository the name of the repository from which to retrieve the snapshot
- * @param string $name the name of the desired snapshot
- * @throws Exception\ResponseException
- * @throws Exception\NotFoundException
- * @return array
- */
- public function getSnapshot($repository, $name)
- {
- try {
- $response = $this->request($repository . "/" . $name);
- } catch (ResponseException $e) {
- if ($e->getResponse()->getStatus() == 404) {
- throw new NotFoundException("Snapshot '" . $name . "' does not exist in repository '" . $repository . "'.");
- }
- throw $e;
- }
- $data = $response->getData();
- return $data['snapshots'][0];
- }
-
- /**
- * Retrieve data regarding all snapshots in the given repository
- * @param string $repository the repository name
- * @return array
- */
- public function getAllSnapshots($repository)
- {
- return $this->request($repository . "/_all")->getData();
- }
-
- /**
- * Delete a snapshot
- * @param string $repository the repository in which the snapshot resides
- * @param string $name the name of the snapshot to be deleted
- * @return Response
- */
- public function deleteSnapshot($repository, $name)
- {
- return $this->request($repository . "/" . $name, Request::DELETE);
- }
-
- /**
- * Restore a snapshot
- * @param string $repository the name of the repository
- * @param string $name the name of the snapshot
- * @param array $options options for the restore operation
- * @param bool $waitForCompletion if true, the request will not return until the restore operation is complete
- * @return Response
- */
- public function restoreSnapshot($repository, $name, $options = array(), $waitForCompletion = false)
- {
- return $this->request($repository . "/" . $name . "/_restore", Request::POST, $options, array("wait_for_completion" => $waitForCompletion));
- }
-
- /**
- * Perform a snapshot request
- * @param string $path the URL
- * @param string $method the HTTP method
- * @param array $data request body data
- * @param array $query query string parameters
- * @return Response
- */
- public function request($path, $method = Request::GET, $data = array(), array $query = array())
- {
- return $this->_client->request("/_snapshot/" . $path, $method, $data, $query);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Status.php b/vendor/ruflin/elastica/lib/Elastica/Status.php
deleted file mode 100644
index a747b9a5..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Status.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-namespace Elastica;
-use Elastica\Exception\ResponseException;
-use Elastica\Index\Status as IndexStatus;
-
-/**
- * Elastica general status
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/api/admin-indices-status.html
- */
-class Status
-{
- /**
- * Contains all status infos
- *
- * @var \Elastica\Response Response object
- */
- protected $_response = null;
-
- /**
- * Data
- *
- * @var array Data
- */
- protected $_data = array();
-
- /**
- * Client object
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * Constructs Status object
- *
- * @param \Elastica\Client $client Client object
- */
- public function __construct(Client $client)
- {
- $this->_client = $client;
- $this->refresh();
- }
-
- /**
- * Returns status data
- *
- * @return array Status data
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Returns status objects of all indices
- *
- * @return array|\Elastica\Index\Status[] List of Elastica\Client\Index objects
- */
- public function getIndexStatuses()
- {
- $statuses = array();
- foreach ($this->getIndexNames() as $name) {
- $index = new Index($this->_client, $name);
- $statuses[] = new IndexStatus($index);
- }
-
- return $statuses;
- }
-
- /**
- * Returns a list of the existing index names
- *
- * @return array Index names list
- */
- public function getIndexNames()
- {
- $names = array();
- foreach ($this->_data['indices'] as $name => $data) {
- $names[] = $name;
- }
-
- return $names;
- }
-
- /**
- * Checks if the given index exists
- *
- * @param string $name Index name to check
- * @return bool True if index exists
- */
- public function indexExists($name)
- {
- return in_array($name, $this->getIndexNames());
- }
-
- /**
- * Checks if the given alias exists
- *
- * @param string $name Alias name
- * @return bool True if alias exists
- */
- public function aliasExists($name)
- {
- return count($this->getIndicesWithAlias($name)) > 0;
- }
-
- /**
- * Returns an array with all indices that the given alias name points to
- *
- * @param string $alias Alias name
- * @return array|\Elastica\Index[] List of Elastica\Index
- */
- public function getIndicesWithAlias($alias)
- {
- $response = null;
- try {
- $response = $this->_client->request('/_alias/' . $alias);
- } catch (ResponseException $e) {
- $transferInfo = $e->getResponse()->getTransferInfo();
- // 404 means the index alias doesn't exist which means no indexes have it.
- if ($transferInfo['http_code'] === 404) {
- return array();
- }
- // If we don't have a 404 then this is still unexpected so rethrow the exception.
- throw $e;
- }
- $indices = array();
- foreach ($response->getData() as $name => $unused) {
- $indices[] = new Index($this->_client, $name);
- }
- return $indices;
- }
-
- /**
- * Returns response object
- *
- * @return \Elastica\Response Response object
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Return shards info
- *
- * @return array Shards info
- */
- public function getShards()
- {
- return $this->_data['shards'];
- }
-
- /**
- * Refresh status object
- */
- public function refresh()
- {
- $path = '_status';
- $this->_response = $this->_client->request($path, Request::GET);
- $this->_data = $this->getResponse()->getData();
- }
-
- /**
- * Refresh serverStatus object
- */
- public function getServerStatus()
- {
- $path = '';
- $response = $this->_client->request($path, Request::GET);
-
- return $response->getData();
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest.php b/vendor/ruflin/elastica/lib/Elastica/Suggest.php
deleted file mode 100644
index dd5dbbcc..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Elastica;
-
-
-use Elastica\Exception\NotImplementedException;
-use Elastica\Suggest\AbstractSuggest;
-
-/**
- * Class Suggest
- * @package Elastica\Suggest
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters.html
- */
-class Suggest extends Param
-{
- /**
- * @param AbstractSuggest $suggestion
- */
- function __construct(AbstractSuggest $suggestion = NULL)
- {
- if (!is_null($suggestion)) {
- $this->addSuggestion($suggestion);
- }
- }
-
-
- /**
- * Set the global text for this suggester
- * @param string $text
- * @return \Elastica\Suggest
- */
- public function setGlobalText($text)
- {
- return $this->setParam("text", $text);
- }
-
- /**
- * Add a suggestion to this suggest clause
- * @param AbstractSuggest $suggestion
- * @return \Elastica\Suggest
- */
- public function addSuggestion(AbstractSuggest $suggestion)
- {
- return $this->setParam($suggestion->getName(), $suggestion->toArray());
- }
-
- /**
- * @param Suggest|AbstractSuggest $suggestion
- * @return \Elastica\Suggest
- * @throws Exception\NotImplementedException
- */
- public static function create($suggestion)
- {
- switch(true){
- case $suggestion instanceof Suggest:
- return $suggestion;
- case $suggestion instanceof AbstractSuggest:
- return new self($suggestion);
- }
- throw new NotImplementedException();
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php
deleted file mode 100644
index e5f5e01c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest/AbstractSuggest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-namespace Elastica\Suggest;
-
-
-use Elastica\Param;
-
-/**
- * Class AbstractSuggestion
- * @package Elastica\Suggest
- */
-abstract class AbstractSuggest extends Param
-{
- /**
- * @var string the name of this suggestion
- */
- protected $_name;
-
- /**
- * @var string the text for this suggestion
- */
- protected $_text;
-
- /**
- * @param string $name
- * @param string $field
- */
- public function __construct($name, $field)
- {
- $this->_name = $name;
- $this->setField($field);
- }
-
- /**
- * Suggest text must be set either globally or per suggestion
- * @param string $text
- * @return \Elastica\Suggest\AbstractSuggest
- */
- public function setText($text)
- {
- $this->_text = $text;
- return $this;
- }
-
- /**
- * @param string $field
- * @return \Elastica\Suggest\AbstractSuggest
- */
- public function setField($field)
- {
- return $this->setParam("field", $field);
- }
-
- /**
- * @param int $size
- * @return \Elastica\Suggest\AbstractSuggest
- */
- public function setSize($size)
- {
- return $this->setParam("size", $size);
- }
-
- /**
- * @param int $size maximum number of suggestions to be retrieved from each shard
- * @return \Elastica\Suggest\AbstractSuggest
- */
- public function setShardSize($size)
- {
- return $this->setParam("shard_size", $size);
- }
-
- /**
- * Retrieve the name of this suggestion
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * @return array
- */
- public function toArray()
- {
- $array = parent::toArray();
- if (isset($this->_text)) {
- $array['text'] = $this->_text;
- }
- return $array;
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php
deleted file mode 100644
index d9e6ac7c..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/AbstractCandidateGenerator.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-namespace Elastica\Suggest\CandidateGenerator;
-
-
-use Elastica\Param;
-
-class AbstractCandidateGenerator extends Param
-{
-
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php
deleted file mode 100644
index 0277a5ac..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest/CandidateGenerator/DirectGenerator.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-namespace Elastica\Suggest\CandidateGenerator;
-
-
-/**
- * Class DirectGenerator
- * @package Elastica\Suggest\Phrase
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-phrase.html#_direct_generators
- */
-class DirectGenerator extends AbstractCandidateGenerator
-{
- const SUGGEST_MODE_MISSING = 'missing';
- const SUGGEST_MODE_POPULAR = 'popular';
- const SUGGEST_MODE_ALWAYS = 'always';
-
- /**
- * @param string $field
- */
- public function __construct($field)
- {
- $this->setField($field);
- }
-
- /**
- * Set the field name from which to fetch candidate suggestions
- * @param string $field
- * @return DirectGenerator
- */
- public function setField($field)
- {
- return $this->setParam("field", $field);
- }
-
- /**
- * Set the maximum corrections to be returned per suggest text token
- * @param int $size
- * @return DirectGenerator
- */
- public function setSize($size)
- {
- return $this->setParam("size", $size);
- }
-
- /**
- * @param string $mode see SUGGEST_MODE_* constants for options
- * @return DirectGenerator
- */
- public function setSuggestMode($mode)
- {
- return $this->setParam("suggest_mode", $mode);
- }
-
- /**
- * @param int $max can only be a value between 1 and 2. Defaults to 2.
- * @return DirectGenerator
- */
- public function setMaxEdits($max)
- {
- return $this->setParam("max_edits", $max);
- }
-
- /**
- * @param int $length defaults to 1
- * @return DirectGenerator
- */
- public function setPrefixLength($length)
- {
- return $this->setParam("prefix_len", $length);
- }
-
- /**
- * @param int $min defaults to 4
- * @return DirectGenerator
- */
- public function setMinWordLength($min)
- {
- return $this->setParam("min_word_len", $min);
- }
-
- /**
- * @param int $max
- * @return DirectGenerator
- */
- public function setMaxInspections($max)
- {
- return $this->setParam("max_inspections", $max);
- }
-
- /**
- * @param float $min
- * @return DirectGenerator
- */
- public function setMinDocFrequency($min)
- {
- return $this->setParam("min_doc_freq", $min);
- }
-
- /**
- * @param float $max
- * @return DirectGenerator
- */
- public function setMaxTermFrequency($max)
- {
- return $this->setParam("max_term_freq", $max);
- }
-
- /**
- * Set an analyzer to be applied to the original token prior to candidate generation
- * @param string $pre an analyzer
- * @return DirectGenerator
- */
- public function setPreFilter($pre)
- {
- return $this->setParam("pre_filter", $pre);
- }
-
- /**
- * Set an analyzer to be applied to generated tokens before they are passed to the phrase scorer
- * @param string $post
- * @return DirectGenerator
- */
- public function setPostFilter($post)
- {
- return $this->setParam("post_filter", $post);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php
deleted file mode 100644
index 14630dc1..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-namespace Elastica\Suggest;
-
-use Elastica\Suggest\CandidateGenerator\AbstractCandidateGenerator;
-
-
-/**
- * Class Phrase
- * @package Elastica\Suggest
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-phrase.html
- */
-class Phrase extends AbstractSuggest
-{
- /**
- * @param string $analyzer
- * @return \Elastica\Suggest\Phrase
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setParam("analyzer", $analyzer);
- }
-
- /**
- * Set the max size of the n-grams (shingles) in the field
- * @param int $size
- * @return \Elastica\Suggest\Phrase
- */
- public function setGramSize($size)
- {
- return $this->setParam("gram_size", $size);
- }
-
- /**
- * Set the likelihood of a term being misspelled even if the term exists in the dictionary
- * @param float $likelihood Defaults to 0.95, meaning 5% of the words are misspelled.
- * @return \Elastica\Suggest\Phrase
- */
- public function setRealWorldErrorLikelihood($likelihood)
- {
- return $this->setParam("real_world_error_likelihood", $likelihood);
- }
-
- /**
- * Set the factor applied to the input phrases score to be used as a threshold for other suggestion candidates.
- * Only candidates which score higher than this threshold will be included in the result.
- * @param float $confidence Defaults to 1.0.
- * @return \Elastica\Suggest\Phrase
- */
- public function setConfidence($confidence)
- {
- return $this->setParam("confidence", $confidence);
- }
-
- /**
- * Set the maximum percentage of the terms considered to be misspellings in order to form a correction
- * @param float $max
- * @return \Elastica\Suggest\Phrase
- */
- public function setMaxErrors($max)
- {
- return $this->setParam("max_errors", $max);
- }
-
- /**
- * @param string $separator
- * @return \Elastica\Param
- */
- public function setSeparator($separator)
- {
- return $this->setParam("separator", $separator);
- }
-
- /**
- * Set suggestion highlighting
- * @param string $preTag
- * @param string $postTag
- * @return \Elastica\Suggest\Phrase
- */
- public function setHighlight($preTag, $postTag)
- {
- return $this->setParam("highlight", array(
- 'pre_tag' => $preTag,
- 'post_tag' => $postTag
- ));
- }
-
- /**
- * @param float $discount
- * @return \Elastica\Suggest\Phrase
- */
- public function setStupidBackoffSmoothing($discount = 0.4)
- {
- return $this->setSmoothingModel("stupid_backoff", array(
- "discount" => $discount
- ));
- }
-
- /**
- * @param float $alpha
- * @return \Elastica\Suggest\Phrase
- */
- public function setLaplaceSmoothing($alpha = 0.5)
- {
- return $this->setSmoothingModel("laplace", array(
- "alpha" => $alpha
- ));
- }
-
- /**
- * @param float $trigramLambda
- * @param float $bigramLambda
- * @param float $unigramLambda
- * @return \Elastica\Suggest\Phrase
- */
- public function setLinearInterpolationSmoothing($trigramLambda, $bigramLambda, $unigramLambda)
- {
- return $this->setSmoothingModel("linear_interpolation", array(
- "trigram_lambda" => $trigramLambda,
- "bigram_lambda" => $bigramLambda,
- "unigram_lambda" => $unigramLambda
- ));
- }
-
- /**
- * @param string $model the name of the smoothing model
- * @param array $params
- * @return \Elastica\Suggest\Phrase
- */
- public function setSmoothingModel($model, array $params)
- {
- return $this->setParam("smoothing", array(
- $model => $params
- ));
- }
-
- /**
- * @param AbstractCandidateGenerator $generator
- * @return \Elastica\Suggest\Phrase
- */
- public function addCandidateGenerator(AbstractCandidateGenerator $generator)
- {
- $generator = $generator->toArray();
- $keys = array_keys($generator);
- $values = array_values($generator);
- return $this->addParam($keys[0], $values[0]);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/Term.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/Term.php
deleted file mode 100644
index 3fca1731..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Suggest/Term.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-namespace Elastica\Suggest;
-
-
-/**
- * Class Term
- * @package Elastica\Suggest
- * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-term.html
- */
-class Term extends AbstractSuggest
-{
- const SORT_SCORE = 'score';
- const SORT_FREQUENCY = 'frequency';
-
- const SUGGEST_MODE_MISSING = 'missing';
- const SUGGEST_MODE_POPULAR = 'popular';
- const SUGGEST_MODE_ALWAYS = 'always';
-
- /**
- * @param string $analyzer
- * @return \Elastica\Suggest\Term
- */
- public function setAnalyzer($analyzer)
- {
- return $this->setParam("analyzer", $analyzer);
- }
-
- /**
- * @param string $sort see SORT_* constants for options
- * @return \Elastica\Suggest\Term
- */
- public function setSort($sort)
- {
- return $this->setParam("sort", $sort);
- }
-
- /**
- * @param string $mode see SUGGEST_MODE_* constants for options
- * @return \Elastica\Suggest\Term
- */
- public function setSuggestMode($mode)
- {
- return $this->setParam("suggest_mode", $mode);
- }
-
- /**
- * If true, suggest terms will be lower cased after text analysis
- * @param bool $lowercase
- * @return \Elastica\Suggest\Term
- */
- public function setLowercaseTerms($lowercase = true)
- {
- return $this->setParam("lowercase_terms", (bool)$lowercase);
- }
-
- /**
- * Set the maximum edit distance candidate suggestions can have in order to be considered as a suggestion
- * @param int $max Either 1 or 2. Any other value will result in an error.
- * @return \Elastica\Suggest\Term
- */
- public function setMaxEdits($max)
- {
- return $this->setParam("max_edits", (int)$max);
- }
-
- /**
- * The number of minimum prefix characters that must match in order to be a suggestion candidate
- * @param int $length Defaults to 1.
- * @return \Elastica\Suggest\Term
- */
- public function setPrefixLength($length)
- {
- return $this->setParam("prefix_len", (int)$length);
- }
-
- /**
- * The minimum length a suggest text term must have in order to be included.
- * @param int $length Defaults to 4.
- * @return \Elastica\Suggest\Term
- */
- public function setMinWordLength($length)
- {
- return $this->setParam("min_word_len", (int)$length);
- }
-
- /**
- * @param int $max Defaults to 5.
- * @return \Elastica\Suggest\Term
- */
- public function setMaxInspections($max)
- {
- return $this->setParam("max_inspections", $max);
- }
-
- /**
- * Set the minimum number of documents in which a suggestion should appear
- * @param int|float $min Defaults to 0. If the value is greater than 1, it must be a whole number.
- * @return \Elastica\Suggest\Term
- */
- public function setMinDocFrequency($min)
- {
- return $this->setParam("min_doc_freq", $min);
- }
-
- /**
- * Set the maximum number of documents in which a suggest text token can exist in order to be included
- * @param float $max
- * @return \Elastica\Suggest\Term
- */
- public function setMaxTermFrequency($max)
- {
- return $this->setParam("max_term_freq", $max);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php b/vendor/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php
deleted file mode 100644
index d2ce0fb2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/AbstractTransport.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\Connection;
-use Elastica\Request;
-use Elastica\Exception\InvalidException;
-use Elastica\Param;
-
-/**
- * Elastica Abstract Transport object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-abstract class AbstractTransport extends Param
-{
- /**
- * @var \Elastica\Connection
- */
- protected $_connection;
-
- /**
- * Construct transport
- *
- * @param \Elastica\Connection $connection Connection object
- */
- public function __construct(Connection $connection = null)
- {
- if ($connection) {
- $this->setConnection($connection);
- }
- }
-
- /**
- * @return \Elastica\Connection Connection object
- */
- public function getConnection()
- {
- return $this->_connection;
- }
-
- /**
- * @param \Elastica\Connection $connection Connection object
- */
- public function setConnection(Connection $connection)
- {
- $this->_connection = $connection;
- }
-
- /**
- * Executes the transport request
- *
- * @param \Elastica\Request $request Request object
- * @param array $params Hostname, port, path, ...
- * @return \Elastica\Response Response object
- */
- abstract public function exec(Request $request, array $params);
-
- /**
- * Create a transport
- *
- * The $transport parameter can be one of the following values:
- *
- * * string: The short name of a transport. For instance "Http", "Memcache" or "Thrift"
- * * object: An already instantiated instance of a transport
- * * array: An array with a "type" key which must be set to one of the two options. All other
- * keys in the array will be set as parameters in the transport instance
- *
- * @param mixed $transport A transport definition
- * @param \Elastica\Connection $connection A connection instance
- * @param array $params Parameters for the transport class
- * @throws \Elastica\Exception\InvalidException
- * @return AbstractTransport
- */
- public static function create($transport, Connection $connection, array $params = array())
- {
- if (is_array($transport) && isset($transport['type'])) {
- $transportParams = $transport;
- unset($transportParams['type']);
-
- $params = array_replace($params, $transportParams);
- $transport = $transport['type'];
- }
-
- if (is_string($transport)) {
- $className = 'Elastica\\Transport\\' . $transport;
-
- if (!class_exists($className)) {
- throw new InvalidException('Invalid transport');
- }
-
- $transport = new $className;
- }
-
- if ($transport instanceof AbstractTransport) {
- $transport->setConnection($connection);
-
- foreach ($params as $key => $value) {
- $transport->setParam($key, $value);
- }
- } else {
- throw new InvalidException('Invalid transport');
- }
-
- return $transport;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Guzzle.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Guzzle.php
deleted file mode 100644
index 96ad8971..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Guzzle.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\Exception\Connection\HttpException;
-use Elastica\Exception\Connection\GuzzleException;
-use Elastica\Exception\PartialShardFailureException;
-use Elastica\Exception\ResponseException;
-use Elastica\Exception\InvalidException;
-use Elastica\Connection;
-use Elastica\Request;
-use Elastica\Response;
-use Elastica\JSON;
-use GuzzleHttp\Client;
-use GuzzleHttp\Exception\TransferException;
-use GuzzleHttp\Exception\ClientException;
-use GuzzleHttp\Stream\Stream;
-
-/**
- * Elastica Guzzle Transport object
- *
- * @package Elastica
- * @author Milan Magudia <milan@magudia.com>
- */
-class Guzzle extends AbstractTransport
-{
- /**
- * Http scheme
- *
- * @var string Http scheme
- */
- protected $_scheme = 'http';
-
- /**
- * Curl resource to reuse
- *
- * @var resource Guzzle resource to reuse
- */
- protected static $_guzzleClientConnection = null;
-
- /**
- * Makes calls to the elasticsearch server
- *
- * All calls that are made to the server are done through this function
- *
- * @param \Elastica\Request $request
- * @param array $params Host, Port, ...
- * @throws \Elastica\Exception\ConnectionException
- * @throws \Elastica\Exception\ResponseException
- * @throws \Elastica\Exception\Connection\HttpException
- * @return \Elastica\Response Response object
- */
- public function exec(Request $request, array $params)
- {
- $connection = $this->getConnection();
-
- try {
- $client = $this->_getGuzzleClient($this->_getBaseUrl($connection), $connection->isPersistent());
-
- $options = array();
- if ($connection->getTimeout()) {
- $options['timeout'] = $connection->getTimeout();
- }
-
- if ($connection->getProxy()) {
- $options['proxy'] = $connection->getProxy();
- }
-
- $req = $client->createRequest($request->getMethod(), $this->_getActionPath($request), $options);
- $req->setHeaders($connection->hasConfig('headers') ?: array());
-
- $data = $request->getData();
- if (!empty($data) || '0' === $data) {
-
- if ($req->getMethod() == Request::GET) {
- $req->setMethod(Request::POST);
- }
-
- if ($this->hasParam('postWithRequestBody') && $this->getParam('postWithRequestBody') == true) {
- $request->setMethod(Request::POST);
- $req->setMethod(Request::POST);
- }
-
- if (is_array($data)) {
- $content = JSON::stringify($data, 'JSON_ELASTICSEARCH');
- } else {
- $content = $data;
- }
- $req->setBody(Stream::factory($content));
- }
-
- $start = microtime(true);
- $res = $client->send($req);
- $end = microtime(true);
-
- $response = new Response((string)$res->getBody(), $res->getStatusCode());
-
- if (defined('DEBUG') && DEBUG) {
- $response->setQueryTime($end - $start);
- }
-
- $response->setTransferInfo(
- array(
- 'request_header' => $request->getMethod(),
- 'http_code' => $res->getStatusCode()
- )
- );
-
- if ($response->hasError()) {
- throw new ResponseException($request, $response);
- }
-
- if ($response->hasFailedShards()) {
- throw new PartialShardFailureException($request, $response);
- }
-
- return $response;
-
- } catch (ClientException $e) {
- // ignore 4xx errors
- } catch (TransferException $e) {
- throw new GuzzleException($e, $request, new Response($e->getMessage()));
- }
-
- }
-
- /**
- * Return Guzzle resource
- *
- * @param bool $persistent False if not persistent connection
- * @return resource Connection resource
- */
- protected function _getGuzzleClient($baseUrl, $persistent = true)
- {
- if (!$persistent || !self::$_guzzleClientConnection) {
- self::$_guzzleClientConnection = new Client(array('base_url' => $baseUrl));
- }
-
- return self::$_guzzleClientConnection;
- }
-
- /**
- * Builds the base url for the guzzle connection
- *
- * @param \Elastica\Connection $connection
- */
- protected function _getBaseUrl(Connection $connection)
- {
- // If url is set, url is taken. Otherwise port, host and path
- $url = $connection->hasConfig('url') ? $connection->getConfig('url') : '';
-
- if (!empty($url)) {
- $baseUri = $url;
- } else {
- $baseUri = $this->_scheme . '://' . $connection->getHost() . ':' . $connection->getPort() . '/' . $connection->getPath();
- }
- return rtrim($baseUri, '/');
- }
-
- /**
- * Builds the action path url for each request
- *
- * @param \Elastica\Request $request
- */
- protected function _getActionPath(Request $request)
- {
- $action = $request->getPath();
- if ($action) {
- $action = '/'. ltrim($action, '/');
- }
- $query = $request->getQuery();
-
- if (!empty($query)) {
- $action .= '?' . http_build_query($query);
- }
-
- return $action;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Http.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Http.php
deleted file mode 100644
index 5606dbbc..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Http.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\Exception\Connection\HttpException;
-use Elastica\Exception\PartialShardFailureException;
-use Elastica\Exception\ResponseException;
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Elastica Http Transport object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Http extends AbstractTransport
-{
- /**
- * Http scheme
- *
- * @var string Http scheme
- */
- protected $_scheme = 'http';
-
- /**
- * Curl resource to reuse
- *
- * @var resource Curl resource to reuse
- */
- protected static $_curlConnection = null;
-
- /**
- * Makes calls to the elasticsearch server
- *
- * All calls that are made to the server are done through this function
- *
- * @param \Elastica\Request $request
- * @param array $params Host, Port, ...
- * @throws \Elastica\Exception\ConnectionException
- * @throws \Elastica\Exception\ResponseException
- * @throws \Elastica\Exception\Connection\HttpException
- * @return \Elastica\Response Response object
- */
- public function exec(Request $request, array $params)
- {
- $connection = $this->getConnection();
-
- $conn = $this->_getConnection($connection->isPersistent());
-
- // If url is set, url is taken. Otherwise port, host and path
- $url = $connection->hasConfig('url') ? $connection->getConfig('url') : '';
-
- if (!empty($url)) {
- $baseUri = $url;
- } else {
- $baseUri = $this->_scheme . '://' . $connection->getHost() . ':' . $connection->getPort() . '/' . $connection->getPath();
- }
-
- $baseUri .= $request->getPath();
-
- $query = $request->getQuery();
-
- if (!empty($query)) {
- $baseUri .= '?' . http_build_query($query);
- }
-
- curl_setopt($conn, CURLOPT_URL, $baseUri);
- curl_setopt($conn, CURLOPT_TIMEOUT, $connection->getTimeout());
- curl_setopt($conn, CURLOPT_FORBID_REUSE, 0);
-
- $proxy = $connection->getProxy();
- if (!is_null($proxy)) {
- curl_setopt($conn, CURLOPT_PROXY, $proxy);
- }
-
- $this->_setupCurl($conn);
-
- $headersConfig = $connection->hasConfig('headers') ? $connection->getConfig('headers') : array();
-
- if (!empty($headersConfig)) {
- $headers = array();
- while (list($header, $headerValue) = each($headersConfig)) {
- array_push($headers, $header . ': ' . $headerValue);
- }
-
- curl_setopt($conn, CURLOPT_HTTPHEADER, $headers);
- }
-
- // TODO: REFACTOR
- $data = $request->getData();
- $httpMethod = $request->getMethod();
-
- if (!empty($data) || '0' === $data) {
- if ($this->hasParam('postWithRequestBody') && $this->getParam('postWithRequestBody') == true) {
- $httpMethod = Request::POST;
- }
-
- if (is_array($data)) {
- $content = JSON::stringify($data, 'JSON_ELASTICSEARCH');
- } else {
- $content = $data;
- }
-
- // Escaping of / not necessary. Causes problems in base64 encoding of files
- $content = str_replace('\/', '/', $content);
-
- curl_setopt($conn, CURLOPT_POSTFIELDS, $content);
- } else {
- curl_setopt($conn, CURLOPT_POSTFIELDS, '');
- }
-
- curl_setopt($conn, CURLOPT_NOBODY, $httpMethod == 'HEAD');
-
- curl_setopt($conn, CURLOPT_CUSTOMREQUEST, $httpMethod);
-
- if (defined('DEBUG') && DEBUG) {
- // Track request headers when in debug mode
- curl_setopt($conn, CURLINFO_HEADER_OUT, true);
- }
-
- $start = microtime(true);
-
- // cURL opt returntransfer leaks memory, therefore OB instead.
- ob_start();
- curl_exec($conn);
- $responseString = ob_get_clean();
-
- $end = microtime(true);
-
- // Checks if error exists
- $errorNumber = curl_errno($conn);
-
- $response = new Response($responseString, curl_getinfo($this->_getConnection(), CURLINFO_HTTP_CODE));
-
- if (defined('DEBUG') && DEBUG) {
- $response->setQueryTime($end - $start);
- }
-
- $response->setTransferInfo(curl_getinfo($conn));
-
-
- if ($response->hasError()) {
- throw new ResponseException($request, $response);
- }
-
- if ($response->hasFailedShards()) {
- throw new PartialShardFailureException($request, $response);
- }
-
- if ($errorNumber > 0) {
- throw new HttpException($errorNumber, $request, $response);
- }
-
- return $response;
- }
-
- /**
- * Called to add additional curl params
- *
- * @param resource $curlConnection Curl connection
- */
- protected function _setupCurl($curlConnection)
- {
- if ($this->getConnection()->hasConfig('curl')) {
- foreach ($this->getConnection()->getConfig('curl') as $key => $param) {
- curl_setopt($curlConnection, $key, $param);
- }
- }
- }
-
- /**
- * Return Curl resource
- *
- * @param bool $persistent False if not persistent connection
- * @return resource Connection resource
- */
- protected function _getConnection($persistent = true)
- {
- if (!$persistent || !self::$_curlConnection) {
- self::$_curlConnection = curl_init();
- }
-
- return self::$_curlConnection;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Https.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Https.php
deleted file mode 100644
index 64704039..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Https.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-/**
- * Elastica Http Transport object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Https extends Http
-{
- /**
- * Https scheme
- *
- * @var string https scheme
- */
- protected $_scheme = 'https';
-
- /**
- * Overloads setupCurl to set SSL params
- *
- * @param resource $connection Curl connection resource
- */
- protected function _setupCurl($connection)
- {
- parent::_setupCurl($connection);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Memcache.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Memcache.php
deleted file mode 100644
index cf047b58..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Memcache.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\PartialShardFailureException;
-use Elastica\Exception\ResponseException;
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Elastica Memcache Transport object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Memcache extends AbstractTransport
-{
- /**
- * Makes calls to the elasticsearch server
- *
- * @param \Elastica\Request $request
- * @param array $params Host, Port, ...
- * @throws \Elastica\Exception\ResponseException
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Response Response object
- */
- public function exec(Request $request, array $params)
- {
- $memcache = new \Memcache();
- $memcache->connect($this->getConnection()->getHost(), $this->getConnection()->getPort());
-
- // Finds right function name
- $function = strtolower($request->getMethod());
-
- $data = $request->getData();
-
- $content = '';
-
- if (!empty($data) || '0' === $data) {
- if (is_array($data)) {
- $content = JSON::stringify($data);
- } else {
- $content = $data;
- }
-
- // Escaping of / not necessary. Causes problems in base64 encoding of files
- $content = str_replace('\/', '/', $content);
- }
-
- $responseString = '';
-
- switch ($function) {
- case 'post':
- case 'put':
- $memcache->set($request->getPath(), $content);
- break;
- case 'get':
- $responseString = $memcache->get($request->getPath() . '?source=' . $content);
- break;
- case 'delete':
- break;
- default:
- throw new InvalidException('Method ' . $function . ' is not supported in memcache transport');
-
- }
-
- $response = new Response($responseString);
-
- if ($response->hasError()) {
- throw new ResponseException($request, $response);
- }
-
- if ($response->hasFailedShards()) {
- throw new PartialShardFailureException($request, $response);
- }
-
- return $response;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Null.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Null.php
deleted file mode 100644
index 704e0e12..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Null.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Response;
-
-/**
- * Elastica Null Transport object
- *
- * @package Elastica
- * @author James Boehmer <james.boehmer@jamesboehmer.com>
- */
-class Null extends AbstractTransport
-{
- /**
- * Null transport.
- *
- * @param \Elastica\Request $request
- * @param array $params Hostname, port, path, ...
- * @return \Elastica\Response Response empty object
- */
- public function exec(Request $request, array $params)
- {
- $response = array(
- "took" => 0,
- "timed_out" => FALSE,
- "_shards" => array(
- "total" => 0,
- "successful" => 0,
- "failed" => 0
- ),
- "hits" => array(
- "total" => 0,
- "max_score" => NULL,
- "hits" => array()
- ),
- "params" => $params
- );
-
- return new Response(JSON::stringify($response));
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Transport/Thrift.php b/vendor/ruflin/elastica/lib/Elastica/Transport/Thrift.php
deleted file mode 100644
index f58c51a2..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Transport/Thrift.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-namespace Elastica\Transport;
-
-use Elastica\Exception\Connection\ThriftException;
-use Elastica\Exception\PartialShardFailureException;
-use Elastica\Exception\ResponseException;
-use Elastica\Exception\RuntimeException;
-use Elastica\JSON;
-use Elastica\Request;
-use Elastica\Response;
-use Elastica\Connection;
-use Elasticsearch\Method;
-use Elasticsearch\RestResponse;
-use Elasticsearch\RestClient;
-use Elasticsearch\RestRequest;
-use Thrift\Transport\TSocket;
-use Thrift\Transport\TFramedTransport;
-use Thrift\Transport\TBufferedTransport;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TException;
-
-/**
- * Elastica Thrift Transport object
- *
- * @category Xodoa
- * @package Elastica
- * @author Mikhail Shamin <munk13@gmail.com>
- */
-class Thrift extends AbstractTransport
-{
- /**
- * @var RestClient[]
- */
- protected $_clients = array();
-
- /**
- * Construct transport
- *
- * @param \Elastica\Connection $connection Connection object
- * @throws \Elastica\Exception\RuntimeException
- */
- public function __construct(Connection $connection = null)
- {
- parent::__construct($connection);
- if (!class_exists('Elasticsearch\\RestClient')) {
- throw new RuntimeException('Elasticsearch\\RestClient class not found. Check that suggested package munkie/elasticsearch-thrift-php is required in composer.json');
- }
- }
-
- /**
- * @param string $host
- * @param int $port
- * @param int $sendTimeout msec
- * @param int $recvTimeout msec
- * @param bool $framedTransport
- * @return \Elasticsearch\RestClient
- */
- protected function _createClient($host, $port, $sendTimeout = null, $recvTimeout = null, $framedTransport = false)
- {
- $socket = new TSocket($host, $port, true);
-
- if (null !== $sendTimeout) {
- $socket->setSendTimeout($sendTimeout);
- }
-
- if (null !== $recvTimeout) {
- $socket->setRecvTimeout($recvTimeout);
- }
-
- if ($framedTransport) {
- $transport = new TFramedTransport($socket);
- } else {
- $transport = new TBufferedTransport($socket);
- }
- $protocol = new TBinaryProtocolAccelerated($transport);
-
- $client = new RestClient($protocol);
-
- $transport->open();
-
- return $client;
- }
-
- /**
- * @param string $host
- * @param int $port
- * @param int $sendTimeout
- * @param int $recvTimeout
- * @param bool $framedTransport
- * @return \Elasticsearch\RestClient
- */
- protected function _getClient($host, $port, $sendTimeout = null, $recvTimeout = null, $framedTransport = false)
- {
- $key = $host . ':' . $port;
- if (!isset($this->_clients[$key])) {
- $this->_clients[$key] = $this->_createClient($host, $port, $sendTimeout, $recvTimeout, $framedTransport);
- }
- return $this->_clients[$key];
- }
-
- /**
- * Makes calls to the elasticsearch server
- *
- * @param \Elastica\Request $request
- * @param array $params Host, Port, ...
- * @throws \Elastica\Exception\Connection\ThriftException
- * @throws \Elastica\Exception\ResponseException
- * @return \Elastica\Response Response object
- */
- public function exec(Request $request, array $params)
- {
- $connection = $this->getConnection();
-
- $sendTimeout = $connection->hasConfig('sendTimeout') ? $connection->getConfig('sendTimeout') : null;
- $recvTimeout = $connection->hasConfig('recvTimeout') ? $connection->getConfig('recvTimeout') : null;
- $framedTransport = $connection->hasConfig('framedTransport') ? (bool) $connection->getConfig('framedTransport') : false;
-
- try {
- $client = $this->_getClient(
- $connection->getHost(),
- $connection->getPort(),
- $sendTimeout,
- $recvTimeout,
- $framedTransport
- );
-
- $restRequest = new RestRequest();
- $restRequest->method = array_search($request->getMethod(), Method::$__names);
- $restRequest->uri = $request->getPath();
-
- $query = $request->getQuery();
- if (!empty($query)) {
- $restRequest->parameters = $query;
- }
-
- $data = $request->getData();
- if (!empty($data) || '0' === $data) {
- if (is_array($data)) {
- $content = JSON::stringify($data);
- } else {
- $content = $data;
- }
- $restRequest->body = $content;
- }
-
- /* @var $result RestResponse */
- $start = microtime(true);
-
- $result = $client->execute($restRequest);
- $response = new Response($result->body);
-
- $end = microtime(true);
- } catch (TException $e) {
- $response = new Response('');
- throw new ThriftException($e, $request, $response);
- }
-
- if (defined('DEBUG') && DEBUG) {
- $response->setQueryTime($end - $start);
- }
-
- if ($response->hasError()) {
- throw new ResponseException($request, $response);
- }
-
- if ($response->hasFailedShards()) {
- throw new PartialShardFailureException($request, $response);
- }
-
- return $response;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Type.php b/vendor/ruflin/elastica/lib/Elastica/Type.php
deleted file mode 100644
index 1ed952db..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Type.php
+++ /dev/null
@@ -1,537 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\Document;
-use Elastica\Exception\RuntimeException;
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\NotFoundException;
-use Elastica\Exception\ResponseException;
-use Elastica\Type\Mapping;
-
-/**
- * Elastica type object
- *
- * elasticsearch has for every types as a substructure. This object
- * represents a type inside a context
- * The hierarchy is as following: client -> index -> type -> document
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-class Type implements SearchableInterface
-{
- /**
- * Index
- *
- * @var \Elastica\Index Index object
- */
- protected $_index = null;
-
- /**
- * Type name
- *
- * @var string Type name
- */
- protected $_name = '';
-
- /**
- * @var array|string A callable that serializes an object passed to it
- */
- protected $_serializer;
-
- /**
- * Creates a new type object inside the given index
- *
- * @param \Elastica\Index $index Index Object
- * @param string $name Type name
- */
- public function __construct(Index $index, $name)
- {
- $this->_index = $index;
- $this->_name = $name;
- }
-
- /**
- * Adds the given document to the search index
- *
- * @param \Elastica\Document $doc Document with data
- * @return \Elastica\Response
- */
- public function addDocument(Document $doc)
- {
- $path = urlencode($doc->getId());
-
- $type = Request::PUT;
-
- // If id is empty, POST has to be used to automatically create id
- if (empty($path)) {
- $type = Request::POST;
- }
-
- $options = $doc->getOptions(
- array(
- 'version',
- 'version_type',
- 'routing',
- 'percolate',
- 'parent',
- 'ttl',
- 'timestamp',
- 'op_type',
- 'consistency',
- 'replication',
- 'refresh',
- 'timeout',
- )
- );
-
- $response = $this->request($path, $type, $doc->getData(), $options);
-
- $data = $response->getData();
- // set autogenerated id to document
- if (($doc->isAutoPopulate()
- || $this->getIndex()->getClient()->getConfigValue(array('document', 'autoPopulate'), false))
- && $response->isOk()
- ) {
- if (!$doc->hasId()) {
- if (isset($data['_id'])) {
- $doc->setId($data['_id']);
- }
- }
- if (isset($data['_version'])) {
- $doc->setVersion($data['_version']);
- }
- }
-
- return $response;
- }
-
- /**
- * @param $object
- * @param Document $doc
- * @return Response
- * @throws Exception\RuntimeException
- */
- public function addObject($object, Document $doc = null)
- {
- if (!isset($this->_serializer)) {
- throw new RuntimeException('No serializer defined');
- }
-
- $data = call_user_func($this->_serializer, $object);
- if (!$doc) {
- $doc = new Document();
- }
- $doc->setData($data);
-
- return $this->addDocument($doc);
- }
-
- /**
- * Update document, using update script. Requires elasticsearch >= 0.19.0
- *
- * @param \Elastica\Document|\Elastica\Script $data Document with update data
- * @throws \Elastica\Exception\InvalidException
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/api/update.html
- */
- public function updateDocument($data)
- {
- if (!($data instanceof Document) && !($data instanceof Script)) {
- throw new \InvalidArgumentException("Data should be a Document or Script");
- }
-
- if (!$data->hasId()) {
- throw new InvalidException('Document or Script id is not set');
- }
-
- return $this->getIndex()->getClient()->updateDocument(
- $data->getId(),
- $data,
- $this->getIndex()->getName(),
- $this->getName()
- );
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function updateDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setType($this->getName());
- }
-
- return $this->getIndex()->updateDocuments($docs);
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function addDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setType($this->getName());
- }
-
- return $this->getIndex()->addDocuments($docs);
- }
-
- /**
- * Uses _bulk to send documents to the server
- *
- * @param objects[] $objects
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function addObjects(array $objects)
- {
- if (!isset($this->_serializer)) {
- throw new RuntimeException('No serializer defined');
- }
-
- $docs = array();
- foreach ($objects as $object) {
- $data = call_user_func($this->_serializer, $object);
- $doc = new Document();
- $doc->setData($data);
- $doc->setType($this->getName());
- $docs[] = $doc;
- }
-
- return $this->getIndex()->addDocuments($docs);
- }
-
- /**
- * Get the document from search index
- *
- * @param string $id Document id
- * @param array $options Options for the get request.
- * @throws \Elastica\Exception\NotFoundException
- * @return \Elastica\Document
- */
- public function getDocument($id, $options = array())
- {
- $path = urlencode($id);
-
- try {
- $response = $this->request($path, Request::GET, array(), $options);
- $result = $response->getData();
- } catch (ResponseException $e) {
- throw new NotFoundException('doc id ' . $id . ' not found');
- }
-
- $info = $response->getTransferInfo();
- if ($info['http_code'] !== 200) {
- throw new NotFoundException('doc id ' . $id . ' not found');
- }
-
- if (isset($result['fields'])) {
- $data = $result['fields'];
- } elseif (isset($result['_source'])) {
- $data = $result['_source'];
- } else {
- $data = array();
- }
-
- $document = new Document($id, $data, $this->getName(), $this->getIndex());
- $document->setVersion($result['_version']);
-
- return $document;
- }
-
- /**
- * @param string $id
- * @param array|string $data
- * @return Document
- */
- public function createDocument($id = '', $data = array())
- {
- $document = new Document($id, $data);
- $document->setType($this);
-
- return $document;
- }
-
- /**
- * Returns the type name
- *
- * @return string Type name
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Sets value type mapping for this type
- *
- * @param \Elastica\Type\Mapping|array $mapping Elastica\Type\MappingType object or property array with all mappings
- * @return \Elastica\Response
- */
- public function setMapping($mapping)
- {
- $mapping = Mapping::create($mapping);
- $mapping->setType($this);
-
- return $mapping->send();
- }
-
- /**
- * Returns current mapping for the given type
- *
- * @return array Current mapping
- */
- public function getMapping()
- {
- $path = '_mapping';
-
- $response = $this->request($path, Request::GET);
- $data = $response->getData();
-
- $mapping = array_shift($data);
- if (isset($mapping['mappings'])) {
- return $mapping['mappings'];
- }
-
- return array();
- }
-
- /**
- * Create search object
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @param int|array $options OPTIONAL Limit or associative array of options (option=>value)
- * @return \Elastica\Search
- */
- public function createSearch($query = '', $options = null)
- {
- $search = new Search($this->getIndex()->getClient());
- $search->addIndex($this->getIndex());
- $search->addType($this);
- $search->setOptionsAndQuery($options, $query);
-
- return $search;
- }
-
- /**
- * Do a search on this type
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @param int|array $options OPTIONAL Limit or associative array of options (option=>value)
- * @return \Elastica\ResultSet ResultSet with all results inside
- * @see \Elastica\SearchableInterface::search
- */
- public function search($query = '', $options = null)
- {
- $search = $this->createSearch($query, $options);
-
- return $search->search();
- }
-
- /**
- * Count docs by query
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return int number of documents matching the query
- * @see \Elastica\SearchableInterface::count
- */
- public function count($query = '')
- {
- $search = $this->createSearch($query);
-
- return $search->count();
- }
-
- /**
- * Returns index client
- *
- * @return \Elastica\Index Index object
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * @param \Elastica\Document $document
- * @return \Elastica\Response
- */
- public function deleteDocument(Document $document)
- {
- $options = $document->getOptions(
- array(
- 'version',
- 'version_type',
- 'routing',
- 'parent',
- 'replication',
- 'consistency',
- 'refresh',
- 'timeout'
- )
- );
- return $this->deleteById($document->getId(), $options);
- }
-
- /**
- * Uses _bulk to delete documents from the server
- *
- * @param array|\Elastica\Document[] $docs Array of Elastica\Document
- * @return \Elastica\Bulk\ResponseSet
- * @link http://www.elasticsearch.org/guide/reference/api/bulk.html
- */
- public function deleteDocuments(array $docs)
- {
- foreach ($docs as $doc) {
- $doc->setType($this->getName());
- }
-
- return $this->getIndex()->deleteDocuments($docs);
- }
-
- /**
- * Deletes an entry by its unique identifier
- *
- * @param int|string $id Document id
- * @param array $options
- * @throws \InvalidArgumentException
- * @throws \Elastica\Exception\NotFoundException
- * @return \Elastica\Response Response object
- * @link http://www.elasticsearch.org/guide/reference/api/delete.html
- */
- public function deleteById($id, array $options = array())
- {
- if (empty($id) || !trim($id)) {
- throw new \InvalidArgumentException();
- }
-
- $id = urlencode($id);
-
- $response = $this->request($id, Request::DELETE, array(), $options);
-
- $responseData = $response->getData();
-
- if (isset($responseData['found']) && false == $responseData['found']) {
- throw new NotFoundException('Doc id ' . $id . ' not found and can not be deleted');
- }
-
- return $response;
- }
-
- /**
- * Deletes the given list of ids from this type
- *
- * @param array $ids
- * @param string|false $routing Optional routing key for all ids
- * @return \Elastica\Response Response object
- */
- public function deleteIds(array $ids, $routing = false)
- {
- return $this->getIndex()->getClient()->deleteIds($ids, $this->getIndex(), $this, $routing);
- }
-
- /**
- * Deletes entries in the db based on a query
- *
- * @param \Elastica\Query|string $query Query object
- * @param array $options Optional params
- * @return \Elastica\Response
- * @link http://www.elasticsearch.org/guide/reference/api/delete-by-query.html
- */
- public function deleteByQuery($query, array $options = array())
- {
- if (is_string($query)) {
- // query_string queries are not supported for delete by query operations
- $options['q'] = $query;
- return $this->request('_query', Request::DELETE, array(), $options);
- }
- $query = Query::create($query);
-
- return $this->request('_query', Request::DELETE, array('query' => $query->getQuery()), $options);
- }
-
- /**
- * Deletes the index type.
- *
- * @return \Elastica\Response
- */
- public function delete()
- {
- $response = $this->request('', Request::DELETE);
-
- return $response;
- }
-
- /**
- * More like this query based on the given object
- *
- * The id in the given object has to be set
- *
- * @param \Elastica\Document $doc Document to query for similar objects
- * @param array $params OPTIONAL Additional arguments for the query
- * @param string|array|\Elastica\Query $query OPTIONAL Query to filter the moreLikeThis results
- * @return \Elastica\ResultSet ResultSet with all results inside
- * @link http://www.elasticsearch.org/guide/reference/api/more-like-this.html
- */
- public function moreLikeThis(Document $doc, $params = array(), $query = array())
- {
- $path = $doc->getId() . '/_mlt';
-
- $query = Query::create($query);
-
- $response = $this->request($path, Request::GET, $query->toArray(), $params);
-
- return new ResultSet($response, $query);
- }
-
- /**
- * Makes calls to the elasticsearch server based on this type
- *
- * @param string $path Path to call
- * @param string $method Rest method to use (GET, POST, DELETE, PUT)
- * @param array $data OPTIONAL Arguments as array
- * @param array $query OPTIONAL Query params
- * @return \Elastica\Response Response object
- */
- public function request($path, $method, $data = array(), array $query = array())
- {
- $path = $this->getName() . '/' . $path;
-
- return $this->getIndex()->request($path, $method, $data, $query);
- }
-
- /**
- * Sets the serializer callable used in addObject
- * @see \Elastica\Type::addObject
- *
- * @param array|string $serializer @see \Elastica\Type::_serializer
- */
- public function setSerializer($serializer)
- {
- $this->_serializer = $serializer;
- }
-
- /**
- * Checks if the given type exists in Index
- *
- * @return bool True if type exists
- */
- public function exists()
- {
- $response = $this->getIndex()->request($this->getName(), Request::HEAD);
- $info = $response->getTransferInfo();
-
- return (bool)($info['http_code'] == 200);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Type/AbstractType.php b/vendor/ruflin/elastica/lib/Elastica/Type/AbstractType.php
deleted file mode 100644
index ba2e0430..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Type/AbstractType.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
-
-namespace Elastica\Type;
-
-use Elastica\Client;
-use Elastica\Exception\InvalidException;
-use Elastica\Index;
-use Elastica\SearchableInterface;
-use Elastica\Type as BaseType;
-use Elastica\Util;
-
-/**
- * Abstract helper class to implement search indices based on models.
- *
- * This abstract model should help creating search index and a subtype
- * with some easy config entries that are overloaded.
- *
- * The following variables have to be set:
- * - $_indexName
- * - $_typeName
- *
- * The following variables can be set for additional configuration
- * - $_mapping: Value type mapping for the given type
- * - $_indexParams: Parameters for the index
- *
- * @todo Add some settings examples to code
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- */
-abstract class AbstractType implements SearchableInterface
-{
- const MAX_DOCS_PER_REQUEST = 1000;
-
- /**
- * Index name
- *
- * @var string Index name
- */
- protected $_indexName = '';
-
- /**
- * Index name
- *
- * @var string Index name
- */
- protected $_typeName = '';
-
- /**
- * Client
- *
- * @var \Elastica\Client Client object
- */
- protected $_client = null;
-
- /**
- * Index
- *
- * @var \Elastica\Index Index object
- */
- protected $_index = null;
-
- /**
- * Type
- *
- * @var \Elastica\Type Type object
- */
- protected $_type = null;
-
- /**
- * Mapping
- *
- * @var array Mapping
- */
- protected $_mapping = array();
-
- /**
- * Index params
- *
- * @var array Index params
- */
- protected $_indexParams = array();
-
- /**
- * Source
- *
- * @var boolean Source
- */
- protected $_source = true;
-
- /**
- * Creates index object with client connection
- *
- * Reads index and type name from protected vars _indexName and _typeName.
- * Has to be set in child class
- *
- * @param \Elastica\Client $client OPTIONAL Client object
- * @throws \Elastica\Exception\InvalidException
- */
- public function __construct(Client $client = null)
- {
- if (!$client) {
- $client = new Client();
- }
-
- if (empty($this->_indexName)) {
- throw new InvalidException('Index name has to be set');
- }
-
- if (empty($this->_typeName)) {
- throw new InvalidException('Type name has to be set');
- }
-
- $this->_client = $client;
- $this->_index = new Index($this->_client, $this->_indexName);
- $this->_type = new BaseType($this->_index, $this->_typeName);
- }
-
- /**
- * Creates the index and sets the mapping for this type
- *
- * @param bool $recreate OPTIONAL Recreates the index if true (default = false)
- */
- public function create($recreate = false)
- {
- $this->getIndex()->create($this->_indexParams, $recreate);
-
- $mapping = new Mapping($this->getType());
- $mapping->setProperties($this->_mapping);
- $mapping->setSource(array('enabled' => $this->_source));
- $mapping->send();
- }
-
- /**
- * @param \Elastica\Query $query
- * @param array|int $options
- * @return \Elastica\Search
- */
- public function createSearch($query = '', $options = null)
- {
- return $this->getType()->createSearch($query, $options);
- }
-
- /**
- * Search on the type
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return \Elastica\ResultSet ResultSet with all results inside
- * @see \Elastica\SearchableInterface::search
- */
- public function search($query = '', $options = null)
- {
- return $this->getType()->search($query, $options = null);
- }
-
- /**
- * Count docs in the type based on query
- *
- * @param string|array|\Elastica\Query $query Array with all query data inside or a Elastica\Query object
- * @return int number of documents matching the query
- * @see \Elastica\SearchableInterface::count
- */
- public function count($query = '')
- {
- return $this->getType()->count($query);
- }
-
- /**
- * Returns the search index
- *
- * @return \Elastica\Index Index object
- */
- public function getIndex()
- {
- return $this->_index;
- }
-
- /**
- * Returns type object
- *
- * @return \Elastica\Type Type object
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Converts given time to format: 1995-12-31T23:59:59Z
- *
- * This is the lucene date format
- *
- * @param int $date Date input (could be string etc.) -> must be supported by strtotime
- * @return string Converted date string
- */
- public function convertDate($date)
- {
- return Util::convertDate($date);
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Type/Mapping.php b/vendor/ruflin/elastica/lib/Elastica/Type/Mapping.php
deleted file mode 100644
index 920093fb..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Type/Mapping.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
-
-namespace Elastica\Type;
-
-use Elastica\Exception\InvalidException;
-use Elastica\Request;
-use Elastica\Type;
-
-/**
- * Elastica Mapping object
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @link http://www.elasticsearch.org/guide/reference/mapping/
- */
-class Mapping
-{
- /**
- * Mapping
- *
- * @var array Mapping
- */
- protected $_mapping = array();
-
- /**
- * Type
- *
- * @var \Elastica\Type Type object
- */
- protected $_type = null;
-
- /**
- * Construct Mapping
- *
- * @param \Elastica\Type $type OPTIONAL Type object
- * @param array $properties OPTIONAL Properties
- */
- public function __construct(Type $type = null, array $properties = array())
- {
- if ($type) {
- $this->setType($type);
- }
-
- if (!empty($properties)) {
- $this->setProperties($properties);
- }
- }
-
- /**
- * Sets the mapping type
- * Enter description here ...
- * @param \Elastica\Type $type Type object
- * @return \Elastica\Type\Mapping Current object
- */
- public function setType(Type $type)
- {
- $this->_type = $type;
-
- return $this;
- }
-
- /**
- * Sets the mapping properties
- *
- * @param array $properties Properties
- * @return \Elastica\Type\Mapping Mapping object
- */
- public function setProperties(array $properties)
- {
- return $this->setParam('properties', $properties);
- }
-
- /**
- * Gets the mapping properties
- *
- * @return array $properties Properties
- */
- public function getProperties()
- {
- return $this->getParam('properties');
- }
-
- /**
- * Sets the mapping _meta
- * @param array $meta metadata
- * @return \Elastica\Type\Mapping Mapping object
- * @link http://www.elasticsearch.org/guide/reference/mapping/meta.html
- */
- public function setMeta(array $meta)
- {
- return $this->setParam('_meta', $meta);
- }
-
- /**
- * Returns mapping type
- *
- * @return \Elastica\Type Type
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Sets source values
- *
- * To disable source, argument is
- * array('enabled' => false)
- *
- * @param array $source Source array
- * @return \Elastica\Type\Mapping Current object
- * @link http://www.elasticsearch.org/guide/reference/mapping/source-field.html
- */
- public function setSource(array $source)
- {
- return $this->setParam('_source', $source);
- }
-
- /**
- * Disables the source in the index
- *
- * Param can be set to true to enable again
- *
- * @param bool $enabled OPTIONAL (default = false)
- * @return \Elastica\Type\Mapping Current object
- */
- public function disableSource($enabled = false)
- {
- return $this->setSource(array('enabled' => $enabled));
- }
-
- /**
- * Sets raw parameters
- *
- * Possible options:
- * _uid
- * _id
- * _type
- * _source
- * _all
- * _analyzer
- * _boost
- * _parent
- * _routing
- * _index
- * _size
- * properties
- *
- * @param string $key Key name
- * @param mixed $value Key value
- * @return \Elastica\Type\Mapping Current object
- */
- public function setParam($key, $value)
- {
- $this->_mapping[$key] = $value;
-
- return $this;
- }
-
- /**
- * Get raw parameters
- *
- * @see setParam
- * @param string $key Key name
- * @return mixed $value Key value
- */
- public function getParam($key)
- {
- return isset($this->_mapping[$key])?$this->_mapping[$key]:null;
- }
-
- /**
- * Sets params for the "_all" field
- *
- * @param array $params _all Params (enabled, store, term_vector, analyzer)
- * @return \Elastica\Type\Mapping
- */
- public function setAllField(array $params)
- {
- return $this->setParam('_all', $params);
- }
-
- /**
- * Enables the "_all" field
- *
- * @param bool $enabled OPTIONAL (default = true)
- * @return \Elastica\Type\Mapping
- */
- public function enableAllField($enabled = true)
- {
- return $this->setAllField(array('enabled' => $enabled));
- }
-
- /**
- * Set TTL
- *
- * @param array $params TTL Params (enabled, default, ...)
- * @return \Elastica\Type\Mapping
- */
- public function setTtl(array $params)
- {
- return $this->setParam('_ttl', $params);
-
- }
-
- /**
- * Enables TTL for all documents in this type
- *
- * @param bool $enabled OPTIONAL (default = true)
- * @return \Elastica\Type\Mapping
- */
- public function enableTtl($enabled = true)
- {
- return $this->setTTL(array('enabled' => $enabled));
- }
-
- /**
- * Set parent type
- *
- * @param string $type Parent type
- * @return \Elastica\Type\Mapping
- */
- public function setParent($type)
- {
- return $this->setParam('_parent', array('type' => $type));
- }
-
- /**
- * Converts the mapping to an array
- *
- * @throws \Elastica\Exception\InvalidException
- * @return array Mapping as array
- */
- public function toArray()
- {
- $type = $this->getType();
-
- if (empty($type)) {
- throw new InvalidException('Type has to be set');
- }
-
- return array($type->getName() => $this->_mapping);
- }
-
- /**
- * Submits the mapping and sends it to the server
- *
- * @return \Elastica\Response Response object
- */
- public function send()
- {
- $path = '_mapping';
-
- return $this->getType()->request($path, Request::PUT, $this->toArray());
- }
-
- /**
- * Creates a mapping object
- *
- * @param array|\Elastica\Type\Mapping $mapping Mapping object or properties array
- * @return \Elastica\Type\Mapping Mapping object
- * @throws \Elastica\Exception\InvalidException If invalid type
- */
- public static function create($mapping)
- {
- if (is_array($mapping)) {
- $mappingObject = new Mapping();
- $mappingObject->setProperties($mapping);
- } else {
- $mappingObject = $mapping;
- }
-
- if (!$mappingObject instanceof Mapping) {
- throw new InvalidException('Invalid object type');
- }
-
- return $mappingObject;
- }
-}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Util.php b/vendor/ruflin/elastica/lib/Elastica/Util.php
deleted file mode 100644
index 679bd558..00000000
--- a/vendor/ruflin/elastica/lib/Elastica/Util.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-namespace Elastica;
-
-use Elastica\JSON;
-
-/**
- * Elastica tools
- *
- * @category Xodoa
- * @package Elastica
- * @author Nicolas Ruflin <spam@ruflin.com>
- * @author Thibault Duplessis <thibault.duplessis@gmail.com>
- * @author Oleg Zinchenko <olegz@default-value.com>
- */
-class Util
-{
- /**
- * Replace the following reserved words: AND OR NOT
- * and
- * escapes the following terms: + - && || ! ( ) { } [ ] ^ " ~ * ? : \
- *
- * @param string $term Query term to replace and escape
- * @return string Replaced and escaped query term
- * @link http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Boolean%20operators
- * @link http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Escaping%20Special%20Characters
- */
- public static function replaceBooleanWordsAndEscapeTerm($term)
- {
- $result = $term;
- $result = self::replaceBooleanWords($result);
- $result = self::escapeTerm($result);
-
- return $result;
- }
-
- /**
- * Escapes the following terms (because part of the query language)
- * + - && || ! ( ) { } [ ] ^ " ~ * ? : \
- *
- * @param string $term Query term to escape
- * @return string Escaped query term
- * @link http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Escaping%20Special%20Characters
- */
- public static function escapeTerm($term)
- {
- $result = $term;
- // \ escaping has to be first, otherwise escaped later once again
- $chars = array('\\', '+', '-', '&&', '||', '!', '(', ')', '{', '}', '[', ']', '^', '"', '~', '*', '?', ':');
-
- foreach ($chars as $char) {
- $result = str_replace($char, '\\' . $char, $result);
- }
-
- // since elasticsearch uses lucene 4.0 / needs to be escaped by \\
- $result = str_replace('/', '\\\\/', $result);
-
- return $result;
- }
-
- /**
- * Replace the following reserved words (because part of the query language)
- * AND OR NOT
- *
- * @param string $term Query term to replace
- * @return string Replaced query term
- * @link http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Boolean%20operators
- */
- public static function replaceBooleanWords($term)
- {
- $replacementMap = array('AND'=>'&&', 'OR'=>'||', 'NOT'=>'!');
- $result = strtr($term, $replacementMap);
-
- return $result;
- }
-
- /**
- * Converts a snake_case string to CamelCase
- *
- * For example: hello_world to HelloWorld
- *
- * @param string $string snake_case string
- * @return string CamelCase string
- */
- public static function toCamelCase($string)
- {
- return str_replace(" ", "", ucwords(str_replace("_", " ", $string)));
- }
-
- /**
- * Converts a CamelCase string to snake_case
- *
- * For Example HelloWorld to hello_world
- *
- * @param string $string CamelCase String to Convert
- * @return string SnakeCase string
- */
- public static function toSnakeCase($string)
- {
- $string = preg_replace('/([A-Z])/', '_$1', $string);
-
- return strtolower(substr($string,1));
- }
-
- /**
- * Converts given time to format: 1995-12-31T23:59:59Z
- *
- * This is the lucene date format
- *
- * @param int $date Date input (could be string etc.) -> must be supported by strtotime
- * @return string Converted date string
- */
- public static function convertDate($date)
- {
- if (is_int($date)) {
- $timestamp = $date;
- } else {
- $timestamp = strtotime($date);
- }
- $string = date('Y-m-d\TH:i:s\Z', $timestamp);
-
- return $string;
- }
-
- /**
- * Tries to guess the name of the param, based on its class
- * Example: \Elastica\Filter\HasChildFilter => has_child
- *
- * @param string|object Class or Class name
- * @return string parameter name
- */
- public static function getParamName($class)
- {
- if (is_object($class)) {
- $class = get_class($class);
- }
-
- $parts = explode('\\', $class);
- $last = array_pop($parts);
- $last = preg_replace('/(Facet|Query|Filter)$/', '', $last);
- $name = self::toSnakeCase($last);
-
- return $name;
- }
-
- /**
- * Converts Request to Curl console command
- *
- * @param Request $request
- * @return string
- */
- public static function convertRequestToCurlCommand(Request $request)
- {
- $message = 'curl -X' . strtoupper($request->getMethod()) . ' ';
- $message .= '\'http://' . $request->getConnection()->getHost() . ':' . $request->getConnection()->getPort() . '/';
- $message .= $request->getPath();
-
- $query = $request->getQuery();
- if (!empty($query)) {
- $message .= '?' . http_build_query($query);
- }
-
- $message .= '\'';
-
- $data = $request->getData();
- if (!empty($data)) {
- $message .= ' -d \'' . JSON::stringify($data) . '\'';
- }
- return $message;
- }
-}
diff --git a/vendor/ruflin/elastica/phpdoc.dist.xml b/vendor/ruflin/elastica/phpdoc.dist.xml
deleted file mode 100644
index 585a4687..00000000
--- a/vendor/ruflin/elastica/phpdoc.dist.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<docblox>
- <title>Elastica</title>
- <parser>
- <target>./build/api</target>
- </parser>
- <transformer>
- <target>./build/api</target>
- </transformer>
- <files>
- <directory>./lib</directory>
- </files>
-</docblox>
diff --git a/vendor/ruflin/elastica/test/benchmark/BulkMemoryUsageTest.php b/vendor/ruflin/elastica/test/benchmark/BulkMemoryUsageTest.php
deleted file mode 100644
index 23e6521f..00000000
--- a/vendor/ruflin/elastica/test/benchmark/BulkMemoryUsageTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-use Elastica\Client;
-use Elastica\Document;
-
-class BulkMemoryUsageTest extends \PHPUnit_Framework_TestCase
-{
-
- /**
- * Some memory usage stats
- *
- * Really simple and quite stupid ...
- */
- public function testServersArray()
- {
- $client = new Client();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $data = array(
- 'text1' => 'Very long text for a string',
- 'text2' => 'But this is not very long',
- 'text3' => 'random or not random?',
- );
-
- $startMemory = memory_get_usage();
-
- for ($n = 1; $n < 10; $n++) {
- $docs = array();
-
- for ($i = 1; $i <= 3000; $i++) {
- $docs[] = new Document(uniqid(), $data);
- }
-
- $type->addDocuments($docs);
- $docs = array();
- }
-
- unset($docs);
-
- $endMemory = memory_get_usage();
-
- $this->assertLessThan(1.2, $endMemory/$startMemory);
- }
-}
diff --git a/vendor/ruflin/elastica/test/benchmark/ClientTest.php b/vendor/ruflin/elastica/test/benchmark/ClientTest.php
deleted file mode 100644
index e7a040f7..00000000
--- a/vendor/ruflin/elastica/test/benchmark/ClientTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-use Elastica\Client;
-use Elastica\Document;
-
-class ClientTest extends \PHPUnit_Framework_TestCase
-{
-
- public function testServersArray()
- {
- $client = new Client();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $start = microtime(true);
-
- for ($i = 1; $i <= 10000; $i++) {
- $doc = new Document($i, array('test' => 1));
- $type->addDocument($doc);
- }
-
- // Refresh index
- $index->refresh();
-
- $end = microtime(true);
-
- //echo $end - $start;
-
- }
-}
diff --git a/vendor/ruflin/elastica/test/benchmark/TransportTest.php b/vendor/ruflin/elastica/test/benchmark/TransportTest.php
deleted file mode 100644
index 42d6ac0c..00000000
--- a/vendor/ruflin/elastica/test/benchmark/TransportTest.php
+++ /dev/null
@@ -1,252 +0,0 @@
-<?php
-
-use Elastica\Client;
-use Elastica\Request;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-use Elastica\Query\MatchAll as MatchAllQuery;
-use Elastica\Filter\Term as TermFilter;
-
-class TransportTest extends \PHPUnit_Framework_TestCase
-{
- protected $_max = 1000;
-
- protected $_maxData = 20;
-
- static protected $_results = array();
-
- public static function setUpBeforeClass()
- {
- if (!defined('DEBUG')) {
- define('DEBUG', true);
- } else if (false == DEBUG) {
- self::markTestIncomplete('DEBUG const is set to false, it prevents query time measuring.');
- }
- }
-
- public static function tearDownAfterClass()
- {
- self::printResults();
- }
-
- /**
- * @param array $config
- * @return \Elastica\Type
- */
- protected function getType(array $config)
- {
- $client = new Client($config);
- $index = $client->getIndex('test');
- return $index->getType('test');
- }
-
- /**
- * @dataProvider providerTransport
- */
- public function testAddDocument(array $config, $transport)
- {
- $type = $this->getType($config);
- $index = $type->getIndex();
- $index->create(array(), true);
-
- $times = array();
- for ($i = 0; $i < $this->_max; $i++) {
- $data = $this->getData($i);
- $doc = new Document($i, $data);
- $result = $type->addDocument($doc);
- $times[] = $result->getQueryTime();
- $this->assertTrue($result->isOk());
- }
-
- $index->refresh();
-
- self::logResults('insert', $transport, $times);
- }
-
- /**
- * @depends testAddDocument
- * @dataProvider providerTransport
- */
- public function testRandomRead(array $config, $transport)
- {
- $type = $this->getType($config);
-
- $type->search('test');
-
- $times = array();
- for ($i = 0; $i < $this->_max; $i++) {
- $test = rand(1, $this->_max);
- $query = new Query();
- $query->setQuery(new MatchAllQuery());
- $query->setFilter(new TermFilter(array('test' => $test)));
- $result = $type->search($query);
- $times[] = $result->getResponse()->getQueryTime();
- }
-
- self::logResults('random read', $transport, $times);
- }
-
- /**
- * @depends testAddDocument
- * @dataProvider providerTransport
- */
- public function testBulk(array $config, $transport)
- {
- $type = $this->getType($config);
-
- $times = array();
- for ($i = 0; $i < $this->_max; $i++) {
- $docs = array();
- for ($j = 0; $j < 10; $j++) {
- $data = $this->getData($i . $j);
- $docs[] = new Document($i, $data);
- }
-
- $result = $type->addDocuments($docs);
- $times[] = $result->getQueryTime();
- }
-
- self::logResults('bulk', $transport, $times);
- }
-
- /**
- * @dataProvider providerTransport
- */
- public function testGetMapping(array $config, $transport)
- {
- $client = new Client($config);
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('mappingTest');
-
- // Define mapping
- $mapping = new Mapping();
- $mapping->setParam('_boost', array('name' => '_boost', 'null_value' => 1.0));
- $mapping->setProperties(array(
- 'id' => array('type' => 'integer', 'include_in_all' => FALSE),
- 'user' => array(
- 'type' => 'object',
- 'properties' => array(
- 'name' => array('type' => 'string', 'include_in_all' => TRUE),
- 'fullName' => array('type' => 'string', 'include_in_all' => TRUE)
- ),
- ),
- 'msg' => array('type' => 'string', 'include_in_all' => TRUE),
- 'tstamp' => array('type' => 'date', 'include_in_all' => FALSE),
- 'location'=> array('type' => 'geo_point', 'include_in_all' => FALSE),
- '_boost' => array('type' => 'float', 'include_in_all' => FALSE)
- ));
-
- $type->setMapping($mapping);
- $index->refresh();
-
- $times = array();
- for ($i = 0; $i < $this->_max; $i++) {
- $response = $type->request('_mapping', Request::GET);
- $times[] = $response->getQueryTime();
- }
- self::logResults('get mapping', $transport, $times);
- }
-
- public function providerTransport()
- {
- return array(
- array(
- array(
- 'transport' => 'Http',
- 'host' => 'localhost',
- 'port' => 9200,
- 'persistent' => false,
- ),
- 'Http:NotPersistent'
- ),
- array(
- array(
- 'transport' => 'Http',
- 'host' => 'localhost',
- 'port' => 9200,
- 'persistent' => true,
- ),
- 'Http:Persistent'
- ),
- array(
- array(
- 'transport' => 'Thrift',
- 'host' => 'localhost',
- 'port' => 9500,
- 'config' => array(
- 'framedTransport' => false,
- ),
- ),
- 'Thrift:Buffered'
- ),
- );
- }
-
- /**
- * @param string $test
- * @return array
- */
- protected function getData($test)
- {
- $data = array(
- 'test' => $test,
- 'name' => array(),
- );
- for ($i = 0; $i < $this->_maxData; $i++) {
- $data['name'][] = uniqid();
- }
- return $data;
- }
-
- /**
- * @param $name
- * @param $transport
- * @param array $times
- */
- protected static function logResults($name, $transport, array $times)
- {
- self::$_results[$name][$transport] = array(
- 'count' => count($times),
- 'max' => max($times) * 1000,
- 'min' => min($times) * 1000,
- 'mean' => (array_sum($times) / count($times)) * 1000,
- );
- }
-
- protected static function printResults()
- {
- echo sprintf(
- "\n%-12s | %-20s | %-12s | %-12s | %-12s | %-12s\n\n",
- 'NAME',
- 'TRANSPORT',
- 'COUNT',
- 'MAX',
- 'MIN',
- 'MEAN',
- '%'
- );
- foreach (self::$_results as $name => $values) {
- $means = array();
- foreach ($values as $times) {
- $means[] = $times['mean'];
- }
- $minMean = min($means);
- foreach ($values as $transport => $times) {
- $perc = (($times['mean'] - $minMean) / $minMean) * 100;
- echo sprintf(
- "%-12s | %-20s | %-12d | %-12.2f | %-12.2f | %-12.2f | %+03.2f\n",
- $name,
- $transport,
- $times['count'],
- $times['max'],
- $times['min'],
- $times['mean'],
- $perc
- );
- }
- echo "\n";
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/benchmark/phpunit.benchmark.xml b/vendor/ruflin/elastica/test/benchmark/phpunit.benchmark.xml
deleted file mode 100644
index a530de35..00000000
--- a/vendor/ruflin/elastica/test/benchmark/phpunit.benchmark.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<phpunit backupGlobals="false"
- backupStaticAttributes="false"
- bootstrap="../bootstrap.php"
- colors="true">
- <testsuites>
- <testsuite name="Transport">
- <file>TransportTest.php</file>
- </testsuite>
- </testsuites>
-</phpunit> \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/benchmark/phpunit.xhprof.xml b/vendor/ruflin/elastica/test/benchmark/phpunit.xhprof.xml
deleted file mode 100644
index 2293155a..00000000
--- a/vendor/ruflin/elastica/test/benchmark/phpunit.xhprof.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<phpunit backupGlobals="false"
- backupStaticAttributes="true"
- bootstrap="../bootstrap.php"
- colors="true">
- <testsuites>
- <testsuite name="Transport">
- <file>TransportTest.php</file>
- </testsuite>
- </testsuites>
- <listeners>
- <listener class="PHPUnit_Util_Log_XHProf" file="/home/munkie/Projects/phpunit-testlistener-xhprof/PHPUnit/Util/Log/XHProf.php">
- <arguments>
- <array>
- <element key="xhprofLibFile">
- <string>/var/www/xhprof/xhprof_lib/utils/xhprof_lib.php</string>
- </element>
- <element key="xhprofRunsFile">
- <string>/var/www/xhprof/xhprof_lib/utils/xhprof_runs.php</string>
- </element>
- <element key="xhprofWeb">
- <string>http://xhprof.local/</string>
- </element>
- <element key="appNamespace">
- <string>Elastica</string>
- </element>
- <element key="xhprofFlags">
- <string>XHPROF_FLAGS_CPU,XHPROF_FLAGS_MEMORY</string>
- </element>
- <element key="xhprofConfigFile">
- <string>/var/www/xhprof/xhprof_lib/config.php</string>
- </element>
- <element key="xhprofIgnore">
- <string>call_user_func,call_user_func_array</string>
- </element>
- </array>
- </arguments>
- </listener>
- </listeners>
-</phpunit> \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/bin/install_php_memcache.sh b/vendor/ruflin/elastica/test/bin/install_php_memcache.sh
deleted file mode 100644
index dd046a56..00000000
--- a/vendor/ruflin/elastica/test/bin/install_php_memcache.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-
-# Build and install PHP Memcache extension
-wget http://pecl.php.net/get/memcache-${MEMCACHE_VER}.tgz
-tar -xzf memcache-${MEMCACHE_VER}.tgz
-sh -c "cd memcache-${MEMCACHE_VER} && phpize && ./configure --enable-memcache && make && sudo make install"
-echo "extension=memcache.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
-
diff --git a/vendor/ruflin/elastica/test/bin/run_elasticsearch.sh b/vendor/ruflin/elastica/test/bin/run_elasticsearch.sh
deleted file mode 100644
index ddbbef35..00000000
--- a/vendor/ruflin/elastica/test/bin/run_elasticsearch.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-check_port_http_code() {
- http_code=`echo $(curl -s -o /dev/null -w "%{http_code}" "http://localhost:$1")`
- return `test $http_code = "$2"`
-}
-
-wget http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ES_VER}.tar.gz
-tar -xzf elasticsearch-${ES_VER}.tar.gz
-
-elasticsearch-${ES_VER}/bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/${ES_MAPPER_ATTACHMENTS_VER}
-#elasticsearch-${ES_VER}/bin/plugin -install elasticsearch/elasticsearch-transport-thrift/${ES_TRANSPORT_THRIFT_VER}
-elasticsearch-${ES_VER}/bin/plugin -install geocluster-facet --url https://github.com/zenobase/geocluster-facet/releases/download/${ES_GEOCLUSTER_FACET_VER}/geocluster-facet-${ES_GEOCLUSTER_FACET_VER}.jar
-
-export JAVA_OPTS="-server"
-
-# start 3 elasticsearch instances
-for i in 0 1 2
-do
- echo "Setup node #$i"
-
- let "http_port = 9200 + $i"
- let "thrift_port = 9500 + $i"
-
- config_yml=elasticsearch-${ES_VER}/config/elasticsearch-$http_port.yml
-
- echo "Creating config $config_yml"
-
- cp elasticsearch-${ES_VER}/config/elasticsearch.yml $config_yml
-
- echo "index.number_of_shards: 2" >> $config_yml
- echo "index.number_of_replicas: 0" >> $config_yml
- echo "discovery.zen.ping.multicast.enabled: false" >> $config_yml
- echo "http.port: $http_port" >> $config_yml
- echo "thrift.port: $thrift_port" >> $config_yml
-
- # enable udp
- echo "bulk.udp.enabled: true" >> $config_yml
- echo "bulk.udp.bulk_actions: 5" >> $config_yml
-
- # enable dynamic scripting
- echo "script.disable_dynamic: false" >> $config_yml
-
- echo "Starting server on http port: $http_port"
-
- elasticsearch-${ES_VER}/bin/elasticsearch -d -Des.config=$config_yml &
-
- while ! check_port_http_code $http_port 200; do
- echo -n "."
- sleep 2s
- done
- echo ""
- echo "Server #$i is up"
-done
-
-echo "three elasticsearch nodes are up"
diff --git a/vendor/ruflin/elastica/test/bin/run_proxy.sh b/vendor/ruflin/elastica/test/bin/run_proxy.sh
deleted file mode 100644
index c62db8cd..00000000
--- a/vendor/ruflin/elastica/test/bin/run_proxy.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-sudo killall nginx 2>/dev/null
-
-echo "installing nginx"
-
-sudo apt-get install nginx
-
-echo "stopping stock nginx"
-
-/etc/init.d/nginx stop
-
-echo "running nginx"
-
-sudo nginx -p test/nginx/ -c nginx.conf
diff --git a/vendor/ruflin/elastica/test/bin/show_logs.sh b/vendor/ruflin/elastica/test/bin/show_logs.sh
deleted file mode 100644
index 0130d2a5..00000000
--- a/vendor/ruflin/elastica/test/bin/show_logs.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-cat elasticsearch-${ES_VER}/logs/* \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/bootstrap.php b/vendor/ruflin/elastica/test/bootstrap.php
deleted file mode 100644
index 5903f805..00000000
--- a/vendor/ruflin/elastica/test/bootstrap.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-defined('BASE_PATH') || define('BASE_PATH', realpath(__DIR__));
-
-require dirname(__DIR__) . '/vendor/autoload.php';
diff --git a/vendor/ruflin/elastica/test/data/test.doc b/vendor/ruflin/elastica/test/data/test.doc
deleted file mode 100644
index d90d83c1..00000000
--- a/vendor/ruflin/elastica/test/data/test.doc
+++ /dev/null
Binary files differ
diff --git a/vendor/ruflin/elastica/test/data/test.docx b/vendor/ruflin/elastica/test/data/test.docx
deleted file mode 100644
index 924c1066..00000000
--- a/vendor/ruflin/elastica/test/data/test.docx
+++ /dev/null
Binary files differ
diff --git a/vendor/ruflin/elastica/test/data/test.pdf b/vendor/ruflin/elastica/test/data/test.pdf
deleted file mode 100644
index e94c3f67..00000000
--- a/vendor/ruflin/elastica/test/data/test.pdf
+++ /dev/null
Binary files differ
diff --git a/vendor/ruflin/elastica/test/data/test.txt b/vendor/ruflin/elastica/test/data/test.txt
deleted file mode 100644
index 839b72a1..00000000
--- a/vendor/ruflin/elastica/test/data/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-Wie geht es ihnen? \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/AvgTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/AvgTest.php
deleted file mode 100644
index 5c6fe13d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/AvgTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Avg;
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query;
-
-class AvgTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('avg');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testAvgAggregation()
- {
- $agg = new Avg("avg");
- $agg->setField('price');
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregations();
- $this->assertEquals((5 + 8 + 1 + 3) / 4.0, $results['avg']['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/BaseAggregationTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/BaseAggregationTest.php
deleted file mode 100644
index 5569ca78..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/BaseAggregationTest.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Index;
-use Elastica\Test\Base;
-
-abstract class BaseAggregationTest extends Base
-{
- /**
- * @var Index
- */
- protected $_index;
-
- protected function tearDown()
- {
- parent::tearDown();
- if ($this->_index instanceof Index) {
- $this->_index->delete();
- }
- }
-
- protected function _createIndex($name = 'test', $delete = true, $shards = 1)
- {
- return parent::_createIndex('test_aggregation_' . $name, $delete, $shards);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/CardinalityTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/CardinalityTest.php
deleted file mode 100644
index d2f4d2be..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/CardinalityTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Cardinality;
-use Elastica\Document;
-use Elastica\Query;
-
-class CardinalityTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("cardinality");
- $docs = array(
- new Document("1", array("color" => "blue")),
- new Document("2", array("color" => "blue")),
- new Document("3", array("color" => "red")),
- new Document("4", array("color" => "green")),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testCardinalityAggregation()
- {
- $agg = new Cardinality("cardinality");
- $agg->setField("color");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("cardinality");
-
- $this->assertEquals(3, $results['value']);
- }
-}
-
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateHistogramTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateHistogramTest.php
deleted file mode 100644
index d5bd878c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateHistogramTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\DateHistogram;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class DateHistogramTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("date_histogram");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "created" => array("type" => "date")
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array("created" => 1390962135000)),
- new Document("2", array("created" => 1390965735000)),
- new Document("3", array("created" => 1390954935000)),
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testDateHistogramAggregation()
- {
- $agg = new DateHistogram("hist", "created", "1h");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("hist");
-
- $this->assertEquals(3, sizeof($results['buckets']));
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateRangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateRangeTest.php
deleted file mode 100644
index 781f2112..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/DateRangeTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\DateRange;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class DateRangeTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("date_range");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "created" => array("type" => "date")
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array("created" => 1390962135000)),
- new Document("2", array("created" => 1390965735000)),
- new Document("3", array("created" => 1390954935000)),
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testDateRangeAggregation()
- {
- $agg = new DateRange("date");
- $agg->setField("created");
- $agg->addRange(1390958535000)->addRange(null, 1390958535000);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("date");
-
- foreach ($results['buckets'] as $bucket) {
- if (array_key_exists('to', $bucket)) {
- $this->assertEquals(1, $bucket['doc_count']);
- } else if (array_key_exists('from', $bucket)) {
- $this->assertEquals(2, $bucket['doc_count']);
- }
- }
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ExtendedStatsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ExtendedStatsTest.php
deleted file mode 100644
index e125c9c9..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ExtendedStatsTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\ExtendedStats;
-use Elastica\Document;
-use Elastica\Query;
-
-class ExtendedStatsTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("extended_stats");
- $docs = array(
- new Document("1", array("price" => 5)),
- new Document("2", array("price" => 8)),
- new Document("3", array("price" => 1)),
- new Document("4", array("price" => 3)),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testExtendedStatsAggregation()
- {
- $agg = new ExtendedStats("stats");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("stats");
-
- $this->assertEquals(4, $results['count']);
- $this->assertEquals(1, $results['min']);
- $this->assertEquals(8, $results['max']);
- $this->assertEquals((5 + 8 + 1 + 3) / 4.0, $results['avg']);
- $this->assertEquals((5 + 8 + 1 + 3), $results['sum']);
- $this->assertTrue(array_key_exists('sum_of_squares', $results));
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/FilterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/FilterTest.php
deleted file mode 100644
index dd4d4c2d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/FilterTest.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Avg;
-use Elastica\Aggregation\Filter;
-use Elastica\Document;
-use Elastica\Filter\Range;
-use Elastica\Filter\Term;
-use Elastica\Query;
-
-class FilterTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("filter");
- $docs = array(
- new Document("1", array("price" => 5, "color" => "blue")),
- new Document("2", array("price" => 8, "color" => "blue")),
- new Document("3", array("price" => 1, "color" => "red")),
- new Document("4", array("price" => 3, "color" => "green")),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testToArray()
- {
- $expected = array(
- "filter" => array("range" => array("stock" => array("gt" => 0))),
- "aggs" => array(
- "avg_price" => array("avg" => array("field" => "price"))
- )
- );
-
- $agg = new Filter("in_stock_products");
- $agg->setFilter(new Range("stock", array("gt" => 0)));
- $avg = new Avg("avg_price");
- $avg->setField("price");
- $agg->addAggregation($avg);
-
- $this->assertEquals($expected, $agg->toArray());
- }
-
- public function testFilterAggregation()
- {
- $agg = new Filter("filter");
- $agg->setFilter(new Term(array("color" => "blue")));
- $avg = new Avg("price");
- $avg->setField("price");
- $agg->addAggregation($avg);
-
- $query = new Query();
- $query->addAggregation($agg);
-
- $results = $this->_index->search($query)->getAggregation("filter");
- $results = $results['price']['value'];
-
- $this->assertEquals((5 + 8) / 2.0, $results);
- }
-
- public function testFilterNoSubAggregation()
- {
- $agg = new Avg("price");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
-
- $results = $this->_index->search($query)->getAggregation("price");
- $results = $results['value'];
-
- $this->assertEquals((5 + 8 + 1 + 3) / 4.0, $results);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeoDistanceTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeoDistanceTest.php
deleted file mode 100644
index 7fd677b1..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeoDistanceTest.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\GeoDistance;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class GeoDistanceTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("geo_distance");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "location" => array("type" => "geo_point")
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array("location" => array("lat" => 32.849437, "lon" => -117.271732))),
- new Document("2", array("location" => array("lat" => 32.798320, "lon" => -117.246648))),
- new Document("3", array("location" => array("lat" => 37.782439, "lon" => -122.392560))),
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testGeoDistanceAggregation()
- {
- $agg = new GeoDistance("geo", "location", array("lat" => 32.804654, "lon" => -117.242594));
- $agg->addRange(null, 100);
- $agg->setUnit("mi");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("geo");
-
- $this->assertEquals(2, $results['buckets'][0]['doc_count']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeohashGridTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeohashGridTest.php
deleted file mode 100644
index 38a047f7..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GeohashGridTest.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\GeohashGrid;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class GeohashGridTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("geohash_grid");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "location" => array("type" => "geo_point")
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array("location" => array("lat" => 32.849437, "lon" => -117.271732))),
- new Document("2", array("location" => array("lat" => 32.798320, "lon" => -117.246648))),
- new Document("3", array("location" => array("lat" => 37.782439, "lon" => -122.392560))),
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testGeohashGridAggregation()
- {
- $agg = new GeohashGrid("hash", "location");
- $agg->setPrecision(3);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("hash");
-
- $this->assertEquals(2, $results['buckets'][0]['doc_count']);
- $this->assertEquals(1, $results['buckets'][1]['doc_count']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GlobalAggregationTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GlobalAggregationTest.php
deleted file mode 100644
index 80366f50..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/GlobalAggregationTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Avg;
-use Elastica\Aggregation\GlobalAggregation;
-
-class GlobalAggregationTest extends BaseAggregationTest
-{
- public function testToArray()
- {
- $expected = array(
- "global" => new \stdClass(),
- "aggs" => array(
- "avg_price" => array("avg" => array("field" => "price"))
- )
- );
-
- $agg = new GlobalAggregation("all_products");
- $avg = new Avg("avg_price");
- $avg->setField("price");
- $agg->addAggregation($avg);
- $this->assertEquals($expected, $agg->toArray());
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/HistogramTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/HistogramTest.php
deleted file mode 100644
index 35032f43..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/HistogramTest.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Document;
-use Elastica\Aggregation\Histogram;
-use Elastica\Query;
-
-class HistogramTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("histogram");
- $docs = array(
- new Document("1", array("price" => 5, "color" => "blue")),
- new Document("2", array("price" => 8, "color" => "blue")),
- new Document("3", array("price" => 1, "color" => "red")),
- new Document("4", array("price" => 30, "color" => "green")),
- new Document("5", array("price" => 40, "color" => "red")),
- new Document("6", array("price" => 35, "color" => "green")),
- new Document("7", array("price" => 42, "color" => "red")),
- new Document("8", array("price" => 41, "color" => "blue")),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testHistogramAggregation()
- {
- $agg = new Histogram("hist", "price", 10);
- $agg->setMinimumDocumentCount(0); // should return empty buckets
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("hist");
-
- $buckets = $results['buckets'];
- $this->assertEquals(5, sizeof($buckets));
- $this->assertEquals(30, $buckets[3]['key']);
- $this->assertEquals(2, $buckets[3]['doc_count']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/IpRangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/IpRangeTest.php
deleted file mode 100644
index fce6f857..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/IpRangeTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\IpRange;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class IpRangeTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("ip_range");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "address" => array("type" => "ip")
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array("address" => "192.168.1.100")),
- new Document("2", array("address" => "192.168.1.150")),
- new Document("3", array("address" => "192.168.1.200")),
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testIpRangeAggregation()
- {
- $agg = new IpRange("ip", "address");
- $agg->addRange("192.168.1.101");
- $agg->addRange(null, "192.168.1.200");
-
- $cidrRange = "192.168.1.0/24";
- $agg->addMaskRange($cidrRange);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("ip");
-
- foreach ($results['buckets'] as $bucket) {
- if (array_key_exists('key', $bucket) && $bucket['key'] == $cidrRange) {
- // the CIDR mask
- $this->assertEquals(3, $bucket['doc_count']);
- } else {
- // the normal ip ranges
- $this->assertEquals(2, $bucket['doc_count']);
- }
- }
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MaxTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MaxTest.php
deleted file mode 100644
index 0f5475b3..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MaxTest.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Max;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Script;
-
-class MaxTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('max');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testToArray()
- {
- $expected = array(
- "max" => array(
- "field" => "price",
- "script" => "_value * conversion_rate",
- "params" => array(
- "conversion_rate" => 1.2
- )
- ),
- "aggs" => array(
- "subagg" => array("max" => array("field" => "foo"))
- )
- );
-
- $agg = new Max("min_price_in_euros");
- $agg->setField("price");
- $agg->setScript(new Script("_value * conversion_rate", array('conversion_rate' => 1.2)));
- $max = new Max("subagg");
- $max->setField("foo");
- $agg->addAggregation($max);
-
- $this->assertEquals($expected, $agg->toArray());
- }
-
- public function testMaxAggregation()
- {
- $agg = new Max("min_price");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("min_price");
-
- $this->assertEquals(8, $results['value']);
-
- // test using a script
- $agg->setScript(new Script("_value * conversion_rate", array("conversion_rate" => 1.2)));
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("min_price");
-
- $this->assertEquals(8 * 1.2, $results['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MinTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MinTest.php
deleted file mode 100644
index 44b52fb4..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MinTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Min;
-use Elastica\Document;
-use Elastica\Query;
-
-class MinTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('min');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testMinAggregation()
- {
- $agg = new Min("min_price");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("min_price");
-
- $this->assertEquals(1, $results['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MissingTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MissingTest.php
deleted file mode 100644
index 2a852ed0..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/MissingTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Missing;
-use Elastica\Document;
-use Elastica\Query;
-
-class MissingTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('missing');
- $docs = array(
- new Document('1', array('price' => 5, "color" => "blue")),
- new Document('2', array('price' => 8, "color" => "blue")),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3, "color" => "green")),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testMissingAggregation()
- {
- $agg = new Missing("missing", "color");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("missing");
-
- $this->assertEquals(1, $results['doc_count']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/NestedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/NestedTest.php
deleted file mode 100644
index ed6de99e..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/NestedTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Min;
-use Elastica\Aggregation\Nested;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class NestedTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("nested");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "resellers" => array(
- "type" => "nested",
- "properties" => array(
- "name" => array("type" => "string"),
- "price" => array("type" => "double")
- )
- )
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array(
- "resellers" => array(
- "name" => "spacely sprockets",
- "price" => 5.55
- )
- )),
- new Document("1", array(
- "resellers" => array(
- "name" => "cogswell cogs",
- "price" => 4.98
- )
- ))
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testNestedAggregation()
- {
- $agg = new Nested("resellers", "resellers");
- $min = new Min("min_price");
- $min->setField("price");
- $agg->addAggregation($min);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("resellers");
-
- $this->assertEquals(4.98, $results['min_price']['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/RangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/RangeTest.php
deleted file mode 100644
index fb5ca2fe..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/RangeTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Range;
-use Elastica\Document;
-use Elastica\Query;
-
-class RangeTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('range');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- new Document('5', array('price' => 1.5)),
- new Document('6', array('price' => 2)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testRangeAggregation()
- {
- $agg = new Range("range");
- $agg->setField("price");
- $agg->addRange(1.5, 5);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("range");
-
- $this->assertEquals(2, $results['buckets'][0]['doc_count']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ReverseNestedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ReverseNestedTest.php
deleted file mode 100644
index 215dac63..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ReverseNestedTest.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-use Elastica\Aggregation\Terms;
-use Elastica\Aggregation\Nested;
-use Elastica\Aggregation\ReverseNested;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Type\Mapping;
-
-class ReverseNestedTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("nested");
- $mapping = new Mapping();
- $mapping->setProperties(array(
- "comments" => array(
- "type" => "nested",
- "properties" => array(
- "name" => array("type" => "string"),
- "body" => array("type" => "string")
- )
- )
- ));
- $type = $this->_index->getType("test");
- $type->setMapping($mapping);
- $docs = array(
- new Document("1", array(
- "comments" => array(
- array(
- "name" => "bob",
- "body" => "this is bobs comment",
- ),
- array(
- "name" => "john",
- "body" => "this is johns comment",
- ),
- ),
- "tags" => array("foo", "bar"),
- )),
- new Document("2", array(
- "comments" => array(
- array(
- "name" => "bob",
- "body" => "this is another comment from bob",
- ),
- array(
- "name" => "susan",
- "body" => "this is susans comment",
- ),
- ),
- "tags" => array("foo", "baz"),
- ))
- );
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testPathNotSetIfNull()
- {
- $agg = new ReverseNested('nested');
- $this->assertFalse($agg->hasParam('path'));
- }
-
- public function testPathSetIfNotNull()
- {
- $agg = new ReverseNested('nested', 'some_field');
- $this->assertEquals('some_field', $agg->getParam('path'));
- }
-
- public function testReverseNestedAggregation()
- {
- $agg = new Nested("comments", "comments");
- $names = new Terms("name");
- $names->setField("comments.name");
-
- $tags = new Terms("tags");
- $tags->setField("tags");
-
- $reverseNested = new ReverseNested("main");
- $reverseNested->addAggregation($tags);
-
- $names->addAggregation($reverseNested);
-
- $agg->addAggregation($names);
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("comments");
-
- $this->assertArrayHasKey('name', $results);
- $nameResults = $results['name'];
-
- $this->assertCount(3, $nameResults['buckets']);
-
- // bob
- $this->assertEquals('bob', $nameResults['buckets'][0]['key']);
- $tags = array(
- array('key' => 'foo', 'doc_count' => 2),
- array('key' => 'bar', 'doc_count' => 1),
- array('key' => 'baz', 'doc_count' => 1),
- );
- $this->assertEquals($tags, $nameResults['buckets'][0]['main']['tags']['buckets']);
-
- // john
- $this->assertEquals('john', $nameResults['buckets'][1]['key']);
- $tags = array(
- array('key' => 'bar', 'doc_count' => 1),
- array('key' => 'foo', 'doc_count' => 1),
- );
- $this->assertEquals($tags, $nameResults['buckets'][1]['main']['tags']['buckets']);
-
- // susan
- $this->assertEquals('susan', $nameResults['buckets'][2]['key']);
- $tags = array(
- array('key' => 'baz', 'doc_count' => 1),
- array('key' => 'foo', 'doc_count' => 1),
- );
- $this->assertEquals($tags, $nameResults['buckets'][2]['main']['tags']['buckets']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/StatsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/StatsTest.php
deleted file mode 100644
index 2d315abf..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/StatsTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Stats;
-use Elastica\Document;
-use Elastica\Query;
-
-class StatsTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('stats');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testStatsAggregation()
- {
- $agg = new Stats("stats");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("stats");
-
- $this->assertEquals(4, $results['count']);
- $this->assertEquals(1, $results['min']);
- $this->assertEquals(8, $results['max']);
- $this->assertEquals((5 + 8 + 1 + 3) / 4.0, $results['avg']);
- $this->assertEquals((5 + 8 + 1 + 3), $results['sum']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/SumTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/SumTest.php
deleted file mode 100644
index 3b3c56a2..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/SumTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Sum;
-use Elastica\Document;
-use Elastica\Query;
-
-class SumTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('sum');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testSumAggregation()
- {
- $agg = new Sum("sum");
- $agg->setField("price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("sum");
-
- $this->assertEquals(5 + 8 + 1 + 3, $results['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/TermsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/TermsTest.php
deleted file mode 100644
index d9f37a20..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/TermsTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\Terms;
-use Elastica\Document;
-use Elastica\Query;
-
-class TermsTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("terms");
- $docs = array(
- new Document("1", array("color" => "blue")),
- new Document("2", array("color" => "blue")),
- new Document("3", array("color" => "red")),
- new Document("4", array("color" => "green")),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testTermsAggregation()
- {
- $agg = new Terms("terms");
- $agg->setField("color");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("terms");
-
- $this->assertEquals(2, $results['buckets'][0]['doc_count']);
- $this->assertEquals("blue", $results['buckets'][0]['key']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ValueCountTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ValueCountTest.php
deleted file mode 100644
index 5eba9ea4..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Aggregation/ValueCountTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Elastica\Test\Aggregation;
-
-
-use Elastica\Aggregation\ValueCount;
-use Elastica\Document;
-use Elastica\Query;
-
-class ValueCountTest extends BaseAggregationTest
-{
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('value_count');
- $docs = array(
- new Document('1', array('price' => 5)),
- new Document('2', array('price' => 8)),
- new Document('3', array('price' => 1)),
- new Document('4', array('price' => 3)),
- new Document('5', array('price' => 3)),
- );
- $this->_index->getType('test')->addDocuments($docs);
- $this->_index->refresh();
- }
-
- public function testValueCountAggregation()
- {
- $agg = new ValueCount("count", "price");
-
- $query = new Query();
- $query->addAggregation($agg);
- $results = $this->_index->search($query)->getAggregation("count");
-
- $this->assertEquals(5, $results['value']);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Base.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Base.php
deleted file mode 100644
index 55cd8873..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Base.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-
-class Base extends \PHPUnit_Framework_TestCase
-{
- protected function _getClient()
- {
- return new Client(array(
- 'host' => getenv('ES_HOST') ?: 'localhost',
- 'port' => getenv('ES_PORT') ?: 9200,
- ));
- }
-
- /**
- * @param string $name Index name
- * @param bool $delete Delete index if it exists
- * @param int $shards Number of shards to create
- * @return \Elastica\Index
- */
- protected function _createIndex($name = 'test', $delete = true, $shards = 1)
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_' . $name);
- $index->create(array('index' => array('number_of_shards' => $shards, 'number_of_replicas' => 0)), $delete);
-
- return $index;
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ActionTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ActionTest.php
deleted file mode 100644
index 178883a8..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ActionTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Elastica\Test\Bulk;
-
-use Elastica\Bulk\Action;
-use Elastica\Bulk;
-use Elastica\Client;
-use Elastica\Exception\Bulk\ResponseException;
-use Elastica\Index;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Bulk\ResponseSet;
-use Elastica\Response;
-use Elastica\Type;
-
-class ActionTest extends BaseTest
-{
- public function testAction()
- {
- $action = new Action();
- $this->assertEquals('index', $action->getOpType());
- $this->assertFalse($action->hasSource());
-
- $expected = '{"index":{}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setIndex('index');
-
- $expected = '{"index":{"_index":"index"}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setType('type');
-
- $expected = '{"index":{"_index":"index","_type":"type"}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setId(1);
- $expected = '{"index":{"_index":"index","_type":"type","_id":1}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setRouting(1);
- $expected = '{"index":{"_index":"index","_type":"type","_id":1,"_routing":1}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $client = new Client();
- $index = new Index($client, 'index2');
- $type = new Type($index, 'type2');
-
- $action->setIndex($index);
-
- $expected = '{"index":{"_index":"index2","_type":"type","_id":1,"_routing":1}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setType($type);
-
- $expected = '{"index":{"_index":"index2","_type":"type2","_id":1,"_routing":1}}' . "\n";
- $this->assertEquals($expected, $action->toString());
-
- $action->setSource(array('user' => 'name'));
-
- $expected = '{"index":{"_index":"index2","_type":"type2","_id":1,"_routing":1}}' . "\n";
- $expected.= '{"user":"name"}' . "\n";
-
- $this->assertEquals($expected, $action->toString());
- $this->assertTrue($action->hasSource());
-
- $this->assertFalse(Action::isValidOpType('foo'));
- $this->assertTrue(Action::isValidOpType('delete'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ResponseSetTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ResponseSetTest.php
deleted file mode 100644
index d1495fce..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Bulk/ResponseSetTest.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-
-namespace Elastica\Test\Bulk;
-
-use Elastica\Bulk\Action;
-use Elastica\Bulk;
-use Elastica\Exception\Bulk\ResponseException;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Bulk\ResponseSet;
-use Elastica\Response;
-
-class ResponseSetTest extends BaseTest
-{
- /**
- * @dataProvider isOkDataProvider
- */
- public function testIsOk($responseData, $actions, $expected)
- {
- $responseSet = $this->_createResponseSet($responseData, $actions);
- $this->assertEquals($expected, $responseSet->isOk());
- }
-
- public function testGetError()
- {
- list($responseData, $actions) = $this->_getFixture();
- $responseData['items'][1]['index']['ok'] = false;
- $responseData['items'][1]['index']['error'] = 'SomeExceptionMessage';
- $responseData['items'][2]['index']['ok'] = false;
- $responseData['items'][2]['index']['error'] = 'AnotherExceptionMessage';
-
- try {
- $this->_createResponseSet($responseData, $actions);
- $this->fail('Bulk request should fail');
- } catch (ResponseException $e) {
- $responseSet = $e->getResponseSet();
-
- $this->assertInstanceOf('Elastica\\Bulk\\ResponseSet', $responseSet);
-
- $this->assertTrue($responseSet->hasError());
- $this->assertNotEquals('AnotherExceptionMessage', $responseSet->getError());
- $this->assertEquals('SomeExceptionMessage', $responseSet->getError());
-
- $actionExceptions = $e->getActionExceptions();
- $this->assertEquals(2, count($actionExceptions));
-
- $this->assertInstanceOf('Elastica\Exception\Bulk\Response\ActionException', $actionExceptions[0]);
- $this->assertSame($actions[1], $actionExceptions[0]->getAction());
- $this->assertContains('SomeExceptionMessage', $actionExceptions[0]->getMessage());
- $this->assertTrue($actionExceptions[0]->getResponse()->hasError());
-
- $this->assertInstanceOf('Elastica\Exception\Bulk\Response\ActionException', $actionExceptions[1]);
- $this->assertSame($actions[2], $actionExceptions[1]->getAction());
- $this->assertContains('AnotherExceptionMessage', $actionExceptions[1]->getMessage());
- $this->assertTrue($actionExceptions[1]->getResponse()->hasError());
- }
- }
-
- public function testGetBulkResponses()
- {
- list($responseData, $actions) = $this->_getFixture();
-
- $responseSet = $this->_createResponseSet($responseData, $actions);
-
- $bulkResponses = $responseSet->getBulkResponses();
- $this->assertInternalType('array', $bulkResponses);
- $this->assertEquals(3, count($bulkResponses));
-
- foreach ($bulkResponses as $i => $bulkResponse) {
- $this->assertInstanceOf('Elastica\\Bulk\\Response', $bulkResponse);
- $bulkResponseData = $bulkResponse->getData();
- $this->assertInternalType('array', $bulkResponseData);
- $this->assertArrayHasKey('_id', $bulkResponseData);
- $this->assertEquals($responseData['items'][$i]['index']['_id'], $bulkResponseData['_id']);
- $this->assertSame($actions[$i], $bulkResponse->getAction());
- $this->assertEquals('index', $bulkResponse->getOpType());
- }
- }
-
- public function testIterator()
- {
- list($responseData, $actions) = $this->_getFixture();
-
- $responseSet = $this->_createResponseSet($responseData, $actions);
-
- $this->assertEquals(3, count($responseSet));
-
- foreach ($responseSet as $i => $bulkResponse) {
- $this->assertInstanceOf('Elastica\Bulk\Response', $bulkResponse);
- $bulkResponseData = $bulkResponse->getData();
- $this->assertInternalType('array', $bulkResponseData);
- $this->assertArrayHasKey('_id', $bulkResponseData);
- $this->assertEquals($responseData['items'][$i]['index']['_id'], $bulkResponseData['_id']);
- $this->assertSame($actions[$i], $bulkResponse->getAction());
- $this->assertEquals('index', $bulkResponse->getOpType());
- }
-
- $this->assertFalse($responseSet->valid());
- $this->assertNotInstanceOf('Elastica\Bulk\Response', $responseSet->current());
- $this->assertFalse($responseSet->current());
-
- $responseSet->next();
-
- $this->assertFalse($responseSet->valid());
- $this->assertNotInstanceOf('Elastica\Bulk\Response', $responseSet->current());
- $this->assertFalse($responseSet->current());
-
- $responseSet->rewind();
-
- $this->assertEquals(0, $responseSet->key());
- $this->assertTrue($responseSet->valid());
- $this->assertInstanceOf('Elastica\Bulk\Response', $responseSet->current());
- }
-
- public function isOkDataProvider()
- {
- list($responseData, $actions) = $this->_getFixture();
-
- $return = array();
- $return[] = array($responseData, $actions, true);
- $responseData['items'][2]['index']['ok'] = false;
- $return[] = array($responseData, $actions, false);
- return $return;
- }
-
- /**
- * @param array $responseData
- * @param array $actions
- * @return \Elastica\Bulk\ResponseSet
- */
- protected function _createResponseSet(array $responseData, array $actions)
- {
- $client = $this->getMock('Elastica\\Client', array('request'));
-
- $client->expects($this->once())
- ->method('request')
- ->withAnyParameters()
- ->will($this->returnValue(new Response($responseData)));
-
- $bulk = new Bulk($client);
- $bulk->addActions($actions);
- return $bulk->send();
- }
-
- /**
- * @return array
- */
- protected function _getFixture()
- {
- $responseData = array(
- 'took' => 5,
- 'items' => array(
- array(
- 'index' => array(
- '_index' => 'index',
- '_type' => 'type',
- '_id' => '1',
- '_version' => 1,
- 'ok' => true,
- )
- ),
- array(
- 'index' => array(
- '_index' => 'index',
- '_type' => 'type',
- '_id' => '2',
- '_version' => 1,
- 'ok' => true,
- )
- ),
- array(
- 'index' => array(
- '_index' => 'index',
- '_type' => 'type',
- '_id' => '3',
- '_version' => 1,
- 'ok' => true,
- )
- )
- )
- );
- $bulkResponses = array(
- new Action(),
- new Action(),
- new Action(),
- );
- return array($responseData, $bulkResponses);
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/BulkTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/BulkTest.php
deleted file mode 100644
index 3396fe86..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/BulkTest.php
+++ /dev/null
@@ -1,711 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Bulk;
-use Elastica\Bulk\Action;
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Exception\Bulk\ResponseException;
-use Elastica\Exception\InvalidException;
-use Elastica\Exception\NotFoundException;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Bulk\Action\AbstractDocument;
-use Elastica\Filter\Script;
-
-class BulkTest extends BaseTest
-{
-
- public function testSend()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $type2 = $index->getType('bulk_test2');
- $client = $index->getClient();
-
- $newDocument1 = $type->createDocument(1, array('name' => 'Mister Fantastic'));
- $newDocument2 = new Document(2, array('name' => 'Invisible Woman'));
- $newDocument3 = $type->createDocument(3, array('name' => 'The Human Torch'));
- $newDocument4 = $type->createDocument(null, array('name' => 'The Thing'));
-
- $newDocument1->setPercolate('*');
- $newDocument3->setOpType(Document::OP_TYPE_CREATE);
-
- $documents = array(
- $newDocument1,
- $newDocument2,
- $newDocument3,
- $newDocument4
- );
-
- $bulk = new Bulk($client);
- $bulk->setType($type2);
- $bulk->addDocuments($documents);
-
- $actions = $bulk->getActions();
-
- $this->assertInstanceOf('Elastica\Bulk\Action\IndexDocument', $actions[0]);
- $this->assertEquals('index', $actions[0]->getOpType());
- $this->assertSame($newDocument1, $actions[0]->getDocument());
-
- $this->assertInstanceOf('Elastica\Bulk\Action\IndexDocument', $actions[1]);
- $this->assertEquals('index', $actions[1]->getOpType());
- $this->assertSame($newDocument2, $actions[1]->getDocument());
-
- $this->assertInstanceOf('Elastica\Bulk\Action\CreateDocument', $actions[2]);
- $this->assertEquals('create', $actions[2]->getOpType());
- $this->assertSame($newDocument3, $actions[2]->getDocument());
-
- $this->assertInstanceOf('Elastica\Bulk\Action\IndexDocument', $actions[3]);
- $this->assertEquals('index', $actions[3]->getOpType());
- $this->assertSame($newDocument4, $actions[3]->getDocument());
-
- $data = $bulk->toArray();
-
- $expected = array(
- array('index' => array('_index' => 'elastica_test', '_type' => 'bulk_test', '_id' => 1, '_percolate' => '*')),
- array('name' => 'Mister Fantastic'),
- array('index' => array('_id' => 2)),
- array('name' => 'Invisible Woman'),
- array('create' => array('_index' => 'elastica_test', '_type' => 'bulk_test', '_id' => 3)),
- array('name' => 'The Human Torch'),
- array('index' => array('_index' => 'elastica_test', '_type' => 'bulk_test')),
- array('name' => 'The Thing'),
- );
- $this->assertEquals($expected, $data);
-
- $expected = '{"index":{"_index":"elastica_test","_type":"bulk_test","_id":1,"_percolate":"*"}}
-{"name":"Mister Fantastic"}
-{"index":{"_id":2}}
-{"name":"Invisible Woman"}
-{"create":{"_index":"elastica_test","_type":"bulk_test","_id":3}}
-{"name":"The Human Torch"}
-{"index":{"_index":"elastica_test","_type":"bulk_test"}}
-{"name":"The Thing"}
-';
-
- $expected = str_replace(PHP_EOL, "\n", $expected);
- $this->assertEquals($expected, (string)str_replace(PHP_EOL, "\n", (string)$bulk));
-
- $response = $bulk->send();
-
- $this->assertInstanceOf('Elastica\Bulk\ResponseSet', $response);
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- foreach ($response as $i => $bulkResponse) {
- $this->assertInstanceOf('Elastica\Bulk\Response', $bulkResponse);
- $this->assertTrue($bulkResponse->isOk());
- $this->assertFalse($bulkResponse->hasError());
- $this->assertSame($actions[$i], $bulkResponse->getAction());
- }
-
- $type->getIndex()->refresh();
- $type2->getIndex()->refresh();
-
- $this->assertEquals(3, $type->count());
- $this->assertEquals(1, $type2->count());
-
-
- $bulk = new Bulk($client);
- $bulk->addDocument($newDocument3, Action::OP_TYPE_DELETE);
-
- $data = $bulk->toArray();
-
- $expected = array(
- array('delete' => array('_index' => 'elastica_test', '_type' => 'bulk_test', '_id' => 3)),
- );
- $this->assertEquals($expected, $data);
-
- $bulk->send();
-
- $type->getIndex()->refresh();
-
- $this->assertEquals(2, $type->count());
-
- try {
- $type->getDocument(3);
- $this->fail('Document #3 should be deleted');
- } catch (NotFoundException $e) {
- $this->assertTrue(true);
- }
- }
-
- public function testUnicodeBulkSend()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $type2 = $index->getType('bulk_test2');
- $client = $index->getClient();
-
- $newDocument1 = $type->createDocument(1, array('name' => 'Сегодня, я вижу, особенно грустен твой взгляд,'));
- $newDocument2 = new Document(2, array('name' => 'И руки особенно тонки, колени обняв.'));
- $newDocument3 = $type->createDocument(3, array('name' => 'Послушай: далеко, далеко, на озере Чад / Изысканный бродит жираф.'));
-
- $documents = array(
- $newDocument1,
- $newDocument2,
- $newDocument3
- );
-
- $bulk = new Bulk($client);
- $bulk->setType($type2);
- $bulk->addDocuments($documents);
-
- $actions = $bulk->getActions();
-
- $this->assertSame($newDocument1, $actions[0]->getDocument());
- $this->assertSame($newDocument2, $actions[1]->getDocument());
- $this->assertSame($newDocument3, $actions[2]->getDocument());
- }
-
- public function testSetIndexType()
- {
- $client = new Client();
- $index = $client->getIndex('index');
- $type = $index->getType('type');
-
- $index2 = $client->getIndex('index2');
- $type2 = $index2->getType('type2');
-
- $bulk = new Bulk($client);
-
- $this->assertFalse($bulk->hasIndex());
- $this->assertFalse($bulk->hasType());
-
- $bulk->setIndex($index);
- $this->assertTrue($bulk->hasIndex());
- $this->assertFalse($bulk->hasType());
- $this->assertEquals('index', $bulk->getIndex());
-
- $bulk->setType($type2);
- $this->assertTrue($bulk->hasIndex());
- $this->assertTrue($bulk->hasType());
- $this->assertEquals('index2', $bulk->getIndex());
- $this->assertEquals('type2', $bulk->getType());
-
- $bulk->setType($type);
- $this->assertTrue($bulk->hasIndex());
- $this->assertTrue($bulk->hasType());
- $this->assertEquals('index', $bulk->getIndex());
- $this->assertEquals('type', $bulk->getType());
-
- $bulk->setIndex($index2);
- $this->assertTrue($bulk->hasIndex());
- $this->assertTrue($bulk->hasType());
- $this->assertEquals('index2', $bulk->getIndex());
- $this->assertEquals('type', $bulk->getType());
- }
-
- public function testAddActions()
- {
- $client = new Client();
- $bulk = new Bulk($client);
-
- $action1 = new Action(Action::OP_TYPE_DELETE);
- $action1->setIndex('index');
- $action1->setType('type');
- $action1->setId(1);
-
- $action2 = new Action(Action::OP_TYPE_INDEX);
- $action2->setIndex('index');
- $action2->setType('type');
- $action2->setId(1);
- $action2->setSource(array('name' => 'Batman'));
-
- $actions = array(
- $action1,
- $action2
- );
-
- $bulk->addActions($actions);
-
- $getActions = $bulk->getActions();
-
- $this->assertSame($action1, $getActions[0]);
- $this->assertSame($action2, $getActions[1]);
- }
-
- public function testAddRawData()
- {
- $bulk = new Bulk($this->_getClient());
-
- $rawData = array(
- array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '1')),
- array('user' => array('name' => 'hans')),
- array('delete' => array('_index' => 'test', '_type' => 'user', '_id' => '2')),
- array('delete' => array('_index' => 'test', '_type' => 'user', '_id' => '3')),
- array('create' => array('_index' => 'test', '_type' => 'user', '_id' => '4')),
- array('user' => array('name' => 'mans')),
- array('delete' => array('_index' => 'test', '_type' => 'user', '_id' => '5')),
- );
-
- $bulk->addRawData($rawData);
-
- $actions = $bulk->getActions();
-
- $this->assertInternalType('array', $actions);
- $this->assertEquals(5, count($actions));
-
- $this->assertInstanceOf('Elastica\Bulk\Action', $actions[0]);
- $this->assertEquals('index', $actions[0]->getOpType());
- $this->assertEquals($rawData[0]['index'], $actions[0]->getMetadata());
- $this->assertTrue($actions[0]->hasSource());
- $this->assertEquals($rawData[1], $actions[0]->getSource());
-
- $this->assertInstanceOf('Elastica\Bulk\Action', $actions[1]);
- $this->assertEquals('delete', $actions[1]->getOpType());
- $this->assertEquals($rawData[2]['delete'], $actions[1]->getMetadata());
- $this->assertFalse($actions[1]->hasSource());
-
- $this->assertInstanceOf('Elastica\Bulk\Action', $actions[2]);
- $this->assertEquals('delete', $actions[2]->getOpType());
- $this->assertEquals($rawData[3]['delete'], $actions[2]->getMetadata());
- $this->assertFalse($actions[2]->hasSource());
-
- $this->assertInstanceOf('Elastica\Bulk\Action', $actions[3]);
- $this->assertEquals('create', $actions[3]->getOpType());
- $this->assertEquals($rawData[4]['create'], $actions[3]->getMetadata());
- $this->assertTrue($actions[3]->hasSource());
- $this->assertEquals($rawData[5], $actions[3]->getSource());
-
- $this->assertInstanceOf('Elastica\Bulk\Action', $actions[4]);
- $this->assertEquals('delete', $actions[4]->getOpType());
- $this->assertEquals($rawData[6]['delete'], $actions[4]->getMetadata());
- $this->assertFalse($actions[4]->hasSource());
- }
-
- /**
- * @dataProvider invalidRawDataProvider
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidRawData($rawData, $failMessage)
- {
- $bulk = new Bulk($this->_getClient());
-
- $bulk->addRawData($rawData);
-
- $this->fail($failMessage);
- }
-
- public function invalidRawDataProvider()
- {
- return array(
- array(
- array(
- array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '1')),
- array('user' => array('name' => 'hans')),
- array('user' => array('name' => 'mans')),
- ),
- 'Two sources for one action'
- ),
- array(
- array(
- array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '1')),
- array('user' => array('name' => 'hans')),
- array('upsert' => array('_index' => 'test', '_type' => 'user', '_id' => '2')),
- ),
- 'Invalid optype for action'
- ),
- array(
- array(
- array('user' => array('name' => 'mans')),
- ),
- 'Source without action'
- ),
- array(
- array(
- array(),
- ),
- 'Empty array'
- ),
- array(
- array(
- 'dummy',
- ),
- 'String as data'
- )
- );
- }
-
- public function testCreateAbstractDocumentWithInvalidData()
- {
- //Wrong class type
- try {
- $badDocument = new \stdClass();
- AbstractDocument::create($badDocument);
- $this->fail('Tried to create an abstract document with an object that is not a Document or Script, but no exception was thrown');
- } catch (\Exception $e) {
- //Excepted exception was thrown.
- }
-
- //Try to create document with a script
- try {
- $script = new Script();
- AbstractDocument::create($script, AbstractDocument::OP_TYPE_CREATE);
- $this->fail('Tried to create an abstract document with a Script, but no exception was thrown');
- } catch (\Exception $e) {
- //Excepted exception was thrown.
- }
- }
-
- public function testErrorRequest()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $client = $index->getClient();
-
- $documents = array(
- $type->createDocument(1, array('name' => 'Mister Fantastic')),
- $type->createDocument(2, array('name' => 'Invisible Woman')),
- $type->createDocument(2, array('name' => 'The Human Torch')),
- );
-
- $documents[2]->setOpType(Document::OP_TYPE_CREATE);
-
- $bulk = new Bulk($client);
- $bulk->addDocuments($documents);
-
- try {
- $bulk->send();
- $bulk->fail('3rd document create should produce error');
- } catch (ResponseException $e) {
- $this->assertContains('DocumentAlreadyExists', $e->getMessage());
- $failures = $e->getFailures();
- $this->assertInternalType('array', $failures);
- $this->assertArrayHasKey(0, $failures);
- $this->assertContains('DocumentAlreadyExists', $failures[0]);
- }
- }
-
- public function testRawDocumentDataRequest()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $client = $index->getClient();
-
- $documents = array(
- new Document(null, '{"name":"Mister Fantastic"}'),
- new Document(null, '{"name":"Invisible Woman"}'),
- new Document(null, '{"name":"The Human Torch"}'),
- );
-
- $bulk = new Bulk($client);
- $bulk->addDocuments($documents);
- $bulk->setType($type);
-
- $expectedJson = '{"index":{}}
-{"name":"Mister Fantastic"}
-{"index":{}}
-{"name":"Invisible Woman"}
-{"index":{}}
-{"name":"The Human Torch"}
-';
- $expectedJson = str_replace(PHP_EOL, "\n", $expectedJson);
- $this->assertEquals($expectedJson, $bulk->toString());
-
- $response = $bulk->send();
- $this->assertTrue($response->isOk());
-
- $type->getIndex()->refresh();
-
- $response = $type->search();
- $this->assertEquals(3, $response->count());
-
- foreach (array("Mister", "Invisible", "Torch") as $name) {
- $result = $type->search($name);
- $this->assertEquals(1, count($result->getResults()));
- }
- }
-
- /**
- * @dataProvider udpDataProvider
- */
- public function testUdp($clientConfig, $host, $port, $shouldFail = false)
- {
- if (!function_exists('socket_create')) {
- $this->markTestSkipped('Function socket_create() does not exist.');
- }
- $client = new Client($clientConfig);
- $index = $client->getIndex('elastica_test');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
- $type = $index->getType('udp_test');
- $client = $index->getClient();
-
- $type->setMapping(array('name' => array('type' => 'string')));
-
- $docs = array(
- $type->createDocument(1, array('name' => 'Mister Fantastic')),
- $type->createDocument(2, array('name' => 'Invisible Woman')),
- $type->createDocument(3, array('name' => 'The Human Torch')),
- $type->createDocument(4, array('name' => 'The Thing')),
- $type->createDocument(5, array('name' => 'Mole Man')),
- $type->createDocument(6, array('name' => 'The Skrulls')),
- );
-
- $bulk = new Bulk($client);
- $bulk->addDocuments($docs);
-
- $bulk->sendUdp($host, $port);
-
- $i = 0;
- $limit = 20;
- do {
- usleep(200000);
- } while ($type->count() < 6 && ++$i < $limit);
-
- if ($shouldFail) {
- $this->assertEquals($limit, $i, 'Invalid udp connection data. Test should fail');
- } else {
- $this->assertLessThan($limit, $i, 'It took too much time waiting for UDP request result');
-
- foreach ($docs as $doc) {
- $getDoc = $type->getDocument($doc->getId());
- $this->assertEquals($doc->getData(), $getDoc->getData());
- }
- }
- }
-
- public function testUpdate()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $client = $index->getClient();
-
- $doc1 = $type->createDocument(1, array('name' => 'John'));
- $doc2 = $type->createDocument(2, array('name' => 'Paul'));
- $doc3 = $type->createDocument(3, array('name' => 'George'));
- $doc4 = $type->createDocument(4, array('name' => 'Ringo'));
- $documents = array($doc1, $doc2, $doc3, $doc4);
-
- //index some documents
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $bulk->addDocuments($documents);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
-
- //test updating via document
- $doc2 = $type->createDocument(2, array('name' => 'The Walrus'));
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $updateAction = new \Elastica\Bulk\Action\UpdateDocument($doc2);
- $bulk->addAction($updateAction);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
-
- $doc = $type->getDocument(2);
- $docData = $doc->getData();
- $this->assertEquals('The Walrus', $docData['name']);
-
- //test updating via script
- $script = new \Elastica\Script('ctx._source.name += param1;', array('param1' => ' was Paul'), null, 2);
- $doc2 = new Document();
- $script->setUpsert($doc2);
- $updateAction = Action\AbstractDocument::create($script, Action::OP_TYPE_UPDATE);
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $bulk->addAction($updateAction);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
-
- $doc2 = $type->getDocument(2);
- $this->assertEquals('The Walrus was Paul', $doc2->name);
-
- //test upsert
- $script = new \Elastica\Script('ctx._scource.counter += count', array('count' => 1), null, 5);
- $doc = new Document('', array('counter' => 1));
- $script->setUpsert($doc);
- $updateAction = Action\AbstractDocument::create($script, Action::OP_TYPE_UPDATE);
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $bulk->addAction($updateAction);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
- $doc = $type->getDocument(5);
- $this->assertEquals(1, $doc->counter);
-
- //test doc_as_upsert
- $doc = new \Elastica\Document(6, array('test' => 'test'));
- $doc->setDocAsUpsert(true);
- $updateAction = Action\AbstractDocument::create($doc, Action::OP_TYPE_UPDATE);
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $bulk->addAction($updateAction);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
- $doc = $type->getDocument(6);
- $this->assertEquals('test', $doc->test);
-
- //test doc_as_upsert with set of documents (use of addDocuments)
- $doc1 = new \Elastica\Document(7, array('test' => 'test1'));
- $doc1->setDocAsUpsert(true);
- $doc2 = new \Elastica\Document(8, array('test' => 'test2'));
- $doc2->setDocAsUpsert(true);
- $docs = array($doc1, $doc2);
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $bulk->addDocuments($docs, \Elastica\Bulk\Action::OP_TYPE_UPDATE);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
- $doc = $type->getDocument(7);
- $this->assertEquals('test1', $doc->test);
- $doc = $type->getDocument(8);
- $this->assertEquals('test2', $doc->test);
-
- //test updating via document with json string as data
- $doc3 = $type->createDocument(2);
- $bulk = new Bulk($client);
- $bulk->setType($type);
- $doc3->setData('{"name" : "Paul it is"}');
- $updateAction = new \Elastica\Bulk\Action\UpdateDocument($doc3);
- $bulk->addAction($updateAction);
- $response = $bulk->send();
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $index->refresh();
-
- $doc = $type->getDocument(2);
- $docData = $doc->getData();
- $this->assertEquals('Paul it is', $docData['name']);
-
- $index->delete();
- }
-
- public function testGetPath()
- {
- $client = $this->_getClient();
- $bulk = new Bulk($client);
-
- $this->assertEquals('_bulk', $bulk->getPath());
-
- $indexName = 'testIndex';
-
- $bulk->setIndex($indexName);
- $this->assertEquals($indexName . '/_bulk', $bulk->getPath());
-
- $typeName = 'testType';
- $bulk->setType($typeName);
- $this->assertEquals($indexName . '/' . $typeName . '/_bulk', $bulk->getPath());
- }
-
- public function testRetry()
- {
- $index = $this->_createIndex();
- $type = $index->getType('bulk_test');
- $client = $index->getClient();
-
- $doc1 = $type->createDocument(1, array('name' => 'Mister Fantastic'));
- $doc1->setOpType(Action::OP_TYPE_UPDATE);
- $doc1->setRetryOnConflict(5);
-
- $bulk = new Bulk($client);
- $bulk->addDocument($doc1);
-
- $actions = $bulk->getActions();
-
- $metadata = $actions[0]->getMetadata();
- $this->assertEquals(5, $metadata[ '_retry_on_conflict' ]);
-
- $script = new \Elastica\Script( '' );
- $script->setRetryOnConflict(5);
-
- $bulk = new Bulk($client);
- $bulk->addScript($script);
-
- $actions = $bulk->getActions();
-
- $metadata = $actions[0]->getMetadata();
- $this->assertEquals(5, $metadata[ '_retry_on_conflict' ]);
- }
-
- public function udpDataProvider()
- {
- return array(
- array(
- array(),
- null,
- null
- ),
- array(
- array(),
- 'localhost',
- null
- ),
- array(
- array(),
- null,
- 9700
- ),
- array(
- array(),
- 'localhost',
- 9700
- ),
- array(
- array(
- 'udp' => array(
- 'host' => 'localhost',
- 'port' => 9700,
- )
- ),
- null,
- null
- ),
- array(
- array(
- 'udp' => array(
- 'host' => 'localhost',
- 'port' => 9800,
- )
- ),
- 'localhost',
- 9700
- ),
- array(
- array(
- 'udp' => array(
- 'host' => 'localhost',
- 'port' => 9800,
- )
- ),
- null,
- null,
- true
- ),
- array(
- array(),
- 'localhost',
- 9800,
- true
- ),
- );
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ClientTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ClientTest.php
deleted file mode 100644
index 94ee2ead..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ClientTest.php
+++ /dev/null
@@ -1,1008 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Connection;
-use Elastica\Document;
-use Elastica\Exception\ClientException;
-use Elastica\Exception\Connection\HttpException;
-use Elastica\Script;
-use Elastica\Index;
-use Elastica\Request;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type;
-
-class ClientTest extends BaseTest
-{
-
- public function testConstruct()
- {
- $client = $this->_getClient();
- $this->assertCount(1, $client->getConnections());
- }
-
- public function testConnectionsArray()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $client = new Client(array('connections' => array(array('host' => 'localhost', 'port' => 9200))));
- $index = $client->getIndex('elastica_test1');
- $index->create(array(), true);
-
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
-
- $resultSet = $type->search('rolf');
- }
-
- public function testTwoServersSame()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $client = new Client(array('connections' => array(
- array('host' => 'localhost', 'port' => 9200),
- array('host' => 'localhost', 'port' => 9200),
- )));
- $index = $client->getIndex('elastica_test1');
- $index->create(array(), true);
-
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
-
- $resultSet = $type->search('rolf');
- }
-
- public function testConnectionParamsArePreparedForConnectionsOption()
- {
- $client = new Client(array('connections' => array(array('url' => 'https://localhost:9200'))));
- $connection = $client->getConnection();
-
- $this->assertEquals('https://localhost:9200', $connection->getConfig('url'));
- }
-
- public function testConnectionParamsArePreparedForServersOption()
- {
- $client = new Client(array('servers' => array(array('url' => 'https://localhost:9200'))));
- $connection = $client->getConnection();
-
- $this->assertEquals('https://localhost:9200', $connection->getConfig('url'));
- }
-
- public function testConnectionParamsArePreparedForDefaultOptions()
- {
- $client = new Client(array('url' => 'https://localhost:9200'));
- $connection = $client->getConnection();
-
- $this->assertEquals('https://localhost:9200', $connection->getConfig('url'));
- }
-
- public function testBulk()
- {
- $client = $this->_getClient();
-
- $params = array(
- array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '1')),
- array('user' => array('name' => 'hans')),
- array('index' => array('_index' => 'test', '_type' => 'user', '_id' => '2')),
- array('user' => array('name' => 'peter')),
- );
-
- $client->bulk($params);
- }
-
- public function testOptimizeAll()
- {
- $client = $this->_getClient();
- $response = $client->optimizeAll();
-
- $this->assertFalse($response->hasError());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testAddDocumentsEmpty()
- {
- $client = $this->_getClient();
- $client->addDocuments(array());
- }
-
- /**
- * Test bulk operations on Index
- */
- public function testBulkIndex()
- {
- $index = $this->_getClient()->getIndex('cryptocurrencies');
-
- $anonCoin = new Document(1, array('name' => 'anoncoin'), 'altcoin');
- $ixCoin = new Document(2, array('name' => 'ixcoin'), 'altcoin');
-
- $index->addDocuments(array($anonCoin, $ixCoin));
-
- $this->assertEquals('anoncoin', $index->getType('altcoin')->getDocument(1)->get('name'));
- $this->assertEquals('ixcoin', $index->getType('altcoin')->getDocument(2)->get('name'));
-
- $index->updateDocuments(array(
- new Document(1, array('name' => 'AnonCoin'), 'altcoin'),
- new Document(2, array('name' => 'iXcoin'), 'altcoin')
- ));
-
- $this->assertEquals('AnonCoin', $index->getType('altcoin')->getDocument(1)->get('name'));
- $this->assertEquals('iXcoin', $index->getType('altcoin')->getDocument(2)->get('name'));
-
- $ixCoin->setIndex(null); // Make sure the index gets set properly if missing
- $index->deleteDocuments(array($anonCoin, $ixCoin));
-
- $this->setExpectedException('Elastica\Exception\NotFoundException');
- $index->getType('altcoin')->getDocument(1);
- $index->getType('altcoin')->getDocument(2);
- }
-
- /**
- * Test bulk operations on Type
- */
- public function testBulkType()
- {
- $type = $this->_getClient()->getIndex('cryptocurrencies')->getType('altcoin');
-
- $liteCoin = new Document(1, array('name' => 'litecoin'));
- $nameCoin = new Document(2, array('name' => 'namecoin'));
-
- $type->addDocuments(array($liteCoin, $nameCoin));
-
- $this->assertEquals('litecoin', $type->getDocument(1)->get('name'));
- $this->assertEquals('namecoin', $type->getDocument(2)->get('name'));
-
- $type->updateDocuments(array(
- new Document(1, array('name' => 'LiteCoin')),
- new Document(2, array('name' => 'NameCoin'))
- ));
-
- $this->assertEquals('LiteCoin', $type->getDocument(1)->get('name'));
- $this->assertEquals('NameCoin', $type->getDocument(2)->get('name'));
-
- $nameCoin->setType(null); // Make sure the type gets set properly if missing
- $type->deleteDocuments(array($liteCoin, $nameCoin));
-
- $this->setExpectedException('Elastica\Exception\NotFoundException');
- $type->getDocument(1);
- $type->getDocument(2);
- }
-
- public function testUpdateDocuments()
- {
- $indexName = 'test';
- $typeName = 'people';
-
- $client = $this->_getClient();
- $type = $client->getIndex($indexName)->getType($typeName);
-
- $initialValue = 28;
- $modifiedValue = 27;
-
- $doc1 = new Document(
- 1,
- array('name' => 'hans', 'age' => $initialValue),
- $typeName,
- $indexName
- );
- $doc2 = new Document(
- 2,
- array('name' => 'anna', 'age' => $initialValue),
- $typeName,
- $indexName
- );
- $data = array($doc1, $doc2);
- $client->addDocuments($data);
-
- foreach ($data as $i => $doc) {
- $data[$i]->age = $modifiedValue;
- }
- $client->updateDocuments($data);
-
- $docData1 = $type->getDocument(1)->getData();
- $docData2 = $type->getDocument(2)->getData();
-
- $this->assertEquals($modifiedValue, $docData1['age']);
- $this->assertEquals($modifiedValue, $docData2['age']);
- }
-
- /**
- * Test deleteIds method using string parameters
- *
- * This test ensures that the deleteIds method of
- * the \Elastica\Client can properly accept and use
- * an $index parameter and $type parameter that are
- * strings
- *
- * This test is a bit more verbose than just sending the
- * values to deleteIds and checking for exceptions or
- * warnings.
- *
- * It will add a document, search for it, then delete it
- * using the parameter types we are interested in, and then
- * re-search to verify that they have been deleted
- */
- public function testDeleteIdsIdxStringTypeString()
- {
- $data = array('username' => 'hans');
- $userSearch = 'username:hans';
-
- $index = $this->_createIndex('test', true, 2);
-
- // Create the index, deleting it first if it already exists
- $index->create(array(), true);
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc = new Document(null, $data);
- $doc->setRouting(1);
- $result = $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $resultData = $result->getData();
- $ids = array($resultData['_id']);
-
- // Check to make sure the document is in the index
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(1, $totalHits);
-
- // And verify that the variables we are doing to send to
- // deleteIds are the type we are testing for
- $idxString = $index->getName();
- $typeString = $type->getName();
- $this->assertEquals(true, is_string($idxString));
- $this->assertEquals(true, is_string($typeString));
-
- // Try to delete doc with a routing value which hashes to
- // a different shard then the id.
- $resp = $index->getClient()->deleteIds($ids, $index, $type, 2);
-
- // Refresh the index
- $index->refresh();
-
- // Research the index to verify that the items are still there
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(1, $totalHits);
-
- // Using the existing $index and $type variables which
- // are \Elastica\Index and \Elastica\Type objects respectively
- $resp = $index->getClient()->deleteIds($ids, $index, $type, 1);
-
- // Refresh the index to clear out deleted ID information
- $index->refresh();
-
- // Research the index to verify that the items have been deleted
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(0, $totalHits);
- }
-
- /**
- * Test deleteIds method using string parameter for $index
- * and object parameter for $type
- *
- * This test ensures that the deleteIds method of
- * the \Elastica\Client can properly accept and use
- * an $index parameter that is a string and a $type
- * parameter that is of type \Elastica\Type
- *
- * This test is a bit more verbose than just sending the
- * values to deleteIds and checking for exceptions or
- * warnings.
- *
- * It will add a document, search for it, then delete it
- * using the parameter types we are interested in, and then
- * re-search to verify that they have been deleted
- */
- public function testDeleteIdsIdxStringTypeObject()
- {
- $data = array('username' => 'hans');
- $userSearch = 'username:hans';
-
- $index = $this->_createIndex();
-
- // Create the index, deleting it first if it already exists
- $index->create(array(), true);
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc = new Document(null, $data);
- $result = $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $resultData = $result->getData();
- $ids = array($resultData['_id']);
-
- // Check to make sure the document is in the index
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(1, $totalHits);
-
- // And verify that the variables we are doing to send to
- // deleteIds are the type we are testing for
- $idxString = $index->getName();
- $this->assertEquals(true, is_string($idxString));
- $this->assertEquals(true, ($type instanceof Type));
-
- // Using the existing $index and $type variables which
- // are \Elastica\Index and \Elastica\Type objects respectively
- $resp = $index->getClient()->deleteIds($ids, $index, $type);
-
- // Refresh the index to clear out deleted ID information
- $index->refresh();
-
- // Research the index to verify that the items have been deleted
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(0, $totalHits);
- }
-
- /**
- * Test deleteIds method using object parameter for $index
- * and string parameter for $type
- *
- * This test ensures that the deleteIds method of
- * the \Elastica\Client can properly accept and use
- * an $index parameter that is of type Elasitca_Index
- * and a $type parameter that is a string
- *
- * This test is a bit more verbose than just sending the
- * values to deleteIds and checking for exceptions or
- * warnings.
- *
- * It will add a document, search for it, then delete it
- * using the parameter types we are interested in, and then
- * re-search to verify that they have been deleted
- */
- public function testDeleteIdsIdxObjectTypeString()
- {
- $data = array('username' => 'hans');
- $userSearch = 'username:hans';
-
- $index = $this->_createIndex();
-
- // Create the index, deleting it first if it already exists
- $index->create(array(), true);
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc = new Document(null, $data);
- $result = $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $resultData = $result->getData();
- $ids = array($resultData['_id']);
-
- // Check to make sure the document is in the index
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(1, $totalHits);
-
- // And verify that the variables we are doing to send to
- // deleteIds are the type we are testing for
- $typeString = $type->getName();
- $this->assertEquals(true, ($index instanceof Index));
- $this->assertEquals(true, is_string($typeString));
-
- // Using the existing $index and $type variables which
- // are \Elastica\Index and \Elastica\Type objects respectively
- $resp = $index->getClient()->deleteIds($ids, $index, $type);
-
- // Refresh the index to clear out deleted ID information
- $index->refresh();
-
- // Research the index to verify that the items have been deleted
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(0, $totalHits);
- }
-
- /**
- * Test deleteIds method using object parameter for $index
- * and object parameter for $type
- *
- * This test ensures that the deleteIds method of
- * the \Elastica\Client can properly accept and use
- * an $index parameter that is an object and a $type
- * parameter that is of type \Elastica\Type
- *
- * This test is a bit more verbose than just sending the
- * values to deleteIds and checking for exceptions or
- * warnings.
- *
- * It will add a document, search for it, then delete it
- * using the parameter types we are interested in, and then
- * re-search to verify that they have been deleted
- */
- public function testDeleteIdsIdxObjectTypeObject()
- {
- $data = array('username' => 'hans');
- $userSearch = 'username:hans';
-
- $index = $this->_createIndex();
-
- // Create the index, deleting it first if it already exists
- $index->create(array(), true);
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc = new Document(null, $data);
- $result = $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $resultData = $result->getData();
- $ids = array($resultData['_id']);
-
- // Check to make sure the document is in the index
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(1, $totalHits);
-
- // And verify that the variables we are doing to send to
- // deleteIds are the type we are testing for
- $this->assertEquals(true, ($index instanceof Index));
- $this->assertEquals(true, ($type instanceof Type));
-
- // Using the existing $index and $type variables which
- // are \Elastica\Index and \Elastica\Type objects respectively
- $resp = $index->getClient()->deleteIds($ids, $index, $type);
-
- // Refresh the index to clear out deleted ID information
- $index->refresh();
-
- // Research the index to verify that the items have been deleted
- $resultSet = $type->search($userSearch);
- $totalHits = $resultSet->getTotalHits();
- $this->assertEquals(0, $totalHits);
- }
-
- public function testOneInvalidConnection()
- {
- $client = $this->_getClient();
-
- // First connection work, second should not work
- $connection1 = new Connection(array('port' => '9100', 'timeout' => 2));
- $connection2 = new Connection(array('port' => '9200', 'timeout' => 2));
-
- $client->setConnections(array($connection1, $connection2));
-
- $client->request('_status', Request::GET);
-
- $connections = $client->getConnections();
-
- // two connections are setup
- $this->assertEquals(2, count($connections));
-
- // One connection has to be disabled
- $this->assertTrue($connections[0]->isEnabled() == false || $connections[1]->isEnabled() == false);
- }
-
- public function testTwoInvalidConnection()
- {
- $client = $this->_getClient();
-
- // First connection work, second should not work
- $connection1 = new Connection(array('port' => '9101', 'timeout' => 2));
- $connection2 = new Connection(array('port' => '9102', 'timeout' => 2));
-
- $client->setConnections(array($connection1, $connection2));
-
- try {
- $client->request('_status', Request::GET);
- $this->fail('Should throw exception as no connection valid');
- } catch (HttpException $e) {
- $this->assertTrue(true);
- }
-
- $connections = $client->getConnections();
-
- // two connections are setup
- $this->assertEquals(2, count($connections));
-
- // One connection has to be disabled
- $this->assertTrue($connections[0]->isEnabled() == false || $connections[1]->isEnabled() == false);
- }
-
- /**
- * Tests if the callback works in case a connection is down
- */
- public function testCallback()
- {
- $count = 0;
- $object = $this;
-
- // Callback function which verifies that disabled connection objects are returned
- $callback = function($connection, $exception, $client) use (&$object, &$count) {
- $object->assertInstanceOf('Elastica\Connection', $connection);
- $object->assertInstanceOf('Elastica\Exception\ConnectionException', $exception);
- $object->assertInstanceOf('Elastica\Client', $client);
- $object->assertFalse($connection->isEnabled());
- $count++;
- };
-
- $client = new Client(array(), $callback);
-
- // First connection work, second should not work
- $connection1 = new Connection(array('port' => '9101', 'timeout' => 2));
- $connection2 = new Connection(array('port' => '9102', 'timeout' => 2));
-
- $client->setConnections(array($connection1, $connection2));
-
- $this->assertEquals(0, $count);
-
- try {
- $client->request('_status', Request::GET);
- $this->fail('Should throw exception as no connection valid');
- } catch (HttpException $e) {
- $this->assertTrue(true);
- }
-
- // Two disabled connections (from closure call)
- $this->assertEquals(2, $count);
- }
-
- public function testUrlConstructor()
- {
- $url = 'http://localhost:9200/';
-
- // Url should overwrite invalid host
- $client = new Client(array('url' => $url, 'port' => '9101', 'timeout' => 2));
-
- $response = $client->request('_status');
- $this->assertInstanceOf('Elastica\Response', $response);
- }
-
- public function testUpdateDocumentByDocument()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $newDocument = new Document(1, array('field1' => 'value1', 'field2' => 'value2'));
- $type->addDocument($newDocument);
-
- $updateDocument = new Document(1, array('field2' => 'value2changed', 'field3' => 'value3added'));
- $client->updateDocument(1, $updateDocument, $index->getName(), $type->getName());
-
- $document = $type->getDocument(1);
-
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2changed', $data['field2']);
- $this->assertArrayHasKey('field3', $data);
- $this->assertEquals('value3added', $data['field3']);
- }
-
- public function testUpdateDocumentByScript()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $newDocument = new Document(1, array('field1' => 'value1', 'field2' => 10, 'field3' => 'should be removed', 'field4' => 'should be changed'));
- $type->addDocument($newDocument);
-
- $script = new Script('ctx._source.field2 += 5; ctx._source.remove("field3"); ctx._source.field4 = "changed"');
- $client->updateDocument(1, $script, $index->getName(), $type->getName());
-
- $document = $type->getDocument(1);
-
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals(15, $data['field2']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('changed', $data['field4']);
- $this->assertArrayNotHasKey('field3', $data);
- }
-
- public function testUpdateDocumentByScriptWithUpsert()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $script = new Script('ctx._source.field2 += count; ctx._source.remove("field3"); ctx._source.field4 = "changed"');
- $script->setParam('count', 5);
- $script->setUpsert(array('field1' => 'value1', 'field2' => 10, 'field3' => 'should be removed', 'field4' => 'value4'));
-
- // should use document fields because document does not exist, script is avoided
- $client->updateDocument(1, $script, $index->getName(), $type->getName(), array('fields' => '_source'));
-
- $document = $type->getDocument(1);
-
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals(10, $data['field2']);
- $this->assertArrayHasKey('field3', $data);
- $this->assertEquals('should be removed', $data['field3']);
- $this->assertArrayHasKey('field4', $data);
- $this->assertEquals('value4', $data['field4']);
-
- // should use script because document exists, document values are ignored
- $client->updateDocument(1, $script, $index->getName(), $type->getName(), array('fields' => '_source'));
-
- $document = $type->getDocument(1);
-
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals(15, $data['field2']);
- $this->assertArrayHasKey('field4', $data);
- $this->assertEquals('changed', $data['field4']);
- $this->assertArrayNotHasKey('field3', $data);
- }
-
- public function testUpdateDocumentByRawData()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $newDocument = new Document(1, array('field1' => 'value1'));
- $type->addDocument($newDocument);
-
- $rawData = array(
- 'doc' => array(
- 'field2' => 'value2',
- )
- );
-
- $response = $client->updateDocument(1, $rawData, $index->getName(), $type->getName(), array('retry_on_conflict' => 1));
- $this->assertTrue($response->isOk());
-
- $document = $type->getDocument(1);
-
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2', $data['field2']);
- }
-
- public function testUpdateDocumentByDocumentWithUpsert()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $newDocument = new Document(1, array('field1' => 'value1updated', 'field2' => 'value2updated'));
- $upsert = new Document(1, array('field1' => 'value1', 'field2' => 'value2'));
- $newDocument->setUpsert($upsert);
- $client->updateDocument(1, $newDocument, $index->getName(), $type->getName(), array('fields' => '_source'));
-
- $document = $type->getDocument(1);
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2', $data['field2']);
-
- // should use update document because document exists, upsert document values are ignored
- $client->updateDocument(1, $newDocument, $index->getName(), $type->getName(), array('fields' => '_source'));
-
- $document = $type->getDocument(1);
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1updated', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2updated', $data['field2']);
- }
-
- public function testDocAsUpsert()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- //Confirm document one does not exist
- try {
- $document = $type->getDocument(1);
- $this->fail('Exception was not thrown. Maybe the document exists?');
- } catch (\Exception $e) {
- //Ignore the exception because we expect the document to not exist.
- }
-
- $newDocument = new Document(1, array('field1' => 'value1', 'field2' => 'value2'));
- $newDocument->setDocAsUpsert(true);
- $client->updateDocument(1, $newDocument, $index->getName(), $type->getName(), array('fields' => '_source'));
-
- $document = $type->getDocument(1);
- $this->assertInstanceOf('Elastica\Document', $document);
- $data = $document->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2', $data['field2']);
- }
-
- public function testUpdateWithInvalidType()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- //Try to update using a stdClass object
- $badDocument = new \stdClass();
-
- try {
- $client->updateDocument(1, $badDocument, $index->getName(), $type->getName());
- $this->fail('Tried to update using an object that is not a Document or a Script but no exception was thrown');
- } catch (\Exception $e) {
- //Good. An exception was thrown.
- }
- }
-
- public function testDeleteDocuments()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $docs = array(
- new Document(1, array('field' => 'value1'), $type, $index),
- new Document(2, array('field' => 'value2'), $type, $index),
- new Document(3, array('field' => 'value3'), $type, $index),
- );
-
- $response = $client->addDocuments($docs);
-
- $this->assertInstanceOf('Elastica\Bulk\ResponseSet', $response);
- $this->assertEquals(3, count($response));
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
- $this->assertEquals('', $response->getError());
-
- $index->refresh();
-
- $this->assertEquals(3, $type->count());
-
- $deleteDocs = array(
- $docs[0],
- $docs[2],
- );
-
- $response = $client->deleteDocuments($deleteDocs);
-
- $this->assertInstanceOf('Elastica\Bulk\ResponseSet', $response);
- $this->assertEquals(2, count($response));
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
- $this->assertEquals('', $response->getError());
-
- $index->refresh();
-
- $this->assertEquals(1, $type->count());
- }
-
- public function testLastRequestResponse()
- {
- $client = new Client();
- $response = $client->request('_status');
-
- $this->assertInstanceOf('Elastica\Response', $response);
-
- $lastRequest = $client->getLastRequest();
-
- $this->assertInstanceOf('Elastica\Request', $lastRequest);
- $this->assertEquals('_status', $lastRequest->getPath());
-
- $lastResponse = $client->getLastResponse();
- $this->assertInstanceOf('Elastica\Response', $lastResponse);
- $this->assertSame($response, $lastResponse);
- }
-
- public function testUpdateDocumentPopulateFields()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $client = $index->getClient();
-
- $newDocument = new Document(1, array('field1' => 'value1', 'field2' => 10, 'field3' => 'should be removed', 'field4' => 'value4'));
- $newDocument->setAutoPopulate();
- $type->addDocument($newDocument);
-
- $script = new Script('ctx._source.field2 += count; ctx._source.remove("field3"); ctx._source.field4 = "changed"');
- $script->setParam('count', 5);
- $script->setUpsert($newDocument);
-
- $client->updateDocument(
- 1,
- $script,
- $index->getName(),
- $type->getName(),
- array('fields' => '_source')
- );
-
- $data = $type->getDocument(1)->getData();
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals(15, $data['field2']);
- $this->assertArrayHasKey('field4', $data);
- $this->assertEquals('changed', $data['field4']);
- $this->assertArrayNotHasKey('field3', $data);
-
- $script = new Script('ctx._source.field2 += count; ctx._source.remove("field4"); ctx._source.field1 = field1;');
- $script->setParam('count', 5);
- $script->setParam('field1', 'updated');
- $script->setUpsert($newDocument);
-
- $client->updateDocument(
- 1,
- $script,
- $index->getName(),
- $type->getName(),
- array('fields' => 'field2,field4')
- );
-
- $document = $type->getDocument(1);
-
- $data = $document->getData();
-
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('updated', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals(20, $data['field2']);
- $this->assertArrayNotHasKey('field3', $data);
- $this->assertArrayNotHasKey('field4', $data);
- }
-
- public function testAddDocumentsWithoutIds()
- {
- $docs = array();
- for ($i = 0; $i < 10; $i++) {
- $docs[] = new Document(null, array('pos' => $i));
- }
-
- foreach ($docs as $doc) {
- $this->assertFalse($doc->hasId());
- }
-
- $index = $this->_createIndex();
-
- $client = $index->getClient();
- $client->setConfigValue('document', array('autoPopulate' => true));
-
- $type = $index->getType('pos');
- $type->addDocuments($docs);
-
- foreach ($docs as $doc) {
- $this->assertTrue($doc->hasId());
- $this->assertTrue($doc->hasVersion());
- $this->assertEquals(1, $doc->getVersion());
- }
- }
-
- public function testConfigValue()
- {
- $config = array(
- 'level1' => array(
- 'level2' => array(
- 'level3' => 'value3',
- ),
- 'level21' => 'value21'
- ),
- 'level11' => 'value11'
- );
- $client = new Client($config);
-
- $this->assertNull($client->getConfigValue('level12'));
- $this->assertFalse($client->getConfigValue('level12', false));
- $this->assertEquals(10, $client->getConfigValue('level12', 10));
-
- $this->assertEquals('value11', $client->getConfigValue('level11'));
- $this->assertNotNull($client->getConfigValue('level11'));
- $this->assertNotEquals(false, $client->getConfigValue('level11', false));
- $this->assertNotEquals(10, $client->getConfigValue('level11', 10));
-
- $this->assertEquals('value3', $client->getConfigValue(array('level1', 'level2', 'level3')));
- $this->assertInternalType('array', $client->getConfigValue(array('level1', 'level2')));
- }
-
-
- public function testArrayQuery()
- {
- $client = new Client();
-
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('username' => 'ruflin')));
- $index->refresh();
-
- $query = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'ruflin',
- )
- )
- );
-
- $path = $index->getName() . '/' . $type->getName() . '/_search';
-
- $response = $client->request($path, Request::GET, $query);
- $responseArray = $response->getData();
-
- $this->assertEquals(1, $responseArray['hits']['total']);
- }
-
- public function testJSONQuery()
- {
- $client = new Client();
-
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('username' => 'ruflin')));
- $index->refresh();
-
- $query = '{"query":{"query_string":{"query":"ruflin"}}}';
-
- $path = $index->getName() . '/' . $type->getName() . '/_search';
-
- $response = $client->request($path, Request::GET, $query);
- $responseArray = $response->getData();
-
- $this->assertEquals(1, $responseArray['hits']['total']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/IndexTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/IndexTest.php
deleted file mode 100644
index 085ac13a..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/IndexTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-namespace Elastica\Test\Cluster\Health;
-
-use Elastica\Cluster\Health\Index as HealthIndex;
-use Elastica\Test\Base as BaseTest;
-
-class IndexTest extends BaseTest
-{
- /**
- * @var \Elastica\Cluster\Health\Index
- */
- protected $_index;
-
- public function setUp()
- {
- $data = array(
- "status" => "yellow",
- "number_of_shards" => 1,
- "number_of_replicas" => 2,
- "active_primary_shards" => 3,
- "active_shards" => 4,
- "relocating_shards" => 5,
- "initializing_shards" => 6,
- "unassigned_shards" => 7,
- "shards" => array(
- "0" => array(
- "status" => "yellow",
- "primary_active" => false,
- "active_shards" => 0,
- "relocating_shards" => 1,
- "initializing_shards" => 0,
- "unassigned_shards" => 1
- ),
- "1" => array(
- "status" => "yellow",
- "primary_active" => true,
- "active_shards" => 1,
- "relocating_shards" => 0,
- "initializing_shards" => 0,
- "unassigned_shards" => 1
- ),
- "2" => array(
- "status" => "green",
- "primary_active" => true,
- "active_shards" => 1,
- "relocating_shards" => 0,
- "initializing_shards" => 0,
- "unassigned_shards" => 0,
- ),
- )
- );
-
- $this->_index = new HealthIndex('test', $data);
- }
-
- public function testGetName()
- {
- $this->assertEquals('test', $this->_index->getName());
- }
-
- public function testGetStatus()
- {
- $this->assertEquals('yellow', $this->_index->getStatus());
- }
-
- public function testGetNumberOfShards()
- {
- $this->assertEquals(1, $this->_index->getNumberOfShards());
- }
-
- public function testGetNumberOfReplicas()
- {
- $this->assertEquals(2, $this->_index->getNumberOfReplicas());
- }
-
- public function testGetActivePrimaryShards()
- {
- $this->assertEquals(3, $this->_index->getActivePrimaryShards());
- }
-
- public function testGetActiveShards()
- {
- $this->assertEquals(4, $this->_index->getActiveShards());
- }
-
- public function testGetRelocatingShards()
- {
- $this->assertEquals(5, $this->_index->getRelocatingShards());
- }
-
- public function testGetInitializingShards()
- {
- $this->assertEquals(6, $this->_index->getInitializingShards());
- }
-
- public function testGetUnassignedShards()
- {
- $this->assertEquals(7, $this->_index->getUnassignedShards());
- }
-
- public function testGetShards()
- {
- $shards = $this->_index->getShards();
-
- $this->assertInternalType('array', $shards);
- $this->assertEquals(3, count($shards));
-
- foreach ($shards as $shard) {
- $this->assertInstanceOf('Elastica\Cluster\Health\Shard', $shard);
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/ShardTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/ShardTest.php
deleted file mode 100644
index b63195a0..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/Health/ShardTest.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-namespace Elastica\Test\Cluster\Health;
-
-use Elastica\Cluster\Health\Shard as HealthShard;
-use Elastica\Test\Base as BaseTest;
-
-class ShardTest extends BaseTest
-{
- /**
- * @var \Elastica\Cluster\Health\Shard
- */
- protected $_shard;
-
- public function setUp()
- {
- $shardData = array(
- 'status' => 'red',
- 'primary_active' => true,
- 'active_shards' => 1,
- 'relocating_shards' => 0,
- 'initializing_shards' => 0,
- 'unassigned_shards' => 1,
- );
-
- $this->_shard = new HealthShard(2, $shardData);
- }
-
- public function testGetShardNumber()
- {
- $this->assertEquals(2, $this->_shard->getShardNumber());
- }
-
- public function testGetStatus()
- {
- $this->assertEquals('red', $this->_shard->getStatus());
- }
-
- public function testisPrimaryActive()
- {
- $this->assertTrue($this->_shard->isPrimaryActive());
- }
-
- public function testIsActive()
- {
- $this->assertTrue($this->_shard->isActive());
- }
-
- public function testIsRelocating()
- {
- $this->assertFalse($this->_shard->isRelocating());
- }
-
- public function testIsInitialized()
- {
- $this->assertFalse($this->_shard->isInitialized());
- }
-
- public function testIsUnassigned()
- {
- $this->assertTrue($this->_shard->isUnassigned());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/HealthTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/HealthTest.php
deleted file mode 100644
index 054af3f7..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/HealthTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-namespace Elastica\Test\Cluster;
-
-use Elastica\Test\Base as BaseTest;
-
-class HealthTest extends BaseTest
-{
- /**
- * @var \Elastica\Cluster\Health
- */
- protected $_health;
-
- public function setUp()
- {
- $data = array(
- 'cluster_name' => 'test_cluster',
- 'status' => 'green',
- 'timed_out' => false,
- 'number_of_nodes' => 10,
- 'number_of_data_nodes' => 8,
- 'active_primary_shards' => 3,
- 'active_shards' => 4,
- 'relocating_shards' => 2,
- 'initializing_shards' => 7,
- 'unassigned_shards' => 5,
- 'indices' => array(
- 'index_one' => array(
- ),
- 'index_two' => array(
- ),
- ),
- );
-
- $health = $this
- ->getMockBuilder('Elastica\Cluster\Health')
- ->setConstructorArgs(array($this->_getClient()))
- ->setMethods(array('_retrieveHealthData'))
- ->getMock();
-
- $health
- ->expects($this->any())
- ->method('_retrieveHealthData')
- ->will($this->returnValue($data));
-
- // need to explicitly refresh because the mocking won't refresh the data in the constructor
- $health->refresh();
-
- $this->_health = $health;
- }
-
- public function testGetClusterName()
- {
- $this->assertEquals('test_cluster', $this->_health->getClusterName());
- }
-
- public function testGetStatus()
- {
- $this->assertEquals('green', $this->_health->getStatus());
- }
-
- public function testGetTimedOut()
- {
- $this->assertFalse($this->_health->getTimedOut());
- }
-
- public function testGetNumberOfNodes()
- {
- $this->assertEquals(10, $this->_health->getNumberOfNodes());
- }
-
- public function testGetNumberOfDataNodes()
- {
- $this->assertEquals(8, $this->_health->getNumberOfDataNodes());
- }
-
- public function testGetActivePrimaryShards()
- {
- $this->assertEquals(3, $this->_health->getActivePrimaryShards());
- }
-
- public function testGetActiveShards()
- {
- $this->assertEquals(4, $this->_health->getActiveShards());
- }
-
- public function testGetRelocatingShards()
- {
- $this->assertEquals(2, $this->_health->getRelocatingShards());
- }
-
- public function testGetInitializingShards()
- {
- $this->assertEquals(7, $this->_health->getInitializingShards());
- }
-
- public function testGetUnassignedShards()
- {
- $this->assertEquals(5, $this->_health->getUnassignedShards());
- }
-
- public function testGetIndices()
- {
- $indices = $this->_health->getIndices();
-
- $this->assertInternalType('array', $indices);
- $this->assertEquals(2, count($indices));
-
- foreach ($indices as $index) {
- $this->assertInstanceOf('Elastica\Cluster\Health\Index', $index);
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/SettingsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/SettingsTest.php
deleted file mode 100644
index a093feef..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Cluster/SettingsTest.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-namespace Elastica\Test\Cluster;
-
-use Elastica\Document;
-use Elastica\Exception\ResponseException;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Cluster\Settings;
-
-class SettingsTest extends BaseTest
-{
- public function testSetTransient()
- {
- $index = $this->_createIndex();
-
- if (count($index->getClient()->getCluster()->getNodes()) < 2) {
- $this->markTestSkipped('At least two master nodes have to be running for this test');
- }
-
- $settings = new Settings($index->getClient());
-
- $settings->setTransient('discovery.zen.minimum_master_nodes', 2);
- $data = $settings->get();
- $this->assertEquals(2, $data['transient']['discovery.zen.minimum_master_nodes']);
-
- $settings->setTransient('discovery.zen.minimum_master_nodes', 1);
- $data = $settings->get();
- $this->assertEquals(1, $data['transient']['discovery.zen.minimum_master_nodes']);
- }
-
- public function testSetPersistent()
- {
- $index = $this->_createIndex();
-
- if (count($index->getClient()->getCluster()->getNodes()) < 2) {
- $this->markTestSkipped('At least two master nodes have to be running for this test');
- }
-
- $settings = new Settings($index->getClient());
-
- $settings->setPersistent('discovery.zen.minimum_master_nodes', 2);
- $data = $settings->get();
- $this->assertEquals(2, $data['persistent']['discovery.zen.minimum_master_nodes']);
-
- $settings->setPersistent('discovery.zen.minimum_master_nodes', 1);
- $data = $settings->get();
- $this->assertEquals(1, $data['persistent']['discovery.zen.minimum_master_nodes']);
- }
-
- public function testSetReadOnly()
- {
- // Create two indices to check that the complete cluster is read only
- $settings = new Settings($this->_getClient());
- $settings->setReadOnly(false);
- $index1 = $this->_createIndex('test1');
- $index2 = $this->_createIndex('test2');
-
-
- $doc1 = new Document(null, array('hello' => 'world'));
- $doc2 = new Document(null, array('hello' => 'world'));
- $doc3 = new Document(null, array('hello' => 'world'));
- $doc4 = new Document(null, array('hello' => 'world'));
- $doc5 = new Document(null, array('hello' => 'world'));
- $doc6 = new Document(null, array('hello' => 'world'));
-
- // Check that adding documents work
- $index1->getType('test')->addDocument($doc1);
- $index2->getType('test')->addDocument($doc2);
-
- $response = $settings->setReadOnly(true);
- $this->assertFalse($response->hasError());
- $setting = $settings->getTransient('cluster.blocks.read_only');
- $this->assertEquals('true', $setting);
-
- // Make sure both index are read only
- try {
- $index1->getType('test')->addDocument($doc3);
- $this->fail('should throw read only exception');
- } catch (ResponseException $e) {
- $message = $e->getMessage();
- $this->assertContains('ClusterBlockException', $message);
- $this->assertContains('cluster read-only', $message);
- }
-
- try {
- $index2->getType('test')->addDocument($doc4);
- $this->fail('should throw read only exception');
- } catch (ResponseException $e) {
- $message = $e->getMessage();
- $this->assertContains('ClusterBlockException', $message);
- $this->assertContains('cluster read-only', $message);
- }
-
- $response = $settings->setReadOnly(false);
- $this->assertFalse($response->hasError());
- $setting = $settings->getTransient('cluster.blocks.read_only');
- $this->assertEquals('false', $setting);
-
- // Check that adding documents works again
- $index1->getType('test')->addDocument($doc5);
- $index2->getType('test')->addDocument($doc6);
-
- $index1->refresh();
- $index2->refresh();
-
- // 2 docs should be in each index
- $this->assertEquals(2, $index1->count());
- $this->assertEquals(2, $index2->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ClusterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ClusterTest.php
deleted file mode 100644
index ae5fb980..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ClusterTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Cluster;
-use Elastica\Test\Base as BaseTest;
-
-class ClusterTest extends BaseTest
-{
-
- public function testGetNodeNames()
- {
- $client = $this->_getClient();
-
- $cluster = new Cluster($client);
-
- $names = $cluster->getNodeNames();
-
- $this->assertInternalType('array', $names);
- $this->assertGreaterThan(0, count($names));
- }
-
- public function testGetNodes()
- {
- $client = $this->_getClient();
- $cluster = $client->getCluster();
-
- $nodes = $cluster->getNodes();
-
- foreach ($nodes as $node) {
- $this->assertInstanceOf('Elastica\Node', $node);
- }
-
- $this->assertGreaterThan(0, count($nodes));
- }
-
- public function testGetState()
- {
- $client = $this->_getClient();
- $cluster = $client->getCluster();
- $state = $cluster->getState();
- $this->assertInternalType('array', $state);
- }
-
- /**
- * @expectedException \Elastica\Exception\ConnectionException
- */
- public function testShutdown()
- {
- $this->markTestSkipped('This test shuts down the cluster which means the following tests would not work');
- $client = $this->_getClient();
- $cluster = $client->getCluster();
-
- $cluster->shutdown('2s');
-
- sleep(5);
-
- $client->getStatus();
- }
-
- public function testGetIndexNames()
- {
- $client = $this->_getClient();
- $cluster = $client->getCluster();
-
- $indexName = 'elastica_test999';
- $index = $this->_createIndex($indexName);
- $index->delete();
- $cluster->refresh();
-
- // Checks that index does not exist
- $indexNames = $cluster->getIndexNames();
- $this->assertNotContains($index->getName(), $indexNames);
-
- $index = $this->_createIndex($indexName);
- $cluster->refresh();
-
- // Now index should exist
- $indexNames = $cluster->getIndexNames();
- $this->assertContains($index->getname(), $indexNames);
- }
-
- public function testGetHealth()
- {
- $client = $this->_getClient();
- $this->assertInstanceOf('Elastica\Cluster\Health', $client->getCluster()->getHealth());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ConnectionTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ConnectionTest.php
deleted file mode 100644
index 80cab9f0..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ConnectionTest.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Connection;
-use Elastica\Request;
-use Elastica\Test\Base as BaseTest;
-
-class ConnectionTest extends BaseTest
-{
-
- public function testEmptyConstructor()
- {
- $connection = new Connection();
- $this->assertEquals(Connection::DEFAULT_HOST, $connection->getHost());
- $this->assertEquals(Connection::DEFAULT_PORT, $connection->getPort());
- $this->assertEquals(Connection::DEFAULT_TRANSPORT, $connection->getTransport());
- $this->assertInstanceOf('Elastica\Transport\AbstractTransport', $connection->getTransportObject());
- $this->assertEquals(Connection::TIMEOUT, $connection->getTimeout());
- $this->assertEquals(array(), $connection->getConfig());
- $this->assertTrue($connection->isEnabled());
- }
-
- public function testEnabledDisable()
- {
- $connection = new Connection();
- $this->assertTrue($connection->isEnabled());
- $connection->setEnabled(false);
- $this->assertFalse($connection->isEnabled());
- $connection->setEnabled(true);
- $this->assertTrue($connection->isEnabled());
- }
-
- /**
- * @expectedException \Elastica\Exception\ConnectionException
- */
- public function testInvalidConnection()
- {
- $connection = new Connection(array('port' => 9999));
-
- $request = new Request('_status', Request::GET);
- $request->setConnection($connection);
-
- // Throws exception because no valid connection
- $request->send();
- }
-
- public function testCreate()
- {
- $connection = Connection::create();
- $this->assertInstanceOf('Elastica\Connection', $connection);
-
- $connection = Connection::create(array());
- $this->assertInstanceOf('Elastica\Connection', $connection);
-
- $port = 9999;
- $connection = Connection::create(array('port' => $port));
- $this->assertInstanceOf('Elastica\Connection', $connection);
- $this->assertEquals($port, $connection->getPort());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testCreateInvalid()
- {
- Connection::create('test');
- }
-
- public function testGetConfig()
- {
- $url = 'test';
- $connection = new Connection(array('config' => array('url' => $url)));
- $this->assertTrue($connection->hasConfig('url'));
- $this->assertEquals($url, $connection->getConfig('url'));
- }
-
- public function testGetConfigWithArrayUsedForTransport()
- {
- $connection = new Connection(array('transport' => array('type' => 'Http')));
- $this->assertInstanceOf('Elastica\Transport\Http', $connection->getTransportObject());
- }
-
- /**
- * @expectedException Elastica\Exception\InvalidException
- * @expectedExceptionMessage Invalid transport
- */
- public function testGetInvalidConfigWithArrayUsedForTransport()
- {
- $connection = new Connection(array('transport' => array('type' => 'invalidtransport')));
- $connection->getTransportObject();
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testGetConfigInvalidValue()
- {
- $connection = new Connection();
- $connection->getConfig('url');
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/DocumentTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/DocumentTest.php
deleted file mode 100644
index 27fc5184..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/DocumentTest.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Document;
-use Elastica\Exception\InvalidException;
-use Elastica\Script;
-use Elastica\Index;
-use Elastica\Type;
-use Elastica\Test\Base as BaseTest;
-
-class DocumentTest extends BaseTest
-{
- public function testAddFile()
- {
- $fileName = '/dev/null';
- if(!file_exists($fileName)){
- $this->markTestSkipped("File {$fileName} does not exist.");
- }
- $doc = new Document();
- $returnValue = $doc->addFile('key', $fileName);
- $this->assertInstanceOf('Elastica\Document', $returnValue);
- }
-
- public function testAddGeoPoint()
- {
- $doc = new Document();
- $returnValue = $doc->addGeoPoint('point', 38.89859, -77.035971);
- $this->assertInstanceOf('Elastica\Document', $returnValue);
- }
-
- public function testSetData()
- {
- $doc = new Document();
- $returnValue = $doc->setData(array('data'));
- $this->assertInstanceOf('Elastica\Document', $returnValue);
- }
-
- public function testToArray()
- {
- $id = 17;
- $data = array('hello' => 'world');
- $type = 'testtype';
- $index = 'textindex';
-
- $doc = new Document($id, $data, $type, $index);
-
- $result = array('_index' => $index, '_type' => $type, '_id' => $id, '_source' => $data);
- $this->assertEquals($result, $doc->toArray());
- }
-
- public function testSetType()
- {
- $document = new Document();
- $document->setType('type');
-
- $this->assertEquals('type', $document->getType());
-
- $index = new Index($this->_getClient(), 'index');
- $type = $index->getType('type');
-
- $document->setIndex('index2');
- $this->assertEquals('index2', $document->getIndex());
-
- $document->setType($type);
-
- $this->assertEquals('index', $document->getIndex());
- $this->assertEquals('type', $document->getType());
- }
-
- public function testSetIndex()
- {
- $document = new Document();
- $document->setIndex('index2');
- $document->setType('type2');
-
- $this->assertEquals('index2', $document->getIndex());
- $this->assertEquals('type2', $document->getType());
-
- $index = new Index($this->_getClient(), 'index');
-
- $document->setIndex($index);
-
- $this->assertEquals('index', $document->getIndex());
- $this->assertEquals('type2', $document->getType());
- }
-
- public function testHasId()
- {
- $document = new Document();
- $this->assertFalse($document->hasId());
- $document->setId('');
- $this->assertFalse($document->hasId());
- $document->setId(0);
- $this->assertTrue($document->hasId());
- $document->setId('hello');
- $this->assertTrue($document->hasId());
- }
-
- public function testGetOptions()
- {
- $document = new Document();
- $document->setIndex('index');
- $document->setOpType('create');
- $document->setParent('2');
- $document->setId(1);
-
- $options = $document->getOptions(array('index', 'type', 'id', 'parent'));
-
- $this->assertInternalType('array', $options);
- $this->assertEquals(3, count($options));
- $this->assertArrayHasKey('index', $options);
- $this->assertArrayHasKey('id', $options);
- $this->assertArrayHasKey('parent', $options);
- $this->assertEquals('index', $options['index']);
- $this->assertEquals(1, $options['id']);
- $this->assertEquals('2', $options['parent']);
- $this->assertArrayNotHasKey('type', $options);
- $this->assertArrayNotHasKey('op_type', $options);
- $this->assertArrayNotHasKey('_index', $options);
- $this->assertArrayNotHasKey('_id', $options);
- $this->assertArrayNotHasKey('_parent', $options);
-
- $options = $document->getOptions(array('parent', 'op_type', 'percolate'), true);
-
- $this->assertInternalType('array', $options);
- $this->assertEquals(2, count($options));
- $this->assertArrayHasKey('_parent', $options);
- $this->assertArrayHasKey('_op_type', $options);
- $this->assertEquals('2', $options['_parent']);
- $this->assertEquals('create', $options['_op_type']);
- $this->assertArrayNotHasKey('percolate', $options);
- $this->assertArrayNotHasKey('op_type', $options);
- $this->assertArrayNotHasKey('parent', $options);
- }
-
- public function testGetSetHasRemove()
- {
- $document = new Document(1, array('field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3', 'field4' => null));
-
- $this->assertEquals('value1', $document->get('field1'));
- $this->assertEquals('value2', $document->get('field2'));
- $this->assertEquals('value3', $document->get('field3'));
- $this->assertNull($document->get('field4'));
- try {
- $document->get('field5');
- $this->fail('Undefined field get should throw exception');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- $this->assertTrue($document->has('field1'));
- $this->assertTrue($document->has('field2'));
- $this->assertTrue($document->has('field3'));
- $this->assertTrue($document->has('field4'));
- $this->assertFalse($document->has('field5'), 'Field5 should not be isset, because it is not set');
-
- $data = $document->getData();
-
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2', $data['field2']);
- $this->assertArrayHasKey('field3', $data);
- $this->assertEquals('value3', $data['field3']);
- $this->assertArrayHasKey('field4', $data);
- $this->assertNull($data['field4']);
-
- $returnValue = $document->set('field1', 'changed1');
- $this->assertInstanceOf('Elastica\Document', $returnValue);
- $returnValue = $document->remove('field3');
- $this->assertInstanceOf('Elastica\Document', $returnValue);
- try {
- $document->remove('field5');
- $this->fail('Undefined field unset should throw exception');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- $this->assertEquals('changed1', $document->get('field1'));
- $this->assertFalse($document->has('field3'));
-
- $newData = $document->getData();
-
- $this->assertNotEquals($data, $newData);
- }
-
- public function testDataPropertiesOverloading()
- {
- $document = new Document(1, array('field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3', 'field4' => null));
-
- $this->assertEquals('value1', $document->field1);
- $this->assertEquals('value2', $document->field2);
- $this->assertEquals('value3', $document->field3);
- $this->assertNull($document->field4);
- try {
- $document->field5;
- $this->fail('Undefined field get should throw exception');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- $this->assertTrue(isset($document->field1));
- $this->assertTrue(isset($document->field2));
- $this->assertTrue(isset($document->field3));
- $this->assertFalse(isset($document->field4), 'Field4 should not be isset, because it is null');
- $this->assertFalse(isset($document->field5), 'Field5 should not be isset, because it is not set');
-
- $data = $document->getData();
-
- $this->assertArrayHasKey('field1', $data);
- $this->assertEquals('value1', $data['field1']);
- $this->assertArrayHasKey('field2', $data);
- $this->assertEquals('value2', $data['field2']);
- $this->assertArrayHasKey('field3', $data);
- $this->assertEquals('value3', $data['field3']);
- $this->assertArrayHasKey('field4', $data);
- $this->assertNull($data['field4']);
-
- $document->field1 = 'changed1';
- unset($document->field3);
- try {
- unset($document->field5);
- $this->fail('Undefined field unset should throw exception');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- $this->assertEquals('changed1', $document->field1);
- $this->assertFalse(isset($document->field3));
-
- $newData = $document->getData();
-
- $this->assertNotEquals($data, $newData);
- }
-
- public function testSetTtl()
- {
- $document = new Document();
-
- $this->assertFalse($document->hasTtl());
- $options = $document->getOptions();
- $this->assertArrayNotHasKey('ttl', $options);
-
- $document->setTtl('1d');
-
- $newOptions = $document->getOptions();
-
- $this->assertArrayHasKey('ttl', $newOptions);
- $this->assertEquals('1d', $newOptions['ttl']);
- $this->assertNotEquals($options, $newOptions);
-
- $this->assertTrue($document->hasTtl());
- $this->assertEquals('1d', $document->getTtl());
- }
-
- public function testSerializedData()
- {
- $data = '{"user":"rolf"}';
- $document = new Document(1, $data);
-
- $this->assertFalse($document->has('user'));
-
- try {
- $document->get('user');
- $this->fail('User field should not be available');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $document->remove('user');
- $this->fail('User field should not be available for removal');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $document->set('name', 'shawn');
- $this->fail('Document should not allow to set new data');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
- }
-
- public function testUpsert()
- {
- $document = new Document();
-
- $upsert = new Document();
- $upsert->setData(array('someproperty' => 'somevalue'));
-
- $this->assertFalse($document->hasUpsert());
-
- $document->setUpsert($upsert);
-
- $this->assertTrue($document->hasUpsert());
- $this->assertSame($upsert, $document->getUpsert());
- }
-
- public function testDocAsUpsert()
- {
- $document = new Document();
-
- $this->assertFalse($document->getDocAsUpsert());
- $this->assertSame($document, $document->setDocAsUpsert(true));
- $this->assertTrue($document->getDocAsUpsert());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ExampleTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ExampleTest.php
deleted file mode 100644
index 0331e389..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ExampleTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Test\Base as BaseTest;
-
-/**
- * Tests the example code
- */
-class ExampleTest extends BaseTest
-{
- public function testBasicGettingStarted() {
-
- $client = new \Elastica\Client();
- $index = $client->getIndex('ruflin');
- $type = $index->getType('users');
-
- $id = 2;
- $data = array('firstname' => 'Nicolas', 'lastname' => 'Ruflin');
- $doc = new \Elastica\Document($id, $data);
-
- $type->addDocument($doc);
-
- }
-
- public function testExample()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test');
- $index->create(array(), true);
-
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
-
- $resultSet = $type->search('rolf');
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/NotImplementedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/NotImplementedTest.php
deleted file mode 100644
index ff704638..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/NotImplementedTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Elastica\Test\Exception;
-
-use Elastica\Exception\NotImplementedException;
-use Elastica\Test\Base as BaseTest;
-
-class NotImplementedTest extends BaseTest
-{
- public function testInstance()
- {
- $code = 4;
- $message = 'Hello world';
- $exception = new NotImplementedException($message, $code);
-
- $this->assertInstanceOf('Elastica\Exception\NotImplementedException', $exception);
- $this->assertInstanceOf('Elastica\Exception\ExceptionInterface', $exception);
- $this->assertInstanceOf('Exception', $exception);
-
- $this->assertEquals($message, $exception->getMessage());
- $this->assertEquals($code, $exception->getCode());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/PartialShardFailureExceptionTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/PartialShardFailureExceptionTest.php
deleted file mode 100644
index 31698e26..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/PartialShardFailureExceptionTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-namespace Elastica\Test\Exception;
-
-use Elastica\Document;
-use Elastica\Exception\PartialShardFailureException;
-use Elastica\Query;
-use Elastica\ResultSet;
-use Elastica\Test\Base as BaseTest;
-
-class PartialShardFailureExceptionTest extends BaseTest
-{
-
- public function testPartialFailure()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_partial_failure');
- $index->create(array(
- 'index' => array(
- 'number_of_shards' => 5,
- 'number_of_replicas' => 0
- )
- ), true);
-
- $type = $index->getType('folks');
-
- $type->addDocument(new Document('', array('name' => 'ruflin')));
- $type->addDocument(new Document('', array('name' => 'bobrik')));
- $type->addDocument(new Document('', array('name' => 'kimchy')));
-
- $index->refresh();
-
- $query = Query::create(array(
- 'query' => array(
- 'filtered' => array(
- 'filter' => array(
- 'script' => array(
- 'script' => 'doc["undefined"] > 8', // compiles, but doesn't work
- ),
- ),
- ),
- ),
- ));
-
- try {
- $index->search($query);
-
- $this->fail('PartialShardFailureException should have been thrown');
- } catch (PartialShardFailureException $e) {
- $resultSet = new ResultSet($e->getResponse(), $query);
- $this->assertEquals(0, count($resultSet->getResults()));
- }
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/ResponseExceptionTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/ResponseExceptionTest.php
deleted file mode 100644
index 06b5462b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Exception/ResponseExceptionTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Elastica\Test\Exception;
-
-use Elastica\Document;
-use Elastica\Exception\ResponseException;
-use Elastica\Test\Base as BaseTest;
-
-class ResponseExceptionTest extends BaseTest
-{
-
- public function testCreateExistingIndex()
- {
- $this->_createIndex('woo', true);
-
- try {
- $this->_createIndex('woo', false);
- $this->fail('Index created when it should fail');
- } catch (ResponseException $ex) {
- $this->assertEquals('IndexAlreadyExistsException', $ex->getElasticsearchException()->getExceptionName());
- $this->assertEquals(400, $ex->getElasticsearchException()->getCode());
- }
- }
-
- public function testBadType()
- {
- $index = $this->_createIndex('woo');
- $type = $index->getType('test');
-
- $type->setMapping(array(
- 'num' => array(
- 'type' => 'long'
- )
- ));
-
- try {
- $type->addDocument(new Document('', array(
- 'num' => 'not number at all',
- )));
- $this->fail('Indexing with wrong type should fail');
- } catch (ResponseException $ex) {
- $this->assertEquals('MapperParsingException', $ex->getElasticsearchException()->getExceptionName());
- $this->assertEquals(400, $ex->getElasticsearchException()->getCode());
- }
- }
-
- public function testWhatever()
- {
- $index = $this->_createIndex('woo');
- $index->delete();
-
- try {
- $index->search();
- } catch (ResponseException $ex) {
- $this->assertEquals('IndexMissingException', $ex->getElasticsearchException()->getExceptionName());
- $this->assertEquals(404, $ex->getElasticsearchException()->getCode());
- }
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/DateHistogramTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/DateHistogramTest.php
deleted file mode 100644
index 46dcdbf9..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/DateHistogramTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Facet\DateHistogram;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type\Mapping;
-
-class DateHistogramTest extends BaseTest
-{
- public function testClassHierarchy()
- {
- $facet = new DateHistogram('dateHist1');
- $this->assertInstanceOf('Elastica\Facet\Histogram', $facet);
- $this->assertInstanceOf('Elastica\Facet\AbstractFacet', $facet);
- unset($facet);
- }
-
- public function testTest()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no'),
- 'dtmPosted' => array('type' => 'date', 'store' => 'no', 'format' => 'yyyy-MM-dd HH:mm:ss')
- ));
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'nicolas ruflin', 'dtmPosted' => "2011-06-23 21:53:00"));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'raul martinez jr', 'dtmPosted' => "2011-06-23 09:53:00"));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'rachelle clemente', 'dtmPosted' => "2011-07-08 08:53:00"));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'elastica search', 'dtmPosted' => "2011-07-08 01:53:00"));
- $type->addDocument($doc);
-
- $facet = new DateHistogram('dateHist1');
- $facet->setInterval("day");
- $facet->setField("dtmPosted");
-
- $query = new Query();
- $query->addFacet($facet);
- $query->setQuery(new MatchAll());
- $index->refresh();
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(4, $response->getTotalHits());
- $this->assertEquals(2, count($facets['dateHist1']['entries']));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/FilterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/FilterTest.php
deleted file mode 100644
index ca6f5ba3..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/FilterTest.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Filter\Term;
-use Elastica\Facet\Filter;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class FilterTest extends BaseTest
-{
- public function testFilter()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $type->addDocument(new Document(1, array('color' => 'red')));
- $type->addDocument(new Document(2, array('color' => 'green')));
- $type->addDocument(new Document(3, array('color' => 'blue')));
-
- $index->refresh();
-
- $filter = new Term(array('color' => 'red'));
-
- $facet = new Filter('test');
- $facet->setFilter($filter);
-
- $query = new Query();
- $query->addFacet($facet);
-
- $resultSet = $type->search($query);
-
- $facets = $resultSet->getFacets();
-
- $this->assertEquals(1, $facets['test']['count']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/GeoClusterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/GeoClusterTest.php
deleted file mode 100644
index d06b58f9..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/GeoClusterTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Test\Base as BaseTest;
-
-class GeoClusterTest extends BaseTest{
- public function testQuery() {
- $client = $this->_getClient();
- $nodes = $client->getCluster()->getNodes();
- if(!$nodes[0]->getInfo()->hasPlugin('geocluster-facet')){
- $this->markTestSkipped('geocluster-facet plugin not installed');
- }
-
- $index = $this->_createIndex('geocluster_test');
- $type = $index->getType('testQuery');
- $geoField = 'location';
-
- $type->setMapping(new \Elastica\Type\Mapping($type, array(
- $geoField => array( 'type' => 'geo_point', 'lat_lon' => true )
- )));
-
- $doc = new \Elastica\Document(1, array('name' => 'item1', 'location' => array(20,20)));
- $type->addDocument($doc);
-
- $doc = new \Elastica\Document(2, array('name' => 'item2', 'location' => array(20,20)));
- $type->addDocument($doc);
-
- $doc = new \Elastica\Document(3, array('name' => 'item3', 'location' => array(20,20)));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $facet = new \Elastica\Facet\GeoCluster('clusters');
- $facet
- ->setField($geoField)
- ->setFactor(1)
- ->setShowIds(false);
- $query = new \Elastica\Query();
- $query->setFacets(array($facet));
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(1, count($facets['clusters']['clusters']));
-
- $index->delete();
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/QueryTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/QueryTest.php
deleted file mode 100644
index ef5d7ccd..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/QueryTest.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Facet\Query as FacetQuery;
-use Elastica\Query;
-use Elastica\Query\Term;
-use Elastica\Test\Base as BaseTest;
-
-class QueryTest extends BaseTest
-{
- public function testFilter()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $type->addDocument(new Document(1, array('color' => 'red')));
- $type->addDocument(new Document(2, array('color' => 'green')));
- $type->addDocument(new Document(3, array('color' => 'blue')));
-
- $index->refresh();
-
- $termQuery = new Term(array('color' => 'red'));
-
- $facet = new FacetQuery('test');
- $facet->setQuery($termQuery);
-
- $query = new Query();
- $query->addFacet($facet);
-
- $resultSet = $type->search($query);
-
- $facets = $resultSet->getFacets();
-
- $this->assertEquals(1, $facets['test']['count']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/StatisticalTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/StatisticalTest.php
deleted file mode 100644
index 0b528a79..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/StatisticalTest.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Facet\Statistical;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class StatisticalTest extends BaseTest
-{
- public function testStatisticalWithSetField()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('price' => 10));
- $type->addDocument($doc);
- $doc = new Document(2, array('price' => 35));
- $type->addDocument($doc);
- $doc = new Document(2, array('price' => 45));
- $type->addDocument($doc);
-
- $facet = new Statistical('stats');
- $facet->setField('price');
-
- $query = new Query();
- $query->addFacet($facet);
- $query->setQuery(new MatchAll());
-
- $index->refresh();
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(55, $facets['stats']['total']);
- $this->assertEquals(10, $facets['stats']['min']);
- $this->assertEquals(45, $facets['stats']['max']);
- }
-
- public function testStatisticalWithSetFields()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('price' => 10, 'price2' => 20));
- $type->addDocument($doc);
- $doc = new Document(2, array('price' => 35, 'price2' => 70));
- $type->addDocument($doc);
- $doc = new Document(2, array('price' => 45, 'price2' => 90));
- $type->addDocument($doc);
-
- $facet = new Statistical('stats');
- $facet->setFields(array('price','price2'));
-
- $query = new Query();
- $query->addFacet($facet);
- $query->setQuery(new MatchAll());
-
- $index->refresh();
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(165, $facets['stats']['total']);
- $this->assertEquals(10, $facets['stats']['min']);
- $this->assertEquals(90, $facets['stats']['max']);
- }
-
- /**
- * @todo
- */
- public function testStatisticalWithSetScript()
- {
- $this->markTestIncomplete('Test for setting the script value');
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsStatsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsStatsTest.php
deleted file mode 100644
index bea9b78d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsStatsTest.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Facet\TermsStats;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class TermsStatsTest extends BaseTest
-{
- public function testOrder()
- {
- $client = $this->_getClient();
- $index = $client->getIndex( 'test' );
- $index->create( array( ), true );
- $type = $index->getType( 'helloworld' );
-
- $doc = new Document( 1, array( 'name' => 'tom', 'paid' => 7 ) );
- $type->addDocument( $doc );
- $doc = new Document( 2, array( 'name' => 'tom', 'paid' => 2 ) );
- $type->addDocument( $doc );
- $doc = new Document( 3, array( 'name' => 'tom', 'paid' => 5 ) );
- $type->addDocument( $doc );
- $doc = new Document( 4, array( 'name' => 'mike', 'paid' => 13 ) );
- $type->addDocument( $doc );
- $doc = new Document( 5, array( 'name' => 'mike', 'paid' => 1 ) );
- $type->addDocument( $doc );
- $doc = new Document( 6, array( 'name' => 'mike', 'paid' => 15 ) );
- $type->addDocument( $doc );
-
- $facet = new TermsStats( 'test' );
- $facet->setKeyField( 'name' );
- $facet->setValueField( 'paid' );
- $facet->setOrder( 'reverse_total' );
-
- $query = new Query();
- $query->addFacet( $facet );
- $query->setQuery( new MatchAll() );
-
- $index->refresh();
-
- $response = $type->search( $query );
- $facets = $response->getFacets();
-
- $this->assertEquals(14, $facets[ 'test' ][ 'terms' ][0]['total'] );
- $this->assertEquals(29, $facets[ 'test' ][ 'terms' ][1]['total'] );
- }
-
- public function testQuery()
- {
- $client = $this->_getClient();
- $index = $client->getIndex( 'test' );
- $index->create( array( ), true );
- $type = $index->getType( 'helloworld' );
-
- $doc = new Document( 1, array( 'name' => 'tom', 'paid' => 7 ) );
- $type->addDocument( $doc );
- $doc = new Document( 2, array( 'name' => 'tom', 'paid' => 2 ) );
- $type->addDocument( $doc );
- $doc = new Document( 3, array( 'name' => 'tom', 'paid' => 5 ) );
- $type->addDocument( $doc );
- $doc = new Document( 4, array( 'name' => 'mike', 'paid' => 13 ) );
- $type->addDocument( $doc );
- $doc = new Document( 5, array( 'name' => 'mike', 'paid' => 1 ) );
- $type->addDocument( $doc );
- $doc = new Document( 6, array( 'name' => 'mike', 'paid' => 15 ) );
- $type->addDocument( $doc );
-
- $facet = new TermsStats( 'test' );
- $facet->setKeyField( 'name' );
- $facet->setValueField( 'paid' );
-
- $query = new Query();
- $query->addFacet( $facet );
- $query->setQuery( new MatchAll() );
-
- $index->refresh();
-
- $response = $type->search( $query );
- $facets = $response->getFacets();
-
- $this->assertEquals( 2, count( $facets[ 'test' ][ 'terms' ] ) );
- foreach ($facets[ 'test' ][ 'terms' ] as $facet) {
- if ($facet[ 'term' ] === 'tom') {
- $this->assertEquals( 14, $facet[ 'total' ] );
- }
- if ($facet[ 'term' ] === 'mike') {
- $this->assertEquals( 29, $facet[ 'total' ] );
- }
- }
- }
-
- public function testSetSize()
- {
- $facet = new TermsStats( 'test' );
- $facet->setSize(100);
-
- $data = $facet->toArray();
-
- $this->assertArrayHasKey('size', $data['terms_stats']);
- $this->assertEquals(100, $data['terms_stats']['size']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsTest.php
deleted file mode 100644
index e8521c5c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Facet/TermsTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Elastica\Test\Facet;
-
-use Elastica\Document;
-use Elastica\Facet\Terms;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class TermsTest extends BaseTest
-{
- public function testQuery()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('name' => 'nicolas ruflin'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'ruflin test'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'nicolas helloworld'));
- $type->addDocument($doc);
-
- $facet = new Terms('test');
- $facet->setField('name');
-
- $query = new Query();
- $query->addFacet($facet);
- $query->setQuery(new MatchAll());
-
- $index->refresh();
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(3, count($facets['test']['terms']));
- }
-
- public function testFacetScript()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('name' => 'rodolfo', 'last_name' => 'moraes'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'jose', 'last_name' => 'honjoya'));
- $type->addDocument($doc);
-
- $facet = new Terms('test');
- $facet->setField('name');
- $facet->setScript('term + " "+doc["last_name"].value');
-
- $query = new Query();
- $query->addFacet($facet);
- $query->setQuery(new MatchAll());
-
- $index->refresh();
-
- $response = $type->search($query);
- $facets = $response->getFacets();
-
- $this->assertEquals(2, count($facets['test']['terms']));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/AbstractTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/AbstractTest.php
deleted file mode 100644
index 1e47819f..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/AbstractTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Test\Base as BaseTest;
-
-class AbstractTest extends BaseTest
-{
- public function testSetCached()
- {
- $stubFilter = $this->getStub();
-
- $stubFilter->setCached(true);
- $arrayFilter = current($stubFilter->toArray());
- $this->assertTrue($arrayFilter['_cache']);
-
- $stubFilter->setCached(false);
- $arrayFilter = current($stubFilter->toArray());
- $this->assertFalse($arrayFilter['_cache']);
- }
-
- public function testSetCachedDefaultValue()
- {
- $stubFilter = $this->getStub();
-
- $stubFilter->setCached();
- $arrayFilter = current($stubFilter->toArray());
- $this->assertTrue($arrayFilter['_cache']);
- }
-
- public function testSetCacheKey()
- {
- $stubFilter = $this->getStub();
-
- $cacheKey = 'myCacheKey';
-
- $stubFilter->setCacheKey($cacheKey);
- $arrayFilter = current($stubFilter->toArray());
- $this->assertEquals($cacheKey, $arrayFilter['_cache_key']);
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testSetCacheKeyEmptyKey()
- {
- $stubFilter = $this->getStub();
-
- $cacheKey = '';
-
- $stubFilter->setCacheKey($cacheKey);
- }
-
- public function testSetName()
- {
- $stubFilter = $this->getStub();
-
- $name = 'myFilter';
-
- $stubFilter->setName($name);
- $arrayFilter = current($stubFilter->toArray());
- $this->assertEquals($name, $arrayFilter['_name']);
- }
-
- private function getStub()
- {
- return $this->getMockForAbstractClass('Elastica\Filter\AbstractFilter');
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolAndTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolAndTest.php
deleted file mode 100644
index 672c6c67..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolAndTest.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\BoolAnd;
-use Elastica\Filter\Ids;
-use Elastica\Test\Base as BaseTest;
-
-class BoolAndTest extends BaseTest
-{
- public function testToArray()
- {
- $and = new BoolAnd();
- $this->assertEquals(array('and' => array()), $and->toArray());
-
- $idsFilter = new Ids();
- $idsFilter->setIds(12);
-
- $and->addFilter($idsFilter);
- $and->addFilter($idsFilter);
-
- $expectedArray = array(
- 'and' => array(
- $idsFilter->toArray(),
- $idsFilter->toArray()
- )
- );
-
- $this->assertEquals($expectedArray, $and->toArray());
- }
-
- public function testSetCache()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'hello world'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'nicolas ruflin'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'ruflin'));
- $type->addDocument($doc);
-
- $and = new BoolAnd();
-
- $idsFilter1 = new Ids();
- $idsFilter1->setIds(1);
-
- $idsFilter2 = new Ids();
- $idsFilter2->setIds(1);
-
- $and->addFilter($idsFilter1);
- $and->addFilter($idsFilter2);
-
- $index->refresh();
- $and->setCached(true);
-
- $resultSet = $type->search($and);
-
- $this->assertEquals(1, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolNotTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolNotTest.php
deleted file mode 100644
index adcebf45..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolNotTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Ids;
-use Elastica\Filter\BoolNot;
-use Elastica\Test\Base as BaseTest;
-
-class BoolNotTest extends BaseTest
-{
- public function testToArray()
- {
- $idsFilter = new Ids();
- $idsFilter->setIds(12);
- $filter = new BoolNot($idsFilter);
-
- $expectedArray = array(
- 'not' => array(
- 'filter' => $idsFilter->toArray()
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolOrTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolOrTest.php
deleted file mode 100644
index 25234a8c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolOrTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\AbstractFilter;
-use Elastica\Filter\BoolOr;
-use Elastica\Filter\Ids;
-use Elastica\Test\Base as BaseTest;
-
-class BoolOrTest extends BaseTest
-{
- public function testAddFilter()
- {
- $filter = $this->getMockForAbstractClass('Elastica\Filter\AbstractFilter');
- $orFilter = new BoolOr();
- $returnValue = $orFilter->addFilter($filter);
- $this->assertInstanceOf('Elastica\Filter\BoolOr', $returnValue);
- }
-
- public function testToArray()
- {
- $orFilter = new BoolOr();
-
- $filter1 = new Ids();
- $filter1->setIds('1');
-
- $filter2 = new Ids();
- $filter2->setIds('2');
-
- $orFilter->addFilter($filter1);
- $orFilter->addFilter($filter2);
-
- $expectedArray = array(
- 'or' => array(
- $filter1->toArray(),
- $filter2->toArray()
- )
- );
-
- $this->assertEquals($expectedArray, $orFilter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolTest.php
deleted file mode 100644
index 60eb3a45..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/BoolTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use \Elastica\Query;
-use Elastica\Filter\Bool;
-use Elastica\Filter\Term;
-use Elastica\Filter\Ids;
-use Elastica\Test\Base as BaseTest;
-
-class BoolTest extends BaseTest
-{
- public function testToArray()
- {
- $mainBool = new Bool();
-
- $idsFilter1 = new Ids();
- $idsFilter1->setIds(1);
- $idsFilter2 = new Ids();
- $idsFilter2->setIds(2);
- $idsFilter3 = new Ids();
- $idsFilter3->setIds(3);
-
- $childBool = new Bool();
- $childBool->addShould(array($idsFilter1, $idsFilter2));
- $mainBool->addShould(array($childBool, $idsFilter3));
-
- $expectedArray = array(
- 'bool' => array(
- 'should' => array(
- array(
- array(
- 'bool' => array(
- 'should' => array(
- array(
- $idsFilter1->toArray(),
- $idsFilter2->toArray()
- )
- )
- )
- ),
- $idsFilter3->toArray()
- )
- )
- )
- );
-
- $this->assertEquals($expectedArray, $mainBool->toArray());
- }
-
- public function testBoolFilter()
- {
- $index = $this->_createIndex('bool_filter_test');
- $type = $index->getType('book');
-
- //index some test data
- $type->addDocument(new \Elastica\Document(1, array('author' => 'Michael Shermer', 'title' => 'The Believing Brain', 'publisher' => 'Robinson')));
- $type->addDocument(new \Elastica\Document(2, array('author' => 'Jared Diamond', 'title' => 'Guns, Germs and Steel', 'publisher' => 'Vintage')));
- $type->addDocument(new \Elastica\Document(3, array('author' => 'Jared Diamond', 'title' => 'Collapse', 'publisher' => 'Penguin')));
- $type->addDocument(new \Elastica\Document(4, array('author' => 'Richard Dawkins', 'title' => 'The Selfish Gene', 'publisher' => 'OUP Oxford')));
- $type->addDocument(new \Elastica\Document(5, array('author' => 'Anthony Burges', 'title' => 'A Clockwork Orange', 'publisher' => 'Penguin')));
-
- $index->refresh();
-
- //use the terms lookup feature to query for some data
- //build query
- //must
- // should
- // author = jared
- // author = richard
- // must_not
- // publisher = penguin
-
- //construct the query
- $query = new Query();
- $mainBoolFilter = new Bool();
- $shouldFilter = new Bool();
- $authorFilter1 = new Term();
- $authorFilter1->setTerm('author', 'jared');
- $authorFilter2 = new Term();
- $authorFilter2->setTerm('author', 'richard');
- $shouldFilter->addShould(array($authorFilter1, $authorFilter2));
-
- $mustNotFilter = new Bool();
- $publisherFilter = new Term();
- $publisherFilter->setTerm('publisher', 'penguin');
- $mustNotFilter->addMustNot($publisherFilter);
-
- $mainBoolFilter->addMust(array($shouldFilter, $mustNotFilter));
- $query->setFilter($mainBoolFilter);
- //execute the query
- $results = $index->search($query);
-
- //check the number of results
- $this->assertEquals($results->count(), 2, 'Bool filter with child Bool filters: number of results check');
-
- //count compare the id's
- $ids = array();
- /** @var \Elastica\Result $result **/
- foreach($results as $result){
- $ids[] = $result->getId();
- }
- $this->assertEquals($ids, array("2","4"), 'Bool filter with child Bool filters: result ID check');
-
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php
deleted file mode 100644
index 9e4f5b67..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ExistsTests.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Exists;
-use Elastica\Test\Base as BaseTest;
-
-class ExistsTest extends BaseTest
-{
- public function testToArray()
- {
- $field = 'test';
- $filter = new Exists($field);
-
- $expectedArray = array('exists' => array('field' => $field));
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-
- public function testSetField()
- {
- $field = 'test';
- $filter = new Exists($field);
-
- $this->assertEquals($field, $filter->getParam('field'));
-
- $newField = 'hello world';
- $this->assertInstanceOf('Elastica\Filter\Exists', $filter->setField($newField));
-
- $this->assertEquals($newField, $filter->getParam('field'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceRangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceRangeTest.php
deleted file mode 100644
index 4c4d2bcc..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceRangeTest.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\GeoDistanceRange;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class GeoDistanceRangeTest extends BaseTest
-{
- public function testGeoPoint()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
-
- $type = $index->getType('test');
-
- // Set mapping
- $type->setMapping(array('point' => array('type' => 'geo_point')));
-
- // Add doc 1
- $doc1 = new Document(1,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc1->addGeoPoint('point', 17, 19);
- $type->addDocument($doc1);
-
- // Add doc 2
- $doc2 = new Document(2,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc2->addGeoPoint('point', 30, 40);
- $type->addDocument($doc2);
-
- $index->optimize();
- $index->refresh();
-
- // Only one point should be in radius
- $query = new Query();
- $geoFilter = new GeoDistanceRange(
- 'point',
- array('lat' => 30, 'lon' => 40),
- array('from' => '0km', 'to' => '2km')
- );
-
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
- $this->assertEquals(1, $type->search($query)->count());
-
- // Both points should be inside
- $query = new Query();
- $geoFilter = new GeoDistanceRange(
- 'point',
- array('lat' => 30, 'lon' => 40),
- array('gte' => '0km', 'lte' => '40000km')
- );
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
- $index->refresh();
-
- $this->assertEquals(2, $type->search($query)->count());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidRange()
- {
- $geoFilter = new GeoDistanceRange(
- 'point',
- array('lat' => 30, 'lon' => 40),
- array('invalid' => '0km', 'lte' => '40000km')
- );
- }
-
- /**
- * @dataProvider invalidLocationDataProvider
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidLocation($location)
- {
- $geoFilter = new GeoDistanceRange(
- 'point',
- $location,
- array('gt' => '0km', 'lte' => '40000km')
- );
- }
-
- /**
- * @dataProvider constructDataProvider
- */
- public function testConstruct($key, $location, $ranges, $expected)
- {
- $filter = new GeoDistanceRange($key, $location, $ranges);
-
- $data = $filter->toArray();
-
- $this->assertEquals($expected, $data);
- }
-
- public function invalidLocationDataProvider()
- {
- return array(
- array(
- array('lat' => 1.0),
- ),
- array(
- array('lon' => 1.0),
- ),
- array(
- array(),
- ),
- array(
- new \stdClass(),
- ),
- array(
- null,
- ),
- array(
- true,
- ),
- array(
- false,
- )
- );
- }
-
- public function constructDataProvider()
- {
- return array(
- array(
- 'location',
- 'u09tvqx',
- array(
- 'from' => '10km',
- 'to' => '20km',
- ),
- array(
- 'geo_distance_range' => array(
- 'from' => '10km',
- 'to' => '20km',
- 'location' => 'u09tvqx',
- )
- )
- ),
- array(
- 'location',
- 'u09tvqx',
- array(
- 'to' => '20km',
- 'include_upper' => 0,
- 'from' => '10km',
- 'include_lower' => 1,
- ),
- array(
- 'geo_distance_range' => array(
- 'to' => '20km',
- 'include_upper' => false,
- 'from' => '10km',
- 'include_lower' => true,
- 'location' => 'u09tvqx',
- )
- )
- ),
- array(
- 'location',
- array(
- 'lon' => 2.35,
- 'lat' => 48.86,
- ),
- array(
- 'lte' => '20km',
- 'gt' => '10km',
- ),
- array(
- 'geo_distance_range' => array(
- 'lte' => '20km',
- 'gt' => '10km',
- 'location' => array(
- 'lat' => 48.86,
- 'lon' => 2.35,
- ),
- )
- )
- ),
- array(
- 'location',
- array(
- 'lat' => 48.86,
- 'lon' => 2.35,
- ),
- array(
- 'lt' => '20km',
- 'gte' => '10km',
- ),
- array(
- 'geo_distance_range' => array(
- 'lt' => '20km',
- 'gte' => '10km',
- 'location' => array(
- 'lat' => 48.86,
- 'lon' => 2.35,
- ),
- )
- )
- )
- );
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceTest.php
deleted file mode 100644
index a5049914..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoDistanceTest.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\GeoDistance;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class GeoDistanceTest extends BaseTest
-{
- public function testGeoPoint()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
-
- $type = $index->getType('test');
-
- // Set mapping
- $type->setMapping(array('point' => array('type' => 'geo_point')));
-
- // Add doc 1
- $doc1 = new Document(1,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc1->addGeoPoint('point', 17, 19);
- $type->addDocument($doc1);
-
- // Add doc 2
- $doc2 = new Document(2,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc2->addGeoPoint('point', 30, 40);
- $type->addDocument($doc2);
-
- $index->optimize();
- $index->refresh();
-
- // Only one point should be in radius
- $query = new Query();
- $geoFilter = new GeoDistance('point', array('lat' => 30, 'lon' => 40), '1km');
-
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
- $this->assertEquals(1, $type->search($query)->count());
-
- // Both points should be inside
- $query = new Query();
- $geoFilter = new GeoDistance('point', array('lat' => 30, 'lon' => 40), '40000km');
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
- $index->refresh();
-
- $this->assertEquals(2, $type->search($query)->count());
- }
-
- public function testConstructLatlon()
- {
- $key = 'location';
- $location = array(
- 'lat' => 48.86,
- 'lon' => 2.35
- );
- $distance = '10km';
-
- $filter = new GeoDistance($key, $location, $distance);
-
- $expected = array(
- 'geo_distance' => array(
- $key => $location,
- 'distance' => $distance
- )
- );
-
- $data = $filter->toArray();
-
- $this->assertEquals($expected, $data);
- }
-
- public function testConstructGeohash()
- {
- $key = 'location';
- $location = 'u09tvqx';
- $distance = '10km';
-
- $filter = new GeoDistance($key, $location, $distance);
-
- $expected = array(
- 'geo_distance' => array(
- $key => $location,
- 'distance' => $distance
- )
- );
-
- $data = $filter->toArray();
-
- $this->assertEquals($expected, $data);
- }
-
- public function testSetDistanceType()
- {
- $filter = new GeoDistance('location', array('lat' => 48.86, 'lon' => 2.35), '10km');
- $distanceType = GeoDistance::DISTANCE_TYPE_ARC;
- $filter->setDistanceType($distanceType);
-
- $data = $filter->toArray();
-
- $this->assertEquals($distanceType, $data['geo_distance']['distance_type']);
- }
-
- public function testSetOptimizeBbox()
- {
- $filter = new GeoDistance('location', array('lat' => 48.86, 'lon' => 2.35), '10km');
- $optimizeBbox = GeoDistance::OPTIMIZE_BBOX_MEMORY;
- $filter->setOptimizeBbox($optimizeBbox);
-
- $data = $filter->toArray();
-
- $this->assertEquals($optimizeBbox, $data['geo_distance']['optimize_bbox']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoPolygonTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoPolygonTest.php
deleted file mode 100644
index 7ebd738c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoPolygonTest.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\GeoPolygon;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class GeoPolygonTest extends BaseTest
-{
- public function testGeoPoint()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
-
- $type = $index->getType('test');
-
- // Set mapping
- $type->setMapping(array('location' => array('type' => 'geo_point')));
-
- // Add doc 1
- $doc1 = new Document(1,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc1->addGeoPoint('location', 17, 19);
- $type->addDocument($doc1);
-
- // Add doc 2
- $doc2 = new Document(2,
- array(
- 'name' => 'ruflin',
- )
- );
-
- $doc2->addGeoPoint('location', 30, 40);
- $type->addDocument($doc2);
-
- $index->refresh();
-
- // Only one point should be in polygon
- $query = new Query();
- $points = array(array(16, 16), array(16, 20), array(20, 20), array(20, 16), array(16, 16));
- $geoFilter = new GeoPolygon('location', $points);
-
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
- $this->assertEquals(1, $type->search($query)->count());
-
- // Both points should be inside
- $query = new Query();
- $points = array(array(16, 16), array(16, 40), array(40, 40), array(40, 16), array(16, 16));
- $geoFilter = new GeoPolygon('location', $points);
-
- $query = new Query(new MatchAll());
- $query->setFilter($geoFilter);
-
- $this->assertEquals(2, $type->search($query)->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapePreIndexedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapePreIndexedTest.php
deleted file mode 100644
index 21afec1a..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapePreIndexedTest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\AbstractGeoShape;
-use Elastica\Filter\GeoShapePreIndexed;
-use Elastica\Query\MatchAll;
-use Elastica\Query\Filtered;
-use Elastica\Test\Base as BaseTest;
-
-class GeoShapePreIndexedTest extends BaseTest
-{
- public function testGeoProvided()
- {
- $indexName = 'geo_shape_filter_test';
- $index = $this->_createIndex($indexName);
- $type = $index->getType('type');
- $otherType = $index->getType('other_type');
-
- // create mapping
- $mapping = new \Elastica\Type\Mapping($type, array(
- 'location' => array(
- 'type' => 'geo_shape'
- )
- ));
- $type->setMapping($mapping);
-
- // create other type mapping
- $otherMapping = new \Elastica\Type\Mapping($type, array(
- 'location' => array(
- 'type' => 'geo_shape'
- )
- ));
- $otherType->setMapping($otherMapping);
-
- // add type docs
- $type->addDocument(new \Elastica\Document('1', array(
- 'location' => array(
- "type" => "envelope",
- "coordinates" => array(
- array(0.0, 50.0),
- array(50.0, 0.0)
- )
- )
- )));
-
- // add other type docs
- $otherType->addDocument(new \Elastica\Document('2', array(
- 'location' => array(
- "type" => "envelope",
- "coordinates" => array(
- array(25.0, 75.0),
- array(75.0, 25.0)
- )
- )
- )));
-
- $index->optimize();
- $index->refresh();
-
- $gsp = new GeoShapePreIndexed(
- 'location', '1', 'type', 'elastica_'.$indexName, 'location'
- );
- $gsp->setRelation(AbstractGeoShape::RELATION_INTERSECT);
-
- $expected = array(
- 'geo_shape' => array(
- 'location' => array(
- 'indexed_shape' => array(
- 'id' => '1',
- 'type' => 'type',
- 'index' => 'elastica_'.$indexName,
- 'path' => 'location'
- ),
- 'relation' => $gsp->getRelation()
- )
- )
- );
-
- $this->assertEquals($expected, $gsp->toArray());
-
- $query = new Filtered(new MatchAll(), $gsp);
- $results = $index->getType('type')->search($query);
-
- $this->assertEquals(1, $results->count());
-
- $index->delete();
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapeProvidedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapeProvidedTest.php
deleted file mode 100644
index 146150a3..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeoShapeProvidedTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\AbstractGeoShape;
-use Elastica\Filter\GeoShapeProvided;
-use Elastica\Query\Filtered;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class GeoShapeProvidedTest extends BaseTest
-{
- public function testConstructEnvelope()
- {
- $index = $this->_createIndex('geo_shape_filter_test');
- $type = $index->getType('test');
-
- // create mapping
- $mapping = new \Elastica\Type\Mapping($type, array(
- 'location' => array(
- 'type' => 'geo_shape'
- )
- ));
- $type->setMapping($mapping);
-
- // add docs
- $type->addDocument(new \Elastica\Document(1, array(
- 'location' => array(
- "type" => "envelope",
- "coordinates" => array(
- array(-50.0, 50.0),
- array(50.0, -50.0)
- )
- )
- )));
-
- $index->optimize();
- $index->refresh();
-
- $envelope = array(
- array(25.0, 75.0),
- array(75.0, 25.0)
- );
- $gsp = new GeoShapeProvided('location', $envelope);
-
- $expected = array(
- 'geo_shape' => array(
- 'location' => array(
- 'shape' => array(
- 'type' => GeoShapeProvided::TYPE_ENVELOPE,
- 'coordinates' => $envelope
- ),
- 'relation' => AbstractGeoShape::RELATION_INTERSECT
- ),
- )
- );
-
- $this->assertEquals($expected, $gsp->toArray());
-
- $query = new Filtered(new MatchAll(), $gsp);
- $results = $type->search($query);
-
- $this->assertEquals(1, $results->count());
-
- $index->delete();
- }
-
- public function testConstructPolygon()
- {
- $polygon = array(array(102.0, 2.0), array(103.0, 2.0), array(103.0, 3.0), array(103.0, 3.0), array(102.0, 2.0));
- $gsp = new GeoShapeProvided('location', $polygon, GeoShapeProvided::TYPE_POLYGON);
-
- $expected = array(
- 'geo_shape' => array(
- 'location' => array(
- 'shape' => array(
- 'type' => GeoShapeProvided::TYPE_POLYGON,
- 'coordinates' => $polygon
- ),
- 'relation' => $gsp->getRelation()
- ),
- )
- );
-
- $this->assertEquals($expected, $gsp->toArray());
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeohashCellTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeohashCellTest.php
deleted file mode 100644
index 7cb8aef6..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/GeohashCellTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Test\Base as BaseTest;
-use Elastica\Filter\GeohashCell;
-
-class GeohashCellTest extends BaseTest
-{
- public function testToArray()
- {
- $filter = new GeohashCell('pin', array('lat' => 37.789018, 'lon' => -122.391506), '50m');
- $expected = array(
- 'geohash_cell' => array(
- 'pin' => array(
- 'lat' => 37.789018,
- 'lon' => -122.391506
- ),
- 'precision' => '50m',
- 'neighbors' => false
- )
- );
- $this->assertEquals($expected, $filter->toArray());
- }
-
- public function testFilter()
- {
- $index = $this->_createIndex('geohash_filter_test');
- $type = $index->getType('test');
- $mapping = new \Elastica\Type\Mapping($type, array(
- 'pin' => array(
- 'type' => 'geo_point',
- 'geohash' => true,
- 'geohash_prefix' => true
- )
- ));
- $type->setMapping($mapping);
-
- $type->addDocument(new \Elastica\Document(1, array('pin' => '9q8yyzm0zpw8')));
- $type->addDocument(new \Elastica\Document(2, array('pin' => '9mudgb0yued0')));
- $index->refresh();
-
- $filter = new GeohashCell('pin', array('lat' => 32.828326, 'lon' => -117.255854));
- $query = new \Elastica\Query();
- $query->setFilter($filter);
- $results = $type->search($query);
-
- $this->assertEquals(1, $results->count());
-
- //test precision parameter
- $filter = new GeohashCell('pin', '9', 1);
- $query = new \Elastica\Query();
- $query->setFilter($filter);
- $results = $type->search($query);
-
- $this->assertEquals(2, $results->count());
-
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php
deleted file mode 100644
index 8bba8173..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\HasChild;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class HasChildTest extends BaseTest
-{
- public function testToArray()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $filter = new HasChild($q, $type);
-
- $expectedArray = array(
- 'has_child' => array(
- 'query' => $q->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-
- public function testSetScope()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $scope = 'foo';
-
- $filter = new HasChild($q, $type);
- $filter->setScope($scope);
-
- $expectedArray = array(
- 'has_child' => array(
- 'query' => $q->toArray(),
- 'type' => $type,
- '_scope' => $scope
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-
- public function testFilterInsideHasChild()
- {
- $f = new \Elastica\Filter\MatchAll();
-
- $type = 'test';
-
- $filter = new HasChild($f, $type);
-
- $expectedArray = array(
- 'has_child' => array(
- 'filter' => $f->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
-
- }
-
- public function testFilterInsideHasChildSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Filter\Term();
- $f->setTerm('user', 'child1');
- $filter = new HasChild($f, 'child');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setFilter($filter);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- public function testQueryInsideHasChildSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Query\Term();
- $f->setTerm('user', 'child1');
- $filter = new HasChild($f, 'child');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setFilter($filter);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- public function testTypeInsideHasChildSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Query\Match();
- $f->setField('alt.name', 'testname');
- $filter = new HasChild($f, 'child');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setFilter($filter);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- private function prepareSearchData()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('has_child_test');
- $index->create(array(), true);
-
- $parentType = $index->getType('parent');
-
- $childType = $index->getType('child');
- $childMapping = new \Elastica\Type\Mapping($childType);
- $childMapping->setParent('parent');
- $childMapping->send();
-
- $altType = $index->getType('alt');
- $altDoc = new Document('alt1', array('name' => 'altname'));
- $altType->addDocument($altDoc);
-
- $parent1 = new Document('parent1', array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com'));
- $parentType->addDocument($parent1);
- $parent2 = new Document('parent2', array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com'));
- $parentType->addDocument($parent2);
-
- $child1 = new Document('child1', array('id' => 'child1', 'user' => 'child1', 'email' => 'child1@test.com'));
- $child1->setParent('parent1');
- $childType->addDocument($child1);
- $child2 = new Document('child2', array('id' => 'child2', 'user' => 'child2', 'email' => 'child2@test.com'));
- $child2->setParent('parent2');
- $childType->addDocument($child2);
- $child3 = new Document('child3', array('id' => 'child3', 'user' => 'child3', 'email' => 'child3@test.com', 'alt' => array(array('name' => 'testname'))));
- $child3->setParent('parent2');
- $childType->addDocument($child3);
-
- $index->refresh();
- return $index;
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasParentTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasParentTest.php
deleted file mode 100644
index 7998372b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasParentTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\HasParent;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class HasParentTest extends BaseTest
-{
- public function testToArray()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $filter = new HasParent($q, $type);
-
- $expectedArray = array(
- 'has_parent' => array(
- 'query' => $q->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-
- public function testSetScope()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $scope = 'foo';
-
- $filter = new HasParent($q, $type);
- $filter->setScope($scope);
-
- $expectedArray = array(
- 'has_parent' => array(
- 'query' => $q->toArray(),
- 'type' => $type,
- '_scope' => $scope
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-
- public function testFilterInsideHasParent()
- {
- $f = new \Elastica\Filter\MatchAll();
-
- $type = 'test';
-
- $filter = new HasParent($f, $type);
-
- $expectedArray = array(
- 'has_parent' => array(
- 'filter' => $f->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
-
- }
-
- public function testFilterInsideHasParentSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Filter\Term();
- $f->setTerm('user', 'parent1');
- $filter = new HasParent($f, 'parent');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setFilter($filter);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'child1', 'user' => 'child1', 'email' => 'child1@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- public function testQueryInsideHasParentSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Query\Term();
- $f->setTerm('user', 'parent1');
- $filter = new HasParent($f, 'parent');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setFilter($filter);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'child1', 'user' => 'child1', 'email' => 'child1@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- private function prepareSearchData()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('has_parent_test');
- $index->create(array(), true);
-
- $parentType = $index->getType('parent');
-
- $childType = $index->getType('child');
- $childMapping = new \Elastica\Type\Mapping($childType);
- $childMapping->setParent('parent');
- $childMapping->send();
-
- $parent1 = new Document('parent1', array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com'));
- $parentType->addDocument($parent1);
- $parent2 = new Document('parent2', array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com'));
- $parentType->addDocument($parent2);
-
- $child1 = new Document('child1', array('id' => 'child1', 'user' => 'child1', 'email' => 'child1@test.com'));
- $child1->setParent('parent1');
- $childType->addDocument($child1);
- $child2 = new Document('child2', array('id' => 'child2', 'user' => 'child2', 'email' => 'child2@test.com'));
- $child2->setParent('parent2');
- $childType->addDocument($child2);
-
- $index->refresh();
- return $index;
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IdsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IdsTest.php
deleted file mode 100644
index 3d6af870..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IdsTest.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\Ids;
-use Elastica\Filter\Type;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class IdsTest extends BaseTest
-{
- protected $_index;
- protected $_type;
-
- public function setUp()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
-
- $type1 = $index->getType('helloworld1');
- $type2 = $index->getType('helloworld2');
-
- // Add documents to first type
- for ($i = 1; $i < 100; $i++) {
- $doc = new Document($i, array('name' => 'ruflin'));
- $type1->addDocument($doc);
- }
-
- // Add documents to second type
- for ($i = 1; $i < 100; $i++) {
- $doc = new Document($i, array('name' => 'ruflin'));
- $type2->addDocument($doc);
- }
-
- // This is a special id that will only be in the second type
- $doc = new Document('101', array('name' => 'ruflin'));
- $type2->addDocument($doc);
-
- $index->optimize();
- $index->refresh();
-
- $this->_type = $type1;
- $this->_index = $index;
- }
-
- public function tearDown()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->delete();
- }
-
- public function testSetIdsSearchSingle()
- {
- $filter = new Ids();
- $filter->setIds('1');
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetIdsSearchArray()
- {
- $filter = new Ids();
- $filter->setIds(array(1, 7, 13));
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(3, $resultSet->count());
- }
-
- public function testAddIdsSearchSingle()
- {
- $filter = new Ids();
- $filter->addId('39');
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testAddIdsSearchSingleNotInType()
- {
- $filter = new Ids();
- $filter->addId('39');
-
- // Add an ID that is not in the index
- $filter->addId(104);
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testComboIdsSearchArray()
- {
- $filter = new Ids();
- $filter->setIds(array(1, 7, 13));
- $filter->addId('39');
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(4, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchSingle()
- {
- $filter = new Ids();
- $filter->setIds('1');
- $filter->setType('helloworld1');
-
- $query = Query::create($filter);
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchArray()
- {
- $filter = new Ids();
- $filter->setIds(array('1', '2'));
- $filter->setType('helloworld1');
-
- $query = Query::create($filter);
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchSingleDocInOtherType()
- {
- $filter = new Ids();
-
- // Doc 4 is in the second type...
- $filter->setIds('101');
- $filter->setType('helloworld1');
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- // ...therefore 0 results should be returned
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchArrayDocInOtherType()
- {
- $filter = new Ids();
-
- // Doc 4 is in the second type...
- $filter->setIds(array('1', '101'));
- $filter->setType('helloworld1');
-
- $query = Query::create($filter);
- $resultSet = $this->_type->search($query);
-
- // ...therefore only 1 result should be returned
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetTypeArraySearchArray()
- {
- $filter = new Ids();
- $filter->setIds(array('1', '4'));
- $filter->setType(array('helloworld1', 'helloworld2'));
-
- $query = Query::create($filter);
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(4, $resultSet->count());
- }
-
- public function testSetTypeArraySearchSingle()
- {
- $filter = new Ids();
- $filter->setIds('4');
- $filter->setType(array('helloworld1', 'helloworld2'));
-
- $query = Query::create($filter);
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testFilterTypeAndTypeCollision()
- {
- // This test ensures that Elastica\Type and Elastica\Filter\Type
- // do not collide when used together, which at one point
- // happened because of a use statement in Elastica\Filter\Ids
- // Test goal is to make sure a Fatal Error is not triggered
- $filterType = new Type();
- $filter = new Ids();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IndicesTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IndicesTest.php
deleted file mode 100644
index b682a5ce..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/IndicesTest.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\BoolNot;
-use Elastica\Filter\Indices;
-use Elastica\Filter\Term;
-use Elastica\Index;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class IndicesTest extends BaseTest
-{
- /**
- * @var Index
- */
- protected $_index1;
-
- /**
- * @var Index
- */
- protected $_index2;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index1 = $this->_createIndex('indices_filter_1');
- $this->_index2 = $this->_createIndex('indices_filter_2');
- $this->_index1->addAlias("indices_filter");
- $this->_index2->addAlias("indices_filter");
- $docs = array(
- new Document("1", array("color" => "blue")),
- new Document("2", array("color" => "green")),
- new Document("3", array("color" => "blue")),
- new Document("4", array("color" => "yellow")),
- );
- $this->_index1->getType("test")->addDocuments($docs);
- $this->_index2->getType("test")->addDocuments($docs);
- $this->_index1->refresh();
- $this->_index2->refresh();
- }
-
- protected function tearDown()
- {
- $this->_index1->delete();
- $this->_index2->delete();
- parent::tearDown();
- }
-
- public function testToArray()
- {
- $expected = array(
- "indices" => array(
- "indices" => array("index1", "index2"),
- "filter" => array(
- "term" => array("tag" => "wow")
- ),
- "no_match_filter" => array(
- "term" => array("tag" => "such filter")
- )
- )
- );
- $filter = new Indices(new Term(array("tag" => "wow")), array("index1", "index2"));
- $filter->setNoMatchFilter(new Term(array("tag" => "such filter")));
- $this->assertEquals($expected, $filter->toArray());
- }
-
- public function testIndicesFilter()
- {
- $filter = new Indices(new BoolNot(new Term(array("color" => "blue"))), array($this->_index1->getName()));
- $filter->setNoMatchFilter(new BoolNot(new Term(array("color" => "yellow"))));
- $query = new Query();
- $query->setFilter($filter);
-
- // search over the alias
- $index = $this->_getClient()->getIndex("indices_filter");
- $results = $index->search($query);
-
- // ensure that the proper docs have been filtered out for each index
- $this->assertEquals(5, $results->count());
- foreach ($results->getResults() as $result) {
- $data = $result->getData();
- $color = $data["color"];
- if ($result->getIndex() == $this->_index1->getName()) {
- $this->assertNotEquals("blue", $color);
- } else {
- $this->assertNotEquals("yellow", $color);
- }
- }
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MatchAllTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MatchAllTest.php
deleted file mode 100644
index 6696f11d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MatchAllTest.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class MatchAllTest extends BaseTest
-{
- public function testToArray()
- {
- $filter = new MatchAll();
-
- $expectedArray = array('match_all' => new \stdClass());
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MultiTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MultiTest.php
deleted file mode 100644
index f6513338..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/MultiTest.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\AbstractMulti;
-use Elastica\Filter\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class AbstractMultiTest extends BaseTest
-{
- public function testConstruct()
- {
- $stub = $this->getStub();
-
- $this->assertEmpty($stub->getFilters());
- }
-
- public function testAddFilter()
- {
- $stub = $this->getStub();
-
- $filter = new MatchAll();
- $stub->addFilter($filter);
-
- $expected = array(
- $filter->toArray()
- );
-
- $this->assertEquals($expected, $stub->getFilters());
- }
-
- public function testSetFilters()
- {
- $stub = $this->getStub();
-
- $filter = new MatchAll();
- $stub->setFilters(array($filter));
-
- $expected = array(
- $filter->toArray()
- );
-
- $this->assertEquals($expected, $stub->getFilters());
- }
-
- public function testToArray()
- {
- $stub = $this->getStub();
-
- $filter = new MatchAll();
- $stub->addFilter($filter);
-
- $expected = array(
- $stub->getBaseName() => array(
- $filter->toArray()
- )
- );
-
- $this->assertEquals($expected, $stub->toArray());
- }
-
- public function testToArrayWithParam()
- {
- $stub = $this->getStub();
-
- $stub->setCached(true);
-
- $filter = new MatchAll();
- $stub->addFilter($filter);
-
- $expected = array(
- $stub->getBaseName() => array(
- '_cache' => true,
- 'filters' => array(
- $filter->toArray()
- )
- )
- );
-
- $this->assertEquals($expected, $stub->toArray());
- }
-
- private function getStub()
- {
- return $this->getMockForAbstractClass('Elastica\Test\Filter\AbstractMultiDebug');
- }
-}
-
-class AbstractMultiDebug extends AbstractMulti
-{
- public function getBaseName()
- {
- return parent::_getBaseName();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedFilterWithSetFilterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedFilterWithSetFilterTest.php
deleted file mode 100644
index 12dbb598..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedFilterWithSetFilterTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\Nested;
-use Elastica\Filter\Terms;
-use Elastica\Search;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class NestedFilterWithSetFilterTest extends BaseTest
-{
- public function setUp()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested_abstract_filter');
- $index->create(array(), true);
- $type = $index->getType('user');
- $mapping = new Mapping();
- $mapping->setProperties(
- array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- // default is store => no expected
- 'lastname' => array('type' => 'string'),
- 'hobbies' => array(
- 'type' => 'nested',
- 'include_in_parent' => true,
- 'properties' => array('hobby' => array('type' => 'string'))
- )
- )
- );
- $type->setMapping($mapping);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(1,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ruflin',
- 'hobbies' => array(
- array('hobby' => 'opensource')
- )
- )
- );
- $docs[] = new Document(2,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ippolito',
- 'hobbies' => array(
- array('hobby' => 'opensource'),
- array('hobby' => 'guitar'),
- )
- )
- );
- $response = $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
- }
-
- public function tearDown()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested_abstract_filter');
- $index->delete();
- }
-
- public function testToArray()
- {
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setFilter($q);
-
- $expectedArray = array(
- 'nested' => array(
- 'path' => 'hobbies',
- 'filter' => array('terms' => array(
- 'hobby' => array('guitar')
- ))
- )
- );
-
- $this->assertEquals($expectedArray, $f->toArray());
- }
-
- public function testShouldReturnTheRightNumberOfResult()
- {
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setFilter($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested_abstract_filter');
- $s->addIndex($i);
- $r = $s->search($f);
-
- $this->assertEquals(1, $r->getTotalHits());
-
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('opensource'));
- $f->setPath('hobbies');
- $f->setFilter($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested_abstract_filter');
- $s->addIndex($i);
- $r = $s->search($f);
- $this->assertEquals(2, $r->getTotalHits());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
deleted file mode 100644
index 8d0d2004..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\Nested;
-use Elastica\Query\Terms;
-use Elastica\Search;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class NestedTest extends BaseTest
-{
- public function setUp()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested');
- $index->create(array(), true);
- $type = $index->getType('user');
- $mapping = new Mapping();
- $mapping->setProperties(
- array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- // default is store => no expected
- 'lastname' => array('type' => 'string'),
- 'hobbies' => array(
- 'type' => 'nested',
- 'include_in_parent' => true,
- 'properties' => array('hobby' => array('type' => 'string'))
- )
- )
- );
- $type->setMapping($mapping);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(1,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ruflin',
- 'hobbies' => array(
- array('hobby' => 'opensource')
- )
- )
- );
- $docs[] = new Document(2,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ippolito',
- 'hobbies' => array(
- array('hobby' => 'opensource'),
- array('hobby' => 'guitar'),
- )
- )
- );
- $response = $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
- }
-
- public function tearDown()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested');
- $index->delete();
- }
-
- public function testToArray()
- {
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setQuery($q);
-
- $expectedArray = array(
- 'nested' => array(
- 'path' => 'hobbies',
- 'query' => array('terms' => array(
- 'hobby' => array('guitar')
- ))
- )
- );
-
- $this->assertEquals($expectedArray, $f->toArray());
- }
-
- public function testShouldReturnTheRightNumberOfResult()
- {
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setQuery($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested');
- $s->addIndex($i);
- $r = $s->search($f);
-
- $this->assertEquals(1, $r->getTotalHits());
-
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('opensource'));
- $f->setPath('hobbies');
- $f->setQuery($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested');
- $s->addIndex($i);
- $r = $s->search($f);
- $this->assertEquals(2, $r->getTotalHits());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NumericRangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NumericRangeTest.php
deleted file mode 100644
index 6cc2de06..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NumericRangeTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\NumericRange;
-use Elastica\Test\Base as BaseTest;
-
-class NumericRangeTest extends BaseTest
-{
- public function testAddField()
- {
- $rangeFilter = new NumericRange();
- $returnValue = $rangeFilter->addField('fieldName', array('to' => 'value'));
- $this->assertInstanceOf('Elastica\Filter\NumericRange', $returnValue);
- }
-
- public function testToArray()
- {
- $filter = new NumericRange();
-
- $fromTo = array('from' => 'ra', 'to' => 'ru');
- $filter->addField('name', $fromTo);
-
- $expectedArray = array(
- 'numeric_range' => array(
- 'name' => $fromTo
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/PrefixTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/PrefixTest.php
deleted file mode 100644
index 16362140..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/PrefixTest.php
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\Prefix;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class PrefixTest extends BaseTest
-{
- public function testToArray()
- {
- $field = 'name';
- $prefix = 'ruf';
-
- $filter = new Prefix($field, $prefix);
-
- $expectedArray = array(
- 'prefix' => array(
- $field => $prefix
- )
- );
-
- $this->assertequals($expectedArray, $filter->toArray());
- }
-
- public function testDifferentPrefixes()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- /*$indexParams = array(
- 'analysis' => array(
- 'analyzer' => array(
- 'lw' => array(
- 'type' => 'custom',
- 'tokenizer' => 'keyword',
- 'filter' => array('lowercase')
- )
- ),
- )
- );*/
-
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'index' => 'not_analyzed'),
- )
- );
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
- $doc = new Document(5, array('name' => 'New Orleans'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $query = new Prefix('name', 'Ba');
- $resultSet = $index->search($query);
- $this->assertEquals(3, $resultSet->count());
-
- // Lower case should not return a result
- $query = new Prefix('name', 'ba');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
-
- $query = new Prefix('name', 'Baden');
- $resultSet = $index->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $query = new Prefix('name', 'Baden B');
- $resultSet = $index->search($query);
- $this->assertEquals(1, $resultSet->count());
-
- $query = new Prefix('name', 'Baden Bas');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testDifferentPrefixesLowercase()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $indexParams = array(
- 'analysis' => array(
- 'analyzer' => array(
- 'lw' => array(
- 'type' => 'custom',
- 'tokenizer' => 'keyword',
- 'filter' => array('lowercase')
- )
- ),
- )
- );
-
- $index->create($indexParams, true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'lw'),
- )
- );
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
- $doc = new Document(5, array('name' => 'New Orleans'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $query = new Prefix('name', 'ba');
- $resultSet = $index->search($query);
- $this->assertEquals(3, $resultSet->count());
-
- // Upper case should not return a result
- $query = new Prefix('name', 'Ba');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
-
- $query = new Prefix('name', 'baden');
- $resultSet = $index->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $query = new Prefix('name', 'baden b');
- $resultSet = $index->search($query);
- $this->assertEquals(1, $resultSet->count());
-
- $query = new Prefix('name', 'baden bas');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/QueryTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/QueryTest.php
deleted file mode 100644
index 0a331098..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/QueryTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Query\QueryString;
-use Elastica\Filter\Query;
-use Elastica\Test\Base as BaseTest;
-
-class QueryTest extends BaseTest
-{
- public function testSimple()
- {
- $query = new QueryString('foo bar');
- $filter = new Query($query);
-
- $expected = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'foo bar',
- )
- )
- );
-
- $this->assertEquals($expected, $filter->toArray());
- }
-
- public function testExtended()
- {
- $query = new QueryString('foo bar');
- $filter = new Query($query);
- $filter->setCached(true);
-
- $expected = array(
- 'fquery' => array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'foo bar',
- ),
- ),
- '_cache' => true
- )
- );
-
- $this->assertEquals($expected, $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RangeTest.php
deleted file mode 100644
index bf2cb260..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RangeTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Range;
-use Elastica\Test\Base as BaseTest;
-
-class RangeTest extends BaseTest
-{
- public function testAddField()
- {
- $rangeFilter = new Range();
- $returnValue = $rangeFilter->addField('fieldName', array('to' => 'value'));
- $this->assertInstanceOf('Elastica\Filter\Range', $returnValue);
- }
-
- public function testToArray()
- {
- $filter = new Range();
-
- $fromTo = array('from' => 'ra', 'to' => 'ru');
- $filter->addField('name', $fromTo);
-
- $expectedArray = array(
- 'range' => array(
- 'name' => $fromTo
- )
- );
-
- $this->assertEquals($expectedArray, $filter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RegexpTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RegexpTest.php
deleted file mode 100644
index e06064dd..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/RegexpTest.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Document;
-use Elastica\Filter\Regexp;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class RegexpTest extends BaseTest
-{
- public function testToArray()
- {
- $field = 'name';
- $regexp = 'ruf';
-
- $filter = new Regexp($field, $regexp);
-
- $expectedArray = array(
- 'regexp' => array(
- $field => $regexp
- )
- );
-
- $this->assertequals($expectedArray, $filter->toArray());
- }
-
- public function testDifferentRegexp()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'index' => 'not_analyzed'),
- )
- );
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
- $doc = new Document(5, array('name' => 'New Orleans'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $query = new Regexp('name', 'Ba.*');
- $resultSet = $index->search($query);
- $this->assertEquals(3, $resultSet->count());
-
- // Lower case should not return a result
- $query = new Regexp('name', 'ba.*');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
-
- $query = new Regexp('name', 'Baden.*');
- $resultSet = $index->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $query = new Regexp('name', 'Baden B.*');
- $resultSet = $index->search($query);
- $this->assertEquals(1, $resultSet->count());
-
- $query = new Regexp('name', 'Baden Bas.*');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testDifferentRegexpLowercase()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $indexParams = array(
- 'analysis' => array(
- 'analyzer' => array(
- 'lw' => array(
- 'type' => 'custom',
- 'tokenizer' => 'keyword',
- 'filter' => array('lowercase')
- )
- ),
- )
- );
-
- $index->create($indexParams, true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'lw'),
- )
- );
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
- $doc = new Document(5, array('name' => 'New Orleans'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $query = new Regexp('name', 'ba.*');
- $resultSet = $index->search($query);
- $this->assertEquals(3, $resultSet->count());
-
- // Upper case should not return a result
- $query = new Regexp('name', 'Ba.*');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
-
- $query = new Regexp('name', 'baden.*');
- $resultSet = $index->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $query = new Regexp('name', 'baden b.*');
- $resultSet = $index->search($query);
- $this->assertEquals(1, $resultSet->count());
-
- $query = new Regexp('name', 'baden bas.*');
- $resultSet = $index->search($query);
- $this->assertEquals(0, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ScriptTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ScriptTest.php
deleted file mode 100644
index 65ea628e..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/ScriptTest.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Script;
-use Elastica\Filter\Script as ScriptFilter;
-use Elastica\Test\Base as BaseTest;
-
-class ScriptTest extends BaseTest
-{
- public function testToArray()
- {
- $string = '_score * 2.0';
-
- $filter = new ScriptFilter($string);
-
- $array = $filter->toArray();
- $this->assertInternalType('array', $array);
-
- $expected = array(
- 'script' => array(
- 'script' => $string,
- )
- );
- $this->assertEquals($expected, $array);
- }
-
- public function testSetScript()
- {
- $string = '_score * 2.0';
- $params = array(
- 'param1' => 'one',
- 'param2' => 1,
- );
- $lang = 'mvel';
- $script = new Script($string, $params, $lang);
-
- $filter = new ScriptFilter();
- $filter->setScript($script);
-
- $array = $filter->toArray();
-
- $expected = array(
- 'script' => array(
- 'script' => $string,
- 'params' => $params,
- 'lang' => $lang,
- )
- );
- $this->assertEquals($expected, $array);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermTest.php
deleted file mode 100644
index 9a116851..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Term;
-use Elastica\Test\Base as BaseTest;
-
-class TermTest extends BaseTest
-{
-
- public function testToArray()
- {
- $query = new Term();
- $key = 'name';
- $value = 'ruflin';
- $query->setTerm($key, $value);
-
- $data = $query->toArray();
-
- $this->assertInternalType('array', $data['term']);
- $this->assertEquals(array($key => $value), $data['term']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermsTest.php
deleted file mode 100644
index 96994730..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TermsTest.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Terms;
-use Elastica\Test\Base as BaseTest;
-
-class TermsTest extends BaseTest
-{
-
- public function testLookup()
- {
- $index = $this->_createIndex('terms_filter_test');
- $type1 = $index->getType('musicians');
- $type2 = $index->getType('bands');
-
- //index some test data
- $type1->addDocument(new \Elastica\Document(1, array('name' => 'robert', 'lastName' => 'plant')));
- $type1->addDocument(new \Elastica\Document(2, array('name' => 'jimmy', 'lastName' => 'page')));
- $type1->addDocument(new \Elastica\Document(3, array('name' => 'john paul', 'lastName' => 'jones')));
- $type1->addDocument(new \Elastica\Document(4, array('name' => 'john', 'lastName' => 'bonham')));
- $type1->addDocument(new \Elastica\Document(5, array('name' => 'jimi', 'lastName' => 'hendrix')));
-
- $type2->addDocument(new \Elastica\Document('led zeppelin', array('members' => array('plant', 'page', 'jones', 'bonham'))));
- $index->refresh();
-
- //use the terms lookup feature to query for some data
- $termsFilter = new Terms();
- $termsFilter->setLookup('lastName', $type2, 'led zeppelin', 'members', NULL);
- $query = new \Elastica\Query();
- $query->setFilter($termsFilter);
- $results = $index->search($query);
- $this->assertEquals($results->count(), 4, 'Terms lookup with null index');
-
- $termsFilter->setLookup('lastName', $type2, 'led zeppelin', 'members', $index);
- $query->setFilter($termsFilter);
- $results = $index->search($query);
- $this->assertEquals($results->count(), 4, 'Terms lookup with index as object');
-
- //Query with index given as string
- $termsFilter->setLookup('lastName', $type2, 'led zeppelin', 'members', $index->getName());
- $query->setFilter($termsFilter);
- $results = $index->search($query);
- $this->assertEquals($results->count(), 4, 'Terms lookup with index as string');
-
- //Query with array of options
- $termsFilter->setLookup('lastName', $type2, 'led zeppelin', 'members', array('index' => $index, 'cache' => false));
- $query->setFilter($termsFilter);
- $results = $index->search($query);
- $this->assertEquals($results->count(), 4, 'Terms lookup with options array');
-
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TypeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TypeTest.php
deleted file mode 100644
index fcada826..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/TypeTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Elastica\Test\Filter;
-
-use Elastica\Filter\Type;
-use Elastica\Test\Base as BaseTest;
-
-class TypeTest extends BaseTest
-{
- public function testSetType()
- {
- $typeFilter = new Type();
- $returnValue = $typeFilter->setType('type_name');
- $this->assertInstanceOf('Elastica\Filter\Type', $returnValue);
- }
-
- public function testToArray()
- {
- $typeFilter = new Type('type_name');
-
- $expectedArray = array(
- 'type' => array('value' => 'type_name')
- );
-
- $this->assertEquals($expectedArray, $typeFilter->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/SettingsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/SettingsTest.php
deleted file mode 100644
index 4f74d22b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/SettingsTest.php
+++ /dev/null
@@ -1,300 +0,0 @@
-<?php
-
-namespace Elastica\Test\Index;
-
-use Elastica\Document;
-use Elastica\Exception\ResponseException;
-use Elastica\Index;
-use Elastica\Index\Settings as IndexSettings;
-use Elastica\Test\Base as BaseTest;
-
-class SettingsTest extends BaseTest
-{
- public function testGet()
- {
- $indexName = 'elasticatest';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $index->refresh();
- $settings = $index->getSettings();
-
- $this->assertInternalType('array', $settings->get());
- $this->assertNotNull($settings->get('number_of_replicas'));
- $this->assertNotNull($settings->get('number_of_shards'));
- $this->assertNull($settings->get('kjqwerjlqwer'));
-
- $index->delete();
- }
-
- public function testGetWithAlias()
- {
- $indexName = 'elasticatest';
- $aliasName = 'elasticatest_alias';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $index->refresh();
-
- $index->addAlias($aliasName);
- $index = $client->getIndex($aliasName);
- $settings = $index->getSettings();
-
- $this->assertInternalType('array', $settings->get());
- $this->assertNotNull($settings->get('number_of_replicas'));
- $this->assertNotNull($settings->get('number_of_shards'));
- $this->assertNull($settings->get('kjqwerjlqwer'));
-
- $index->delete();
- }
-
- public function testSetNumberOfReplicas()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $settings = $index->getSettings();
-
- $settings->setNumberOfReplicas(2);
- $index->refresh();
- $this->assertEquals(2, $settings->get('number_of_replicas'));
-
- $settings->setNumberOfReplicas(3);
- $index->refresh();
- $this->assertEquals(3, $settings->get('number_of_replicas'));
-
- $index->delete();
- }
-
- public function testSetRefreshInterval()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- $settings = $index->getSettings();
-
- $settings->setRefreshInterval('2s');
- $index->refresh();
- $this->assertEquals('2s', $settings->get('refresh_interval'));
-
- $settings->setRefreshInterval('5s');
- $index->refresh();
- $this->assertEquals('5s', $settings->get('refresh_interval'));
-
- $index->delete();
- }
-
- public function testGetRefreshInterval()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- $settings = $index->getSettings();
-
- $this->assertEquals(IndexSettings::DEFAULT_REFRESH_INTERVAL, $settings->getRefreshInterval());
-
- $interval = '2s';
- $settings->setRefreshInterval($interval);
- $index->refresh();
- $this->assertEquals($interval, $settings->getRefreshInterval());
- $this->assertEquals($interval, $settings->get('refresh_interval'));
-
- $index->delete();
- }
-
- public function testSetMergePolicy()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- //wait for the shards to be allocated
- $this->_waitForAllocation($index);
-
- $settings = $index->getSettings();
-
- $settings->setMergePolicy('expunge_deletes_allowed', 15);
- $this->assertEquals(15, $settings->getMergePolicy('expunge_deletes_allowed'));
-
- $settings->setMergePolicy('expunge_deletes_allowed', 10);
- $this->assertEquals(10, $settings->getMergePolicy('expunge_deletes_allowed'));
-
- $index->delete();
- }
-
- public function testSetMergeFactor()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- //wait for the shards to be allocated
- $this->_waitForAllocation($index);
-
- $settings = $index->getSettings();
-
- $response = $settings->setMergePolicy('merge_factor', 15);
- $this->assertEquals(15, $settings->getMergePolicy('merge_factor'));
- $this->assertInstanceOf('Elastica\Response', $response);
- $this->assertTrue($response->isOk());
-
- $settings->setMergePolicy('merge_factor', 10);
- $this->assertEquals(10, $settings->getMergePolicy('merge_factor'));
-
- $index->delete();
- }
-
- public function testSetMergePolicyType()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- //wait for the shards to be allocated
- $this->_waitForAllocation($index);
-
- $settings = $index->getSettings();
-
- $settings->setMergePolicyType('log_byte_size');
- $this->assertEquals('log_byte_size', $settings->getMergePolicyType());
-
- $response = $settings->setMergePolicy('merge_factor', 15);
- $this->assertEquals(15, $settings->getMergePolicy('merge_factor'));
- $this->assertInstanceOf('Elastica\Response', $response);
- $this->assertTrue($response->isOk());
-
- $index->delete();
- }
-
- public function testSetReadOnly()
- {
- $index = $this->_createIndex('test');
- //wait for the shards to be allocated
- $this->_waitForAllocation($index);
- $index->getSettings()->setReadOnly(false);
-
-
- // Add document to normal index
- $doc1 = new Document(null, array('hello' => 'world'));
- $doc2 = new Document(null, array('hello' => 'world'));
- $doc3 = new Document(null, array('hello' => 'world'));
-
- $type = $index->getType('test');
- $type->addDocument($doc1);
- $this->assertEquals('false', $index->getSettings()->get('blocks.read_only')); //ES returns a string for this setting
-
- // Try to add doc to read only index
- $index->getSettings()->setReadOnly(true);
- $this->assertEquals('true', $index->getSettings()->get('blocks.read_only'));
-
- try {
- $type->addDocument($doc2);
- $this->fail('Should throw exception because of read only');
- } catch (ResponseException $e) {
- $message = $e->getMessage();
- $this->assertContains('ClusterBlockException', $message);
- $this->assertContains('index read-only', $message);
- }
-
- // Remove read only, add document
- $response = $index->getSettings()->setReadOnly(false);
- $this->assertTrue($response->isOk());
-
- $type->addDocument($doc3);
- $index->refresh();
-
- $this->assertEquals(2, $type->count());
-
- $index->delete();
- }
-
-
- public function testGetSetBlocksRead()
- {
- $index = $this->_createIndex('elastica-test');
- $index->refresh();
- $settings = $index->getSettings();
-
- $this->assertFalse($settings->getBlocksRead());
-
- $settings->setBlocksRead(true);
- $this->assertTrue($settings->getBlocksRead());
-
- $settings->setBlocksRead(false);
- $this->assertFalse($settings->getBlocksRead());
-
- $settings->setBlocksRead();
- $this->assertTrue($settings->getBlocksRead());
-
- $index->delete();
- }
-
- public function testGetSetBlocksWrite()
- {
- $index = $this->_createIndex('elastica-test');
- $index->refresh();
- $settings = $index->getSettings();
-
- $this->assertFalse($settings->getBlocksWrite());
-
- $settings->setBlocksWrite(true);
- $this->assertTrue($settings->getBlocksWrite());
-
- $settings->setBlocksWrite(false);
- $this->assertFalse($settings->getBlocksWrite());
-
- $settings->setBlocksWrite();
- $this->assertTrue($settings->getBlocksWrite());
-
- $index->delete();
- }
-
- public function testGetSetBlocksMetadata()
- {
- $index = $this->_createIndex('elastica-test');
- $index->refresh();
- $settings = $index->getSettings();
-
- $this->assertFalse($settings->getBlocksMetadata());
-
- $settings->setBlocksMetadata(true);
- $this->assertTrue($settings->getBlocksMetadata());
-
- $settings->setBlocksMetadata(false);
- $this->assertFalse($settings->getBlocksMetadata());
-
- $settings->setBlocksMetadata();
- $this->assertTrue($settings->getBlocksMetadata());
-
- $settings->setBlocksMetadata(false); // Cannot delete index otherwise
- $index->delete();
- }
-
- protected function _waitForAllocation(Index $index)
- {
- do {
- $settings = $index->getStatus()->get();
- $allocated = true;
- foreach ($settings['shards'] as $shard) {
- if ($shard[0]['routing']['state'] != 'STARTED') {
- $allocated = false;
- }
- }
- } while (!$allocated);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatsTest.php
deleted file mode 100644
index 5e8e8d57..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatsTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Elastica\Test\Index;
-
-use Elastica\Test\Base as BaseTest;
-
-class StatsTest extends BaseTest
-{
-
- public function testGetSettings()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $stats = $index->getStats();
- $this->assertInstanceOf('Elastica\Index\Stats', $stats);
-
- $this->assertTrue($stats->getResponse()->isOk());
- $this->assertEquals(0, $stats->get('_all', 'indices', 'test', 'primaries', 'docs', 'count'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatusTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatusTest.php
deleted file mode 100644
index 8a056a53..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Index/StatusTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-namespace Elastica\Test\Index;
-
-use Elastica\Index\Status as IndexStatus;
-use Elastica\Test\Base as BaseTest;
-
-class StatusTest extends BaseTest
-{
- public function testGetAliases()
- {
- $indexName = 'test';
- $aliasName = 'test-alias';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- $status = new IndexStatus($index);
-
- $aliases = $status->getAliases();
-
- $this->assertTrue(empty($aliases));
- $this->assertInternalType('array', $aliases);
-
- $index->addAlias($aliasName);
- $status->refresh();
-
- $aliases = $status->getAliases();
-
- $this->assertTrue(in_array($aliasName, $aliases));
- }
-
- public function testHasAlias()
- {
- $indexName = 'test';
- $aliasName = 'test-alias';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
-
- $status = new IndexStatus($index);
-
- $this->assertFalse($status->hasAlias($aliasName));
-
- $index->addAlias($aliasName);
- $status->refresh();
-
- $this->assertTrue($status->hasAlias($aliasName));
- }
-
- public function testGetSettings()
- {
- $indexName = 'test';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $status = $index->getStatus();
-
- $settings = $status->getSettings();
- $this->assertInternalType('array', $settings);
- $this->assertTrue(isset($settings['index']['number_of_shards']));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/IndexTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/IndexTest.php
deleted file mode 100644
index 8e4ac306..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/IndexTest.php
+++ /dev/null
@@ -1,696 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Exception\ResponseException;
-use Elastica\Index;
-use Elastica\Query\QueryString;
-use Elastica\Query\Term;
-use Elastica\Status;
-use Elastica\Type;
-use Elastica\Type\Mapping;
-use Elastica\Query\HasChild;
-use Elastica\Test\Base as BaseTest;
-
-class IndexTest extends BaseTest
-{
- public function testMapping()
- {
- $index = $this->_createIndex();
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
-
- $type = $index->getType('test');
-
- $mapping = array('id' => array('type' => 'integer', 'store' => true), 'email' => array('type' => 'string', 'store' => 'no'),
- 'username' => array('type' => 'string', 'store' => 'no'), 'test' => array('type' => 'integer', 'store' => 'no'),);
- $type->setMapping($mapping);
-
- $type->addDocument($doc);
- $index->optimize();
-
- $storedMapping = $index->getMapping();
-
- $this->assertEquals($storedMapping['test']['properties']['id']['type'], 'integer');
- $this->assertEquals($storedMapping['test']['properties']['id']['store'], true);
- $this->assertEquals($storedMapping['test']['properties']['email']['type'], 'string');
- $this->assertEquals($storedMapping['test']['properties']['username']['type'], 'string');
- $this->assertEquals($storedMapping['test']['properties']['test']['type'], 'integer');
-
- $result = $type->search('hanswurst');
- }
-
- public function testGetMappingAlias() {
-
- $indexName = 'test-mapping';
- $aliasName = 'test-mapping-alias';
-
- $index = $this->_createIndex($indexName);
- $indexName = $index->getName();
- $index->addAlias($aliasName);
-
- $type = new Type($index, 'test');
- $mapping = new Mapping($type, array(
- 'id' => array('type' => 'integer', 'store' => 'yes'),
- ));
- $type->setMapping($mapping);
-
- $client = $index->getClient();
-
- // Index mapping
- $mapping1 = $client->getIndex($indexName)->getMapping();
-
- // Alias mapping
- $mapping2 = $client->getIndex($aliasName)->getMapping();
-
- // Make sure, a mapping is set
- $this->assertNotEmpty($mapping1);
-
- // Alias and index mapping should be identical
- $this->assertEquals($mapping1, $mapping2);
- }
-
- public function testParent()
- {
- $index = $this->_createIndex();
-
- $typeBlog = new Type($index, 'blog');
-
- $typeComment = new Type($index, 'comment');
-
- $mapping = new Mapping();
- $mapping->setParam('_parent', array('type' => 'blog'));
- $typeComment->setMapping($mapping);
-
- $entry1 = new Document(1);
- $entry1->set('title', 'Hello world');
- $typeBlog->addDocument($entry1);
-
- $entry2 = new Document(2);
- $entry2->set('title', 'Foo bar');
- $typeBlog->addDocument($entry2);
-
- $entry3 = new Document(3);
- $entry3->set('title', 'Till dawn');
- $typeBlog->addDocument($entry3);
-
- $comment = new Document(1);
- $comment->set('author', 'Max');
- $comment->setParent(2); // Entry Foo bar
- $typeComment->addDocument($comment);
-
- $index->optimize();
-
- $query = new HasChild('Max', 'comment');
- $resultSet = $typeBlog->search($query);
- $this->assertEquals(1, $resultSet->count());
- $this->assertEquals(array('title' => 'Foo bar'), $resultSet->current()->getData());
- }
-
- public function testAddPdfFile()
- {
- $this->_checkAttachmentsPlugin();
- $indexMapping = array('file' => array('type' => 'attachment', 'store' => 'no'), 'text' => array('type' => 'string', 'store' => 'no'),);
-
- $indexParams = array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0),);
-
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
-
- $index->create($indexParams, true);
- $type->setMapping($indexMapping);
-
- $doc1 = new Document(1);
- $doc1->addFile('file', BASE_PATH . '/data/test.pdf', 'application/pdf');
- $doc1->set('text', 'basel world');
- $type->addDocument($doc1);
-
- $doc2 = new Document(2);
- $doc2->set('text', 'running in basel');
- $type->addDocument($doc2);
-
- $index->optimize();
-
- $resultSet = $type->search('xodoa');
- $this->assertEquals(1, $resultSet->count());
-
- $resultSet = $type->search('basel');
- $this->assertEquals(2, $resultSet->count());
-
- // Author is ruflin
- $resultSet = $type->search('ruflin');
- $this->assertEquals(1, $resultSet->count());
-
- // String does not exist in file
- $resultSet = $type->search('guschti');
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testAddPdfFileContent()
- {
- $this->_checkAttachmentsPlugin();
- $indexMapping = array('file' => array('type' => 'attachment', 'store' => 'no'), 'text' => array('type' => 'string', 'store' => 'no'),);
-
- $indexParams = array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0),);
-
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
-
- $index->create($indexParams, true);
- $type->setMapping($indexMapping);
-
- $doc1 = new Document(1);
- $doc1->addFileContent('file', file_get_contents(BASE_PATH . '/data/test.pdf'));
- $doc1->set('text', 'basel world');
- $type->addDocument($doc1);
-
- $doc2 = new Document(2);
- $doc2->set('text', 'running in basel');
- $type->addDocument($doc2);
-
- $index->optimize();
-
- $resultSet = $type->search('xodoa');
- $this->assertEquals(1, $resultSet->count());
-
- $resultSet = $type->search('basel');
- $this->assertEquals(2, $resultSet->count());
-
- // Author is ruflin
- $resultSet = $type->search('ruflin');
- $this->assertEquals(1, $resultSet->count());
-
- // String does not exist in file
- $resultSet = $type->search('guschti');
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testAddWordxFile()
- {
- $this->_checkAttachmentsPlugin();
- $indexMapping = array('file' => array('type' => 'attachment'), 'text' => array('type' => 'string', 'store' => 'no'),);
-
- $indexParams = array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0),);
-
- $index = $this->_createIndex();
- $type = new Type($index, 'content');
-
- $index->create($indexParams, true);
- $type->setMapping($indexMapping);
-
- $doc1 = new Document(1);
- $doc1->addFile('file', BASE_PATH . '/data/test.docx');
- $doc1->set('text', 'basel world');
- $type->addDocument($doc1);
-
- $doc2 = new Document(2);
- $doc2->set('text', 'running in basel');
- $type->addDocument($doc2);
-
- $index->optimize();
-
- $resultSet = $type->search('xodoa');
- $this->assertEquals(1, $resultSet->count());
-
- $resultSet = $type->search('basel');
- $this->assertEquals(2, $resultSet->count());
-
- $resultSet = $type->search('ruflin');
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testExcludeFileSource()
- {
- $this->_checkAttachmentsPlugin();
- $indexMapping = array('file' => array('type' => 'attachment', 'store' => 'yes'), 'text' => array('type' => 'string', 'store' => 'yes'),
- 'title' => array('type' => 'string', 'store' => 'yes'),);
-
- $indexParams = array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0),);
-
- $index = $this->_createIndex();
- $type = new Type($index, 'content');
-
- $mapping = Mapping::create($indexMapping);
- $mapping->setSource(array('excludes' => array('file')));
-
- $mapping->setType($type);
-
- $index->create($indexParams, true);
- $type->setMapping($mapping);
-
- $docId = 1;
- $text = 'Basel World';
- $title = 'No Title';
-
- $doc1 = new Document($docId);
- $doc1->addFile('file', BASE_PATH . '/data/test.docx');
- $doc1->set('text', $text);
- $doc1->set('title', $title);
- $type->addDocument($doc1);
-
- // Optimization necessary, as otherwise source still in realtime get
- $index->optimize();
-
- $data = $type->getDocument($docId)->getData();
- $this->assertEquals($data['title'], $title);
- $this->assertEquals($data['text'], $text);
- $this->assertFalse(isset($data['file']));
- }
-
- /**
- * @expectedException \Elastica\Exception\ResponseException
- */
- public function testAddRemoveAlias()
- {
- $client = $this->_getClient();
-
- $indexName1 = 'test1';
- $aliasName = 'test-alias';
- $typeName = 'test';
-
- $index = $client->getIndex($indexName1);
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'ruflin'));
-
- $type = $index->getType($typeName);
- $type->addDocument($doc);
- $index->refresh();
-
- $resultSet = $type->search('ruflin');
-
- $this->assertEquals(1, $resultSet->count());
-
- $data = $index->addAlias($aliasName, true)->getData();
- $this->assertTrue($data['acknowledged']);
-
- $index2 = $client->getIndex($aliasName);
- $type2 = $index2->getType($typeName);
-
- $resultSet2 = $type2->search('ruflin');
- $this->assertEquals(1, $resultSet2->count());
-
- $response = $index->removeAlias($aliasName)->getData();
- $this->assertTrue($response['acknowledged']);
-
- $client->getIndex($aliasName)->getType($typeName)->search('ruflin');
- }
-
- public function testCount()
- {
- $index = $this->_createIndex();
-
- // Add document to normal index
- $doc1 = new Document(null, array('name' => 'ruflin'));
- $doc2 = new Document(null, array('name' => 'nicolas'));
-
- $type = $index->getType('test');
- $type->addDocument($doc1);
- $type->addDocument($doc2);
-
-
- $index->refresh();
-
- $this->assertEquals(2, $index->count());
-
- $query = new Term();
- $key = 'name';
- $value = 'nicolas';
- $query->setTerm($key, $value);
-
- $this->assertEquals(1, $index->count($query));
- }
-
- public function testDeleteIndexDeleteAlias()
- {
- $indexName = 'test';
- $aliasName = 'test-aliase';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
-
- $index->create(array(), true);
- $index->addAlias($aliasName);
-
- $status = new Status($client);
- $this->assertTrue($status->indexExists($indexName));
- $this->assertTrue($status->aliasExists($aliasName));
-
- // Deleting index should also remove alias
- $index->delete();
-
- $status->refresh();
- $this->assertFalse($status->indexExists($indexName));
- $this->assertFalse($status->aliasExists($aliasName));
- }
-
- public function testAddAliasTwoIndices()
- {
- $indexName1 = 'test1';
- $indexName2 = 'test2';
- $aliasName = 'test-alias';
-
- $client = $this->_getClient();
- $index1 = $client->getIndex($indexName1);
- $index2 = $client->getIndex($indexName2);
-
- $index1->create(array(), true);
- $index1->addAlias($aliasName);
- $index2->create(array(), true);
-
- $index1->refresh();
- $index2->refresh();
- $index1->optimize();
- $index2->optimize();
-
- $status = new Status($client);
-
-
- $this->assertTrue($status->indexExists($indexName1));
- $this->assertTrue($status->indexExists($indexName2));
-
- $this->assertTrue($status->aliasExists($aliasName));
- $this->assertTrue($index1->getStatus()->hasAlias($aliasName));
- $this->assertFalse($index2->getStatus()->hasAlias($aliasName));
-
- $index2->addAlias($aliasName);
- $this->assertTrue($index1->getStatus()->hasAlias($aliasName));
- $this->assertTrue($index2->getStatus()->hasAlias($aliasName));
- }
-
- public function testReplaceAlias()
- {
- $indexName1 = 'test1';
- $indexName2 = 'test2';
- $aliasName = 'test-alias';
-
- $client = $this->_getClient();
- $index1 = $client->getIndex($indexName1);
- $index2 = $client->getIndex($indexName2);
-
- $index1->create(array(), true);
- $index1->addAlias($aliasName);
- $index2->create(array(), true);
-
- $index1->refresh();
- $index2->refresh();
-
- $status = new Status($client);
-
- $this->assertTrue($status->indexExists($indexName1));
- $this->assertTrue($status->indexExists($indexName2));
- $this->assertTrue($status->aliasExists($aliasName));
- $this->assertTrue($index1->getStatus()->hasAlias($aliasName));
- $this->assertFalse($index2->getStatus()->hasAlias($aliasName));
-
- $index2->addAlias($aliasName, true);
- $this->assertFalse($index1->getStatus()->hasAlias($aliasName));
- $this->assertTrue($index2->getStatus()->hasAlias($aliasName));
- }
-
- public function testAddDocumentVersion()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = new Type($index, 'test');
-
- $doc1 = new Document(1);
- $doc1->set('title', 'Hello world');
-
- $return = $type->addDocument($doc1);
- $data = $return->getData();
- $this->assertEquals(1, $data['_version']);
-
- $return = $type->addDocument($doc1);
- $data = $return->getData();
- $this->assertEquals(2, $data['_version']);
- }
-
- public function testClearCache()
- {
- $client = $this->_getClient();
- $index1 = $client->getIndex('test1');
-
- $response = $index1->clearCache();
- $this->assertFalse($response->hasError());
- }
-
- public function testFlush()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test1');
-
- $response = $index->flush();
- $this->assertFalse($response->hasError());
- }
-
- public function testExists()
- {
- $index = $this->_createIndex();
-
- $this->assertTrue($index->exists());
-
- $index->delete();
-
- $this->assertFalse($index->exists());
- }
-
- /**
- * Test $index->delete() return value for unknown index
- *
- * Tests if deleting an index that does not exist in Elasticsearch,
- * correctly returns a boolean true from the hasError() method of
- * the \Elastica\Response object
- */
- public function testDeleteMissingIndexHasError()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('index_does_not_exist');
-
- try {
- $index->delete();
- $this->fail('This should never be reached. Deleting an unknown index will throw an exception');
- } catch (ResponseException $error) {
- $response = $error->getResponse();
- $this->assertTrue($response->hasError());
- $request = $error->getRequest();
- $this->assertInstanceOf('Elastica\Request', $request);
- }
- }
-
- /**
- * Tests to see if the test type mapping exists when calling $index->getMapping()
- */
- public function testIndexGetMapping()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $mapping = array('id' => array('type' => 'integer', 'store' => true), 'email' => array('type' => 'string', 'store' => 'no'),
- 'username' => array('type' => 'string', 'store' => 'no'), 'test' => array('type' => 'integer', 'store' => 'no'),);
-
- $type->setMapping($mapping);
- $index->refresh();
- $indexMappings = $index->getMapping();
-
- $this->assertEquals($indexMappings['test']['properties']['id']['type'], 'integer');
- $this->assertEquals($indexMappings['test']['properties']['id']['store'], true);
- $this->assertEquals($indexMappings['test']['properties']['email']['type'], 'string');
- $this->assertEquals($indexMappings['test']['properties']['username']['type'], 'string');
- $this->assertEquals($indexMappings['test']['properties']['test']['type'], 'integer');
- }
-
- /**
- * Tests to see if the index is empty when there are no types set.
- */
- public function testEmptyIndexGetMapping()
- {
- $index = $this->_createIndex();
- $indexMappings = $index->getMapping();
-
- $this->assertTrue(empty($indexMappings['elastica_test']));
- }
-
- /**
- * Test to see if search Default Limit works
- */
- public function testLimitDefaultIndex()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
-
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
-
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- // default limit results (default limit is 10)
- $resultSet = $index->search('farrelley');
- $this->assertEquals(10, $resultSet->count());
-
- // limit = 1
- $resultSet = $index->search('farrelley', 1);
- $this->assertEquals(1, $resultSet->count());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testCreateArray()
- {
- $client = $this->_getClient();
- $indexName = 'test';
-
- //Testing recreate (backward compatibility)
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $status = new Status($client);
- $this->assertTrue($status->indexExists($indexName));
-
- //Testing create index with array options
- $opts = array('recreate' => true, 'routing' => 'r1,r2');
- $index->create(array(), $opts);
- $status = new Status($client);
- $this->assertTrue($status->indexExists($indexName));
-
- //Testing invalid options
- $opts = array('recreate' => true, 'routing' => 'r1,r2', 'testing_invalid_option' => true);
- $index->create(array(), $opts);
- $status = new Status($client);
- $this->assertTrue($status->indexExists($indexName));
- }
-
- public function testCreateSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
-
- $query = new QueryString('test');
- $options = 5;
-
- $search = $index->createSearch($query, $options);
-
- $expected = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'test'
- )
- ),
- 'size' => 5
- );
- $this->assertEquals($expected, $search->getQuery()->toArray());
- $this->assertEquals(array('test'), $search->getIndices());
- $this->assertTrue($search->hasIndices());
- $this->assertTrue($search->hasIndex('test'));
- $this->assertTrue($search->hasIndex($index));
- $this->assertEquals(array(), $search->getTypes());
- $this->assertFalse($search->hasTypes());
- $this->assertFalse($search->hasType('test_type'));
-
- $type = new Type($index, 'test_type2');
- $this->assertFalse($search->hasType($type));
- }
-
- public function testSearch()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'user');
-
- $docs = array();
- $docs[] = new Document(1, array('username' => 'hans', 'test' => array('2', '3', '5')));
- $docs[] = new Document(2, array('username' => 'john', 'test' => array('1', '3', '6')));
- $docs[] = new Document(3, array('username' => 'rolf', 'test' => array('2', '3', '7')));
- $type->addDocuments($docs);
- $index->refresh();
-
- $resultSet = $index->search('rolf');
- $this->assertEquals(1, $resultSet->count());
-
- $count = $index->count('rolf');
- $this->assertEquals(1, $count);
-
- // Test if source is returned
- $result = $resultSet->current();
- $this->assertEquals(3, $result->getId());
- $data = $result->getData();
- $this->assertEquals('rolf', $data['username']);
-
- $count = $index->count();
- $this->assertEquals(3, $count);
- }
-
- public function testOptimize()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'optimize');
-
- $docs = array();
- $docs[] = new Document(1, array('foo' => 'bar'));
- $docs[] = new Document(2, array('foo' => 'bar'));
- $type->addDocuments($docs);
- $index->refresh();
-
- $stats = $index->getStats()->getData();
- $this->assertEquals(0, $stats['_all']['primaries']['docs']['deleted']);
-
- $type->deleteById(1);
- $index->refresh();
-
- $stats = $index->getStats()->getData();
- $this->assertEquals(1, $stats['_all']['primaries']['docs']['deleted']);
-
- $index->optimize(array('max_num_segments' => 1));
-
- $stats = $index->getStats()->getData();
- $this->assertEquals(0, $stats['_all']['primaries']['docs']['deleted']);
- }
-
- public function testAnalyze()
- {
- $index = $this->_createIndex('analyze');
- $index->optimize();
- sleep(2);
- $returnedTokens = $index->analyze('foo');
-
- $tokens = array(
- array(
- 'token' => 'foo',
- 'start_offset' => 0,
- 'end_offset' => 3,
- 'type' => '<ALPHANUM>',
- 'position' => 1,
- )
- );
-
- $this->assertEquals($tokens, $returnedTokens);
- }
-
- /**
- * Check for the presence of the mapper-attachments plugin and skip the current test if it is not found.
- */
- protected function _checkAttachmentsPlugin()
- {
- $nodes = $this->_getClient()->getCluster()->getNodes();
- if (!$nodes[0]->getInfo()->hasPlugin('mapper-attachments')) {
- $this->markTestSkipped('mapper-attachments plugin not installed');
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/LogTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/LogTest.php
deleted file mode 100644
index 188be933..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/LogTest.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Log;
-use Elastica\Test\Base as BaseTest;
-use Psr\Log\LogLevel;
-
-class LogTest extends BaseTest
-{
- private $_context = array();
- private $_message = 'hello world';
-
- protected function setUp()
- {
- if (!class_exists('Psr\Log\AbstractLogger')) {
- $this->markTestSkipped('The Psr extension is not available.');
- }
- }
-
- public function testLogInterface()
- {
- $log = new Log();
- $this->assertInstanceOf('Psr\Log\LoggerInterface', $log);
- }
-
- public function testSetLogConfigPath()
- {
- $logPath = '/tmp/php.log';
- $client = new Client(array('log' => $logPath));
- $this->assertEquals($logPath, $client->getConfig('log'));
- }
-
- public function testSetLogConfigEnable()
- {
- $client = new Client(array('log' => true));
- $this->assertTrue($client->getConfig('log'));
- }
-
- public function testSetLogConfigEnable1()
- {
- $client = new Client();
- $client->setLogger(new Log());
- $this->assertFalse($client->getConfig('log'));
- }
-
- public function testEmptyLogConfig()
- {
- $client = $this->_getClient();
- $this->assertEmpty($client->getConfig('log'));
- }
-
- public function testGetLastMessage()
- {
- $log = new Log('/tmp/php.log');
-
- $log->log(LogLevel::DEBUG, $this->_message, $this->_context);
-
- $this->_context['error_message'] = $this->_message;
- $message = json_encode($this->_context);
-
- $this->assertEquals($message, $log->getLastMessage());
- }
-
- public function testGetLastMessage2()
- {
- $client = new Client(array('log' => true));
- $log = new Log($client);
-
- // Set log path temp path as otherwise test fails with output
- $errorLog = ini_get('error_log');
- ini_set('error_log', sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php.log');
-
- $this->_context['error_message'] = $this->_message;
- $message = json_encode($this->_context);
-
- $log->log(LogLevel::DEBUG, $this->_message, $this->_context);
- ini_set('error_log', $errorLog);
-
- $this->assertEquals($message, $log->getLastMessage());
- }
-
- public function testGetLastMessageInfo()
- {
- $log = $this->initLog();
- $log->info($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageCritical()
- {
- $log = $this->initLog();
- $log->critical($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageAlert()
- {
- $log = $this->initLog();
- $log->alert($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageDebug()
- {
- $log = $this->initLog();
- $log->debug($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageEmergency()
- {
- $log = $this->initLog();
- $log->emergency($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageError()
- {
- $log = $this->initLog();
- $log->error($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageNotice()
- {
- $log = $this->initLog();
- $log->notice($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- public function testGetLastMessageWarning()
- {
- $log = $this->initLog();
- $log->warning($this->_message, $this->_context);
- $this->assertEquals($this->getMessage(), $log->getLastMessage());
- }
-
- private function initLog()
- {
- $log = new Log('/tmp/php.log');
-
- return $log;
- }
-
- private function getMessage()
- {
- $this->_context['error_message'] = $this->_message;
-
- return json_encode($this->_context);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Multi/SearchTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Multi/SearchTest.php
deleted file mode 100644
index a62aaaad..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Multi/SearchTest.php
+++ /dev/null
@@ -1,549 +0,0 @@
-<?php
-
-namespace Elastica\Test\Multi;
-
-use Elastica\Document;
-use Elastica\Multi\Search as MultiSearch;
-use Elastica\Query;
-use Elastica\Query\Range;
-use Elastica\Query\Term;
-use Elastica\Search;
-use Elastica\Test\Base as BaseTest;
-
-class SearchTest extends BaseTest
-{
- /**
- * @return \Elastica\Type
- */
- protected function _createType()
- {
- $client = $this->_getClient();
-
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'kate'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'kate'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- return $type;
- }
-
- public function testConstruct()
- {
- $client = $this->_getClient();
- $multiSearch = new MultiSearch($client);
-
- $this->assertInstanceOf('Elastica\Multi\Search', $multiSearch);
- $this->assertSame($client, $multiSearch->getClient());
- }
-
- public function testSetSearches()
- {
- $client = $this->_getClient();
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search2 = new Search($client);
- $search3 = new Search($client);
-
- $multiSearch->setSearches(array($search1, $search2, $search3));
-
- $searches = $multiSearch->getSearches();
-
- $this->assertInternalType('array', $searches);
- $this->assertCount(3, $searches);
- $this->assertArrayHasKey(0, $searches);
- $this->assertSame($search1, $searches[0]);
- $this->assertArrayHasKey(1, $searches);
- $this->assertSame($search2, $searches[1]);
- $this->assertArrayHasKey(2, $searches);
- $this->assertSame($search3, $searches[2]);
-
- $multiSearch->clearSearches();
- $searches = $multiSearch->getSearches();
-
- $this->assertInternalType('array', $searches);
- $this->assertCount(0, $searches);
- }
-
- public function testSetSearchesByKeys()
- {
- $client = $this->_getClient();
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search2 = new Search($client);
- $search3 = new Search($client);
-
- $multiSearch->setSearches(array('search1' => $search1, 'search2' => $search2, $search3));
-
- $searches = $multiSearch->getSearches();
-
- $this->assertInternalType('array', $searches);
- $this->assertCount(3, $searches);
- $this->assertArrayHasKey('search1', $searches);
- $this->assertSame($search1, $searches['search1']);
- $this->assertArrayHasKey('search2', $searches);
- $this->assertSame($search2, $searches['search2']);
- $this->assertArrayHasKey(0, $searches);
- $this->assertSame($search3, $searches[0]);
-
- $multiSearch->clearSearches();
- $searches = $multiSearch->getSearches();
-
- $this->assertInternalType('array', $searches);
- $this->assertCount(0, $searches);
- }
-
- public function testSearch()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search1->addIndex($index)->addType($type);
- $query1 = new Query();
- $termQuery1 = new Term();
- $termQuery1->setTerm('username', 'farrelley');
- $query1->setQuery($termQuery1);
- $query1->setSize(2);
- $search1->setQuery($query1);
-
- $multiSearch->addSearch($search1);
-
- $this->assertCount(1, $multiSearch->getSearches());
-
- $search2 = new Search($client);
- $search2->addIndex($index)->addType($type);
- $query2 = new Query();
- $termQuery2 = new Term();
- $termQuery2->setTerm('username', 'bunny');
- $query2->setQuery($termQuery2);
- $query2->setSize(3);
- $search2->setQuery($query2);
-
- $multiSearch->addSearch($search2);
-
- $this->assertCount(2, $multiSearch->getSearches());
-
- $searches = $multiSearch->getSearches();
- $this->assertSame($search1, $searches[0]);
- $this->assertSame($search2, $searches[1]);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- foreach ($multiResultSet as $resultSet) {
- $this->assertInstanceOf('Elastica\ResultSet', $resultSet);
- }
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(2, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(3, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
-
- $this->assertFalse($multiResultSet->hasError());
-
- $search1->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_COUNT);
- $search2->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_COUNT);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(0, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(0, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
- }
-
- public function testSearchWithKeys()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search1->addIndex($index)->addType($type);
- $query1 = new Query();
- $termQuery1 = new Term();
- $termQuery1->setTerm('username', 'farrelley');
- $query1->setQuery($termQuery1);
- $query1->setSize(2);
- $search1->setQuery($query1);
-
- $multiSearch->addSearch($search1, "search1");
-
- $this->assertCount(1, $multiSearch->getSearches());
-
- $search2 = new Search($client);
- $search2->addIndex($index)->addType($type);
- $query2 = new Query();
- $termQuery2 = new Term();
- $termQuery2->setTerm('username', 'bunny');
- $query2->setQuery($termQuery2);
- $query2->setSize(3);
- $search2->setQuery($query2);
-
- $multiSearch->addSearch($search2, "search2");
-
- $this->assertCount(2, $multiSearch->getSearches());
-
- $searches = $multiSearch->getSearches();
- $this->assertSame($search1, $searches["search1"]);
- $this->assertSame($search2, $searches["search2"]);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- foreach ($multiResultSet as $resultSet) {
- $this->assertInstanceOf('Elastica\ResultSet', $resultSet);
- }
-
- $this->assertInstanceOf('Elastica\ResultSet', $multiResultSet["search1"]);
- $this->assertInstanceOf('Elastica\ResultSet', $multiResultSet["search2"]);
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey("search1", $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets["search1"]);
- $this->assertCount(2, $resultSets["search1"]);
- $this->assertSame($query1, $resultSets["search1"]->getQuery());
- $this->assertEquals(3, $resultSets["search1"]->getTotalHits());
-
- $this->assertArrayHasKey("search2", $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets["search2"]);
- $this->assertCount(3, $resultSets["search2"]);
- $this->assertSame($query2, $resultSets["search2"]->getQuery());
- $this->assertEquals(6, $resultSets["search2"]->getTotalHits());
-
- $this->assertFalse($multiResultSet->hasError());
-
- $search1->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_COUNT);
- $search2->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_COUNT);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey("search1", $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets["search1"]);
- $this->assertCount(0, $resultSets["search1"]);
- $this->assertSame($query1, $resultSets["search1"]->getQuery());
- $this->assertEquals(3, $resultSets["search1"]->getTotalHits());
-
- $this->assertArrayHasKey("search2", $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets["search2"]);
- $this->assertCount(0, $resultSets["search2"]);
- $this->assertSame($query2, $resultSets["search2"]->getQuery());
- $this->assertEquals(6, $resultSets["search2"]->getTotalHits());
- }
-
- public function testSearchWithError()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $searchGood = new Search($client);
- $searchGood->setQuery('bunny');
- $searchGood->addIndex($index)->addType($type);
-
- $multiSearch->addSearch($searchGood);
-
- $searchBad = new Search($client);
- $searchBadQuery = new Range();
- $searchBadQuery->addField('bad', array('from' => 0));
- $searchBadQuery->setParam('_cache', true);
- $searchBad->setQuery($searchBadQuery);
- $searchBad->addIndex($index)->addType($type);
-
- $multiSearch->addSearch($searchBad);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $resultSets = $multiResultSet->getResultSets();
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertSame($searchGood->getQuery(), $resultSets[0]->getQuery());
- $this->assertSame(6, $resultSets[0]->getTotalHits());
- $this->assertCount(6, $resultSets[0]);
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertSame($searchBad->getQuery(), $resultSets[1]->getQuery());
- $this->assertSame(0, $resultSets[1]->getTotalHits());
- $this->assertCount(0, $resultSets[1]);
- $this->assertTrue($resultSets[1]->getResponse()->hasError());
-
- $this->assertTrue($multiResultSet->hasError());
- }
-
- public function testSearchWithErrorWithKeys()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $searchGood = new Search($client);
- $searchGood->setQuery('bunny');
- $searchGood->addIndex($index)->addType($type);
-
- $multiSearch->addSearch($searchGood, "search1");
-
- $searchBad = new Search($client);
- $searchBadQuery = new Range();
- $searchBadQuery->addField('bad', array('from' => 0));
- $searchBadQuery->setParam('_cache', true);
- $searchBad->setQuery($searchBadQuery);
- $searchBad->addIndex($index)->addType($type);
-
- $multiSearch->addSearch($searchBad);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $resultSets = $multiResultSet->getResultSets();
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey("search1", $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets["search1"]);
- $this->assertSame($searchGood->getQuery(), $resultSets["search1"]->getQuery());
- $this->assertSame(6, $resultSets["search1"]->getTotalHits());
- $this->assertCount(6, $resultSets["search1"]);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertSame($searchBad->getQuery(), $resultSets[0]->getQuery());
- $this->assertSame(0, $resultSets[0]->getTotalHits());
- $this->assertCount(0, $resultSets[0]);
- $this->assertTrue($resultSets[0]->getResponse()->hasError());
-
- $this->assertTrue($multiResultSet->hasError());
- }
-
- public function testGlobalSearchTypeSearch()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search1->addIndex($index)->addType($type);
- $query1 = new Query();
- $termQuery1 = new Term();
- $termQuery1->setTerm('username', 'farrelley');
- $query1->setQuery($termQuery1);
- $query1->setSize(2);
- $search1->setQuery($query1);
-
- $multiSearch->addSearch($search1);
-
- $this->assertCount(1, $multiSearch->getSearches());
-
- $search2 = new Search($client);
- $search2->addIndex($index)->addType($type);
- $query2 = new Query();
- $termQuery2 = new Term();
- $termQuery2->setTerm('username', 'bunny');
- $query2->setQuery($termQuery2);
- $query2->setSize(3);
- $search2->setQuery($query2);
-
- $multiSearch->addSearch($search2);
-
- $multiSearch->setSearchType(Search::OPTION_SEARCH_TYPE_COUNT);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(0, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(0, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
-
- $search1->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_QUERY_AND_FETCH);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(2, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(0, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
- }
-
- public function testGlobalSearchTypeSearchWithKeys()
- {
- $type = $this->_createType();
- $index = $type->getIndex();
- $client = $index->getClient();
-
- $multiSearch = new MultiSearch($client);
-
- $search1 = new Search($client);
- $search1->addIndex($index)->addType($type);
- $query1 = new Query();
- $termQuery1 = new Term();
- $termQuery1->setTerm('username', 'farrelley');
- $query1->setQuery($termQuery1);
- $query1->setSize(2);
- $search1->setQuery($query1);
-
- $multiSearch->addSearch($search1);
-
- $this->assertCount(1, $multiSearch->getSearches());
-
- $search2 = new Search($client);
- $search2->addIndex($index)->addType($type);
- $query2 = new Query();
- $termQuery2 = new Term();
- $termQuery2->setTerm('username', 'bunny');
- $query2->setQuery($termQuery2);
- $query2->setSize(3);
- $search2->setQuery($query2);
-
- $multiSearch->addSearch($search2);
-
- $multiSearch->setSearchType(Search::OPTION_SEARCH_TYPE_COUNT);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(0, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(0, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
-
- $search1->setOption(Search::OPTION_SEARCH_TYPE, Search::OPTION_SEARCH_TYPE_QUERY_AND_FETCH);
-
- $multiResultSet = $multiSearch->search();
-
- $this->assertInstanceOf('Elastica\Multi\ResultSet', $multiResultSet);
- $this->assertCount(2, $multiResultSet);
- $this->assertInstanceOf('Elastica\Response', $multiResultSet->getResponse());
-
- $resultSets = $multiResultSet->getResultSets();
-
- $this->assertInternalType('array', $resultSets);
-
- $this->assertArrayHasKey(0, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[0]);
- $this->assertCount(2, $resultSets[0]);
- $this->assertSame($query1, $resultSets[0]->getQuery());
- $this->assertEquals(3, $resultSets[0]->getTotalHits());
-
- $this->assertArrayHasKey(1, $resultSets);
- $this->assertInstanceOf('Elastica\ResultSet', $resultSets[1]);
- $this->assertCount(0, $resultSets[1]);
- $this->assertSame($query2, $resultSets[1]->getQuery());
- $this->assertEquals(6, $resultSets[1]->getTotalHits());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Node/InfoTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Node/InfoTest.php
deleted file mode 100644
index 10886b2d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Node/InfoTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace Elastica\Test\Node;
-
-use Elastica\Node;
-use Elastica\Node\Info as NodeInfo;
-use Elastica\Test\Base as BaseTest;
-
-class InfoTest extends BaseTest
-{
- public function testGet()
- {
- $client = $this->_getClient();
- $names = $client->getCluster()->getNodeNames();
- $name = reset($names);
-
- $node = new Node($name, $client);
- $info = new NodeInfo($node);
-
- $this->assertNull($info->get('os', 'mem', 'total'));
-
- // Load os infos
- $info = new NodeInfo($node, array('os'));
-
- $this->assertTrue(!is_null($info->get('os', 'mem', 'total_in_bytes')));
- $this->assertInternalType('array', $info->get('os', 'mem'));
- $this->assertNull($info->get('test', 'notest', 'notexist'));
- }
-
- public function testHasPlugin()
- {
- $client = $this->_getClient();
- $nodes = $client->getCluster()->getNodes();
- $node = $nodes[0];
- $info = $node->getInfo();
-
- $pluginName = 'mapper-attachments';
-
- $this->assertTrue($info->hasPlugin($pluginName));
- $this->assertFalse($info->hasPlugin('foo'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/NodeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/NodeTest.php
deleted file mode 100644
index d70825d1..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/NodeTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Node;
-use Elastica\Test\Base as BaseTest;
-
-class NodeTest extends BaseTest
-{
-
- public function testCreateNode()
- {
- $client = $this->_getClient();
- $names = $client->getCluster()->getNodeNames();
- $name = reset($names);
-
- $node = new Node($name, $client);
- $this->assertInstanceOf('Elastica\Node', $node);
- }
-
- public function testGetInfo()
- {
- $client = $this->_getClient();
- $names = $client->getCluster()->getNodeNames();
- $name = reset($names);
-
- $node = new Node($name, $client);
-
- $info = $node->getInfo();
-
- $this->assertInstanceOf('Elastica\Node\Info', $info);
- }
-
- public function testGetStats()
- {
- $client = $this->_getClient();
- $names = $client->getCluster()->getNodeNames();
- $name = reset($names);
-
- $node = new Node($name, $client);
-
- $stats = $node->getStats();
-
- $this->assertInstanceOf('Elastica\Node\Stats', $stats);
- }
-
- /**
- * Shuts one of two nodes down (if two available)
- */
- public function testShutdown()
- {
- $this->markTestSkipped('At least two nodes have to be running, because 1 node is shutdown');
- $client = $this->_getClient();
- $nodes = $client->getCluster()->getNodes();
-
- $count = count($nodes);
- if ($count < 2) {
- $this->markTestSkipped('At least two nodes have to be running, because 1 node is shutdown');
- }
-
- // Store node info of node with port 9200 for later
- foreach ($nodes as $key => $node) {
- if ($node->getInfo()->getPort() == 9200) {
- $info = $node->getInfo();
- unset($nodes[$key]);
- }
- }
-
- // Select one of the not port 9200 nodes and shut it down
- $node = array_shift($nodes);
- $node->shutdown('2s');
-
- // Wait until node is shutdown
- sleep(5);
-
- // Use still existing node
- $client = new Client(array('host' => $info->getIp(), 'port' => $info->getPort()));
- $names = $client->getCluster()->getNodeNames();
-
- // One node less ...
- $this->assertEquals($count - 1, count($names));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ParamTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ParamTest.php
deleted file mode 100644
index fab77600..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ParamTest.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Param;
-use Elastica\Util;
-use Elastica\Test\Base as BaseTest;
-
-class ParamTest extends BaseTest
-{
- public function testToArrayEmpty()
- {
- $param = new Param();
- $this->assertInstanceOf('Elastica\Param', $param);
- $this->assertEquals(array($this->_getFilterName($param) => array()), $param->toArray());
- }
-
- public function testSetParams()
- {
- $param = new Param();
- $params = array('hello' => 'word', 'nicolas' => 'ruflin');
- $param->setParams($params);
-
- $this->assertInstanceOf('Elastica\Param', $param);
- $this->assertEquals(array($this->_getFilterName($param) => $params), $param->toArray());
- }
-
- public function testSetGetParam()
- {
- $param = new Param();
-
- $key = 'name';
- $value = 'nicolas ruflin';
-
- $params = array($key => $value);
- $param->setParam($key, $value);
-
- $this->assertEquals($params, $param->getParams());
- $this->assertEquals($value, $param->getParam($key));
- }
-
- public function testAddParam()
- {
- $param = new Param();
-
- $key = 'name';
- $value = 'nicolas ruflin';
-
- $param->addParam($key, $value);
-
- $this->assertEquals(array($key => array($value)), $param->getParams());
- $this->assertEquals(array($value), $param->getParam($key));
- }
-
- public function testAddParam2()
- {
- $param = new Param();
-
- $key = 'name';
- $value1 = 'nicolas';
- $value2 = 'ruflin';
-
- $param->addParam($key, $value1);
- $param->addParam($key, $value2);
-
- $this->assertEquals(array($key => array($value1, $value2)), $param->getParams());
- $this->assertEquals(array($value1, $value2), $param->getParam($key));
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testGetParamInvalid()
- {
- $param = new Param();
-
- $param->getParam('notest');
- }
-
- public function testHasParam()
- {
- $param = new Param();
-
- $key = 'name';
- $value = 'nicolas ruflin';
-
- $this->assertFalse($param->hasParam($key));
-
- $param->setParam($key, $value);
- $this->assertTrue($param->hasParam($key));
- }
-
- protected function _getFilterName($filter)
- {
- return Util::getParamName($filter);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/PercolatorTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/PercolatorTest.php
deleted file mode 100644
index f4cfae0c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/PercolatorTest.php
+++ /dev/null
@@ -1,224 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Percolator;
-use Elastica\Query\Term;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class PercolatorTest extends BaseTest
-{
- public function testConstruct()
- {
- $percolatorName = 'percotest';
-
- $index = $this->_createIndex($percolatorName);
- $percolator = new Percolator($index);
-
- $query = new Term(array('field1' => 'value1'));
- $response = $percolator->registerQuery($percolatorName, $query);
-
- $data = $response->getData();
-
- $expectedArray = array(
- '_type' => '.percolator',
- '_index' => $index->getName(),
- '_id' => $percolatorName,
- '_version' => 1,
- 'created' => 1
- );
-
- $this->assertEquals($expectedArray, $data);
-
- $index->delete();
- }
-
- public function testMatchDoc()
- {
- $index = $this->_createIndex();
- $percolator = new Percolator($index);
-
- $percolatorName = 'percotest';
-
- $query = new Term(array('name' => 'ruflin'));
- $response = $percolator->registerQuery($percolatorName, $query);
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- $doc1 = new Document();
- $doc1->set('name', 'ruflin');
-
- $doc2 = new Document();
- $doc2->set('name', 'nicolas');
-
- $index->refresh();
-
- $matches1 = $percolator->matchDoc($doc1);
-
- $this->assertCount(1, $matches1);
- $firstPercolatorFound = false;
- foreach ($matches1 as $match) {
- if ($match['_id'] == $percolatorName) {
- $firstPercolatorFound = true;
- }
- }
- $this->assertTrue($firstPercolatorFound);
-
- $matches2 = $percolator->matchDoc($doc2);
- $this->assertEmpty($matches2);
-
- $index->delete();
- }
-
- /**
- * Test case for using filtered percolator queries based on the Elasticsearch documentation examples.
- */
- public function testFilteredMatchDoc()
- {
- // step one: register create index and setup the percolator query from the ES documentation.
- $index = $this->_createIndex();
- $percolator = new Percolator($index);
- $baseQuery = new Term(array('field1' => 'value1'));
- $fields = array('color' => 'blue');
-
- $response = $percolator->registerQuery('kuku', $baseQuery, $fields);
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- // refreshing is required in order to ensure the query is really ready for execution.
- $index->refresh();
-
- // step two: match a document which should match the kuku query when filtered on the blue color
- $doc = new Document();
- $doc->set('field1', 'value1');
-
- $matches = $percolator->matchDoc($doc, new Term(array('color' => 'blue')));
- $this->assertCount(1, $matches, 'No or too much registered query matched.');
- $this->assertEquals('kuku', $matches[0]['_id'], 'A wrong registered query has matched.');
-
- // step three: validate that using a different color, no registered query matches.
- $matches = $percolator->matchDoc($doc, new Term(array('color' => 'green')));
- $this->assertCount(0, $matches, 'A registered query matched, although nothing should match at all.');
-
- $index->delete();
- }
-
- /**
- * Test case for using filtered percolator queries based on the Elasticsearch documentation examples.
- */
- public function testRegisterAndUnregisterPercolator()
- {
- // step one: register create index and setup the percolator query from the ES documentation.
- $index = $this->_createIndex();
- $percolator = new Percolator($index);
- $baseQuery = new Term(array('field1' => 'value1'));
- $fields = array('color' => 'blue');
-
- $response = $percolator->registerQuery('kuku', $baseQuery, $fields);
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- // refreshing is required in order to ensure the query is really ready for execution.
- $index->refresh();
-
- // step two: match a document which should match the kuku query when filtered on the blue color
- $doc = new Document();
- $doc->set('field1', 'value1');
-
- $matches = $percolator->matchDoc($doc, new Term(array('color' => 'blue')));
- $this->assertCount(1, $matches, 'No or too much registered query matched.');
- $this->assertEquals('kuku', $matches[0]['_id'], 'A wrong registered query has matched.');
-
- // step three: validate that using a different color, no registered query matches.
- $matches = $percolator->matchDoc($doc, new Term(array('color' => 'green')));
- $this->assertCount(0, $matches, 'A registered query matched, although nothing should match at all.');
-
-
- // unregister percolator query
- $response = $percolator->unregisterQuery('kuku');
-
- $this->assertTrue($response->isOk());
- $this->assertFalse($response->hasError());
-
- // refreshing is required in order to ensure the query is really ready for execution.
- $index->refresh();
-
- $matches = $percolator->matchDoc($doc, new Term(array('color' => 'blue')));
- $this->assertCount(0, $matches, 'Percolator query did not get deleted.');
-
- $index->delete();
- }
-
- protected function _getDefaultPercolator($percolatorName = 'existingDoc')
- {
- $index = $this->_createIndex();
- $percolator = new Percolator($index);
-
- $query = new Term(array('name' => 'foobar'));
- $percolator->registerQuery($percolatorName, $query);
- return $percolator;
- }
-
- protected function _addDefaultDocuments($index, $type='testing')
- {
- $type = $index->getType('testing');
- $doc1 = new Document(1, array('name' => 'foobar'));
- $doc2 = new Document(2, array('name' => 'barbaz'));
- $type->addDocument($doc1);
- $type->addDocument($doc2);
- $index->refresh();
- return $type;
- }
-
- public function testPercolateExistingDocWithoutAnyParameter()
- {
- $percolator = $this->_getDefaultPercolator();
- $index = $percolator->getIndex();
- $type = $this->_addDefaultDocuments($index);
-
- $matches = $percolator->matchExistingDoc(1, $type->getName());
-
- $this->assertCount(1, $matches);
- $this->assertEquals('existingDoc', $matches[0]['_id']);
- $index->delete();
- }
-
- public function testPercolateExistingDocWithPercolateFormatIds()
- {
- $percolator = $this->_getDefaultPercolator();
- $index = $percolator->getIndex();
- $type = $this->_addDefaultDocuments($index);
-
- $parameter = array('percolate_format' => 'ids');
- $matches = $percolator->matchExistingDoc(1, $type->getName(), null, $parameter);
-
- $this->assertCount(1, $matches);
- $this->assertEquals('existingDoc', $matches[0]);
- $index->delete();
- }
-
- public function testPercolateExistingDocWithIdThatShouldBeUrlEncoded()
- {
- $percolator = $this->_getDefaultPercolator();
- $index = $percolator->getIndex();
- $type = $this->_addDefaultDocuments($index);
-
- // id with whitespace, should be urlencoded
- $id = "foo bar 1";
-
- $type->addDocument(new Document($id, array('name' => 'foobar')));
- $index->refresh();
-
- $matches = $percolator->matchExistingDoc($id, $type->getName());
-
- $this->assertCount(1, $matches);
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoolTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoolTest.php
deleted file mode 100644
index d3bd90cd..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoolTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query\Bool;
-use Elastica\Query\Ids;
-use Elastica\Query\Term;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type;
-
-class BoolTest extends BaseTest
-{
- public function testToArray()
- {
- $query = new Bool();
-
- $idsQuery1 = new Ids();
- $idsQuery1->setIds(1);
-
- $idsQuery2 = new Ids();
- $idsQuery2->setIds(2);
-
- $idsQuery3 = new Ids();
- $idsQuery3->setIds(3);
-
- $boost = 1.2;
- $minMatch = 2;
-
- $query->setBoost($boost);
- $query->setMinimumNumberShouldMatch($minMatch);
- $query->addMust($idsQuery1);
- $query->addMustNot($idsQuery2);
- $query->addShould($idsQuery3->toArray());
-
- $expectedArray = array(
- 'bool' => array(
- 'must' => array($idsQuery1->toArray()),
- 'should' => array($idsQuery3->toArray()),
- 'minimum_number_should_match' => $minMatch,
- 'must_not' => array($idsQuery2->toArray()),
- 'boost' => $boost,
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- /**
- * Test to resolve the following issue
- *
- * https://groups.google.com/forum/?fromgroups#!topic/elastica-php-client/zK_W_hClfvU
- */
- public function testToArrayStructure()
- {
- $boolQuery = new Bool();
-
- $term1 = new Term();
- $term1->setParam('interests', 84);
-
- $term2 = new Term();
- $term2->setParam('interests', 92);
-
- $boolQuery->addShould($term1)->addShould($term2);
-
- $jsonString = '{"bool":{"should":[{"term":{"interests":84}},{"term":{"interests":92}}]}}';
- $this->assertEquals($jsonString, json_encode($boolQuery->toArray()));
- }
-
- public function testSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array(), true);
-
- $type = new Type($index, 'helloworld');
-
- $doc = new Document(1, array('id' => 1, 'email' => 'hans@test.com', 'username' => 'hans', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'email' => 'emil@test.com', 'username' => 'emil', 'test' => array('1', '3', '6')));
- $type->addDocument($doc);
- $doc = new Document(3, array('id' => 3, 'email' => 'ruth@test.com', 'username' => 'ruth', 'test' => array('2', '3', '7')));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $boolQuery = new Bool();
- $termQuery1 = new Term(array('test' => '2'));
- $boolQuery->addMust($termQuery1);
- $resultSet = $type->search($boolQuery);
-
- $this->assertEquals(2, $resultSet->count());
-
- $termQuery2 = new Term(array('test' => '5'));
- $boolQuery->addMust($termQuery2);
- $resultSet = $type->search($boolQuery);
-
- $this->assertEquals(1, $resultSet->count());
-
- $termQuery3 = new Term(array('username' => 'hans'));
- $boolQuery->addMust($termQuery3);
- $resultSet = $type->search($boolQuery);
-
- $this->assertEquals(1, $resultSet->count());
-
- $termQuery4 = new Term(array('username' => 'emil'));
- $boolQuery->addMust($termQuery4);
- $resultSet = $type->search($boolQuery);
-
- $this->assertEquals(0, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoostingTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoostingTest.php
deleted file mode 100644
index f5af8740..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BoostingTest.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Boosting;
-use Elastica\Test\Base as BaseTest;
-
-class BoostingTest extends BaseTest
-{
- /**
- * @var \Elastica\Index
- */
- protected $index;
-
- /**
- * @var \Elastica\Type
- */
- protected $type;
-
- /*
- * @var array
- */
- protected $sampleData;
-
- protected function setUp()
- {
- parent::setUp();
- $this->index = $this->_createIndex('test_boostingquery');
- $this->type = $this->index->getType('test');
- $this->type->setMapping(array(
- 'name' => array('type' => 'string', 'index' => 'analyzed'),
- 'price' => array('type' => 'float')
- ));
-
- $this->sampleData = array(
- array("name" => "Vital Lama", "price" => 5.2),
- array("name" => "Vital Match", "price" => 2.1),
- array("name" => "Mercury Vital", "price" => 7.5),
- array("name" => "Fist Mercury", "price" => 3.8),
- array("name" => "Lama Vital 2nd", "price" => 3.2)
- );
-
- foreach($this->sampleData as $key => $value) {
- $this->type->addDocument(new Document($key, $value));
- }
-
- $this->index->refresh();
- }
-
- protected function tearDown()
- {
- $this->index->delete();
- parent::tearDown();
- }
-
- public function testToArray()
- {
- $keyword = "vital";
- $negativeKeyword = "Mercury";
-
- $query = new Boosting();
- $positiveQuery = new \Elastica\Query\Term(array('name' => $keyword));
- $negativeQuery = new \Elastica\Query\Term(array('name' => $negativeKeyword));
- $query->setPositiveQuery($positiveQuery);
- $query->setNegativeQuery($negativeQuery);
- $query->setNegativeBoost(0.3);
-
- $expected = array(
- 'boosting' => array(
- 'positive' => $positiveQuery->toArray(),
- 'negative' => $negativeQuery->toArray(),
- 'negative_boost' => 0.3
- )
- );
- $this->assertEquals($expected, $query->toArray());
- }
-
- public function testNegativeBoost()
- {
- $keyword = "vital";
- $negativeKeyword = "mercury";
-
- $query = new Boosting();
- $positiveQuery = new \Elastica\Query\Term(array('name' => $keyword));
- $negativeQuery = new \Elastica\Query\Term(array('name' => $negativeKeyword));
- $query->setPositiveQuery($positiveQuery);
- $query->setNegativeQuery($negativeQuery);
- $query->setNegativeBoost(0.2);
-
- $response = $this->type->search($query);
- $results = $response->getResults();
-
- $this->assertEquals($response->getTotalHits(), 4);
-
- $lastResult = $results[3]->getData();
- $this->assertEquals($lastResult['name'], $this->sampleData[2]['name']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BuilderTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BuilderTest.php
deleted file mode 100644
index 5875c4ba..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/BuilderTest.php
+++ /dev/null
@@ -1,270 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Builder;
-use Elastica\Test\Base as BaseTest;
-
-class BuilderTest extends BaseTest
-{
- /**
- * @var \Elastica\Query\Builder
- */
- private $builder;
-
- public function setUp()
- {
- $this->builder = new Builder();
- }
-
- public function tearDown()
- {
- $this->builder = null;
- }
-
- /**
- * @covers \Elastica\Query\Builder::factory
- * @covers \Elastica\Query\Builder::__construct
- */
- public function testFactory()
- {
- $this->assertInstanceOf(
- 'Elastica\Query\Builder',
- Builder::factory('some string')
- );
- }
-
- public function getQueryData()
- {
- return array(
- array('allowLeadingWildcard', false, '{"allow_leading_wildcard":"false"}'),
- array('allowLeadingWildcard', true, '{"allow_leading_wildcard":"true"}'),
- array('analyzeWildcard', false, '{"analyze_wildcard":"false"}'),
- array('analyzeWildcard', true, '{"analyze_wildcard":"true"}'),
- array('analyzer', 'someAnalyzer', '{"analyzer":"someAnalyzer"}'),
- array('autoGeneratePhraseQueries', true, '{"auto_generate_phrase_queries":"true"}'),
- array('autoGeneratePhraseQueries', false, '{"auto_generate_phrase_queries":"false"}'),
- array('boost', 2, '{"boost":"2"}'),
- array('boost', 4.2, '{"boost":"4.2"}'),
- array('defaultField', 'fieldName', '{"default_field":"fieldName"}'),
- array('defaultOperator', 'OR', '{"default_operator":"OR"}'),
- array('defaultOperator', 'AND', '{"default_operator":"AND"}'),
- array('enablePositionIncrements', true, '{"enable_position_increments":"true"}'),
- array('enablePositionIncrements', false, '{"enable_position_increments":"false"}'),
- array('explain', true, '{"explain":"true"}'),
- array('explain', false, '{"explain":"false"}'),
- array('from', 42, '{"from":"42"}'),
- array('fuzzyMinSim', 4.2, '{"fuzzy_min_sim":"4.2"}'),
- array('fuzzyPrefixLength', 2, '{"fuzzy_prefix_length":"2"}'),
- array('gt', 10, '{"gt":"10"}'),
- array('gte', 11, '{"gte":"11"}'),
- array('lowercaseExpandedTerms', true, '{"lowercase_expanded_terms":"true"}'),
- array('lt', 10, '{"lt":"10"}'),
- array('lte', 11, '{"lte":"11"}'),
- array('minimumNumberShouldMatch', 21, '{"minimum_number_should_match":"21"}'),
- array('phraseSlop', 6, '{"phrase_slop":"6"}'),
- array('size', 7, '{"size":"7"}'),
- array('tieBreakerMultiplier', 7, '{"tie_breaker_multiplier":"7"}'),
- array('matchAll', 1.1, '{"match_all":{"boost":"1.1"}}'),
- array('fields', array("age", "sex", "location"), '{"fields":["age","sex","location"]}'),
- );
- }
-
- /**
- * @dataProvider getQueryData
- * @covers \Elastica\Query\Builder::__toString
- * @covers \Elastica\Query\Builder::allowLeadingWildcard
- * @covers \Elastica\Query\Builder::analyzeWildcard
- * @covers \Elastica\Query\Builder::analyzer
- * @covers \Elastica\Query\Builder::autoGeneratePhraseQueries
- * @covers \Elastica\Query\Builder::boost
- * @covers \Elastica\Query\Builder::defaultField
- * @covers \Elastica\Query\Builder::defaultOperator
- * @covers \Elastica\Query\Builder::enablePositionIncrements
- * @covers \Elastica\Query\Builder::explain
- * @covers \Elastica\Query\Builder::from
- * @covers \Elastica\Query\Builder::fuzzyMinSim
- * @covers \Elastica\Query\Builder::fuzzyPrefixLength
- * @covers \Elastica\Query\Builder::gt
- * @covers \Elastica\Query\Builder::gte
- * @covers \Elastica\Query\Builder::lowercaseExpandedTerms
- * @covers \Elastica\Query\Builder::lt
- * @covers \Elastica\Query\Builder::lte
- * @covers \Elastica\Query\Builder::minimumNumberShouldMatch
- * @covers \Elastica\Query\Builder::phraseSlop
- * @covers \Elastica\Query\Builder::size
- * @covers \Elastica\Query\Builder::tieBreakerMultiplier
- * @covers \Elastica\Query\Builder::matchAll
- * @covers \Elastica\Query\Builder::fields
- */
- public function testAllowLeadingWildcard($method, $argument, $result)
- {
- $this->assertSame($this->builder, $this->builder->$method($argument));
- $this->assertSame($result, (string) $this->builder);
- }
-
- public function getQueryTypes()
- {
- return array(
- array('bool', 'bool'),
- array('constantScore', 'constant_score'),
- array('disMax', 'dis_max'),
- array('facets', 'facets'),
- array('filter', 'filter'),
- array('filteredQuery', 'filtered'),
- array('must', 'must'),
- array('mustNot', 'must_not'),
- array('prefix', 'prefix'),
- array('query', 'query'),
- array('queryString', 'query_string'),
- array('range', 'range'),
- array('should', 'should'),
- array('sort', 'sort'),
- array('term', 'term'),
- array('textPhrase', 'text_phrase'),
- array('wildcard', 'wildcard'),
- );
- }
-
- /**
- * @dataProvider getQueryTypes
- *
- * @covers \Elastica\Query\Builder::fieldClose
- * @covers \Elastica\Query\Builder::close
- *
- * @covers \Elastica\Query\Builder::bool
- * @covers \Elastica\Query\Builder::boolClose
- * @covers \Elastica\Query\Builder::constantScore
- * @covers \Elastica\Query\Builder::constantScoreClose
- * @covers \Elastica\Query\Builder::disMax
- * @covers \Elastica\Query\Builder::disMaxClose
- * @covers \Elastica\Query\Builder::facets
- * @covers \Elastica\Query\Builder::facetsClose
- * @covers \Elastica\Query\Builder::filter
- * @covers \Elastica\Query\Builder::filterClose
- * @covers \Elastica\Query\Builder::filteredQuery
- * @covers \Elastica\Query\Builder::filteredQueryClose
- * @covers \Elastica\Query\Builder::must
- * @covers \Elastica\Query\Builder::mustClose
- * @covers \Elastica\Query\Builder::mustNot
- * @covers \Elastica\Query\Builder::mustNotClose
- * @covers \Elastica\Query\Builder::prefix
- * @covers \Elastica\Query\Builder::prefixClose
- * @covers \Elastica\Query\Builder::query
- * @covers \Elastica\Query\Builder::queryClose
- * @covers \Elastica\Query\Builder::queryString
- * @covers \Elastica\Query\Builder::queryStringClose
- * @covers \Elastica\Query\Builder::range
- * @covers \Elastica\Query\Builder::rangeClose
- * @covers \Elastica\Query\Builder::should
- * @covers \Elastica\Query\Builder::shouldClose
- * @covers \Elastica\Query\Builder::sort
- * @covers \Elastica\Query\Builder::sortClose
- * @covers \Elastica\Query\Builder::term
- * @covers \Elastica\Query\Builder::termClose
- * @covers \Elastica\Query\Builder::textPhrase
- * @covers \Elastica\Query\Builder::textPhraseClose
- * @covers \Elastica\Query\Builder::wildcard
- * @covers \Elastica\Query\Builder::wildcardClose
- */
- public function testQueryTypes($method, $queryType)
- {
- $this->assertSame($this->builder, $this->builder->$method()); // open
- $this->assertSame($this->builder, $this->builder->{$method."Close"}()); // close
- $this->assertSame('{"' . $queryType . '":{}}', (string) $this->builder);
- }
-
- /**
- * @covers \Elastica\Query\Builder::fieldOpen
- * @covers \Elastica\Query\Builder::fieldClose
- * @covers \Elastica\Query\Builder::open
- * @covers \Elastica\Query\Builder::close
- */
- public function testFieldOpenAndClose()
- {
- $this->assertSame($this->builder, $this->builder->fieldOpen('someField'));
- $this->assertSame($this->builder, $this->builder->fieldClose());
- $this->assertSame('{"someField":{}}', (string) $this->builder);
- }
-
- /**
- * @covers \Elastica\Query\Builder::sortField
- */
- public function testSortField()
- {
- $this->assertSame($this->builder, $this->builder->sortField('name', true));
- $this->assertSame('{"sort":{"name":{"reverse":"true"}}}', (string) $this->builder);
- }
-
- /**
- * @covers \Elastica\Query\Builder::sortFields
- */
- public function testSortFields()
- {
- $this->assertSame($this->builder, $this->builder->sortFields(array('field1' => 'asc', 'field2' => 'desc', 'field3' => 'asc')));
- $this->assertSame('{"sort":[{"field1":"asc"},{"field2":"desc"},{"field3":"asc"}]}', (string) $this->builder);
- }
-
- /**
- * @covers \Elastica\Query\Builder::queries
- */
- public function testQueries()
- {
- $queries = array();
-
- $b1 = clone $this->builder;
- $b2 = clone $this->builder;
-
- $queries[] = $b1->term()->field('age', 34)->termClose();
- $queries[] = $b2->term()->field('name', 'christer')->termClose();
-
- $this->assertSame($this->builder, $this->builder->queries($queries));
- $this->assertSame('{"queries":[{"term":{"age":"34"}},{"term":{"name":"christer"}}]}', (string) $this->builder);
- }
-
- public function getFieldData()
- {
- return array(
- array('name', 'value', '{"name":"value"}'),
- array('name', true, '{"name":"true"}'),
- array('name', false, '{"name":"false"}'),
- array('name', array(1, 2, 3), '{"name":["1","2","3"]}'),
- array('name', array('foo', 'bar', 'baz'), '{"name":["foo","bar","baz"]}'),
- );
- }
-
- /**
- * @dataProvider getFieldData
- * @covers \Elastica\Query\Builder::field
- */
- public function testField($name, $value, $result)
- {
- $this->assertSame($this->builder, $this->builder->field($name, $value));
- $this->assertSame($result, (string) $this->builder);
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- * @covers \Elastica\Query\Builder::toArray
- */
- public function testToArrayWithInvalidData()
- {
- $this->builder->open('foo');
- $this->builder->toArray();
- }
-
- /**
- * @covers \Elastica\Query\Builder::toArray
- */
- public function testToArray()
- {
- $this->builder->query()->term()->field('category.id', array(1, 2, 3))->termClose()->queryClose();
- $this->assertEquals(array(
- 'query' => array(
- 'term' => array(
- 'category.id' => array(1, 2, 3)
- )
- )
- ), $this->builder->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php
deleted file mode 100644
index a84d6397..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Common;
-use Elastica\Test\Base as BaseTest;
-
-class CommonTest extends BaseTest
-{
- public function testToArray()
- {
- $query = new Common('body', 'test query', .001);
- $query->setLowFrequencyOperator(Common::OPERATOR_AND);
-
- $expected = array(
- 'common' => array(
- 'body' => array(
- 'query' => 'test query',
- 'cutoff_frequency' => .001,
- 'low_freq_operator' => 'and'
- )
- )
- );
-
- $this->assertEquals($expected, $query->toArray());
- }
-
- public function testQuery()
- {
- $index = $this->_createIndex('common_test');
- $type = $index->getType('test');
-
- //add documents to create common terms
- $docs = array();
- for ($i = 0; $i < 20; $i++) {
- $docs[] = new \Elastica\Document($i, array('body' => 'foo bar'));
- }
- $type->addDocuments($docs);
-
- $type->addDocument(new \Elastica\Document(20, array('body' => 'foo baz')));
- $type->addDocument(new \Elastica\Document(21, array('body' => 'foo bar baz')));
- $type->addDocument(new \Elastica\Document(22, array('body' => 'foo bar baz bat')));
- $index->refresh();
-
- $query = new Common('body', 'foo bar baz bat', .5);
- $results = $type->search($query)->getResults();
-
- //documents containing only common words should not be returned
- $this->assertEquals(3, sizeof($results));
-
- $query->setMinimumShouldMatch(2);
- $results = $type->search($query);
-
- //only the document containing both low frequency terms should match
- $this->assertEquals(1, $results->count());
-
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/ConstantScoreTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/ConstantScoreTest.php
deleted file mode 100644
index 27143eb6..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/ConstantScoreTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Filter\Term;
-use Elastica\Filter\Ids;
-use Elastica\Query\ConstantScore;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Index;
-use Elastica\Document;
-use Elastica\Type;
-
-class ConstantScoreTest extends BaseTest
-{
- public function dataProviderSampleQueries()
- {
- return array(
- array(
- new Term(array('foo', 'bar')),
- array(
- 'constant_score' => array(
- 'filter' => array(
- 'term' => array(
- 'foo',
- 'bar',
- ),
- ),
- ),
- ),
- ),
- array(
- array(
- 'and' => array(
- array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'foo',
- 'default_field' => 'something',
- ),
- ),
- ),
- array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'bar',
- 'default_field' => 'something',
- ),
- ),
- ),
- ),
- ),
- '{"constant_score":{"filter":{"and":[{"query":{"query_string":{"query":"foo","default_field":"something"}}},{"query":{"query_string":{"query":"bar","default_field":"something"}}}]}}}',
- ),
- );
- }
- /**
- * @dataProvider dataProviderSampleQueries
- */
- public function testSimple($filter, $expected)
- {
- $query = new ConstantScore();
- $query->setFilter($filter);
- if (is_string($expected)) {
- $expected = json_decode($expected, true);
- }
- $this->assertEquals($expected, $query->toArray());
- }
-
- public function testToArray()
- {
- $query = new ConstantScore();
-
- $boost = 1.2;
- $filter = new Ids();
- $filter->setIds(array(1));
-
- $query->setFilter($filter);
- $query->setBoost($boost);
-
- $expectedArray = array(
- 'constant_score' => array(
- 'filter' => $filter->toArray(),
- 'boost' => $boost
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testConstruct()
- {
- $filter = new Ids();
- $filter->setIds(array(1));
-
- $query = new ConstantScore($filter);
-
- $expectedArray = array(
- 'constant_score' => array(
- 'filter' => $filter->toArray(),
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
-
- }
-
- public function testQuery()
- {
-
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array(), true);
-
- $type = new Type($index, 'constant_score');
-
- $doc = new Document(1, array('id' => 1, 'email' => 'hans@test.com', 'username' => 'hans'));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'email' => 'emil@test.com', 'username' => 'emil'));
- $type->addDocument($doc);
- $doc = new Document(3, array('id' => 3, 'email' => 'ruth@test.com', 'username' => 'ruth'));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $boost = 1.3;
- $query_match = new MatchAll();
-
- $query = new ConstantScore();
- $query->setQuery($query_match);
- $query->setBoost($boost);
-
- $expectedArray = array(
- 'constant_score' => array(
- 'query' => $query_match->toArray(),
- 'boost' => $boost
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- $resultSet = $type->search($query);
-
- $results = $resultSet->getResults();
-
- $this->assertEquals($resultSet->count(), 3);
- $this->assertEquals($results[1]->getScore(), 1);
-
- }
-
- public function testConstructEmpty()
- {
- $query = new ConstantScore();
- $expectedArray = array('constant_score' => array());
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/DisMaxTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/DisMaxTest.php
deleted file mode 100644
index 31c8437d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/DisMaxTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\DisMax;
-use Elastica\Query\Ids;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-
-class DisMaxTest extends BaseTest
-{
- public function testToArray()
- {
- $query = new DisMax();
-
- $idsQuery1 = new Ids();
- $idsQuery1->setIds(1);
-
- $idsQuery2 = new Ids();
- $idsQuery2->setIds(2);
-
- $idsQuery3 = new Ids();
- $idsQuery3->setIds(3);
-
- $boost = 1.2;
- $tieBreaker = 2;
-
- $query->setBoost($boost);
- $query->setTieBreaker($tieBreaker);
- $query->addQuery($idsQuery1);
- $query->addQuery($idsQuery2);
- $query->addQuery($idsQuery3->toArray());
-
- $expectedArray = array(
- 'dis_max' => array(
- 'tie_breaker' => $tieBreaker,
- 'boost' => $boost,
- 'queries' => array(
- $idsQuery1->toArray(),
- $idsQuery2->toArray(),
- $idsQuery3->toArray()
- )
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testQuery()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $queryString1 = new QueryString('Bade*');
- $queryString2 = new QueryString('Base*');
-
- $boost = 1.2;
- $tieBreaker = 2;
-
- $query = new DisMax();
- $query->setBoost($boost);
- $query->setTieBreaker($tieBreaker);
- $query->addQuery($queryString1);
- $query->addQuery($queryString2);
- $resultSet = $type->search($query);
-
- $this->assertEquals(3, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FilteredTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FilteredTest.php
deleted file mode 100644
index c6bd9096..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FilteredTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Filter\Term;
-use Elastica\Query\Filtered;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-
-class FilteredTest extends BaseTest
-{
- public function testFilteredSearch()
- {
- $index = $this->_createIndex();
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'email' => 'test@test.com', 'username' => 'peter', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
-
- $queryString = new QueryString('test*');
-
- $filter1 = new Term();
- $filter1->setTerm('username', 'peter');
-
- $filter2 = new Term();
- $filter2->setTerm('username', 'qwerqwer');
-
- $query1 = new Filtered($queryString, $filter1);
- $query2 = new Filtered($queryString, $filter2);
- $index->refresh();
-
- $resultSet = $type->search($queryString);
- $this->assertEquals(2, $resultSet->count());
-
- $resultSet = $type->search($query1);
- $this->assertEquals(1, $resultSet->count());
-
- $resultSet = $type->search($query2);
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testFilteredGetter()
- {
- $queryString = new QueryString('test*');
-
- $filter1 = new Term();
- $filter1->setTerm('username', 'peter');
-
- $filter2 = new Term();
- $filter2->setTerm('username', 'qwerqwer');
-
- $query1 = new Filtered($queryString, $filter1);
- $query2 = new Filtered($queryString, $filter2);
-
- $this->assertEquals($query1->getQuery(), $queryString);
- $this->assertEquals($query2->getQuery(), $queryString);
- $this->assertEquals($query1->getFilter(), $filter1);
- $this->assertEquals($query2->getFilter(), $filter2);
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testFilteredWithoutArgumentsShouldRaiseException()
- {
- $query = new Filtered();
- $query->toArray();
- }
-
- public function testFilteredSearchNoQuery()
- {
- $index = $this->_createIndex();
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'email' => 'test@test.com', 'username' => 'peter', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
-
- $filter = new Term();
- $filter->setTerm('username', 'peter');
-
- $query = new Filtered(null, $filter);
- $index->refresh();
-
- $resultSet = $type->search($query);
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testFilteredSearchNoFilter()
- {
- $index = $this->_createIndex();
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'email' => 'test@test.com', 'username' => 'peter', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
-
- $queryString = new QueryString('hans*');
-
- $query = new Filtered($queryString);
- $index->refresh();
-
- $resultSet = $type->search($query);
- $this->assertEquals(1, $resultSet->count());
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FunctionScoreTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FunctionScoreTest.php
deleted file mode 100644
index 47d9dd2c..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FunctionScoreTest.php
+++ /dev/null
@@ -1,210 +0,0 @@
-<?php
-/**
- * User: Joe Linn
- * Date: 9/16/13
- * Time: 5:05 PM
- */
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Filter\Term;
-use Elastica\Query\FunctionScore;
-use Elastica\Script;
-use Elastica\Test\Base as BaseTest;
-
-class FunctionScoreTest extends BaseTest
-{
- /**
- * @var \Elastica\Index
- */
- protected $index;
-
- /**
- * @var \Elastica\Type
- */
- protected $type;
-
- protected $locationOrigin = "32.804654, -117.242594";
-
- protected function setUp()
- {
- parent::setUp();
- $this->index = $this->_createIndex('test_functionscore');
- $this->type = $this->index->getType('test');
- $this->type->setMapping(array(
- 'name' => array('type' => 'string', 'index' => 'not_analyzed'),
- 'location' => array('type' => 'geo_point'),
- 'price' => array('type' => 'float')
- ));
-
- $this->type->addDocument(new Document(1, array(
- 'name' => "Mr. Frostie's",
- 'location' => array('lat' => 32.799605, 'lon' => -117.243027),
- 'price' => 4.5
- )));
- $this->type->addDocument(new Document(2, array(
- 'name' => "Miller's Field",
- 'location' => array('lat' => 32.795964, 'lon' => -117.255028),
- 'price' => 9.5
- )));
-
- $this->index->refresh();
- }
-
- protected function tearDown()
- {
- $this->index->delete();
- parent::tearDown();
- }
-
- public function testToArray()
- {
- $priceOrigin = 0;
- $locationScale = '2mi';
- $priceScale = 9.25;
- $query = new FunctionScore();
- $childQuery = new \Elastica\Query\MatchAll();
- $query->setQuery($childQuery);
- $query->addDecayFunction(FunctionScore::DECAY_GAUSS, 'location', $this->locationOrigin, $locationScale);
- $query->addDecayFunction(FunctionScore::DECAY_GAUSS, 'price', $priceOrigin, $priceScale);
- $expected = array(
- 'function_score' => array(
- 'query' => $childQuery->toArray(),
- 'functions' => array(
- array(
- 'gauss' => array(
- 'location' => array(
- 'origin' => $this->locationOrigin,
- 'scale' => $locationScale
- )
- )
- ),
- array(
- 'gauss' => array(
- 'price' => array(
- 'origin' => $priceOrigin,
- 'scale' => $priceScale
- )
- )
- )
- )
- )
- );
- $this->assertEquals($expected, $query->toArray());
- }
-
- public function testGauss()
- {
- $query = new FunctionScore();
- $query->addDecayFunction(FunctionScore::DECAY_GAUSS, 'location', $this->locationOrigin, "4mi");
- $query->addDecayFunction(FunctionScore::DECAY_GAUSS, 'price', 0, 10);
- $response = $this->type->search($query);
- $results = $response->getResults();
-
- // the document with the closest location and lowest price should be scored highest
- $result0 = $results[0]->getData();
- $this->assertEquals("Mr. Frostie's", $result0['name']);
- }
-
- public function testBoostFactor()
- {
- $filter = new Term(array('price' => 4.5));
- $query = new FunctionScore();
- $query->addBoostFactorFunction(5.0, $filter);
- $expected = array(
- 'function_score' => array(
- 'functions' => array(
- array(
- 'boost_factor' => 5.0,
- 'filter' => array(
- 'term' => array(
- 'price' => 4.5
- )
- )
- )
- )
- )
- );
-
- $this->assertEquals($expected, $query->toArray());
-
- $response = $this->type->search($query);
- $results = $response->getResults();
-
- // the document with price = 4.5 should be scored highest
- $result0 = $results[0]->getData();
- $this->assertEquals("Mr. Frostie's", $result0['name']);
- }
-
- public function testRandomScore()
- {
- $filter = new Term(array('price' => 4.5));
- $query = new FunctionScore();
- $query->addRandomScoreFunction(2, $filter);
- $expected = array(
- 'function_score' => array(
- 'functions' => array(
- array(
- 'random_score' => array(
- 'seed' => 2
- ),
- 'filter' => array(
- 'term' => array(
- 'price' => 4.5
- )
- )
- )
- )
- )
- );
-
- $this->assertEquals($expected, $query->toArray());
-
- $response = $this->type->search($query);
- $results = $response->getResults();
-
- // the document with the random score should have a score > 1, means it is the first result
- $result0 = $results[1]->getData();
-
- $this->assertEquals("Miller's Field", $result0['name']);
- }
-
- public function testRandomScoreWithoutSeed()
- {
- $query = new FunctionScore();
- $query->setRandomScore();
-
- $response = $this->type->search($query);
-
- $this->assertEquals(2, $response->count());
- }
-
- public function testScriptScore()
- {
- $scriptString = "_score * doc['price'].value";
- $script = new Script($scriptString);
- $query = new FunctionScore();
- $query->addScriptScoreFunction($script);
- $expected = array(
- 'function_score' => array(
- 'functions' => array(
- array(
- 'script_score' => array(
- 'script' => $scriptString
- )
- )
- )
- )
- );
-
- $this->assertEquals($expected, $query->toArray());
-
- $response = $this->type->search($query);
- $results = $response->getResults();
-
- // the document the highest price should be scored highest
- $result0 = $results[0]->getData();
- $this->assertEquals("Miller's Field", $result0['name']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyLikeThisTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyLikeThisTest.php
deleted file mode 100644
index c842c1a8..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyLikeThisTest.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query\FuzzyLikeThis;
-use Elastica\Type;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class FuzzyLikeThisTest extends BaseTest
-{
- public function testSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array(), true);
- $index->getSettings()->setNumberOfReplicas(0);
- //$index->getSettings()->setNumberOfShards(1);
-
- $type = new Type($index, 'helloworldfuzzy');
- $mapping = new Mapping($type , array(
- 'email' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- 'content' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- ));
-
- $mapping->setSource(array('enabled' => false));
- $type->setMapping($mapping);
-
- $doc = new Document(1000, array('email' => 'testemail@gmail.com', 'content' => 'This is a sample post. Hello World Fuzzy Like This!'));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $fltQuery = new FuzzyLikeThis();
- $fltQuery->setLikeText("sample gmail");
- $fltQuery->addFields(array("email","content"));
- $fltQuery->setMinSimilarity(0.3);
- $fltQuery->setMaxQueryTerms(3);
- $resultSet = $type->search($fltQuery);
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetPrefixLength()
- {
- $query = new FuzzyLikeThis();
-
- $length = 3;
- $query->setPrefixLength($length);
-
- $data = $query->toArray();
-
- $this->assertEquals($length, $data['fuzzy_like_this']['prefix_length']);
- }
-
- public function testAddFields()
- {
- $query = new FuzzyLikeThis();
-
- $fields = array('test1', 'test2');
- $query->addFields($fields);
-
- $data = $query->toArray();
-
- $this->assertEquals($fields, $data['fuzzy_like_this']['fields']);
- }
-
- public function testSetLikeText()
- {
- $query = new FuzzyLikeThis();
-
- $text = ' hello world';
- $query->setLikeText($text);
-
- $data = $query->toArray();
-
- $this->assertEquals(trim($text), $data['fuzzy_like_this']['like_text']);
- }
-
- public function testSetIgnoreTF()
- {
- $query = new FuzzyLikeThis();
-
- $ignoreTF = false;
- $query->setIgnoreTF($ignoreTF);
- $data = $query->toArray();
- $this->assertEquals($ignoreTF, $data['fuzzy_like_this']['ignore_tf']);
-
- $ignoreTF = true;
- $query->setIgnoreTF($ignoreTF);
- $data = $query->toArray();
- $this->assertEquals($ignoreTF, $data['fuzzy_like_this']['ignore_tf']);
- }
-
- public function testSetIgnoreTFDefault()
- {
- $query = new FuzzyLikeThis();
-
- $data = $query->toArray();
-
- $defaultIgnoreTF = false;
- $this->assertEquals($defaultIgnoreTF, $data['fuzzy_like_this']['ignore_tf']);
- }
-
- public function testSetMinSimilarity()
- {
- $query = new FuzzyLikeThis();
-
- $similarity = 2;
- $query->setMinSimilarity($similarity);
-
- $data = $query->toArray();
-
- $this->assertEquals($similarity, $data['fuzzy_like_this']['min_similarity']);
- }
-
- public function testSetBoost()
- {
- $query = new FuzzyLikeThis();
-
- $boost = 2.2;
- $query->setBoost($boost);
-
- $data = $query->toArray();
-
- $this->assertEquals($boost, $data['fuzzy_like_this']['boost']);
- }
-
- public function testAddAnalyzerViasetParam()
- {
- $analyzer = 'snowball';
-
- $query = new FuzzyLikeThis();
- $query->setParam('analyzer', $analyzer);
-
- $data = $query->toArray();
- $this->assertEquals($analyzer, $data['fuzzy_like_this']['analyzer']);
- }
-
- public function testSetAnalyzer()
- {
- $analyzer = 'snowball';
-
- $query = new FuzzyLikeThis();
- $query->setAnalyzer($analyzer);
-
- $data = $query->toArray();
- $this->assertEquals($analyzer, $data['fuzzy_like_this']['analyzer']);
- }
-
- public function testAnalyzerNotPresentInArrayToMaintainDefaultOfField()
- {
- $query = new FuzzyLikeThis();
-
- $data = $query->toArray();
- $this->assertArrayNotHasKey('analyzer', $data);
- }
-
- public function testArgArrayFieldsOverwrittenBySetParams()
- {
- $query = new FuzzyLikeThis();
- $query->setMaxQueryTerms(100);
- $query->setParam('max_query_terms', 200);
-
- $data = $query->toArray();
- $this->assertEquals(200, $data['fuzzy_like_this']['max_query_terms']);
- }
-
- public function testSearchSetAnalyzer()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array('analysis' => array(
- 'analyzer' => array(
- 'searchAnalyzer' => array(
- 'type' => 'custom',
- 'tokenizer' => 'standard',
- 'filter' => array('myStopWords')
- )
- ),
- 'filter' => array(
- 'myStopWords' => array(
- 'type' => 'stop',
- 'stopwords' => array('The')
- )
- )
- )), true);
-
- $index->getSettings()->setNumberOfReplicas(0);
- //$index->getSettings()->setNumberOfShards(1);
-
- $type = new Type($index, 'helloworldfuzzy');
- $mapping = new Mapping($type , array(
- 'email' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- 'content' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- ));
-
- $mapping->setSource(array('enabled' => false));
- $type->setMapping($mapping);
-
- $doc = new Document(1000, array('email' => 'testemail@gmail.com', 'content' => 'The Fuzzy Test!'));
- $type->addDocument($doc);
-
- $doc = new Document(1001, array('email' => 'testemail@gmail.com', 'content' => 'Elastica Fuzzy Test'));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $fltQuery = new FuzzyLikeThis();
- $fltQuery->addFields(array("email","content"));
- $fltQuery->setLikeText("The");
-
- $fltQuery->setMinSimilarity(0.1);
- $fltQuery->setMaxQueryTerms(3);
-
- // Test before analyzer applied, should return 1 result
- $resultSet = $type->search($fltQuery);
- $this->assertEquals(1, $resultSet->count());
-
- $fltQuery->setParam('analyzer', 'searchAnalyzer');
-
- $resultSet = $type->search($fltQuery);
- $this->assertEquals(0, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyTest.php
deleted file mode 100644
index 57659293..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/FuzzyTest.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Fuzzy;
-use Elastica\Test\Base as BaseTest;
-
-class FuzzyTest extends BaseTest
-{
- public function testToArray()
- {
- $fuzzy = new Fuzzy();
- $fuzzy->addField('user', array('value' => 'Nicolas', 'boost' => 1.0));
- $expectedArray = array(
- 'fuzzy' => array(
- 'user' => array(
- 'value' => 'Nicolas',
- 'boost' => 1.0
- )
- )
- );
- $this->assertEquals($expectedArray, $fuzzy->toArray(), 'Deprecated method failed');
-
- $fuzzy = new Fuzzy('user', 'Nicolas');
- $expectedArray = array(
- 'fuzzy' => array(
- 'user' => array(
- 'value' => 'Nicolas',
- )
- )
- );
- $this->assertEquals($expectedArray, $fuzzy->toArray());
-
- $fuzzy = new Fuzzy();
- $fuzzy->setField('user', 'Nicolas')->setFieldOption('boost', 1.0);
- $expectedArray = array(
- 'fuzzy' => array(
- 'user' => array(
- 'value' => 'Nicolas',
- 'boost' => 1.0
- )
- )
- );
- $this->assertEquals($expectedArray, $fuzzy->toArray());
- }
-
- public function testQuery()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $field = 'name';
-
- $query = new Fuzzy();
- $query->setField($field, 'Baden');
-
- $resultSet = $index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testBadArguments ()
- {
- $this->setExpectedException('Elastica\Exception\InvalidException');
- $query = new Fuzzy();
- $query->addField('name', array(array('value' => 'Baden')));
-
- $this->setExpectedException('Elastica\Exception\InvalidException');
- $query = new Fuzzy();
- $query->setField('name', array());
-
- $this->setExpectedException('Elastica\Exception\InvalidException');
- $query = new Fuzzy();
- $query->setField('name', 'value');
- $query->setField('name1', 'value1');
- }
-
- public function testFuzzyWithFacets() {
-
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $field = 'name';
-
- $fuzzyQuery = new Fuzzy();
- $fuzzyQuery->setField($field, 'Baden');
-
- $facet = new \Elastica\Facet\Terms('test');
- $facet->setField('name');
-
- $query = new \Elastica\Query($fuzzyQuery);
- $query->addFacet($facet);
-
- $resultSet = $index->search($query);
-
- // Assert query worked ok
- $this->assertEquals(2, $resultSet->count());
-
- // Check Facets
- $this->assertTrue($resultSet->hasFacets());
- $facets = $resultSet->getFacets();
- $this->assertEquals(2, $facets['test']['total']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasChildTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasChildTest.php
deleted file mode 100644
index bb1b5b96..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasChildTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\HasChild;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class HasChildTest extends BaseTest
-{
- public function testToArray()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $query = new HasChild($q, $type);
-
- $expectedArray = array(
- 'has_child' => array(
- 'query' => $q->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testSetScope()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $scope = 'foo';
-
- $query = new HasChild($q, $type);
- $query->setScope($scope);
-
- $expectedArray = array(
- 'has_child' => array(
- 'query' => $q->toArray(),
- 'type' => $type,
- '_scope' => $scope
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testTypeInsideHasChildSearch()
- {
- $index = $this->prepareSearchData();
-
- $f = new \Elastica\Query\Match();
- $f->setField('alt.name', 'testname');
- $query = new HasChild($f, 'child');
-
- $searchQuery = new \Elastica\Query();
- $searchQuery->setQuery($query);
- $searchResults = $index->search($searchQuery);
-
- $this->assertEquals(1, $searchResults->count());
-
- $result = $searchResults->current()->getData();
- $expected = array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com');
-
- $this->assertEquals($expected, $result);
- }
-
- private function prepareSearchData()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('has_child_test');
- $index->create(array(), true);
-
- $parentType = $index->getType('parent');
-
- $childType = $index->getType('child');
- $childMapping = new \Elastica\Type\Mapping($childType);
- $childMapping->setParent('parent');
- $childMapping->send();
-
- $altType = $index->getType('alt');
- $altDoc = new Document('alt1', array('name' => 'altname'));
- $altType->addDocument($altDoc);
-
- $parent1 = new Document('parent1', array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com'));
- $parentType->addDocument($parent1);
- $parent2 = new Document('parent2', array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com'));
- $parentType->addDocument($parent2);
-
- $child1 = new Document('child1', array('id' => 'child1', 'user' => 'child1', 'email' => 'child1@test.com'));
- $child1->setParent('parent1');
- $childType->addDocument($child1);
- $child2 = new Document('child2', array('id' => 'child2', 'user' => 'child2', 'email' => 'child2@test.com'));
- $child2->setParent('parent2');
- $childType->addDocument($child2);
- $child3 = new Document('child3', array('id' => 'child3', 'user' => 'child3', 'email' => 'child3@test.com', 'alt' => array(array('name' => 'testname'))));
- $child3->setParent('parent2');
- $childType->addDocument($child3);
-
- $index->refresh();
- return $index;
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasParentTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasParentTest.php
deleted file mode 100644
index d417c887..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HasParentTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\HasParent;
-use Elastica\Query\MatchAll;
-use Elastica\Test\Base as BaseTest;
-
-class HasParentTest extends BaseTest
-{
- public function testToArray()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $query = new HasParent($q, $type);
-
- $expectedArray = array(
- 'has_parent' => array(
- 'query' => $q->toArray(),
- 'type' => $type
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testSetScope()
- {
- $q = new MatchAll();
-
- $type = 'test';
-
- $scope = 'foo';
-
- $query = new HasParent($q, $type);
- $query->setScope($scope);
-
- $expectedArray = array(
- 'has_parent' => array(
- 'query' => $q->toArray(),
- 'type' => $type,
- '_scope' => $scope
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HighlightTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HighlightTest.php
deleted file mode 100644
index 4b1b6c5e..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/HighlightTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-
-class HighlightTest extends BaseTest
-{
- public function testHightlightSearch()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $phrase = 'My name is ruflin';
-
- $doc = new Document(1, array('id' => 1, 'phrase' => $phrase, 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
- $doc = new Document(2, array('id' => 2, 'phrase' => $phrase, 'username' => 'peter', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
-
- $queryString = new QueryString('rufl*');
- $query = new Query($queryString);
- $query->setHighlight(array(
- 'pre_tags' => array('<em class="highlight">'),
- 'post_tags' => array('</em>'),
- 'fields' => array(
- 'phrase' => array(
- 'fragment_size' => 200,
- 'number_of_fragments' => 1,
- ),
- ),
- ));
-
- $index->refresh();
-
- $resultSet = $type->search($query);
- foreach ($resultSet as $result) {
- $highlight = $result->getHighlights();
- $this->assertEquals(array('phrase' => array(0 => 'My name is <em class="highlight">ruflin</em>')), $highlight);
- }
- $this->assertEquals(2, $resultSet->count());
-
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/IdsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/IdsTest.php
deleted file mode 100644
index d1bf901e..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/IdsTest.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Ids;
-use Elastica\Test\Base as BaseTest;
-
-class IdsTest extends BaseTest
-{
- protected $_index;
- protected $_type;
-
- public function setUp()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
-
- $type1 = $index->getType('helloworld1');
- $type2 = $index->getType('helloworld2');
-
- $doc = new Document(1, array('name' => 'hello world'));
- $type1->addDocument($doc);
-
- $doc = new Document(2, array('name' => 'nicolas ruflin'));
- $type1->addDocument($doc);
-
- $doc = new Document(3, array('name' => 'ruflin'));
- $type1->addDocument($doc);
-
- $doc = new Document(4, array('name' => 'hello world again'));
- $type2->addDocument($doc);
-
- $index->refresh();
-
- $this->_type = $type1;
- $this->_index = $index;
- }
-
- public function tearDown()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->delete();
- }
-
- public function testSetIdsSearchSingle()
- {
- $query = new Ids();
- $query->setIds('1');
-
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetIdsSearchArray()
- {
- $query = new Ids();
- $query->setIds(array('1', '2'));
-
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testAddIdsSearchSingle()
- {
- $query = new Ids();
- $query->addId('3');
-
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testComboIdsSearchArray()
- {
- $query = new Ids();
-
- $query->setIds(array('1', '2'));
- $query->addId('3');
-
- $resultSet = $this->_type->search($query);
-
- $this->assertEquals(3, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchSingle()
- {
- $query = new Ids();
-
- $query->setIds('1');
- $query->setType('helloworld1');
-
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchArray()
- {
- $query = new Ids();
-
- $query->setIds(array('1', '2'));
- $query->setType('helloworld1');
-
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchSingleDocInOtherType()
- {
- $query = new Ids();
-
- // Doc 4 is in the second type...
- $query->setIds('4');
- $query->setType('helloworld1');
-
- $resultSet = $this->_index->search($query);
-
- // ...therefore 0 results should be returned
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testSetTypeSingleSearchArrayDocInOtherType()
- {
- $query = new Ids();
-
- // Doc 4 is in the second type...
- $query->setIds(array('1', '4'));
- $query->setType('helloworld1');
-
- $resultSet = $this->_index->search($query);
-
- // ...therefore only 1 result should be returned
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetTypeArraySearchArray()
- {
- $query = new Ids();
-
- $query->setIds(array('1', '4'));
- $query->setType(array('helloworld1', 'helloworld2'));
-
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testSetTypeArraySearchSingle()
- {
- $query = new Ids();
-
- $query->setIds('4');
- $query->setType(array('helloworld1', 'helloworld2'));
-
- $resultSet = $this->_index->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchAllTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchAllTest.php
deleted file mode 100644
index 3731e659..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchAllTest.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\MatchAll;
-use Elastica\Search;
-use Elastica\Test\Base as BaseTest;
-
-class MatchAllTest extends BaseTest
-{
- public function testToArray()
- {
- $query = new MatchAll();
-
- $expectedArray = array('match_all' => new \stdClass());
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testMatchAllIndicesTypes()
- {
- $index1 = $this->_createIndex('test1');
- $index2 = $this->_createIndex('test2');
-
- $client = $index1->getClient();
-
- $search1 = new Search($client);
- $resultSet1 = $search1->search(new MatchAll());
-
- $doc1 = new Document(1, array('name' => 'ruflin'));
- $doc2 = new Document(1, array('name' => 'ruflin'));
- $index1->getType('test')->addDocument($doc1);
- $index2->getType('test')->addDocument($doc2);
-
- $index1->refresh();
- $index2->refresh();
-
- $search2 = new Search($client);
- $resultSet2 = $search2->search(new MatchAll());
-
- $this->assertEquals($resultSet1->getTotalHits() + 2, $resultSet2->getTotalHits());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchTest.php
deleted file mode 100644
index ed164663..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MatchTest.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Match;
-use Elastica\Test\Base as BaseTest;
-
-class MatchTest extends BaseTest
-{
- public function testToArray()
- {
- $field = 'test';
- $testQuery = 'Nicolas Ruflin';
- $type = 'phrase';
- $operator = 'and';
- $analyzer = 'myanalyzer';
- $boost = 2.0;
- $minimumShouldMatch = 2;
- $fuzziness = 0.3;
- $fuzzyRewrite = 'constant_score_boolean';
- $prefixLength = 3;
- $maxExpansions = 12;
-
- $query = new Match();
- $query->setFieldQuery($field, $testQuery);
- $query->setFieldType($field, $type);
- $query->setFieldOperator($field, $operator);
- $query->setFieldAnalyzer($field, $analyzer);
- $query->setFieldBoost($field, $boost);
- $query->setFieldMinimumShouldMatch($field, $minimumShouldMatch);
- $query->setFieldFuzziness($field, $fuzziness);
- $query->setFieldFuzzyRewrite($field, $fuzzyRewrite);
- $query->setFieldPrefixLength($field, $prefixLength);
- $query->setFieldMaxExpansions($field, $maxExpansions);
-
- $expectedArray = array(
- 'match' => array(
- $field => array(
- 'query' => $testQuery,
- 'type' => $type,
- 'operator' => $operator,
- 'analyzer' => $analyzer,
- 'boost' => $boost,
- 'minimum_should_match' => $minimumShouldMatch,
- 'fuzziness' => $fuzziness,
- 'fuzzy_rewrite' => $fuzzyRewrite,
- 'prefix_length' => $prefixLength,
- 'max_expansions' => $maxExpansions
- )
- )
- );
-
- $this->assertEquals($expectedArray, $query->toArray());
- }
-
- public function testMatch()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'New Hampshire'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Basel Land'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $field = 'name';
- $operator = 'or';
-
- $query = new Match();
- $query->setFieldQuery($field, 'Basel New');
- $query->setFieldOperator($field, $operator);
-
- $resultSet = $index->search($query);
-
- $this->assertEquals(4, $resultSet->count());
- }
-
- public function testMatchZeroTerm()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $index->refresh();
-
- $query = new Match();
- $query->setFieldQuery('name', '');
- $query->setFieldZeroTermsQuery('name', Match::ZERO_TERM_ALL);
-
- $resultSet = $index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testMatchPhrase()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'New Hampshire'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Basel Land'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $field = 'name';
- $type = 'phrase';
-
- $query = new Match();
- $query->setFieldQuery($field, 'New York');
- $query->setFieldType($field, $type);
-
- $resultSet = $index->search($query);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testMatchPhrasePrefix()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'New Hampshire'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Basel Land'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $field = 'name';
- $type = 'phrase_prefix';
-
- $query = new Match();
- $query->setFieldQuery($field, 'New');
- $query->setFieldType($field, $type);
-
- $resultSet = $index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
- }
-
-
- public function testMatchFuzzinessType()
- {
- $field = 'test';
- $query = new Match();
-
- $fuzziness = "AUTO";
- $query->setFieldFuzziness($field, $fuzziness);
-
- $parameters = $query->getParam($field);
- $this->assertEquals($fuzziness, $parameters['fuzziness']);
-
-
- $fuzziness = 0.3;
- $query->setFieldFuzziness($field, $fuzziness);
-
- $parameters = $query->getParam($field);
- $this->assertEquals($fuzziness, $parameters['fuzziness']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MoreLikeThisTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MoreLikeThisTest.php
deleted file mode 100644
index b352e23a..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MoreLikeThisTest.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query;
-use Elastica\Query\MoreLikeThis;
-use Elastica\Type;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class MoreLikeThisTest extends BaseTest
-{
- public function testSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array(), true);
- $index->getSettings()->setNumberOfReplicas(0);
- //$index->getSettings()->setNumberOfShards(1);
-
- $type = new Type($index, 'helloworldmlt');
- $mapping = new Mapping($type , array(
- 'email' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- 'content' => array('store' => 'yes', 'type' => 'string', 'index' => 'analyzed'),
- ));
-
- $mapping->setSource(array('enabled' => false));
- $type->setMapping($mapping);
-
- $doc = new Document(1000, array('email' => 'testemail@gmail.com', 'content' => 'This is a sample post. Hello World Fuzzy Like This!'));
- $type->addDocument($doc);
-
- $doc = new Document(1001, array('email' => 'nospam@gmail.com', 'content' => 'This is a fake nospam email address for gmail'));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $mltQuery = new MoreLikeThis();
- $mltQuery->setLikeText('fake gmail sample');
- $mltQuery->setFields(array('email','content'));
- $mltQuery->setMaxQueryTerms(1);
- $mltQuery->setMinDocFrequency(1);
- $mltQuery->setMinTermFrequency(1);
-
- $query = new Query();
- $query->setFields(array('email', 'content'));
- $query->setQuery($mltQuery);
-
- $resultSet = $type->search($query);
- $resultSet->getResponse()->getData();
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testSetFields()
- {
- $query = new MoreLikeThis();
-
- $fields = array('firstname', 'lastname');
- $query->setFields($fields);
-
- $data = $query->toArray();
- $this->assertEquals($fields, $data['more_like_this']['fields']);
- }
-
- public function testSetLikeText()
- {
- $query = new MoreLikeThis();
- $query->setLikeText(' hello world');
-
- $data = $query->toArray();
- $this->assertEquals('hello world', $data['more_like_this']['like_text']);
- }
-
- public function testSetBoost()
- {
- $query = new MoreLikeThis();
-
- $boost = 1.3;
- $query->setBoost($boost);
-
- $this->assertEquals($boost, $query->getParam('boost'));
- }
-
- public function testSetMaxQueryTerms()
- {
- $query = new MoreLikeThis();
-
- $max = 3;
- $query->setMaxQueryTerms($max);
-
- $this->assertEquals($max, $query->getParam('max_query_terms'));
- }
-
- public function testSetPercentTermsToMatch()
- {
- $query = new MoreLikeThis();
-
- $match = 0.8;
- $query->setPercentTermsToMatch($match);
-
- $this->assertEquals($match, $query->getParam('percent_terms_to_match'));
- }
-
- public function testSetMinDocFrequency()
- {
- $query = new MoreLikeThis();
-
- $freq = 2;
- $query->setMinDocFrequency($freq);
-
- $this->assertEquals($freq, $query->getParam('min_doc_freq'));
- }
-
- public function testSetMaxDocFrequency()
- {
- $query = new MoreLikeThis();
-
- $freq = 2;
- $query->setMaxDocFrequency($freq);
-
- $this->assertEquals($freq, $query->getParam('max_doc_freq'));
- }
-
- public function testSetMinWordLength()
- {
- $query = new MoreLikeThis();
-
- $length = 4;
- $query->setMinWordLength($length);
-
- $this->assertEquals($length, $query->getParam('min_word_length'));
- }
-
- public function testSetMaxWordLength()
- {
- $query = new MoreLikeThis();
-
- $length = 5;
- $query->setMaxWordLength($length);
-
- $this->assertEquals($length, $query->getParam('max_word_length'));
- }
-
- public function testSetBoostTerms()
- {
- $query = new MoreLikeThis();
-
- $boost = false;
- $query->setBoostTerms($boost);
-
- $this->assertEquals($boost, $query->getParam('boost_terms'));
- }
-
- public function testSetAnalyzer()
- {
- $query = new MoreLikeThis();
-
- $analyzer = 'UpperCase';
- $query->setAnalyzer($analyzer);
-
- $this->assertEquals($analyzer, $query->getParam('analyzer'));
- }
-
- public function testSetStopWords()
- {
- $query = new MoreLikeThis();
-
- $stopWords = array('no', 'yes', 'test');
- $query->setStopWords($stopWords);
-
- $this->assertEquals($stopWords, $query->getParam('stop_words'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php
deleted file mode 100644
index 78a8a8fe..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query;
-use Elastica\Query\MultiMatch;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type;
-use Elastica\Type\Mapping;
-
-class MultiMatchTest extends BaseTest
-{
- private $index;
- private $multiMatch;
-
- private static $data = array(
- array('id' => 1, 'name' => 'Rodolfo', 'last_name' => 'Moraes', 'full_name' => 'Rodolfo Moraes'),
- array('id' => 2, 'name' => 'Tristan', 'last_name' => 'Maindron', 'full_name' => 'Tristan Maindron'),
- array('id' => 3, 'name' => 'Monique', 'last_name' => 'Maindron', 'full_name' => 'Monique Maindron'),
- array('id' => 4, 'name' => 'John', 'last_name' => 'not Doe', 'full_name' => 'John not Doe'),
- );
-
- protected function setUp()
- {
- $this->index = $this->_generateIndex();
- $this->multiMatch = new MultiMatch();
- }
-
- public function testMinimumShouldMatch()
- {
- $this->multiMatch->setQuery('Tristan Maindron');
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setMinimumShouldMatch(2);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testAndOperator()
- {
- $this->multiMatch->setQuery('Monique Maindron');
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setOperator(MultiMatch::OPERATOR_AND);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testType()
- {
- $this->multiMatch->setQuery('Trist');
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setType(MultiMatch::TYPE_PHRASE_PREFIX);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testFuzzy()
- {
- $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setFuzziness(2);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
-
- $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setFuzziness(0);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testFuzzyWithOptions1()
- {
- // Here Elasticsearch will not accept mispells
- // on the first 6 letters.
- $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose
- $this->multiMatch->setFields(array('full_name', 'name'));
- $this->multiMatch->setFuzziness(2);
- $this->multiMatch->setPrefixLength(6);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(0, $resultSet->count());
- }
-
- public function testFuzzyWithOptions2() {
-
- // Here with a 'M' search we should hit 'Moraes' first
- // and then stop because MaxExpansion = 1.
- // If MaxExpansion was set to 2, we could hit "Maindron" too.
- $this->multiMatch->setQuery('M');
- $this->multiMatch->setFields(array('name'));
- $this->multiMatch->setType(MultiMatch::TYPE_PHRASE_PREFIX);
- $this->multiMatch->setPrefixLength(0);
- $this->multiMatch->setMaxExpansions(1);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testZeroTerm()
- {
- $this->multiMatch->setQuery('not'); // This is a stopword.
- $this->multiMatch->setFields(array('full_name', 'last_name'));
- $this->multiMatch->setZeroTermsQuery(MultiMatch::ZERO_TERM_NONE);
- $this->multiMatch->setAnalyzer('stops');
- $resultSet = $this->_getResults();
-
- $this->assertEquals(0, $resultSet->count());
-
- $this->multiMatch->setZeroTermsQuery(MultiMatch::ZERO_TERM_ALL);
- $resultSet = $this->_getResults();
-
- $this->assertEquals(4, $resultSet->count());
- }
-
- public function testBaseMultiMatch()
- {
- $this->multiMatch->setQuery('Rodolfo');
- $this->multiMatch->setFields(array('name', 'last_name'));
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
-
- $this->multiMatch->setQuery('Moraes');
- $this->multiMatch->setFields(array('name', 'last_name'));
- $resultSet = $this->_getResults();
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- /**
- * Executes the query with the current multimatch.
- */
- private function _getResults()
- {
- return $this->index->search(new Query($this->multiMatch));
- }
-
- /**
- * Builds an index for testing.
- */
- private function _generateIndex()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $index->create(array(
- 'analysis' => array(
- 'analyzer' => array(
- 'noStops' => array(
- 'type' => 'standard',
- 'stopwords' => '_none_'
- ),
- 'stops' => array(
- 'type' => 'standard',
- 'stopwords' => array('not')
- ),
- ),
- )
- ), true);
-
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'),
- 'last_name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'),
- 'full_name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'),
- ));
-
- $type->setMapping($mapping);
-
- foreach (self::$data as $key => $docData) {
- $type->addDocument(new Document($key, $docData));
- }
-
- // Refresh index
- $index->refresh();
-
- return $index;
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/NestedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/NestedTest.php
deleted file mode 100644
index 310a728b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/NestedTest.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Nested;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-
-class NestedTest extends BaseTest
-{
- public function testSetQuery()
- {
- $nested = new Nested();
- $path = 'test1';
-
- $queryString = new QueryString('test');
- $this->assertInstanceOf('Elastica\Query\Nested', $nested->setQuery($queryString));
- $this->assertInstanceOf('Elastica\Query\Nested', $nested->setPath($path));
- $expected = array(
- 'nested' => array(
- 'query' => $queryString->toArray(),
- 'path' => $path,
- )
- );
-
- $this->assertEquals($expected, $nested->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PostFilterTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PostFilterTest.php
deleted file mode 100644
index 16b7e07b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PostFilterTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Filter\Term;
-use Elastica\Index;
-use Elastica\Query\Match;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class PostFilterTest extends BaseTest
-{
- /**
- * @var Index
- */
- protected $_index;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("query");
- $docs = array(
- new Document("1", array("color" => "green", "make" => "ford")),
- new Document("2", array("color" => "blue", "make" => "volvo")),
- new Document("3", array("color" => "red", "make" => "ford")),
- new Document("4", array("color" => "green", "make" => "renault")),
- );
- $this->_index->getType("test")->addDocuments($docs);
- $this->_index->refresh();
-
- }
-
- protected function tearDown()
- {
- parent::tearDown();
- if ($this->_index instanceof Index) {
- $this->_index->delete();
- }
- }
-
- public function testToArray()
- {
- $query = new Query();
-
- $post_filter = new Term(array('color' => 'green'));
- $query->setPostFilter($post_filter->toArray());
-
- $data = $query->toArray();
-
- $this->assertArrayHasKey('post_filter', $data);
- $this->assertEquals(array('term' => array('color' => 'green')), $data['post_filter']);
-
- $query->setPostFilter(array());
-
- $this->assertArrayNotHasKey('post_filter', $query->toArray());
- }
-
- public function testQuery()
- {
- $query = new Query();
-
- $match = new Match();
- $match->setField('make', 'ford');
-
- $query->setQuery($match);
-
- $filter = new Term();
- $filter->setTerm('color', 'green');
-
- $query->setPostFilter($filter->toArray());
-
- $results = $this->_index->search($query);
-
- $this->assertEquals(1, $results->getTotalHits());
-
- }
-
- protected function _createIndex($name = 'test', $delete = true, $shards = 1)
- {
- return parent::_createIndex('test_postfilter_' . $name, $delete, $shards);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PrefixTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PrefixTest.php
deleted file mode 100644
index e6852c2e..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/PrefixTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Prefix;
-use Elastica\Test\Base as BaseTest;
-
-class PrefixTest extends BaseTest
-{
-
- public function testToArray()
- {
- $query = new Prefix();
- $key = 'name';
- $value = 'ni';
- $boost = 2;
- $query->setPrefix($key, $value, $boost);
-
- $data = $query->toArray();
-
- $this->assertInternalType('array', $data['prefix']);
- $this->assertInternalType('array', $data['prefix'][$key]);
- $this->assertEquals($data['prefix'][$key]['value'], $value);
- $this->assertEquals($data['prefix'][$key]['boost'], $boost);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/QueryStringTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/QueryStringTest.php
deleted file mode 100644
index 059bad2d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/QueryStringTest.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Type;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-
-class QueryStringTest extends BaseTest
-{
- public function testSearchMultipleFields()
- {
- $str = md5(rand());
- $query = new QueryString($str);
-
- $expected = array(
- 'query' => $str
- );
-
- $this->assertEquals(array('query_string' => $expected), $query->toArray());
-
- $fields = array();
- $max = rand() % 10 + 1;
- for ($i = 0; $i < $max; $i++) {
- $fields[] = md5(rand());
- }
-
- $query->setFields($fields);
- $expected['fields'] = $fields;
- $this->assertEquals(array('query_string' => $expected), $query->toArray());
-
- foreach (array(false, true) as $val) {
- $query->setUseDisMax($val);
- $expected['use_dis_max'] = $val;
-
- $this->assertEquals(array('query_string' => $expected), $query->toArray());
- }
- }
-
- public function testSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test');
- $index->create(array(), true);
- $index->getSettings()->setNumberOfReplicas(0);
- //$index->getSettings()->setNumberOfShards(1);
-
- $type = new Type($index, 'helloworld');
-
- $doc = new Document(1, array('email' => 'test@test.com', 'username' => 'hanswurst', 'test' => array('2', '3', '5')));
- $type->addDocument($doc);
-
- // Refresh index
- $index->refresh();
-
- $queryString = new QueryString('test*');
- $resultSet = $type->search($queryString);
-
- $this->assertEquals(1, $resultSet->count());
- }
-
- /**
- * Tests if search in multiple fields is possible
- */
- public function testSearchFields()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('title' => 'hello world', 'firstname' => 'nicolas', 'lastname' => 'ruflin', 'price' => '102', 'year' => '2012'));
- $type->addDocument($doc);
- $index->refresh();
-
- $query = new QueryString();
- $query = $query->setQuery('ruf*');
- $query = $query->setDefaultField('title');
- $query = $query->setFields(array('title', 'firstname', 'lastname', 'price', 'year'));
-
- $resultSet = $type->search($query);
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testSetDefaultOperator()
- {
- $operator = 'AND';
- $query = new QueryString('test');
- $query->setDefaultOperator($operator);
-
- $data = $query->toArray();
-
- $this->assertEquals($data['query_string']['default_operator'], $operator);
- }
-
- public function testSetDefaultField()
- {
- $default = 'field1';
- $query = new QueryString('test');
- $query->setDefaultField($default);
-
- $data = $query->toArray();
-
- $this->assertEquals($data['query_string']['default_field'], $default);
- }
-
- public function testSetRewrite()
- {
- $rewrite = 'scoring_boolean';
- $query = new QueryString('test');
- $query->setRewrite($rewrite);
-
- $data = $query->toArray();
-
- $this->assertEquals($data['query_string']['rewrite'], $rewrite);
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testSetQueryInvalid()
- {
- $query = new QueryString();
- $query->setQuery(array());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RangeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RangeTest.php
deleted file mode 100644
index 4cd75bc8..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RangeTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Range;
-use Elastica\Test\Base as BaseTest;
-
-class RangeTest extends BaseTest
-{
- public function testQuery()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $doc = new Document(1, array('age' => 16, 'height' => 140));
- $type->addDocument($doc);
- $doc = new Document(2, array('age' => 21, 'height' => 155));
- $type->addDocument($doc);
- $doc = new Document(3, array('age' => 33, 'height' => 160));
- $type->addDocument($doc);
- $doc = new Document(4, array('age' => 68, 'height' => 160));
- $type->addDocument($doc);
-
- $index->optimize();
- $index->refresh();
-
- $query = new Range('age', array('from' => 10, 'to' => 20));
- $result = $type->search($query)->count();
- $this->assertEquals(1, $result);
-
- $query = new Range();
- $query->addField('height', array('gte' => 160));
-
- $result = $type->search($query)->count();
- $this->assertEquals(2, $result);
- }
-
- public function testToArray()
- {
- $range = new Range();
-
- $field = array('from' => 20, 'to' => 40);
- $range->addField('age', $field);
-
- $expectedArray = array(
- 'range' => array(
- 'age' => $field,
- )
- );
-
- $this->assertEquals($expectedArray, $range->toArray());
- }
-
- public function testConstruct()
- {
- $ranges = array('from' => 20, 'to' => 40);
- $range = new Range(
- 'age',
- $ranges
- );
-
- $expectedArray = array(
- 'range' => array(
- 'age' => $ranges,
- )
- );
-
- $this->assertEquals($expectedArray, $range->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RescoreTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RescoreTest.php
deleted file mode 100644
index 4396ceb4..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/RescoreTest.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Rescore\Query as QueryRescore;
-use Elastica\Query\Term;
-use Elastica\Query\Match;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class RescoreTest extends BaseTest
-{
- /**
- * @var Index
- */
- protected $_index;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("rescore_test");
- $this->_index->refresh();
- }
-
- public function testToArray()
- {
- $query = new Query();
- $mainQuery = new Match();
- $mainQuery = $mainQuery->setFieldQuery('test1', 'foo');
- $secQuery = new Term();
- $secQuery = $secQuery->setTerm('test2', 'bar', 2);
- $queryRescore = new QueryRescore($secQuery);
- $query->setQuery($mainQuery);
- $query->setRescore($queryRescore);
- $data = $query->toArray();
-
- $expected = array(
- 'query' => array(
- 'match' => array(
- 'test1' => array(
- 'query' => 'foo',
- ),
- ),
- ),
- 'rescore' => array(
- 'query' => array(
- 'rescore_query' => array(
- 'term' => array(
- 'test2' => array(
- 'value' => 'bar',
- 'boost' => 2,
- ),
- ),
- ),
- ),
- ),
- );
-
- $this->assertEquals($expected, $data);
- }
-
- public function testSetSize()
- {
- $query = new Query();
- $mainQuery = new Match();
- $mainQuery = $mainQuery->setFieldQuery('test1', 'foo');
- $secQuery = new Term();
- $secQuery = $secQuery->setTerm('test2', 'bar', 2);
- $queryRescore = new QueryRescore($secQuery);
- $queryRescore->setWindowSize(50);
- $query->setQuery($mainQuery);
- $query->setRescore($queryRescore);
- $data = $query->toArray();
-
- $expected = array(
- 'query' => array(
- 'match' => array(
- 'test1' => array(
- 'query' => 'foo',
- ),
- ),
- ),
- 'rescore' => array(
- 'window_size' => 50,
- 'query' => array(
- 'rescore_query' => array(
- 'term' => array(
- 'test2' => array(
- 'value' => 'bar',
- 'boost' => 2,
- ),
- ),
- ),
- ),
- ),
- );
-
- $this->assertEquals($expected, $data);
- }
-
- public function testSetWeights()
- {
- $query = new Query();
- $mainQuery = new Match();
- $mainQuery = $mainQuery->setFieldQuery('test1', 'foo');
- $secQuery = new Term();
- $secQuery = $secQuery->setTerm('test2', 'bar', 2);
- $queryRescore = new QueryRescore($secQuery);
- $queryRescore->setWindowSize(50);
- $queryRescore->setQueryWeight(.7);
- $queryRescore->setRescoreQueryWeight(1.2);
- $query->setQuery($mainQuery);
- $query->setRescore($queryRescore);
- $data = $query->toArray();
-
- $expected = array(
- 'query' => array(
- 'match' => array(
- 'test1' => array(
- 'query' => 'foo',
- ),
- ),
- ),
- 'rescore' => array(
- 'window_size' => 50,
- 'query' => array(
- 'rescore_query' => array(
- 'term' => array(
- 'test2' => array(
- 'value' => 'bar',
- 'boost' => 2,
- ),
- ),
- ),
- 'query_weight' => 0.7,
- 'rescore_query_weight' => 1.2
- ),
- ),
- );
-
- $this->assertEquals($expected, $data);
- }
-
- public function testQuery()
- {
- $query = new Query();
- $mainQuery = new Match();
- $mainQuery = $mainQuery->setFieldQuery('test1', 'foo');
- $secQuery = new Term();
- $secQuery = $secQuery->setTerm('test2', 'bar', 2);
- $queryRescore = new QueryRescore($secQuery);
- $queryRescore->setWindowSize(50);
- $queryRescore->setQueryWeight(.7);
- $queryRescore->setRescoreQueryWeight(1.2);
- $query->setQuery($mainQuery);
- $query->setRescore($queryRescore);
- $data = $query->toArray();
-
- $results = $this->_index->search($query);
- $response = $results->getResponse();
-
- $this->assertEquals(true, $response->isOk());
- $this->assertEquals(0, $results->getTotalHits());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleQueryStringTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleQueryStringTest.php
deleted file mode 100644
index eff9b8a1..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleQueryStringTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query\SimpleQueryString;
-use Elastica\Test\Base;
-
-class SimpleQueryStringTest extends Base
-{
- /**
- * @var Index
- */
- protected $_index;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex("simple_query_string_test");
- $docs = array(
- new Document(1, array('make' => 'Gibson', 'model' => 'Les Paul')),
- new Document(2, array('make' => 'Gibson', 'model' => 'SG Standard')),
- new Document(3, array('make' => 'Gibson', 'model' => 'SG Supreme')),
- new Document(4, array('make' => 'Gibson', 'model' => 'SG Faded')),
- new Document(5, array('make' => 'Fender', 'model' => 'Stratocaster'))
- );
- $this->_index->getType("guitars")->addDocuments($docs);
- $this->_index->refresh();
- }
-
- protected function tearDown()
- {
- parent::tearDown();
- $this->_index->delete();
- }
-
- public function testToArray()
- {
- $string = "this is a test";
- $fields = array('field1', 'field2');
- $query = new SimpleQueryString($string, $fields);
- $query->setDefaultOperator(SimpleQueryString::OPERATOR_OR);
- $query->setAnalyzer("whitespace");
-
- $expected = array(
- "simple_query_string" => array(
- "query" => $string,
- "fields" => $fields,
- "analyzer" => "whitespace",
- "default_operator" => SimpleQueryString::OPERATOR_OR
- )
- );
-
- $this->assertEquals($expected, $query->toArray());
- }
-
- public function testQuery()
- {
- $query = new SimpleQueryString("gibson +sg +-faded", array("make", "model"));
- $results = $this->_index->search($query);
-
- $this->assertEquals(2, $results->getTotalHits());
-
- $query->setFields(array("model"));
- $results = $this->_index->search($query);
-
- // We should not get any hits, since the "make" field was not included in the query.
- $this->assertEquals(0, $results->getTotalHits());
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleTest.php
deleted file mode 100644
index 08a5f55d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/SimpleTest.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Simple;
-use Elastica\Test\Base as BaseTest;
-
-class SimpleTest extends BaseTest
-{
- public function testToArray()
- {
- $testQuery = array('hello' => array('world'), 'name' => 'ruflin');
- $query = new Simple($testQuery);
-
- $this->assertEquals($testQuery, $query->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermTest.php
deleted file mode 100644
index 887c3849..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Query\Term;
-use Elastica\Test\Base as BaseTest;
-
-class TermTest extends BaseTest
-{
-
- public function testToArray()
- {
- $query = new Term();
- $key = 'name';
- $value = 'nicolas';
- $boost = 2;
- $query->setTerm($key, $value, $boost);
-
- $data = $query->toArray();
-
- $this->assertInternalType('array', $data['term']);
- $this->assertInternalType('array', $data['term'][$key]);
- $this->assertEquals($data['term'][$key]['value'], $value);
- $this->assertEquals($data['term'][$key]['boost'], $boost);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermsTest.php
deleted file mode 100644
index 184f3ad6..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/TermsTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Terms;
-use Elastica\Test\Base as BaseTest;
-
-class TermsTest extends BaseTest
-{
- public function testFilteredSearch()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
- $index->create(array(), true);
- $type = $index->getType('helloworld');
-
- $doc = new Document(1, array('name' => 'hello world'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'nicolas ruflin'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'ruflin'));
- $type->addDocument($doc);
-
- $query = new Terms();
- $query->setTerms('name', array('nicolas', 'hello'));
-
- $index->refresh();
-
- $resultSet = $type->search($query);
-
- $this->assertEquals(2, $resultSet->count());
-
- $query->addTerm('ruflin');
- $resultSet = $type->search($query);
-
- $this->assertEquals(3, $resultSet->count());
- }
-
- public function testSetMinimum()
- {
- $key = 'name';
- $terms = array('nicolas', 'ruflin');
- $minimum = 2;
-
- $query = new Terms($key, $terms);
- $query->setMinimumMatch($minimum);
-
- $data = $query->toArray();
- $this->assertEquals($minimum, $data['terms']['minimum_match']);
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidParams()
- {
- $query = new Terms();
-
- $query->toArray();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/WildcardTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/WildcardTest.php
deleted file mode 100644
index 077e6d4f..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/WildcardTest.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-namespace Elastica\Test\Query;
-
-use Elastica\Document;
-use Elastica\Query\Wildcard;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type\Mapping;
-
-class WildcardTest extends BaseTest
-{
- public function testConstructEmpty()
- {
- $wildcard = new Wildcard();
- $this->assertEmpty($wildcard->getParams());
- }
-
- public function testToArray()
- {
- $key = 'name';
- $value = 'Ru*lin';
- $boost = 2.0;
-
- $wildcard = new Wildcard($key, $value, $boost);
-
- $expectedArray = array(
- 'wildcard' => array(
- $key => array(
- 'value' => $value,
- 'boost' => $boost
- )
- )
- );
-
- $this->assertEquals($expectedArray, $wildcard->toArray());
- }
-
- public function testSearchWithAnalyzer()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $indexParams = array(
- 'analysis' => array(
- 'analyzer' => array(
- 'lw' => array(
- 'type' => 'custom',
- 'tokenizer' => 'keyword',
- 'filter' => array('lowercase')
- )
- ),
- )
- );
-
- $index->create($indexParams, true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'lw'),
- )
- );
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'Basel-Stadt'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'New York'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'Baden'));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'Baden Baden'));
- $type->addDocument($doc);
- $doc = new Document(5, array('name' => 'New Orleans'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $query = new Wildcard();
- $query->setValue('name', 'ba*');
- $resultSet = $index->search($query);
-
- $this->assertEquals(3, $resultSet->count());
-
- $query = new Wildcard();
- $query->setValue('name', 'baden*');
- $resultSet = $index->search($query);
-
- $this->assertEquals(2, $resultSet->count());
-
- $query = new Wildcard();
- $query->setValue('name', 'baden b*');
- $resultSet = $index->search($query);
-
- $this->assertEquals(1, $resultSet->count());
-
- $query = new Wildcard();
- $query->setValue('name', 'baden bas*');
- $resultSet = $index->search($query);
-
- $this->assertEquals(0, $resultSet->count());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/QueryTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/QueryTest.php
deleted file mode 100644
index ece9f4c2..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/QueryTest.php
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Document;
-use Elastica\Exception\InvalidException;
-use Elastica\Query\Builder;
-use Elastica\Query\Term;
-use Elastica\Query\Text;
-use Elastica\Query;
-use Elastica\Facet\Terms;
-use Elastica\Test\Base as BaseTest;
-
-class QueryTest extends BaseTest
-{
- public function testStringConversion()
- {
- $queryString = '{
- "query" : {
- "filtered" : {
- "filter" : {
- "range" : {
- "due" : {
- "gte" : "2011-07-18 00:00:00",
- "lt" : "2011-07-25 00:00:00"
- }
- }
- },
- "query" : {
- "text_phrase" : {
- "title" : "Call back request"
- }
- }
- }
- },
- "sort" : {
- "due" : {
- "reverse" : true
- }
- },
- "fields" : [
- "created", "assigned_to"
- ]
- }';
-
- $query = new Builder($queryString);
- $queryArray = $query->toArray();
-
- $this->assertInternalType('array', $queryArray);
-
- $this->assertEquals('2011-07-18 00:00:00', $queryArray['query']['filtered']['filter']['range']['due']['gte']);
- }
-
- public function testRawQuery()
- {
- $textQuery = new Term(array('title' => 'test'));
-
- $query1 = Query::create($textQuery);
-
- $query2 = new Query();
- $query2->setRawQuery(array('query' => array('term' => array('title' => 'test'))));
-
- $this->assertEquals($query1->toArray(), $query2->toArray());
- }
-
- public function testArrayQuery()
- {
- $query = array(
- 'query' => array(
- 'text' => array(
- 'title' => 'test'
- )
- )
- );
-
- $query1 = Query::create($query);
-
- $query2 = new Query();
- $query2->setRawQuery(array('query' => array('text' => array('title' => 'test'))));
-
- $this->assertEquals($query1->toArray(), $query2->toArray());
- }
-
- public function testSetSort()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'hello world'));
- $type->addDocument($doc);
- $doc = new Document(2, array('firstname' => 'guschti', 'lastname' => 'ruflin'));
- $type->addDocument($doc);
- $doc = new Document(3, array('firstname' => 'nicolas', 'lastname' => 'ruflin'));
- $type->addDocument($doc);
-
- $queryTerm = new Term();
- $queryTerm->setTerm('lastname', 'ruflin');
-
- $index->refresh();
-
- $query = Query::create($queryTerm);
-
- // ASC order
- $query->setSort(array(array('firstname' => array('order' => 'asc'))));
- $resultSet = $type->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $first = $resultSet->current()->getData();
- $second = $resultSet->next()->getData();
-
- $this->assertEquals('guschti', $first['firstname']);
- $this->assertEquals('nicolas', $second['firstname']);
-
- // DESC order
- $query->setSort(array('firstname' => array('order' => 'desc')));
- $resultSet = $type->search($query);
- $this->assertEquals(2, $resultSet->count());
-
- $first = $resultSet->current()->getData();
- $second = $resultSet->next()->getData();
-
- $this->assertEquals('nicolas', $first['firstname']);
- $this->assertEquals('guschti', $second['firstname']);
- }
-
- public function testAddSort()
- {
- $query = new Query();
- $sortParam = array('firstname' => array('order' => 'asc'));
- $query->addSort($sortParam);
-
- $this->assertEquals($query->getParam('sort'), array($sortParam));
- }
-
- public function testSetRawQuery()
- {
- $query = new Query();
-
- $params = array('query' => 'test');
- $query->setRawQuery($params);
-
- $this->assertEquals($params, $query->toArray());
- }
-
- public function testSetFields()
- {
- $query = new Query();
-
- $params = array('query' => 'test');
-
- $query->setFields(array('firstname', 'lastname'));
-
- $data = $query->toArray();
-
- $this->assertContains('firstname', $data['fields']);
- $this->assertContains('lastname', $data['fields']);
- $this->assertEquals(2, count($data['fields']));
- }
-
- public function testGetQuery()
- {
- $query = new Query();
-
- try {
- $query->getQuery();
- $this->fail('should throw exception because query does not exist');
- } catch (InvalidException $e) {
- $this->assertTrue(true);
- }
-
- $termQuery = new Term();
- $termQuery->setTerm('text', 'value');
- $query->setQuery($termQuery);
-
- $this->assertEquals($termQuery->toArray(), $query->getQuery());
- }
-
- public function testSetFacets()
- {
- $query = new Query();
-
- $facet = new Terms('text');
- $query->setFacets(array($facet));
-
- $data = $query->toArray();
-
- $this->assertArrayHasKey('facets', $data);
- $this->assertEquals(array('text' => array('terms' => array())), $data['facets']);
-
- $query->setFacets(array());
-
- $this->assertArrayNotHasKey('facets', $query->toArray());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/RequestTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/RequestTest.php
deleted file mode 100644
index 8896adeb..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/RequestTest.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Connection;
-use Elastica\Request;
-use Elastica\Test\Base as BaseTest;
-
-class RequestTest extends BaseTest
-{
-
- public function testConstructor()
- {
- $path = 'test';
- $method = Request::POST;
- $query = array('no' => 'params');
- $data = array('key' => 'value');
-
- $request = new Request($path, $method, $data, $query);
-
- $this->assertEquals($path, $request->getPath());
- $this->assertEquals($method, $request->getMethod());
- $this->assertEquals($query, $request->getQuery());
- $this->assertEquals($data, $request->getData());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidConnection()
- {
- $request = new Request('', Request::GET);
- $request->send();
- }
-
- public function testSend()
- {
- $connection = new Connection();
- $connection->setHost('localhost');
- $connection->setPort('9200');
-
- $request = new Request('_status', Request::GET, array(), array(), $connection);
-
- $response = $request->send();
-
- $this->assertInstanceOf('Elastica\Response', $response);
- }
-
- public function testToString()
- {
- $path = 'test';
- $method = Request::POST;
- $query = array('no' => 'params');
- $data = array('key' => 'value');
-
- $connection = new Connection();
- $connection->setHost('localhost');
- $connection->setPort('9200');
-
- $request = new Request($path, $method, $data, $query, $connection);
-
- $data = $request->toArray();
-
- $this->assertInternalType('array', $data);
- $this->assertArrayHasKey('method', $data);
- $this->assertArrayHasKey('path', $data);
- $this->assertArrayHasKey('query', $data);
- $this->assertArrayHasKey('data', $data);
- $this->assertArrayHasKey('connection', $data);
- $this->assertEquals($request->getMethod(), $data['method']);
- $this->assertEquals($request->getPath(), $data['path']);
- $this->assertEquals($request->getQuery(), $data['query']);
- $this->assertEquals($request->getData(), $data['data']);
- $this->assertInternalType('array', $data['connection']);
- $this->assertArrayHasKey('host', $data['connection']);
- $this->assertArrayHasKey('port', $data['connection']);
- $this->assertEquals($request->getConnection()->getHost(), $data['connection']['host']);
- $this->assertEquals($request->getConnection()->getPort(), $data['connection']['port']);
-
- $string = $request->toString();
-
- $this->assertInternalType('string', $string);
-
- $string = (string) $request;
- $this->assertInternalType('string', $string);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResponseTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ResponseTest.php
deleted file mode 100644
index 1e026eae..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResponseTest.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-use Elastica\Document;
-use Elastica\Facet\DateHistogram;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Request;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class ResponseTest extends BaseTest
-{
- public function testClassHierarchy()
- {
- $facet = new DateHistogram('dateHist1');
- $this->assertInstanceOf('Elastica\Facet\Histogram', $facet);
- $this->assertInstanceOf('Elastica\Facet\AbstractFacet', $facet);
- unset($facet);
- }
-
- public function testResponse()
- {
- $index = $this->_createIndex();
- $type = $index->getType('helloworld');
-
- $mapping = new Mapping($type, array(
- 'name' => array('type' => 'string', 'store' => 'no'),
- 'dtmPosted' => array('type' => 'date', 'store' => 'no', 'format' => 'yyyy-MM-dd HH:mm:ss')
- ));
- $type->setMapping($mapping);
-
- $doc = new Document(1, array('name' => 'nicolas ruflin', 'dtmPosted' => "2011-06-23 21:53:00"));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'raul martinez jr', 'dtmPosted' => "2011-06-23 09:53:00"));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'rachelle clemente', 'dtmPosted' => "2011-07-08 08:53:00"));
- $type->addDocument($doc);
- $doc = new Document(4, array('name' => 'elastica search', 'dtmPosted' => "2011-07-08 01:53:00"));
- $type->addDocument($doc);
-
- $query = new Query();
- $query->setQuery(new MatchAll());
- $index->refresh();
-
- $resultSet = $type->search($query);
-
- $engineTime = $resultSet->getResponse()->getEngineTime();
- $shardsStats = $resultSet->getResponse()->getShardsStatistics();
-
- $this->assertInternalType('int', $engineTime);
- $this->assertTrue(is_array($shardsStats));
- $this->assertArrayHasKey('total', $shardsStats);
- $this->assertArrayHasKey('successful', $shardsStats);
- }
-
- public function testIsOk()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'ruflin'));
- $response = $type->addDocument($doc);
-
- $this->assertTrue($response->isOk());
- }
-
- public function testIsOkMultiple()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $docs = array(
- new Document(1, array('name' => 'ruflin')),
- new Document(2, array('name' => 'ruflin'))
- );
- $response = $type->addDocuments($docs);
-
- $this->assertTrue($response->isOk());
- }
-
- public function testGetDataEmpty()
- {
- $index = $this->_createIndex();
-
- $response = $index->request(
- 'non-existant-type/_mapping',
- Request::GET
- )->getData();
-
- $this->assertEquals(0, count($response));
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultSetTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultSetTest.php
deleted file mode 100644
index 2a62111d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultSetTest.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Query\Match;
-use Elastica\Result;
-use Elastica\Test\Base as BaseTest;
-
-class ResultSetTest extends BaseTest
-{
- public function testGetters()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'elastica search'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'elastica library'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'elastica test'));
- $type->addDocument($doc);
- $index->refresh();
-
- $resultSet = $type->search('elastica search');
-
- $this->assertInstanceOf('Elastica\ResultSet', $resultSet);
- $this->assertEquals(3, $resultSet->getTotalHits());
- $this->assertGreaterThan(0, $resultSet->getMaxScore());
- $this->assertInternalType('array', $resultSet->getResults());
- $this->assertEquals(3, count($resultSet));
- }
-
- public function testArrayAccess()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'elastica search'));
- $type->addDocument($doc);
- $doc = new Document(2, array('name' => 'elastica library'));
- $type->addDocument($doc);
- $doc = new Document(3, array('name' => 'elastica test'));
- $type->addDocument($doc);
- $index->refresh();
-
- $resultSet = $type->search('elastica search');
-
- $this->assertInstanceOf('Elastica\ResultSet', $resultSet);
- $this->assertInstanceOf('Elastica\Result', $resultSet[0]);
- $this->assertInstanceOf('Elastica\Result', $resultSet[1]);
- $this->assertInstanceOf('Elastica\Result', $resultSet[2]);
-
- $this->assertFalse(isset($resultSet[3]));
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidOffsetCreation()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'elastica search'));
- $type->addDocument($doc);
- $index->refresh();
-
- $resultSet = $type->search('elastica search');
-
- $result = new Result(array('_id' => 'fakeresult'));
- $resultSet[1] = $result;
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testInvalidOffsetGet()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $doc = new Document(1, array('name' => 'elastica search'));
- $type->addDocument($doc);
- $index->refresh();
-
- $resultSet = $type->search('elastica search');
-
- return $resultSet[3];
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultTest.php
deleted file mode 100644
index 54d3ce55..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ResultTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Result;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class ResultTest extends BaseTest
-{
- public function testGetters()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $typeName = 'user';
-
- $index = $this->_createIndex();
- $type = $index->getType($typeName);
-
- // Adds 1 document to the index
- $docId = 3;
- $doc1 = new Document($docId, array('username' => 'hans'));
- $type->addDocument($doc1);
-
- // Refreshes index
- $index->refresh();
-
- $resultSet = $type->search('hans');
-
- $this->assertEquals(1, $resultSet->count());
-
- $result = $resultSet->current();
-
- $this->assertInstanceOf('Elastica\Result', $result);
- $this->assertEquals($index->getName(), $result->getIndex());
- $this->assertEquals($typeName, $result->getType());
- $this->assertEquals($docId, $result->getId());
- $this->assertGreaterThan(0, $result->getScore());
- $this->assertInternalType('array', $result->getData());
- $this->assertTrue(isset($result->username));
- $this->assertEquals('hans', $result->username);
- }
-
- public function testGetIdNoSource()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $indexName = 'xodoa';
- $typeName = 'user';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $type = $index->getType($typeName);
-
- $mapping = new Mapping($type);
- $mapping->disableSource();
- $mapping->send();
-
- // Adds 1 document to the index
- $docId = 3;
- $doc1 = new Document($docId, array('username' => 'hans'));
- $type->addDocument($doc1);
-
- // Refreshes index
- $index->refresh();
-
- $resultSet = $type->search('hans');
-
- $this->assertEquals(1, $resultSet->count());
-
- $result = $resultSet->current();
-
- $this->assertEquals(array(), $result->getSource());
- $this->assertInstanceOf('Elastica\Result', $result);
- $this->assertEquals($indexName, $result->getIndex());
- $this->assertEquals($typeName, $result->getType());
- $this->assertEquals($docId, $result->getId());
- $this->assertGreaterThan(0, $result->getScore());
- $this->assertInternalType('array', $result->getData());
- }
-
- public function testGetTotalTimeReturnsExpectedResults()
- {
- $typeName = 'user';
- $index = $this->_createIndex();
- $type = $index->getType($typeName);
-
- // Adds 1 document to the index
- $docId = 3;
- $doc1 = new Document($docId, array('username' => 'hans'));
- $type->addDocument($doc1);
-
- // Refreshes index
- $index->refresh();
-
- $resultSet = $type->search('hans');
-
- $this->assertNotNull($resultSet->getTotalTime(), 'Get Total Time should never be a null value');
- $this->assertEquals(
- 'integer',
- getType($resultSet->getTotalTime()),
- 'Total Time should be an integer'
- );
- }
-
- public function testHasFields()
- {
- $data = array('value set');
-
- $result = new Result(array());
- $this->assertFalse($result->hasFields());
-
- $result = new Result(array('_source' => $data));
- $this->assertFalse($result->hasFields());
-
- $result = new Result(array('fields' => $data));
- $this->assertTrue($result->hasFields());
- $this->assertEquals($data, $result->getFields());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScanAndScrollTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ScanAndScrollTest.php
deleted file mode 100644
index a64670bb..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScanAndScrollTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\ResultSet;
-use Elastica\ScanAndScroll;
-use Elastica\Search;
-use Elastica\Test\Base as BaseTest;
-
-class ScanAndScrollTest extends BaseTest {
-
- public function testConstruct() {
- $scanAndScroll = $this->_prepareScanAndScroll();
-
- $this->assertInstanceOf('Elastica\ScanAndScroll', $scanAndScroll);
- }
-
- public function testDefaultProperties() {
- $scanAndScroll = $this->_prepareScanAndScroll();
-
- $this->assertEquals('1m', $scanAndScroll->expiryTime);
- $this->assertEquals(1000, $scanAndScroll->sizePerShard);
- }
-
- public function testQuerySizeOverride() {
- $query = new Query();
- $query->setSize(100);
-
- $index = $this->_createIndex('test_1');
- $index->refresh(); // Waits for the index to be fully created.
- $type = $index->getType('scanAndScrollTest');
-
- $search = new Search($this->_getClient());
- $search->addIndex($index)->addType($type);
- $search->setQuery($query);
-
- $scanAndScroll = new ScanAndScroll($search);
- $scanAndScroll->sizePerShard = 10;
- $scanAndScroll->rewind();
-
- $this->assertEquals(10, $query->getParam('size'));
- }
-
- public function testSizePerShard() {
- $search = $this->_prepareSearch('test_2', 2, 20);
-
- $scanAndScroll = new ScanAndScroll($search);
- $scanAndScroll->sizePerShard = 5;
- $scanAndScroll->rewind();
-
- $this->assertEquals(10, $scanAndScroll->current()->count());
- }
-
- public function testScrollId() {
- $search = $this->_prepareSearch('test_3', 1, 2);
-
- $scanAndScroll = new ScanAndScroll($search);
- $scanAndScroll->sizePerShard = 1;
-
- $scanAndScroll->rewind();
- $this->assertEquals(
- $scanAndScroll->current()->getResponse()->getScrollId(),
- $scanAndScroll->key()
- );
- }
-
- public function testForeach() {
- $search = $this->_prepareSearch('test_4', 2, 11);
-
- $scanAndScroll = new ScanAndScroll($search);
- $scanAndScroll->sizePerShard = 5;
-
- // We expect 2 scrolls:
- // 1. with 10 hits,
- // 2. with 1 hit
- // Note: there is a 3. scroll with 0 hits
-
- $count = 0;
- foreach($scanAndScroll as $resultSet) {
- /** @var ResultSet $resultSet */
- $count++;
-
- switch(true) {
- case $count == 1: $this->assertEquals(10, $resultSet->count()); break;
- case $count == 2: $this->assertEquals(1, $resultSet->count()); break;
- }
- }
-
- $this->assertEquals(2, $count);
- }
-
- private function _prepareScanAndScroll() {
- return new ScanAndScroll(new Search($this->_getClient()));
- }
-
- private function _prepareSearch($indexName, $indexShards, $docs) {
- $index = $this->_createIndex($indexName, true, $indexShards);
- $type = $index->getType('scanAndScrollTest');
-
- $insert = array();
- for ($x = 1; $x <= $docs; $x++) {
- $insert[] = new Document($x, array('id' => $x, 'key' => 'value'));
- }
-
- $type->addDocuments($insert);
- $index->refresh();
-
- $search = new Search($this->_getClient());
- $search->addIndex($index)->addType($type);
-
- return $search;
- }
-} \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
deleted file mode 100644
index a3dd0d51..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Script;
-use Elastica\ScriptFields;
-use Elastica\Test\Base as BaseTest;
-
-class ScriptFieldsTest extends BaseTest
-{
- protected $index;
-
- public function setUp()
- {
- $this->index = $this->_createIndex();
- }
-
- public function tearDown()
- {
- $this->index->delete();
- }
-
- public function testNewScriptFields()
- {
- $script = new Script('1 + 2');
-
- // addScript
- $scriptFields = new ScriptFields;
- $scriptFields->addScript('test', $script);
- $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
-
- // setScripts
- $scriptFields = new ScriptFields;
- $scriptFields->setScripts(array(
- 'test' => $script
- ));
- $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
-
- // Constructor
- $scriptFields = new ScriptFields(array(
- 'test' => $script
- ));
- $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
- }
-
- public function testSetScriptFields()
- {
- $query = new Query;
- $script = new Script('1 + 2');
-
- $scriptFields = new ScriptFields(array(
- 'test' => $script
- ));
- $query->setScriptFields($scriptFields);
- $this->assertEquals($query->getParam('script_fields'), $scriptFields->toArray());
-
- $query->setScriptFields(array(
- 'test' => $script
- ));
- $this->assertEquals($query->getParam('script_fields'), $scriptFields->toArray());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testNameException()
- {
- $script = new Script('1 + 2');
- $scriptFields = new ScriptFields(array($script));
- }
-
- public function testQuery()
- {
- $type = $this->index->getType('test');
-
- $doc = new Document(1, array('firstname' => 'guschti', 'lastname' => 'ruflin'));
- $type->addDocument($doc);
- $this->index->refresh();
-
- $query = new Query();
- $script = new Script('1 + 2');
- $scriptFields = new ScriptFields(array(
- 'test' => $script
- ));
- $query->setScriptFields($scriptFields);
-
- $resultSet = $type->search($query);
- $first = $resultSet->current()->getData();
-
- // 1 + 2
- $this->assertEquals(3, $first['test'][0]);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptTest.php
deleted file mode 100644
index 0a11d118..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptTest.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Script;
-use Elastica\Test\Base as BaseTest;
-
-class ScriptTest extends BaseTest
-{
- public function testConstructor()
- {
- $value = "_score * doc['my_numeric_field'].value";
- $script = new Script($value);
-
- $expected = array(
- 'script' => $value,
- );
- $this->assertEquals($value, $script->getScript());
- $this->assertEquals($expected, $script->toArray());
-
- $params = array(
- 'param1' => 'one',
- 'param2' => 10,
- );
-
- $script = new Script($value, $params);
-
- $expected = array(
- 'script' => $value,
- 'params' => $params,
- );
-
- $this->assertEquals($value, $script->getScript());
- $this->assertEquals($params, $script->getParams());
- $this->assertEquals($expected, $script->toArray());
-
- $lang = 'mvel';
-
- $script = new Script($value, $params, $lang);
-
- $expected = array(
- 'script' => $value,
- 'params' => $params,
- 'lang' => $lang,
- );
-
- $this->assertEquals($value, $script->getScript());
- $this->assertEquals($params, $script->getParams());
- $this->assertEquals($lang, $script->getLang());
- $this->assertEquals($expected, $script->toArray());
- }
-
- public function testCreateString()
- {
- $string = '_score * 2.0';
- $script = Script::create($string);
-
- $this->assertInstanceOf('Elastica\Script', $script);
-
- $this->assertEquals($string, $script->getScript());
-
- $expected = array(
- 'script' => $string,
- );
- $this->assertEquals($expected, $script->toArray());
- }
-
- public function testCreateScript()
- {
- $data = new Script('_score * 2.0');
-
- $script = Script::create($data);
-
- $this->assertInstanceOf('Elastica\Script', $script);
- $this->assertSame($data, $script);
- }
-
- public function testCreateArray()
- {
- $string = '_score * 2.0';
- $lang = 'mvel';
- $params = array(
- 'param1' => 'one',
- 'param2' => 1,
- );
- $array = array(
- 'script' => $string,
- 'lang' => $lang,
- 'params' => $params,
- );
-
- $script = Script::create($array);
-
- $this->assertInstanceOf('Elastica\Script', $script);
-
- $this->assertEquals($string, $script->getScript());
- $this->assertEquals($params, $script->getParams());
- $this->assertEquals($lang, $script->getLang());
-
- $this->assertEquals($array, $script->toArray());
- }
-
- /**
- * @dataProvider dataProviderCreateInvalid
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testCreateInvalid($data)
- {
- Script::create($data);
- }
-
- /**
- * @return array
- */
- public function dataProviderCreateInvalid()
- {
- return array(
- array(
- new \stdClass
- ),
- array(
- array('params' => array('param1' => 'one')),
- ),
- array(
- array('script' => '_score * 2.0', 'params' => 'param'),
- )
- );
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/SearchTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/SearchTest.php
deleted file mode 100644
index e08d2d60..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/SearchTest.php
+++ /dev/null
@@ -1,500 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query\Builder;
-use Elastica\Query\MatchAll;
-use Elastica\Query\QueryString;
-use Elastica\Query\FunctionScore;
-use Elastica\Query;
-use Elastica\Script;
-use Elastica\Search;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type;
-
-class SearchTest extends BaseTest
-{
- public function testConstruct()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $this->assertInstanceOf('Elastica\Search', $search);
- $this->assertSame($client, $search->getClient());
- }
-
- public function testAddIndex()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index1 = $this->_createIndex('test1');
- $index2 = $this->_createIndex('test2');
-
- $search->addIndex($index1);
- $indices = $search->getIndices();
-
- $this->assertEquals(1, count($indices));
-
- $search->addIndex($index2);
- $indices = $search->getIndices();
-
- $this->assertEquals(2, count($indices));
-
- $this->assertTrue(in_array($index1->getName(), $indices));
- $this->assertTrue(in_array($index2->getName(), $indices));
-
- // Add string
- $search->addIndex('test3');
- $indices = $search->getIndices();
-
- $this->assertEquals(3, count($indices));
- $this->assertTrue(in_array('test3', $indices));
- }
-
- public function testAddIndices()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $indices = array();
- $indices[] = $client->getIndex('elastica_test1');
- $indices[] = $client->getIndex('elastica_test2');
-
- $search->addIndices($indices);
-
- $this->assertEquals(2, count($search->getIndices()));
- }
-
- public function testAddType()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $this->_createIndex();
-
- $type1 = $index->getType('type1');
- $type2 = $index->getType('type2');
-
- $this->assertEquals(array(), $search->getTypes());
-
- $search->addType($type1);
- $types = $search->getTypes();
-
- $this->assertEquals(1, count($types));
-
- $search->addType($type2);
- $types = $search->getTypes();
-
- $this->assertEquals(2, count($types));
-
- $this->assertTrue(in_array($type1->getName(), $types));
- $this->assertTrue(in_array($type2->getName(), $types));
-
- // Add string
- $search->addType('test3');
- $types = $search->getTypes();
-
- $this->assertEquals(3, count($types));
- $this->assertTrue(in_array('test3', $types));
- }
-
- public function testAddTypes()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $this->_createIndex();
-
- $types = array();
- $types[] = $index->getType('type1');
- $types[] = $index->getType('type2');
-
- $search->addTypes($types);
-
- $this->assertEquals(2, count($search->getTypes()));
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testAddTypeInvalid()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $search->addType(new \stdClass());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testAddIndexInvalid()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $search->addIndex(new \stdClass());
- }
-
- public function testGetPath()
- {
- $client = $this->_getClient();
- $search1 = new Search($client);
- $search2 = new Search($client);
-
- $index1 = $this->_createIndex('test1');
- $index2 = $this->_createIndex('test2');
-
- $type1 = $index1->getType('type1');
- $type2 = $index1->getType('type2');
-
- // No index
- $this->assertEquals('/_search', $search1->getPath());
-
- // Only index
- $search1->addIndex($index1);
- $this->assertEquals($index1->getName() . '/_search', $search1->getPath());
-
- // MUltiple index, no types
- $search1->addIndex($index2);
- $this->assertEquals($index1->getName() . ',' . $index2->getName() . '/_search', $search1->getPath());
-
- // Single type, no index
- $search2->addType($type1);
- $this->assertEquals('_all/' . $type1->getName() . '/_search', $search2->getPath());
-
- // Multiple types
- $search2->addType($type2);
- $this->assertEquals('_all/' . $type1->getName() . ',' . $type2->getName() . '/_search', $search2->getPath());
-
- // Combine index and types
- $search2->addIndex($index1);
- $this->assertEquals($index1->getName() . '/' . $type1->getName() . ',' . $type2->getName() . '/_search', $search2->getPath());
- }
-
- public function testSearchRequest()
- {
- $client = $this->_getClient();
- $search1 = new Search($client);
-
- $index1 = $this->_createIndex('test1');
- $index2 = $this->_createIndex('test2');
-
- $type1 = $index1->getType('hello1');
-
- $result = $search1->search(array());
- $this->assertFalse($result->getResponse()->hasError());
-
- $search1->addIndex($index1);
-
- $result = $search1->search(array());
- $this->assertFalse($result->getResponse()->hasError());
-
- $search1->addIndex($index2);
-
- $result = $search1->search(array());
- $this->assertFalse($result->getResponse()->hasError());
-
- $search1->addType($type1);
-
- $result = $search1->search(array());
- $this->assertFalse($result->getResponse()->hasError());
- }
-
- public function testSearchScrollRequest()
- {
- $client = $this->_getClient();
-
- $index = $this->_createIndex('test');
- $type = $index->getType('scrolltest');
-
- $docs = array();
- for ($x = 1; $x <= 10; $x++) {
- $docs[] = new Document($x, array('id' => $x, 'testscroll' => 'jbafford'));
- }
-
- $type->addDocuments($docs);
- $index->refresh();
-
- $search = new Search($client);
- $search->addIndex($index)->addType($type);
- $result = $search->search(array(), array(
- Search::OPTION_SEARCH_TYPE => Search::OPTION_SEARCH_TYPE_SCAN,
- Search::OPTION_SCROLL => '5m',
- Search::OPTION_SIZE => 5,
- ));
- $this->assertFalse($result->getResponse()->hasError());
-
- $scrollId = $result->getResponse()->getScrollId();
- $this->assertNotEmpty($scrollId);
-
- //There are 10 items, and we're scrolling with a size of 5
- //So we should get two results of 5 items, and then no items
- //We should also have sent the raw scroll_id as the HTTP request body
- $search = new Search($client);
- $result = $search->search(array(), array(
- Search::OPTION_SCROLL => '5m',
- Search::OPTION_SCROLL_ID => $scrollId,
- ));
- $this->assertFalse($result->getResponse()->hasError());
- $this->assertEquals(5, count($result->getResults()));
- $this->assertArrayNotHasKey(Search::OPTION_SCROLL_ID, $search->getClient()->getLastRequest()->getQuery());
- $this->assertEquals($scrollId, $search->getClient()->getLastRequest()->getData());
-
- $result = $search->search(array(), array(
- Search::OPTION_SCROLL => '5m',
- Search::OPTION_SCROLL_ID => $scrollId,
- ));
- $this->assertFalse($result->getResponse()->hasError());
- $this->assertEquals(5, count($result->getResults()));
- $this->assertArrayNotHasKey(Search::OPTION_SCROLL_ID, $search->getClient()->getLastRequest()->getQuery());
- $this->assertEquals($scrollId, $search->getClient()->getLastRequest()->getData());
-
- $result = $search->search(array(), array(
- Search::OPTION_SCROLL => '5m',
- Search::OPTION_SCROLL_ID => $scrollId,
- ));
- $this->assertFalse($result->getResponse()->hasError());
- $this->assertEquals(0, count($result->getResults()));
- $this->assertArrayNotHasKey(Search::OPTION_SCROLL_ID, $search->getClient()->getLastRequest()->getQuery());
- $this->assertEquals($scrollId, $search->getClient()->getLastRequest()->getData());
- }
-
- /**
- * Default Limit tests for \Elastica\Search
- */
- public function testLimitDefaultSearch()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- $search->addIndex($index)->addType($type);
-
- // default limit results (default limit is 10)
- $resultSet = $search->search('farrelley');
- $this->assertEquals(10, $resultSet->count());
-
- // limit = 1
- $resultSet = $search->search('farrelley', 1);
- $this->assertEquals(1, $resultSet->count());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testArrayConfigSearch()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
- for ($i = 0; $i < 11; $i++) {
- $docs[] = new Document($i, array('id' => 1, 'email' => 'test@test.com', 'username' => 'test'));
- }
-
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- $search->addIndex($index)->addType($type);
- //Backward compatibility, integer => limit
- // default limit results (default limit is 10)
- $resultSet = $search->search('test');
- $this->assertEquals(10, $resultSet->count());
-
- // limit = 1
- $resultSet = $search->search('test', 1);
- $this->assertEquals(1, $resultSet->count());
-
- //Array with limit
- $resultSet = $search->search('test', array('limit' => 2));
- $this->assertEquals(2, $resultSet->count());
-
- //Array with size
- $resultSet = $search->search('test', array('size' => 2));
- $this->assertEquals(2, $resultSet->count());
-
- //Array with from
- $resultSet = $search->search('test', array('from' => 10));
- $this->assertEquals(10, $resultSet->current()->getId());
-
- //Array with routing
- $resultSet = $search->search('test', array('routing' => 'r1,r2'));
- $this->assertEquals(10, $resultSet->count());
-
- //Array with limit and routing
- $resultSet = $search->search('test', array('limit' => 5, 'routing' => 'r1,r2'));
- $this->assertEquals(5, $resultSet->count());
-
- //Search types
- $resultSet = $search->search('test', array('limit' => 5, 'search_type' => 'count'));
- $this->assertTrue(($resultSet->count() === 0) && $resultSet->getTotalHits() === 11);
-
- //Timeout - this one is a bit more tricky to test
- $script = new Script('Thread.sleep(100); return _score;');
- $query = new FunctionScore();
- $query->addScriptScoreFunction($script);
- $resultSet = $search->search($query, array('timeout' => 50));
- $this->assertTrue($resultSet->hasTimedOut());
-
- // Throws InvalidException
- $resultSet = $search->search('test', array('invalid_option' => 'invalid_option_value'));
- }
-
- public function testSearchWithVersionOption()
- {
- $index = $this->_createIndex('test1');
- $doc = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'ruflin'));
- $index->getType('test')->addDocument($doc);
- $index->refresh();
-
- $search = new Search($index->getClient());
- $search->addIndex($index);
-
- // Version param should not be inside by default
- $results = $search->search(new MatchAll());
- $hit = $results->current();
- $this->assertEquals(array(), $hit->getParam('_version'));
-
- // Added version param to result
- $results = $search->search(new MatchAll(), array('version' => true));
- $hit = $results->current();
- $this->assertEquals(1, $hit->getParam('_version'));
- }
-
- public function testCountRequest()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'marley'));
-
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- $search->addIndex($index)->addType($type);
-
- $count = $search->count('farrelley');
- $this->assertEquals(5, $count);
-
- $count = $search->count('marley');
- $this->assertEquals(6, $count);
-
- $count = $search->count();
- $this->assertEquals(6, $count, 'Uses previous query set');
-
- $count = $search->count(new MatchAll());
- $this->assertEquals(11, $count);
-
- $count = $search->count('bunny');
- $this->assertEquals(0, $count);
- }
-
- public function testEmptySearch()
- {
- $client = $this->_getClient();
- $search = new Search($client);
-
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'bunny'));
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- $search->addIndex($index)->addType($type);
- $resultSet = $search->search();
- $this->assertInstanceOf('Elastica\ResultSet', $resultSet);
- $this->assertCount(10, $resultSet);
- $this->assertEquals(11, $resultSet->getTotalHits());
-
- $query = new QueryString('bunny');
- $search->setQuery($query);
-
- $resultSet = $search->search();
-
- $this->assertCount(4, $resultSet);
- $this->assertEquals(4, $resultSet->getTotalHits());
- $source = $resultSet->current()->getSource();
- $this->assertEquals('bunny', $source['username']);
- }
-
- public function testCount() {
- $index = $this->_createIndex('eeee');
- $search = new Search($index->getClient());
- $type = $index->getType('test');
-
- $doc = new Document(1, array('id' => 1, 'username' => 'ruflin'));
-
- $type->addDocument($doc);
- $index->refresh();
-
- $search->addIndex($index);
- $search->addType($type);
-
- $result1 = $search->count(new \Elastica\Query\MatchAll());
- $this->assertEquals(1, $result1);
-
-
- $result2 = $search->count(new \Elastica\Query\MatchAll(), true);
- $this->assertInstanceOf('\Elastica\ResultSet', $result2);
- $this->assertEquals(1, $result2->getTotalHits());
- }
-
- public function testScanAndScroll() {
- $search = new Search($this->_getClient());
- $this->assertInstanceOf('Elastica\ScanAndScroll', $search->scanAndScroll());
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/SnapshotTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/SnapshotTest.php
deleted file mode 100644
index 3ac5bfe2..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/SnapshotTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Snapshot;
-
-class SnapshotTest extends Base
-{
- /**
- * @var Snapshot
- */
- protected $_snapshot;
-
- /**
- * @var Index
- */
- protected $_index;
-
- /**
- * @var Document[]
- */
- protected $_docs;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_snapshot = new Snapshot($this->_getClient());
-
- $this->_index = $this->_createIndex("test_snapshot");
- $this->_docs = array(
- new Document("1", array("city" => "San Diego")),
- new Document("2", array("city" => "San Luis Obispo")),
- new Document("3", array("city" => "San Francisco")),
- );
- $this->_index->getType("test")->addDocuments($this->_docs);
- $this->_index->refresh();
- }
-
- protected function tearDown()
- {
- parent::tearDown();
- $this->_index->delete();
- }
-
- public function testRegisterRepository()
- {
- $name = "test_register";
- $location = "/tmp/test_register";
-
- $response = $this->_snapshot->registerRepository($name, "fs", array("location" => $location));
- $this->assertTrue($response->isOk());
-
- $response = $this->_snapshot->getRepository($name);
- $this->assertEquals($location, $response["settings"]["location"]);
-
- // attempt to retrieve a repository which does not exist
- $this->setExpectedException('Elastica\Exception\NotFoundException');
- $this->_snapshot->getRepository("foobar");
- }
-
- public function testSnapshotAndRestore()
- {
- $repositoryName = "test_repository";
- $location = "/tmp/{$repositoryName}";
-
- // register the repository
- $response = $this->_snapshot->registerRepository($repositoryName, "fs", array("location" => $location));
- $this->assertTrue($response->isOk());
-
- // create a snapshot of our test index
- $snapshotName = "test_snapshot_1";
- $response = $this->_snapshot->createSnapshot($repositoryName, $snapshotName, array("indices" => $this->_index->getName()), true);
-
- // ensure that the snapshot was created properly
- $this->assertTrue($response->isOk());
- $this->assertArrayHasKey("snapshot", $response->getData());
- $data = $response->getData();
- $this->assertContains($this->_index->getName(), $data["snapshot"]["indices"]);
- $this->assertEquals(1, sizeof($data["snapshot"]["indices"])); // only the specified index should be present
- $this->assertEquals($snapshotName, $data["snapshot"]["snapshot"]);
-
- // retrieve data regarding the snapshot
- $response = $this->_snapshot->getSnapshot($repositoryName, $snapshotName);
- $this->assertContains($this->_index->getName(), $response["indices"]);
-
- // delete our test index
- $this->_index->delete();
-
- // restore the index from our snapshot
- $response = $this->_snapshot->restoreSnapshot($repositoryName, $snapshotName, array(), true);
- $this->assertTrue($response->isOk());
-
- $this->_index->refresh();
- $this->_index->optimize();
-
- // ensure that the index has been restored
- $count = $this->_index->getType("test")->count();
- $this->assertEquals(sizeof($this->_docs), $count);
-
- // delete the snapshot
- $response = $this->_snapshot->deleteSnapshot($repositoryName, $snapshotName);
- $this->assertTrue($response->isOk());
-
- // ensure that the snapshot has been deleted
- $this->setExpectedException('Elastica\Exception\NotFoundException');
- $this->_snapshot->getSnapshot($repositoryName, $snapshotName);
- }
-}
- \ No newline at end of file
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/StatusTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/StatusTest.php
deleted file mode 100644
index 14d7950a..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/StatusTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-use Elastica\Client;
-use Elastica\Exception\ResponseException;
-use Elastica\Status;
-use Elastica\Test\Base as BaseTest;
-
-class StatusTest extends BaseTest
-{
- public function testGetResponse()
- {
- $index = $this->_createIndex();
- $status = new Status($index->getClient());
- $this->assertInstanceOf('Elastica\Response', $status->getResponse());
- }
-
- public function testGetIndexStatuses()
- {
- $index = $this->_createIndex();
-
- $status = new Status($index->getClient());
- $statuses = $status->getIndexStatuses();
-
- $this->assertInternalType('array', $statuses);
-
- foreach ($statuses as $indexStatus) {
- $this->assertInstanceOf('Elastica\Index\Status', $indexStatus);
- }
- }
-
- public function testGetIndexNames()
- {
- $indexName = 'test';
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
- $index->create(array(), true);
- $index = $this->_createIndex();
- $index->refresh();
- $index->optimize();
-
- $status = new Status($index->getClient());
- $names = $status->getIndexNames();
-
- $this->assertInternalType('array', $names);
- $this->assertContains($index->getName(), $names);
-
- foreach ($names as $name) {
- $this->assertInternalType('string', $name);
- }
- }
-
- public function testIndexExists()
- {
- $indexName = 'elastica_test';
- $aliasName = 'elastica_test-alias';
-
- $client = $this->_getClient();
- $index = $client->getIndex($indexName);
-
- try {
- // Make sure index is deleted first
- $index->delete();
- } catch (ResponseException $e) {
- }
-
- $status = new Status($client);
- $this->assertFalse($status->indexExists($indexName));
- $index->create();
-
- $status->refresh();
- $this->assertTrue($status->indexExists($indexName));
- }
-
- public function testAliasExists()
- {
- $indexName = 'test';
- $aliasName = 'elastica_test-alias';
-
- $index1 = $this->_createIndex();
-
- $status = new Status($index1->getClient());
-
- foreach ($status->getIndicesWithAlias($aliasName) as $tmpIndex) {
- $tmpIndex->removeAlias($aliasName);
- }
-
- $this->assertFalse($status->aliasExists($aliasName));
-
- $index1->addAlias($aliasName);
- $status->refresh();
- $this->assertTrue($status->aliasExists($aliasName));
-
- $indicesWithAlias = $status->getIndicesWithAlias($aliasName);
- $this->assertEquals(array("elastica_$indexName"), array_map(
- function($index) {
- return $index->getName();
- }, $indicesWithAlias));
- }
-
- public function testServerStatus()
- {
- $client = $this->_getClient();
- $status = $client->getStatus();
- $serverStatus = $status->getServerStatus();
-
- $this->assertTrue(!empty($serverStatus) );
- $this->assertTrue('array' == gettype($serverStatus));
- $this->assertArrayHasKey('status', $serverStatus);
- $this->assertTrue($serverStatus['status'] == 200);
- $this->assertArrayHasKey('version', $serverStatus);
-
- $versionInfo = $serverStatus['version'];
- $this->assertArrayHasKey('number', $versionInfo);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/PhraseTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/PhraseTest.php
deleted file mode 100644
index eda08ba0..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/PhraseTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-namespace Elastica\Test\Suggest;
-
-use Elastica\Suggest;
-use Elastica\Suggest\CandidateGenerator\DirectGenerator;
-use Elastica\Suggest\Phrase;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Query;
-use Elastica\Document;
-use Elastica\Index;
-
-class PhraseTest extends BaseTest
-{
- const TEST_TYPE = 'testSuggestType';
-
- /**
- * @var Index
- */
- protected $_index;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('test_suggest_phrase');
- $docs = array();
- $docs[] = new Document(1, array('text' => 'Github is pretty cool'));
- $docs[] = new Document(2, array('text' => 'Elasticsearch is bonsai cool'));
- $docs[] = new Document(3, array('text' => 'This is a test phrase'));
- $docs[] = new Document(4, array('text' => 'Another sentence for testing'));
- $docs[] = new Document(5, array('text' => 'Some more words here'));
- $type = $this->_index->getType(self::TEST_TYPE);
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- protected function tearDown()
- {
- $this->_index->delete();
- }
-
- public function testToArray()
- {
- $suggest = new Suggest();
- $phraseSuggest = new Phrase('suggest1', 'text');
- $phraseSuggest->setText('elasticsearch is bansai coor');
- $phraseSuggest->setAnalyzer('simple');
- $suggest->addSuggestion($phraseSuggest);
- $suggest->setGlobalText('global!');
-
- $expected = array(
- 'suggest' => array(
- 'text' => 'global!',
- 'suggest1' => array(
- 'text' => 'elasticsearch is bansai coor',
- 'phrase' => array(
- 'field' => 'text',
- 'analyzer' => 'simple'
- )
- )
- )
- );
-
- $this->assertEquals($expected, $suggest->toArray());
- }
-
- public function testPhraseSuggest()
- {
- $suggest = new Suggest();
- $phraseSuggest = new Phrase('suggest1', 'text');
- $phraseSuggest->setText("elasticsearch is bansai coor");
- $phraseSuggest->setAnalyzer("simple")->setHighlight("<suggest>", "</suggest>")->setStupidBackoffSmoothing(0.4);
- $phraseSuggest->addCandidateGenerator(new DirectGenerator("text"));
- $suggest->addSuggestion($phraseSuggest);
-
- $result = $this->_index->search($suggest);
- $suggests = $result->getSuggests();
-
- // 3 suggestions should be returned: One in which both misspellings are corrected, and two in which only one misspelling is corrected.
- $this->assertEquals(3, sizeof($suggests['suggest1'][0]['options']));
-
- $this->assertEquals("elasticsearch is <suggest>bonsai cool</suggest>", $suggests['suggest1'][0]['options'][0]['highlighted']);
- $this->assertEquals("elasticsearch is bonsai cool", $suggests['suggest1'][0]['options'][0]['text']);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/TermTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/TermTest.php
deleted file mode 100644
index 7765f1bb..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Suggest/TermTest.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-namespace Elastica\Test\Suggest;
-
-use Elastica\Suggest;
-use Elastica\Suggest\Term;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Query;
-use Elastica\Document;
-use Elastica\Index;
-
-class TermTest extends BaseTest
-{
- const TEST_TYPE = 'testSuggestType';
-
- /**
- * @var Index
- */
- protected $_index;
-
- protected function setUp()
- {
- parent::setUp();
- $this->_index = $this->_createIndex('test_suggest');
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'text' => 'GitHub'));
- $docs[] = new Document(2, array('id' => 1, 'text' => 'Elastic'));
- $docs[] = new Document(3, array('id' => 1, 'text' => 'Search'));
- $docs[] = new Document(4, array('id' => 1, 'text' => 'Food'));
- $docs[] = new Document(5, array('id' => 1, 'text' => 'Flood'));
- $docs[] = new Document(6, array('id' => 1, 'text' => 'Folks'));
- $type = $this->_index->getType(self::TEST_TYPE);
- $type->addDocuments($docs);
- $this->_index->refresh();
- }
-
- protected function tearDown()
- {
- $this->_index->delete();
- }
-
- public function testToArray()
- {
- $suggest = new Suggest();
- $suggest1 = new Term('suggest1', '_all');
- $suggest->addSuggestion($suggest1->setText('Foor'));
- $suggest2 = new Term('suggest2', '_all');
- $suggest->addSuggestion($suggest2->setText('Girhub'));
-
- $expected = array(
- 'suggest' => array(
- 'suggest1' => array(
- 'term' => array(
- 'field' => '_all'
- ),
- 'text' => 'Foor'
- ),
- 'suggest2' => array(
- 'term' => array(
- 'field' => '_all'
- ),
- 'text' => 'Girhub'
- )
- )
- );
-
- $this->assertEquals($expected, $suggest->toArray());
- }
-
- public function testSuggestResults()
- {
- $suggest = new Suggest();
- $suggest1 = new Term('suggest1', '_all');
- $suggest->addSuggestion($suggest1->setText('Foor seach'));
- $suggest2 = new Term('suggest2', '_all');
- $suggest->addSuggestion($suggest2->setText('Girhub'));
-
- $result = $this->_index->search($suggest);
-
- $this->assertEquals(2, $result->countSuggests());
-
- $suggests = $result->getSuggests();
-
- // Ensure that two suggestion results are returned for suggest1
- $this->assertEquals(2, sizeof($suggests['suggest1']));
-
- $this->assertEquals('github', $suggests['suggest2'][0]['options'][0]['text']);
- $this->assertEquals('food', $suggests['suggest1'][0]['options'][0]['text']);
- }
-
- public function testSuggestNoResults()
- {
- $termSuggest = new Term('suggest1', '_all');
- $termSuggest->setText('Foobar')->setSize(4);
-
- $result = $this->_index->search($termSuggest);
-
- $this->assertEquals(1, $result->countSuggests());
-
- // Assert that no suggestions were returned
- $suggests = $result->getSuggests();
- $this->assertEquals(0, sizeof($suggests['suggest1'][0]['options']));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/AbstractTransportTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/AbstractTransportTest.php
deleted file mode 100644
index 4f1c7114..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/AbstractTransportTest.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Transport\AbstractTransport;
-use Elastica\Transport\Http;
-use Elastica\Connection;
-use Elastica\Exception\InvalidException;
-
-class AbstractTransportTest extends \PHPUnit_Framework_TestCase
-{
- /**
- * Return transport configuration and the expected HTTP method
- *
- * @return array[]
- */
- public function getValidDefinitions()
- {
- $connection = new Connection();
-
- return array(
- array('Http'),
- array(array('type' => 'Http')),
- array(array('type' => new Http())),
- array(new Http()),
- );
- }
-
- /**
- * @dataProvider getValidDefinitions
- */
- public function testCanCreateTransportInstances($transport)
- {
- $connection = new Connection();
- $params = array();
- $transport = AbstractTransport::create($transport, $connection, $params);
- $this->assertInstanceOf('Elastica\Transport\AbstractTransport', $transport);
- $this->assertSame($connection, $transport->getConnection());
- }
-
- public function getInvalidDefinitions()
- {
- return array(
- array(array('transport' => 'Http')),
- array('InvalidTransport'),
- );
- }
-
- /**
- * @dataProvider getInvalidDefinitions
- * @expectedException Elastica\Exception\InvalidException
- * @expectedExceptionMessage Invalid transport
- */
- public function testThrowsExecptionOnInvalidTransportDefinition($transport)
- {
- AbstractTransport::create($transport, new Connection());
- }
-
- public function testCanInjectParamsWhenUsingArray()
- {
- $connection = new Connection();
- $params = array(
- 'param1' => 'some value',
- 'param3' => 'value3',
- );
-
- $transport = AbstractTransport::create(array(
- 'type' => 'Http',
- 'param1' => 'value1',
- 'param2' => 'value2',
- ), $connection, $params);
-
- $this->assertSame('value1', $transport->getParam('param1'));
- $this->assertSame('value2', $transport->getParam('param2'));
- $this->assertSame('value3', $transport->getParam('param3'));
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/GuzzleTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/GuzzleTest.php
deleted file mode 100644
index b2e385bb..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/GuzzleTest.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\ResultSet;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Exception\ResponseException;
-
-class GuzzleTest extends BaseTest
-{
- public static function setUpBeforeClass()
- {
- if (!class_exists('GuzzleHttp\\Client')) {
- self::markTestSkipped('guzzlehttp/guzzle package should be installed to run guzzle transport tests');
- }
- }
-
- public function setUp()
- {
- if (defined('DEBUG') && !DEBUG) {
- $this->markTestSkipped('The DEBUG constant must be set to true for this test to run');
- }
-
- if (!defined('DEBUG')) {
- define('DEBUG', true);
- }
- }
-
- /**
- * Return transport configuration and the expected HTTP method
- *
- * @return array[]
- */
- public function getConfig()
- {
- return array(
- array(
- array('transport' => 'Guzzle'),
- 'GET'
- ),
- array(
- array('transport' => array('type' => 'Guzzle', 'postWithRequestBody' => false)),
- 'GET'
- ),
- array(
- array('transport' => array('type' => 'Guzzle', 'postWithRequestBody' => true)),
- 'POST'
- ),
- );
- }
-
- /**
- * @dataProvider getConfig
- */
- public function testDynamicHttpMethodBasedOnConfigParameter(array $config, $httpMethod)
- {
- $client = new Client($config);
-
- $index = $client->getIndex('dynamic_http_method_test');
- $index->create(array(), true);
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('test' => 'test')));
- $index->refresh();
- $resultSet = $index->search('test');
- $info = $resultSet->getResponse()->getTransferInfo();
- $this->assertStringStartsWith($httpMethod, $info['request_header']);
- }
-
- /**
- * @dataProvider getConfig
- */
- public function testDynamicHttpMethodOnlyAffectsRequestsWithBody(array $config, $httpMethod)
- {
- $client = new Client($config);
-
- $status = $client->getStatus();
- $info = $status->getResponse()->getTransferInfo();
- $this->assertStringStartsWith('GET', $info['request_header']);
- }
-
- public function testWithEnvironmentalProxy()
- {
- putenv('http_proxy=http://127.0.0.1:12345/');
-
- $client = new \Elastica\Client(array('transport' => 'Guzzle'));
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- $client->getConnection()->setProxy(null); // will not change anything
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- putenv('http_proxy=');
- }
-
- public function testWithEnabledEnvironmentalProxy()
- {
- putenv('http_proxy=http://127.0.0.1:12346/');
-
- $client = new \Elastica\Client(array('transport' => 'Guzzle'));
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(403, $transferInfo['http_code']);
-
- $client = new \Elastica\Client();
- $client->getConnection()->setProxy('');
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- putenv('http_proxy=');
- }
-
- public function testWithProxy()
- {
- $client = new \Elastica\Client(array('transport' => 'Guzzle'));
- $client->getConnection()->setProxy('http://127.0.0.1:12345');
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
- }
-
- public function testWithoutProxy()
- {
- $client = new \Elastica\Client(array('transport' => 'Guzzle'));
- $client->getConnection()->setProxy('');
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
- }
-
- public function testBodyReuse()
- {
- $client = new Client(array('transport' => 'Guzzle'));
-
- $index = $client->getIndex('elastica_body_reuse_test');
-
- $index->create(array(), true);
-
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('test' => 'test')));
-
- $index->refresh();
-
- $resultSet = $index->search(array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'pew pew pew',
- ),
- ),
- ));
-
- $this->assertEquals(0, $resultSet->getTotalHits());
-
- $response = $index->request('/_search', 'POST');
- $resultSet = new ResultSet($response, Query::create(array()));
-
- $this->assertEquals(1, $resultSet->getTotalHits());
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/HttpTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/HttpTest.php
deleted file mode 100644
index 88c93bea..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/HttpTest.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\ResultSet;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Exception\ResponseException;
-
-class HttpTest extends BaseTest
-{
- public function setUp()
- {
- if (defined('DEBUG') && !DEBUG) {
- $this->markTestSkipped('The DEBUG constant must be set to true for this test to run');
- }
-
- if (!defined('DEBUG')) {
- define('DEBUG', true);
- }
- }
-
- /**
- * Return transport configuration and the expected HTTP method
- *
- * @return array[]
- */
- public function getConfig()
- {
- return array(
- array(
- array('transport' => 'Http'),
- 'GET'
- ),
- array(
- array('transport' => array('type' => 'Http', 'postWithRequestBody' => false)),
- 'GET'
- ),
- array(
- array('transport' => array('type' => 'Http', 'postWithRequestBody' => true)),
- 'POST'
- ),
- );
- }
-
- /**
- * @dataProvider getConfig
- */
- public function testDynamicHttpMethodBasedOnConfigParameter(array $config, $httpMethod)
- {
- $client = new Client($config);
-
- $index = $client->getIndex('dynamic_http_method_test');
-
- $index->create(array(), true);
-
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('test' => 'test')));
-
- $index->refresh();
-
- $resultSet = $index->search('test');
-
- $info = $resultSet->getResponse()->getTransferInfo();
- $this->assertStringStartsWith($httpMethod, $info['request_header']);
- }
-
- /**
- * @dataProvider getConfig
- */
- public function testDynamicHttpMethodOnlyAffectsRequestsWithBody(array $config, $httpMethod)
- {
- $client = new Client($config);
-
- $status = $client->getStatus();
- $info = $status->getResponse()->getTransferInfo();
- $this->assertStringStartsWith('GET', $info['request_header']);
- }
-
- public function testCurlNobodyOptionIsResetAfterHeadRequest()
- {
- $client = new \Elastica\Client();
- $index = $client->getIndex('curl_test');
- $type = $index->getType('item');
-
- // Force HEAD request to set CURLOPT_NOBODY = true
- $index->exists();
-
- $id = 1;
- $data = array('id' => $id, 'name' => 'Item 1');
- $doc = new \Elastica\Document($id, $data);
-
- $type->addDocument($doc);
-
- $index->refresh();
-
- $doc = $type->getDocument($id);
-
- // Document should be retrieved correctly
- $this->assertSame($data, $doc->getData());
- $this->assertEquals($id, $doc->getId());
- }
-
- public function testUnicodeData()
- {
- $client = new \Elastica\Client();
- $index = $client->getIndex('curl_test');
- $type = $index->getType('item');
-
- // Force HEAD request to set CURLOPT_NOBODY = true
- $index->exists();
-
- $id = 22;
- $data = array('id' => $id, 'name' => '
- Сегодня, я вижу, особенно грустен твой взгляд, /
- И руки особенно тонки, колени обняв. /
- Послушай: далеко, далеко, на озере Чад /
- Изысканный бродит жираф.');
-
- $doc = new \Elastica\Document($id, $data);
-
- $type->addDocument($doc);
-
- $index->refresh();
-
- $doc = $type->getDocument($id);
-
- // Document should be retrieved correctly
- $this->assertSame($data, $doc->getData());
- $this->assertEquals($id, $doc->getId());
- }
-
- public function testWithEnvironmentalProxy()
- {
- putenv('http_proxy=http://127.0.0.1:12345/');
-
- $client = new \Elastica\Client();
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- $client->getConnection()->setProxy(null); // will not change anything
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- putenv('http_proxy=');
- }
-
- public function testWithEnabledEnvironmentalProxy()
- {
- putenv('http_proxy=http://127.0.0.1:12346/');
-
- $client = new \Elastica\Client();
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(403, $transferInfo['http_code']);
-
- $client = new \Elastica\Client();
- $client->getConnection()->setProxy('');
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
-
- putenv('http_proxy=');
- }
-
- public function testWithProxy()
- {
- $client = new \Elastica\Client();
- $client->getConnection()->setProxy('http://127.0.0.1:12345');
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
- }
-
- public function testWithoutProxy()
- {
- $client = new \Elastica\Client();
- $client->getConnection()->setProxy('');
-
- $transferInfo = $client->request('/_nodes')->getTransferInfo();
- $this->assertEquals(200, $transferInfo['http_code']);
- }
-
- public function testBodyReuse()
- {
- $client = new Client();
-
- $index = $client->getIndex('elastica_body_reuse_test');
-
- $index->create(array(), true);
-
- $type = $index->getType('test');
- $type->addDocument(new Document(1, array('test' => 'test')));
-
- $index->refresh();
-
- $resultSet = $index->search(array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'pew pew pew',
- ),
- ),
- ));
-
- $this->assertEquals(0, $resultSet->getTotalHits());
-
- $response = $index->request('/_search', 'POST');
- $resultSet = new ResultSet($response, Query::create(array()));
-
- $this->assertEquals(1, $resultSet->getTotalHits());
- }
-
- public function testPostWith0Body()
- {
- $client = new Client();
-
- $index = $client->getIndex('elastica_0_body');
- $index->create(array(), true);
- $index->refresh();
-
- $tokens = $index->analyze('0');
-
- $this->assertNotEmpty($tokens);
- }
-
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/MemcacheTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/MemcacheTest.php
deleted file mode 100644
index 17d46d88..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/MemcacheTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Test\Base as BaseTest;
-
-class MemcacheTest extends BaseTest
-{
- public function setUp()
- {
- if (!extension_loaded('Memcache')) {
- $this->markTestSkipped('pecl/memcache must be installed to run this test case');
- }
- }
-
- public function testExample()
- {
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $host = 'localhost';
- $port = 11211;
- $client = new Client(array('host' => $host, 'port' => $port, 'transport' => 'Memcache'));
-
- $index = $client->getIndex('elastica_test1');
- $index->create(array(), true);
-
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
- $this->markTestIncomplete('Memcache implementation is not finished yet');
- $resultSet = $type->search('rolf');
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/NullTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/NullTest.php
deleted file mode 100644
index c07f5da1..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/NullTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Client;
-use Elastica\Connection;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-/**
- * Elastica Null Transport Test
- *
- * @package Elastica
- * @author James Boehmer <james.boehmer@jamesboehmer.com>
- */
-class NullTest extends BaseTest
-{
-
- public function testEmptyResult()
- {
- // Creates a client with any destination, and verify it returns a response object when executed
- $client = $this->_getClient();
- $connection = new Connection(array('transport' => 'Null'));
- $client->setConnections(array($connection));
-
- $index = $client->getIndex('elasticaNullTransportTest1');
-
- $resultSet = $index->search(new Query());
- $this->assertNotNull($resultSet);
-
- $response = $resultSet->getResponse();
- $this->assertNotNull($response);
-
- // Validate most of the expected fields in the response data. Consumers of the response
- // object have a reasonable expectation of finding "hits", "took", etc
- $responseData = $response->getData();
- $this->assertContains("took", $responseData);
- $this->assertEquals(0, $responseData["took"]);
- $this->assertContains("_shards", $responseData);
- $this->assertContains("hits", $responseData);
- $this->assertContains("total", $responseData["hits"]);
- $this->assertEquals(0, $responseData["hits"]["total"]);
- $this->assertContains("params", $responseData);
-
- $took = $response->getEngineTime();
- $this->assertEquals(0, $took);
-
- $errorString = $response->getError();
- $this->assertEmpty($errorString);
-
- $shards = $response->getShardsStatistics();
- $this->assertContains("total", $shards);
- $this->assertEquals(0, $shards["total"]);
- $this->assertContains("successful", $shards);
- $this->assertEquals(0, $shards["successful"]);
- $this->assertContains("failed", $shards);
- $this->assertEquals(0, $shards["failed"]);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/ThriftTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/ThriftTest.php
deleted file mode 100644
index f1698ff6..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Transport/ThriftTest.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-namespace Elastica\Test\Transport;
-
-use Elastica\Client;
-use Elastica\Connection;
-use Elastica\Document;
-use Elastica\Index;
-use Elastica\Query;
-use Elastica\Test\Base as BaseTest;
-
-class ThriftTest extends BaseTest
-{
- public static function setUpBeforeClass()
- {
- if (!class_exists('Elasticsearch\\RestClient')) {
- self::markTestSkipped('munkie/elasticsearch-thrift-php package should be installed to run thrift transport tests');
- }
- }
-
- public function testConstruct()
- {
- $host = 'localhost';
- $port = 9500;
- $client = new Client(array('host' => $host, 'port' => $port, 'transport' => 'Thrift'));
-
- $this->assertEquals($host, $client->getConnection()->getHost());
- $this->assertEquals($port, $client->getConnection()->getPort());
- }
-
- /**
- * @dataProvider configProvider
- */
- public function testSearchRequest($config)
- {
- $this->_checkPlugin();
-
- // Creates a new index 'xodoa' and a type 'user' inside this index
- $client = new Client($config);
-
- $index = $client->getIndex('elastica_test1');
- $index->create(array(), true);
-
- $type = $index->getType('user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $doc1->setVersion(0);
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // Refresh index
- $index->refresh();
- $resultSet = $type->search('rolf');
-
- $this->assertEquals(1, $resultSet->getTotalHits());
- }
-
- /**
- * @expectedException \Elastica\Exception\ConnectionException
- */
- public function testInvalidHostRequest()
- {
- $this->_checkPlugin();
-
- $client = new Client(array('host' => 'unknown', 'port' => 9555, 'transport' => 'Thrift'));
- $client->getStatus();
- }
-
- /**
- * @expectedException \Elastica\Exception\ResponseException
- */
- public function testInvalidElasticRequest()
- {
- $this->_checkPlugin();
-
- $connection = new Connection();
- $connection->setHost('localhost');
- $connection->setPort(9500);
- $connection->setTransport('Thrift');
-
- $client = new Client();
- $client->addConnection($connection);
-
- $index = new Index($client, 'missing_index');
- $index->getStatus();
- }
-
- public function configProvider()
- {
- return array(
- array(
- array(
- 'host' => 'localhost',
- 'port' => 9500,
- 'transport' => 'Thrift'
- )
- ),
- array(
- array(
- 'host' => 'localhost',
- 'port' => 9500,
- 'transport' => 'Thrift',
- 'config' => array(
- 'framedTransport' => false,
- 'sendTimeout' => 10000,
- 'recvTimeout' => 20000,
- )
- )
- )
- );
- }
-
- protected function _checkPlugin()
- {
- $nodes = $this->_getClient()->getCluster()->getNodes();
- if (!$nodes[0]->getInfo()->hasPlugin('transport-thrift')) {
- $this->markTestSkipped("transport-thrift plugin not installed.");
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Type/MappingTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Type/MappingTest.php
deleted file mode 100644
index 796bfb8d..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Type/MappingTest.php
+++ /dev/null
@@ -1,304 +0,0 @@
-<?php
-
-namespace Elastica\Test\Type;
-
-use Elastica\Document;
-use Elastica\Query;
-use Elastica\Query\QueryString;
-use Elastica\Test\Base as BaseTest;
-use Elastica\Type;
-use Elastica\Type\Mapping;
-
-class MappingTest extends BaseTest
-{
- public function testMappingStoreFields()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type,
- array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- // default is store => no expected
- 'lastname' => array('type' => 'string'),
- )
- );
- $mapping->disableSource();
-
- $type->setMapping($mapping);
-
- $firstname = 'Nicolas';
- $doc = new Document(1,
- array(
- 'firstname' => $firstname,
- 'lastname' => 'Ruflin'
- )
- );
-
- $type->addDocument($doc);
-
- $index->refresh();
- $queryString = new QueryString('ruflin');
- $query = Query::create($queryString);
- $query->setFields(array('*'));
-
- $resultSet = $type->search($query);
- $result = $resultSet->current();
- $fields = $result->getFields();
-
- $this->assertEquals($firstname, $fields['firstname'][0]);
- $this->assertArrayNotHasKey('lastname', $fields);
- $this->assertEquals(1, count($fields));
-
- $index->flush();
- $document = $type->getDocument(1);
-
- $this->assertEmpty($document->getData());
-
- $index->delete();
- }
-
- public function testEnableAllField()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array());
-
- $mapping->enableAllField();
-
- $data = $mapping->toArray();
- $this->assertTrue($data[$type->getName()]['_all']['enabled']);
-
- $response = $mapping->send();
- $this->assertTrue($response->isOk());
-
- $index->delete();
- }
-
- public function testEnableTtl()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $mapping = new Mapping($type, array());
-
- $mapping->enableTtl();
-
- $data = $mapping->toArray();
- $this->assertTrue($data[$type->getName()]['_ttl']['enabled']);
-
- $index->delete();
- }
-
- public function testNestedMapping()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('test');
-
- $index->create(array(), true);
- $type = $index->getType('test');
-
- $this->markTestIncomplete('nested mapping is not set right yet');
- $mapping = new Mapping($type,
- array(
- 'test' => array(
- 'type' => 'object', 'store' => 'yes', 'properties' => array(
- 'user' => array(
- 'properties' => array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- 'lastname' => array('type' => 'string', 'store' => 'yes'),
- 'age' => array('type' => 'integer', 'store' => 'yes'),
- )
- ),
- ),
- ),
- )
- );
-
- $type->setMapping($mapping);
-
- $doc = new Document(1, array(
- 'user' => array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ruflin',
- 'age' => 9
- ),
- ));
-
- $type->addDocument($doc);
-
- $index->refresh();
- $resultSet = $type->search('ruflin');
-
- $index->delete();
- }
-
- public function testParentMapping()
- {
- $index = $this->_createIndex();
- $parenttype = new Type($index, 'parenttype');
- $parentmapping = new Mapping($parenttype,
- array(
- 'name' => array('type' => 'string', 'store' => 'yes')
- )
- );
-
- $parenttype->setMapping($parentmapping);
-
- $childtype = new Type($index, 'childtype');
- $childmapping = new Mapping($childtype,
- array(
- 'name' => array('type' => 'string', 'store' => 'yes'),
- )
- );
- $childmapping->setParent('parenttype');
-
- $childtype->setMapping($childmapping);
-
- $data = $childmapping->toArray();
- $this->assertEquals('parenttype', $data[$childtype->getName()]['_parent']['type']);
-
- $index->delete();
- }
-
- public function testMappingExample()
- {
- $index = $this->_createIndex();
- $type = $index->getType('notes');
-
- $mapping = new Mapping($type,
- array(
- 'note' => array(
- 'store' => 'yes', 'properties' => array(
- 'titulo' => array('type' => 'string', 'store' => 'no', 'include_in_all' => true, 'boost' => 1.0),
- 'contenido' => array('type' => 'string', 'store' => 'no', 'include_in_all' => true, 'boost' => 1.0)
- )
- )
- )
- );
-
- $type->setMapping($mapping);
-
- $doc = new Document(1, array(
- 'note' => array(
- array(
- 'titulo' => 'nota1',
- 'contenido' => 'contenido1'
- ),
- array(
- 'titulo' => 'nota2',
- 'contenido' => 'contenido2'
- )
- )
- )
- );
-
- $type->addDocument($doc);
-
- $index->delete();
- }
-
- /**
- * Test setting a dynamic template and validate whether the right mapping is applied after adding a document which
- * should match the dynamic template. The example is the template_1 from the Elasticsearch documentation.
- *
- * @link http://www.elasticsearch.org/guide/reference/mapping/root-object-type/
- */
- public function testDynamicTemplate()
- {
- $index = $this->_createIndex();
- $type = $index->getType('person');
-
- // set a dynamic template "template_1" which creates a multi field for multi* matches.
- $mapping = new Mapping($type);
- $mapping->setParam('dynamic_templates', array(
- array('template_1' => array(
- 'match' => 'multi*',
- 'mapping' => array(
- 'type' => 'multi_field',
- 'fields' => array(
- '{name}' => array('type' => '{dynamic_type}', 'index' => 'analyzed'),
- 'org' => array('type' => '{dynamic_type}', 'index' => 'not_analyzed')
- )
- )
- ))
- ));
-
- $mapping->send();
-
- // when running the tests, the mapping sometimes isn't available yet. Optimize index to enforce reload mapping.
- $index->optimize();
-
- // create a document which should create a mapping for the field: multiname.
- $testDoc = new Document('person1', array('multiname' => 'Jasper van Wanrooy'), $type);
- $index->addDocuments(array($testDoc));
- sleep(1); //sleep 1 to ensure that the test passes every time
-
- // read the mapping from Elasticsearch and assert that the multiname.org field is "not_analyzed"
- $newMapping = $type->getMapping();
- $this->assertArrayHasKey('person', $newMapping,
- 'Person type not available in mapping from ES. Mapping set at all?');
- $this->assertArrayHasKey('properties', $newMapping['person'],
- 'Person type doesnt have any properties. Document properly added?');
- $this->assertArrayHasKey('multiname', $newMapping['person']['properties'],
- 'The multiname property is not added to the mapping. Document properly added?');
- $this->assertArrayHasKey('fields', $newMapping['person']['properties']['multiname'],
- 'The multiname field of the Person type is presumably not a multi_field type. Dynamic mapping not applied?');
- $this->assertArrayHasKey('org', $newMapping['person']['properties']['multiname']['fields'],
- 'The multi* matcher did not create a mapping for the multiname.org property when indexing the document.');
- $this->assertArrayHasKey('index', $newMapping['person']['properties']['multiname']['fields']['org'],
- 'Indexing status of the multiname.org not available. Dynamic mapping not fully applied!');
- $this->assertEquals('not_analyzed', $newMapping['person']['properties']['multiname']['fields']['org']['index']);
-
- $index->delete();
- }
-
- public function testSetMeta()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $mapping = new Mapping($type, array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- 'lastname' => array('type' => 'string')
- ));
- $mapping->setMeta(array('class' => 'test'));
- $type->setMapping($mapping);
-
- $mappingData = $type->getMapping();
- $this->assertEquals('test', $mappingData['test']['_meta']['class']);
-
- $index->delete();
- }
-
- public function testGetters()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test');
- $properties = array(
- 'firstname' => array('type' => 'string', 'store' => 'yes'),
- 'lastname' => array('type' => 'string')
- );
- $mapping = new Mapping($type, $properties);
- $all = array(
- "enabled" => true,
- "store" => "yes"
- );
- $mapping->setParam('_all', $all);
- $get_all = $mapping->getParam('_all');
-
- $this->assertEquals($get_all, $all);
-
- $this->assertNull($mapping->getParam('_boost', $all));
-
- $this->assertEquals($properties, $mapping->getProperties());
-
- $index->delete();
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/TypeTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/TypeTest.php
deleted file mode 100644
index 40e56c3b..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/TypeTest.php
+++ /dev/null
@@ -1,823 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Client;
-use Elastica\Document;
-use Elastica\Exception\NotFoundException;
-use Elastica\Exception\ResponseException;
-use Elastica\Query;
-use Elastica\Query\MatchAll;
-use Elastica\Query\SimpleQueryString;
-use Elastica\Script;
-use Elastica\Search;
-use Elastica\Filter\Term;
-use Elastica\Type;
-use Elastica\Index;
-use Elastica\Type\Mapping;
-use Elastica\Test\Base as BaseTest;
-
-class TypeTest extends BaseTest
-{
- public function testSearch()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'user');
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
- $index->refresh();
-
- $resultSet = $type->search('rolf');
- $this->assertEquals(1, $resultSet->count());
-
- $count = $type->count('rolf');
- $this->assertEquals(1, $count);
-
- // Test if source is returned
- $result = $resultSet->current();
- $this->assertEquals(3, $result->getId());
- $data = $result->getData();
- $this->assertEquals('rolf', $data['username']);
- }
-
- public function testCreateSearch()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test_index');
- $type = new Type($index, 'test_type');
-
- $query = new Query\QueryString('test');
- $options = array(
- 'limit' => 5,
- 'explain' => true,
- );
-
- $search = $type->createSearch($query, $options);
-
- $expected = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'test'
- )
- ),
- 'size' => 5,
- 'explain' => true
- );
- $this->assertEquals($expected, $search->getQuery()->toArray());
- $this->assertEquals(array('test_index'), $search->getIndices());
- $this->assertTrue($search->hasIndices());
- $this->assertTrue($search->hasIndex($index));
- $this->assertTrue($search->hasIndex('test_index'));
- $this->assertFalse($search->hasIndex('test'));
- $this->assertEquals(array('test_type'), $search->getTypes());
- $this->assertTrue($search->hasTypes());
- $this->assertTrue($search->hasType($type));
- $this->assertTrue($search->hasType('test_type'));
- $this->assertFalse($search->hasType('test_type2'));
- }
-
- public function testCreateSearchWithArray()
- {
- $client = $this->_getClient();
- $index = new Index($client, 'test_index');
- $type = new Type($index, 'test_type');
-
- $query = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'test'
- )
- )
- );
-
- $options = array(
- 'limit' => 5,
- 'explain' => true,
- );
-
- $search = $type->createSearch($query, $options);
-
- $expected = array(
- 'query' => array(
- 'query_string' => array(
- 'query' => 'test'
- )
- ),
- 'size' => 5,
- 'explain' => true
- );
- $this->assertEquals($expected, $search->getQuery()->toArray());
- $this->assertEquals(array('test_index'), $search->getIndices());
- $this->assertTrue($search->hasIndices());
- $this->assertTrue($search->hasIndex($index));
- $this->assertTrue($search->hasIndex('test_index'));
- $this->assertFalse($search->hasIndex('test'));
- $this->assertEquals(array('test_type'), $search->getTypes());
- $this->assertTrue($search->hasTypes());
- $this->assertTrue($search->hasType($type));
- $this->assertTrue($search->hasType('test_type'));
- $this->assertFalse($search->hasType('test_type2'));
- }
-
- public function testNoSource()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'user');
- $mapping = new Mapping($type, array(
- 'id' => array('type' => 'integer', 'store' => 'yes'),
- 'username' => array('type' => 'string', 'store' => 'no'),
- ));
- $mapping->setSource(array('enabled' => false));
- $type->setMapping($mapping);
-
- $mapping = $type->getMapping();
-
- $this->assertArrayHasKey('user', $mapping);
- $this->assertArrayHasKey('properties', $mapping['user']);
- $this->assertArrayHasKey('id', $mapping['user']['properties']);
- $this->assertArrayHasKey('type', $mapping['user']['properties']['id']);
- $this->assertEquals('integer', $mapping['user']['properties']['id']['type']);
-
- // Adds 1 document to the index
- $doc1 = new Document(1,
- array('username' => 'hans', 'test' => array('2', '3', '5'))
- );
- $type->addDocument($doc1);
-
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(2,
- array('username' => 'john', 'test' => array('1', '3', '6'))
- );
- $docs[] = new Document(3,
- array('username' => 'rolf', 'test' => array('2', '3', '7'))
- );
- $type->addDocuments($docs);
-
- // To update index
- $index->refresh();
-
- $resultSet = $type->search('rolf');
-
- $this->assertEquals(1, $resultSet->count());
-
- // Tests if no source is in response except id
- $result = $resultSet->current();
- $this->assertEquals(3, $result->getId());
- $this->assertEmpty($result->getData());
- }
-
- public function testDeleteById()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'user');
-
- // Adds hans, john and rolf to the index
- $docs = array(
- new Document(1, array('username' => 'hans', 'test' => array('2', '3', '5'))),
- new Document(2, array('username' => 'john', 'test' => array('1', '3', '6'))),
- new Document(3, array('username' => 'rolf', 'test' => array('2', '3', '7'))),
- new Document('foo/bar', array('username' => 'georg', 'test' => array('4', '2', '5'))),
- );
- $type->addDocuments($docs);
- $index->refresh();
-
- // sanity check for rolf
- $resultSet = $type->search('rolf');
- $this->assertEquals(1, $resultSet->count());
- $data = $resultSet->current()->getData();
- $this->assertEquals('rolf', $data['username']);
-
- // delete rolf
- $type->deleteById(3);
- $index->refresh();
-
- // rolf should no longer be there
- $resultSet = $type->search('rolf');
- $this->assertEquals(0, $resultSet->count());
-
- // sanity check for id with slash
- $resultSet = $type->search('georg');
- $this->assertEquals(1, $resultSet->count());
-
- // delete georg
- $type->deleteById('foo/bar');
- $index->refresh();
-
- // georg should no longer be there
- $resultSet = $type->search('georg');
- $this->assertEquals(0, $resultSet->count());
-
- // it should not be possible to delete the entire type with this method
- try {
- $type->deleteById('');
- $this->fail('Delete with empty string id should fail');
- } catch (\InvalidArgumentException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById(' ');
- $this->fail('Delete with one space string id should fail');
- } catch (\InvalidArgumentException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById(null);
- $this->fail('Delete with null id should fail');
- } catch (\InvalidArgumentException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById(array());
- $this->fail('Delete with empty array id should fail');
- } catch (\InvalidArgumentException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById('*');
- $this->fail('Delete request should fail because of invalid id: *');
- } catch (NotFoundException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById('*:*');
- $this->fail('Delete request should fail because document with id *.* does not exist');
- } catch (NotFoundException $e) {
- $this->assertTrue(true);
- }
-
- try {
- $type->deleteById('!');
- $this->fail('Delete request should fail because document with id ! does not exist');
- } catch (NotFoundException $e) {
- $this->assertTrue(true);
- }
-
- $index->refresh();
-
- // rolf should no longer be there
- $resultSet = $type->search('john');
- $this->assertEquals(1, $resultSet->count());
- }
-
- public function testDeleteDocument()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'user');
-
- // Adds hans, john and rolf to the index
- $docs = array(
- new Document(1, array('username' => 'hans', 'test' => array('2', '3', '5'))),
- new Document(2, array('username' => 'john', 'test' => array('1', '3', '6'))),
- new Document(3, array('username' => 'rolf', 'test' => array('2', '3', '7'))),
- );
- $type->addDocuments($docs);
- $index->refresh();
-
- $document = $type->getDocument(1);
- $this->assertEquals(1, $document->getId());
- $this->assertEquals('hans', $document->get('username'));
-
- $this->assertEquals(3, $type->count());
-
- $type->deleteDocument($document);
- $index->refresh();
-
- try {
- $type->getDocument(1);
- $this->fail('Document was not deleted');
- } catch (NotFoundException $e) {
- $this->assertTrue(true);
- $this->assertEquals(2, $type->count(), 'Documents count in type should be 2');
- }
- }
-
- /**
- * @expectedException \Elastica\Exception\NotFoundException
- */
- public function testGetDocumentNotExist()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'ruflin')));
- $index->refresh();
-
- $type->getDocument(1);
-
- $type->getDocument(2);
- }
-
- /**
- * @expectedException \Elastica\Exception\NotFoundException
- */
- public function testGetDocumentNotExistingIndex()
- {
- $client = new Client();
- $index = new Index($client, 'index');
- $type = new Type($index, 'type');
-
- $type->getDocument(1);
- }
-
- public function testDeleteByQueryWithQueryString()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'ruflin nicolas')));
- $type->addDocument(new Document(2, array('name' => 'ruflin')));
- $index->refresh();
-
- $response = $index->search('ruflin*');
- $this->assertEquals(2, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(1, $response->count());
-
- // Delete first document
- $response = $type->deleteByQuery('nicolas');
- $this->assertTrue($response->isOk());
-
- $index->refresh();
-
- // Makes sure, document is deleted
- $response = $index->search('ruflin*');
- $this->assertEquals(1, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(0, $response->count());
- }
-
- public function testDeleteByQueryWithQuery()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'ruflin nicolas')));
- $type->addDocument(new Document(2, array('name' => 'ruflin')));
- $index->refresh();
-
- $response = $index->search('ruflin*');
- $this->assertEquals(2, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(1, $response->count());
-
- // Delete first document
- $response = $type->deleteByQuery(new SimpleQueryString('nicolas'));
- $this->assertTrue($response->isOk());
-
- $index->refresh();
-
- // Makes sure, document is deleted
- $response = $index->search('ruflin*');
- $this->assertEquals(1, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(0, $response->count());
- }
-
- public function testDeleteByQueryWithQueryAndOptions()
- {
- $index = $this->_createIndex('test', true, 2);
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'ruflin nicolas')));
- $type->addDocument(new Document(2, array('name' => 'ruflin')));
- $index->refresh();
-
- $response = $index->search('ruflin*');
- $this->assertEquals(2, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(1, $response->count());
-
- // Route to the wrong document id; should not delete
- $response = $type->deleteByQuery(new SimpleQueryString('nicolas'), array('routing'=>'2'));
- $this->assertTrue($response->isOk());
-
- $index->refresh();
-
- $response = $index->search('ruflin*');
- $this->assertEquals(2, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(1, $response->count());
-
- // Delete first document
- $response = $type->deleteByQuery(new SimpleQueryString('nicolas'), array('routing'=>'1'));
- $this->assertTrue($response->isOk());
-
- $index->refresh();
-
- // Makes sure, document is deleted
- $response = $index->search('ruflin*');
- $this->assertEquals(1, $response->count());
-
- $response = $index->search('nicolas');
- $this->assertEquals(0, $response->count());
- }
-
- /**
- * Test to see if Elastica_Type::getDocument() is properly using
- * the fields array when available instead of _source
- */
- public function testGetDocumentWithFieldsSelection()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'loris', 'country' => 'FR', 'email' => 'test@test.com')));
- $index->refresh();
-
- $document = $type->getDocument(1, array('fields' => 'name,email'));
- $data = $document->getData();
-
- $this->assertArrayHasKey('name', $data);
- $this->assertArrayHasKey('email', $data);
- $this->assertArrayNotHasKey('country', $data);
- }
-
- /**
- * Test to see if search Default Limit works
- */
- public function testLimitDefaultType()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('zero');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $docs = array();
- $docs[] = new Document(1, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(2, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(3, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(4, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(5, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(6, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(7, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(8, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(9, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(10, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
- $docs[] = new Document(11, array('id' => 1, 'email' => 'test@test.com', 'username' => 'farrelley'));
-
- $type = $index->getType('zeroType');
- $type->addDocuments($docs);
- $index->refresh();
-
- // default results (limit default is 10)
- $resultSet = $type->search('farrelley');
- $this->assertEquals(10, $resultSet->count());
-
- // limit = 1
- $resultSet = $type->search('farrelley', 1);
- $this->assertEquals(1, $resultSet->count());
- }
-
- /**
- * Test Delete of index type. After delete will check for type mapping.
- */
- public function testDeleteType()
- {
- $index = $this->_createIndex();
- $type = new Type($index, 'test');
- $type->addDocument(new Document(1, array('name' => 'ruflin nicolas')));
- $type->addDocument(new Document(2, array('name' => 'ruflin')));
- $index->refresh();
-
- $type->delete();
- $this->assertFalse($type->exists());
- }
-
- public function testMoreLikeThisApi()
- {
- $client = new Client(array('persistent' => false));
- $index = $client->getIndex('elastica_test');
- $index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);
-
- $type = new Type($index, 'mlt_test');
- $type->addDocument(new Document(1, array('visible' => true, 'name' => 'bruce wayne batman')));
- $type->addDocument(new Document(2, array('visible' => true, 'name' => 'bruce wayne')));
- $type->addDocument(new Document(3, array('visible' => false, 'name' => 'bruce wayne')));
- $type->addDocument(new Document(4, array('visible' => true, 'name' => 'batman')));
- $type->addDocument(new Document(5, array('visible' => false, 'name' => 'batman')));
- $type->addDocument(new Document(6, array('visible' => true, 'name' => 'superman')));
- $type->addDocument(new Document(7, array('visible' => true, 'name' => 'spiderman')));
-
- $index->refresh();
-
- $document = $type->getDocument(1);
-
- // Return all similar
- $resultSet = $type->moreLikeThis($document, array('min_term_freq' => '1', 'min_doc_freq' => '1'));
- $this->assertEquals(4, $resultSet->count());
-
- // Return just the visible similar
- $query = new Query();
- $filterTerm = new Term();
- $filterTerm->setTerm('visible', true);
- $query->setFilter($filterTerm);
-
- $resultSet = $type->moreLikeThis($document, array('min_term_freq' => '1', 'min_doc_freq' => '1'), $query);
- $this->assertEquals(2, $resultSet->count());
- }
-
- public function testUpdateDocument()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test');
- $type = $index->getType('update_type');
- $id = 1;
- $type->addDocument(new Document($id, array('name' => 'bruce wayne batman', 'counter' => 1)));
- $newName = 'batman';
-
- $document = new Document();
- $script = new Script(
- "ctx._source.name = name; ctx._source.counter += count",
- array(
- 'name' => $newName,
- 'count' => 2,
- ),
- null,
- $id
- );
- $script->setUpsert($document);
-
- $type->updateDocument($script, array('refresh' => true));
- $updatedDoc = $type->getDocument($id)->getData();
- $this->assertEquals($newName, $updatedDoc['name'], "Name was not updated");
- $this->assertEquals(3, $updatedDoc['counter'], "Counter was not incremented");
- }
-
- public function testUpdateDocumentWithFieldsSource()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test');
- $type = $index->getType('update_type');
-
- $client->setConfigValue('document', array('autoPopulate' => true));
-
- $newDocument = new Document(null, array('counter' => 5, 'name' => 'Batman'));
-
- $this->assertFalse($newDocument->hasVersion());
-
- $response = $type->addDocument($newDocument);
- $responseData = $response->getData();
-
- $this->assertTrue($newDocument->hasVersion());
- $this->assertArrayHasKey('_version', $responseData, '_version is missing in response data it is weird');
- $this->assertEquals(1, $responseData['_version']);
- $this->assertEquals($responseData['_version'], $newDocument->getVersion());
-
- $this->assertTrue($newDocument->hasId());
-
- $script = new Script('ctx._source.counter += count; ctx._source.realName = realName');
- $script->setId($newDocument->getId());
- $script->setParam('count', 7);
- $script->setParam('realName', 'Bruce Wayne');
- $script->setUpsert($newDocument);
-
- $newDocument->setFieldsSource();
-
- $response = $type->updateDocument($script);
- $responseData = $response->getData();
-
- $data = $type->getDocument($newDocument->getId())->getData();
-
- $this->assertEquals(12, $data['counter']);
- $this->assertEquals('Batman', $data['name']);
- $this->assertEquals('Bruce Wayne', $data['realName']);
-
- $this->assertTrue($newDocument->hasVersion());
- $this->assertArrayHasKey('_version', $responseData, '_version is missing in response data it is weird');
- $this->assertEquals(2, $responseData['_version']);
-
- $document = $type->getDocument($newDocument->getId());
- }
-
- /**
- * @expectedException \Elastica\Exception\InvalidException
- */
- public function testUpdateDocumentWithoutId()
- {
- $index = $this->_createIndex();
- $type = $index->getType('elastica_type');
-
- $document = new Document();
-
- $type->updateDocument($document);
- }
-
- public function testUpdateDocumentWithoutSource()
- {
- $index = $this->_createIndex();
- $type = $index->getType('elastica_type');
-
- $mapping = new Mapping();
- $mapping->setProperties(array(
- 'name' => array(
- 'type' => 'string',
- 'store' => 'yes'),
- 'counter' => array(
- 'type' => 'integer',
- 'store' => 'no'
- ),
- ));
- $mapping->disableSource();
- $type->setMapping($mapping);
-
- $newDocument = new Document();
- $newDocument->setAutoPopulate();
- $newDocument->set('name', 'Batman');
- $newDocument->set('counter', 1);
-
- $type->addDocument($newDocument);
-
- $script = new Script('ctx._source.counter += count; ctx._source.name = name');
- $script->setId($newDocument->getId());
- $script->setParam('count', 2);
- $script->setParam('name', 'robin');
-
- $script->setUpsert($newDocument);
-
- try {
- $type->updateDocument($script);
- $this->fail('Update request should fail because source is disabled. Fields param is not set');
- } catch (ResponseException $e) {
- $this->assertContains('DocumentSourceMissingException', $e->getMessage());
- }
-
- $newDocument->setFieldsSource();
-
- try {
- $type->updateDocument($newDocument);
- $this->fail('Update request should fail because source is disabled. Fields param is set to _source');
- } catch (ResponseException $e) {
- $this->assertContains('DocumentSourceMissingException', $e->getMessage());
- }
- }
-
- public function testAddDocumentHashId()
- {
- $index = $this->_createIndex();
- $type = $index->getType('test2');
-
- $hashId = '#1';
-
- $doc = new Document($hashId, array('name' => 'ruflin'));
- $type->addDocument($doc);
-
- $index->refresh();
-
- $search = new Search($index->getClient());
- $search->addIndex($index);
- $resultSet = $search->search(new MatchAll());
- $this->assertEquals($hashId, $resultSet->current()->getId());
-
- $doc = $type->getDocument($hashId);
- $this->assertEquals($hashId, $doc->getId());
- }
-
- public function testAddDocumentAutoGeneratedId()
- {
- $index = $this->_createIndex();
- $type = $index->getType('elastica_type');
-
- $document = new Document();
- $document->setAutoPopulate();
- $document->set('name', 'ruflin');
- $this->assertEquals('', $document->getId());
- $this->assertFalse($document->hasId());
-
- $type->addDocument($document);
-
- $this->assertNotEquals('', $document->getId());
- $this->assertTrue($document->hasId());
-
- $foundDoc = $type->getDocument($document->getId());
- $this->assertInstanceOf('Elastica\Document', $foundDoc);
- $this->assertEquals($document->getId(), $foundDoc->getId());
- $data = $foundDoc->getData();
- $this->assertArrayHasKey('name', $data);
- $this->assertEquals('ruflin', $data['name']);
- }
-
- /**
- * @expectedException \Elastica\Exception\RuntimeException
- */
- public function testAddDocumentWithoutSerializer()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'user');
-
- $type->addObject(new \stdClass());
- }
-
- public function testAddObject()
- {
- $index = $this->_createIndex();
-
- $type = new Type($index, 'user');
- $type->setSerializer(array(new SerializerMock(), 'serialize'));
-
- $userObject = new \stdClass();
- $userObject->username = 'hans';
- $userObject->test = array('2', '3', '5');
-
- $type->addObject($userObject);
-
- $index->refresh();
-
- $resultSet = $type->search('hans');
- $this->assertEquals(1, $resultSet->count());
-
- // Test if source is returned
- $result = $resultSet->current();
- $data = $result->getData();
- $this->assertEquals('hans', $data['username']);
- }
-
- public function testExists()
- {
- $index = $this->_createIndex();
- $this->assertTrue($index->exists());
-
- $type = new Type($index, 'user');
- $this->assertFalse($type->exists());
-
- $type->addDocument(new Document(1, array('name' => 'test name')));
- $index->optimize();
-
- //Test if type exists
- $this->assertTrue($type->exists());
-
- $index->delete();
- $this->assertFalse($index->exists());
- }
-
- public function testGetMapping() {
- $indexName = 'test';
- $typeName = 'test-type';
-
- $index = $this->_createIndex($indexName);
- $indexName = $index->getName();
- $type = new Type($index, $typeName);
- $mapping = new Mapping($type, $expect = array(
- 'id' => array('type' => 'integer', 'store' => true)
- ));
- $type->setMapping($mapping);
-
- $client = $index->getClient();
-
- $this->assertEquals(
- array('test-type' => array('properties' => $expect)),
- $client->getIndex($indexName)->getType($typeName)->getMapping()
- );
- }
-
- public function testGetMappingAlias() {
- $indexName = 'test';
- $aliasName = 'test-alias';
- $typeName = 'test-alias-type';
-
- $index = $this->_createIndex($indexName);
- $index->addAlias($aliasName);
- $type = new Type($index, $typeName);
- $mapping = new Mapping($type, $expect = array(
- 'id' => array('type' => 'integer', 'store' => true)
- ));
- $type->setMapping($mapping);
-
- $client = $index->getClient();
-
- $this->assertEquals(
- array('test-alias-type' => array('properties' => $expect)),
- $client->getIndex($aliasName)->getType($typeName)->getMapping()
- );
- }
-}
-
-class SerializerMock
-{
- public function serialize($object)
- {
- return get_object_vars($object);
- }
-}
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/UtilTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/UtilTest.php
deleted file mode 100644
index 09d4b5b1..00000000
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/UtilTest.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Elastica\Test;
-
-use Elastica\Util;
-use Elastica\Request;
-use Elastica\Connection;
-use Elastica\Test\Base as BaseTest;
-
-class UtilTest extends BaseTest
-{
- /**
- * @dataProvider getEscapeTermPairs
- */
- public function testEscapeTerm($unescaped, $escaped)
- {
- $this->assertEquals($escaped, Util::escapeTerm($unescaped));
- }
-
- public function getEscapeTermPairs()
- {
- return array(
- array('', ''),
- array('pragmatic banana', 'pragmatic banana'),
- array('oh yeah!', 'oh yeah\\!'),
- // Seperate test below because phpunit seems to have some problems
- //array('\\+-&&||!(){}[]^"~*?:', '\\\\\\+\\-\\&&\\||\\!\\(\\)\\{\\}\\[\\]\\^\\"\\~\\*\\?\\:'),
- array('some signs, can stay.', 'some signs, can stay.')
- );
- }
-
- public function testEscapeTermSpecialCharacters()
- {
- $before = '\\+-&&||!(){}[]^"~*?:/';
- $after = '\\\\\\+\\-\\&&\\||\\!\\(\\)\\{\\}\\[\\]\\^\\"\\~\\*\\?\\:\\\\/';
-
- $this->assertEquals(Util::escapeTerm($before), $after);
- }
-
- public function testToCamelCase()
- {
- $string = 'hello_world';
- $this->assertEquals('HelloWorld', Util::toCamelCase($string));
-
- $string = 'how_are_you_today';
- $this->assertEquals('HowAreYouToday', Util::toCamelCase($string));
- }
-
- public function testToSnakeCase()
- {
- $string = 'HelloWorld';
- $this->assertEquals('hello_world', Util::toSnakeCase($string));
-
- $string = 'HowAreYouToday';
- $this->assertEquals('how_are_you_today', Util::toSnakeCase($string));
- }
-
- public function testConvertRequestToCurlCommand()
- {
- $path = 'test';
- $method = Request::POST;
- $query = array('no' => 'params');
- $data = array('key' => 'value');
-
- $connection = new Connection();
- $connection->setHost('localhost');
- $connection->setPort('9200');
-
- $request = new Request($path, $method, $data, $query, $connection);
-
- $curlCommand = Util::convertRequestToCurlCommand($request);
-
- $expected = 'curl -XPOST \'http://localhost:9200/test?no=params\' -d \'{"key":"value"}\'';
- $this->assertEquals($expected, $curlCommand);
-
- }
-}
diff --git a/vendor/ruflin/elastica/test/nginx/nginx.conf b/vendor/ruflin/elastica/test/nginx/nginx.conf
deleted file mode 100644
index 97f45fbc..00000000
--- a/vendor/ruflin/elastica/test/nginx/nginx.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-events {
- worker_connections 1024;
-}
-
-http {
- access_log logs/access.log;
- error_log logs/error.log;
-
- server {
- listen 127.0.0.1:12345;
-
- location / {
- proxy_pass http://127.0.0.1:9201;
- }
- }
-
- server {
- listen 127.0.0.1:12346;
-
- location / {
- return 403;
- }
- }
-}
diff --git a/vendor/ruflin/elastica/test/phpunit.xml.dist b/vendor/ruflin/elastica/test/phpunit.xml.dist
deleted file mode 100644
index a863692c..00000000
--- a/vendor/ruflin/elastica/test/phpunit.xml.dist
+++ /dev/null
@@ -1,32 +0,0 @@
-<phpunit
- bootstrap="./bootstrap.php"
- backupGlobals="false"
- backupStaticAttributes="false"
- convertErrorsToExceptions="true"
- convertNoticesToExceptions="true"
- convertWarningsToExceptions="true"
- stopOnError="false"
- stopOnFailure="false"
- stopOnIncomplete="false"
- stopOnSkipped="false"
- syntaxCheck="false"
- processIsolation="false">
-
- <testsuites>
- <testsuite name="Elastica">
- <directory>./lib/Elastica/</directory>
- </testsuite>
- </testsuites>
- <filter>
- <whitelist>
- <directory suffix=".php">../lib/</directory>
- </whitelist>
- </filter>
- <logging>
- <log type="coverage-html" target="../build/coverage" title="Elastica"
- charset="UTF-8" yui="true" highlight="true"
- lowUpperBound="35" highLowerBound="70"/>
- <log type="coverage-clover" target="../build/logs/clover.xml"/>
- <log type="junit" target="../build/logs/junit.xml" logIncompleteSkipped="false"/>
- </logging>
-</phpunit>
diff --git a/vendor/zordius/lightncandy/build/gen_doc b/vendor/zordius/lightncandy/build/gen_doc
new file mode 100644
index 00000000..428e619d
--- /dev/null
+++ b/vendor/zordius/lightncandy/build/gen_doc
@@ -0,0 +1,6 @@
+#!/bin/sh
+curl -O https://cloud.github.com/downloads/apigen/apigen/ApiGen-2.8.0-standalone.zip
+unzip -oq ApiGen-2.8.0-standalone.zip
+rm ApiGen-2.8.0-standalone.zip
+php -dopen_basedir=/ apigen/apigen.php --source src/ --destination build/result/docs/ --template-config apigen/templates/bootstrap/config.neon --deprecated yes
+rm -rf apigen
diff --git a/vendor/zordius/lightncandy/build/gen_test.php b/vendor/zordius/lightncandy/build/gen_test.php
new file mode 100644
index 00000000..97d49489
--- /dev/null
+++ b/vendor/zordius/lightncandy/build/gen_test.php
@@ -0,0 +1,64 @@
+<?php
+
+foreach (Array(
+ 'vendor/phpunit/phpunit/PHPUnitPHPUnit/Autoload.php',
+ 'PHPUnit/Autoload.php',
+ 'src/lightncandy.php'
+) as $inc) {
+ if (file_exists($inc)) {
+ include_once($inc);
+ break;
+ }
+}
+
+genTestForClass('LightnCandy');
+genTestForClass('LCRun3');
+
+function genTestForClass($classname) {
+ ob_start();
+
+ echo <<<VAR
+<?php
+/**
+ * Generated by build/gen_test
+ */
+require_once('src/lightncandy.php');
+
+class {$classname}Test extends PHPUnit_Framework_TestCase
+{
+
+VAR
+ ;
+
+ $class = new ReflectionClass($classname);
+ foreach ($class->getMethods() as $method) {
+ if (preg_match_all('/@expect (.+) when input (.+)( after (.+))?/', $method->getDocComment(), $matched)) {
+ echo <<<VAR
+ /**
+ * @covers {$classname}::{$method->name}
+ */
+ public function testOn_{$method->name}() {
+ \$method = new ReflectionMethod('$classname', '{$method->name}');
+
+VAR
+ ;
+ if ($method->isPrivate() || $method->isProtected()) {
+ echo " \$method->setAccessible(true);\n";
+ }
+ foreach ($matched[1] as $idx => $expect) {
+ if ($matched[3][$idx]) {
+ echo " {$matched[3][$idx]}\n";
+ }
+ echo " \$this->assertEquals($expect, \$method->invoke(null,\n {$matched[2][$idx]}\n ));\n";
+ }
+ echo " }\n";
+ }
+ }
+ echo "}\n?>";
+
+ $fn = "tests/{$classname}Test.php";
+ if (!file_put_contents($fn, ob_get_clean())) {
+ die("Can not generate tests into file $fn !!\n");
+ }
+}
+?>
diff --git a/vendor/zordius/lightncandy/build/push_ghpage b/vendor/zordius/lightncandy/build/push_ghpage
new file mode 100644
index 00000000..de64e2b9
--- /dev/null
+++ b/vendor/zordius/lightncandy/build/push_ghpage
@@ -0,0 +1,12 @@
+#!/bin/sh
+git checkout -B gh-pages
+git pull origin gh-pages
+rm *
+rm -rf src
+rm -rf test
+cp -r build/result/docs/* .
+rm -rf build
+rm .travis.yml
+git add .
+git commit -a -m "New documents on github"
+git push origin gh-pages
diff --git a/vendor/zordius/lightncandy/build/runphp b/vendor/zordius/lightncandy/build/runphp
new file mode 100644
index 00000000..aa694de3
--- /dev/null
+++ b/vendor/zordius/lightncandy/build/runphp
@@ -0,0 +1,2 @@
+#!/bin/sh
+php -dopen_basedir=/ $1 $2
diff --git a/vendor/zordius/lightncandy/build/travis_push b/vendor/zordius/lightncandy/build/travis_push
new file mode 100644
index 00000000..b51e4dcc
--- /dev/null
+++ b/vendor/zordius/lightncandy/build/travis_push
@@ -0,0 +1,60 @@
+#!/bin/sh
+echo "DEBUG ENV: ${TRAVIS_JOB_NUMBER} , ${TRAVIS_BUILD_NUMBER} , ${TRAVIS_PULL_REQUEST} ..."
+
+if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
+ echo "This is a PR, skip push."
+ exit 0
+fi
+
+if [ "${TRAVIS_BUILD_NUMBER}.1" != "${TRAVIS_JOB_NUMBER}" ]; then
+ echo "Only push documents 1 time... quit."
+ exit 0
+fi
+
+# Push coverage report
+wget https://scrutinizer-ci.com/ocular.phar
+php ocular.phar code-coverage:upload --format=php-clover coverage.clover
+
+# Set for all push in this script.
+git config --global user.name "Travis-CI"
+git config --global user.email "zordius@yahoo-inc.com"
+
+# Generate ANSI sample
+git clone https://github.com/fcambus/ansilove
+php tests/example_debug.php > example_debug
+php ansilove/ansilove example_debug
+git add example_debug.png
+
+# Push new tests back to this branch
+git commit -a -m "Auto generated tests from Travis [ci skip]"
+git push "https://${GHTK}@github.com/zordius/lightncandy.git" HEAD:${TRAVIS_BRANCH} > /dev/null 2>&1
+
+# Update hash in HandlebarsTest and push back, trigger new tests there.
+git clone https://github.com/zordius/HandlebarsTest
+cd HandlebarsTest
+echo ${TRAVIS_COMMIT} > lightncandy
+git add lightncandy
+git commit -a -m "Auto test on zordius/lightncandy@${TRAVIS_COMMIT}"
+git push "https://${GHTK}@github.com/zordius/HandlebarsTest.git" > /dev/null 2>&1
+cd ..
+
+# Generate documents for this branch
+build/gen_doc
+cd build/result/docs
+
+if [ "${TRAVIS_BRANCH}" != "master" ]; then
+ echo "Document will be pushed here: http://zordius.github.io/lightncandy/${TRAVIS_BRANCH}/"
+ cd ..
+ git init
+ git pull --quiet "https://${GHTK}@github.com/zordius/lightncandy.git" gh-pages:master > /dev/null 2>&1
+ rm -rf $TRAVIS_BRANCH
+ mv docs $TRAVIS_BRANCH
+ git add $TRAVIS_BRANCH
+else
+ echo "Document will be pushed here: http://zordius.github.io/lightncandy/"
+ git init
+ git add .
+fi
+
+git commit -m "Auto deployed to Github Pages from branch ${TRAVIS_BRANCH} @${TRAVIS_COMMIT} [ci skip]"
+git push --force --quiet "https://${GHTK}@github.com/zordius/lightncandy.git" master:gh-pages > /dev/null 2>&1